Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java @ 78:969faa37a11b
Added Multiselectsupport for InputValues
gnv-artifacts/trunk@94 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Wed, 16 Sep 2009 12:38:24 +0000 |
parents | 0e38f512f7e4 |
children | 1b12021905b9 |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Wed Sep 16 07:49:46 2009 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/GNVArtifactBase.java Wed Sep 16 12:38:24 2009 +0000 @@ -305,21 +305,31 @@ protected Collection<InputData> parseInputData(Document document){ log.debug("GNVArtifactBase.parseInputData"); - Collection<InputData> returnValue = null; + HashMap<String,InputData> returnValue = null; log.debug(new ArtifactXMLUtilities().writeDocument2String(document)); NodeList inputElemets = (NodeList)XMLUtils.xpath(document, "/action/data/input",XPathConstants.NODESET, ArtifactNamespaceContext.INSTANCE);//Config.getNodeSetXPath(document, ""); if(inputElemets != null){ - returnValue = new ArrayList<InputData>(inputElemets.getLength()); + returnValue = new HashMap<String,InputData>(inputElemets.getLength()); for (int i = 0; i < inputElemets.getLength(); i++){ Node inputDataNode = inputElemets.item(i); - InputData inputData = new DefaultInputData(Config.getStringXPath(inputDataNode,"@name"), Config.getStringXPath(inputDataNode,"@value")); - log.debug(inputData.toString()); - returnValue.add(inputData); + String name = Config.getStringXPath(inputDataNode,"@name"); + String value = Config.getStringXPath(inputDataNode,"@value"); + + if (returnValue.containsKey(name)){ + InputData inputData = returnValue.get(name); + inputData.concartValue(value); + log.debug(inputData.toString()); + returnValue.put(name, inputData); + }else{ + InputData inputData = new DefaultInputData(name,value); + + returnValue.put(name,inputData); + } } } - return returnValue; + return returnValue.values(); } /** * @see de.intevation.artifactdatabase.DefaultArtifact#out(org.w3c.dom.Document, java.lang.Object)