annotate gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java @ 853:164d102b0af5

Fixed Bug in renaming a Layer in Product Layer. gnv-artifacts/trunk@971 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Tim Englich <tim.englich@intevation.de>
date Fri, 23 Apr 2010 10:12:43 +0000
parents 2423cefe7d39
children f953c9a559d8
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 /**
835
2423cefe7d39 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 827
diff changeset
39 * This Class Provides the Functionality to return only those
820
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
40 * Artifacfactories which fulfill the conditions of the Request.
835
2423cefe7d39 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 827
diff changeset
41 *
2423cefe7d39 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 827
diff changeset
42 * This Service is used to implement the Functionality of the MV-GNV-Interface
2423cefe7d39 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 827
diff changeset
43 * by looking if an Region of an FIS is intersecting the Area which is send
820
8288f4a0d7e6 Added more Javadoc.
Tim Englich <tim.englich@intevation.de>
parents: 815
diff changeset
44 * during the Request or which FIS belongs to the requested MapServices.
835
2423cefe7d39 Removed trailing whitespace.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 827
diff changeset
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
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
95 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
96 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
97 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
98 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
99 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
100 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
101 Collection<MapService> mapServices = this.parseMapServices(data);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
102 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
103 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
104 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
105 this.writeFIS2Document(document, resultFIS);
792
9b9bf42b7928 Added and repaired JavaDoc in artifacts package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
106 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
107 } 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
108 log.error(e,e);
792
9b9bf42b7928 Added and repaired JavaDoc in artifacts package.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
109 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
110 .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
111 }
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 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
113 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
114
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
115 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
116 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
117 log.debug("MetaDataService.parseGeometry");
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
118
597
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
119 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
120 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
121 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
122 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
123 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
124 );
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 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
126 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
127 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
128 // 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
129 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
130 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
131 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
132 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
133 } 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
134 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
135 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
136 "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
137 "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
138 }
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 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
142 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
143
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
144 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
145 log.debug("MetaDataService.parseMapServices");
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
146
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
147 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
148 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
149 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
150 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
151 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
152 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
153 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
154 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
155 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
156 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
157 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
158 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
159 Collection<Layer> layer = null;
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
160
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
161 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
162 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
163 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
164 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
165 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
166 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
167 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
168 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
169 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
170 String layerName = layerNode.getAttribute(ATTRIBUTE_NAME);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
171 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
172 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
173 .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
174 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
175 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
176 .getAttribute(ATTRIBUTE_PARENTID);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
177
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
178 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
179 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
180 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
181 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
182 }
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
184 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
185 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
186 returnValue.add(mapService);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
187
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
188 }
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 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
191 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
192
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
193 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
194 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
195 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
196 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
197 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
198 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
199 }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
200 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
201 }else{
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
202
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
203 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
204 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
205 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
206 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
207 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
208 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
209 }
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 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
213 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
214
597
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
215 /**
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 * 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
217 * @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
218 * @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
219 * 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
220 */
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 private void writeFIS2Document(Document document, Collection<FIS> fis){
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
222
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
223 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
224 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
225 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
226 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
227 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
228 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
229 );
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 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
231 document.appendChild(rootNode);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
232
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
233 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
234 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
235 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
236 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
237 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
238 fisNode.setAttribute("art:name",tmpFIS.getID());
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
239
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
240 Collection<Parameter> parameter = tmpFIS.getParameter();
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
241
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
242 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
243 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
244 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
245 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
246 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
247 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
248 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
249 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
250 }
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 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
253 }
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
256
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
257 /**
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 * 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
259 * @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
260 * @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
261 * @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
262 */
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
263 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
264 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
265 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
266 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
267 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
268 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
269 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
270 .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
271 .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
272 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
273 new String[]{g.toString()});
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
274
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
275 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
276 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
277 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
278 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
279 Result value = it.next();
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
280 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
281 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
282 }
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 } 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
285 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
286 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
287 }
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 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
290 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
291
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
292 /**
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 * 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
294 * @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
295 * @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
296 * @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
297 */
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 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
299 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
300 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
301 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
302 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
303 try {
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
304
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
305 String mapServiceNames = "";
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
306 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
307 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
308 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
309 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
310 }
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
311 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
312 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
313
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
314 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
315 .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
316 .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
317 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
318 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
319 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
320 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
321 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
322 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
323 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
324 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
325 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
326 String mapServiceID = value.getString(1).trim();
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
327
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
328 // 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
329 Collection<Result> result2 = queryExecutor.executeQuery(
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
330 MAPSERVICES_HAS_PARAMETER_QUERY_ID,
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
331 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
332 Collection<Parameter> parameter = null;
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
333 if (result2 != null && result2.size() == 1){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
334 Iterator<Result> it2 = result2.iterator();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
335 parameter = new ArrayList<Parameter>(1);
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
336 while (it2.hasNext()){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
337 Result parameterValue = it2.next();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
338 String parameterID = parameterValue.getString(0)
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
339 .trim();
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
340 parameter.add(new DefaultParameter(parameterID,
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
341 parameterID));
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
342 }
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
343 }else{
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
344 // 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
345 // REPRESENTS DIFFERENT PARAMS
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
346 MapService service = this.getMapService(mapServices,
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
347 mapServiceID);
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
348 Collection<Layer> layer = service.getLayer();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
349 if (layer != null && !layer.isEmpty()){
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
350 String layerQueryString =
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
351 this.createLayerQueryString(layer);
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
352 Collection<Result> parameterResult =
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
353 queryExecutor.executeQuery(
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
354 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
355 new String[]{"'"+mapServiceID+"'",
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
356 layerQueryString});
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
357 if (parameterResult != null &&
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
358 !parameterResult.isEmpty()){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
359 Iterator<Result> it2 = parameterResult.iterator();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
360 parameter = new ArrayList<Parameter>(parameterResult.size());
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
361 while (it2.hasNext()){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
362 Result parameterValue = it2.next();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
363 String parameterID = parameterValue.getString(0)
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
364 .trim();
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
365 parameter.add(new DefaultParameter(parameterID,
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
366 parameterID));
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
367 }
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 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
370
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
371 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
372
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
373 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
374 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
375 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
376 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
377 }
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 }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
379 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
380 }
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
381 }
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 } 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
384 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
385 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
386 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
387
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
388 }
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 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
390 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
391
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
392
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
393 private FIS getFIS (Collection<FIS> fis, String fisId){
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
394
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
395 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
396 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
397 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
398 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
399 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
400 }
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 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
403 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
404
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
405 private MapService getMapService(Collection<MapService> mapServices,
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
406 String mapServiceID){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
407 log.debug("MetaDataService.getMapService");
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
408 Iterator<MapService> it = mapServices.iterator();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
409 while (it.hasNext()){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
410 MapService service = it.next();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
411 if (service.getID().equals(mapServiceID)){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
412 return service;
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
413 }
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 return null;
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
416 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
417
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
418 private String createLayerQueryString(Collection<Layer> layer){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
419 log.debug("MetaDataService.createLayerQueryString");
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
420 StringBuffer sb = new StringBuffer();;
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
421 Iterator<Layer> it = layer.iterator();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
422 synchronized (sb) {
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
423 while (it.hasNext()){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
424 Layer l = it.next();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
425 if (!l.isGroupLayer()){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
426 sb.append(l.getID());
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
427 if (it.hasNext()){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
428 sb.append(" , ");
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
429 }
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
430 }
778
9a828e5a2390 Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 606
diff changeset
431
604
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
432 }
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
433 }
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
434 String returnValue = sb.toString();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
435 if (returnValue.endsWith(" , ")){
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
436 returnValue = returnValue.substring(0,returnValue
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
437 .lastIndexOf(","))
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
438 .trim();
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
439 }
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
440 return returnValue;
938ce81a6bd0 Integrated Database-Support for the Mapviewer-Interface
Tim Englich <tim.englich@intevation.de>
parents: 597
diff changeset
441 }
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
442
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS and Parameters that match to Mapservices, Region and Layers that were sent to the Service.
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
443 @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
444 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
445 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
446 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
447 // 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
448 }
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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
cf38b983d1f3 Added the Implementation of the MetaDataService which will deliver FIS 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 }

http://dive4elements.wald.intevation.org