annotate gnv/src/test/java/de/intevation/gnv/artifactdatabase/client/ArtifactDatabaseClientTestCase.java @ 157:013d47662161

Switched the Communication for Describe-Calls to the artifact-database from get to post. Added the possibility to tell the artifact-database that the ui should not be delivered in describe-responses. gnv/trunk@285 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Thu, 05 Nov 2009 14:53:24 +0000
parents 23a4f196d7d6
children c4f051adc6e7
rev   line source
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
1 /**
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
2 *
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
3 */
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
4 package de.intevation.gnv.artifactdatabase.client;
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
5
12
4ebe57b170d3 Integration of moving through the Artifact-States and rendering the UI.
Tim Englich <tim.englich@intevation.de>
parents: 11
diff changeset
6 import java.util.ArrayList;
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
7 import java.util.Collection;
10
e6c47838eee6 Added "Create Artifact" and "Describe Artifact" to the Testszenario.
Tim Englich <tim.englich@intevation.de>
parents: 5
diff changeset
8 import java.util.Iterator;
40
23a4f196d7d6 Adding Languagetransfer to the ArtifactDatabase to the GNV-Client
Tim Englich <tim.englich@intevation.de>
parents: 36
diff changeset
9 import java.util.Locale;
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
10
35
4405f31bbc30 CodeCleanUP
Tim Englich <tim.englich@intevation.de>
parents: 12
diff changeset
11 import junit.framework.TestCase;
4405f31bbc30 CodeCleanUP
Tim Englich <tim.englich@intevation.de>
parents: 12
diff changeset
12
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
13 import org.apache.log4j.BasicConfigurator;
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
14 import org.apache.log4j.Logger;
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
15
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
16 import de.intevation.gnv.artifactdatabase.client.exception.ArtifactDatabaseClientException;
11
3cb753564552 Integration of the required XSL-Transformation of the Describe-Response of the Artifactdatabase
Tim Englich <tim.englich@intevation.de>
parents: 10
diff changeset
17 import de.intevation.gnv.artifactdatabase.objects.ArtifactDescription;
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
18 import de.intevation.gnv.artifactdatabase.objects.ArtifactObject;
12
4ebe57b170d3 Integration of moving through the Artifact-States and rendering the UI.
Tim Englich <tim.englich@intevation.de>
parents: 11
diff changeset
19 import de.intevation.gnv.artifactdatabase.objects.DefaultInputParameter;
4ebe57b170d3 Integration of moving through the Artifact-States and rendering the UI.
Tim Englich <tim.englich@intevation.de>
parents: 11
diff changeset
20 import de.intevation.gnv.artifactdatabase.objects.InputParameter;
11
3cb753564552 Integration of the required XSL-Transformation of the Describe-Response of the Artifactdatabase
Tim Englich <tim.englich@intevation.de>
parents: 10
diff changeset
21 import de.intevation.gnv.util.XSLTransformer;
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
22
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
23 /**
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
24 * @author Tim Englich <tim.englich@intevation.de>
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
25 *
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
26 */
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
27 public class ArtifactDatabaseClientTestCase extends TestCase {
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
28
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
29 /**
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
30 * the logger, used to log exceptions and additonaly information
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
31 */
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
32 private static Logger log = null;
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
33
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
34 static {
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
35 BasicConfigurator.configure();
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
36 log = Logger.getLogger(DefaultArtifactDatabaseClient.class);
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
37 }
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
38
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
39 /**
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
40 * Constructor
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
41 *
10
e6c47838eee6 Added "Create Artifact" and "Describe Artifact" to the Testszenario.
Tim Englich <tim.englich@intevation.de>
parents: 5
diff changeset
42 * @param namemessage
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
43 */
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
44 public ArtifactDatabaseClientTestCase(String name) {
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
45 super(name);
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
46 }
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
47
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
48 /**
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
49 * @see junit.framework.TestCase#setUp()
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
50 */
35
4405f31bbc30 CodeCleanUP
Tim Englich <tim.englich@intevation.de>
parents: 12
diff changeset
51 @Override
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
52 protected void setUp() throws Exception {
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
53 super.setUp();
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
54 }
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
55
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
56 public void testArtifactDatabaseClient() {
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
57
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
58 try {
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
59 ArtifactDatabaseClient artifactDatabaseClient = ArtifactDatabaseClientFactory
40
23a4f196d7d6 Adding Languagetransfer to the ArtifactDatabase to the GNV-Client
Tim Englich <tim.englich@intevation.de>
parents: 36
diff changeset
60 .getInstance().getArtifactDatabaseClient(Locale.GERMAN);
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
61 Collection<ArtifactObject> factories = artifactDatabaseClient
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
62 .getArtifactFactories();
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
63 if (factories != null && !factories.isEmpty()) {
10
e6c47838eee6 Added "Create Artifact" and "Describe Artifact" to the Testszenario.
Tim Englich <tim.englich@intevation.de>
parents: 5
diff changeset
64 Iterator<ArtifactObject> it = factories.iterator();
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
65 while (it.hasNext()) {
10
e6c47838eee6 Added "Create Artifact" and "Describe Artifact" to the Testszenario.
Tim Englich <tim.englich@intevation.de>
parents: 5
diff changeset
66 ArtifactObject aof = it.next();
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
67 ArtifactObject artifact = artifactDatabaseClient
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
68 .createNewArtifact(aof);
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
69 ArtifactDescription ad = artifactDatabaseClient
157
013d47662161 Switched the Communication for Describe-Calls to the artifact-database from get to post.
Tim Englich <tim.englich@intevation.de>
parents: 40
diff changeset
70 .getCurrentStepDescription(aof, artifact,true);
10
e6c47838eee6 Added "Create Artifact" and "Describe Artifact" to the Testszenario.
Tim Englich <tim.englich@intevation.de>
parents: 5
diff changeset
71 log.debug("Artifact aktualisert.");
11
3cb753564552 Integration of the required XSL-Transformation of the Describe-Response of the Artifactdatabase
Tim Englich <tim.englich@intevation.de>
parents: 10
diff changeset
72 XSLTransformer transformer = new XSLTransformer();
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
73 String transformedUI = transformer
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
74 .transform(
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
75 ad.getCurrentUI(),
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
76 "UTF-8",
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
77 ("src/main/webapp/WEB-INF/config/templates/describe-ui.xsl"));
11
3cb753564552 Integration of the required XSL-Transformation of the Describe-Response of the Artifactdatabase
Tim Englich <tim.englich@intevation.de>
parents: 10
diff changeset
78 log.debug(transformedUI);
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
79
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
80 Collection<InputParameter> inputParameter = new ArrayList<InputParameter>(
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
81 1);
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
82 inputParameter.add(new DefaultInputParameter("product",
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
83 new String[] { "timeSeries" }));
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
84 ad = artifactDatabaseClient.doNextStep(aof, artifact,
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
85 "timeSeries", inputParameter);
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
86
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
87 transformedUI = transformer
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
88 .transform(
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
89 ad.getCurrentUI(),
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
90 "UTF-8",
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
91 ("src/main/webapp/WEB-INF/config/templates/describe-ui.xsl"));
12
4ebe57b170d3 Integration of moving through the Artifact-States and rendering the UI.
Tim Englich <tim.englich@intevation.de>
parents: 11
diff changeset
92 log.debug(transformedUI);
10
e6c47838eee6 Added "Create Artifact" and "Describe Artifact" to the Testszenario.
Tim Englich <tim.englich@intevation.de>
parents: 5
diff changeset
93 }
e6c47838eee6 Added "Create Artifact" and "Describe Artifact" to the Testszenario.
Tim Englich <tim.englich@intevation.de>
parents: 5
diff changeset
94 }
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
95
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
96 } catch (ArtifactDatabaseClientException e) {
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
97 log.error(e, e);
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
98 fail();
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
99 }
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
100 }
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
101
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
102 }

http://dive4elements.wald.intevation.org