annotate gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java @ 820:8288f4a0d7e6

Added more Javadoc. gnv-artifacts/trunk@906 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Mon, 12 Apr 2010 13:23:18 +0000
parents 22c18083225e
children fe0263926870
rev   line source
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
1 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
2
820
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
3 import java.util.ArrayList;
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
4 import java.util.Collection;
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
5 import java.util.Iterator;
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
6
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
7 import javax.xml.xpath.XPathConstants;
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
8
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
9 import org.apache.log4j.Logger;
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
10 import org.w3c.dom.Document;
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
11 import org.w3c.dom.Element;
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
12 import org.w3c.dom.Node;
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
13 import org.w3c.dom.NodeList;
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
14
779
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
15 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
16 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
17 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
18
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
19 import de.intevation.artifactdatabase.DefaultService;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
20 import de.intevation.artifactdatabase.XMLUtils;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
21 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
22 import de.intevation.artifacts.CallMeta;
b1f5f2a8840f Ordered imports. Removed needless imports. Removed empty headers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 778
diff changeset
23 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
24 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
25 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
26 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
27 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
28 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
29 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
30 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
31 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
32 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
33 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
34 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
35 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
36 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
37
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
38 /**
820
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
39 * This Class Provides the Functionality to return only those
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
40 * Artifacfactories which fulfill the conditions of the Request.
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
41 *
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
42 * This Service is used to implement the Functionality of the MV-GNV-Interface
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
43 * by looking if an Region of an FIS is intersecting the Area which is send
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
44 * during the Request or which FIS belongs to the requested MapServices.
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
45 *
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
46 * @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
47 *
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
48 */
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
49 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
50
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
51 /**
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
52 * 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
53 */
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
54 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
55
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
56
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
57 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
58 "mapviewer_interface_fis_region";
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
59 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
60 "mapviewer_interface_mapservices_has_fis";
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
61 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
62 "mapviewer_interface_mapservices_has_parameter";
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
63
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
64 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
65 "mapviewer_interface_mapservices_has_parameter_using_layer";
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
66
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
67 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
68 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
69 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
70 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
71 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
72 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
73 private static String ATTRIBUTE_SRS = "srs";
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
74
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 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
77 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
78 "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
79 "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
80 private static String XPATH_LAYER_NODESET = "art:layer";
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
81
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
82 /**
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
83 * 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
84 */
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 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
86
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 /**
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 * 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
89 */
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
90 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
91 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
92 }
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 @Override
792
9b9bf42b7928 Added and repaired JavaDoc in artifacts package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
95 @SuppressWarnings({"static-access", "static-access"})
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
96 public Document process(Document data, Object 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
97 CallMeta callMeta) {
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 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
99 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
100 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
101 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
102 Collection<MapService> mapServices = this.parseMapServices(data);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
103 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
104 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
105 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
106 this.writeFIS2Document(document, resultFIS);
792
9b9bf42b7928 Added and repaired JavaDoc in artifacts package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
107 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
108 } 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
109 log.error(e,e);
792
9b9bf42b7928 Added and repaired JavaDoc in artifacts package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
110 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
111 .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
112 }
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 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
114 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
115
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
116 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
117 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
118 log.debug("MetaDataService.parseGeometry");
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
119
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
120 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
121 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
122 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
123 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
124 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
125 );
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
126 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
127 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
128 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
129 // 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
130 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
131 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
132 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
133 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
134 } 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
135 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
136 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
137 "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
138 "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
139 }
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 }
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 }
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 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
143 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
144
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
145 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
146 log.debug("MetaDataService.parseMapServices");
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
147
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
148 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
149 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
150 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
151 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
152 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
153 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
154 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
155 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
156 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
157 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
158 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
159 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
160 Collection<Layer> layer = null;
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
161
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
162 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
163 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
164 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
165 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
166 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
167 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
168 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
169 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
170 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
171 String layerName = layerNode.getAttribute(ATTRIBUTE_NAME);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
172 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
173 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
174 .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
175 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
176 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
177 .getAttribute(ATTRIBUTE_PARENTID);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
178
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
179 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
180 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
181 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
182 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
183 }
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 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
185 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
186 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
187 returnValue.add(mapService);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
188
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
189 }
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 }
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 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
192 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
193
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
194 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
195 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
196 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
197 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
198 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
199 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
200 }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
201 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
202 }else{
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
203
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
204 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
205 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
206 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
207 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
208 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
209 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
210 }
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 }
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 }
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 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
214 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
215
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
216 /**
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 * 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
218 * @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
219 * @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
220 * 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
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 private void writeFIS2Document(Document document, Collection<FIS> fis){
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
223
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
224 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
225 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
226 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
227 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
228 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
229 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
230 );
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 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
232 document.appendChild(rootNode);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
233
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
234 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
235 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
236 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
237 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
238 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
239 fisNode.setAttribute("art:name",tmpFIS.getID());
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
240
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
241 Collection<Parameter> parameter = tmpFIS.getParameter();
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
242
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
243 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
244 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
245 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
246 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
247 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
248 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
249 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
250 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
251 }
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 }
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
253 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
254 }
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 }
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 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
257
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
258 /**
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 * 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
260 * @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
261 * @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
262 * @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
263 */
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
264 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
265 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
266 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
267 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
268 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
269 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
270 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
271 .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
272 .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
273 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
274 new String[]{g.toString()});
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
275
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 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
277 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
278 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
279 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
280 Result value = it.next();
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
281 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
282 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
283 }
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 }
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 } 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
286 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
287 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
288 }
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 }
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 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
291 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
292
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 /**
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 * 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
295 * @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
296 * @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
297 * @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
298 */
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 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
300 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
301 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
302 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
303 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
304 try {
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
305
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
306 String mapServiceNames = "";
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
307 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
308 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
309 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
310 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
311 }
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
312 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
313 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
314
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
315 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
316 .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
317 .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
318 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
319 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
320 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
321 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
322 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
323 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
324 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
325 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
326 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
327 String mapServiceID = value.getString(1).trim();
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
328
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
329 // 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
330 Collection<Result> result2 = queryExecutor.executeQuery(
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
331 MAPSERVICES_HAS_PARAMETER_QUERY_ID,
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
332 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
333 Collection<Parameter> parameter = null;
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
334 if (result2 != null && result2.size() == 1){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
335 Iterator<Result> it2 = result2.iterator();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
336 parameter = new ArrayList<Parameter>(1);
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
337 while (it2.hasNext()){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
338 Result parameterValue = it2.next();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
339 String parameterID = parameterValue.getString(0)
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
340 .trim();
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
341 parameter.add(new DefaultParameter(parameterID,
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
342 parameterID));
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
343 }
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
344 }else{
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
345 // 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
346 // REPRESENTS DIFFERENT PARAMS
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
347 MapService service = this.getMapService(mapServices,
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
348 mapServiceID);
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
349 Collection<Layer> layer = service.getLayer();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
350 if (layer != null && !layer.isEmpty()){
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
351 String layerQueryString =
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
352 this.createLayerQueryString(layer);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
353 Collection<Result> parameterResult =
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
354 queryExecutor.executeQuery(
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
355 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
356 new String[]{"'"+mapServiceID+"'",
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
357 layerQueryString});
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
358 if (parameterResult != null &&
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
359 !parameterResult.isEmpty()){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
360 Iterator<Result> it2 = parameterResult.iterator();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
361 parameter = new ArrayList<Parameter>(parameterResult.size());
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
362 while (it2.hasNext()){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
363 Result parameterValue = it2.next();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
364 String parameterID = parameterValue.getString(0)
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
365 .trim();
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
366 parameter.add(new DefaultParameter(parameterID,
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
367 parameterID));
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
368 }
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
369 }
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
370 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
371
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
372 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
373
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
374 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
375 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
376 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
377 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
378 }
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
379 }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
380 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
381 }
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
382 }
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
383 }
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
384 } 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
385 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
386 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
387 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
388
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
389 }
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
390 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
391 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
392
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
393
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
394 private FIS getFIS (Collection<FIS> fis, String fisId){
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
395
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
396 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
397 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
398 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
399 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
400 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
401 }
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
402 }
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
403 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
404 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
405
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
406 private MapService getMapService(Collection<MapService> mapServices,
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
407 String mapServiceID){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
408 log.debug("MetaDataService.getMapService");
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
409 Iterator<MapService> it = mapServices.iterator();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
410 while (it.hasNext()){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
411 MapService service = it.next();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
412 if (service.getID().equals(mapServiceID)){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
413 return service;
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
414 }
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
415 }
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
416 return null;
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
417 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
418
792
9b9bf42b7928 Added and repaired JavaDoc in artifacts package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
419 @SuppressWarnings("empty-statement")
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
420 private String createLayerQueryString(Collection<Layer> layer){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
421 log.debug("MetaDataService.createLayerQueryString");
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
422 StringBuffer sb = new StringBuffer();;
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
423 Iterator<Layer> it = layer.iterator();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
424 synchronized (sb) {
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
425 while (it.hasNext()){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
426 Layer l = it.next();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
427 if (!l.isGroupLayer()){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
428 sb.append(l.getID());
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
429 if (it.hasNext()){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
430 sb.append(" , ");
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
431 }
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
432 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
433
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
434 }
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
435 }
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
436 String returnValue = sb.toString();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
437 if (returnValue.endsWith(" , ")){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
438 returnValue = returnValue.substring(0,returnValue
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
439 .lastIndexOf(","))
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
440 .trim();
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 return returnValue;
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
443 }
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
444
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
445 @Override
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
446 public void setup(ServiceFactory factory, Object 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
447 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
448 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
449 // 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
450 }
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
451
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
452 }

http://dive4elements.wald.intevation.org