]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.issues.common/src/org/simantics/issues/common/AllBatchIssueSources.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.issues.common / src / org / simantics / issues / common / AllBatchIssueSources.java
1 package org.simantics.issues.common;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.Collection;\r
5 \r
6 import org.simantics.db.ReadGraph;\r
7 import org.simantics.db.Resource;\r
8 import org.simantics.db.common.request.ObjectsWithType;\r
9 import org.simantics.db.common.request.Queries;\r
10 import org.simantics.db.common.request.ResourceRead;\r
11 import org.simantics.db.exception.DatabaseException;\r
12 import org.simantics.issues.ontology.IssueResource;\r
13 import org.simantics.layer0.Layer0;\r
14 \r
15 public class AllBatchIssueSources extends ResourceRead<Collection<BatchIssueSource>> {\r
16         public AllBatchIssueSources(Resource model) {\r
17                 super(model);\r
18         }\r
19 \r
20         @Override\r
21         public Collection<BatchIssueSource> perform(ReadGraph graph) throws DatabaseException {\r
22                 Layer0 L0 = Layer0.getInstance(graph);\r
23                 Collection<BatchIssueSource> result = new ArrayList<BatchIssueSource>();\r
24                 for (Resource source : graph.sync(new ObjectsWithType(resource, L0.ConsistsOf, IssueResource.getInstance(graph).IssueSource))) {\r
25                         BatchIssueSource bis = graph.syncRequest(Queries.adapt(source, BatchIssueSource.class, true));\r
26                         if(bis != null)\r
27                                 result.add(bis);\r
28                 }\r
29                 return result;\r
30         }\r
31 }