@@ -41,17 +41,23 @@ public Optional<Relationship> create(Relationship relationship) {
4141 return relationship .getIdentifier () != null ? relationshipDao .update (relationship ) : relationshipDao .persist (relationship );
4242 }
4343
44- public Set <Relationship > getRelationshipsByProjectCommitRelatedElement (UUID projectId , UUID commitId , UUID relatedElementId , Optional < RelationshipDirection > direction ) {
44+ public Set <Relationship > getRelationshipsByProjectCommitRelatedElement (UUID projectId , UUID commitId , UUID relatedElementId , RelationshipDirection direction ) {
4545 Commit commit = projectDao .findById (projectId ).flatMap (project -> commitDao .findByProjectAndId (project , commitId )).orElseThrow (() -> new IllegalArgumentException ("Commit " + commitId + " not found." ));
4646 Element relatedElement = elementDao .findByCommitAndId (commit , relatedElementId ).orElseThrow (() -> new IllegalArgumentException ("Element " + relatedElementId + " not found." ));
4747 Set <Relationship > allRelationships = relationshipDao .findAllByCommitRelatedElement (commit , relatedElement );
4848 Set <Relationship > results = allRelationships ;
49- if (direction .isPresent ()) {
50- if (direction .get ().equals (RelationshipDirection .OUT )) {
51- results = allRelationships .stream ().filter (r -> r .getSource ().stream ().anyMatch (e -> e .getIdentifier ().equals (relatedElementId ))).collect (Collectors .toSet ());
52- } else if (direction .get ().equals (RelationshipDirection .IN )) {
53- results = allRelationships .stream ().filter (r -> r .getTarget ().stream ().anyMatch (e -> e .getIdentifier ().equals (relatedElementId ))).collect (Collectors .toSet ());
54- }
49+ if (RelationshipDirection .OUT .equals (direction )) {
50+ results = allRelationships .stream ()
51+ .filter (r -> r .getSource ().stream ()
52+ .anyMatch (e -> Objects .equals (e .getIdentifier (), relatedElementId ))
53+ )
54+ .collect (Collectors .toSet ());
55+ } else if (RelationshipDirection .IN .equals (direction )) {
56+ results = allRelationships .stream ()
57+ .filter (r -> r .getTarget ().stream ()
58+ .anyMatch (e -> Objects .equals (e .getIdentifier (), relatedElementId ))
59+ )
60+ .collect (Collectors .toSet ());
5561 }
5662
5763 return results ;
0 commit comments