]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.swt.core/src/org/simantics/document/swt/core/SWTEventHandler.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.document.swt.core / src / org / simantics / document / swt / core / SWTEventHandler.java
diff --git a/bundles/org.simantics.document.swt.core/src/org/simantics/document/swt/core/SWTEventHandler.java b/bundles/org.simantics.document.swt.core/src/org/simantics/document/swt/core/SWTEventHandler.java
new file mode 100644 (file)
index 0000000..a741f64
--- /dev/null
@@ -0,0 +1,37 @@
+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