annotate gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/services/MetaDataService.java @ 1118:c01c220312d0

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

http://dive4elements.wald.intevation.org