]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.server/src/org/simantics/document/server/request/URIDocumentRequest.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.document.server / src / org / simantics / document / server / request / URIDocumentRequest.java
1 package org.simantics.document.server.request;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.Collections;\r
5 import java.util.Comparator;\r
6 import java.util.List;\r
7 \r
8 import org.simantics.db.ReadGraph;\r
9 import org.simantics.db.common.request.UnaryRead;\r
10 import org.simantics.db.exception.DatabaseException;\r
11 import org.simantics.db.layer0.variable.Variable;\r
12 import org.simantics.db.layer0.variable.Variables;\r
13 import org.simantics.document.server.JSONObject;\r
14 \r
15 public class URIDocumentRequest extends UnaryRead<String, List<JSONObject>> {\r
16 \r
17     public URIDocumentRequest(String var) {\r
18         super(var);\r
19         }\r
20 \r
21         @Override\r
22         public List<JSONObject> perform(ReadGraph graph) throws DatabaseException {\r
23                 \r
24                 Variable var = Variables.getPossibleVariable(graph, parameter);\r
25                 if(var == null) {\r
26                         Variables.getPossibleVariable(graph, parameter);\r
27                         return Collections.emptyList();\r
28                 }\r
29                 \r
30                 ArrayList<JSONObject> result = new ArrayList<JSONObject>(graph.syncRequest(new DocumentRequest(var)));\r
31                 Collections.sort(result, new Comparator<JSONObject>() {\r
32 \r
33                         @Override\r
34                         public int compare(JSONObject o1, JSONObject o2) {\r
35                                 return o1.id.compareTo(o2.id);\r
36                         }\r
37                         \r
38                 });\r
39                 return result;\r
40                                 \r
41         }\r
42         \r
43 }