ingo@1115: /* ingo@1115: * Copyright (c) 2010 by Intevation GmbH ingo@1115: * ingo@1115: * This program is free software under the LGPL (>=v2.1) ingo@1115: * Read the file LGPL.txt coming with the software for details ingo@1115: * or visit http://www.gnu.org/licenses/ if it does not exist. ingo@1115: */ ingo@1115: tim@345: package de.intevation.gnv.artifacts; tim@345: sascha@779: import de.intevation.artifacts.Artifact; sascha@779: import de.intevation.artifacts.ArtifactFactory; sascha@779: import de.intevation.artifacts.CallContext; sascha@779: tim@345: import java.io.FileOutputStream; tim@345: tim@345: import org.apache.log4j.Logger; tim@345: sascha@779: import org.w3c.dom.Document; tim@345: tim@345: /** sascha@780: * @author Tim Englich tim@345: * tim@345: */ tim@345: public class MeshVerticalCrossSectionTestCase extends GNVArtifactsTestCaseBase { tim@345: tim@345: private static Logger log = Logger.getLogger(MeshVerticalCrossSectionTestCase.class); sascha@778: tim@345: /** tim@345: * Constructor tim@345: */ tim@345: public MeshVerticalCrossSectionTestCase() { tim@345: } tim@345: tim@345: /** tim@345: * Constructor tim@345: * @param name tim@345: */ tim@345: public MeshVerticalCrossSectionTestCase(String name) { tim@345: super(name); tim@345: } tim@345: tim@345: /** tim@345: * @see de.intevation.gnv.artifacts.GNVArtifactsTestCaseBase#testArtifact() tim@345: */ tim@345: @Override tim@345: public void testArtifact() { tim@345: try { tim@345: log.debug("GNVArtifactsTestCase." + tim@345: "testHVerticalCrossSectionMeshArtifact"); tim@345: String artefactName = "fis_modeldata"; tim@345: ArtifactFactory artifactFactory = this tim@345: .getArtifactFactory(artefactName); tim@345: assertNotNull(artifactFactory); tim@345: log.debug("VerticalProfile-ArtifactFactory is available"); sascha@778: tim@595: Artifact artifact = createArtifact(artifactFactory); tim@345: tim@485: CallContext cc = createCallContext(artifactFactory); tim@345: Document describeDocument = this.readDocument("src/test/ressources/verticalcrosssection_mesh/verticalcrosssection_describe.xml"); sascha@778: tim@591: int steps = 7; sascha@778: tim@345: for (int i = 1; i <= steps; i++){ sascha@778: tim@345: this.doNextStep( tim@345: artifact, tim@345: cc, tim@345: "src/test/ressources/verticalcrosssection_mesh/" + tim@345: "verticalcrosssection_step_0"+i+"_feed.xml", tim@345: "src/test/ressources/verticalcrosssection_mesh/" + sascha@778: "verticalcrosssection_step_0"+i+"_advance.xml", tim@345: describeDocument); tim@345: } sascha@778: tim@345: Document outputData = artifact.describe(describeDocument,cc); tim@345: FileOutputStream fos = null; tim@345: FileOutputStream fos2 = null; tim@345: FileOutputStream fos3 = null; tim@345: try { tim@345: fos = new FileOutputStream( tim@345: "src/test/results/verticalcrosssection_mesh" tim@345: + System.currentTimeMillis() + ".png"); sascha@778: tim@345: fos2 = new FileOutputStream( tim@345: "src/test/results/verticalcrosssection_mesh" tim@345: + System.currentTimeMillis() + ".csv"); tim@345: fos3 = new FileOutputStream( tim@345: "src/test/results/verticalcrosssection_mesh" tim@345: + System.currentTimeMillis() + ".odv"); tim@345: artifact.out(this.readDocument("src/test/ressources/" + tim@345: "verticalcrosssection_mesh/" + tim@591: "verticalcrosssection_step_0"+steps+"_out_chart.xml"), tim@345: fos, cc); tim@345: artifact.out(this.readDocument("src/test/ressources/" + tim@345: "verticalcrosssection_mesh/" + tim@591: "verticalcrosssection_step_0"+steps+"_out_csv.xml"), tim@345: fos2,cc); tim@460: // TODO: FIXME: ODV-Export nach Reparatur wieder Testbar machen. tim@460: // artifact.out(this.readDocument("src/test/ressources/" + tim@460: // "verticalcrosssection_mesh/" + tim@591: // "verticalcrosssection_step_0"+steps+"_out_odv.xml"), tim@460: // fos3,cc); sascha@778: tim@345: } catch (Exception e) { tim@345: log.error(e, e); tim@345: fail(); tim@345: } finally { tim@345: try { tim@345: fos.flush(); tim@345: fos.close(); tim@345: fos2.flush(); tim@345: fos2.close(); tim@345: fos3.flush(); tim@345: fos3.close(); tim@345: } catch (Exception e) { tim@345: log.error(e, e); tim@345: } tim@345: } tim@345: } catch (Exception e) { tim@345: log.error(e, e); tim@345: fail(); tim@345: } tim@345: } tim@345: tim@345: }