Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/ChartArtifact.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 | 4bd3d8bbb60c |
children | b1912514e0f5 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/ChartArtifact.java Wed Jun 27 11:50:24 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/ChartArtifact.java Wed Jun 27 13:45:55 2012 +0000 @@ -6,7 +6,6 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; -import org.w3c.dom.Node; import de.intevation.artifacts.Artifact; @@ -23,7 +22,6 @@ 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.utils.FLYSUtils; @@ -54,83 +52,8 @@ setCurrentState(states.get(0)); } - @Override - 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); - - appendBackgroundActivity(creator, root, context); - - Element name = ProtocolUtils.createArtNode( - creator, "name", - new String[] { "value" }, - new String[] { getName() }); - - 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 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; - - } - - - protected static void appendBackgroundActivity( + protected void appendBackgroundActivity( ElementCreator cr, Element root, CallContext context @@ -149,6 +72,7 @@ /** * Append output mode nodes to a document. */ + @Override protected void appendOutputModes( Document doc, Element outs, @@ -218,38 +142,6 @@ } } - - /** - * 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(); - - logger.debug("previous states: " + stateIds); - 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)); - } - } - - public static class ChartState extends DefaultState { public static final String FIELD_MODE = "chart_type";