Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java')
-rw-r--r--plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java
index 5e998094723..8bfe1acd774 100644
--- a/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java
+++ b/plugins/org.eclipse.osee.framework.skynet.core/src/org/eclipse/osee/framework/skynet/core/relation/RelationManager.java
@@ -365,7 +365,15 @@ public class RelationManager {
return null;
}
+ public static List<RelationLink> getRelationsUnordered(Artifact artifact, IRelationType relationType, RelationSide relationSide) throws OseeCoreException {
+ return getRelations(artifact, relationType, relationSide, false);
+ }
+
public static List<RelationLink> getRelations(Artifact artifact, IRelationType relationType, RelationSide relationSide) throws OseeCoreException {
+ return getRelations(artifact, relationType, relationSide, true);
+ }
+
+ public static List<RelationLink> getRelations(Artifact artifact, IRelationType relationType, RelationSide relationSide, boolean sort) throws OseeCoreException {
if (artifact.isHistorical()) {
throw new OseeCoreException("Artifact [%s] is historical. Historical relations are only supported on server",
artifact);
@@ -392,6 +400,9 @@ public class RelationManager {
}
}
}
+ if (sort) {
+ sortRelations(artifact, relationType, relationSide, relations);
+ }
return relations;
}
@@ -576,6 +587,14 @@ public class RelationManager {
sorter.sort(listToOrder);
}
+ private static void sortRelations(Artifact artifact, IRelationType type, RelationSide side, List<RelationLink> listToOrder) throws OseeCoreException {
+ if (type == null || side == null || listToOrder.size() <= 1) {
+ return;
+ }
+ RelationTypeSideSorter sorter = createTypeSideSorter(artifact, type, side);
+ sorter.sortRelations(listToOrder);
+ }
+
private static void updateOrderListOnDelete(Artifact artifact, IRelationType relationType, RelationSide relationSide, List<Artifact> relatives) throws OseeCoreException {
RelationTypeSideSorter sorter = createTypeSideSorter(artifact, relationType, relationSide);
sorter.setOrder(relatives, sorter.getSorterId());

Back to the top