List of usage examples for org.apache.commons.collections15.map LazyMap decorate
public static <K, V> Map<K, V> decorate(Map<K, V> map, Transformer<K, V> transformer)
From source file:au.id.hazelwood.xmltvguidebuilder.model.ChannelListings.java
public ChannelListings() { channelById = new LinkedHashMap<>(); programsByChannelId = LazyMap.decorate(new HashMap<>(), new ProgrammeDetailSortedSetFactory()); }
From source file:edu.uci.ics.jung.visualization.layout.PersistentLayoutImpl.java
/** * create an instance with a passed layout * create containers for graph components * @param layout //w w w . j a v a2 s . c o m */ public PersistentLayoutImpl(Layout<V, E> layout) { super(layout); this.map = LazyMap.decorate(new HashMap<V, Point>(), new RandomPointFactory(getSize())); this.dontmove = new HashSet<V>(); }
From source file:edu.uci.ics.jung.algorithms.layout3d.AbstractLayout.java
protected AbstractLayout(Graph<V, E> graph, Transformer<V, Point3f> initializer) { this.graph = graph; this.locations = LazyMap.decorate(new HashMap<V, Point3f>(), initializer); }
From source file:edu.uci.ics.jung.algorithms.layout3d.AbstractLayout.java
protected AbstractLayout(Graph<V, E> graph, Transformer<V, Point3f> initializer, BoundingSphere size) { this.graph = graph; this.locations = LazyMap.decorate(new HashMap<V, Point3f>(), initializer); this.size = size; }
From source file:edu.uci.ics.jung.algorithms.layout.AbstractLayout.java
@SuppressWarnings("unchecked") protected AbstractLayout(Graph<V, E> graph, Transformer<V, Point2D> initializer) { this.graph = graph; Transformer<V, ? extends Object> chain = ChainedTransformer.getInstance(initializer, CloneTransformer.getInstance()); this.locations = LazyMap.decorate(new HashMap<V, Point2D>(), (Transformer<V, Point2D>) chain); initialized = true;/*from w ww .j a v a 2s.c om*/ }
From source file:net.schweerelos.parrot.ui.NodeWrapperPersistentLayoutImpl.java
public NodeWrapperPersistentLayoutImpl(Layout<NodeWrapper, NodeWrapper> delegate) { super(delegate); uriToNodeLocation = LazyMap.decorate(new HashMap<String, Point>(), new RandomPointFactory(getSize())); lockedVertices = new HashSet<NodeWrapper>(); locked = false;/*from w w w . ja v a 2 s . c o m*/ }
From source file:edu.uci.ics.jung.algorithms.layout.AbstractLayout.java
@SuppressWarnings("unchecked") protected AbstractLayout(Graph<V, E> graph, Transformer<V, Point2D> initializer, Dimension size) { this.graph = graph; Transformer<V, ? extends Object> chain = ChainedTransformer.getInstance(initializer, CloneTransformer.getInstance()); this.locations = LazyMap.decorate(new HashMap<V, Point2D>(), (Transformer<V, Point2D>) chain); this.size = size; }
From source file:edu.uci.ics.jung.algorithms.layout3d.AbstractLayout.java
public void setInitializer(Transformer<V, Point3f> initializer) { this.locations = LazyMap.decorate(new HashMap<V, Point3f>(locations), initializer); }
From source file:edu.uci.ics.jung.algorithms.layout.AbstractLayout.java
@SuppressWarnings("unchecked") public void setInitializer(Transformer<V, Point2D> initializer) { if (this.equals(initializer)) { throw new IllegalArgumentException("Layout cannot be initialized with itself"); }/*www.j av a 2s.c o m*/ Transformer<V, ? extends Object> chain = ChainedTransformer.getInstance(initializer, CloneTransformer.getInstance()); this.locations = LazyMap.decorate(new HashMap<V, Point2D>(), (Transformer<V, Point2D>) chain); initialized = true; }
From source file:edu.uci.ics.jung.io.PajekNetIOTest.java
public void testMixedSaveLoadSave() throws IOException { Graph<Number, Number> graph1 = new SparseMultigraph<Number, Number>(); for (int i = 0; i < 5; i++) { graph1.addVertex(i);//from w w w. jav a2s .co m } int j = 0; List<Number> id = new ArrayList<Number>(graph1.getVertices());//Indexer.getIndexer(graph1); GreekLabels<Number> gl = new GreekLabels<Number>(id); Number[] edges = { 0, 1, 2, 3, 4, 5 }; graph1.addEdge(j++, 0, 1, EdgeType.DIRECTED); graph1.addEdge(j++, 0, 2, EdgeType.DIRECTED); graph1.addEdge(j++, 1, 2, EdgeType.DIRECTED); graph1.addEdge(j++, 1, 3); graph1.addEdge(j++, 1, 4); graph1.addEdge(j++, 4, 3); Map<Number, Number> nr = new HashMap<Number, Number>(); for (int i = 0; i < edges.length; i++) { nr.put(edges[i], new Float(Math.random())); } assertEquals(graph1.getEdgeCount(), 6); // System.err.println(" mixed graph1 = "+graph1); // for(Number edge : graph1.getEdges()) { // System.err.println("edge "+edge+" is directed? "+graph1.getEdgeType(edge)); // } // for(Number v : graph1.getVertices()) { // System.err.println(v+" outedges are "+graph1.getOutEdges(v)); // System.err.println(v+" inedges are "+graph1.getInEdges(v)); // System.err.println(v+" incidentedges are "+graph1.getIncidentEdges(v)); // } String testFilename = "mtest.net"; String testFilename2 = testFilename + "2"; // lay out network Dimension d = new Dimension(100, 200); Transformer<Number, Point2D> vld = TransformerUtils.mapTransformer( LazyMap.decorate(new HashMap<Number, Point2D>(), new RandomLocationTransformer<Number>(d))); PajekNetWriter<Number, Number> pnw = new PajekNetWriter<Number, Number>(); pnw.save(graph1, testFilename, gl, MapTransformer.getInstance(nr), vld); Graph<Number, Number> graph2 = pnr.load(testFilename, graphFactory); Transformer<Number, String> pl = pnr.getVertexLabeller(); List<Number> id2 = new ArrayList<Number>(graph2.getVertices()); Transformer<Number, Point2D> vld2 = pnr.getVertexLocationTransformer(); assertEquals(graph1.getVertexCount(), graph2.getVertexCount()); assertEquals(graph1.getEdgeCount(), graph2.getEdgeCount()); // test vertex labels and locations for (int i = 0; i < graph1.getVertexCount(); i++) { Number v1 = id.get(i); Number v2 = id2.get(i); assertEquals(gl.transform(v1), pl.transform(v2)); assertEquals(vld.transform(v1), vld2.transform(v2)); } // test edge weights Transformer<Number, Number> nr2 = pnr.getEdgeWeightTransformer(); for (Number e2 : graph2.getEdges()) { Pair<Number> endpoints = graph2.getEndpoints(e2); Number v1_2 = endpoints.getFirst(); Number v2_2 = endpoints.getSecond(); Number v1_1 = id.get(id2.indexOf(v1_2)); Number v2_1 = id.get(id2.indexOf(v2_2)); Number e1 = graph1.findEdge(v1_1, v2_1); assertNotNull(e1); assertEquals(nr.get(e1).floatValue(), nr2.transform(e2).floatValue(), 0.0001); } pnw.save(graph2, testFilename2, pl, nr2, vld2); compareIndexedGraphs(graph1, graph2); pnr.setVertexLabeller(null); Graph<Number, Number> graph3 = pnr.load(testFilename2, graphFactory); compareIndexedGraphs(graph2, graph3); File file1 = new File(testFilename); File file2 = new File(testFilename2); Assert.assertTrue(file1.length() == file2.length()); file1.delete(); file2.delete(); }