annotate gnv/src/test/java/de/intevation/gnv/artifactdatabase/client/ArtifactDatabaseClientTestCase.java @ 1022:28a0628b11b0

Added license file and license header. gnv/trunk@1258 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 02 Nov 2010 17:15:08 +0000
parents 57fa8019fbdc
children
rev   line source
1022
28a0628b11b0 Added license file and license header.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 684
diff changeset
1 /*
28a0628b11b0 Added license file and license header.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 684
diff changeset
2 * Copyright (c) 2010 by Intevation GmbH
28a0628b11b0 Added license file and license header.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 684
diff changeset
3 *
28a0628b11b0 Added license file and license header.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 684
diff changeset
4 * This program is free software under the LGPL (>=v2.1)
28a0628b11b0 Added license file and license header.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 684
diff changeset
5 * Read the file LGPL.txt coming with the software for details
28a0628b11b0 Added license file and license header.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 684
diff changeset
6 * or visit http://www.gnu.org/licenses/ if it does not exist.
28a0628b11b0 Added license file and license header.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 684
diff changeset
7 */
28a0628b11b0 Added license file and license header.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 684
diff changeset
8
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
9 package de.intevation.gnv.artifactdatabase.client;
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
10
683
d49e8695786c Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 681
diff changeset
11 import de.intevation.gnv.artifactdatabase.objects.ArtifactDescription;
d49e8695786c Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 681
diff changeset
12 import de.intevation.gnv.artifactdatabase.objects.ArtifactObject;
d49e8695786c Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 681
diff changeset
13 import de.intevation.gnv.artifactdatabase.objects.DefaultInputParameter;
d49e8695786c Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 681
diff changeset
14 import de.intevation.gnv.artifactdatabase.objects.InputParameter;
d49e8695786c Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 681
diff changeset
15
d49e8695786c Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 681
diff changeset
16 import de.intevation.gnv.util.XSLTransformer;
d49e8695786c Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 681
diff changeset
17
12
4ebe57b170d3 Integration of moving through the Artifact-States and rendering the UI.
Tim Englich <tim.englich@intevation.de>
parents: 11
diff changeset
18 import java.util.ArrayList;
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
19 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
20 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
21 import java.util.Locale;
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
22
35
4405f31bbc30 CodeCleanUP
Tim Englich <tim.englich@intevation.de>
parents: 12
diff changeset
23 import junit.framework.TestCase;
4405f31bbc30 CodeCleanUP
Tim Englich <tim.englich@intevation.de>
parents: 12
diff changeset
24
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
25 import org.apache.log4j.BasicConfigurator;
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
26 import org.apache.log4j.Logger;
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
27
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
28 /**
684
57fa8019fbdc Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 683
diff changeset
29 * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a>
681
15ac78a91d1b Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 667
diff changeset
30 *
5
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 public class ArtifactDatabaseClientTestCase extends TestCase {
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
33
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
34 /**
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
35 * 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
36 */
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
37 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
38
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
39 static {
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
40 BasicConfigurator.configure();
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
41 log = Logger.getLogger(DefaultArtifactDatabaseClient.class);
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
42 }
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
43
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
44 /**
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
45 * Constructor
681
15ac78a91d1b Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 667
diff changeset
46 *
10
e6c47838eee6 Added "Create Artifact" and "Describe Artifact" to the Testszenario.
Tim Englich <tim.englich@intevation.de>
parents: 5
diff changeset
47 * @param namemessage
5
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 public ArtifactDatabaseClientTestCase(String name) {
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
50 super(name);
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
51 }
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
52
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
53 /**
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
54 * @see junit.framework.TestCase#setUp()
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
55 */
35
4405f31bbc30 CodeCleanUP
Tim Englich <tim.englich@intevation.de>
parents: 12
diff changeset
56 @Override
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
57 protected void setUp() throws Exception {
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
58 super.setUp();
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
59 }
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
60
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
61 public void testArtifactDatabaseClient() {
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
62
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
63 try {
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
64 ArtifactDatabaseClient artifactDatabaseClient = ArtifactDatabaseClientFactory
40
23a4f196d7d6 Adding Languagetransfer to the ArtifactDatabase to the GNV-Client
Tim Englich <tim.englich@intevation.de>
parents: 36
diff changeset
65 .getInstance().getArtifactDatabaseClient(Locale.GERMAN);
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
66 Collection<ArtifactObject> factories = artifactDatabaseClient
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
67 .getArtifactFactories();
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
68 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
69 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
70 while (it.hasNext()) {
10
e6c47838eee6 Added "Create Artifact" and "Describe Artifact" to the Testszenario.
Tim Englich <tim.englich@intevation.de>
parents: 5
diff changeset
71 ArtifactObject aof = it.next();
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
72 ArtifactObject artifact = artifactDatabaseClient
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
73 .createNewArtifact(aof);
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
74 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
75 .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
76 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
77 XSLTransformer transformer = new XSLTransformer();
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
78 String transformedUI = transformer
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
79 .transform(
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
80 ad.getCurrentUI(),
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
81 "UTF-8",
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
82 ("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
83 log.debug(transformedUI);
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
84
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
85 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
86 1);
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
87 inputParameter.add(new DefaultInputParameter("product",
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
88 new String[] { "timeSeries" }));
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
89 ad = artifactDatabaseClient.doNextStep(aof, artifact,
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
90 "timeSeries", inputParameter);
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
91
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
92 transformedUI = transformer
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
93 .transform(
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
94 ad.getCurrentUI(),
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
95 "UTF-8",
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
96 ("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
97 log.debug(transformedUI);
10
e6c47838eee6 Added "Create Artifact" and "Describe Artifact" to the Testszenario.
Tim Englich <tim.englich@intevation.de>
parents: 5
diff changeset
98 }
e6c47838eee6 Added "Create Artifact" and "Describe Artifact" to the Testszenario.
Tim Englich <tim.englich@intevation.de>
parents: 5
diff changeset
99 }
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
100
667
c4f051adc6e7 Fixed Compilation-Error because of InterfaceChanges of the ArtifactDatabaseClient-Interface.
Tim Englich <tim.englich@intevation.de>
parents: 157
diff changeset
101 } catch (Exception e) {
36
ad381cc47217 Format Code to max 80 Chars per Row
Tim Englich <tim.englich@intevation.de>
parents: 35
diff changeset
102 log.error(e, e);
5
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
103 fail();
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
104 }
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
105 }
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
106
4027821ca8d7 Testcase for querying Artifacfactorydescriptions from the ArtifactDatabase
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
107 }

http://dive4elements.wald.intevation.org