# HG changeset patch # User Ingo Weinzierl # Date 1314346067 0 # Node ID 583314dafdb65cc167228567346432213fa08326 # Parent d0db31d1f64c4f512134e4bec8e9e208053977ea Call State.endOfLife() in FLYSArtifact when stepping back to a previous state. flys-artifacts/trunk@2587 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r d0db31d1f64c -r 583314dafdb6 flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Thu Aug 25 10:53:25 2011 +0000 +++ b/flys-artifacts/ChangeLog Fri Aug 26 08:07:47 2011 +0000 @@ -1,3 +1,9 @@ +2011-08-26 Ingo Weinzierl + + * src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java: Call + State.endOfLife() of each State that is no longer in the queue of the + artifact when this artifact steps back to a previous state. + 2011-08-25 Felix Wolfsteller * src/main/java/de/intevation/flys/exports/ComputedDischargeCurveGenerator.java: diff -r d0db31d1f64c -r 583314dafdb6 flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java --- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java Thu Aug 25 10:53:25 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java Fri Aug 26 08:07:47 2011 +0000 @@ -374,9 +374,17 @@ int targetIdx = prevs.indexOf(targetState); int start = prevs.size() - 1; + logger.debug("Remove current state: " + getCurrentStateId()); + State cur = getCurrentState(context); + cur.endOfLife(this, context); + for (int i = start; i >= targetIdx; i--) { String prev = prevs.get(i); logger.debug("Remove state id '" + prev + "'"); + + State s = getState(context, prev); + s.endOfLife(this, context); + prevs.remove(prev); facets.remove(prev); }