/** * Removes a relationship from this view. * * @param relationship the Relationship to remove */ public void remove(Relationship relationship) { if (relationship != null) { RelationshipView relationshipView = new RelationshipView(relationship); relationshipViews.remove(relationshipView); } }
private void addRelationships(Element element) { Set<Element> elements = getElements().stream() .map(ElementView::getElement) .collect(Collectors.toSet()); // add relationships where the destination exists in the view already for (Relationship relationship : element.getRelationships()) { if (elements.contains(relationship.getDestination())) { this.relationshipViews.add(new RelationshipView(relationship)); } } // add relationships where the source exists in the view already for (Element e : elements) { for (Relationship r : e.getRelationships()) { if (r.getDestination().equals(element)) { this.relationshipViews.add(new RelationshipView(r)); } } } }
protected RelationshipView addRelationship(Relationship relationship) { if (relationship == null) { throw new IllegalArgumentException("A relationship must be specified."); } if (isElementInView(relationship.getSource()) && isElementInView(relationship.getDestination())) { RelationshipView relationshipView = new RelationshipView(relationship); relationshipViews.add(relationshipView); return relationshipView; } return null; }
private HashSet<RelationshipView> relationshipViewsFor(Relationship... relationships) { HashSet<RelationshipView> set = new HashSet<>(); for (Relationship relationship : relationships) { RelationshipView relationshipView = new RelationshipView(); relationshipView.setId(relationship.getId()); set.add(relationshipView); } return set; }
@Test public void test_removeRelationship_RemovesARelationship_WhenAValidRelationshipIsSpecified() { SoftwareSystem softwareSystem1 = model.addSoftwareSystem("Software System 1", "Description"); SoftwareSystem softwareSystem2 = model.addSoftwareSystem("Software System 2", "Description"); SoftwareSystem softwareSystem3 = model.addSoftwareSystem("Software System 3", "Description"); Relationship relationship12 = softwareSystem1.uses(softwareSystem2, "Uses"); Relationship relationship23 = softwareSystem2.uses(softwareSystem3, "Uses"); Relationship relationship31 = softwareSystem3.uses(softwareSystem1, "Uses"); StaticView view = new SystemContextView(softwareSystem1, "context", "Description"); view.addAllElements(); assertEquals(3, view.getRelationships().size()); view.remove(relationship31); assertEquals(2, view.getRelationships().size()); assertTrue(view.getRelationships().contains(new RelationshipView(relationship12))); assertTrue(view.getRelationships().contains(new RelationshipView(relationship23))); }