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 }

http://dive4elements.wald.intevation.org