-package org.simantics.document.server.handler;\r
-\r
-import org.simantics.Simantics;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.request.Read;\r
-import org.simantics.document.server.io.CommandContext;\r
-import org.simantics.document.server.io.CommandResult;\r
-import org.simantics.document.server.serverResponse.Error;\r
-import org.simantics.document.server.serverResponse.IDelayedResponse;\r
-import org.simantics.document.server.serverResponse.ServerResponse;\r
-\r
-public abstract class EventHandler extends AbstractEventHandler {\r
- \r
- protected abstract ServerResponse handle(ReadGraph graph, CommandContext parameters) throws DatabaseException;\r
-\r
- public CommandResult handle(final CommandContext parameters) {\r
- try {\r
- ServerResponse response = Simantics.getSession().syncRequest(new Read<ServerResponse>() {\r
- @Override\r
- public ServerResponse perform(ReadGraph graph) throws DatabaseException {\r
- return handle(graph, parameters);\r
- }\r
- });\r
-\r
- if(response instanceof IDelayedResponse && !(((IDelayedResponse)response).hasRun())) {\r
- try {\r
- synchronized(response) {\r
- response.wait(20000);\r
- }\r
- } catch (InterruptedException e) {\r
- e.printStackTrace();\r
- }\r
- }\r
- \r
- return response;\r
- } catch (DatabaseException e) {\r
- e.printStackTrace();\r
- return new Error(e.getMessage()); // Return some error\r
- }\r
- }\r
-\r
-}\r
+package org.simantics.document.server.handler;
+
+import org.simantics.Simantics;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.request.Read;
+import org.simantics.document.server.io.CommandContext;
+import org.simantics.document.server.io.CommandResult;
+import org.simantics.document.server.serverResponse.Error;
+import org.simantics.document.server.serverResponse.IDelayedResponse;
+import org.simantics.document.server.serverResponse.ServerResponse;
+
+public abstract class EventHandler extends AbstractEventHandler {
+
+ protected abstract ServerResponse handle(ReadGraph graph, CommandContext parameters) throws DatabaseException;
+
+ public CommandResult handle(final CommandContext parameters) {
+ try {
+ ServerResponse response = Simantics.getSession().syncRequest(new Read<ServerResponse>() {
+ @Override
+ public ServerResponse perform(ReadGraph graph) throws DatabaseException {
+ return handle(graph, parameters);
+ }
+ });
+
+ if(response instanceof IDelayedResponse && !(((IDelayedResponse)response).hasRun())) {
+ try {
+ synchronized(response) {
+ response.wait(20000);
+ }
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ return response;
+ } catch (DatabaseException e) {
+ e.printStackTrace();
+ return new Error(e.getMessage()); // Return some error
+ }
+ }
+
+}