Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java @ 481:20dde2b6f1b5
Added end of life support for artifact states. Implemented ZIP download
for "Horizontalschnitte". Laid some tracks for WMS (un-)publishing.
gnv-artifacts/trunk@554 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sun, 17 Jan 2010 16:34:11 +0000 |
parents | d47b478e662b |
children | d265f5dc2979 |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Sun Jan 17 12:22:56 2010 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Sun Jan 17 16:34:11 2010 +0000 @@ -61,9 +61,9 @@ import org.w3c.dom.NodeList; /** - * @author Tim Englich <tim.englich@intevation.de> - * @author Ingo Weinzierl <ingo.weinzierl@intevation.de> - * + * @author Tim Englich (tim.englich@intevation.de) + * @author Ingo Weinzierl (ingo.weinzierl@intevation.de) + * @author Sascha L. Teichmann (sascha.teichmann@intevation.de) */ public abstract class GNVArtifactBase extends DefaultArtifact { /** @@ -170,6 +170,10 @@ next.putInputData(current.getInputData(), identifier); next.setParent(current); + if (current != null) { + current.endOfLife(context.globalContext()); + } + // 3. Switch to next State current = next; @@ -190,6 +194,10 @@ // remove data from future states from cache resetDescribeData(current, identifier, targetState); + if (current != null) { + current.endOfLife(context.globalContext()); + } + current = next; result = createReport( @@ -814,7 +822,7 @@ } } - protected String readOutputType(Document document) { + protected static String readOutputType(Document document) { String value = XMLUtils.xpathString( document, XPATH_OUTPUT_NAME, ArtifactNamespaceContext.INSTANCE); return value; @@ -824,5 +832,13 @@ public void setProduct(Product product) { this.product = product; } + + public void endOfLife(Object globalContext) { + super.endOfLife(globalContext); + + if (current != null) { + current.endOfLife(globalContext); + } + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8: