Mercurial > dive4elements > gnv-client
view gnv-artifacts/src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java @ 55:6ded86ce30dd
Constructs for the required Inputvalues for an Transition created
gnv-artifacts/trunk@37 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Tue, 08 Sep 2009 09:35:53 +0000 |
parents | 09b4bf848c7b |
children | f31343d80d53 |
line wrap: on
line source
/** * */ package de.intevation.gnv.artifacts; import java.io.StringWriter; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.TransformerFactoryConfigurationError; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.Logger; import org.w3c.dom.Document; import de.intevation.artifactdatabase.Config; import de.intevation.artifactdatabase.FactoryBootstrap; import de.intevation.artifacts.Artifact; import de.intevation.artifacts.ArtifactFactory; import de.intevation.gnv.artifacts.context.GNVArtifactContext; import de.intevation.gnv.artifacts.context.GNVArtifactContextFactory; import junit.framework.TestCase; /** * @author Tim Englich <tim.englich@intevation.de> * */ public class GNVArtifactsTestCase extends TestCase { /** * the logger, used to log exceptions and additonaly information */ private static Logger log = null; static { BasicConfigurator.configure(); log = Logger.getLogger(GNVArtifactContext.class); } private String configurationFile = "src/test/ressources/GNVArtifactsTestCase_Configuration.xml"; private FactoryBootstrap bootstrap = null; /** * Constructor * @param name */ public GNVArtifactsTestCase(String name) { super(name); } /** * @see junit.framework.TestCase#setUp() */ protected void setUp() throws Exception { log.debug("GNVArtifactsTestCase.setUp"); super.setUp(); log.info(Config.CONFIG_PROPERTY + " ==> "+configurationFile); System.setProperty(Config.CONFIG_PROPERTY, configurationFile); log.info("Bootstrap wird initialisiert."); bootstrap = new FactoryBootstrap(); bootstrap.boot(); } public void testTimeSeriesArtifact(){ log.debug("GNVArtifactsTestCase.testTimeSeriesArtifact"); String artefactName = "timeSeries"; ArtifactFactory artifactFactory = this.getArtifactFactory(artefactName); assertNotNull(artifactFactory); log.debug("TimeSeries-ArtifactFactory is available"); Artifact artifact = artifactFactory.createArtifact(""+System.currentTimeMillis(),bootstrap.getContext()); assertNotNull(artifact); log.debug("TimeSeries-Artifact is available"); Document indata = this.getDocument(); Document outData = this.createOutputDocument(); Document outputData = artifact.describe(bootstrap.getContext()); this.writeDocument2Log(outputData); artifact.feed(indata, bootstrap.getContext()); artifact.advance(outData, bootstrap.getContext()); outputData = artifact.describe(bootstrap.getContext()); } private Document getDocument(){ return this.createOutputDocument(); } private Document createOutputDocument(){ try { return DocumentBuilderFactory .newInstance() .newDocumentBuilder() .newDocument(); } catch (ParserConfigurationException e) { log.error(e,e); } return null; } /** * @param artefactName */ private ArtifactFactory getArtifactFactory(String artefactName){ log.debug("GNVArtifactsTestCase.getArtifactFactory"); ArtifactFactory[] artifactFactories = bootstrap.getArtifactFactories(); for (int i = 0; i < artifactFactories.length; i++){ if (artifactFactories[i].getName().equals(artefactName)){ log.debug("ArtifactFactory wurde gefunden."); return artifactFactories[i]; } } return null; } protected void writeDocument2Log(Document document){ try { TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(document); StringWriter sw = new StringWriter(); StreamResult result = new StreamResult(sw); transformer.transform(source, result); log.debug(sw.getBuffer().toString()); } catch (TransformerConfigurationException e) { log.error(e,e); } catch (TransformerFactoryConfigurationError e) { log.error(e,e); } catch (TransformerException e) { log.error(e,e); } } }