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