]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.route/src/org/simantics/district/route/internal/RouteServiceImpl.java
Add a method for unpersisting individual routes into RouteService
[simantics/district.git] / org.simantics.district.route / src / org / simantics / district / route / internal / RouteServiceImpl.java
index 6817ea3282843de3f70531c69d47889c71786bcc..4690ac46b3dafa87727096273365ef17afc3c646 100644 (file)
@@ -13,6 +13,7 @@ import org.simantics.db.Resource;
 import org.simantics.db.Session;
 import org.simantics.db.common.procedure.adapter.DisposableListener;
 import org.simantics.db.common.procedure.adapter.DisposableSyncListener;
+import org.simantics.db.exception.DatabaseException;
 import org.simantics.db.layer0.request.PossibleActiveModel;
 import org.simantics.db.management.ISessionContext;
 import org.simantics.db.management.ISessionContextChangedListener;
@@ -201,4 +202,17 @@ public class RouteServiceImpl implements RouteService, ISessionContextChangedLis
         });
     }
 
+    @Override
+    public Route readRoute(Object backendRouteObject) {
+        if (!(backendRouteObject instanceof Resource))
+            return null;
+        
+        try {
+            return Simantics.getSession().syncRequest(new RoutePersistence.RouteRequest((Resource)backendRouteObject));
+        } catch (DatabaseException e) {
+            LOGGER.error("Failed to read district route object for " + backendRouteObject, e);
+            return null;
+        }
+    }
+
 }