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:net.java.treaty.viz.ContractView.java

private void configureRenderer(RenderContext context) {
    context.setVertexLabelTransformer(new Transformer<Object, String>() {
        @Override/*w w  w  .jav a 2s .c  o  m*/
        public String transform(Object v) {
            if (v instanceof CompositionNode) {
                CompositionNode c = (CompositionNode) v;
                return asHTMLLabel(c.type.toString(), 3);
            } else if (v instanceof EndNode) {
                EndNode en = (EndNode) v;
                return asHTMLLabel(en.type.toString(), 4);
            } else if (v instanceof ResourceNode) {
                ResourceNode en = (ResourceNode) v;
                if (en.isVirtual())
                    return "<virtual node>";
                Resource r = en.resource;
                return asHTMLLabel(r.getId(), 2);
            } else if (v instanceof RelationshipConditionNode) {
                RelationshipConditionNode en = (RelationshipConditionNode) v;
                String uri = en.condition.getRelationship().toString();
                String l = null;
                if (showConditionURINS) {
                    l = uri;
                } else {
                    int pos = uri.indexOf("#");
                    l = pos > -1 ? uri.substring(pos + 1) : uri;
                }
                return asHTMLLabel(l, 4);
            } else if (v instanceof ExistsConditionNode) {
                return asHTMLLabel("must exist", 4);
            } else if (v instanceof PropertyConditionNode) {
                PropertyConditionNode p = (PropertyConditionNode) v;
                String uri = p.condition.getOperator().toString();
                String l = null;
                if (showConditionURINS) {
                    l = uri;
                } else {
                    int pos = uri.indexOf("#");
                    l = pos > -1 ? uri.substring(pos + 1) : uri;
                }
                return asHTMLLabel(l + " " + p.condition.getValue(), 4);
            } else
                return v.getClass().getName();

        }

        private String asHTMLLabel(String s, int l) {
            StringBuffer b = new StringBuffer();
            b.append("<html>");
            for (int i = 0; i < l; i++) {
                b.append("<br/>");
            }
            b.append(s);
            b.append("</html>");
            return b.toString();
        }

        private String asHTMLLabel(String s) {
            return asHTMLLabel(s, 1);
        }
    });
    context.setVertexIconTransformer(new Transformer<Object, Icon>() {

        @Override
        public Icon transform(Object v) {
            if (v instanceof CompositionNode) {
                CompositionNode n = (CompositionNode) v;
                return getIcon(n.type);
            } else if (v instanceof EndNode) {
                EndNode en = (EndNode) v;
                return getIcon(en.connector, en.type);
            } else if (v instanceof ResourceNode) {
                ResourceNode en = (ResourceNode) v;
                if (en.isVirtual())
                    return null;
                return getIcon(en.resource);
            } else if (v instanceof RelationshipConditionNode) {
                return getIcon(((RelationshipConditionNode) v).condition);
            } else if (v instanceof PropertyConditionNode) {
                return getIcon(((PropertyConditionNode) v).condition);
            } else if (v instanceof ExistsConditionNode) {
                return getIcon(((ExistsConditionNode) v).condition);
            }
            return null;
        }
    });

    context.setEdgeIncludePredicate(new Predicate<Context<Object, Edge>>() {
        @Override
        public boolean evaluate(Context<Object, Edge> edge) {
            return !isVirtualEdge(edge.element);
        }
    });
    context.setVertexIncludePredicate(new Predicate<Context>() {

        @Override
        public boolean evaluate(Context vertex) {
            Object element = vertex.element;
            if (element instanceof Node) {
                return !isVirtualNode((Node) element);
            }
            return true;
        }

    });

    context.setEdgeArrowPredicate(new Predicate() {
        @Override
        public boolean evaluate(Object o) {
            return false;
        }
    });

    context.setEdgeDrawPaintTransformer(new Transformer<Edge, Paint>() {
        @Override
        public Paint transform(Edge e) {
            return getEdgePaint(graph.getSource(e), graph.getDest(e));
        }
    });

    context.setEdgeStrokeTransformer(new Transformer<Edge, Stroke>() {
        @Override
        public Stroke transform(Edge e) {
            return getEdgeStroke(graph.getSource(e), graph.getDest(e));
        }
    });

    // context.setEdgeShapeTransformer(new EdgeShape.Wedge<Object,Edge>(1));
    context.setEdgeShapeTransformer(new EdgeShape.Line<Object, Edge>());
}

From source file:com.imag.nespros.gui.plugin.GraphEditor.java

public static void showEPGraph(DirectedSparseGraph<EPUnit, EventChannel> graph) {
    //System.out.println(EPGraph.getInstance().getGraph());
    Layout<EPUnit, EventChannel> layout = new DAGLayout<>(graph);
    //Layout<EPUnit, EventChannel> layout = new SpringLayout2<>(EPGraph.getInstance().getGraph());
    layout.setSize(new Dimension(800, 600)); // sets the initial size of the space
    // The BasicVisualizationServer<V,E> is parameterized by the edge types
    VisualizationViewer<EPUnit, EventChannel> vv = new VisualizationViewer<>(layout);
    vv.setPreferredSize(new Dimension(850, 650)); //Sets the viewing area size
    vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller() {
        @Override/* w w w . j  a va 2  s.  com*/
        public String transform(Object v) {

            return ((EPUnit) v).getInfo();
        }
    });
    vv.getRenderContext().setEdgeLabelTransformer(new ToStringLabeller() {
        @Override
        public String transform(Object v) {

            return ((EventChannel) v).getTopic();
        }
    });
    vv.getRenderContext().setVertexFillPaintTransformer(new Transformer<EPUnit, Paint>() {
        @Override
        public Paint transform(EPUnit i) {
            if (i.isMapped()) {
                return Color.GREEN;
            } else {
                return Color.RED;
            }
        }
    });

    DefaultModalGraphMouse graphMouse = new DefaultModalGraphMouse();
    vv.setGraphMouse(graphMouse);
    graphMouse.setMode(ModalGraphMouse.Mode.PICKING);
    JFrame frame = new JFrame("Event Composition Graph");
    frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    frame.getContentPane().add(vv);
    frame.pack();
    frame.setVisible(true);
}

From source file:com.rapidminer.gui.graphs.GraphViewer.java

public void setPaintEdgeLabels(boolean showEdgeLabels) {
    this.showEdgeLabels = showEdgeLabels;
    if (this.showEdgeLabels) {
        vv.getRenderContext().setEdgeLabelTransformer(new Transformer<E, String>() {

            @Override//from ww w  .  j  a v  a  2 s  .c  om
            public String transform(E object) {
                return graphCreator.getEdgeName(object);
            }
        });
    } else {
        vv.getRenderContext().setEdgeLabelTransformer(new Transformer<E, String>() {

            @Override
            public String transform(E object) {
                return null;
            }
        });
    }
    vv.repaint();
}

From source file:com.rapidminer.gui.graphs.GraphViewer.java

public void setPaintVertexLabels(boolean showVertexLabels) {
    this.showVertexLabels = showVertexLabels;
    if (this.showVertexLabels) {
        Renderer.Vertex<V, E> vertexRenderer = graphCreator.getVertexRenderer();
        if (vertexRenderer != null) {
            vv.getRenderer().setVertexRenderer(vertexRenderer);
        }/*from  ww w . j  av a 2 s .  c  o  m*/
        vv.getRenderContext().setVertexShapeTransformer(new ExtendedVertexShapeTransformer<>(graphCreator));
        vv.getRenderContext().setVertexLabelTransformer(new Transformer<V, String>() {

            @Override
            public String transform(V object) {
                return graphCreator.getVertexName(object);
            }
        });
    } else {
        vv.getRenderer().setVertexRenderer(new BasicVertexRenderer<V, E>());
        vv.getRenderContext().setVertexShapeTransformer(new BasicVertexShapeTransformer<V>());
        vv.getRenderContext().setVertexLabelTransformer(new Transformer<V, String>() {

            @Override
            public String transform(V object) {
                return null;
            }
        });
    }
    vv.repaint();
}

From source file:gui.images.ImageHubExplorer.java

/**
 * Add an array of images to the kNN graph visualizations.
 *
 * @param indexes int[] of image indexes to insert.
 *//*ww  w .ja va  2s . com*/
private void addSelectedImagesToGraph(int[] indexes) {
    if (neighborStatsCalculated && neighborGraphs != null) {
        for (int index : indexes) {
            if (verticesHash.containsKey(index)) {
                // If the image is already contained in the graphs, skip it.
                continue;
            }
            // Create a new node to insert.
            ImageNode newVertex = new ImageNode(index, new ImageIcon(imgThumbPaths.get(index)),
                    imgThumbPaths.get(index));
            // Add the node to the vertex set.
            vertexIndexes.add(index);
            vertices.add(newVertex);
            for (int kTmp = 0; kTmp < 50; kTmp++) {
                neighborGraphs[kTmp].addVertex(newVertex);
                verticesHash.put(index, newVertex);
                verticesNodeIndexHash.put(index, vertices.size() - 1);
                graphVServers[kTmp].revalidate();
                graphVServers[kTmp].repaint();
                neighborGraphScrollPane.revalidate();
                neighborGraphScrollPane.repaint();
            }
        }
        // This might be improved. All edges are removed from the graphs
        // and then inserted anew.
        for (int kTmp = 0; kTmp < 50; kTmp++) {
            for (int i = 0; i < edges[kTmp].size(); i++) {
                neighborGraphs[kTmp].removeEdge(edges[kTmp].get(i));
            }
            edges[kTmp] = new ArrayList<>(100);
            graphVServers[kTmp].revalidate();
            graphVServers[kTmp].repaint();
            neighborGraphScrollPane.revalidate();
            neighborGraphScrollPane.repaint();
        }
        NeighborSetFinder nsf = getNSF();
        int[][] kneighbors = nsf.getKNeighbors();
        float[][] kdistances = nsf.getKDistances();
        // For all the neighborhood sizes in the range.
        for (int kTmp = 0; kTmp < 50; kTmp++) {
            for (int i = 0; i < vertices.size(); i++) {
                // For all the neighbors.
                for (int kN = 0; kN < kTmp + 1; kN++) {
                    if (verticesHash.containsKey(kneighbors[vertexIndexes.get(i)][kN])) {
                        NeighborLink newEdge = new NeighborLink(kdistances[vertexIndexes.get(i)][kN],
                                vertices.get(i), verticesHash.get(kneighbors[vertexIndexes.get(i)][kN]));
                        neighborGraphs[kTmp].addEdge(newEdge, vertices.get(i),
                                verticesHash.get(kneighbors[vertexIndexes.get(i)][kN]), EdgeType.DIRECTED);
                        edges[kTmp].add(newEdge);
                    }
                }
            }
            graphVServers[kTmp].revalidate();
            graphVServers[kTmp].repaint();
        }
        // Determine how to display the nodes.
        Layout<ImageNode, NeighborLink> layout = new CircleLayout(neighborGraphs[neighborhoodSize - 1]);
        layout.setSize(new Dimension(500, 500));
        layout.initialize();
        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[neighborhoodSize - 1] = 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();
        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);
                    } else {
                    }
                }
            }
        });
        vv.validate();
        vv.repaint();
        neighborGraphScrollPane.setViewportView(vv);
        neighborGraphScrollPane.revalidate();
        neighborGraphScrollPane.repaint();
    }
}

From source file:com.imag.nespros.gui.plugin.GraphEditor.java

private void save(File file) throws IOException {
    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(file)));
    GraphMLWriter<Device, ComLink> graphWriter = new GraphMLWriter<Device, ComLink>();
    graphWriter.addVertexData("x", null, "0", new Transformer<Device, String>() {
        public String transform(Device v) {
            //return Double.toString(layout.getX(v));
            return Double.toString(vv.getModel().getGraphLayout().transform(v).getX());
        }// www . j  a va 2 s . co m
    });
    graphWriter.addVertexData("y", null, "0", new Transformer<Device, String>() {
        public String transform(Device v) {
            //return Double.toString(layout.getY(v));
            return Double.toString(vv.getModel().getGraphLayout().transform(v).getY());
        }
    });

    graphWriter.addVertexData("deviceName", null, "device", new Transformer<Device, String>() {
        public String transform(Device v) {
            return v.getDeviceName();
        }
    });
    graphWriter.addVertexData("cpuSpeed", null, "1", new Transformer<Device, String>() {
        public String transform(Device v) {
            return Double.toString(v.getCpuSpeed());
        }
    });
    graphWriter.addVertexData("totalMemory", null, "1", new Transformer<Device, String>() {
        public String transform(Device v) {
            return Integer.toString(v.getTotalMemory());
        }
    });
    graphWriter.addVertexData("deviceType", null, DeviceType.AMI.toString(), new Transformer<Device, String>() {
        public String transform(Device v) {
            return v.getDeviceType().toString();
        }
    });
    graphWriter.addEdgeData("latency", null, "1000", new Transformer<ComLink, String>() {
        public String transform(ComLink e) {
            return Integer.toString(e.getLatency());
        }
    });
    graphWriter.addEdgeData("ID", null, "link", new Transformer<ComLink, String>() {
        public String transform(ComLink e) {
            return e.getID();
        }
    });
    graphWriter.addEdgeData("down", null, "false", new Transformer<ComLink, String>() {
        public String transform(ComLink e) {
            return e.isDown() + "";
        }
    });
    graphWriter.save(graph, out);

}

From source file:com.diversityarrays.kdxplore.trials.TrialExplorerPanel.java

private void askForTrialsThenDownload(DALClient client) {

    try {/*from  w  w w.  j  a va2 s  . c o  m*/

        Transformer<BackgroundRunner, TrialSearchOptionsPanel> searchOptionsPanelFactory = new Transformer<BackgroundRunner, TrialSearchOptionsPanel>() {
            @Override
            public TrialSearchOptionsPanel transform(BackgroundRunner br) {
                return TrialSelectionSearchOptionsPanel.create(br);
            }
        };

        final TrialSelectionDialog trialSelectionDialog = new TrialSelectionDialog(
                GuiUtil.getOwnerWindow(TrialExplorerPanel.this), "Choose Trials to Download", client,
                offlineData.getTrials(), searchOptionsPanelFactory);

        trialSelectionDialog.setVisible(true);

        if (trialSelectionDialog.trialRecords != null) {
            Closure<TrialLoaderResult> onTrialsAdded = new Closure<TrialLoaderResult>() {
                @Override
                public void execute(TrialLoaderResult trialLoaderResult) {
                    handleTrialDataLoaded(trialLoaderResult);
                }
            };

            boolean wantSpecimens = getSpecimensRequired();

            Exception error = null;
            Optional<Optional<GeneralType>> opt_opt_mmt = Optional.empty();
            try {
                opt_opt_mmt = MediaSampleRetriever.getCuratedSamplesMultimediaType(TrialExplorerPanel.this,
                        offlineData.getKddartReferenceData());
            } catch (MultimediaSourceMissingException e) {
                error = e;
            }

            if (!opt_opt_mmt.isPresent()) {
                MediaSampleRetriever.showMissingMultimedia(TrialExplorerPanel.this, error, "Can't upload");
                return;
            }

            MultiTrialLoader multiTrialLoader = new MultiTrialLoader(TrialExplorerPanel.this,
                    "Saving Trials for Offline access", true, client, dartSchemaHelper, wantSpecimens,
                    pluginInfo.getBackgroundRunner(), pluginInfo.getBackgroundRunner(),
                    pluginInfo.getMessageLogger(), offlineData.getKdxploreDatabase(), opt_opt_mmt.get(),
                    DEFAULT_DOWNLOAD_TRAIT_NAME_STYLE, trialSelectionDialog.trialRecords, onTrialsAdded);

            backgroundRunner.runBackgroundTask(multiTrialLoader);
        }
    } catch (IOException e) {
        MsgBox.error(TrialExplorerPanel.this, e.getMessage(), "Problem Getting Trials");
    }
}

From source file:com.imag.nespros.gui.plugin.GraphEditor.java

private void load(File file) throws FileNotFoundException {
    DeviceFactory.resetCounters();/*from   w  w  w .j a v  a  2  s.  com*/
    ComLinkFactory.resetCounter();
    BufferedReader fileReader = new BufferedReader(new FileReader(file));
    Transformer<GraphMetadata, Graph<Device, ComLink>> graphTransformer = new Transformer<GraphMetadata, Graph<Device, ComLink>>() {
        @Override
        public Graph<Device, ComLink> transform(GraphMetadata metadata) {
            return new CustomUndirectedGraph<Device, ComLink>();
        }
    };
    Transformer<NodeMetadata, Device> vertexTransformer = new Transformer<NodeMetadata, Device>() {
        public Device transform(NodeMetadata metadata) {
            Device v;
            String deviceName = metadata.getProperty("deviceName");
            double cpuSpeeed = Double.parseDouble(metadata.getProperty("cpuSpeed"));
            int totalMemory = Integer.parseInt(metadata.getProperty("totalMemory"));
            if (metadata.getProperty("deviceType").equals("Smart Meter")) {
                v = new AMIDevice(deviceName, cpuSpeeed, totalMemory);
                DeviceFactory.setAmiCount(DeviceFactory.getAmiCount() + 1);
            } else if (metadata.getProperty("deviceType").equals("SACOMUT")) {
                v = new SacomutDevice(deviceName, cpuSpeeed, totalMemory);
                DeviceFactory.setSacomutCount(DeviceFactory.getSacomutCount() + 1);
            } else if (metadata.getProperty("deviceType").equals("HTA Coordinator")) {
                v = new HTACoordDevice(deviceName, cpuSpeeed, totalMemory);
                DeviceFactory.setHtaCount(DeviceFactory.getHtaCount() + 1);
            } else if (metadata.getProperty("deviceType").equals("Utility")) {
                v = new UtilityDevice(deviceName, cpuSpeeed, totalMemory);
                DeviceFactory.setUtilityCount(DeviceFactory.getUtilityCount() + 1);
            } else if (metadata.getProperty("deviceType").equals("POSTE ASSERVI")) {
                v = new PADevice(deviceName, cpuSpeeed, totalMemory);
                DeviceFactory.setPaCount(DeviceFactory.getPaCount() + 1);
            } else {
                v = new DCDevice(deviceName, cpuSpeeed, totalMemory);
                DeviceFactory.setDcCount(DeviceFactory.getDcCount() + 1);
            }

            v.setX(Double.parseDouble(metadata.getProperty("x")));
            v.setY(Double.parseDouble(metadata.getProperty("y")));
            Random r = new Random();
            int red = r.nextInt(255);
            int green = r.nextInt(255);
            int blue = r.nextInt(255);
            v.setPacketColor(new Color(red, green, blue));
            return v;
        }
    };
    Transformer<EdgeMetadata, ComLink> edgeTransformer = new Transformer<EdgeMetadata, ComLink>() {
        public ComLink transform(EdgeMetadata metadata) {
            int latency = Integer.parseInt(metadata.getProperty("latency"));
            String ID = metadata.getProperty("ID");
            boolean ok = Boolean.getBoolean(metadata.getProperty("down"));
            ComLink e = new ComLink(ID);
            e.setLatency(latency);
            e.setDefinedlatency(latency);
            e.setDown(ok);
            ComLinkFactory.updateLinkCount();
            return e;
        }
    };
    Transformer<HyperEdgeMetadata, ComLink> hyperEdgeTransformer = new Transformer<HyperEdgeMetadata, ComLink>() {
        public ComLink transform(HyperEdgeMetadata metadata) {
            ComLink e = ComLinkFactory.getInstance().create();
            return e;
        }
    };

    GraphMLReader2<Graph<Device, ComLink>, Device, ComLink> graphReader = new GraphMLReader2<Graph<Device, ComLink>, Device, ComLink>(
            fileReader, graphTransformer, vertexTransformer, edgeTransformer, hyperEdgeTransformer);
    try {
        /* Get the new graph object from the GraphML file */

        Graph<Device, ComLink> g = graphReader.readGraph();
        Topology.getInstance().setGraph((CustomUndirectedGraph<Device, ComLink>) g);
        graph = g;
    } catch (GraphIOException ex) {
    }

    Layout l = new StaticLayout<Device, ComLink>(Topology.getInstance().getGraph(),
            new Transformer<Device, Point2D>() {
                @Override
                public Point2D transform(Device v) {
                    Point2D p = new Point2D.Double(v.getX(), v.getY());
                    return p;
                }
            });
    l.setInitializer(vv.getGraphLayout());
    l.setSize(vv.getSize());
    LayoutTransition<Device, ComLink> lt = new LayoutTransition<>(vv, vv.getGraphLayout(), l);
    Animator animator = new Animator(lt);
    animator.start();
    vv.getRenderContext().getMultiLayerTransformer().setToIdentity();
    //vv.getModel().setGraphLayout(l);
    vv.repaint();
}

From source file:gui.images.ImageHubExplorer.java

/**
 * Inserts the currently selected image into all kNN graphs for
 * visualization./*from  w  ww. j  a va  2 s . co m*/
 */
private void addSelectedImageToGraph() {
    if (neighborStatsCalculated && neighborGraphs != null && selectedImageHistory != null
            && selectedImageHistory.size() > 0) {
        int index = selectedImageHistory.get(selectedImageIndexInHistory);
        if (verticesHash.containsKey(index)) {
            // If it is already contained within the graphs, do nothing.
            return;
        }
        // Create a new node for the image.
        ImageNode newVertex = new ImageNode(index, new ImageIcon(imgThumbPaths.get(index)),
                imgThumbPaths.get(index));
        vertexIndexes.add(index);
        vertices.add(newVertex);
        NeighborSetFinder nsf = getNSF();
        int[][] kneighbors = nsf.getKNeighbors();
        float[][] kdistances = nsf.getKDistances();
        // For all relevant neighborhood sizes.
        for (int kTmp = 0; kTmp < 50; kTmp++) {
            neighborGraphs[kTmp].addVertex(newVertex);
            verticesHash.put(index, newVertex);
            verticesNodeIndexHash.put(index, vertices.size() - 1);
            // Re-draw all the edges.
            // This should be changed to only update the affected ones.
            for (int i = 0; i < edges[kTmp].size(); i++) {
                neighborGraphs[kTmp].removeEdge(edges[kTmp].get(i));
            }
            for (int i = 0; i < vertices.size(); i++) {
                for (int kN = 0; kN < kTmp; kN++) {
                    if (verticesHash.containsKey(kneighbors[vertexIndexes.get(i)][kN])) {
                        NeighborLink newEdge = new NeighborLink(kdistances[vertexIndexes.get(i)][kN],
                                vertices.get(i), verticesHash.get(kneighbors[vertexIndexes.get(i)][kN]));
                        neighborGraphs[kTmp].addEdge(newEdge, vertices.get(i),
                                verticesHash.get(kneighbors[vertexIndexes.get(i)][kN]), EdgeType.DIRECTED);
                        edges[kTmp].add(newEdge);
                    }
                }
            }
            graphVServers[kTmp].revalidate();
            graphVServers[kTmp].repaint();
        }
        // Set up how the nodes will be drawn.
        Layout<ImageNode, NeighborLink> layout = new CircleLayout(neighborGraphs[neighborhoodSize - 1]);
        layout.setSize(new Dimension(500, 500));
        layout.initialize();
        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[neighborhoodSize - 1] = 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();
        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);
                    }
                }
            }
        });
        // Refresh all the display components.
        vv.revalidate();
        vv.repaint();
        neighborGraphScrollPane.setViewportView(graphVServers[neighborhoodSize - 1]);
        neighborGraphScrollPane.revalidate();
        neighborGraphScrollPane.repaint();
    }
}

From source file:main.java.edu.isistan.genCom.gui.Principal.java

/**
  * Persiste la red actual en un archivo XML utilizando la biblioteca GraphML
  * /*from  w w  w  . j a  v a2 s .  c  o m*/
  * @param archivo
  *            Nombre del archivo utilizado para persistir la red
  */
 public void exportarRed() {
     // TODO Chequear que la red est cargada

     // TODO Abrir un dialog para solicitar el path del destino
     String archivo = "red.graphml";

     try {
         GraphMLWriter<Investigador, String> graphWriter = new GraphMLWriter<Investigador, String>();

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

         // Descripcin de los nodos
         graphWriter.addVertexData("investigador", null, "0", new Transformer<Investigador, String>() {
             @Override
             public String transform(Investigador i) {
                 return i.toString();
             }
         });

         // Descripcin de los enlaces
         graphWriter.addEdgeData("relacion", null, "0", new Transformer<String, String>() {
             @Override
             public String transform(String r) {
                 String result = r;
                 return result;
             }
         });

         graphWriter.save(this.redSocial.getRed(), out);

     } catch (Exception e) {
         System.out.println("Ocurri un error al persistir la red: " + e.getMessage());
     }

 }