private void addNodeTo(int node, Community to) { to.add(node); nodeCommunities[node] = to; for (Edge e : topology[node]) { int neighbor; neighbor = e.getTarget(); // Remove Node Connection to this community Double neighEdgesTo = nodeConnectionsWeight[neighbor].get(to); if (neighEdgesTo == null) { nodeConnectionsWeight[neighbor].put( to, Double.parseDouble(e.getProperty("weight").toString())); } else { nodeConnectionsWeight[neighbor].put( to, neighEdgesTo + Double.parseDouble(e.getProperty("weight").toString())); } Integer neighCountEdgesTo = nodeConnectionsCount[neighbor].get(to); if (neighCountEdgesTo == null) { nodeConnectionsCount[neighbor].put(to, 1); } else { nodeConnectionsCount[neighbor].put(to, neighCountEdgesTo + 1); } Community adjCom = nodeCommunities[neighbor]; Double wEdgesto = adjCom.connectionsWeight.get(to); if (wEdgesto == null) { adjCom.connectionsWeight.put(to, Double.parseDouble(e.getProperty("weight").toString())); } else { adjCom.connectionsWeight.put( to, wEdgesto + Double.parseDouble(e.getProperty("weight").toString())); } Integer cEdgesto = adjCom.connectionsCount.get(to); if (cEdgesto == null) { adjCom.connectionsCount.put(to, 1); } else { adjCom.connectionsCount.put(to, cEdgesto + 1); } Double nodeEdgesTo = nodeConnectionsWeight[node].get(adjCom); if (nodeEdgesTo == null) { nodeConnectionsWeight[node].put( adjCom, Double.parseDouble(e.getProperty("weight").toString())); } else { nodeConnectionsWeight[node].put( adjCom, nodeEdgesTo + Double.parseDouble(e.getProperty("weight").toString())); } Integer nodeCountEdgesTo = nodeConnectionsCount[node].get(adjCom); if (nodeCountEdgesTo == null) { nodeConnectionsCount[node].put(adjCom, 1); } else { nodeConnectionsCount[node].put(adjCom, nodeCountEdgesTo + 1); } if (to != adjCom) { Double comEdgesto = to.connectionsWeight.get(adjCom); if (comEdgesto == null) { to.connectionsWeight.put( adjCom, Double.parseDouble(e.getProperty("weight").toString())); } else { to.connectionsWeight.put( adjCom, comEdgesto + Double.parseDouble(e.getProperty("weight").toString())); } Integer comCountEdgesto = to.connectionsCount.get(adjCom); if (comCountEdgesto == null) { to.connectionsCount.put(adjCom, 1); } else { to.connectionsCount.put(adjCom, comCountEdgesto + 1); } } } }