+package org.simantics.document.swt.core;\r
+\r
+\r
+import java.util.Map;\r
+\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.WriteGraph;\r
+import org.simantics.db.common.request.WriteRequest;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.document.server.JSONObject;\r
+import org.simantics.document.server.handler.EventHandler;\r
+import org.simantics.document.server.io.CommandContext;\r
+import org.simantics.document.server.serverResponse.ServerResponse;\r
+\r
+/*\r
+ * TODO: this is a quick and dirty solution and should be removed.\r
+ * \r
+ */\r
+abstract public class SWTEventHandler extends EventHandler {\r
+\r
+ abstract public void setSender(SWTDocument document, JSONObject object);\r
+\r
+ abstract public void handle(WriteGraph graph, Map<String, String> parameters) throws DatabaseException;\r
+\r
+ @Override\r
+ final public ServerResponse handle(ReadGraph graph, final CommandContext parameters) throws DatabaseException {\r
+ graph.async(new WriteRequest() {\r
+ \r
+ @Override\r
+ public void perform(WriteGraph graph) throws DatabaseException {\r
+ handle(graph, parameters);\r
+ }\r
+ });\r
+ return null;\r
+ }\r
+ \r
+}\r