|
6 | 6 | import jackson.JsonLdMofObjectAdornment; |
7 | 7 | import org.omg.sysml.metamodel.MofObject; |
8 | 8 | import org.omg.sysml.metamodel.Relationship; |
| 9 | +import org.omg.sysml.utils.RelationshipDirection; |
9 | 10 | import play.Environment; |
10 | 11 | import play.libs.Json; |
11 | 12 | import play.mvc.Controller; |
@@ -57,8 +58,18 @@ public Result create(Http.Request request) { |
57 | 58 | return responseRelationship.map(e -> created(Json.toJson(e))).orElseGet(Results::internalServerError); |
58 | 59 | } |
59 | 60 |
|
60 | | - public Result getRelationshipsByProjectIdCommitIdRelatedElementId(UUID projectId, UUID commitId, UUID elementId, Http.Request request) { |
61 | | - Set<Relationship> relationships = relationshipService.getRelationshipsByProjectCommitRelatedElement(projectId, commitId, elementId); |
| 61 | + public Result getRelationshipsByProjectIdCommitIdRelatedElementId(UUID projectId, UUID commitId, UUID elementId, Optional<String> direction, Http.Request request) { |
| 62 | + RelationshipDirection relDirection = RelationshipDirection.BOTH; |
| 63 | + if(direction.isPresent()) { |
| 64 | + if(direction.get().equalsIgnoreCase(RelationshipDirection.IN.toString())) |
| 65 | + relDirection = RelationshipDirection.IN; |
| 66 | + else if(direction.get().equalsIgnoreCase(RelationshipDirection.OUT.toString())) |
| 67 | + relDirection = RelationshipDirection.OUT; |
| 68 | + else |
| 69 | + relDirection = RelationshipDirection.BOTH; |
| 70 | + } |
| 71 | + |
| 72 | + Set<Relationship> relationships = relationshipService.getRelationshipsByProjectCommitRelatedElement(projectId, commitId, elementId, Optional.of(relDirection)); |
62 | 73 | boolean respondWithJsonLd = ElementController.respondWithJsonLd(request); |
63 | 74 | return ok(JacksonHelper.collectionValueToTree(Set.class, |
64 | 75 | respondWithJsonLd ? JsonLdMofObjectAdornment.class : metamodelProvider.getImplementationClass(Relationship.class), |
|
0 commit comments