X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.document.server%2Fsrc%2Forg%2Fsimantics%2Fdocument%2Fserver%2Frequest%2FHandleEventRequest.java;h=4c611a9aab043d749f0be7c4158b0fce95a0da76;hp=60cbad36483ed870ca032aaa2c22206ab0771699;hb=ae2e31aa5eb35410e5b2ce222d42421154f3fecc;hpb=969bd23cab98a79ca9101af33334000879fb60c5 diff --git a/bundles/org.simantics.document.server/src/org/simantics/document/server/request/HandleEventRequest.java b/bundles/org.simantics.document.server/src/org/simantics/document/server/request/HandleEventRequest.java index 60cbad364..4c611a9aa 100644 --- a/bundles/org.simantics.document.server/src/org/simantics/document/server/request/HandleEventRequest.java +++ b/bundles/org.simantics.document.server/src/org/simantics/document/server/request/HandleEventRequest.java @@ -1,36 +1,33 @@ -package org.simantics.document.server.request; - -import org.simantics.db.ReadGraph; -import org.simantics.db.exception.DatabaseException; -import org.simantics.db.layer0.variable.Variable; -import org.simantics.db.layer0.variable.Variables; -import org.simantics.db.request.Read; -import org.simantics.document.server.handler.AbstractEventHandler; -import org.simantics.document.server.io.CommandContext; -import org.simantics.structural.stubs.StructuralResource2; - -public class HandleEventRequest implements Read { - - final String id; - - public HandleEventRequest(String id) { - this.id = id; - } - - @Override - public AbstractEventHandler perform(ReadGraph graph) throws DatabaseException { - - StructuralResource2.getInstance(graph); - - Variable variable = Variables.getPossibleVariable(graph, id); - if(variable == null) return null; - -// System.err.println("EVENT " + variable.getURI(graph)); - Object handler = variable.getValue(graph); - if(handler instanceof AbstractEventHandler) - return (AbstractEventHandler) handler; - else - throw new DatabaseException("Handler for " + id + " is not instance of AbstractEventHandler (it is instance of " + (handler != null ? handler.getClass() : null) + ")"); - } - +package org.simantics.document.server.request; + +import org.simantics.db.ReadGraph; +import org.simantics.db.common.request.UnaryRead; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.layer0.variable.Variable; +import org.simantics.db.layer0.variable.Variables; +import org.simantics.document.server.handler.AbstractEventHandler; +import org.simantics.structural.stubs.StructuralResource2; + +public class HandleEventRequest extends UnaryRead { + + public HandleEventRequest(String id) { + super(id); + } + + @Override + public AbstractEventHandler perform(ReadGraph graph) throws DatabaseException { + + StructuralResource2.getInstance(graph); + + Variable variable = Variables.getPossibleVariable(graph, parameter); + if(variable == null) return null; + +// System.err.println("EVENT " + variable.getURI(graph)); + Object handler = variable.getValue(graph); + if(handler instanceof AbstractEventHandler) + return (AbstractEventHandler) handler; + else + throw new DatabaseException("Handler for " + parameter + " is not instance of AbstractEventHandler (it is instance of " + (handler != null ? handler.getClass() : null) + ")"); + } + } \ No newline at end of file