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

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

Introduction

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

Prototype

Transformer

Source Link

Usage

From source file:org.metacsp.utility.UI.FiniteStateAutomatonFrame.java

public FiniteStateAutomatonFrame(ObservableGraph<String[], Interval> graph) {
    super("Constraint Network");

    g = graph;/*from www  . ja v  a2  s.  c  o m*/
    g.addGraphEventListener(new GraphEventListener<String[], Interval>() {

        public void handleGraphEvent(GraphEvent<String[], Interval> evt) {
            System.err.println("got " + evt);
            /****/
            vv.getRenderContext().getPickedVertexState().clear();
            vv.getRenderContext().getPickedEdgeState().clear();
            try {

                layout.initialize();

                try {
                    Relaxer relaxer = new VisRunner((IterativeContext) layout);
                    relaxer.stop();
                    relaxer.prerelax();
                } catch (java.lang.ClassCastException e) {
                }

                StaticLayout<String[], Interval> staticLayout = new StaticLayout<String[], Interval>(g, layout);
                LayoutTransition<String[], Interval> lt = new LayoutTransition<String[], Interval>(vv,
                        vv.getGraphLayout(), staticLayout);
                Animator animator = new Animator(lt);
                animator.start();
                //                  vv.getRenderContext().getMultiLayerTransformer().setToIdentity();
                vv.repaint();

            } catch (Exception e) {
                System.out.println(e);

            }
            /****/
        }
    });

    //create a graphdraw
    //layout = new FRLayout<State,Interval>(g);
    //layout = new SpringLayout<State,Interval>(g);
    //layout = new StaticLayout<State,Interval>(g,new STNTransformer());
    layout = new FRLayout2<String[], Interval>(g);
    //layout = new CircleLayout<State,Interval>(g);
    //layout = new ISOMLayout<State,Interval>(g);
    //layout = new KKLayout<State,Interval>(g);
    layout.setSize(new Dimension(600, 600));

    try {
        Relaxer relaxer = new VisRunner((IterativeContext) layout);
        relaxer.stop();
        relaxer.prerelax();
    } catch (java.lang.ClassCastException e) {
    }

    Layout<String[], Interval> staticLayout = new StaticLayout<String[], Interval>(g, layout);

    vv = new VisualizationViewer<String[], Interval>(staticLayout, new Dimension(600, 600));

    JRootPane rp = this.getRootPane();
    rp.putClientProperty("defeatSystemEventQueueCheck", Boolean.TRUE);

    getContentPane().setLayout(new BorderLayout());
    getContentPane().setBackground(java.awt.Color.lightGray);
    getContentPane().setFont(new Font("Serif", Font.PLAIN, 12));

    vv.setGraphMouse(new DefaultModalGraphMouse<String[], Interval>());

    vv.getRenderer().getVertexLabelRenderer().setPosition(Renderer.VertexLabel.Position.S);
    vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<String[]>());
    vv.setForeground(Color.black);

    //draw edge labels
    Transformer<Interval, String> stringer = new Transformer<Interval, String>() {
        public String transform(Interval e) {
            return e.toString();
        }
    };

    vv.getRenderContext().setEdgeLabelTransformer(stringer);
    vv.getRenderContext().setEdgeDrawPaintTransformer(
            new PickableEdgePaintTransformer<Interval>(vv.getPickedEdgeState(), Color.black, Color.cyan));

    vv.addComponentListener(new ComponentAdapter() {

        /**
         * @see java.awt.event.ComponentAdapter#componentResized(java.awt.event.ComponentEvent)
         */
        @Override
        public void componentResized(ComponentEvent arg0) {
            super.componentResized(arg0);
            System.err.println("resized");
            layout.setSize(arg0.getComponent().getSize());
        }
    });

    getContentPane().add(vv);
    switchLayout = new JButton("Switch to SpringLayout");
    switchLayout.addActionListener(new ActionListener() {

        @SuppressWarnings("unchecked")
        public void actionPerformed(ActionEvent ae) {
            Dimension d = vv.getSize();//new Dimension(600,600);
            if (switchLayout.getText().indexOf("Spring") > 0) {
                switchLayout.setText("Switch to FRLayout");
                //layout = new SpringLayout<State,Interval>(g, new ConstantTransformer(EDGE_LENGTH));
                layout = new SpringLayout<String[], Interval>(g);
                layout.setSize(d);

                try {
                    Relaxer relaxer = new VisRunner((IterativeContext) layout);
                    relaxer.stop();
                    relaxer.prerelax();
                } catch (java.lang.ClassCastException e) {
                }

                StaticLayout<String[], Interval> staticLayout = new StaticLayout<String[], Interval>(g, layout);
                LayoutTransition<String[], Interval> lt = new LayoutTransition<String[], Interval>(vv,
                        vv.getGraphLayout(), staticLayout);
                Animator animator = new Animator(lt);
                animator.start();
                //   vv.getRenderContext().getMultiLayerTransformer().setToIdentity();
                vv.repaint();

            } else {
                switchLayout.setText("Switch to SpringLayout");
                layout = new FRLayout<String[], Interval>(g, d);
                layout.setSize(d);

                try {
                    Relaxer relaxer = new VisRunner((IterativeContext) layout);
                    relaxer.stop();
                    relaxer.prerelax();
                } catch (java.lang.ClassCastException e) {
                }

                StaticLayout<String[], Interval> staticLayout = new StaticLayout<String[], Interval>(g, layout);
                LayoutTransition<String[], Interval> lt = new LayoutTransition<String[], Interval>(vv,
                        vv.getGraphLayout(), staticLayout);
                Animator animator = new Animator(lt);
                animator.start();
                //   vv.getRenderContext().getMultiLayerTransformer().setToIdentity();
                vv.repaint();

            }
        }
    });

    getContentPane().add(switchLayout, BorderLayout.SOUTH);

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.pack();
    this.setVisible(true);

}

From source file:org.metacsp.utility.UI.SearchTreeFrame.java

public SearchTreeFrame(DelegateForest<MetaVariable, ConstraintNetwork> graph) {

    this.graph = graph;
    treeLayout = new TreeLayout<MetaVariable, ConstraintNetwork>(graph);
    radialLayout = new RadialTreeLayout<MetaVariable, ConstraintNetwork>(graph);
    radialLayout.setSize(new Dimension(600, 600));
    vv = new VisualizationViewer<MetaVariable, ConstraintNetwork>(treeLayout, new Dimension(600, 600));
    vv.setBackground(Color.white);
    vv.getRenderContext().setEdgeShapeTransformer(new EdgeShape.Line<MetaVariable, ConstraintNetwork>());
    vv.getRenderContext().setVertexLabelTransformer(new Transformer<MetaVariable, String>() {
        @Override/*from  w ww.j a v a2 s.  c o  m*/
        public String transform(MetaVariable arg0) {
            return arg0.toString();
        }
    });

    vv.setVertexToolTipTransformer(new Transformer<MetaVariable, String>() {
        @Override
        public String transform(MetaVariable arg0) {
            return arg0.toString();
        }
    });

    //vv.getRenderContext().setArrowFillPaintTransformer(new ConstantTransformer(Color.lightGray));
    vv.getRenderContext().setArrowFillPaintTransformer(new Transformer<ConstraintNetwork, Paint>() {
        @Override
        public Paint transform(ConstraintNetwork arg0) {
            return Color.lightGray;
        }
    });

    //System.out.println(graph.getVertices());
    rings = new Rings();

    Container content = getContentPane();
    final GraphZoomScrollPane panel = new GraphZoomScrollPane(vv);
    content.add(panel);

    final DefaultModalGraphMouse<?, ?> graphMouse = new DefaultModalGraphMouse<Object, Object>();

    vv.setGraphMouse(graphMouse);

    JComboBox modeBox = graphMouse.getModeComboBox();
    modeBox.addItemListener(graphMouse.getModeListener());
    graphMouse.setMode(Mode.TRANSFORMING);

    final ScalingControl scaler = new CrossoverScalingControl();

    JButton plus = new JButton("+");
    plus.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            scaler.scale(vv, 1.1f, vv.getCenter());
        }
    });
    JButton minus = new JButton("-");
    minus.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            scaler.scale(vv, 1 / 1.1f, vv.getCenter());
        }
    });

    JToggleButton radial = new JToggleButton("Radial");
    radial.addItemListener(new ItemListener() {

        @Override
        public void itemStateChanged(ItemEvent e) {
            if (e.getStateChange() == ItemEvent.SELECTED) {

                LayoutTransition<MetaVariable, ConstraintNetwork> lt = new LayoutTransition<MetaVariable, ConstraintNetwork>(
                        vv, treeLayout, radialLayout);
                Animator animator = new Animator(lt);
                animator.start();
                vv.getRenderContext().getMultiLayerTransformer().setToIdentity();
                vv.addPreRenderPaintable(rings);
            } else {
                LayoutTransition<MetaVariable, ConstraintNetwork> lt = new LayoutTransition<MetaVariable, ConstraintNetwork>(
                        vv, radialLayout, treeLayout);
                Animator animator = new Animator(lt);
                animator.start();
                vv.getRenderContext().getMultiLayerTransformer().setToIdentity();
                vv.removePreRenderPaintable(rings);
            }
            vv.repaint();
        }
    });

    JPanel scaleGrid = new JPanel(new GridLayout(1, 0));
    scaleGrid.setBorder(BorderFactory.createTitledBorder("Zoom"));

    JPanel controls = new JPanel();
    scaleGrid.add(plus);
    scaleGrid.add(minus);
    controls.add(radial);
    controls.add(scaleGrid);
    controls.add(modeBox);

    content.add(controls, BorderLayout.SOUTH);
}

From source file:org.neuroph.netbeans.main.easyneurons.NeuralGraphRenderer.java

public NeuralGraphRenderer(NeuralNetwork neuralNet) {
    this.neuralNet = neuralNet;

    v_labels = new JCheckBox("show activation levels");
    v_labels.addActionListener(this);

    e_labels = new JCheckBox("show weights");
    e_labels.addActionListener(this);

    staticTranformer = new Transformer<Neuron, Point2D>() {
        int layerY = 70;

        @Override//  ww  w  . j  a v  a  2s  . c o  m
        public Point2D transform(Neuron n) {
            int x, y;

            Dimension size = layout.getSize();
            x = size.width / 2;
            y = layerY;

            Layer parentLayer = n.getParentLayer();
            int parentLayerSize = parentLayer.getNeuronsCount();
            int neuronIdx = parentLayer.indexOf(n);
            int layerIdx = parentLayer.getParentNetwork().indexOf(parentLayer);
            int layerLayout = netLayout.getLayerLayout(layerIdx);

            y = (layerIdx + 1) * 70;

            if (layerLayout == NetworkLayout.ROW_LAYOUT) {
                if (parentLayerSize % 2 != 0) { // neparni broj neurona
                    if (neuronIdx <= (parentLayerSize / 2)) {
                        x = size.width / 2 - 70 * ((parentLayerSize / 2) - neuronIdx) - 35;
                    } else {
                        x = size.width / 2 + 70 * (neuronIdx - (parentLayerSize / 2) - 1) + 35;
                    }
                } else { // parni broj neurona
                    if (neuronIdx < (parentLayerSize / 2)) {
                        x = size.width / 2 - 70 * ((parentLayerSize / 2) - neuronIdx);
                    } else {
                        x = size.width / 2 + 70 * (neuronIdx - (parentLayerSize / 2));
                    }
                }

                if (y > layerY)
                    layerY = y;

            } else { // NetworkLayout.SQUARE_LAYOUT
                int rowNeurons = (int) Math.sqrt(parentLayerSize);
                y = layerY + ((neuronIdx / rowNeurons) + 1) * 70;

                if (rowNeurons % 2 != 0) { // neparni broj neurona u redu
                    if (((neuronIdx % rowNeurons) % 2) <= (rowNeurons / 2)) {
                        x = size.width / 2 - 70 * ((rowNeurons / 2) - (neuronIdx % rowNeurons)) - 35;
                    } else {
                        x = size.width / 2 + 70 * ((rowNeurons / 2) - (neuronIdx % rowNeurons)) - 35;
                    }
                } else { // parni broj neurona
                    if (((neuronIdx % rowNeurons) % 2) <= (rowNeurons / 2)) {
                        x = size.width / 2 - 70 * ((rowNeurons / 2) - (neuronIdx % rowNeurons));
                    } else {
                        x = size.width / 2 + 70 * ((rowNeurons / 2) - (neuronIdx % rowNeurons));
                    }
                }
            }

            Point2D neuronLocation = new Point(x, y);
            return neuronLocation;
        }
    };

    graph = createGraph();
    layout = new StaticLayout<Neuron, Connection>(graph, staticTranformer);

    try {
        vv = new VisualizationViewer<Neuron, Connection>(layout);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    createGraphPanel();
}

From source file:org.neuroph.netbeans.main.easyneurons.NeuralGraphRenderer.java

/**
 * Generates a mixed-mode random graph, runs VoltageRanker on it, and
 * returns the resultant graph.//from  www .ja v  a 2  s  .co  m
 */
public Graph createGraph() {

    Graph<Neuron, Connection> g = new DirectedSparseGraph<Neuron, Connection>();

    //      Iterator<Layer> li = this.neuralNet.getLayersIterator();
    //      while (li.hasNext()) {
    for (Layer layer : this.neuralNet.getLayers()) {
        //         Layer layer = li.next();
        //         Iterator<Neuron> ni = layer.getNeuronsIterator();
        //         while (ni.hasNext()) {
        //            Neuron neuron = ni.next();
        for (Neuron neuron : layer.getNeurons()) {
            g.addVertex(neuron);

            //            Iterator<Connection> ci = neuron.getInputConnections().iterator();
            //            while (ci.hasNext()) {
            //               Connection connection = ci.next();
            for (Connection connection : neuron.getInputConnections()) {
                Neuron fromNeuron = connection.getFromNeuron(); // .getConnectedNeuron();
                g.addEdge(connection, fromNeuron, neuron);

                // used for highlighting weights
                edge_weight.put(connection, connection.getWeight().getValue());
            }
        }
    }

    voltages = new Transformer<Neuron, Double>() {
        @Override
        public Double transform(Neuron n) {
            return n.getOutput();
        }
    };

    vs = new Transformer<Neuron, String>() {
        @Override
        public String transform(Neuron n) {
            NumberFormat numberFormat = DecimalFormat.getNumberInstance();
            numberFormat.setMaximumFractionDigits(4);

            return numberFormat.format(n.getOutput());
        }
    };

    es = new Transformer<Connection, String>() {
        @Override
        public String transform(Connection c) {
            NumberFormat numberFormat = DecimalFormat.getNumberInstance();
            numberFormat.setMaximumFractionDigits(5);

            return numberFormat.format(c.getWeight().getValue());
        }
    };

    return g;
}

From source file:org.openanzo.glitter.query.Projection.java

public void prettyPrint(StringBuilder buffer) {
    buffer.append("Projection(");

    if (this.isDistinct())
        buffer.append("DISTINCT, ");

    if (this.isReduced())
        buffer.append("REDUCED, ");

    if (this.isSelectStar)
        buffer.append("*");
    else {//from  www. j ava2s  . c  o m
        for (int i = 0; i < this.projectedExpressions.size(); i++) {
            Expression e = this.projectedExpressions.get(i);
            Variable var = this.projectedAs.get(i);
            if (i > 0)
                buffer.append(", ");
            if (expressionWrapsVariable(e, var)) {
                buffer.append(PrettyPrinter.print(var));
            } else {
                buffer.append("ProjectAs(");
                buffer.append(PrettyPrinter.print(e));
                buffer.append(", ");
                buffer.append(PrettyPrinter.print(var));
                buffer.append(")");
            }
        }
    }

    if (groupByVars != null && !groupByVars.isEmpty()) {
        buffer.append(", ");
        buffer.append("GroupBy(");
        buffer.append(
                StringUtils.join(CollectionUtils.collect(this.groupByVars, new Transformer<Variable, String>() {
                    public String transform(Variable input) {
                        return PrettyPrinter.print(input);
                    }
                }), ", "));
        buffer.append(")");
    }
    buffer.append(")");
}

From source file:org.opendaylight.controller.routing.dijkstrav2_implementation.internal.DijkstraImplementation.java

@Override
public synchronized void initMaxThroughput(final Map<Edge, Number> EdgeWeightMap) {
    if (mtp != null) {
        log.error("Max Throughput Dijkstra is already enabled!");
        return;//from  w w  w .  ja va  2  s.  c  om
    }
    Transformer<Edge, ? extends Number> mtTransformer = null;
    if (EdgeWeightMap == null) {
        mtTransformer = new Transformer<Edge, Double>() {
            @Override
            public Double transform(Edge e) {
                if (switchManager == null) {
                    log.error("switchManager is null");
                    return (double) -1;
                }
                NodeConnector srcNC = e.getTailNodeConnector();
                NodeConnector dstNC = e.getHeadNodeConnector();
                if ((srcNC == null) || (dstNC == null)) {
                    log.error("srcNC:{} or dstNC:{} is null", srcNC, dstNC);
                    return (double) -1;
                }
                Bandwidth bwSrc = (Bandwidth) switchManager.getNodeConnectorProp(srcNC,
                        Bandwidth.BandwidthPropName);
                Bandwidth bwDst = (Bandwidth) switchManager.getNodeConnectorProp(dstNC,
                        Bandwidth.BandwidthPropName);

                long srcLinkSpeed = 0, dstLinkSpeed = 0;
                if ((bwSrc == null) || ((srcLinkSpeed = bwSrc.getValue()) == 0)) {
                    log.debug("srcNC: {} - Setting srcLinkSpeed to Default!", srcNC);
                    srcLinkSpeed = DEFAULT_LINK_SPEED;
                }

                if ((bwDst == null) || ((dstLinkSpeed = bwDst.getValue()) == 0)) {
                    log.debug("dstNC: {} - Setting dstLinkSpeed to Default!", dstNC);
                    dstLinkSpeed = DEFAULT_LINK_SPEED;
                }

                // TODO: revisit the logic below with the real use case in
                // mind
                // For now we assume the throughput to be the speed of the
                // link itself
                // this kind of logic require information that should be
                // polled by statistic manager and are not yet available,
                // also this service at the moment is not used, so to be
                // revisited later on
                long avlSrcThruPut = srcLinkSpeed;
                long avlDstThruPut = dstLinkSpeed;

                // Use lower of the 2 available throughput as the available
                // throughput
                long avlThruPut = avlSrcThruPut < avlDstThruPut ? avlSrcThruPut : avlDstThruPut;

                if (avlThruPut <= 0) {
                    log.debug("Edge {}: Available Throughput {} <= 0!", e, avlThruPut);
                    return (double) -1;
                }
                return (double) (Bandwidth.BW1Pbps / avlThruPut);
            }
        };
    } else {
        mtTransformer = new Transformer<Edge, Number>() {
            @Override
            public Number transform(Edge e) {
                return EdgeWeightMap.get(e);
            }
        };
    }
    Short baseBW = Short.valueOf((short) 0);
    // Initialize mtp also using the default topo
    Graph<Node, Edge> g = this.topologyBWAware.get(baseBW);
    if (g == null) {
        log.error("Default Topology Graph is null");
        return;
    }
    mtp = new DijkstraShortestPath<Node, Edge>(g, mtTransformer);
}

From source file:org.opendaylight.nemo.intent.algorithm.RoutingAlgorithm.java

public RoutingAlgorithm() {
    super();//from w w w  .ja va  2  s  . c o m

    graph = new DirectedSparseGraph<Vertex, Edge>();
    dijkstraShortestPath = new DijkstraShortestPath<Vertex, Edge>(graph, new Transformer<Edge, Number>() {
        @Override
        public Number transform(Edge edge) {
            return edge.getMetric();
        }
    }, false);

    return;
}

From source file:org.opendaylight.nemo.intent.algorithm.RoutingAlgorithm.java

/**
 * Compute a shortest path with the given bandwidth from the given
 * source vertex to target one./*  w  ww . j  av  a 2s .c  o  m*/
 *
 * @param source The given source vertex.
 * @param target The given target vertex.
 * @param bandwidth The given bandwidth for the path.
 * @return A list of the edges on the shortest path, in order of
 * their occurrence on this path.
 */
public List<Edge> computePath(Vertex source, Vertex target, final long bandwidth) {
    EdgePredicateFilter<Vertex, Edge> edgeEdgePredicateFilter = new EdgePredicateFilter<Vertex, Edge>(
            new Predicate<Edge>() {
                @Override
                public boolean evaluate(Edge edge) {
                    return edge.getBandwidth() >= bandwidth;
                }
            });

    Graph<Vertex, Edge> filteredGraph = edgeEdgePredicateFilter.transform(graph);
    DijkstraShortestPath<Vertex, Edge> tempDijkstraShortestPath = new DijkstraShortestPath<Vertex, Edge>(
            filteredGraph, new Transformer<Edge, Number>() {
                @Override
                public Number transform(Edge edge) {
                    return edge.getMetric();
                }
            }, false);

    return tempDijkstraShortestPath.getPath(source, target);
}

From source file:org.opennms.features.topology.app.internal.jung.AbstractLayoutAlgorithm.java

protected static Transformer<VertexRef, Point2D> initializer(final Layout graphLayout) {
    return new Transformer<VertexRef, Point2D>() {
        @Override//from   w  w  w .ja  va 2  s. c om
        public Point2D transform(VertexRef v) {
            if (v == null) {
                LOG.warn("Algorithm tried to layout a null vertex");
                return new Point(0, 0);
            }
            org.opennms.features.topology.api.Point location = graphLayout.getLocation(v);
            return new Point2D.Double(location.getX(), location.getY());
        }
    };
}

From source file:org.opennms.features.topology.app.internal.jung.AbstractLayoutAlgorithm.java

protected static Transformer<VertexRef, Point2D> initializer(final Layout graphLayout, final int xOffset,
        final int yOffset) {
    return new Transformer<VertexRef, Point2D>() {
        @Override//www.  ja  v a2 s  . c  o  m
        public Point2D transform(VertexRef v) {
            org.opennms.features.topology.api.Point location = graphLayout.getLocation(v);
            return new Point2D.Double(location.getX() - xOffset, location.getY() - yOffset);
        }
    };
}