-package org.simantics.document.server.handler;\r
-\r
-import org.simantics.Simantics;\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.common.request.WriteResultRequest;\r
-import org.simantics.db.exception.DatabaseException;\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
-\r
-public abstract class WriteEventHandler extends AbstractEventHandler {\r
-\r
- protected abstract CommandResult handle(WriteGraph graph, CommandContext parameters) throws DatabaseException;\r
-\r
- public CommandResult handle(final CommandContext parameters) {\r
- try {\r
- CommandResult response = Simantics.getSession().syncRequest(new WriteResultRequest<CommandResult>() {\r
- @Override\r
- public CommandResult perform(WriteGraph graph) throws DatabaseException {\r
- graph.markUndoPoint();\r
- return handle(graph, parameters);\r
- }\r
- });\r
-\r
- if(response instanceof IDelayedResponse && !(((IDelayedResponse)response).hasRun())) {\r
- try {\r
- synchronized(response) {\r
- response.wait(200000);\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
-}\r
+package org.simantics.document.server.handler;
+
+import org.simantics.Simantics;
+import org.simantics.db.WriteGraph;
+import org.simantics.db.common.request.WriteResultRequest;
+import org.simantics.db.exception.DatabaseException;
+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;
+
+public abstract class WriteEventHandler extends AbstractEventHandler {
+
+ protected abstract CommandResult handle(WriteGraph graph, CommandContext parameters) throws DatabaseException;
+
+ public CommandResult handle(final CommandContext parameters) {
+ try {
+ CommandResult response = Simantics.getSession().syncRequest(new WriteResultRequest<CommandResult>() {
+ @Override
+ public CommandResult perform(WriteGraph graph) throws DatabaseException {
+ graph.markUndoPoint();
+ return handle(graph, parameters);
+ }
+ });
+
+ if(response instanceof IDelayedResponse && !(((IDelayedResponse)response).hasRun())) {
+ try {
+ synchronized(response) {
+ response.wait(200000);
+ }
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+
+ return response;
+ } catch (DatabaseException e) {
+ e.printStackTrace();
+ return new Error(e.getMessage()); // Return some error
+ }
+ }
+
+
+}