# HG changeset patch # User Ingo Weinzierl # Date 1269249305 0 # Node ID 93489a0c13281f758e4eb8d8d66d0ffb9334be90 # Parent be24dd9b5d03c1d57b263153754f7cde8d05983b Added a cleanup mechanism to do some things before an artifact is being exported (issue208). gnv-artifacts/trunk@811 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r be24dd9b5d03 -r 93489a0c1328 gnv-artifacts/ChangeLog --- a/gnv-artifacts/ChangeLog Fri Mar 19 13:20:04 2010 +0000 +++ b/gnv-artifacts/ChangeLog Mon Mar 22 09:15:05 2010 +0000 @@ -1,3 +1,24 @@ +2010-03-22 Ingo Weinzierl + + Issue208 (Added a cleanup mechanism to do some things before exporting an + artifact) + + * src/main/java/de/intevation/gnv/state/State.java: Added a cleanup method + to remove special data stored at this state while processing an + 'out'-target. + + * src/main/java/de/intevation/gnv/state/StateBase.java: Default + implementation of this cleanup method - nothing is done here so far. + Override this method in states which should remove data before being + exported. + + * src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java: + Overrides this cleanup method to remove the current shapefile path. + + * src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java: + Call cleanup method of the current state if the cleanup method of this + artifact itself is called. + 2010-03-19 Tim Englich * doc/conf/products/horizontalprofile/conf_mesh_cross.xml: diff -r be24dd9b5d03 -r 93489a0c1328 gnv-artifacts/src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java --- a/gnv-artifacts/src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java Fri Mar 19 13:20:04 2010 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/profile/horizontalcrosssection/HorizontalCrossSectionMeshArtifact.java Mon Mar 22 09:15:05 2010 +0000 @@ -10,8 +10,8 @@ import de.intevation.gnv.artifacts.GNVArtifactBase; /** - * @author Tim Englich - * + * @author Tim Englich (tim.englich@intevation.de) + * @author Ingo Weinzierl (ingo.weinzierl@intevation.de) */ public class HorizontalCrossSectionMeshArtifact extends GNVArtifactBase { /** @@ -33,7 +33,7 @@ log.debug("HorizontalCrossSectionMeshArtifact.Constructor"); this.name = "horizontalCrossSectionMesh"; } - + /** * @see de.intevation.gnv.artifacts.GNVArtifactBase#setup(java.lang.String, @@ -46,4 +46,13 @@ log.debug("HorizontalCrossSectionMeshArtifact.setup"); super.setup(identifier, factory, context, data); } + + + @Override + public void cleanup(Object context) { + if (current != null) + current.cleanup(context); + + super.cleanup(context); + } } diff -r be24dd9b5d03 -r 93489a0c1328 gnv-artifacts/src/main/java/de/intevation/gnv/state/State.java --- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/State.java Fri Mar 19 13:20:04 2010 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/State.java Mon Mar 22 09:15:05 2010 +0000 @@ -63,4 +63,6 @@ public void setPreSettings(Map preSettings); public Map getPreSettings(); + + public void cleanup(Object context); } diff -r be24dd9b5d03 -r 93489a0c1328 gnv-artifacts/src/main/java/de/intevation/gnv/state/StateBase.java --- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/StateBase.java Fri Mar 19 13:20:04 2010 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/StateBase.java Mon Mar 22 09:15:05 2010 +0000 @@ -1044,5 +1044,9 @@ public void endOfLife(Object globalContext) { } + + + public void cleanup(Object context) { + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8: diff -r be24dd9b5d03 -r 93489a0c1328 gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java --- a/gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java Fri Mar 19 13:20:04 2010 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/state/profile/horizontalcrosssection/HorizontalCrossSectionMeshOutputState.java Mon Mar 22 09:15:05 2010 +0000 @@ -762,5 +762,11 @@ ? palettes : new HashMap(); } + + + @Override + public void cleanup(Object context) { + resetShapeFilePath(); + } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :