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:tests.shortestpaths.SuurballeTarjanTest.java

@Test
public void testUnreachable() {
    Graph<String, MyLink> g = new DirectedOrderedSparseMultigraph<String, MyLink>();

    String n1 = new String("S"); // S
    g.addVertex(n1);/*from   w  w  w.  j a  va2s .  c  om*/
    String n2 = new String("A"); // A
    g.addVertex(n2);
    String n3 = new String("B"); // B -- not connected
    g.addVertex(n3);

    g.addEdge(new MyLink(1, "S-A"), n1, n2, EdgeType.DIRECTED); // S - A

    Transformer<MyLink, Number> weightTrans = new Transformer<MyLink, Number>() {
        @Override
        public Number transform(MyLink link) {
            return link.getWeight();
        }
    };
    SuurballeTarjan<String, MyLink> testMain = new SuurballeTarjan<String, MyLink>(g, weightTrans);
    assertEquals(null, testMain.getDisjointPaths(n1, n3));
}

From source file:tests.shortestpaths.SuurballeTarjanTest.java

@Test
public void testSuurballe1() {
    Graph<String, MyLink> g = new DirectedOrderedSparseMultigraph<String, MyLink>();

    String n1 = new String("S"); // S
    g.addVertex(n1);//ww w  . j  a  va  2s .c om
    String n2 = new String("A"); // A
    g.addVertex(n2);
    String n3 = new String("D"); // D
    g.addVertex(n3);
    String n4 = new String("C"); // C
    g.addVertex(n4);
    String n5 = new String("F"); // F
    g.addVertex(n5);
    String n6 = new String("B"); // B
    g.addVertex(n6);
    String n7 = new String("G"); // G
    g.addVertex(n7);
    String n8 = new String("E"); // E
    g.addVertex(n8);

    g.addEdge(new MyLink(3, "S-A"), n1, n2, EdgeType.DIRECTED); // S - A
    g.addEdge(new MyLink(2, "S-B"), n1, n6, EdgeType.DIRECTED); // S - B
    g.addEdge(new MyLink(8, "S-D"), n1, n3, EdgeType.DIRECTED); // S - D
    g.addEdge(new MyLink(1, "A-C"), n2, n4, EdgeType.DIRECTED); // A - C
    g.addEdge(new MyLink(4, "A-D"), n2, n3, EdgeType.DIRECTED); // A - D
    g.addEdge(new MyLink(1, "D-F"), n3, n5, EdgeType.DIRECTED); // D - F
    g.addEdge(new MyLink(5, "C-F"), n4, n5, EdgeType.DIRECTED); // C - F
    g.addEdge(new MyLink(5, "B-E"), n6, n8, EdgeType.DIRECTED); // B - E
    g.addEdge(new MyLink(2, "E-G"), n8, n7, EdgeType.DIRECTED); // E - G
    g.addEdge(new MyLink(7, "G-F"), n7, n5, EdgeType.DIRECTED); // G - F

    Transformer<MyLink, Number> weightTrans = new Transformer<MyLink, Number>() {
        @Override
        public Number transform(MyLink link) {
            return link.getWeight();
        }
    };
    SuurballeTarjan<String, MyLink> testMain = new SuurballeTarjan<String, MyLink>(g, weightTrans);
    assertEquals("[[S-A, A-C, C-F], [S-D, D-F]]", testMain.getDisjointPaths(n1, n5).toString());
}

From source file:tests.shortestpaths.SuurballeTarjanTest.java

@Test
public void testTargetRemoval() {
    Graph<String, MyLink> g = new DirectedOrderedSparseMultigraph<String, MyLink>();

    String n1 = new String("S"); // S
    g.addVertex(n1);//  w w  w  . j  a v  a2  s. co  m
    String n2 = new String("A"); // A
    g.addVertex(n2);
    String n3 = new String("B"); // B
    g.addVertex(n3);
    String n4 = new String("C"); // C
    g.addVertex(n4);
    String n5 = new String("D"); // D
    g.addVertex(n5);

    g.addEdge(new MyLink(3, "S-A"), n1, n2, EdgeType.DIRECTED); // S - A
    g.addEdge(new MyLink(1, "A-C"), n2, n4, EdgeType.DIRECTED); // A - C
    g.addEdge(new MyLink(3, "S-B"), n1, n3, EdgeType.DIRECTED); // S - B
    g.addEdge(new MyLink(3, "B-C"), n3, n4, EdgeType.DIRECTED); // B - C
    g.addEdge(new MyLink(3, "C-D"), n4, n5, EdgeType.DIRECTED); // C - D

    Transformer<MyLink, Number> weightTrans = new Transformer<MyLink, Number>() {
        @Override
        public Number transform(MyLink link) {
            return link.getWeight();
        }
    };
    SuurballeTarjan<String, MyLink> testMain = new SuurballeTarjan<String, MyLink>(g, weightTrans);
    assertEquals("[[S-A, A-C, C-D]]", testMain.getDisjointPaths(n1, n5).toString());
}

From source file:tests.shortestpaths.SuurballeTarjanTest.java

@Test
public void testTrapTopology() {
    Graph<String, MyLink> g = new DirectedOrderedSparseMultigraph<String, MyLink>();

    String nS = new String("S");
    g.addVertex(nS);/*from  w w  w.  j  a v  a2  s.  co m*/
    String nA = new String("A");
    g.addVertex(nA);
    String nB = new String("B");
    g.addVertex(nB);
    String nD = new String("D");
    g.addVertex(nD);

    String nE = new String("E");
    g.addVertex(nE);
    String nF = new String("F");
    g.addVertex(nF);

    String nG = new String("G");
    g.addVertex(nG);
    String nH = new String("H");
    g.addVertex(nH);

    g.addEdge(new MyLink(1, "S-A"), nS, nA, EdgeType.DIRECTED);
    g.addEdge(new MyLink(1, "A-B"), nA, nB, EdgeType.DIRECTED);
    g.addEdge(new MyLink(1, "B-D"), nB, nD, EdgeType.DIRECTED);

    g.addEdge(new MyLink(2, "S-E"), nS, nE, EdgeType.DIRECTED);
    g.addEdge(new MyLink(2, "E-F"), nE, nF, EdgeType.DIRECTED);
    g.addEdge(new MyLink(2, "F-B"), nF, nB, EdgeType.DIRECTED);

    g.addEdge(new MyLink(2, "A-G"), nA, nG, EdgeType.DIRECTED);
    g.addEdge(new MyLink(2, "G-H"), nG, nH, EdgeType.DIRECTED);
    g.addEdge(new MyLink(2, "H-D"), nH, nD, EdgeType.DIRECTED);

    Transformer<MyLink, Number> weightTrans = new Transformer<MyLink, Number>() {
        @Override
        public Number transform(MyLink link) {
            return link.getWeight();
        }
    };
    SuurballeTarjan<String, MyLink> testMain = new SuurballeTarjan<String, MyLink>(g, weightTrans);
    assertEquals("[[S-A, A-G, G-H, H-D], [S-E, E-F, F-B, B-D]]", testMain.getDisjointPaths(nS, nD).toString());
}

From source file:tests.shortestpaths.SuurballeTarjanTest.java

@Test
public void testSuurballe2() {
    Graph<String, MyLink> g = new DirectedOrderedSparseMultigraph<String, MyLink>();

    String n1 = new String("A"); // A
    g.addVertex(n1);/*  w  w w .j a va 2s .c  om*/
    String n2 = new String("D"); // D
    g.addVertex(n2);
    String n3 = new String("C"); // C
    g.addVertex(n3);
    String n4 = new String("F"); // F
    g.addVertex(n4);
    String n5 = new String("B"); // B
    g.addVertex(n5);
    String n6 = new String("G"); // G
    g.addVertex(n6);
    String n7 = new String("E"); // E
    g.addVertex(n7);

    g.addEdge(new MyLink(2, "A-D"), n1, n2, EdgeType.DIRECTED);
    g.addEdge(new MyLink(3, "A-C"), n1, n3, EdgeType.DIRECTED);
    g.addEdge(new MyLink(3, "A-F"), n1, n4, EdgeType.DIRECTED);
    g.addEdge(new MyLink(1, "D-E"), n2, n7, EdgeType.DIRECTED); // A - C
    g.addEdge(new MyLink(3, "D-C"), n2, n3, EdgeType.DIRECTED); // A - D
    g.addEdge(new MyLink(1, "C-E"), n3, n7, EdgeType.DIRECTED); // D - F
    g.addEdge(new MyLink(2, "C-B"), n3, n5, EdgeType.DIRECTED); // C - F
    g.addEdge(new MyLink(2, "C-G"), n3, n6, EdgeType.DIRECTED); // B - E
    g.addEdge(new MyLink(2, "F-G"), n4, n6, EdgeType.DIRECTED); // E - G
    g.addEdge(new MyLink(1, "F-C"), n4, n3, EdgeType.DIRECTED); // G - F
    g.addEdge(new MyLink(2, "E-B"), n7, n5, EdgeType.DIRECTED); // G - F
    g.addEdge(new MyLink(1, "G-B"), n6, n5, EdgeType.DIRECTED); // G - F

    Transformer<MyLink, Number> weightTrans = new Transformer<MyLink, Number>() {
        @Override
        public Number transform(MyLink link) {
            return link.getWeight();
        }
    };
    SuurballeTarjan<String, MyLink> testMain = new SuurballeTarjan<String, MyLink>(g, weightTrans);
    assertEquals("[[A-D, D-E, E-B], [A-C, C-B]]", testMain.getDisjointPaths(n1, n5).toString());
}

From source file:tests.shortestpaths.SuurballeTarjanTest.java

@Test
public void testSuurballe3() {
    Graph<String, MyLink> g = new DirectedOrderedSparseMultigraph<String, MyLink>();

    String n1 = new String("A"); // A
    g.addVertex(n1);//from   w w w. j  av  a 2s .c  om
    String n2 = new String("D"); // D
    g.addVertex(n2);
    String n3 = new String("C"); // C
    g.addVertex(n3);
    String n4 = new String("F"); // F
    g.addVertex(n4);
    String n5 = new String("B"); // B
    g.addVertex(n5);
    String n6 = new String("G"); // G
    g.addVertex(n6);
    String n7 = new String("E"); // E
    g.addVertex(n7);

    g.addEdge(new MyLink(2, "A-D"), n1, n2, EdgeType.DIRECTED);
    g.addEdge(new MyLink(3, "A-C"), n1, n3, EdgeType.DIRECTED);
    g.addEdge(new MyLink(3, "A-F"), n1, n4, EdgeType.DIRECTED);
    g.addEdge(new MyLink(3, "D-E"), n2, n7, EdgeType.DIRECTED); // A - C
    g.addEdge(new MyLink(0, "D-C"), n2, n3, EdgeType.DIRECTED); // A - D
    g.addEdge(new MyLink(1, "C-E"), n3, n7, EdgeType.DIRECTED); // D - F
    g.addEdge(new MyLink(2, "C-B"), n3, n5, EdgeType.DIRECTED); // C - F
    g.addEdge(new MyLink(2, "C-G"), n3, n6, EdgeType.DIRECTED); // B - E
    g.addEdge(new MyLink(2, "F-G"), n4, n6, EdgeType.DIRECTED); // E - G
    g.addEdge(new MyLink(1, "F-C"), n4, n3, EdgeType.DIRECTED); // G - F
    g.addEdge(new MyLink(2, "E-B"), n7, n5, EdgeType.DIRECTED); // G - F
    g.addEdge(new MyLink(1, "G-B"), n6, n5, EdgeType.DIRECTED); // G - F

    Transformer<MyLink, Number> weightTrans = new Transformer<MyLink, Number>() {
        @Override
        public Number transform(MyLink link) {
            return link.getWeight();
        }
    };
    SuurballeTarjan<String, MyLink> testMain = new SuurballeTarjan<String, MyLink>(g, weightTrans);
    assertEquals("[[A-D, D-C, C-B], [A-F, F-G, G-B]]", testMain.getDisjointPaths(n1, n5).toString());
}

From source file:tests.shortestpaths.SuurballeTarjanTest.java

@Test
public void testNoDisjointSolution() {
    Graph<String, MyLink> g = new DirectedOrderedSparseMultigraph<String, MyLink>();

    String n1 = new String("A"); // A
    g.addVertex(n1);/*from ww w. j a v  a 2  s  .  c  om*/
    String n2 = new String("B"); // B
    g.addVertex(n2);

    g.addEdge(new MyLink(2, "A-B"), n1, n2, EdgeType.DIRECTED);

    Transformer<MyLink, Number> weightTrans = new Transformer<MyLink, Number>() {
        @Override
        public Number transform(MyLink link) {
            return link.getWeight();
        }
    };
    SuurballeTarjan<String, MyLink> testMain = new SuurballeTarjan<String, MyLink>(g, weightTrans);
    assertEquals("[[A-B]]", testMain.getDisjointPaths(n1, n2).toString());
}

From source file:thesaurusEditor.gui.graph.MainGraph.java

/**
 * create an instance of a simple graph with basic controls
 *///from  ww w .j  a  va 2  s  . c  om
public MainGraph(List<Konzept> konzepte, Main main) {

    // create a simple graph for the demo
    this.konzepte = konzepte;
    this.main = main;

    main.getController().getThesaurus().addObserver(this);

    graph = new DirectedSparseGraph<Konzept, EdgeClass>();

    for (Konzept k : konzepte) {
        graph.addVertex(k);
    }
    createEdges(konzepte);

    layout = new PersistentLayoutImpl<Konzept, EdgeClass>(new FRLayout<Konzept, EdgeClass>(graph));
    //layout = new FRLayout<Konzept,EdgeClass>(graph);
    Dimension preferredSize = new Dimension(1300, 900);
    final VisualizationModel<Konzept, EdgeClass> visualizationModel = new DefaultVisualizationModel<Konzept, EdgeClass>(
            layout, preferredSize);
    vv = new VisualizationViewer<Konzept, EdgeClass>(visualizationModel, preferredSize);

    // this class will provide both label drawing and vertex shapes
    VertexLabelAsShapeRenderer<Konzept, EdgeClass> vlasr = new VertexLabelAsShapeRenderer<Konzept, EdgeClass>(
            vv.getRenderContext());

    // customize the render context
    vv.getRenderContext().setVertexLabelTransformer(new Transformer<Konzept, String>() {
        public String transform(Konzept k) {
            return "";
        }
    });
    // this chains together Transformers so that the html tags
    // are prepended to the toString method output
    /*new ChainedTransformer<Konzept,String>(new Transformer[]{
    new ToStringLabeller<Konzept>(),
    new Transformer<Konzept,String>() {
     public String transform(Konzept input) {
        return input.toString();
     }}}));*/
    vv.getRenderContext().setVertexShapeTransformer(new Transformer<Konzept, Shape>() {
        public Shape transform(Konzept k) {
            return new Rectangle(-((k.toString().length() * 8 + 10) / 2), -(10), k.toString().length() * 7 + 18,
                    21);
        }
    });
    vv.getRenderContext().setVertexLabelRenderer(new DefaultVertexLabelRenderer(Color.red));
    vv.getRenderContext().setEdgeDrawPaintTransformer(new ConstantTransformer(Color.black));
    vv.getRenderContext().setEdgeStrokeTransformer(new ConstantTransformer(new BasicStroke(2.5f)));

    vv.getRenderContext().setVertexFillPaintTransformer(
            new PickableVertexPaintTransformer<Konzept>(vv.getPickedVertexState(), Color.white, Color.yellow));
    vv.getRenderContext().setEdgeDrawPaintTransformer(
            new PickableEdgePaintTransformer<EdgeClass>(vv.getPickedEdgeState(), Color.black, Color.red));

    vv.getRenderContext().setVertexIconTransformer(new Transformer<Konzept, Icon>() {

        /*
         * Implements the Icon interface to draw an Icon with background color and
         * a text label
         */
        public Icon transform(final Konzept v) {
            return new Icon() {
                private Konzept k;

                public int getIconHeight() {
                    return 20;
                }

                public int getIconWidth() {
                    if (k != null) {
                        return k.toString().length() * 7 + 10;
                    }
                    return v.toString().length() * 7 + 10;
                }

                public void paintIcon(Component c, Graphics g, int x, int y) {
                    if (vv.getPickedVertexState().isPicked(v)) {
                        g.setColor(Color.yellow);
                    } else {
                        g.setColor(Color.lightGray);
                    }
                    g.fillRect(x, y, v.toString().length() * 8 + 10, 20);

                    if (vv.getPickedVertexState().isPicked(v)) {
                        g.setColor(Color.black);
                    } else {
                        g.setColor(Color.black);
                    }
                    g.drawRect(x, y, v.toString().length() * 8 + 10, 20);
                    if (vv.getPickedVertexState().isPicked(v)) {
                        g.setColor(Color.black);
                    } else {
                        g.setColor(Color.black);
                    }
                    this.k = v;

                    if (vv.getPickedVertexState().isPicked(v)) {
                        Font font = new Font("DejaVu Sans Mono", Font.BOLD, 14);
                        g.setFont(font);
                        g.drawString("" + v, x + 6, y + 15);
                    } else {
                        Font font = new Font("DejaVu Sans Mono", Font.PLAIN, 14);
                        g.setFont(font);
                        g.drawString("" + v, x + 6, y + 15);
                    }
                    this.k = v;

                }
            };
        }
    });

    // customize the renderer
    /*GradientVertexRenderer<Konzept,EdgeClass> vertex = new GradientVertexRenderer<Konzept,EdgeClass>(Color.white, Color.white, true);
    vv.getRenderer().setVertexRenderer(vertex);
    vv.getRenderer().setVertexLabelRenderer(vlasr); */

    vv.setBackground(Color.white);

    // add a listener for ToolTips
    KonzeptParser<Konzept> parser = new KonzeptParser<Konzept>();
    vv.setVertexToolTipTransformer(parser);

    /*final DefaultModalGraphMouse<Konzept,Edge> graphMouse = 
    new DefaultModalGraphMouse<Konzept,Edge>();
    */

    Factory<Konzept> vertexFactory = new VertexFactory();
    Factory<EdgeClass> edgeFactory = new EdgeFactory();

    graphMouse = new MyModalGraphMouse<Konzept, EdgeClass>(vv.getRenderContext(), vertexFactory, edgeFactory,
            main, vv);

    vv.setGraphMouse(graphMouse);
    vv.addKeyListener(graphMouse.getModeKeyListener());
    // the EditingGraphMouse will pass mouse event coordinates to the
    // vertexLocations function to set the locations of the vertices as
    // they are created
    //        graphMouse.setVertexLocations(vertexLocations);
    vv.setGraphMouse(graphMouse);
    vv.addKeyListener(graphMouse.getModeKeyListener());

    graphMouse.setMode(ModalGraphMouse.Mode.EDITING);

    GraphZoomScrollPane gzsp = new GraphZoomScrollPane(vv);

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

    final ScalingControl scaler = new CrossoverScalingControl();

    JButton plus = new JButton();
    plus.setIcon(new ImageIcon(getClass().getResource("/thesaurusEditor/img/zoom_in.png")));
    plus.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            scaler.scale(vv, 1.1f, vv.getCenter());
        }
    });
    JButton minus = new JButton();
    minus.setIcon(new ImageIcon(getClass().getResource("/thesaurusEditor/img/zoom_out.png")));
    minus.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            scaler.scale(vv, 1 / 1.1f, vv.getCenter());
        }
    });

    JPanel controls = new JPanel();
    JPanel zoomControls = new JPanel(new GridLayout(1, 2));
    //zoomControls.setBorder(BorderFactory.createTitledBorder("Zoom"));
    zoomControls.add(plus);
    zoomControls.add(minus);
    controls.add(zoomControls);
    //controls.add(modeBox);
    /*
    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(gzsp);
    gzsp.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGap(0, 374, Short.MAX_VALUE)
    );
    jPanel1Layout.setVerticalGroup(
    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGap(0, 106, Short.MAX_VALUE)
    );
            
            
    javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(controls);
    controls.setLayout(jPanel2Layout);
    jPanel2Layout.setHorizontalGroup(
    jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGap(0, 374, Short.MAX_VALUE)
    );
    jPanel2Layout.setVerticalGroup(
    jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    .addGap(0, 164, Short.MAX_VALUE)
    );*/

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
    this.setLayout(layout);
    layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup().addContainerGap()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(gzsp, javax.swing.GroupLayout.Alignment.TRAILING,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    Short.MAX_VALUE)
                            .addComponent(controls, javax.swing.GroupLayout.Alignment.TRAILING,
                                    javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
                                    Short.MAX_VALUE))
                    .addContainerGap()));
    layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(
            javax.swing.GroupLayout.Alignment.TRAILING,
            layout.createSequentialGroup().addContainerGap()
                    .addComponent(gzsp, javax.swing.GroupLayout.DEFAULT_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(controls, javax.swing.GroupLayout.PREFERRED_SIZE,
                            javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap()));

}

From source file:Transformer.NoeudShape.java

@Override
public Shape transform(Noeud i) {

    if (mNodeDataTable.get(i).getValue() == "leader") {
        setSizeTransformer(new Transformer<Noeud, Integer>() {
            public Integer transform(Noeud node) {
                return 40; //Set all nodes to size 50, which is the same as our icons.
            }// w  ww  .ja  va 2s . co  m
        });
        return factory.getRegularPolygon(i, 4);
    }
    setSizeTransformer(new Transformer<Noeud, Integer>() {
        public Integer transform(Noeud node) {
            return 20; //Set all nodes to size 50, which is the same as our icons.
        }
    });
    return factory.getEllipse(i);

}

From source file:ugr.cristian.serverVideoApp.AudioRouting.java

/**
*Function that is called when is necessary to build the transformer audio for Dijkstra
*///  w w  w  .  j  a  va2  s .  co  m

private void buildAudioTransformerMap(final Map<Edge, Double> audioEdgeCostMap2) {

    this.costAudioTransformer = new Transformer<Edge, Number>() {
        public Double transform(Edge e) {

            return audioEdgeCostMap2.get(e);
        }
    };

}