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:gui.images.ImageHubExplorer.java

/**
 * Initialize all the kNN graphs for visualization.
 *///from w ww . j a v  a2 s  . co m
private void graphsInit() {
    neighborGraphs = new DirectedGraph[50];
    graphVServers = new VisualizationViewer[50];
    edges = new ArrayList[50];
    // For all the relevant neighborhood sizes.
    for (int kTmp = 0; kTmp < 50; kTmp++) {
        // Create a new graph.
        DirectedGraph graph = new DirectedSparseMultigraph<>();
        neighborGraphs[kTmp] = graph;
        Layout<ImageNode, NeighborLink> layout = new CircleLayout(neighborGraphs[kTmp]);
        layout.setSize(new Dimension(500, 500));
        // Set the rendering specification.
        VisualizationViewer<ImageNode, NeighborLink> vv = new VisualizationViewer<>(layout);
        vv.setPreferredSize(new Dimension(550, 550));
        vv.setMinimumSize(new Dimension(550, 550));
        vv.setDoubleBuffered(true);
        vv.setEnabled(true);
        graphVServers[kTmp] = vv;
        vv.getRenderContext().setVertexIconTransformer(new IconTransformer<ImageNode, Icon>());
        vv.getRenderContext().setVertexShapeTransformer(new ShapeTransformer<ImageNode, Shape>());
        vv.getRenderContext().setEdgeArrowPredicate(new DirectionDisplayPredicate());
        vv.getRenderContext().setEdgeLabelTransformer(new Transformer() {
            @Override
            public String transform(Object e) {
                return (e.toString());
            }
        });
        PluggableGraphMouse gm = new PluggableGraphMouse();
        gm.add(new PickingGraphMousePlugin());
        vv.setGraphMouse(gm);
        vv.setBackground(Color.WHITE);
        vv.setVisible(true);
        final PickedState<ImageNode> pickedState = vv.getPickedVertexState();
        // Add the selection listeners.
        pickedState.addItemListener(new ItemListener() {
            @Override
            public void itemStateChanged(ItemEvent e) {
                Object subject = e.getItem();
                if (subject instanceof ImageNode) {
                    ImageNode vertex = (ImageNode) subject;
                    if (pickedState.isPicked(vertex)) {
                        setSelectedImageForIndex(vertex.id);
                    }
                }
            }
        });
    }
    verticesHash = new HashMap<>(500);
    verticesNodeIndexHash = new HashMap<>(500);
    vertexIndexes = new ArrayList<>(200);
    vertices = new ArrayList<>(200);
    edges = new ArrayList[50];
    for (int kTmp = 0; kTmp < 50; kTmp++) {
        edges[kTmp] = new ArrayList<>(500);
    }
    // Refresh the display.
    graphVServers[neighborhoodSize - 1].revalidate();
    graphVServers[neighborhoodSize - 1].repaint();
    neighborGraphScrollPane.setViewportView(graphVServers[neighborhoodSize - 1]);
    neighborGraphScrollPane.setVisible(true);
    neighborGraphScrollPane.revalidate();
    neighborGraphScrollPane.repaint();
}

From source file:gov.anl.cue.arcane.engine.matrix.MatrixModel.java

/**
 * Export image render graph.//from www.j a va 2 s . c om
 *
 * @param graph the graph
 * @return the j frame
 * @throws HeadlessException the headless exception
 */
public JFrame exportImageRenderGraph(Graph<String, String> graph) throws HeadlessException {

    // Define the layout routine.
    Layout<String, String> layout = new CircleLayout<String, String>(graph);
    layout.setSize(new Dimension(700, 700));

    // Create the visualization server.
    BasicVisualizationServer<String, String> visualizationServer = new BasicVisualizationServer<String, String>(
            layout);
    visualizationServer.setPreferredSize(layout.getSize());

    // Setup the vertex labeler.
    visualizationServer.getRenderContext().setVertexLabelTransformer(new ToStringLabeller<String>());

    // Setup the edge labeler.
    visualizationServer.getRenderContext().setEdgeLabelTransformer(new ToStringLabeller<String>());
    visualizationServer.getRenderContext().setEdgeLabelTransformer(new Transformer<String, String>() {
        public String transform(String string) {
            return StringUtils.substringBefore(string, "(");
        }
    });

    // Setup the rendering frame.
    JFrame frame = new JFrame("ARCANE Graph");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(visualizationServer);
    frame.pack();

    // Return the results.
    return frame;

}

From source file:com.diversityarrays.kdxplore.data.kdx.CurationData.java

public StatsData getStatsData(DeviceType deviceTypeForSamples) {

    StatsData result = new StatsData(numberOfStdDevForOutlier, trial);

    Transformer<TraitInstance, List<KdxSample>> sampleProvider = new Transformer<TraitInstance, List<KdxSample>>() {
        @Override/*from  w w  w  . ja  v  a 2s.  c o m*/
        public List<KdxSample> transform(TraitInstance ti) {
            return getSampleMeasurements(ti, deviceTypeForSamples);
        }
    };

    result.setTraitInstances(traitInstances, sampleProvider);

    return result;
}

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

public void writeGraphML() throws IOException {

    // Query user for filename
    JFileChooser chooser = new JFileChooser();
    chooser.setDialogTitle("Specify GraphML file to save");
    chooser.setCurrentDirectory(new File("."));
    FileNameExtensionFilter filter = new FileNameExtensionFilter("GraphML File", "graphml");
    chooser.setFileFilter(filter);/*  w w  w . j av  a2  s .com*/

    if (chooser.showSaveDialog(this) != JFileChooser.APPROVE_OPTION)
        return;

    File outfile = chooser.getSelectedFile();
    if (!outfile.getAbsolutePath().endsWith(".graphml")) {
        outfile = new File(outfile.getAbsolutePath() + ".graphml");
    }

    // construct graphml writer
    GraphMLWriter<Integer, MyEdge> graphWriter = new GraphMLWriter<Integer, MyEdge>();

    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(outfile)));

    graphWriter.addVertexData("x", null, "0", new Transformer<Integer, String>() {
        public String transform(Integer v) {
            return Double.toString(mLayout.getX(v));
        }
    });

    graphWriter.addVertexData("y", null, "0", new Transformer<Integer, String>() {
        public String transform(Integer v) {
            return Double.toString(mLayout.getY(v));
        }
    });

    graphWriter.addEdgeData("color", null, "0", new Transformer<MyEdge, String>() {
        public String transform(MyEdge e) {
            return Integer.toString(e.color);
        }
    });

    graphWriter.save(mGraph, out);
}

From source file:com.diversityarrays.kdxplore.curate.TrialDataEditor.java

private JSplitPane createStatsAndSamplesTable(JComponent top) {

    curationTableModel.addPropertyChangeListener(CurationTableModel.PROPERTY_TRAIT_INSTANCES,
            traitInstancesChanged);//from  www.  j av a2  s .  c om

    onlyUneditedCheckbox.addActionListener(filtersActionListener);

    hideInactivePlots.addActionListener(filtersActionListener);

    if (onlyRowsWithScoresCheckbox != null) {
        onlyRowsWithScoresCheckbox.addActionListener(filtersActionListener);
        onlyRowsWithScoresCheckbox.setEnabled(curationTableModel.hasAnyTraitInstanceColumns());
    }

    JComponent tagFilters = null;
    if (!curationData.getSortedTagLabels().isEmpty()) {
        tagFilters = tagLabelFiltersButton;
    }
    JComponent posFilters = null;
    if (curationData.hasAnySpecimens()) {
        updatePlotSpecimenIcon();
        posFilters = plotOrSpecimenFilterButton;
    }

    plotOrSpecimenFilterAction.putValue(Action.LARGE_ICON_KEY, inactivePlotOrSpecimenFilterIcon);
    plotOrSpecimenFilterAction.putValue(Action.SHORT_DESCRIPTION, "Filter on Plot/Specimen");

    tagLabelFiltersAction.putValue(Action.LARGE_ICON_KEY, inactiveTagFilterIcon);
    tagLabelFiltersAction.putValue(Action.SHORT_DESCRIPTION, "Filter on Tags");

    curationTablePanel = new TitledTablePanelWithResizeControls(SAMPLES_TABLE_NAME, curationTable, smallFont,
            hideInactivePlots, onlyUneditedCheckbox, onlyRowsWithScoresCheckbox, tagFilters, posFilters,
            new JButton(curationHelpAction));

    // curationTablePanel.scrollPane.setCorner(JScrollPane.UPPER_RIGHT_CORNER,
    // makeUndockButton());

    Transformer<TraitInstance, Color> traitInstanceColorProvider = new Transformer<TraitInstance, Color>() {
        @Override
        public Color transform(TraitInstance ti) {
            ColorPair cp = colorProviderFactory.get().getTraitInstanceColor(ti);
            return cp.getBackground();
        }
    };
    markerPanelManager = new MarkerPanelManager(curationData.getTrial(), curationTableModel, curationTable,
            curationTablePanel, traitInstanceColorProvider, curationTableSelectionModel);

    // fieldViewIcon = KDClientUtils.getIcon(ImageId.FIELD_VIEW_24);
    samplesTableIcon = KDClientUtils.getIcon(ImageId.TABLE_24);

    JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, top, curationTablePanel);
    splitPane.setResizeWeight(0.3);
    splitPane.setOneTouchExpandable(true);

    return splitPane;
}

From source file:ehospital.Principal.java

private void btn_emergencia_buscarrutaMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btn_emergencia_buscarrutaMouseClicked
    // TODO add your handling code here:
    txt_recorrido_de.setText("");
    txt_recorrido_a.setText("");
    ta_pizarra.setText("");
    boolean si = false;
    boolean si2 = false;
    boolean validacion_ambuyparam = false;
    boolean atender = false;
    String tipo = "";
    if (rb_emer_a.isSelected()) {
        tipo = "A";
    } else if (rb_emer_b.isSelected()) {
        tipo = "B";
    } else if (rb_emer_c.isSelected()) {
        tipo = "C";
    } else if (rb_emer_d.isSelected()) {
        tipo = "D";
    }//  ww  w .j a v a  2 s. c o m
    for (int i = 0; i < lista_lugares.size(); i++) {
        if (lista_lugares.get(i).getNombre().equals(cb_emergencia_de.getSelectedItem())) {
            System.out.println("entro primer if");
            if (lista_lugares.get(i).getTipo().contentEquals("Hospital")) {
                System.out.println("entro segundo if");
                JOptionPane.showMessageDialog(null, "EMERGENCIA DESDE HOSPITAL INVALIDO");
                si = false;
            } else {
                si = true;
            }
        }
    }
    for (int i = 0; i < lista_lugares.size(); i++) {
        if (lista_lugares.get(i).getNombre().equals(cb_emergencia_a.getSelectedItem())) {
            System.out.println("entro tercer if");
            if (lista_lugares.get(i).getTipo().contentEquals("Lugar")) {
                System.out.println("entro cuarto if");
                JOptionPane.showMessageDialog(null, "EMERGENCIA HACIA LUGAR INVALIDO");
                si2 = false;
            } else {
                si2 = true;
                if ((lista_lugares.get(i).getAmbulancias_asignados().size() >= 0)
                        && (lista_lugares.get(i).getParamedicos_asignados().size() >= 2)) {
                    System.out.println("entro quinto if");
                    validacion_ambuyparam = true;

                } else {
                    JOptionPane.showMessageDialog(null,
                            "NO HAY SUFICIENTE PARAMEDICOS O AMBULANCIAS PARA ASISTIR");
                    validacion_ambuyparam = false;
                }
            }
        }
    }

    if (si == true) {
        if (si2 == true) {
            if (validacion_ambuyparam == true) {

                Transformer<Relacion, Integer> wtTransformer = new Transformer<Relacion, Integer>() {
                    public Integer transform(Relacion union) {
                        return union.getLevel();
                    }
                };
                DijkstraShortestPath<Lugar, Relacion> alg = new DijkstraShortestPath(grafo1, wtTransformer);
                Lugar to = new Lugar();
                for (int i = 0; i < lista_lugares.size(); i++) {
                    if (cb_emergencia_a.getSelectedItem().toString().equals(lista_lugares.get(i).nombre)) {
                        to = lista_lugares.get(i);
                    }
                }
                List lista = alg.getPath(lista_lugares.get(cb_emergencia_de.getSelectedIndex()), to);
                Number distance = alg.getDistance(lista_lugares.get(cb_emergencia_a.getSelectedIndex()), to);
                txt_recorrido_de.setText(lista_lugares.get(cb_emergencia_de.getSelectedIndex()).toString());
                txt_recorrido_a.setText(to.toString());
                ta_pizarra.setText(lista.toString() + distance);
                for (int i = 0; i < lista_lugares.size(); i++) {
                    grafo.addVertex(lista_lugares.get(i));
                }
                for (int i = 0; i < lista_lugares.size(); i++) {
                    for (int j = 0; j < lista_lugares.get(i).vecinos.size(); j++) {
                        grafo.addEdge(lista_lugares.get(i).vecinos.get(j).getWeight(), lista_lugares.get(i),
                                lista_lugares.get(i).vecinos.get(j).getLugar(), EdgeType.DIRECTED);
                    }
                }
                for (int i = 0; i < lista_lugares.size(); i++) {
                    grafo1.addVertex(lista_lugares.get(i));
                }
                for (int i = 0; i < lista_lugares.size(); i++) {
                    for (int j = 0; j < lista_lugares.get(i).vecinos.size(); j++) {
                        grafo1.addEdge(lista_lugares.get(i).vecinos.get(j).getPeso(), lista_lugares.get(i),
                                lista_lugares.get(i).vecinos.get(j).getLugar(), EdgeType.DIRECTED);
                    }
                }
                this.rootPane = null;
                this.setLocationRelativeTo(this.rootPane);
                setExtendedState(java.awt.Frame.MAXIMIZED_BOTH);
                Layout<String, String> layout = new FRLayout(grafo);
                layout.setSize(new Dimension(this.getWidth(), this.getHeight()));
                BasicVisualizationServer<String, String> visualization = new BasicVisualizationServer<>(layout);
                visualization.setPreferredSize(new Dimension(this.getWidth(), this.getHeight()));
                visualization.getRenderContext().setVertexLabelTransformer(new ToStringLabeller());
                visualization.getRenderContext().setEdgeLabelTransformer(new ToStringLabeller());
                visualization.getRenderer().getVertexLabelRenderer()
                        .setPosition(Renderer.VertexLabel.Position.CNTR);
                JFrame frame = new JFrame("Lugares de HEU");
                frame.getContentPane().add(visualization).setBackground(Color.GRAY);
                frame.pack();
                frame.setVisible(true);
                jd_dijsktra.setModal(true);
                jd_dijsktra.pack();
                jd_dijsktra.setVisible(true);

            }
        }
    }

}

From source file:nl.ru.ai.projects.parrot.biomav.editor.BehaviorEditor.java

public BehaviorEditor() {
    ///////// Graph stuff
    graphViewer.addKeyListener(new KeyListener() {
        @Override/*  w  ww  . j  av a  2s .c  o m*/
        public void keyTyped(KeyEvent e) {
        }

        @Override
        public void keyReleased(KeyEvent e) {
        }

        @Override
        public void keyPressed(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_DELETE) {
                for (TransitionEdge edge : graphViewer.getPickedEdgeState().getPicked()) {
                    graph.removeEdge(edge);
                }
                for (BehaviorVertex vertex : graphViewer.getPickedVertexState().getPicked()) {
                    graph.removeVertex(vertex);
                }
                e.consume();
                repaint();
            }
        }
    });

    graphViewer.setBackground(Color.GRAY);

    graphViewer.setGraphMouse(graphMouse);
    graphMouse.add(graphMouseEditPlugin);
    graphMouse.add(graphMouseTranslatePlugin);
    graphMouse.add(graphMousePickPlugin);

    // Set label renderer
    VertexLabelAsShapeRenderer<BehaviorVertex, TransitionEdge> renderer = new VertexLabelAsShapeRenderer<BehaviorVertex, TransitionEdge>(
            graphViewer.getRenderContext());
    graphViewer.getRenderContext().setVertexShapeTransformer(renderer);
    graphViewer.getRenderer().setVertexLabelRenderer(renderer);

    // Set label contents
    graphViewer.getRenderContext().setVertexLabelTransformer(new Transformer<BehaviorVertex, String>() {
        @Override
        public String transform(BehaviorVertex v) {
            return v.getSelectedBehavior();
        }
    });
    graphViewer.getRenderContext().setEdgeLabelTransformer(new Transformer<TransitionEdge, String>() {
        @Override
        public String transform(TransitionEdge e) {
            return e.getTransition();
        }
    });

    // Set fonts
    graphViewer.getRenderContext().setVertexFontTransformer(new Transformer<BehaviorVertex, Font>() {
        @Override
        public Font transform(BehaviorVertex v) {
            return new Font(graphViewer.getFont().getName(), graphViewer.getFont().getStyle(), 20);
        }
    });
    graphViewer.getRenderContext().setEdgeFontTransformer(new Transformer<TransitionEdge, Font>() {
        @Override
        public Font transform(TransitionEdge arg0) {
            return new Font(graphViewer.getFont().getName(), graphViewer.getFont().getStyle(), 16);
        }
    });

    // Fill color dependent on vertex activity
    graphViewer.getRenderContext().setVertexFillPaintTransformer(new Transformer<BehaviorVertex, Paint>() {
        @Override
        public Paint transform(BehaviorVertex vertex) {
            return vertex.isActive() ? Color.ORANGE : Color.RED;
        }
    });

    graphViewer.getPickedVertexState().addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            BehaviorVertex vertex = (BehaviorVertex) e.getItem();
            if (e.getStateChange() == ItemEvent.SELECTED) {
                setNewSelectedParameterControlInterface(vertex);
            }
            if (e.getStateChange() == ItemEvent.DESELECTED) {
                if (vertex == selectedPCInterface) {
                    setNewSelectedParameterControlInterface(null);
                }
            }
        }
    });
    graphViewer.getPickedEdgeState().addItemListener(new ItemListener() {
        @Override
        public void itemStateChanged(ItemEvent e) {
            TransitionEdge edge = (TransitionEdge) e.getItem();
            if (e.getStateChange() == ItemEvent.SELECTED) {
                setNewSelectedParameterControlInterface(edge);
            }
            if (e.getStateChange() == ItemEvent.DESELECTED) {
                if (edge == selectedPCInterface) {
                    setNewSelectedParameterControlInterface(null);
                }
            }
        }
    });

    this.addComponentListener(new ComponentListener() {
        @Override
        public void componentShown(ComponentEvent e) {
        }

        @Override
        public void componentResized(ComponentEvent e) {
            graphViewer.getGraphLayout().setSize(graphViewer.getSize());
        }

        @Override
        public void componentMoved(ComponentEvent e) {
        }

        @Override
        public void componentHidden(ComponentEvent e) {
        }
    });

    ///////////// Side panel (parameter control)
    pcInterfacePanel.setPreferredSize(new Dimension(200, 0));
    pcInterfacePanel.setLayout(new BorderLayout());

    pcInterfacePanelContents.setLayout(new GridLayout(0, 2, 0, 5));
    pcInterfacePanel.add(pcInterfacePanelContents, BorderLayout.NORTH);

    ///////////// [this]

    setLayout(new BorderLayout(10, 10));

    add(graphViewer, BorderLayout.CENTER);
    add(pcInterfacePanel, BorderLayout.EAST);
}

From source file:nz.ac.massey.cs.gql4jung.browser.queryviews.GraphBasedQueryView.java

private void configureRenderer(
        RenderContext<nz.ac.massey.cs.gql4jung.browser.queryviews.GraphBasedQueryView.VisualVertex, nz.ac.massey.cs.gql4jung.browser.queryviews.GraphBasedQueryView.VisualEdge> context) {
    context.setVertexLabelTransformer(new Transformer<VisualVertex, String>() {
        @Override//from  www. j  a v a2  s  .  c om
        public String transform(VisualVertex v) {
            if (v instanceof TypeVertex) {
                TypeVertex tv = (TypeVertex) v;
                return tv.role;
            } else if (v instanceof ConstraintVertex) {
                ConstraintVertex cv = (ConstraintVertex) v;
                return cv.constraint;
            } else if (v instanceof GroupByVertex) {
                GroupByVertex cv = (GroupByVertex) v;
                return "group by " + cv.def;
            } else
                return "";
        }
    });
    context.setEdgeLabelTransformer(new Transformer<VisualEdge, String>() {
        @Override
        public String transform(VisualEdge e) {
            if (e instanceof DepEdge) {
                DepEdge de = (DepEdge) e;
                StringBuffer b = new StringBuffer();
                if (de.minLength == de.maxLength) {
                    b.append(de.maxLength);
                } else {
                    b.append(de.minLength).append("-").append(de.maxLength == -1 ? "many" : de.maxLength);
                }
                return b.toString();
            } else
                return null;
        }
    });

    context.setEdgeStrokeTransformer(new Transformer<VisualEdge, Stroke>() {
        @Override
        public Stroke transform(nz.ac.massey.cs.gql4jung.browser.queryviews.GraphBasedQueryView.VisualEdge e) {
            if (e instanceof DepEdge) {
                DepEdge de = (DepEdge) e;
                return de.maxLength == 1 ? EDGE_STROKE : PATH_STROKE;
            } else if (e instanceof ConstraintEdge) {
                return CONSTRAINT_STROKE;
            } else if (e instanceof GroupByEdge) {
                return CONSTRAINT_STROKE;
            } else
                return EDGE_STROKE;
        }
    });
    context.setVertexStrokeTransformer(new Transformer<VisualVertex, Stroke>() {
        @Override
        public Stroke transform(
                nz.ac.massey.cs.gql4jung.browser.queryviews.GraphBasedQueryView.VisualVertex v) {
            return v instanceof TypeVertex ? TYPE_VERTEX_STROKE : CONSTRAINT_VERTEX_STROKE;
        }
    });
    context.setVertexShapeTransformer(new Transformer<VisualVertex, Shape>() {
        @Override
        public Shape transform(VisualVertex v) {
            Font f = v instanceof TypeVertex ? settings.getRoleFont() : settings.getConstraintFont();
            FontMetrics FM = GraphBasedQueryView.this.getGraphics().getFontMetrics(f);
            int W = Math.max(settings.getMinBoxWidth(), FM.stringWidth(getLongLabel(v)) + 10);
            int H = v instanceof TypeVertex ? 30 : 22;
            if (v instanceof TypeVertex)
                return new RoundRectangle2D.Float(-W / 2, -H / 2, W, H, 5, 5);
            else
                return new Ellipse2D.Float(-W / 2, -H / 2, W, H);
        }

    });
    context.setVertexFillPaintTransformer(new Transformer<VisualVertex, Paint>() {
        @Override
        public Paint transform(VisualVertex v) {
            if (v instanceof TypeVertex)
                return makeTransparent(settings.getRoleFillColor());
            else if (v instanceof ConstraintVertex)
                return makeTransparent(settings.getConstraintFillColor());
            else if (v instanceof GroupByVertex)
                return makeTransparent(settings.getGroupByFillColor());
            return Color.WHITE;
        }
    });
    context.setVertexDrawPaintTransformer(new Transformer<VisualVertex, Paint>() {
        @Override
        public Paint transform(VisualVertex v) {
            if (v instanceof TypeVertex)
                return settings.getRoleFrameColor();
            else if (v instanceof ConstraintVertex)
                return settings.getConstraintFrameColor();
            else if (v instanceof GroupByVertex)
                return settings.getGroupByFrameColor();
            else
                return Color.BLACK;
        }
    });
    context.setEdgeDrawPaintTransformer(new Transformer<VisualEdge, Paint>() {
        @Override
        public Paint transform(VisualEdge v) {
            if (v instanceof DepEdge)
                return settings.getRoleFrameColor();
            else if (v instanceof ConstraintEdge)
                return settings.getConstraintFrameColor();
            else if (v instanceof GroupByEdge)
                return settings.getGroupByFrameColor();
            else
                return Color.BLACK;
        }
    });
    context.setVertexFontTransformer(new Transformer<VisualVertex, Font>() {
        @Override
        public Font transform(VisualVertex v) {
            return v instanceof TypeVertex ? settings.getRoleFont() : settings.getConstraintFont();
        }
    });
    context.setEdgeFontTransformer(new Transformer<VisualEdge, Font>() {
        @Override
        public Font transform(VisualEdge e) {
            return settings.getEdgeFont();
        }
    });
    context.setArrowDrawPaintTransformer(new Transformer<VisualEdge, Paint>() {
        @Override
        public Paint transform(VisualEdge v) {
            return v instanceof DepEdge ? settings.getRoleFrameColor()
                    : makeTransparent(settings.getBackground(), 255);
        }
    });
    context.setArrowFillPaintTransformer(new Transformer<VisualEdge, Paint>() {
        @Override
        public Paint transform(VisualEdge v) {
            return v instanceof DepEdge ? settings.getRoleFrameColor()
                    : makeTransparent(settings.getBackground(), 255);
        }
    });
}

From source file:nz.ac.massey.cs.gql4jung.browser.ResultBrowser.java

private void configureRenderer(RenderContext context, final MotifInstance instance) {
    final Map<Vertex, String> revMap = new HashMap<Vertex, String>();
    if (instance != null) {
        for (String role : instance.getMotif().getRoles()) {
            revMap.put(instance.getVertex(role), role);
        }//w ww . j  a v a2 s.com
    }
    context.setVertexLabelTransformer(new Transformer<Vertex, String>() {
        @Override
        public String transform(Vertex v) {
            String role = revMap.get(v);
            StringBuffer b = new StringBuffer().append("<html>");
            if (role != null) {
                b.append("&lt;&lt;").append(role == null ? "?" : role).append("&gt;&gt").append("<br/>");
            }
            b.append(v.getNamespace()).append('.').append(v.getName()).append("</html>");
            return b.toString();
        }
    });
    context.setEdgeLabelTransformer(new Transformer<Edge, String>() {
        @Override
        public String transform(Edge e) {
            return "<<" + e.getType() + ">>";
        }
    });
    context.setVertexFillPaintTransformer(new Transformer<Vertex, Paint>() {
        @Override
        public Paint transform(Vertex v) {
            String t = v.getType();
            if ("class".equals(t) && !v.isAbstract())
                return Color.GREEN;
            else if ("class".equals(t) && v.isAbstract())
                return Color.BLUE;
            else if ("interface".equals(t))
                return new Color(255, 0, 255); // purble
            else
                return Color.WHITE;
        }
    });
    final Stroke strokeUses = new BasicStroke(1);
    final Stroke strokeInherits = new BasicStroke(2);
    context.setEdgeStrokeTransformer(new Transformer<Edge, Stroke>() {
        public Stroke transform(Edge e) {
            if ("uses".equals(e.getType()))
                return strokeUses;
            else
                return strokeInherits;
        }
    });
    context.setVertexIconTransformer(new Transformer<Vertex, Icon>() {
        @Override
        public Icon transform(Vertex v) {
            boolean hasRole = revMap.containsKey(v);
            if (v.isAbstract()) {
                return hasRole ? GraphRenderer.ICON_INTERFACE_C : GraphRenderer.ICON_INTERFACE_BW;
            } else {
                return hasRole ? GraphRenderer.ICON_CLASS_C : GraphRenderer.ICON_CLASS_BW;
            }
        }
    });
    context.setVertexFontTransformer(new Transformer<Vertex, Font>() {
        @Override
        public Font transform(Vertex v) {
            boolean hasRole = revMap.containsKey(v);
            return hasRole ? GraphRenderer.CORE : GraphRenderer.NON_CORE;
        }
    });
    context.setEdgeFontTransformer(new Transformer<Edge, Font>() {
        @Override
        public Font transform(Edge e) {
            return GraphRenderer.CORE;
        }
    });

}

From source file:nz.ac.massey.cs.gql4jung.browser.resultviews.GraphBasedResultView.java

@Override
public void display(final MotifInstance instance, DirectedGraph<Vertex, Edge> graph) {
    DirectedGraph<VisualVertex, VisualEdge> g = instance == null
            ? new DirectedSparseGraph<VisualVertex, VisualEdge>()
            : this.asGraph(instance);
    //SimpleGraphView sgv = new SimpleGraphView(); //We create our graph in here
    // The Layout<V, E> is parameterized by the vertex and edge types
    Layout<VisualVertex, VisualEdge> layout = settings.getLayout(g);
    layout.setSize(graphPane.getSize());
    VisualizationViewer<VisualVertex, VisualEdge> vv = new VisualizationViewer<VisualVertex, VisualEdge>(
            layout);/*from   www.j av a  2 s .com*/

    if (!settings.isUseAntiAliasing()) {
        Map hints = new HashMap();
        hints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
        vv.setRenderingHints(hints);
    }

    configureRenderer(vv.getRenderContext(), instance);
    vv.getRenderer().getVertexLabelRenderer().setPosition(Position.CNTR);
    vv.setPreferredSize(graphPane.getSize()); //Sets the viewing area size
    vv.setBackground(settings.getBackground());

    graphPane.removeAll();
    graphPane.add(vv);
    graphPane.revalidate();

    // pick the vertices that are part of the pattern - this brings them into the foreground

    /*
    for (VisualVertex v:g.getVertices()){
       if (v.isInMotif()) {
    vv.getPickedVertexState().pick(v,true);
       }
    }
    */

    //vv.addMouseListener(popupListener);
    // Create a graph mouse and add it to the visualization component
    DefaultModalGraphMouse gm = new DefaultModalGraphMouse();
    gm.setMode(edu.uci.ics.jung.visualization.control.ModalGraphMouse.Mode.PICKING);
    vv.setGraphMouse(gm);
    vv.setVertexToolTipTransformer(new Transformer<VisualVertex, String>() {
        @Override
        public String transform(VisualVertex v) {
            return getToolTip(v);
        }
    });
}