# HG changeset patch # User Sascha L. Teichmann # Date 1340804755 0 # Node ID 2f922be407ea39c2a4ef2b7d288ecc3d83ba7ca7 # Parent cd309f8597f6e223eb6c767d47adea7e9380900f Moved common code of the *Artifacts into FLYSArtifact. flys-artifacts/trunk@4809 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r cd309f8597f6 -r 2f922be407ea flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Wed Jun 27 11:50:24 2012 +0000 +++ b/flys-artifacts/ChangeLog Wed Jun 27 13:45:55 2012 +0000 @@ -1,3 +1,20 @@ +2012-06-27 Sascha L. Teichmann + + Moved describe() and the generating of output into FLYSArtifact. + + * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: + This the base class so it should contain common code! + + * src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java, + src/main/java/de/intevation/flys/artifacts/FixationArtifact.java, + src/main/java/de/intevation/flys/artifacts/ChartArtifact.java, + src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java, + src/main/java/de/intevation/flys/artifacts/MapArtifact.java: + Moved common code into base class. + + * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: + Removed superfluous imports. + 2012-06-27 Christian Lins * src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java: @@ -13,7 +30,7 @@ Introduce IdGenerator to generate unique facets IDs within an output, so themes can now be applied properly to points and lines. -2012-06-26 Sascha L. Teichmann +2012-06-27 Sascha L. Teichmann * src/main/java/de/intevation/flys/collections/AttributeParser.java: Removed some expensive XPath usage. Some quick profiling diff -r cd309f8597f6 -r 2f922be407ea flys-artifacts/src/main/java/de/intevation/flys/artifacts/ChartArtifact.java --- 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 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 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"; diff -r cd309f8597f6 -r 2f922be407ea flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java Wed Jun 27 11:50:24 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java Wed Jun 27 13:45:55 2012 +0000 @@ -33,13 +33,18 @@ import de.intevation.flys.artifacts.states.DefaultState; import de.intevation.flys.artifacts.states.DefaultState.ComputeType; +import de.intevation.artifactdatabase.ProtocolUtils; + import de.intevation.flys.utils.FLYSUtils; +import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; + import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.LinkedList; import java.util.Map; import java.util.Set; import java.util.TreeMap; @@ -53,6 +58,10 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; +import org.w3c.dom.Node; + +import de.intevation.artifacts.Message; +import de.intevation.flys.artifacts.model.CalculationMessage; /** * The default FLYS artifact with convenience added. @@ -118,6 +127,35 @@ facets = new HashMap>(); } + /** + * 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 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)); + } + } + /** * Returns the name of the concrete artifact. @@ -376,6 +414,139 @@ return doc; } + /** + * This method returns a description of this artifact. + * + * @param data Some data. + * @param context The CallContext. + * + * @return the description of this artifact. + */ + 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 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 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; + } + + /** Override me! */ + + protected void appendBackgroundActivity( + ElementCreator cr, + Element root, + CallContext context + ) { + LinkedList messages = context.getBackgroundMessages(); + + if (messages == null) { + return; + } + + Element inBackground = cr.create("background-processing"); + root.appendChild(inBackground); + + cr.addAttr( + inBackground, + "value", + String.valueOf(context.isInBackground()), + true); + + CalculationMessage message = (CalculationMessage) messages.getLast(); + cr.addAttr( + inBackground, + "steps", + String.valueOf(message.getSteps()), + true); + + cr.addAttr( + inBackground, + "currentStep", + String.valueOf(message.getCurrentStep()), + true); + + inBackground.setTextContent(message.getMessage()); + } + + /** + * Append output mode nodes to a document. + */ + protected void appendOutputModes( + Document doc, + Element outs, + CallContext context, + String uuid) + { + List generated = getOutputs(context); + logger.debug("This Artifact has " + generated.size() + " Outputs."); + + ProtocolUtils.appendOutputModes(doc, outs, generated); + } + /** * This method handles request for changing the current state of an @@ -1298,7 +1469,8 @@ public int getInitialFacetActivity( String outputName, String facetName, - int index) + int index + ) { return 1; } diff -r cd309f8597f6 -r 2f922be407ea flys-artifacts/src/main/java/de/intevation/flys/artifacts/FixationArtifact.java --- 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 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 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 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 : diff -r cd309f8597f6 -r 2f922be407ea flys-artifacts/src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java Wed Jun 27 11:50:24 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/MINFOArtifact.java Wed Jun 27 13:45:55 2012 +0000 @@ -1,43 +1,15 @@ package de.intevation.flys.artifacts; -import de.intevation.artifactdatabase.ProtocolUtils; - -import de.intevation.artifactdatabase.state.Output; -import de.intevation.artifactdatabase.state.State; -import de.intevation.artifactdatabase.state.StateEngine; - -import de.intevation.artifactdatabase.transition.TransitionEngine; - -import de.intevation.artifacts.CallContext; -import de.intevation.artifacts.Message; - -import de.intevation.artifacts.common.ArtifactNamespaceContext; - -import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; - -import de.intevation.artifacts.common.utils.XMLUtils; - -import de.intevation.flys.artifacts.context.FLYSContext; - -import de.intevation.flys.artifacts.model.CalculationMessage; import de.intevation.flys.artifacts.model.FacetTypes; -import de.intevation.flys.artifacts.states.DefaultState; import de.intevation.flys.artifacts.states.SoundingsSelect; import de.intevation.flys.utils.FLYSUtils; import gnu.trove.TIntArrayList; -import java.util.LinkedList; -import java.util.List; - import org.apache.log4j.Logger; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - /** * The default MINFO artifact. * @@ -63,192 +35,16 @@ public MINFOArtifact() { } - - /** - * This method returns a description of this artifact. - * - * @param data Some data. - * @param context The CallContext. - * - * @return the description of this artifact. - */ - public Document describe(Document data, CallContext context) { - logger.debug("Describe: the current state is: " + getCurrentStateId()); - - FLYSContext flysContext = FLYSUtils.getFlysContext(context); - StateEngine stateEngine = (StateEngine) flysContext.get( - FLYSContext.STATE_ENGINE_KEY); - - TransitionEngine transitionEngine = (TransitionEngine) flysContext.get( - FLYSContext.TRANSITION_ENGINE_KEY); - - List 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; - } - - /** * Returns the name of the concrete artifact. * * @return the name of the concrete artifact. */ + @Override public String getName() { return ARTIFACT_NAME; } - - protected static void appendBackgroundActivity( - ElementCreator cr, - Element root, - CallContext context - ) { - Element inBackground = cr.create("background-processing"); - root.appendChild(inBackground); - - cr.addAttr( - inBackground, - "value", - String.valueOf(context.isInBackground()), - true); - - LinkedList messages = context.getBackgroundMessages(); - - if (messages == null) { - return; - } - - CalculationMessage message = (CalculationMessage) messages.getLast(); - cr.addAttr( - inBackground, - "steps", - String.valueOf(message.getSteps()), - true); - - cr.addAttr( - inBackground, - "currentStep", - String.valueOf(message.getCurrentStep()), - true); - - inBackground.setTextContent(message.getMessage()); - } - - - /** - * Append output mode nodes to a document. - */ - protected void appendOutputModes( - Document doc, - Element outs, - CallContext context, - String uuid) - { - List 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 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)); - } - } - - - /** - * Determines Facets initial disposition regarding activity (think of - * selection in Client ThemeList GUI). This will be checked one time - * when the facet enters a collections describe document. - * - * @param facetName name of the facet. - * @param index index of the facet. - * @return 0 if not active - */ - @Override - public int getInitialFacetActivity(String outputName, String facetName, int index) { - logger.warn("MINFOArtifact.getInitialFacetActivity: not implemented!"); - return 1; - } - - public int[] getMainChannels() { String data = getDataAsString("main.channel"); diff -r cd309f8597f6 -r 2f922be407ea flys-artifacts/src/main/java/de/intevation/flys/artifacts/MapArtifact.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/MapArtifact.java Wed Jun 27 11:50:24 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/MapArtifact.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.ArtifactFactory; import de.intevation.artifacts.CallMeta; @@ -21,7 +20,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.model.River; import de.intevation.flys.utils.FLYSUtils; @@ -58,81 +56,7 @@ @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 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 @@ -151,6 +75,7 @@ /** * Append output mode nodes to a document. */ + @Override protected void appendOutputModes( Document doc, Element outs, @@ -222,38 +147,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 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 MapState extends RiverAxisState { @Override diff -r cd309f8597f6 -r 2f922be407ea flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java Wed Jun 27 11:50:24 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/WINFOArtifact.java Wed Jun 27 13:45:55 2012 +0000 @@ -1,25 +1,8 @@ package de.intevation.flys.artifacts; -import de.intevation.artifactdatabase.ProtocolUtils; - import de.intevation.artifactdatabase.data.StateData; -import de.intevation.artifactdatabase.state.Output; -import de.intevation.artifactdatabase.state.State; -import de.intevation.artifactdatabase.state.StateEngine; - -import de.intevation.artifactdatabase.transition.TransitionEngine; - import de.intevation.artifacts.CallContext; -import de.intevation.artifacts.Message; - -import de.intevation.artifacts.common.ArtifactNamespaceContext; - -import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; - -import de.intevation.artifacts.common.utils.XMLUtils; - -import de.intevation.flys.artifacts.context.FLYSContext; import de.intevation.flys.artifacts.model.Calculation1; import de.intevation.flys.artifacts.model.Calculation2; @@ -28,7 +11,6 @@ import de.intevation.flys.artifacts.model.Calculation5; import de.intevation.flys.artifacts.model.Calculation6; import de.intevation.flys.artifacts.model.Calculation; -import de.intevation.flys.artifacts.model.CalculationMessage; import de.intevation.flys.artifacts.model.CalculationResult; import de.intevation.flys.artifacts.model.DischargeTables; import de.intevation.flys.artifacts.model.FacetTypes; @@ -40,15 +22,14 @@ import de.intevation.flys.artifacts.model.WstValueTable; import de.intevation.flys.artifacts.model.WstValueTableFactory; -import de.intevation.flys.artifacts.states.DefaultState; import de.intevation.flys.artifacts.states.LocationDistanceSelect; import de.intevation.flys.geom.Lines; +import de.intevation.flys.model.DischargeTable; import de.intevation.flys.model.FastCrossSectionLine; import de.intevation.flys.model.Gauge; import de.intevation.flys.model.River; -import de.intevation.flys.model.DischargeTable; import de.intevation.flys.utils.DoubleUtil; import de.intevation.flys.utils.FLYSUtils; @@ -61,16 +42,11 @@ import java.util.Calendar; import java.util.Collections; import java.util.GregorianCalendar; -import java.util.LinkedList; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - /** * The default WINFO artifact. @@ -105,179 +81,17 @@ } - /** - * This method returns a description of this artifact. - * - * @param data Some data. - * @param context The CallContext. - * - * @return the description of this artifact. - */ - 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 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; - } - /** * Returns the name of the concrete artifact. * * @return the name of the concrete artifact. */ + @Override public String getName() { return ARTIFACT_NAME; } - - protected static void appendBackgroundActivity( - ElementCreator cr, - Element root, - CallContext context - ) { - Element inBackground = cr.create("background-processing"); - root.appendChild(inBackground); - - cr.addAttr( - inBackground, - "value", - String.valueOf(context.isInBackground()), - true); - - LinkedList messages = context.getBackgroundMessages(); - - if (messages == null) { - return; - } - - CalculationMessage message = (CalculationMessage) messages.getLast(); - cr.addAttr( - inBackground, - "steps", - String.valueOf(message.getSteps()), - true); - - cr.addAttr( - inBackground, - "currentStep", - String.valueOf(message.getCurrentStep()), - true); - - inBackground.setTextContent(message.getMessage()); - } - - - /** - * Append output mode nodes to a document. - */ - protected void appendOutputModes( - Document doc, - Element outs, - CallContext context, - String uuid) - { - List 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 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)); - } - } - protected static boolean reportGeneratedWs( Calculation report, double [] ws diff -r cd309f8597f6 -r 2f922be407ea flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java Wed Jun 27 11:50:24 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/fixings/FixWQCurveGenerator.java Wed Jun 27 13:45:55 2012 +0000 @@ -16,8 +16,6 @@ import org.apache.log4j.Logger; -import org.jfree.data.general.DatasetUtilities; - import org.jfree.data.xy.XYSeries; import org.w3c.dom.Document;