Mercurial > dive4elements > gnv-client
annotate gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java @ 1140:f576fc74ee80
dummy merge for repo head
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:15:17 +0200 |
parents | c01c220312d0 |
children |
rev | line source |
---|---|
1115
f953c9a559d8
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
835
diff
changeset
|
1 /* |
f953c9a559d8
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
835
diff
changeset
|
2 * Copyright (c) 2010 by Intevation GmbH |
f953c9a559d8
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
835
diff
changeset
|
3 * |
f953c9a559d8
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
835
diff
changeset
|
4 * This program is free software under the LGPL (>=v2.1) |
f953c9a559d8
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
835
diff
changeset
|
5 * Read the file LGPL.txt coming with the software for details |
f953c9a559d8
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
835
diff
changeset
|
6 * or visit http://www.gnu.org/licenses/ if it does not exist. |
f953c9a559d8
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
835
diff
changeset
|
7 */ |
f953c9a559d8
Added license file and license headers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
835
diff
changeset
|
8 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
9 package de.intevation.gnv.artifacts.services; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
10 |
820
8288f4a0d7e6
Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents:
815
diff
changeset
|
11 import java.util.ArrayList; |
8288f4a0d7e6
Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents:
815
diff
changeset
|
12 import java.util.Collection; |
8288f4a0d7e6
Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents:
815
diff
changeset
|
13 import java.util.Iterator; |
8288f4a0d7e6
Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents:
815
diff
changeset
|
14 |
8288f4a0d7e6
Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents:
815
diff
changeset
|
15 import javax.xml.xpath.XPathConstants; |
8288f4a0d7e6
Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents:
815
diff
changeset
|
16 |
8288f4a0d7e6
Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents:
815
diff
changeset
|
17 import org.apache.log4j.Logger; |
8288f4a0d7e6
Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents:
815
diff
changeset
|
18 import org.w3c.dom.Document; |
8288f4a0d7e6
Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents:
815
diff
changeset
|
19 import org.w3c.dom.Element; |
8288f4a0d7e6
Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents:
815
diff
changeset
|
20 import org.w3c.dom.Node; |
8288f4a0d7e6
Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents:
815
diff
changeset
|
21 import org.w3c.dom.NodeList; |
8288f4a0d7e6
Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents:
815
diff
changeset
|
22 |
779
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
23 import com.vividsolutions.jts.geom.Geometry; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
24 import com.vividsolutions.jts.io.ParseException; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
25 import com.vividsolutions.jts.io.WKTReader; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
26 |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
27 import de.intevation.artifactdatabase.DefaultService; |
1117
dec4257ad570
Changed imports to fit new positions of XMLUtils and Config
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1115
diff
changeset
|
28 import de.intevation.artifacts.common.utils.XMLUtils; |
779
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
29 import de.intevation.artifacts.ArtifactNamespaceContext; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
30 import de.intevation.artifacts.CallMeta; |
1118
c01c220312d0
Made it compile again with an updated ArtifactDatabase.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1117
diff
changeset
|
31 import de.intevation.artifacts.GlobalContext; |
779
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
32 import de.intevation.artifacts.ServiceFactory; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
33 import de.intevation.gnv.artifacts.services.requestobjects.DefaultFIS; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
34 import de.intevation.gnv.artifacts.services.requestobjects.DefaultLayer; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
35 import de.intevation.gnv.artifacts.services.requestobjects.DefaultMapService; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
36 import de.intevation.gnv.artifacts.services.requestobjects.DefaultParameter; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
37 import de.intevation.gnv.artifacts.services.requestobjects.FIS; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
38 import de.intevation.gnv.artifacts.services.requestobjects.Layer; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
39 import de.intevation.gnv.artifacts.services.requestobjects.MapService; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
40 import de.intevation.gnv.artifacts.services.requestobjects.Parameter; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
41 import de.intevation.gnv.geobackend.base.Result; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
42 import de.intevation.gnv.geobackend.base.query.QueryExecutor; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
43 import de.intevation.gnv.geobackend.base.query.QueryExecutorFactory; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
44 import de.intevation.gnv.geobackend.base.query.exception.QueryException; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
45 import de.intevation.gnv.utils.ArtifactXMLUtilities; |
b1f5f2a8840f
Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
778
diff
changeset
|
46 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
47 /** |
835
2423cefe7d39
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
827
diff
changeset
|
48 * This Class Provides the Functionality to return only those |
820
8288f4a0d7e6
Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents:
815
diff
changeset
|
49 * Artifacfactories which fulfill the conditions of the Request. |
835
2423cefe7d39
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
827
diff
changeset
|
50 * |
2423cefe7d39
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
827
diff
changeset
|
51 * This Service is used to implement the Functionality of the MV-GNV-Interface |
2423cefe7d39
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
827
diff
changeset
|
52 * by looking if an Region of an FIS is intersecting the Area which is send |
820
8288f4a0d7e6
Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents:
815
diff
changeset
|
53 * during the Request or which FIS belongs to the requested MapServices. |
835
2423cefe7d39
Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
827
diff
changeset
|
54 * |
780
c4156275c1e1
Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
779
diff
changeset
|
55 * @author <a href="mailto:tim.englich@intevation.de">Tim Englich</a> |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
56 * |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
57 */ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
58 public class MetaDataService extends DefaultService { |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
59 |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
60 /** |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
61 * the logger, used to log exceptions and additionally information |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
62 */ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
63 private static Logger log = Logger.getLogger(MetaDataService.class); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
64 |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
65 |
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
66 private final static String FIS_REGION_QUERY_ID = |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
67 "mapviewer_interface_fis_region"; |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
68 private final static String MAPSERVICES_HAS_FIS_QUERY_ID = |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
69 "mapviewer_interface_mapservices_has_fis"; |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
70 private final static String MAPSERVICES_HAS_PARAMETER_QUERY_ID = |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
71 "mapviewer_interface_mapservices_has_parameter"; |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
72 |
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
73 private final static String MAPSERVICES_HAS_PARAMETER_USING_LAYER_QUERY_ID = |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
74 "mapviewer_interface_mapservices_has_parameter_using_layer"; |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
75 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
76 private static String ATTRIBUTE_ID = "id"; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
77 private static String ATTRIBUTE_NAME = "name"; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
78 private static String ATTRIBUTE_TYPE = "type"; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
79 private static String ATTRIBUTE_URL = "url"; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
80 private static String ATTRIBUTE_GROUPLAYER = "isgrouplayer"; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
81 private static String ATTRIBUTE_PARENTID = "parentid"; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
82 private static String ATTRIBUTE_SRS = "srs"; |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
83 |
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
84 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
85 private static String XPATH_LOACTION_NODE = "art:GetMetaData/art:location"; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
86 private static String XPATH_MAPSERVICES_NODESET = "art:GetMetaData/" + |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
87 "art:mapservices/" + |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
88 "art:mapservice"; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
89 private static String XPATH_LAYER_NODESET = "art:layer"; |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
90 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
91 /** |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
92 * The UID of this Class. |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
93 */ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
94 private static final long serialVersionUID = -8446483887497236372L; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
95 |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
96 /** |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
97 * Constructor |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
98 */ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
99 public MetaDataService() { |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
100 super(); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
101 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
102 |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
103 @Override |
1118
c01c220312d0
Made it compile again with an updated ArtifactDatabase.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1117
diff
changeset
|
104 public Document process( |
c01c220312d0
Made it compile again with an updated ArtifactDatabase.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1117
diff
changeset
|
105 Document data, |
c01c220312d0
Made it compile again with an updated ArtifactDatabase.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1117
diff
changeset
|
106 GlobalContext globalContext, |
c01c220312d0
Made it compile again with an updated ArtifactDatabase.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1117
diff
changeset
|
107 CallMeta callMeta |
c01c220312d0
Made it compile again with an updated ArtifactDatabase.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1117
diff
changeset
|
108 ) { |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
109 log.debug("MetaDataService.process"); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
110 Document document = null; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
111 try { |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
112 Geometry g = this.parseGeometry(data); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
113 Collection<MapService> mapServices = this.parseMapServices(data); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
114 Collection<FIS> resultFIS = this.unionFIS(this.getFIS(g), |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
115 this.getFIS(mapServices)); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
116 document = XMLUtils.newDocument(); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
117 this.writeFIS2Document(document, resultFIS); |
792
9b9bf42b7928
Added and repaired JavaDoc in artifacts package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
118 log.debug(ArtifactXMLUtilities.writeDocument2String(document)); |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
119 } catch (MetaDataServiceException e) { |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
120 log.error(e,e); |
792
9b9bf42b7928
Added and repaired JavaDoc in artifacts package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
121 document = ArtifactXMLUtilities |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
122 .createExceptionReport(e.getMessage(), document); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
123 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
124 return document; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
125 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
126 |
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
127 private Geometry parseGeometry(Document data) |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
128 throws MetaDataServiceException{ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
129 log.debug("MetaDataService.parseGeometry"); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
130 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
131 Element locationNode = (Element) XMLUtils.xpath( |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
132 data, |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
133 XPATH_LOACTION_NODE, |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
134 XPathConstants.NODE, |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
135 ArtifactNamespaceContext.INSTANCE |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
136 ); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
137 Geometry returnValue = null; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
138 if (locationNode != null) { |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
139 String srs = locationNode.getAttribute(ATTRIBUTE_SRS); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
140 // TODO: use SRS to transform the Geometry to target-System. |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
141 String geometryValue = locationNode.getTextContent(); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
142 if (geometryValue != null){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
143 try { |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
144 returnValue = new WKTReader().read(geometryValue); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
145 } catch (ParseException e) { |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
146 log.error(e,e); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
147 throw new MetaDataServiceException("The given Geometry" + |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
148 "String is not a " + |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
149 "valid WKT."); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
150 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
151 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
152 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
153 return returnValue; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
154 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
155 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
156 private Collection<MapService> parseMapServices(Document data){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
157 log.debug("MetaDataService.parseMapServices"); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
158 |
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
159 NodeList mapServices = (NodeList) XMLUtils.xpath(data, |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
160 XPATH_MAPSERVICES_NODESET, |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
161 XPathConstants.NODESET, |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
162 ArtifactNamespaceContext.INSTANCE); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
163 Collection<MapService> returnValue = null; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
164 if (mapServices != null){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
165 returnValue = new ArrayList<MapService>(mapServices.getLength()); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
166 for (int i = 0; i < mapServices.getLength(); i++){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
167 Element mapServiceNode = (Element)mapServices.item(i); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
168 String id = mapServiceNode.getAttribute(ATTRIBUTE_ID); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
169 String type = mapServiceNode.getAttribute(ATTRIBUTE_TYPE); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
170 String url = mapServiceNode.getAttribute(ATTRIBUTE_URL); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
171 Collection<Layer> layer = null; |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
172 |
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
173 NodeList layerNodes = (NodeList) XMLUtils.xpath(mapServiceNode, |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
174 XPATH_LAYER_NODESET, |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
175 XPathConstants.NODESET, |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
176 ArtifactNamespaceContext.INSTANCE); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
177 if (layerNodes != null){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
178 layer = new ArrayList<Layer>(layerNodes.getLength()); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
179 for (int j = 0; j < layerNodes.getLength(); j++){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
180 Element layerNode = (Element)layerNodes.item(j); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
181 String layerId = layerNode.getAttribute(ATTRIBUTE_ID); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
182 String layerName = layerNode.getAttribute(ATTRIBUTE_NAME); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
183 boolean isGroupLayer = |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
184 Boolean.parseBoolean(layerNode |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
185 .getAttribute( |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
186 ATTRIBUTE_GROUPLAYER)); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
187 String parentId = layerNode |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
188 .getAttribute(ATTRIBUTE_PARENTID); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
189 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
190 layer.add(new DefaultLayer(layerId, |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
191 layerName, |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
192 isGroupLayer, |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
193 parentId)); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
194 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
195 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
196 MapService mapService = new DefaultMapService(id, layer, |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
197 type, url); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
198 returnValue.add(mapService); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
199 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
200 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
201 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
202 return returnValue; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
203 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
204 |
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
205 private Collection<FIS> unionFIS(Collection<FIS> fromGeometry, |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
206 Collection<FIS> fromMapservices){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
207 log.debug("MetaDataService.unionFIS"); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
208 Collection<FIS> returnValue = null; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
209 if (fromGeometry == null || fromGeometry.isEmpty()){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
210 returnValue = fromMapservices; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
211 }else if (fromMapservices == null || fromMapservices.isEmpty()){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
212 returnValue = fromGeometry; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
213 }else{ |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
214 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
215 returnValue = new ArrayList<FIS>(); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
216 Iterator<FIS> it = fromMapservices.iterator(); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
217 while (it.hasNext()){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
218 FIS fis = it.next(); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
219 if (fromGeometry.contains(fis)){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
220 returnValue.add(fis); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
221 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
222 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
223 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
224 return returnValue; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
225 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
226 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
227 /** |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
228 * Puts the retrieved FIS into the given XML-Document. |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
229 * @param document the Document where the FIS should be put in. |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
230 * @param fis the retrieved FIS which should be written into |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
231 * the XML-Document. |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
232 */ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
233 private void writeFIS2Document(Document document, Collection<FIS> fis){ |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
234 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
235 if (fis != null){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
236 Iterator<FIS> it = fis.iterator(); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
237 XMLUtils.ElementCreator creator = new XMLUtils.ElementCreator( |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
238 document, |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
239 ArtifactNamespaceContext.NAMESPACE_URI, |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
240 ArtifactNamespaceContext.NAMESPACE_PREFIX |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
241 ); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
242 Node rootNode = creator.create("result"); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
243 document.appendChild(rootNode); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
244 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
245 Node factoriesNode = creator.create("factories"); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
246 rootNode.appendChild(factoriesNode); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
247 while (it.hasNext()){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
248 FIS tmpFIS = it.next(); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
249 Element fisNode = creator.create("factory"); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
250 fisNode.setAttribute("art:name",tmpFIS.getID()); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
251 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
252 Collection<Parameter> parameter = tmpFIS.getParameter(); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
253 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
254 if(parameter != null){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
255 Iterator<Parameter> pit = parameter.iterator(); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
256 while (pit.hasNext()){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
257 Parameter p = pit.next(); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
258 Element parameterNode = creator.create("parameter"); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
259 parameterNode.setAttribute(ATTRIBUTE_ID, p.getID()); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
260 parameterNode.setAttribute(ATTRIBUTE_NAME, p.getName()); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
261 fisNode.appendChild(parameterNode); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
262 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
263 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
264 factoriesNode.appendChild(fisNode); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
265 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
266 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
267 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
268 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
269 /** |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
270 * Returns all FIS which Areas is intersected by this given Geometry |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
271 * @param g the Geometry which should be used to determine the FIS. |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
272 * @return all FIS which Areas is intersected by this given Geometry |
792
9b9bf42b7928
Added and repaired JavaDoc in artifacts package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
273 * @throws MetaDataServiceException |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
274 */ |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
275 protected Collection<FIS> getFIS(Geometry g) |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
276 throws MetaDataServiceException{ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
277 log.debug("MetaDataService.getFIS ==> Geometry"); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
278 Collection<FIS> resultValue = null; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
279 if (g != null){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
280 try { |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
281 QueryExecutor queryExecutor = QueryExecutorFactory |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
282 .getInstance() |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
283 .getQueryExecutor(); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
284 Collection<Result> result = queryExecutor.executeQuery(FIS_REGION_QUERY_ID, |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
285 new String[]{g.toString()}); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
286 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
287 if (result != null){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
288 resultValue = new ArrayList<FIS>(result.size()); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
289 Iterator<Result> it = result.iterator(); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
290 while (it.hasNext()){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
291 Result value = it.next(); |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
292 String fis_id = value.getString(0).trim(); |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
293 resultValue.add(new DefaultFIS(fis_id)); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
294 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
295 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
296 } catch (QueryException e) { |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
297 log.error(e,e); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
298 throw new MetaDataServiceException("Cannot Query FIS from DB."); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
299 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
300 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
301 return resultValue; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
302 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
303 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
304 /** |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
305 * Returns all FIS which were represented by the given Mapservices |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
306 * @param mapServices the Mapservices which should determine the FIS. |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
307 * @return all FIS which where represented my the given Mapservices. |
792
9b9bf42b7928
Added and repaired JavaDoc in artifacts package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
308 * @throws MetaDataServiceException |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
309 */ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
310 protected Collection<FIS> getFIS(Collection<MapService> mapServices) |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
311 throws MetaDataServiceException{ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
312 log.debug("MetaDataService.getFIS ==> MapServices"); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
313 Collection<FIS> resultValue = null; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
314 if (mapServices != null && !mapServices.isEmpty()){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
315 try { |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
316 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
317 String mapServiceNames = ""; |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
318 Iterator<MapService> mit = mapServices.iterator(); |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
319 while(mit.hasNext()){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
320 if (mapServiceNames.length() > 0){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
321 mapServiceNames += " , "; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
322 } |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
323 mapServiceNames += "'"+mit.next().getID()+"'"; |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
324 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
325 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
326 QueryExecutor queryExecutor = QueryExecutorFactory |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
327 .getInstance() |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
328 .getQueryExecutor(); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
329 Collection<Result> result = queryExecutor.executeQuery( |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
330 MAPSERVICES_HAS_FIS_QUERY_ID, |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
331 new String[]{mapServiceNames}); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
332 if (result != null){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
333 resultValue = new ArrayList<FIS>(result.size()); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
334 Iterator<Result> it = result.iterator(); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
335 while (it.hasNext()){ |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
336 Result value = it.next(); |
606
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
337 String fisId = value.getString(0).trim(); |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
338 String mapServiceID = value.getString(1).trim(); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
339 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
340 // FIRST LOOK IF ONE MAPSERVICE REPRESENTS ONLY ONE PARAM |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
341 Collection<Result> result2 = queryExecutor.executeQuery( |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
342 MAPSERVICES_HAS_PARAMETER_QUERY_ID, |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
343 new String[]{"'"+mapServiceID+"'"}); |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
344 Collection<Parameter> parameter = null; |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
345 if (result2 != null && result2.size() == 1){ |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
346 Iterator<Result> it2 = result2.iterator(); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
347 parameter = new ArrayList<Parameter>(1); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
348 while (it2.hasNext()){ |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
349 Result parameterValue = it2.next(); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
350 String parameterID = parameterValue.getString(0) |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
351 .trim(); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
352 parameter.add(new DefaultParameter(parameterID, |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
353 parameterID)); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
354 } |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
355 }else{ |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
356 // IF FALSE LOOK IF THE GIVEN LAYERs TO AN MAPSERVICE |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
357 // REPRESENTS DIFFERENT PARAMS |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
358 MapService service = this.getMapService(mapServices, |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
359 mapServiceID); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
360 Collection<Layer> layer = service.getLayer(); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
361 if (layer != null && !layer.isEmpty()){ |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
362 String layerQueryString = |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
363 this.createLayerQueryString(layer); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
364 Collection<Result> parameterResult = |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
365 queryExecutor.executeQuery( |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
366 MAPSERVICES_HAS_PARAMETER_USING_LAYER_QUERY_ID, |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
367 new String[]{"'"+mapServiceID+"'", |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
368 layerQueryString}); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
369 if (parameterResult != null && |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
370 !parameterResult.isEmpty()){ |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
371 Iterator<Result> it2 = parameterResult.iterator(); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
372 parameter = new ArrayList<Parameter>(parameterResult.size()); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
373 while (it2.hasNext()){ |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
374 Result parameterValue = it2.next(); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
375 String parameterID = parameterValue.getString(0) |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
376 .trim(); |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
377 parameter.add(new DefaultParameter(parameterID, |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
378 parameterID)); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
379 } |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
380 } |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
381 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
382 |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
383 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
384 |
606
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
385 FIS fis = this.getFIS(resultValue, fisId); |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
386 if (fis != null){ |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
387 if (parameter != null){ |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
388 fis.addParameter(parameter); |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
389 } |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
390 }else{ |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
391 resultValue.add(new DefaultFIS(fisId, parameter)); |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
392 } |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
393 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
394 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
395 } catch (QueryException e) { |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
396 log.error(e,e); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
397 throw new MetaDataServiceException("Cannot Query FIS from DB."); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
398 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
399 |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
400 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
401 return resultValue; |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
402 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
403 |
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
404 |
606
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
405 private FIS getFIS (Collection<FIS> fis, String fisId){ |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
406 |
606
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
407 Iterator<FIS> it = fis.iterator(); |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
408 while(it.hasNext()){ |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
409 FIS tmpFIS = it.next(); |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
410 if (tmpFIS.getID().equals(fisId)){ |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
411 return tmpFIS; |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
412 } |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
413 } |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
414 return null; |
9efc1c256dbb
Added the support of the usecase that one FIS can be identified by different MapServices. In that case the parameters will be merged into the existing FIS.
Tim Englich <tim.englich@intevation.de>
parents:
604
diff
changeset
|
415 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
416 |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
417 private MapService getMapService(Collection<MapService> mapServices, |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
418 String mapServiceID){ |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
419 log.debug("MetaDataService.getMapService"); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
420 Iterator<MapService> it = mapServices.iterator(); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
421 while (it.hasNext()){ |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
422 MapService service = it.next(); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
423 if (service.getID().equals(mapServiceID)){ |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
424 return service; |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
425 } |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
426 } |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
427 return null; |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
428 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
429 |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
430 private String createLayerQueryString(Collection<Layer> layer){ |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
431 log.debug("MetaDataService.createLayerQueryString"); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
432 StringBuffer sb = new StringBuffer();; |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
433 Iterator<Layer> it = layer.iterator(); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
434 synchronized (sb) { |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
435 while (it.hasNext()){ |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
436 Layer l = it.next(); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
437 if (!l.isGroupLayer()){ |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
438 sb.append(l.getID()); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
439 if (it.hasNext()){ |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
440 sb.append(" , "); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
441 } |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
442 } |
778
9a828e5a2390
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
606
diff
changeset
|
443 |
604
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
444 } |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
445 } |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
446 String returnValue = sb.toString(); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
447 if (returnValue.endsWith(" , ")){ |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
448 returnValue = returnValue.substring(0,returnValue |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
449 .lastIndexOf(",")) |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
450 .trim(); |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
451 } |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
452 return returnValue; |
938ce81a6bd0
Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents:
597
diff
changeset
|
453 } |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
454 |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
455 @Override |
1118
c01c220312d0
Made it compile again with an updated ArtifactDatabase.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1117
diff
changeset
|
456 public void setup(ServiceFactory factory, GlobalContext globalContext) { |
597
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
457 log.debug("MetaDataService.setup"); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
458 super.setup(factory, globalContext); |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
459 // TODO: Perhaps it is necessary to init the QueryIds here. |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
460 } |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
461 |
cf38b983d1f3
Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff
changeset
|
462 } |