Example usage for org.apache.commons.collections15 Transformer transform

List of usage examples for org.apache.commons.collections15 Transformer transform

Introduction

In this page you can find the example usage for org.apache.commons.collections15 Transformer transform.

Prototype

public O transform(I input);

Source Link

Document

Transforms the input object (leaving it unchanged) into some output object.

Usage

From source file:com.diversityarrays.dal.ops.WordNode.java

static public boolean visitTree(WordNode node, Transformer<WordNode, Boolean> nodeVisitor) {
    if (!nodeVisitor.transform(node)) {
        return false;
    }/*from   w ww .  j ava  2 s .  c om*/
    for (WordNode child : node.nodes.values()) {
        if (!visitTree(child, nodeVisitor)) {
            return false;
        }
    }
    return true;
}

From source file:net.dontdrinkandroot.utils.lang.StringUtils.java

public static <T> CharSequence join(final T[] objects, final String seperator,
        final Transformer<T, String> toStringTransformer) {

    final StringBuffer sb = new StringBuffer();
    for (int i = 0; i < objects.length; i++) {
        final T object = objects[i];
        sb.append(toStringTransformer.transform(object));
        if (i < objects.length - 1) {
            sb.append(seperator);//from ww w. j ava 2  s . co  m
        }
    }

    return sb;
}

From source file:net.dontdrinkandroot.utils.lang.StringUtils.java

public static <T> CharSequence join(final Iterable<T> objects, final String seperator,
        final Transformer<T, String> toStringTransformer) {

    final StringBuffer sb = new StringBuffer();
    final Iterator<T> iterator = objects.iterator();
    while (iterator.hasNext()) {
        final T object = iterator.next();
        sb.append(toStringTransformer.transform(object));
        if (iterator.hasNext()) {
            sb.append(seperator);//from   w ww . j a v a  2s. c o  m
        }
    }

    return sb;
}

From source file:net.itransformers.topologyviewer.gui.EdgeFilterFactory.java

public static EdgePredicateFilter<String, String> createEdgeFilter(final FilterType filter,
        final Map<String, DataMatcher> matcherMap, final Map<String, GraphMLMetadata<String>> edgeMetadata) {
    return new EdgePredicateFilter<String, String>(new Predicate<String>() {
        public boolean evaluate(String edge) {
            try {
                if (filter == null)
                    return true;

                List<IncludeType> includes = filter.getInclude();
                String filterType = filter.getType();

                if (filterType == null) {
                    filterType = "or";
                }//from w  w  w  .  j av  a2  s  . c o m
                boolean hasEdgeInlcude = false;

                for (IncludeType include : includes) {

                    if (ForType.EDGE.equals(include.getFor())) {
                        String matcher = include.getMatcher();
                        if (matcher == null) {
                            matcher = "default";
                        }
                        final String dataKey = include.getDataKey();
                        if (dataKey == null) { // lets include all edges
                            hasEdgeInlcude = true;

                            continue;
                        }

                        final GraphMLMetadata<String> stringGraphMLMetadata = edgeMetadata.get(dataKey);
                        if (stringGraphMLMetadata == null) {
                            logger.error("Can not find metadata for key: " + dataKey);
                        }
                        String value = null;
                        if (stringGraphMLMetadata != null) {
                            final Transformer<String, String> transformer = stringGraphMLMetadata.transformer;
                            value = transformer.transform(edge);

                        }
                        if (value != null) {
                            String[] dataValues = value.split(",");
                            String includeDataValue = include.getDataValue();

                            //Circle around the actual values and perform the datamatch
                            DataMatcher matcherInstance = matcherMap.get(matcher);

                            boolean hasToInclude = false;

                            if ("and".equals(filterType)) {
                                for (String dataValue : dataValues) {
                                    // boolean matchResult = ;
                                    hasEdgeInlcude = false;
                                    if (matcherInstance.compareData(dataValue, includeDataValue)) {
                                        logger.debug("Edge selected: " + edge + " by filter " + filter.getName()
                                                + " with include " + include.getDataKey() + " with value "
                                                + dataValue);
                                        hasEdgeInlcude = true;
                                    }
                                }

                                if (!hasEdgeInlcude) {
                                    return false;
                                }
                                //If we have an "or" filter

                            } else {
                                for (String dataValue : dataValues) {
                                    if (matcherInstance.compareData(dataValue, includeDataValue)) {
                                        logger.debug("Edge " + edge + " has been selected from filter "
                                                + filter.getName() + " by property " + include.getDataKey()
                                                + " with value " + dataValue);
                                        return true;

                                    }

                                }
                            }
                        }

                    }

                }
                //Finally if the has to include flag is set include
                if (!hasEdgeInlcude) {
                    System.out.println("Edge " + edge + " has not been selected");
                    return false;

                } else {
                    System.out.println("Edge " + edge + " has been selected");

                    return true;
                }
            } catch (RuntimeException rte) {
                rte.printStackTrace();
                return false;
            }
        }
    });
}

From source file:de.dhke.projects.cutil.collections.CollectionUtil.java

public static <T> String transformedToString(final Collection<? extends T> collection,
        final Transformer<T, ?> stringer) {
    final StringBuilder sb = new StringBuilder(3 * collection.size());
    sb.append("[");
    final Iterator<? extends T> iter = collection.iterator();
    if (iter.hasNext())
        sb.append(stringer.transform(iter.next()));
    while (iter.hasNext()) {
        sb.append(", ");
        sb.append(stringer.transform(iter.next()));
    }/*from w  w  w  .j a  v a 2s .c o  m*/
    sb.append("]");
    return sb.toString();
}

From source file:com.diversityarrays.dalclient.util.Pair.java

static public <T> Pair<T, T>[] createHomogenousPairs(Collection<T> inputs,
        Transformer<Pair<T, T>, String> joiner) {
    List<Pair<T, T>> result = new ArrayList<Pair<T, T>>();

    List<T> list = new ArrayList<T>(inputs);
    int n = list.size();
    if (n > 1) {
        for (int a = 0; a < n; ++a) {
            T aa = list.get(a);//from   w  w  w  .java2 s  .  c o m
            for (int b = a + 1; b < n; ++b) {
                T bb = list.get(b);

                Pair<T, T> pair = new Pair<T, T>(aa, bb, null);
                String name = joiner.transform(pair);

                result.add(new Pair<T, T>(aa, bb, name));

                pair = new Pair<T, T>(bb, aa, null);
                name = joiner.transform(pair);

                result.add(new Pair<T, T>(bb, aa, name));
            }
        }
    }

    @SuppressWarnings("unchecked")
    Pair<T, T>[] pairs = (Pair<T, T>[]) Array.newInstance(Pair.class, result.size());
    pairs = result.toArray(pairs);

    return pairs;
}

From source file:de.bund.bfr.jung.JungUtils.java

public static <V, E> Pair<Transformer<E, Stroke>, Transformer<Context<Graph<V, E>, E>, Shape>> newEdgeStrokeArrowTransformers(
        int thickness, Integer maxThickness, Map<E, Double> thicknessValues) {
    double denom = getDenominator(thicknessValues);
    int max = maxThickness != null ? maxThickness : thickness + 10;

    Transformer<E, Stroke> strokeTransformer = edge -> {
        Double factor = thicknessValues != null ? thicknessValues.get(edge) : null;
        double width = factor != null ? thickness + (max - thickness) * factor / denom : thickness;

        return new BasicStroke((float) width);
    };//from   w  ww  .  j  a  v a2  s  .  c o  m
    Transformer<Context<Graph<V, E>, E>, Shape> arrowTransformer = edge -> {
        BasicStroke stroke = (BasicStroke) strokeTransformer.transform(edge.element);

        return ArrowFactory.getNotchedArrow(stroke.getLineWidth() + 8, 2 * stroke.getLineWidth() + 10, 4);
    };

    return new Pair<>(strokeTransformer, arrowTransformer);
}

From source file:net.panthema.BispanningGame.GraphString.java

public static String write_graph(MyGraph g, Transformer<Integer, Point2D> gl) {
    ByteArrayOutputStream ba = new ByteArrayOutputStream();
    PrintWriter pw = new PrintWriter(ba);

    // print the vertex list

    pw.print('V');
    pw.print(g.getVertexCount());/*w w w  .ja  va 2  s .  c o m*/
    pw.print(':');

    Collection<Integer> vcoll = g.getVertices();
    ArrayList<Integer> vlist = new ArrayList<Integer>(vcoll);
    Collections.sort(vlist, new Comparator<Integer>() {
        public int compare(Integer arg0, Integer arg1) {
            return arg0 - arg1;
        }
    });

    for (Integer v : vlist) {
        pw.print('i');
        pw.print(v);

        Point2D pos = gl.transform(v);
        pw.print('x');
        pw.print((int) pos.getX());
        pw.print('y');
        pw.print((int) pos.getY());

        pw.print('/');
    }
    pw.print(';');

    // print the edge list

    pw.print('E');
    pw.print(g.getEdgeCount());
    pw.print(':');

    Collection<MyEdge> ecoll = g.getEdges();
    ArrayList<MyEdge> elist = new ArrayList<MyEdge>(ecoll);
    Collections.sort(elist, new Comparator<MyEdge>() {
        public int compare(MyEdge arg0, MyEdge arg1) {
            return arg0.id - arg1.id;
        }
    });

    for (MyEdge e : elist) {
        Integer e_x = g.getEndpoints(e).getFirst();
        Integer e_y = g.getEndpoints(e).getSecond();

        pw.print('i');
        pw.print(e.id);

        pw.print('t');
        pw.print(e_x);
        pw.print('h');
        pw.print(e_y);

        pw.print('c');
        pw.print(e.color);

        pw.print('/');
    }
    pw.print(';');

    pw.flush();

    return ba.toString();
}

From source file:net.itransformers.topologyviewer.edgetooltip.DefaultEdgeTooltipTransformer.java

public String transform(String edge) {
    try {/*from   w w  w.  ja v a  2 s  . co  m*/
        StringBuilder sb = new StringBuilder();
        GraphMLMetadata<String> stringGraphMLMetadata = edgeMetadatas.get(tooltipType.getDataKey());
        Transformer<String, String> transformer = stringGraphMLMetadata.transformer;
        final String value = transformer.transform(edge);
        if (value != null) {
            sb.append(value);
        }
        return sb.toString();
    } catch (RuntimeException rte) {
        rte.printStackTrace();
        throw rte;
    }
}

From source file:net.itransformers.topologyviewer.edgetooltip.CSVEdgeTooltipTransformer.java

public String transform(String edge) {
    try {/*w w  w.ja  v  a  2 s  . c  o m*/
        StringBuilder sb = new StringBuilder();
        Set<String> valueSet = new HashSet<String>();
        GraphMLMetadata<String> stringGraphMLMetadata = edgeMetadatas.get(tooltipType.getDataKey());
        if (stringGraphMLMetadata != null) {
            Transformer<String, String> transformer = stringGraphMLMetadata.transformer;
            final String value = transformer.transform(edge);
            if (value != null) {
                valueSet.addAll(Arrays.asList(value.split(",")));
            }
        }
        sb.append(valueSet);
        return sb.toString();
    } catch (RuntimeException rte) {
        rte.printStackTrace();
        throw rte;
    }
}