Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/FixationArtifact.java @ 3193:2f922be407ea
Moved common code of the *Artifacts into FLYSArtifact.
flys-artifacts/trunk@4809 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 27 Jun 2012 13:45:55 +0000 |
parents | 306b9d0f0fb3 |
children | a66df8e8d3df |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FixationArtifact.java Wed Jun 27 11:50:24 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FixationArtifact.java Wed Jun 27 13:45:55 2012 +0000 @@ -1,30 +1,9 @@ package de.intevation.flys.artifacts; -import java.util.List; +import de.intevation.flys.artifacts.model.FacetTypes; import org.apache.log4j.Logger; -import org.w3c.dom.Element; -import org.w3c.dom.Document; -import org.w3c.dom.Node; - -import de.intevation.artifacts.CallContext; -import de.intevation.artifacts.common.utils.XMLUtils; -import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; -import de.intevation.artifacts.common.ArtifactNamespaceContext; - -import de.intevation.artifactdatabase.ProtocolUtils; -import de.intevation.artifactdatabase.state.State; -import de.intevation.artifactdatabase.state.StateEngine; -import de.intevation.artifactdatabase.state.Output; -import de.intevation.artifactdatabase.transition.TransitionEngine; - -import de.intevation.flys.artifacts.model.FacetTypes; -import de.intevation.flys.artifacts.context.FLYSContext; -import de.intevation.flys.artifacts.states.DefaultState; - -import de.intevation.flys.utils.FLYSUtils; - /** * The default fixation analysis artifact. * @@ -51,126 +30,9 @@ * * @return the name of the concrete artifact. */ + @Override public String getName() { return ARTIFACT_NAME; } - - public Document describe(Document data, CallContext context) { - logger.debug("Describe: the current state is: " + getCurrentStateId()); - - if (logger.isDebugEnabled()) { - dumpArtifact(); - } - - FLYSContext flysContext = FLYSUtils.getFlysContext(context); - - StateEngine stateEngine = (StateEngine) flysContext.get( - FLYSContext.STATE_ENGINE_KEY); - - TransitionEngine transitionEngine = (TransitionEngine) flysContext.get( - FLYSContext.TRANSITION_ENGINE_KEY); - - List<State> reachable = transitionEngine.getReachableStates( - this, getCurrentState(context), stateEngine); - - Document description = XMLUtils.newDocument(); - XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator( - description, - ArtifactNamespaceContext.NAMESPACE_URI, - ArtifactNamespaceContext.NAMESPACE_PREFIX); - - Element root = ProtocolUtils.createRootNode(creator); - description.appendChild(root); - - State current = getCurrentState(context); - - ProtocolUtils.appendDescribeHeader(creator, root, identifier(), hash()); - ProtocolUtils.appendState(creator, root, current); - ProtocolUtils.appendReachableStates(creator, root, reachable); - - Element ui = ProtocolUtils.createArtNode( - creator, "ui", null, null); - - Element staticUI = ProtocolUtils.createArtNode( - creator, "static", null, null); - - Element outs = ProtocolUtils.createArtNode( - creator, "outputmodes", null, null); - appendOutputModes(description, outs, context, identifier()); - - appendStaticUI(description, staticUI, context, identifier()); - - - Element name = ProtocolUtils.createArtNode( - creator, "name", - new String[] { "value" }, - new String[] { getName() }); - - Element dynamic = current.describe( - this, - description, - root, - context, - identifier()); - - if (dynamic != null) { - ui.appendChild(dynamic); - } - - ui.appendChild(staticUI); - - root.appendChild(name); - root.appendChild(ui); - root.appendChild(outs); - - return description; - } - - - /** - * Append output mode nodes to a document. - */ - protected void appendOutputModes( - Document doc, - Element outs, - CallContext context, - String uuid) - { - List<Output> generated = getOutputs(context); - logger.debug("This Artifact has " + generated.size() + " Outputs."); - - ProtocolUtils.appendOutputModes(doc, outs, generated); - } - - - /** - * This method appends the static data - that has already been inserted by - * the user - to the static node of the DESCRIBE document. - * - * @param doc The document. - * @param ui The root node. - * @param context The CallContext. - * @param uuid The identifier of the artifact. - */ - protected void appendStaticUI( - Document doc, - Node ui, - CallContext context, - String uuid) - { - List<String> stateIds = getPreviousStateIds(); - - FLYSContext flysContext = FLYSUtils.getFlysContext(context); - StateEngine engine = (StateEngine) flysContext.get( - FLYSContext.STATE_ENGINE_KEY); - - for (String stateId: stateIds) { - logger.debug("Append static data for state: " + stateId); - DefaultState state = (DefaultState) engine.getState(stateId); - - ui.appendChild(state.describeStatic(this, doc, ui, context, uuid)); - } - } - } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :