@Override public Iterable<Node> nodes() { // Use the identifier here to avoid listing duplicated nodes twice. return Iterables.translate(this.nodeIdentifierToAtlasIndices, identifier -> node(identifier)); }
/** * This is to build maps of nodes that are at the same location, and to build their master to * slave relationship. The master to slave relationship is purely arbitrary, the first node at a * location to be found becoming the master. */ protected void aggregateSameLocationNodes() { this.parent.getNodeIdentifierToAtlasIndices().forEach(identifier -> { final Node master = this.parent.node(identifier); final Set<Node> slaves = nodesOverlapping(master); slaves.remove(master); if (!slaves.isEmpty()) { if (!this.overlappingNodeIdentifierToMasterNodeIdentifier.containsKey(identifier)) { // if our master is not already a slave slaves.forEach(node -> { final long slaveIdentifier = node.getIdentifier(); this.overlappingNodeIdentifierToMasterNodeIdentifier.put(slaveIdentifier, identifier); this.masterNodeIdentifierToOverlappingNodeIdentifier.add(identifier, slaveIdentifier); }); warnIfNodesHaveDifferentTags(master, slaves); } } }); }
.addAll(((MultiNode) multiAtlas().node(slaveIdentifier)) .attachedEdges(getConnectedEdges, removedEdges))); return result;
multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_1_ID_LONG).inEdges().isEmpty()); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_1_ID_LONG).outEdges() .contains(multiAtlas.edge(123456789120001L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).inEdges() .contains(multiAtlas.edge(123456789120001L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).inEdges() .contains(multiAtlas.edge(223456789120000L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).outEdges() .contains(multiAtlas.edge(123456789120002L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_3_ID_LONG).inEdges() .contains(multiAtlas.edge(123456789120002L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_3_ID_LONG).outEdges() .isEmpty()); multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_4_ID_LONG).inEdges().isEmpty()); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_4_ID_LONG).outEdges() .contains(multiAtlas.edge(223456789120000L)));
multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_1_ID_LONG).inEdges().isEmpty()); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_1_ID_LONG).outEdges() .contains(multiAtlas.edge(123456789120001L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).inEdges() .contains(multiAtlas.edge(123456789120001L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).outEdges() .contains(multiAtlas.edge(123456789120002L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_3_ID_LONG).inEdges() .contains(multiAtlas.edge(123456789120002L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_3_ID_LONG).outEdges() .isEmpty());
multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_1_ID_LONG).inEdges().isEmpty()); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_1_ID_LONG).outEdges() .contains(multiAtlas.edge(123456789120001L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).inEdges() .contains(multiAtlas.edge(123456789120001L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).outEdges() .contains(multiAtlas.edge(123456789120002L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_3_ID_LONG).inEdges() .contains(multiAtlas.edge(123456789120002L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_3_ID_LONG).outEdges() .isEmpty());
multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_1_ID_LONG).inEdges().isEmpty()); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_1_ID_LONG).outEdges() .contains(multiAtlas.edge(123456789120001L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).inEdges() .contains(multiAtlas.edge(123456789120001L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).inEdges() .contains(multiAtlas.edge(223456789120000L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).outEdges() .contains(multiAtlas.edge(123456789120002L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).outEdges() .contains(multiAtlas.edge(-223456789120000L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_3_ID_LONG).inEdges() .contains(multiAtlas.edge(123456789120002L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_3_ID_LONG).outEdges() .isEmpty()); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_4_ID_LONG).inEdges() .contains(multiAtlas.edge(-223456789120000L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_4_ID_LONG).outEdges() .contains(multiAtlas.edge(223456789120000L)));
multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_4_ID_LONG).inEdges().isEmpty()); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_4_ID_LONG).outEdges() .contains(multiAtlas.edge(223456789120000L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_1_ID_LONG).inEdges() .contains(multiAtlas.edge(223456789120000L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_1_ID_LONG).outEdges() .contains(multiAtlas.edge(123456789120001L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).inEdges() .contains(multiAtlas.edge(123456789120001L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).outEdges() .contains(multiAtlas.edge(123456789120002L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_3_ID_LONG).inEdges() .contains(multiAtlas.edge(123456789120002L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_3_ID_LONG).outEdges() .contains(multiAtlas.edge(323456789120000L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_5_ID_LONG).inEdges() .contains(multiAtlas.edge(323456789120000L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_5_ID_LONG).outEdges() .isEmpty());
multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_1_ID_LONG).inEdges().isEmpty()); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_1_ID_LONG).outEdges() .contains(multiAtlas.edge(123456789120001L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).inEdges() .contains(multiAtlas.edge(123456789120001L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_2_ID_LONG).outEdges() .contains(multiAtlas.edge(123456789120002L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_3_ID_LONG).inEdges() .contains(multiAtlas.edge(123456789120002L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_3_ID_LONG).outEdges() .contains(multiAtlas.edge(123456789120003L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_4_ID_LONG).inEdges() .contains(multiAtlas.edge(123456789120003L))); Assert.assertTrue(multiAtlas.node(MultiAtlasBorderFixerTestRule.POINT_4_ID_LONG).outEdges() .isEmpty());
this.getAsNewRelationSpatialIndex(); this.nodeIdentifierToAtlasIndices .forEach(identifier -> this.getNodeSpatialIndex().add(node(identifier))); this.edgeIdentifierToAtlasIndex .forEach(identifier -> this.getEdgeSpatialIndex().add(edge(identifier)));
if (nonMulti instanceof Node) multiEntity = multiAtlas().node(identifier);