Mercurial > dive4elements > gnv-client
comparison gnv/src/main/java/de/intevation/gnv/artifactdatabase/client/DefaultArtifactDatabaseClient.java @ 32:0f4362d75e9e
Adding StatisticsOutput to the GUI
gnv/trunk@142 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Mon, 28 Sep 2009 09:36:02 +0000 |
parents | 07e9c137a2f1 |
children | 25fdec8b4c69 |
comparison
equal
deleted
inserted
replaced
31:ad739da2802b | 32:0f4362d75e9e |
---|---|
28 import de.intevation.gnv.artifactdatabase.client.exception.ArtifactDatabaseClientException; | 28 import de.intevation.gnv.artifactdatabase.client.exception.ArtifactDatabaseClientException; |
29 import de.intevation.gnv.artifactdatabase.objects.Artifact; | 29 import de.intevation.gnv.artifactdatabase.objects.Artifact; |
30 import de.intevation.gnv.artifactdatabase.objects.ArtifactDescription; | 30 import de.intevation.gnv.artifactdatabase.objects.ArtifactDescription; |
31 import de.intevation.gnv.artifactdatabase.objects.ArtifactFactory; | 31 import de.intevation.gnv.artifactdatabase.objects.ArtifactFactory; |
32 import de.intevation.gnv.artifactdatabase.objects.ArtifactObject; | 32 import de.intevation.gnv.artifactdatabase.objects.ArtifactObject; |
33 import de.intevation.gnv.artifactdatabase.objects.ArtifactStatisticValue; | |
34 import de.intevation.gnv.artifactdatabase.objects.DefaultArtifactStatisticValue; | |
33 import de.intevation.gnv.artifactdatabase.objects.DefaultOutputMode; | 35 import de.intevation.gnv.artifactdatabase.objects.DefaultOutputMode; |
34 import de.intevation.gnv.artifactdatabase.objects.DefaultOutputParameter; | 36 import de.intevation.gnv.artifactdatabase.objects.DefaultOutputParameter; |
35 import de.intevation.gnv.artifactdatabase.objects.InputParameter; | 37 import de.intevation.gnv.artifactdatabase.objects.InputParameter; |
36 import de.intevation.gnv.artifactdatabase.objects.OutputMode; | 38 import de.intevation.gnv.artifactdatabase.objects.OutputMode; |
37 import de.intevation.gnv.artifactdatabase.objects.OutputParameter; | 39 import de.intevation.gnv.artifactdatabase.objects.OutputParameter; |
533 if (message != null){ | 535 if (message != null){ |
534 throw new ArtifactDatabaseClientException(message); | 536 throw new ArtifactDatabaseClientException(message); |
535 } | 537 } |
536 | 538 |
537 } | 539 } |
540 | |
541 public Collection<ArtifactStatisticValue> calculateStatistics( | |
542 ArtifactObject artifactFactory, ArtifactObject currentArtifact) throws ArtifactDatabaseClientException{ | |
543 log.debug("DefaultArtifactDatabaseClient.calculateStatistics") ; | |
544 Collection<ArtifactStatisticValue> result; | |
545 try { | |
546 result = null; | |
547 String targetName = "statistics"; | |
548 String requestUrl = this.getArtifactUrl(artifactFactory, currentArtifact)+"/"+targetName; | |
549 Document requestBody = this.createOutRequestBody(currentArtifact, targetName, "text/xml", null); | |
550 XMLUtils xmlUtils = new XMLUtils(); | |
551 InputStream is = this.doPostRequest(requestUrl, requestBody); | |
552 Document resultDocument = xmlUtils.readDocument(is); | |
553 if (resultDocument != null){ | |
554 NodeList resultNodes = xmlUtils.getNodeSetXPath(resultDocument, "/statistic-values/statistic"); | |
555 if (resultNodes != null){ | |
556 result = new ArrayList<ArtifactStatisticValue>(resultNodes.getLength()); | |
557 for (int i = 0; i < resultNodes.getLength(); i++){ | |
558 Node statisticNode = resultNodes.item(i); | |
559 String name = xmlUtils.getStringXPath(statisticNode, "@name"); | |
560 String value = xmlUtils.getStringXPath(statisticNode, "@value"); | |
561 result.add(new DefaultArtifactStatisticValue(name, value)); | |
562 } | |
563 } | |
564 } | |
565 } catch (IOException e) { | |
566 log.error(e,e); | |
567 throw new ArtifactDatabaseClientException(e); | |
568 } | |
569 | |
570 return result; | |
571 } | |
538 } | 572 } |