-package org.simantics.db.common.request;\r
-\r
-import java.util.Collections;\r
-\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.common.utils.CommonDBUtils;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.layer0.Layer0;\r
-\r
-public class PossibleOwner extends ResourceRead<Resource> {\r
-\r
- public PossibleOwner(Resource resource) {\r
- super(resource);\r
- }\r
-\r
- @Override\r
- public Resource perform(ReadGraph graph) throws DatabaseException {\r
- Layer0 L0 = Layer0.getInstance(graph);\r
- Resource directOwner = graph.getPossibleObject(resource, L0.IsOwnedBy);\r
- if(directOwner != null) return directOwner;\r
- return CommonDBUtils.getNearestOwner(graph, Collections.singleton(resource));\r
- }\r
- \r
+package org.simantics.db.common.request;
+
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.common.utils.NearestOwnerFinder;
+import org.simantics.db.exception.DatabaseException;
+
+public class PossibleOwner extends ResourceRead<Resource> {
+
+ public PossibleOwner(Resource resource) {
+ super(resource);
+ }
+
+ @Override
+ public Resource perform(ReadGraph graph) throws DatabaseException {
+ return NearestOwnerFinder.getNearestOwner(graph, resource);
+ }
+
}
\ No newline at end of file