]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.db.common/src/org/simantics/db/common/request/PossibleOwner.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.db.common / src / org / simantics / db / common / request / PossibleOwner.java
1 package org.simantics.db.common.request;\r
2 \r
3 import java.util.Collections;\r
4 \r
5 import org.simantics.db.ReadGraph;\r
6 import org.simantics.db.Resource;\r
7 import org.simantics.db.common.utils.CommonDBUtils;\r
8 import org.simantics.db.exception.DatabaseException;\r
9 import org.simantics.layer0.Layer0;\r
10 \r
11 public class PossibleOwner extends ResourceRead<Resource> {\r
12 \r
13     public PossibleOwner(Resource resource) {\r
14         super(resource);\r
15     }\r
16 \r
17     @Override\r
18     public Resource perform(ReadGraph graph) throws DatabaseException {\r
19         Layer0 L0 = Layer0.getInstance(graph);\r
20         Resource directOwner = graph.getPossibleObject(resource, L0.IsOwnedBy);\r
21         if(directOwner != null) return directOwner;\r
22         return CommonDBUtils.getNearestOwner(graph, Collections.singleton(resource));\r
23     }\r
24     \r
25 }