1 package org.simantics.db.layer0.request;
\r
3 import java.util.Collection;
\r
5 import org.simantics.db.ReadGraph;
\r
6 import org.simantics.db.Resource;
\r
7 import org.simantics.db.common.request.ResourceRead2;
\r
8 import org.simantics.db.exception.DatabaseException;
\r
9 import org.simantics.layer0.Layer0;
\r
11 public class IsLinkedTo extends ResourceRead2<Boolean> {
\r
13 public IsLinkedTo(Resource resource, Resource resource2) {
\r
14 super(resource, resource2);
\r
18 public Boolean perform(ReadGraph graph) throws DatabaseException {
\r
19 if(resource.equals(resource2)) return true;
\r
20 Layer0 L0 = Layer0.getInstance(graph);
\r
21 Collection<Resource> links = graph.getObjects(resource, L0.IsLinkedTo);
\r
22 for(Resource link : links) {
\r
23 if(link.equals(resource2)) return true;
\r
25 for(Resource link : links) {
\r
26 if(graph.syncRequest(new IsLinkedTo(link, resource2))) return true;
\r