# HG changeset patch # User Tim Englich # Date 1252924358 0 # Node ID 504570de21fdcdd243de2c267504ccc0b6c873c7 # Parent 1fece4da4f2f7925d9f54cec946332f29f8eb149 Refactoring Work depending on Infrastructurchanges in the Artifact-Module gnv-artifacts/trunk@79 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 1fece4da4f2f -r 504570de21fd gnv-artifacts/Changelog --- a/gnv-artifacts/Changelog Thu Sep 10 13:14:03 2009 +0000 +++ b/gnv-artifacts/Changelog Mon Sep 14 10:32:38 2009 +0000 @@ -1,3 +1,13 @@ +2009-09-14 Tim Englich + + * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited, + src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Edited, + src/main/java/de/intevation/gnv/transition/OutputTransition.java Edited , + src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java Edited, + src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Edited, + src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Edited: + Refactoring Work depending on Infrastructurchanges in the Artifact-Module + 2009-09-10 Tim Englich * src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Edited, diff -r 1fece4da4f2f -r 504570de21fd gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java --- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Thu Sep 10 13:14:03 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Mon Sep 14 10:32:38 2009 +0000 @@ -3,6 +3,8 @@ */ package de.intevation.gnv.artifacts; +import java.io.IOException; +import java.io.OutputStream; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -23,6 +25,7 @@ import de.intevation.artifactdatabase.XMLUtils; import de.intevation.artifacts.ArtifactFactory; import de.intevation.artifacts.ArtifactNamespaceContext; +import de.intevation.artifacts.CallContext; import de.intevation.gnv.artifacts.context.GNVArtifactContext; import de.intevation.gnv.transition.DefaultInputData; import de.intevation.gnv.transition.InputData; @@ -84,10 +87,10 @@ } /** - * @see de.intevation.artifactdatabase.DefaultArtifact#advance(org.w3c.dom.Document, java.lang.Object) + * @see de.intevation.artifactdatabase.DefaultArtifact#advance(org.w3c.dom.Document, de.intevation.artifacts.CallContext) */ @Override - public Document advance(Document target, Object context) { + public Document advance(Document target, CallContext context) { Document result = XMLUtils.newDocument(); if (this.current != null){ String transitionName = this.readTransitionName(target); @@ -139,10 +142,10 @@ } /** - * @see de.intevation.artifactdatabase.DefaultArtifact#feed(org.w3c.dom.Document, java.lang.Object) + * @see de.intevation.artifactdatabase.DefaultArtifact#feed(org.w3c.dom.Document, de.intevation.artifacts.CallContext) */ @Override - public Document feed(Document target, Object context) { + public Document feed(Document target, CallContext context) { Document result = XMLUtils.newDocument(); try { if (this.current != null){ @@ -314,19 +317,25 @@ /** * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document, java.lang.Object) */ - public byte[] out(Document format, Object context) { + + + /** + * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document, java.io.OutputStream, de.intevation.artifacts.CallContext) + */ + @Override + public void out(Document format, OutputStream outputStream, CallContext context) + throws IOException { log.debug("TGNVArtifactBase.out"); try { if (current != null && current instanceof OutputTransition){ - return ((OutputTransition)current).out(this.readOutputType(format)); + ((OutputTransition)current).out(this.readOutputType(format), outputStream); } } catch (TransitionException e) { log.error(e,e); } - return null; } - + protected String readOutputType(Document document){ String value = Config.getStringXPath(document,"action/out/@name"); return value; diff -r 1fece4da4f2f -r 504570de21fd gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java --- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Thu Sep 10 13:14:03 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/fis/FISArtifact.java Mon Sep 14 10:32:38 2009 +0000 @@ -3,6 +3,8 @@ */ package de.intevation.gnv.artifacts.fis; +import java.io.IOException; +import java.io.OutputStream; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -20,6 +22,7 @@ import de.intevation.artifactdatabase.XMLUtils; import de.intevation.artifacts.Artifact; import de.intevation.artifacts.ArtifactFactory; +import de.intevation.artifacts.CallContext; import de.intevation.gnv.artifacts.GNVArtifactBase; import de.intevation.gnv.artifacts.context.GNVArtifactContext; import de.intevation.gnv.artifacts.fis.product.DefaultProduct; @@ -72,10 +75,10 @@ /** - * @see de.intevation.artifactdatabase.DefaultArtifact#advance(org.w3c.dom.Document, java.lang.Object) + * @see de.intevation.artifactdatabase.DefaultArtifact#advance(org.w3c.dom.Document, de.intevation.artifacts.CallContext) */ @Override - public Document advance(Document target, Object context) { + public Document advance(Document target, CallContext context) { if (this.productArtifact == null){ if (this.current != null){ String uuid = Config.getStringXPath(target, "action/uuid/@value"); // TODO: müssen wir für das subartifact eine veränderte uuid führen? @@ -162,7 +165,7 @@ * @see de.intevation.artifactdatabase.DefaultArtifact#describe(java.lang.Object) */ @Override - public Document describe(Object context) { + public Document describe(CallContext context) { if (this.productArtifact == null){ return this.createDescibeOutput(); }else{ @@ -174,7 +177,7 @@ * @see de.intevation.artifactdatabase.DefaultArtifact#feed(org.w3c.dom.Document, java.lang.Object) */ @Override - public Document feed(Document target, Object context) { + public Document feed(Document target, CallContext context) { if (this.productArtifact == null){ String productName = Config.getStringXPath(target, "action/data/input[@name='product']/@value"); if (this.products.containsKey(productName)) { @@ -193,12 +196,10 @@ * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document, java.lang.Object) */ @Override - public byte[] out(Document format, Object context) { - byte[] returnValue = null; + public void out(Document format, OutputStream outputStream, CallContext context) throws IOException { if (this.productArtifact != null){ - returnValue = this.productArtifact.out(format, context); + this.productArtifact.out(format,outputStream, context); } - return returnValue; } /** diff -r 1fece4da4f2f -r 504570de21fd gnv-artifacts/src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java --- a/gnv-artifacts/src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java Thu Sep 10 13:14:03 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/timeseries/TimeSeriesArtifact.java Mon Sep 14 10:32:38 2009 +0000 @@ -8,6 +8,7 @@ import org.w3c.dom.Node; import de.intevation.artifacts.ArtifactFactory; +import de.intevation.artifacts.CallContext; import de.intevation.gnv.artifacts.GNVArtifactBase; import de.intevation.gnv.artifacts.context.GNVArtifactContext; @@ -40,7 +41,7 @@ * @see de.intevation.artifactdatabase.DefaultArtifact#describe(java.lang.Object) */ @Override - public Document describe(Object context) { + public Document describe(CallContext context) { log.debug("TimeSeriesArtifact.describe"); return super.createDescibeOutput(); } diff -r 1fece4da4f2f -r 504570de21fd gnv-artifacts/src/main/java/de/intevation/gnv/transition/OutputTransition.java --- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/OutputTransition.java Thu Sep 10 13:14:03 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/OutputTransition.java Mon Sep 14 10:32:38 2009 +0000 @@ -3,6 +3,7 @@ */ package de.intevation.gnv.transition; +import java.io.OutputStream; import java.util.Collection; import de.intevation.gnv.transition.exception.TransitionException; @@ -19,7 +20,7 @@ * @return The Bytecode of the Result * @throws TransitionException */ - public byte[] out( String outputMode) throws TransitionException; + public void out( String outputMode, OutputStream outputStream) throws TransitionException; /** * Delivers the provided OutputModes of an Transition diff -r 1fece4da4f2f -r 504570de21fd gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java --- a/gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Thu Sep 10 13:14:03 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/transition/timeseries/TimeSeriesOutputTransition.java Mon Sep 14 10:32:38 2009 +0000 @@ -7,6 +7,7 @@ import java.awt.Dimension; import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.util.Collection; import java.util.Iterator; @@ -46,14 +47,13 @@ return true; } - /** - * @see de.intevation.gnv.transition.OutputTransition#out(java.lang.String) - */ - public byte[] out(String outputMode) throws TransitionException { + /** + * @see de.intevation.gnv.transition.OutputTransition#out(java.lang.String, java.io.OutputStream) + */ + public void out(String outputMode, OutputStream outputStream) throws TransitionException { log.debug("TimeSeriesOutputTransition"); try { this.advance(); // TODO nur neu holen wenn hash auf chartResult sich geändert hat - ByteArrayOutputStream os = new ByteArrayOutputStream(); ChartFactory chartFactory = new ChartFactory(); Collection parameters = this.getParameters(); @@ -66,8 +66,7 @@ ChartLabels chartLables = new ChartLabels(lDiagramTitle.toString(),domainLable , /*mSelectedParams[0].getTitle()*/ "Selected Params Title"); chartFactory.createSimpleTimeSeriesChart(chartLables, chartStyle, timeSeriesName, parameters, measurements, - os, this.chartResult); - return os.toByteArray(); + outputStream, this.chartResult); } catch (IOException e) { log.error(e,e); throw new TransitionException(e); diff -r 1fece4da4f2f -r 504570de21fd gnv-artifacts/src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java --- a/gnv-artifacts/src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Thu Sep 10 13:14:03 2009 +0000 +++ b/gnv-artifacts/src/test/java/de/intevation/gnv/artifacts/GNVArtifactsTestCase.java Mon Sep 14 10:32:38 2009 +0000 @@ -78,39 +78,52 @@ log.debug("TimeSeries-Artifact is available"); // Erster Schritt - Document outputData = artifact.describe(bootstrap.getContext()); + Document outputData = artifact.describe(null); this.writeDocument2Log(outputData); - artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_01_feed.xml"), bootstrap.getContext()); - outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries/timeseries_step_01_advance.xml"), bootstrap.getContext()); + artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_01_feed.xml"), null); + outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries/timeseries_step_01_advance.xml"), null); this.writeDocument2Log(outputData); // Zweiter Schritt - outputData = artifact.describe(bootstrap.getContext()); + outputData = artifact.describe(null); this.writeDocument2Log(outputData); - artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_02_feed.xml"), bootstrap.getContext()); - outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries/timeseries_step_02_advance.xml"), bootstrap.getContext()); + artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_02_feed.xml"), null); + outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries/timeseries_step_02_advance.xml"), null); this.writeDocument2Log(outputData); // Dritter Schritt - outputData = artifact.describe(bootstrap.getContext()); + outputData = artifact.describe(null); this.writeDocument2Log(outputData); - artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_03_feed.xml"), bootstrap.getContext()); - outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries/timeseries_step_03_advance.xml"), bootstrap.getContext()); + artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_03_feed.xml"), null); + outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries/timeseries_step_03_advance.xml"), null); this.writeDocument2Log(outputData); // Vierter Schritt - outputData = artifact.describe(bootstrap.getContext()); + outputData = artifact.describe(null); this.writeDocument2Log(outputData); - artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_04_feed.xml"), bootstrap.getContext()); - outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries/timeseries_step_04_advance.xml"), bootstrap.getContext()); + artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_04_feed.xml"), null); + outputData = artifact.advance(this.readDocument("src/test/ressources/timeseries/timeseries_step_04_advance.xml"), null); this.writeDocument2Log(outputData); // Fünfter Schritt - outputData = artifact.describe(bootstrap.getContext()); - artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_05_feed.xml"), bootstrap.getContext()); - byte[] result = artifact.out(this.readDocument("src/test/ressources/timeseries/timeseries_step_05_out.xml"), bootstrap.getContext()); - this.createFile(result, "src/test/results/timeseriesdiagramm"+System.currentTimeMillis()+".png"); + outputData = artifact.describe(null); + FileOutputStream fos = null; + try{ + fos = new FileOutputStream("src/test/results/timeseriesdiagramm"+System.currentTimeMillis()+".png"); + artifact.feed(this.readDocument("src/test/ressources/timeseries/timeseries_step_05_feed.xml"), null); + artifact.out(this.readDocument("src/test/ressources/timeseries/timeseries_step_05_out.xml"),fos, null); + } catch (Exception e){ + log.error(e,e); + fail(); + }finally{ + try { + fos.flush(); + fos.close(); + } catch (Exception e) { + log.error(e,e); + } + } } protected void createFile(byte[] content, String fileName){ diff -r 1fece4da4f2f -r 504570de21fd gnv-artifacts/src/test/ressources/conf.xml --- a/gnv-artifacts/src/test/ressources/conf.xml Thu Sep 10 13:14:03 2009 +0000 +++ b/gnv-artifacts/src/test/ressources/conf.xml Mon Sep 14 10:32:38 2009 +0000 @@ -118,11 +118,18 @@ ../geo-backend/src/test/ressources/ArcSDEConnectionPoolTestCase.properties src/test/ressources/queries.properties + + 8181 + + + + 60000 + - - - - - + tim + test + diff -r 1fece4da4f2f -r 504570de21fd gnv-artifacts/src/test/ressources/log4j.properties --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gnv-artifacts/src/test/ressources/log4j.properties Mon Sep 14 10:32:38 2009 +0000 @@ -0,0 +1,9 @@ +# Set root logger level to DEBUG and its only appender to A1. +log4j.rootLogger=DEBUG, A1 + +# A1 is set to be a ConsoleAppender. +log4j.appender.A1=org.apache.log4j.ConsoleAppender + +# A1 uses PatternLayout. +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n