tim@52: /** tim@52: * tim@52: */ tim@52: package de.intevation.gnv.artifacts; tim@52: tim@69: import java.io.ByteArrayInputStream; tim@58: import java.io.File; tim@69: import java.io.FileNotFoundException; tim@69: import java.io.FileOutputStream; tim@58: import java.io.IOException; tim@54: tim@58: import javax.xml.parsers.DocumentBuilder; tim@52: import javax.xml.parsers.DocumentBuilderFactory; tim@52: import javax.xml.parsers.ParserConfigurationException; tim@72: tim@72: import junit.framework.TestCase; tim@52: tim@52: import org.apache.log4j.BasicConfigurator; tim@52: import org.apache.log4j.Logger; tim@52: import org.w3c.dom.Document; tim@58: import org.xml.sax.SAXException; tim@52: tim@52: import de.intevation.artifactdatabase.Config; tim@52: import de.intevation.artifactdatabase.FactoryBootstrap; tim@52: import de.intevation.artifacts.Artifact; tim@52: import de.intevation.artifacts.ArtifactFactory; tim@102: import de.intevation.artifacts.CallContext; tim@52: import de.intevation.gnv.artifacts.context.GNVArtifactContext; tim@72: import de.intevation.gnv.utils.ArtifactXMLUtilities; tim@52: tim@52: /** tim@52: * @author Tim Englich tim@52: * tim@52: */ tim@52: public class GNVArtifactsTestCase extends TestCase { tim@52: tim@52: /** tim@52: * the logger, used to log exceptions and additonaly information tim@52: */ tim@52: private static Logger log = null; tim@52: tim@52: static { tim@52: BasicConfigurator.configure(); tim@52: log = Logger.getLogger(GNVArtifactContext.class); tim@52: } tim@52: tim@69: private String configurationDir = "src/test/ressources/"; tim@52: tim@52: private FactoryBootstrap bootstrap = null; tim@52: /** tim@52: * Constructor tim@52: * @param name tim@52: */ tim@52: public GNVArtifactsTestCase(String name) { tim@52: super(name); tim@52: } tim@52: tim@52: /** tim@52: * @see junit.framework.TestCase#setUp() tim@52: */ tim@52: protected void setUp() throws Exception { tim@52: log.debug("GNVArtifactsTestCase.setUp"); tim@52: super.setUp(); tim@69: log.info(Config.CONFIG_DIR + " ==> "+configurationDir); tim@69: System.setProperty(Config.CONFIG_DIR, configurationDir); tim@52: log.info("Bootstrap wird initialisiert."); tim@52: bootstrap = new FactoryBootstrap(); tim@52: bootstrap.boot(); tim@52: } tim@52: tim@52: public void testTimeSeriesArtifact(){ tim@106: try { tim@106: log.debug("GNVArtifactsTestCase.testTimeSeriesArtifact"); tim@106: String artefactName = "fis_marnet"; tim@106: ArtifactFactory artifactFactory = this.getArtifactFactory(artefactName); tim@106: assertNotNull(artifactFactory); tim@106: log.debug("TimeSeries-ArtifactFactory is available"); tim@106: Artifact artifact = artifactFactory.createArtifact(""+System.currentTimeMillis(),bootstrap.getContext()); tim@106: assertNotNull(artifact); tim@106: log.debug("TimeSeries-Artifact is available"); tim@106: tim@106: tim@106: CallContext cc = new TestCallContext(bootstrap.getContext()); tim@106: tim@106: // Erster Schritt tim@106: Document outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_01_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries/timeseries_step_01_advance.xml"), cc); tim@106: this.writeDocument2Log(outputData); tim@106: this.check4ExceptionReport(outputData); tim@106: tim@106: // Zweiter Schritt tim@106: outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_02_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries/timeseries_step_02_advance.xml"), cc); tim@106: this.writeDocument2Log(outputData); tim@106: tim@106: // Dritter Schritt tim@106: outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_03_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries/timeseries_step_03_advance.xml"), cc); tim@106: this.writeDocument2Log(outputData); tim@106: this.check4ExceptionReport(outputData); tim@106: tim@106: tim@106: // Vierter Schritt tim@106: outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_04_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries/timeseries_step_04_advance.xml"),cc); tim@106: this.writeDocument2Log(outputData); tim@106: this.check4ExceptionReport(outputData); tim@106: tim@106: // Fünfter Schritt tim@106: outputData = artifact.describe(null); tim@106: FileOutputStream fos = null; tim@106: try{ tim@106: fos = new FileOutputStream("src/test/results/timeseriesdiagramm"+System.currentTimeMillis()+".png"); tim@106: artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_05_feed.xml"), cc); tim@106: artifact.out(this.readDocument("src/test/ressources/timeseries/timeseries_step_05_out.xml"),fos, cc); tim@106: } catch (Exception e){ tim@106: log.error(e,e); tim@106: fail(); tim@106: }finally{ tim@106: try { tim@106: fos.flush(); tim@106: fos.close(); tim@106: } catch (Exception e) { tim@106: log.error(e,e); tim@106: } tim@106: } tim@106: } catch (Exception e) { tim@73: log.error(e,e); tim@73: fail(); tim@73: } tim@52: } tim@52: tim@107: public void testTimeSeriesMeshArtifact(){ tim@107: try { tim@107: log.debug("GNVArtifactsTestCase.testTimeSeriesMeshArtifact"); tim@107: String artefactName = "fis_modeldata"; tim@107: ArtifactFactory artifactFactory = this.getArtifactFactory(artefactName); tim@107: assertNotNull(artifactFactory); tim@107: log.debug("TimeSeriesMesh-ArtifactFactory is available"); tim@107: Artifact artifact = artifactFactory.createArtifact(""+System.currentTimeMillis(),bootstrap.getContext()); tim@107: assertNotNull(artifact); tim@107: log.debug("TimeSeriesMesh-Artifact is available"); tim@107: tim@107: tim@107: CallContext cc = new TestCallContext(bootstrap.getContext()); tim@107: tim@107: // Erster Schritt tim@107: Document outputData = artifact.describe(null); tim@107: this.writeDocument2Log(outputData); tim@107: artifact.feed(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_01_feed.xml"), cc); tim@107: outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_01_advance.xml"), cc); tim@107: this.writeDocument2Log(outputData); tim@107: this.check4ExceptionReport(outputData); tim@107: tim@107: // Zweiter Schritt tim@107: outputData = artifact.describe(null); tim@107: this.writeDocument2Log(outputData); tim@107: artifact.feed(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_02_feed.xml"), cc); tim@107: outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_02_advance.xml"), cc); tim@107: this.writeDocument2Log(outputData); tim@107: tim@107: // Dritter Schritt tim@107: outputData = artifact.describe(null); tim@107: this.writeDocument2Log(outputData); tim@107: artifact.feed(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_03_feed.xml"), cc); tim@107: outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_03_advance.xml"), cc); tim@107: this.writeDocument2Log(outputData); tim@107: this.check4ExceptionReport(outputData); tim@107: tim@107: tim@107: // Vierter Schritt tim@107: outputData = artifact.describe(null); tim@107: this.writeDocument2Log(outputData); tim@107: artifact.feed(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_04_feed.xml"), cc); tim@107: outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_04_advance.xml"),cc); tim@107: this.writeDocument2Log(outputData); tim@107: this.check4ExceptionReport(outputData); tim@107: tim@107: // Fünfter Schritt tim@107: outputData = artifact.describe(null); tim@107: this.writeDocument2Log(outputData); tim@107: artifact.feed(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_05_feed.xml"), cc); tim@107: outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_05_advance.xml"),cc); tim@107: this.writeDocument2Log(outputData); tim@107: this.check4ExceptionReport(outputData); tim@107: tim@107: // Sechster Schritt tim@107: outputData = artifact.describe(null); tim@107: this.writeDocument2Log(outputData); tim@107: artifact.feed(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_06_feed.xml"), cc); tim@107: outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_06_advance.xml"),cc); tim@107: this.writeDocument2Log(outputData); tim@107: this.check4ExceptionReport(outputData); tim@107: tim@107: // Siebter Schritt tim@107: outputData = artifact.describe(null); tim@107: FileOutputStream fos = null; tim@107: FileOutputStream fos2 = null; tim@107: FileOutputStream fos3 = null; tim@107: try{ tim@107: fos = new FileOutputStream("src/test/results/timeseries_mesh"+System.currentTimeMillis()+".png"); tim@107: fos2 = new FileOutputStream("src/test/results/timeseries_mesh"+System.currentTimeMillis()+".xml"); tim@107: fos3 = new FileOutputStream("src/test/results/timeseries_mesh"+System.currentTimeMillis()+".csv"); tim@107: artifact.feed(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_07_feed.xml"), cc); tim@107: artifact.out(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_07_out_statistics.xml"),fos2, cc); tim@107: artifact.out(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_07_out_chart.xml"),fos, cc); tim@107: artifact.out(this.readDocument("src/test/ressources/timeseries_mesh/timeseries_step_07_out_csv.xml"),fos3, cc); tim@107: } catch (Exception e){ tim@107: log.error(e,e); tim@107: fail(); tim@107: }finally{ tim@107: try { tim@107: fos.flush(); tim@107: fos.close(); tim@107: fos2.flush(); tim@107: fos2.close(); tim@107: fos3.flush(); tim@107: fos3.close(); tim@107: } catch (Exception e) { tim@107: log.error(e,e); tim@107: } tim@107: } tim@107: } catch (Exception e) { tim@107: log.error(e,e); tim@107: fail(); tim@107: } tim@107: } tim@107: tim@103: public void testVerticalProfileArtifact(){ tim@106: try { tim@106: log.debug("GNVArtifactsTestCase.testVerticalProfileArtifact"); tim@106: String artefactName = "fis_marnet"; tim@106: ArtifactFactory artifactFactory = this.getArtifactFactory(artefactName); tim@106: assertNotNull(artifactFactory); tim@106: log.debug("VerticalProfile-ArtifactFactory is available"); tim@106: Artifact artifact = artifactFactory.createArtifact(""+System.currentTimeMillis(),bootstrap.getContext()); tim@106: assertNotNull(artifact); tim@106: log.debug("VerticalProfile-Artifact is available"); tim@106: tim@106: tim@106: CallContext cc = new TestCallContext(bootstrap.getContext()); tim@106: tim@106: // Erster Schritt tim@106: Document outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/verticalprofile/verticalprofile_step_01_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/verticalprofile/verticalprofile_step_01_advance.xml"), cc); tim@106: this.writeDocument2Log(outputData); tim@106: this.check4ExceptionReport(outputData); tim@106: tim@106: // Zweiter Schritt tim@106: outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/verticalprofile/verticalprofile_step_02_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/verticalprofile/verticalprofile_step_02_advance.xml"), cc); tim@106: this.writeDocument2Log(outputData); tim@106: this.check4ExceptionReport(outputData); tim@106: tim@106: // Dritter Schritt tim@106: outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/verticalprofile/verticalprofile_step_03_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/verticalprofile/verticalprofile_step_03_advance.xml"), cc); tim@106: this.writeDocument2Log(outputData); tim@106: this.check4ExceptionReport(outputData); tim@106: tim@107: // Vierter Schritt tim@106: outputData = artifact.describe(null); tim@106: FileOutputStream fos = null; tim@106: FileOutputStream fos2 = null; tim@106: FileOutputStream fos3 = null; tim@106: try{ tim@106: fos = new FileOutputStream("src/test/results/verticalprofile"+System.currentTimeMillis()+".png"); tim@106: fos2 = new FileOutputStream("src/test/results/verticalprofile"+System.currentTimeMillis()+".xml"); tim@106: fos3 = new FileOutputStream("src/test/results/verticalprofile"+System.currentTimeMillis()+".csv"); tim@106: artifact.feed(this.readDocument("src/test/ressources/verticalprofile/verticalprofile_step_04_feed.xml"), cc); tim@106: artifact.out(this.readDocument("src/test/ressources/verticalprofile/verticalprofile_step_04_out_statistics.xml"),fos2, cc); tim@106: artifact.out(this.readDocument("src/test/ressources/verticalprofile/verticalprofile_step_04_out_chart.xml"),fos, cc); tim@106: artifact.out(this.readDocument("src/test/ressources/verticalprofile/verticalprofile_step_04_out_csv.xml"),fos3, cc); tim@106: } catch (Exception e){ tim@106: log.error(e,e); tim@106: fail(); tim@106: }finally{ tim@106: try { tim@106: fos.flush(); tim@106: fos.close(); tim@106: fos2.flush(); tim@106: fos2.close(); tim@106: fos3.flush(); tim@106: fos3.close(); tim@106: } catch (Exception e) { tim@106: log.error(e,e); tim@106: } tim@106: } tim@106: } catch (Exception e) { tim@103: log.error(e,e); tim@103: fail(); tim@103: } tim@103: } tim@103: tim@105: public void testVerticalProfileMeshArtifact(){ tim@106: try { tim@106: log.debug("GNVArtifactsTestCase.testVerticalProfileArtifact"); tim@106: String artefactName = "fis_modeldata"; tim@106: ArtifactFactory artifactFactory = this.getArtifactFactory(artefactName); tim@106: assertNotNull(artifactFactory); tim@106: log.debug("VerticalProfile-ArtifactFactory is available"); tim@106: Artifact artifact = artifactFactory.createArtifact(""+System.currentTimeMillis(),bootstrap.getContext()); tim@106: assertNotNull(artifact); tim@106: log.debug("VerticalProfile-Artifact is available"); tim@106: tim@106: tim@106: CallContext cc = new TestCallContext(bootstrap.getContext()); tim@106: tim@106: // Erster Schritt tim@106: Document outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/verticalprofile_mesh/verticalprofile_step_01_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/verticalprofile_mesh/verticalprofile_step_01_advance.xml"), cc); tim@106: this.writeDocument2Log(outputData); tim@106: this.check4ExceptionReport(outputData); tim@106: tim@106: // Zweiter Schritt tim@106: outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/verticalprofile_mesh/verticalprofile_step_02_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/verticalprofile_mesh/verticalprofile_step_02_advance.xml"), cc); tim@106: this.writeDocument2Log(outputData); tim@106: this.check4ExceptionReport(outputData); tim@106: tim@106: // Dritter Schritt tim@106: outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/verticalprofile_mesh/verticalprofile_step_03_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/verticalprofile_mesh/verticalprofile_step_03_advance.xml"), cc); tim@106: this.writeDocument2Log(outputData); tim@106: this.check4ExceptionReport(outputData); tim@106: tim@106: // Vierter Schritt tim@106: outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/verticalprofile_mesh/verticalprofile_step_04_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/verticalprofile_mesh/verticalprofile_step_04_advance.xml"), cc); tim@106: this.writeDocument2Log(outputData); tim@106: this.check4ExceptionReport(outputData); tim@106: tim@107: // Fünfter Schritt tim@106: outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/verticalprofile_mesh/verticalprofile_step_05_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/verticalprofile_mesh/verticalprofile_step_05_advance.xml"), cc); tim@106: this.writeDocument2Log(outputData); tim@106: this.check4ExceptionReport(outputData); tim@106: tim@107: // Sechster Schritt tim@106: outputData = artifact.describe(null); tim@106: FileOutputStream fos = null; tim@106: FileOutputStream fos2 = null; tim@106: FileOutputStream fos3 = null; tim@106: try{ tim@106: fos = new FileOutputStream("src/test/results/verticalprofile_mesh"+System.currentTimeMillis()+".png"); tim@106: fos2 = new FileOutputStream("src/test/results/verticalprofile_mesh"+System.currentTimeMillis()+".xml"); tim@106: fos3 = new FileOutputStream("src/test/results/verticalprofile_mesh"+System.currentTimeMillis()+".csv"); tim@106: artifact.feed(this.readDocument("src/test/ressources/verticalprofile_mesh/verticalprofile_step_06_feed.xml"), cc); tim@106: artifact.out(this.readDocument("src/test/ressources/verticalprofile_mesh/verticalprofile_step_06_out_statistics.xml"),fos2, cc); tim@106: artifact.out(this.readDocument("src/test/ressources/verticalprofile_mesh/verticalprofile_step_06_out_chart.xml"),fos, cc); tim@106: artifact.out(this.readDocument("src/test/ressources/verticalprofile_mesh/verticalprofile_step_06_out_csv.xml"),fos3, cc); tim@106: } catch (Exception e){ tim@106: log.error(e,e); tim@106: fail(); tim@106: }finally{ tim@106: try { tim@106: fos.flush(); tim@106: fos.close(); tim@106: fos2.flush(); tim@106: fos2.close(); tim@106: fos3.flush(); tim@106: fos3.close(); tim@106: } catch (Exception e) { tim@106: log.error(e,e); tim@106: } tim@106: } tim@106: } catch (Exception e) { tim@105: log.error(e,e); tim@105: fail(); tim@105: } tim@105: } tim@105: tim@105: tim@105: tim@103: public void testVerticalProfileInstantaneousPointArtifact(){ tim@106: try { tim@106: log.debug("GNVArtifactsTestCase.testVerticalProfileArtifact"); tim@106: String artefactName = "fis_instantaneouspoint"; tim@106: ArtifactFactory artifactFactory = this.getArtifactFactory(artefactName); tim@106: assertNotNull(artifactFactory); tim@106: log.debug("VerticalProfile-ArtifactFactory is available"); tim@106: Artifact artifact = artifactFactory.createArtifact(""+System.currentTimeMillis(),bootstrap.getContext()); tim@106: assertNotNull(artifact); tim@106: log.debug("VerticalProfile-Artifact is available"); tim@106: tim@106: tim@106: CallContext cc = new TestCallContext(bootstrap.getContext()); tim@106: tim@106: // Erster Schritt tim@106: Document outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_01_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_01_advance.xml"), cc); tim@106: this.writeDocument2Log(outputData); tim@106: this.check4ExceptionReport(outputData); tim@106: tim@107: // Zweiter Schritt tim@106: outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_02_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_02_advance.xml"), cc); tim@106: this.writeDocument2Log(outputData); tim@106: this.check4ExceptionReport(outputData); tim@106: tim@106: // Dritter Schritt tim@106: outputData = artifact.describe(null); tim@106: this.writeDocument2Log(outputData); tim@106: artifact.feed(this.readDocument("src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_03_feed.xml"), cc); tim@106: outputData = artifact.advance(this.readDocument("src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_03_advance.xml"), cc); tim@106: this.writeDocument2Log(outputData); tim@106: this.check4ExceptionReport(outputData); tim@106: tim@107: // Vierter Schritt tim@106: outputData = artifact.describe(null); tim@106: FileOutputStream fos = null; tim@106: FileOutputStream fos2 = null; tim@106: FileOutputStream fos3 = null; tim@106: try{ tim@106: fos = new FileOutputStream("src/test/results/verticalprofile_instantaneouspoint"+System.currentTimeMillis()+".png"); tim@106: fos2 = new FileOutputStream("src/test/results/verticalprofile_instantaneouspoint"+System.currentTimeMillis()+".xml"); tim@106: fos3 = new FileOutputStream("src/test/results/verticalprofile_instantaneouspoint"+System.currentTimeMillis()+".csv"); tim@106: artifact.feed(this.readDocument("src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_04_feed.xml"), cc); tim@106: artifact.out(this.readDocument("src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_04_out_statistics.xml"),fos2, cc); tim@106: artifact.out(this.readDocument("src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_04_out_chart.xml"),fos, cc); tim@106: artifact.out(this.readDocument("src/test/ressources/verticalprofile_instantaneouspoint/verticalprofile_step_04_out_csv.xml"),fos3, cc); tim@106: } catch (Exception e){ tim@106: log.error(e,e); tim@106: fail(); tim@106: }finally{ tim@106: try { tim@106: fos.flush(); tim@106: fos.close(); tim@106: fos2.flush(); tim@106: fos2.close(); tim@106: fos3.flush(); tim@106: fos3.close(); tim@106: } catch (Exception e) { tim@106: log.error(e,e); tim@106: } tim@106: } tim@106: } catch (Exception e) { tim@103: log.error(e,e); tim@103: fail(); tim@103: } tim@103: } tim@103: tim@69: protected void createFile(byte[] content, String fileName){ tim@52: try { tim@69: FileOutputStream fos = new FileOutputStream(new File(fileName)); tim@69: ByteArrayInputStream bis = new ByteArrayInputStream(content); tim@69: byte[] buf = new byte[4096]; tim@69: while (bis.read(buf) > 0){ tim@69: fos.write(buf); tim@69: } tim@69: fos.flush(); tim@69: fos.close(); tim@69: } catch (FileNotFoundException e) { tim@69: log.error(e,e); tim@69: } catch (IOException e) { tim@52: log.error(e,e); tim@52: } tim@52: } tim@69: tim@52: tim@52: /** tim@52: * @param artefactName tim@52: */ tim@52: private ArtifactFactory getArtifactFactory(String artefactName){ tim@52: log.debug("GNVArtifactsTestCase.getArtifactFactory"); tim@52: ArtifactFactory[] artifactFactories = bootstrap.getArtifactFactories(); tim@52: for (int i = 0; i < artifactFactories.length; i++){ tim@52: if (artifactFactories[i].getName().equals(artefactName)){ tim@52: log.debug("ArtifactFactory wurde gefunden."); tim@52: return artifactFactories[i]; tim@52: } tim@52: } tim@52: return null; tim@52: } tim@54: tim@54: protected void writeDocument2Log(Document document){ tim@72: log.debug(new ArtifactXMLUtilities().writeDocument2String(document)); tim@54: } tim@54: tim@58: tim@58: protected Document readDocument(String fileName){ tim@58: Document returnValue = null; tim@58: try { tim@58: DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); tim@58: DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); tim@58: returnValue = docBuilder.parse (new File(fileName)); tim@58: } catch (ParserConfigurationException e) { tim@58: log.error(e,e); tim@58: } catch (SAXException e) { tim@58: log.error(e,e); tim@58: } catch (IOException e) { tim@58: log.error(e,e); tim@58: } tim@58: return returnValue; tim@58: } tim@58: tim@52: tim@106: private void check4ExceptionReport(Document document) throws Exception{ tim@106: document = new ArtifactXMLUtilities().reInitDocument(document); tim@106: String message = Config.getStringXPath(document,"/exceptionreport/exception"); tim@106: if (message != null){ tim@106: throw new Exception(message); tim@106: } tim@106: } tim@52: }