Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java @ 64:5db77e0a8594
Integrated Output Methods and Interfacsstructure
gnv-artifacts/trunk@47 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Wed, 09 Sep 2009 11:01:55 +0000 |
parents | |
children | 5d4f5d26bb7a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/OutputTransitionBase.java Wed Sep 09 11:01:55 2009 +0000 @@ -0,0 +1,66 @@ +/** + * + */ +package de.intevation.gnv.transition; + +import java.util.ArrayList; +import java.util.Collection; + +import org.apache.log4j.Logger; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import de.intevation.artifactdatabase.Config; + +/** + * @author Tim Englich <tim.englich@intevation.de> + * + */ +public abstract class OutputTransitionBase extends TransitionBase implements + OutputTransition { + /** + * the logger, used to log exceptions and additonaly information + */ + private static Logger log = Logger.getLogger(OutputTransitionBase.class); + + protected Collection<OutputMode> outputModes = null; + /** + * Constructor + */ + public OutputTransitionBase() { + super(); + } + + /** + * @see de.intevation.gnv.transition.OutputTransition#getOutputModes() + */ + public Collection<OutputMode> getOutputModes() { + log.debug("OutputTransitionBase.getOutputModes"); + return this.outputModes; + } + + /** + * @see de.intevation.gnv.transition.TransitionBase#setup(org.w3c.dom.Node) + */ + @Override + public void setup(Node configuration) { + log.debug("OutputTransitionBase.setup"); + super.setup(configuration); + NodeList outputModeList = Config.getNodeSetXPath(configuration, "outputsModes/outputsMode"); + if (outputModeList != null){ + log.debug(outputModeList.getLength()+ " were found."); + this.outputModes = new ArrayList<OutputMode>(outputModeList.getLength()); + for (int i = 0; i < outputModeList.getLength(); i++){ + Node currentNode = outputModeList.item(i); + String name = Config.getStringXPath(currentNode, "@name"); + String description = Config.getStringXPath(currentNode, "@description"); + String mimeType = Config.getStringXPath(currentNode, "@mime-type"); + OutputMode outputMode = new DefaultOutputMode(name, description, mimeType); + log.debug(outputMode.toString()); + this.outputModes.add(outputMode); + + } + } + } + +}