public Object putArc(Object origin, Object destination, Object arc) { return digraph.putArc(destination, origin, arc); }
private static Digraph createDigraph3() { Digraph digraph = new MapDigraph(MapDigraph.HASHMAP_FACTORY); String[] vertices = new String[] { "A", "B", "C", "D", "E", "F" }; digraph.addAllVertices(Arrays.asList(vertices)); digraph.putArc("A", "B", Boolean.TRUE); digraph.putArc("A", "E", Boolean.TRUE); digraph.putArc("B", "F", Boolean.TRUE); digraph.putArc("C", "E", Boolean.TRUE); digraph.putArc("C", "D", Boolean.TRUE); digraph.putArc("E", "D", Boolean.TRUE); digraph.putArc("E", "B", Boolean.TRUE); digraph.putArc("D", "F", Boolean.TRUE); return digraph; }
private static Digraph createDigraph2() { Digraph digraph = new MapDigraph(MapDigraph.HASHMAP_FACTORY); String[] vertices = new String[] { "A", "B", "C", "D", "E", "F" }; digraph.addAllVertices(Arrays.asList(vertices)); digraph.putArc("A", "B", Boolean.TRUE); digraph.putArc("A", "F", Boolean.TRUE); digraph.putArc("B", "C", Boolean.TRUE); digraph.putArc("F", "D", Boolean.TRUE); digraph.putArc("C", "D", Boolean.TRUE); digraph.putArc("E", "D", Boolean.TRUE); return digraph; }
private static Digraph createDigraph1() { Digraph digraph = new MapDigraph(MapDigraph.HASHMAP_FACTORY); String[] vertices = new String[] { "A", "B", "C", "D", "E", "F", "G", "H", "J" }; digraph.addAllVertices(Arrays.asList(vertices)); digraph.putArc("D", "A", Boolean.TRUE); digraph.putArc("D", "B", Boolean.TRUE); digraph.putArc("F", "B", Boolean.TRUE); digraph.putArc("G", "C", Boolean.TRUE); digraph.putArc("E", "D", Boolean.TRUE); digraph.putArc("H", "F", Boolean.TRUE); digraph.putArc("F", "G", Boolean.TRUE); digraph.putArc("E", "H", Boolean.TRUE); digraph.putArc("J", "E", Boolean.TRUE); digraph.putArc("J", "H", Boolean.TRUE); digraph.putArc("J", "G", Boolean.TRUE); return digraph; }
private static Digraph createDigraph4() { Digraph digraph = new MapDigraph(MapDigraph.HASHMAP_FACTORY); String[] vertices = new String[] { "A", "B", "C", "D", "E" }; digraph.addAllVertices(Arrays.asList(vertices)); digraph.putArc("A", "B", Boolean.TRUE); digraph.putArc("A", "C", Boolean.TRUE); digraph.putArc("B", "D", Boolean.TRUE); digraph.putArc("C", "E", Boolean.TRUE); return digraph; } }
public Object createEdge(GraphmlContext context, String id, String source, String target, String sourceport, String targetport, String directed) { Digraph digraph = (Digraph) context.getGraph(); digraph.putArc(source, target, id != null ? id : ""); return id; }
public static Digraph randomize(Digraph digraph, int order, int size, Random randomizer) { for (int i = 1; i <= order; i++) digraph.addVertex(new Integer(i)); Random random = randomizer; int n_2 = order*order; size = Math.min(size, n_2); for (int arc = 1; arc <= size; arc++) { int arcCode = random.nextInt(n_2); int origin = arcCode / order + 1; int dst = arcCode % order + 1; digraph.putArc(new Integer(origin), new Integer(dst), new Integer(arc)); } return digraph; }
public void build(Digraph digraph) { for (Iterator i = graphData.entrySet().iterator(); i.hasNext();) { Map.Entry entry = (Map.Entry)i.next(); Object origin = vertexAccessor.create(entry.getKey()); digraph.addVertex(origin); StringTokenizer st = new StringTokenizer((String)entry.getValue(), ";"); while (st.hasMoreTokens()) { digraph.putArc(origin, vertexAccessor.create(st.nextToken()), Boolean.TRUE); } } }
public static Digraph randomizeAcyclic(Digraph digraph, int order, int incomingSize, int outgoingSize, Random randomizer) { Random random = randomizer; int arc = 1; for (int i = 1; i <= order; i++) { Integer destination = new Integer(i); digraph.addVertex(destination); for (int j = 0; j < incomingSize; j++) { int org = random.nextInt(i); if (org == 0) continue; Integer origin = new Integer(org); if (digraph.outgoingSize(origin) >= outgoingSize) continue; digraph.putArc(origin, destination, new Integer(arc++)); } } return digraph; }
public static Digraph randomizeTree(Digraph digraph, int maxChildren, int maxLevels, Random randomizer) { int vertexIndex = 1; Object root = new Integer(vertexIndex); List level = Collections.singletonList(root); digraph.addVertex(root); for (int i = 1; i < maxLevels; i++) { List childLevel = new ArrayList(level.size() * maxChildren); for (Iterator j = level.iterator(); j.hasNext(); ) { Object parent = j.next(); int childCount = randomizer.nextInt(maxChildren + 1); for (int k = 0; k < childCount; k++) { Object child = new Integer(++vertexIndex); digraph.addVertex(child); digraph.putArc(parent, child, Boolean.TRUE); childLevel.add(child); } } if (childLevel.isEmpty()) break; level = childLevel; } return digraph; }
Collection destination = (Collection)memberToComponent.get(dst); if (arcFactory == null) contractedDigraph.putArc(origin, destination, arc); else { Collection contractedArc = (Collection)contractedDigraph.getArc(origin, destination); if (contractedArc == null) { contractedArc = arcFactory.createSingleton(arc); contractedDigraph.putArc(origin, destination, contractedArc); } else { if (contractedArc.size() == 1) { contractedArc = arcFactory.create(); contractedArc.addAll(tmp); contractedDigraph.putArc(origin, destination, contractedArc);
public static Digraph buildReferentialDigraph(Digraph digraph, Collection tables) { HashMap tableMap = new HashMap(); for (Iterator i = tables.iterator(); i.hasNext();) { Table table = (Table) i.next(); tableMap.put(table.getFullName(), table); digraph.addVertex(table); } for (Iterator i = tables.iterator(); i.hasNext();) { Table dst = (Table) i.next(); for (Iterator j = dst.getForeignKeys().iterator(); j.hasNext();) { ForeignKey fk = (ForeignKey) j.next(); String pkTableFullName = Table.composeFullName(fk .getPkTableCatalog(), fk.getPkTableSchema(), fk .getPkTableName()); Table origin = (Table) tableMap.get(pkTableFullName); if (origin != null) { ArrayList fks = (ArrayList) digraph.getArc(origin, dst); if (fks == null) { fks = new ArrayList(); digraph.putArc(origin, dst, fks); } fks.add(fk); } } } return digraph; } }
private void createWrapperDigraph() { wrapperDigraph = new MapDigraph(MapDigraph.HASHMAP_FACTORY); vertexWrapperMap = new HashMap(digraph.order()); for (Iterator i = digraph.vertexIterator(); i.hasNext();) { Object vertex = i.next(); VertexWrapper wrapper = new VertexWrapper(vertex); vertexWrapperMap.put(vertex, wrapper); wrapperDigraph.addVertex(wrapper); } for (ArcIterator i = digraph.arcIterator(); i.hasNext();) { i.next(); Object wrapper1 = vertexWrapperMap.get(i.getOrigin()); Object wrapper2 = vertexWrapperMap.get(i.getDestination()); if (rootsUpwards) wrapperDigraph.putArc(wrapper1, wrapper2, Boolean.TRUE); else wrapperDigraph.putArc(wrapper2, wrapper1, Boolean.TRUE); } }
public static Digraph merge(Digraph destination,DigraphIteration graphToMerge) { for (Iterator i = graphToMerge.vertexIterator(); i.hasNext();) { destination.addVertex(i.next()); } for (ArcIterator i = graphToMerge.arcIterator(); i.hasNext();) { Object arc = i.next(); Object origin = i.getOrigin(); Object dst = i.getDestination(); destination.putArc(origin, dst, arc); } return destination; }
continue; pkDependencyGraph.putArc(origin, dst, Boolean.TRUE);
Number vertexIndex = (Number) loopSelector.next(); Object vertex = sortedVertices.get(vertexIndex.intValue()); graph.putArc(vertex, vertex, Boolean.TRUE); Object origin = vertexToTable.get(i.getOrigin()); Object dst = vertexToTable.get(i.getDestination()); schemaGraph.putArc(origin, dst, Boolean.TRUE);
continue; pkDependencyGraph.putArc(origin, dst, Boolean.TRUE);
public static Digraph transform(Digraph result, DigraphIteration source, Transformer vertexTransform, Transformer arcTransform) { for (Iterator i = new TransformIterator(source.vertexIterator(), vertexTransform); i.hasNext();) { result.addVertex(i.next()); } for (ArcIterator i = new TransformArcIterator(source.arcIterator(), vertexTransform, arcTransform); i.hasNext();) { Object arc = i.next(); Object origin = i.getOrigin(); Object dst = i.getDestination(); result.putArc(origin, dst, arc); } return result; }
y = y1 - h; points.add(new Point((int)x, (int)y)); arcGeometryDigraph.putArc(origin.getUserVertex(), dst.getUserVertex(), points);