List of usage examples for org.apache.commons.collections15 Transformer Transformer
Transformer
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); } }; }