# HG changeset patch # User Ingo Weinzierl # Date 1301331857 0 # Node ID c8cd1b918901926206998193f1ceae5853a2042e # Parent eae92a05282e193c26b672d15eeee46c85c62b1e Bugfix: Step back will remove duplicated output tab and an extended chart image URL bypasses the browser cache. flys-client/trunk@1599 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r eae92a05282e -r c8cd1b918901 flys-client/ChangeLog --- a/flys-client/ChangeLog Mon Mar 28 16:20:45 2011 +0000 +++ b/flys-client/ChangeLog Mon Mar 28 17:04:17 2011 +0000 @@ -1,3 +1,21 @@ +2011-03-28 Ingo Weinzierl + + * src/main/java/de/intevation/flys/client/shared/model/CollectionItem.java, + src/main/java/de/intevation/flys/client/shared/model/DefaultCollectionItem.java: + A CollectionItem has a hash() method now. The value comes from the + Collection's DESCRIBE document. + + * src/main/java/de/intevation/flys/client/server/AddArtifactServiceImpl.java: + The hash value of a collection item is parsed from DESCRIBE document. + + * src/main/java/de/intevation/flys/client/client/ui/ChartOutputTab.java: + Appended the hash value of the artifact to the URL of the chart image. + This bypasses the browser cache of a previous chart image. + + * src/main/java/de/intevation/flys/client/client/ui/CollectionView.java: + A parameterization change will always remove all output tabs before + updating the output tab panel. + 2011-03-28 Ingo Weinzierl * src/main/java/de/intevation/flys/client/client/FLYSMessages_en.properties, diff -r eae92a05282e -r c8cd1b918901 flys-client/src/main/java/de/intevation/flys/client/client/ui/ChartOutputTab.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/ChartOutputTab.java Mon Mar 28 16:20:45 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/ChartOutputTab.java Mon Mar 28 17:04:17 2011 +0000 @@ -77,6 +77,7 @@ Config config = Config.getInstance(); String server = config.getServerUrl(); String uuid = collection.getItem(0).identifier(); + String hash = collection.getItem(0).hash(); String imgUrl = GWT.getModuleBaseURL(); imgUrl += "chart"; @@ -87,7 +88,7 @@ imgUrl += "&height=400"; imgUrl += "&points=false"; imgUrl += "&uuid=" + uuid; - imgUrl += "&hash=" + "TODO-HASH"; + imgUrl += "&hash=" + hash; GWT.log("IMAGE URL = " + imgUrl); diff -r eae92a05282e -r c8cd1b918901 flys-client/src/main/java/de/intevation/flys/client/client/ui/CollectionView.java --- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/CollectionView.java Mon Mar 28 16:20:45 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/CollectionView.java Mon Mar 28 17:04:17 2011 +0000 @@ -250,13 +250,13 @@ OutputMode[] outs = desc.getOutputModes(); setArtifact(art); + clearOutputTabs(); if (outs != null) { User user = getFlys().getCurrentUser(); createNewCollection(user.identifier()); } else { - clearOutputTabs(); updateView(); } } diff -r eae92a05282e -r c8cd1b918901 flys-client/src/main/java/de/intevation/flys/client/server/AddArtifactServiceImpl.java --- a/flys-client/src/main/java/de/intevation/flys/client/server/AddArtifactServiceImpl.java Mon Mar 28 16:20:45 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/server/AddArtifactServiceImpl.java Mon Mar 28 17:04:17 2011 +0000 @@ -144,6 +144,9 @@ String uuid = XMLUtils.xpathString( node, "@art:uuid", ArtifactNamespaceContext.INSTANCE); + String hash = XMLUtils.xpathString( + node, "@art:hash", ArtifactNamespaceContext.INSTANCE); + if (uuid == null || uuid.equals("")) { System.err.println("Found an invalid CollectionItem!"); } @@ -156,7 +159,7 @@ List modes = parseOutputModes(outputmodes); - return new DefaultCollectionItem(uuid, modes); + return new DefaultCollectionItem(uuid, hash, modes); } diff -r eae92a05282e -r c8cd1b918901 flys-client/src/main/java/de/intevation/flys/client/shared/model/CollectionItem.java --- a/flys-client/src/main/java/de/intevation/flys/client/shared/model/CollectionItem.java Mon Mar 28 16:20:45 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/shared/model/CollectionItem.java Mon Mar 28 17:04:17 2011 +0000 @@ -21,6 +21,14 @@ /** + * Returns the hash of the wrapped artifact. + * + * @return the hash of the wrapped artifact. + */ + String hash(); + + + /** * Returns the output modes of the wrapped artifact. * * @return the output modes of the wrapped artifact. diff -r eae92a05282e -r c8cd1b918901 flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultCollectionItem.java --- a/flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultCollectionItem.java Mon Mar 28 16:20:45 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/shared/model/DefaultCollectionItem.java Mon Mar 28 17:04:17 2011 +0000 @@ -13,6 +13,9 @@ /** The identifier that specifies the artifact related to this item.*/ protected String identifier; + /** The hash that specifies the artifact related to this item.*/ + protected String hash; + /** The list of output modes supported by the artifact of this item.*/ protected List outputModes; @@ -31,8 +34,12 @@ * @param identifier The identifier of an artifact. * @param outputModes The output modes supported by this item. */ - public DefaultCollectionItem(String identifier, List modes) { + public DefaultCollectionItem( + String identifier, + String hash, + List modes) { this.identifier = identifier; + this.hash = hash; this.outputModes = modes; } @@ -42,6 +49,11 @@ } + public String hash() { + return hash; + } + + public List getOutputModes() { return outputModes; }