Mercurial > dive4elements > gnv-client
comparison gnv-artifacts/src/main/java/de/intevation/gnv/state/StateBase.java @ 470:b7bb66440cc8
Added mechanism for advancing to previous states.
gnv-artifacts/trunk@533 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 12 Jan 2010 15:25:32 +0000 |
parents | 70df44021a9f |
children | a6a33ef35809 |
comparison
equal
deleted
inserted
replaced
469:62fc63d0f71d | 470:b7bb66440cc8 |
---|---|
112 /** | 112 /** |
113 * @see de.intevation.gnv.state.State#getRequiredInputValues() | 113 * @see de.intevation.gnv.state.State#getRequiredInputValues() |
114 */ | 114 */ |
115 public Collection<InputValue> getRequiredInputValues() { | 115 public Collection<InputValue> getRequiredInputValues() { |
116 return this.inputValues.values(); | 116 return this.inputValues.values(); |
117 } | |
118 | |
119 | |
120 public void reset(String uuid) { | |
121 | |
122 // clear input values of the current state | |
123 Iterator iter = inputValueNames.iterator(); | |
124 while (iter.hasNext()) { | |
125 String name = (String) iter.next(); | |
126 inputValues.remove(name); | |
127 } | |
128 | |
129 // remove data of last state from cache | |
130 List describeData = getDescibeData(uuid); | |
131 if (describeData != null && describeData.size() != 0) { | |
132 describeData.remove(describeData.size()-1); | |
133 } | |
117 } | 134 } |
118 | 135 |
119 /** | 136 /** |
120 * @see de.intevation.gnv.state.State#setup(org.w3c.dom.Node) | 137 * @see de.intevation.gnv.state.State#setup(org.w3c.dom.Node) |
121 */ | 138 */ |
342 } | 359 } |
343 } | 360 } |
344 } | 361 } |
345 } | 362 } |
346 return null; | 363 return null; |
347 | |
348 } | 364 } |
349 | 365 |
350 /** | 366 /** |
351 * @see de.intevation.gnv.state.State#advance(java.lang.String, | 367 * @see de.intevation.gnv.state.State#advance(java.lang.String, |
352 * de.intevation.artifacts.CallMeta) | 368 * de.intevation.artifacts.CallMeta) |
458 /** | 474 /** |
459 * @param result | 475 * @param result |
460 */ | 476 */ |
461 protected void purifyResult(Collection<Result> result, String uuid) { | 477 protected void purifyResult(Collection<Result> result, String uuid) { |
462 log.debug("StateBase.purifyResult"); | 478 log.debug("StateBase.purifyResult"); |
463 Collection<Object> describeData = this.getDescibeData(uuid); | 479 List<Object> describeData = this.getDescibeData(uuid); |
464 if (describeData == null) { | 480 if (describeData == null) { |
465 describeData = new ArrayList<Object>(); | 481 describeData = new ArrayList<Object>(); |
466 } | 482 } |
467 NamedCollection<KeyValueDescibeData> keyValueDescibeData = extractKVP(result, "KEY", "VALUE"); | 483 NamedCollection<KeyValueDescibeData> keyValueDescibeData = extractKVP(result, "KEY", "VALUE"); |
468 describeData.add(keyValueDescibeData); | 484 describeData.add(keyValueDescibeData); |
516 * org.w3c.dom.Node, de.intevation.artifacts.CallMeta, | 532 * org.w3c.dom.Node, de.intevation.artifacts.CallMeta, |
517 * java.lang.String) | 533 * java.lang.String) |
518 */ | 534 */ |
519 public void describe(Document document, Node rootNode, CallMeta callMeta,String uuid) { | 535 public void describe(Document document, Node rootNode, CallMeta callMeta,String uuid) { |
520 log.debug("StateBase.describe"); | 536 log.debug("StateBase.describe"); |
521 Collection<Object> descibeData = this.getDescibeData(uuid); | 537 |
538 List<Object> descibeData = this.getDescibeData(uuid); | |
522 if (descibeData != null) { | 539 if (descibeData != null) { |
523 Iterator<Object> it = descibeData.iterator(); | 540 Iterator<Object> it = descibeData.iterator(); |
524 | 541 |
525 XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator( | 542 XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator( |
526 document, | 543 document, |
796 } | 813 } |
797 | 814 |
798 /** | 815 /** |
799 * @see de.intevation.gnv.state.State#getDescibeData() | 816 * @see de.intevation.gnv.state.State#getDescibeData() |
800 */ | 817 */ |
801 protected Collection<Object> getDescibeData(String uuid) { | 818 protected List<Object> getDescibeData(String uuid) { |
802 if (CacheFactory.getInstance().isInitialized()) { | 819 if (CacheFactory.getInstance().isInitialized()) { |
803 String key = uuid + DESCRIBEDATAKEY; | 820 String key = uuid + DESCRIBEDATAKEY; |
804 log.debug("Hash for Queryelements: " + key); | 821 log.debug("Hash for Queryelements: " + key); |
805 net.sf.ehcache.Element value = CacheFactory.getInstance().getCache().get(key); | 822 net.sf.ehcache.Element value = CacheFactory.getInstance().getCache().get(key); |
806 if (value != null) { | 823 if (value != null) { |
807 return (Collection<Object>) (value.getObjectValue()); | 824 return (List<Object>) (value.getObjectValue()); |
808 } | 825 } |
809 } | 826 } |
810 return null; | 827 return null; |
811 } | 828 } |
812 | 829 |
813 /** | 830 /** |
814 * @see de.intevation.gnv.state.State#getDescibeData() | 831 * @see de.intevation.gnv.state.State#getDescibeData() |
815 */ | 832 */ |
816 protected void setDescibeData(String uuid, Collection<Object> describeData) { | 833 protected void setDescibeData(String uuid, List<Object> describeData) { |
817 | 834 |
818 if (CacheFactory.getInstance().isInitialized()) { | 835 if (CacheFactory.getInstance().isInitialized()) { |
819 String key = uuid + DESCRIBEDATAKEY; | 836 String key = uuid + DESCRIBEDATAKEY; |
820 log.debug("Hash for Queryelements: " + key); | 837 log.debug("Hash for Queryelements: " + key); |
821 CacheFactory.getInstance().getCache().put(new net.sf.ehcache.Element(key, describeData)); | 838 CacheFactory.getInstance().getCache().put(new net.sf.ehcache.Element(key, describeData)); |