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