--- /dev/null
+package org.simantics.document.server.request;\r
+\r
+import java.util.ArrayList;\r
+import java.util.Collections;\r
+import java.util.Comparator;\r
+import java.util.List;\r
+\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.common.request.UnaryRead;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.db.layer0.variable.Variable;\r
+import org.simantics.db.layer0.variable.Variables;\r
+import org.simantics.document.server.JSONObject;\r
+\r
+public class URIDocumentRequest extends UnaryRead<String, List<JSONObject>> {\r
+\r
+ public URIDocumentRequest(String var) {\r
+ super(var);\r
+ }\r
+\r
+ @Override\r
+ public List<JSONObject> perform(ReadGraph graph) throws DatabaseException {\r
+ \r
+ Variable var = Variables.getPossibleVariable(graph, parameter);\r
+ if(var == null) {\r
+ Variables.getPossibleVariable(graph, parameter);\r
+ return Collections.emptyList();\r
+ }\r
+ \r
+ ArrayList<JSONObject> result = new ArrayList<JSONObject>(graph.syncRequest(new DocumentRequest(var)));\r
+ Collections.sort(result, new Comparator<JSONObject>() {\r
+\r
+ @Override\r
+ public int compare(JSONObject o1, JSONObject o2) {\r
+ return o1.id.compareTo(o2.id);\r
+ }\r
+ \r
+ });\r
+ return result;\r
+ \r
+ }\r
+ \r
+}
\ No newline at end of file