Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java @ 1084:583314dafdb6
Call State.endOfLife() in FLYSArtifact when stepping back to a previous state.
flys-artifacts/trunk@2587 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 26 Aug 2011 08:07:47 +0000 |
parents | f364410c7bc9 |
children | 825ea312116d |
comparison
equal
deleted
inserted
replaced
1083:d0db31d1f64c | 1084:583314dafdb6 |
---|---|
372 | 372 |
373 List<String> prevs = getPreviousStateIds(); | 373 List<String> prevs = getPreviousStateIds(); |
374 int targetIdx = prevs.indexOf(targetState); | 374 int targetIdx = prevs.indexOf(targetState); |
375 int start = prevs.size() - 1; | 375 int start = prevs.size() - 1; |
376 | 376 |
377 logger.debug("Remove current state: " + getCurrentStateId()); | |
378 State cur = getCurrentState(context); | |
379 cur.endOfLife(this, context); | |
380 | |
377 for (int i = start; i >= targetIdx; i--) { | 381 for (int i = start; i >= targetIdx; i--) { |
378 String prev = prevs.get(i); | 382 String prev = prevs.get(i); |
379 logger.debug("Remove state id '" + prev + "'"); | 383 logger.debug("Remove state id '" + prev + "'"); |
384 | |
385 State s = getState(context, prev); | |
386 s.endOfLife(this, context); | |
387 | |
380 prevs.remove(prev); | 388 prevs.remove(prev); |
381 facets.remove(prev); | 389 facets.remove(prev); |
382 } | 390 } |
383 | 391 |
384 setCurrentStateId(targetState); | 392 setCurrentStateId(targetState); |