private void createERRandomTopology(int numberOfNodes, double averageNumberofNeighboors) { Map<Integer,SimpleLeafVertex> nodes = new HashMap<Integer, SimpleLeafVertex>(); List<AbstractEdge> edges = new ArrayList<AbstractEdge>(); for (Integer i=0; i< numberOfNodes ;i++) { SimpleLeafVertex vertex = new SimpleLeafVertex(TOPOLOGY_NAMESPACE_SFREE, Integer.toString(i), 0, 0); vertex.setIconKey("sfree.system"); vertex.setLabel("ErdosReniyNode"+i); nodes.put(i,vertex); } Double z = 0.5*(numberOfNodes-1); // Double p = averageNumberofNeighboors/z; Random r = new Random((new Date()).getTime()); for (Integer start=0; start < numberOfNodes; start++) { for (Integer end = start+1; end<numberOfNodes;end++) { if (z*r.nextDouble()<averageNumberofNeighboors) { String edgeId = "link:"+start+"-"+end; SimpleConnector source = new SimpleConnector(TOPOLOGY_NAMESPACE_SFREE, nodes.get(start).getId()+"-"+edgeId+"-connector", nodes.get(start)); SimpleConnector target = new SimpleConnector(TOPOLOGY_NAMESPACE_SFREE, nodes.get(end).getId()+"-"+edgeId+"-connector", nodes.get(end)); edges.add(new AbstractEdge(TOPOLOGY_NAMESPACE_SFREE, edgeId, source, target)); } } } addVertices(nodes.values().toArray(new Vertex[] {})); addEdges(edges.toArray(new Edge[] {})); }
private void createERRandomTopology(int numberOfNodes, double averageNumberofNeighboors) { Map<Integer,SimpleLeafVertex> nodes = new HashMap<Integer, SimpleLeafVertex>(); List<AbstractEdge> edges = new ArrayList<>(); for (Integer i=0; i< numberOfNodes ;i++) { SimpleLeafVertex vertex = new SimpleLeafVertex(TOPOLOGY_NAMESPACE_SFREE, Integer.toString(i), 0, 0); vertex.setIconKey("sfree.system"); vertex.setLabel("ErdosReniyNode"+i); nodes.put(i,vertex); } Double z = 0.5*(numberOfNodes-1); // Double p = averageNumberofNeighboors/z; Random r = new Random((new Date()).getTime()); for (Integer start=0; start < numberOfNodes; start++) { for (Integer end = start+1; end<numberOfNodes;end++) { if (z*r.nextDouble()<averageNumberofNeighboors) { String edgeId = "link:"+start+"-"+end; SimpleConnector source = new SimpleConnector(TOPOLOGY_NAMESPACE_SFREE, nodes.get(start).getId()+"-"+edgeId+"-connector", nodes.get(start)); SimpleConnector target = new SimpleConnector(TOPOLOGY_NAMESPACE_SFREE, nodes.get(end).getId()+"-"+edgeId+"-connector", nodes.get(end)); edges.add(new AbstractEdge(TOPOLOGY_NAMESPACE_SFREE, edgeId, source, target)); } } } addVertices(nodes.values().toArray(new Vertex[] {})); addEdges(edges.toArray(new Edge[] {})); }
if (!nodes.containsKey(i)) { nodes.put(i, vertexi); LOG.debug("Added Node: {}", vertexi.getId()); if (!nodes.containsKey(j)) { nodes.put(j, vertexj); LOG.debug("Added Node: {}", vertexj.getId()); SimpleConnector source = new SimpleConnector(TOPOLOGY_NAMESPACE_SFREE, nodes.get(i).getId()+"-"+edgeId+"-connector", nodes.get(i)); SimpleConnector target = new SimpleConnector(TOPOLOGY_NAMESPACE_SFREE, nodes.get(j).getId()+"-"+edgeId+"-connector", nodes.get(j)); edges.add(new AbstractEdge(TOPOLOGY_NAMESPACE_SFREE, edgeId, source, target)); LOG.debug("Added Link: {}", edgeId); LOG.debug("Try Adding edge: {}--->{}", j, i); String edgeId = "link:"+i+"-"+j.intValue(); SimpleConnector source = new SimpleConnector(TOPOLOGY_NAMESPACE_SFREE, nodes.get(i).getId()+"-"+edgeId+"-connector", nodes.get(i)); SimpleConnector target = new SimpleConnector(TOPOLOGY_NAMESPACE_SFREE, nodes.get(j.intValue()).getId()+"-"+edgeId+"-connector", nodes.get(j.intValue())); edge = new AbstractEdge(TOPOLOGY_NAMESPACE_SFREE, edgeId, source, target); if( i == j.intValue() ) continue;
if (!nodes.containsKey(i)) { nodes.put(i, vertexi); LOG.debug("Added Node: {}", vertexi.getId()); if (!nodes.containsKey(j)) { nodes.put(j, vertexj); LOG.debug("Added Node: {}", vertexj.getId()); SimpleConnector source = new SimpleConnector(TOPOLOGY_NAMESPACE_SFREE, nodes.get(i).getId()+"-"+edgeId+"-connector", nodes.get(i)); SimpleConnector target = new SimpleConnector(TOPOLOGY_NAMESPACE_SFREE, nodes.get(j).getId()+"-"+edgeId+"-connector", nodes.get(j)); edges.add(new AbstractEdge(TOPOLOGY_NAMESPACE_SFREE, edgeId, source, target)); LOG.debug("Added Link: {}", edgeId); LOG.debug("Try Adding edge: {}--->{}", j, i); String edgeId = "link:"+i+"-"+j.intValue(); SimpleConnector source = new SimpleConnector(TOPOLOGY_NAMESPACE_SFREE, nodes.get(i).getId()+"-"+edgeId+"-connector", nodes.get(i)); SimpleConnector target = new SimpleConnector(TOPOLOGY_NAMESPACE_SFREE, nodes.get(j.intValue()).getId()+"-"+edgeId+"-connector", nodes.get(j.intValue())); edge = new AbstractEdge(TOPOLOGY_NAMESPACE_SFREE, edgeId, source, target); if( i == j.intValue() ) continue;