X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.route%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Froute%2Finternal%2FRoutePersistence.java;h=fceb6612cb521fd2d81e3d5759046c4daee2f120;hb=92904091e630d96b15286d3ddca833289f0ba926;hp=c3ba7571e82c3af15c96c4534a45a3d55c3965a4;hpb=00103b12908c5071e641ca2bea2c42030ff67770;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.route/src/org/simantics/district/route/internal/RoutePersistence.java b/org.simantics.district.route/src/org/simantics/district/route/internal/RoutePersistence.java index c3ba7571..fceb6612 100644 --- a/org.simantics.district.route/src/org/simantics/district/route/internal/RoutePersistence.java +++ b/org.simantics.district.route/src/org/simantics/district/route/internal/RoutePersistence.java @@ -16,6 +16,7 @@ import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; import org.simantics.db.common.request.ObjectsWithType; +import org.simantics.db.common.request.ResourceRead; import org.simantics.db.common.request.UniqueRead; import org.simantics.db.common.utils.ListUtils; import org.simantics.db.common.utils.NameUtils; @@ -78,7 +79,7 @@ public class RoutePersistence { Layer0 L0 = Layer0.getInstance(graph); String existingLabel = graph.getPossibleRelatedValue(route, L0.HasLabel, Bindings.STRING); - if (ObjectUtils.objectEquals(existingLabel, label)) { + if (!ObjectUtils.objectEquals(existingLabel, label)) { graph.claimLiteral(route, L0.HasLabel, label, Bindings.STRING); } @@ -124,7 +125,7 @@ public class RoutePersistence { } public static List findRoutes(ReadGraph graph, Resource model) throws DatabaseException { - Resource rf = getRouteFolder(graph, model); + Resource rf = model != null ? getRouteFolder(graph, model) : null; if (rf == null) return Collections.emptyList(); @@ -144,6 +145,16 @@ public class RoutePersistence { return routes; } + public static class ModelRoutesRequest extends ResourceRead> { + public ModelRoutesRequest(Resource model) { + super(model); + } + @Override + public List perform(ReadGraph graph) throws DatabaseException { + return findRoutes(graph, resource); + } + } + public static class ActiveModelRoutesRequest extends UniqueRead> { @Override public List perform(ReadGraph graph) throws DatabaseException {