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;
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);
}
}
public static List<RouteImpl> 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();
return routes;
}
+ public static class ModelRoutesRequest extends ResourceRead<List<RouteImpl>> {
+ public ModelRoutesRequest(Resource model) {
+ super(model);
+ }
+ @Override
+ public List<RouteImpl> perform(ReadGraph graph) throws DatabaseException {
+ return findRoutes(graph, resource);
+ }
+ }
+
public static class ActiveModelRoutesRequest extends UniqueRead<List<RouteImpl>> {
@Override
public List<RouteImpl> perform(ReadGraph graph) throws DatabaseException {