annotate flys-client/src/main/java/de/intevation/flys/client/server/GCServiceImpl.java @ 1409:ec6e4dad1279

Read and display all FLYS relevant information of Capabilities documents. flys-client/trunk@3296 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 21 Nov 2011 18:15:44 +0000
parents 5b5a20e4c4e5
children 63be3137abac
rev   line source
1408
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.server;
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 import java.io.InputStream;
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 import java.io.IOException;
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import java.net.MalformedURLException;
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 import java.net.URL;
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 import java.net.URLConnection;
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 import javax.xml.xpath.XPathConstants;
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11 import com.google.gwt.user.server.rpc.RemoteServiceServlet;
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 import org.w3c.dom.Document;
1409
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
14 import org.w3c.dom.Node;
1408
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import org.apache.log4j.Logger;
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import de.intevation.artifacts.common.utils.XMLUtils;
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 import de.intevation.flys.client.shared.exceptions.ServerException;
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 import de.intevation.flys.client.shared.model.Capabilities;
1409
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
22 import de.intevation.flys.client.shared.model.ContactInformation;
1408
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23 import de.intevation.flys.client.client.services.GCService;
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 /**
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 */
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29 public class GCServiceImpl
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 extends RemoteServiceServlet
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 implements GCService
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 {
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 public static final String ERR_GC_REQUEST_FAILED =
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
34 "error_gc_req_failed";
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 public static final String ERR_GC_DOC_NOT_VALID =
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 "error_gc_doc_not_valid";
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 public static final String ERR_MALFORMED_URL =
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 "error_malformed_url";
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41
1409
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
42 public static final String XPATH_TITLE =
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
43 "/WMS_Capabilities/Service/Title/text()";
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
44
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
45 public static final String XPATH_ONLINE_RESOURCE =
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
46 "/WMS_Capabilities/Service/OnlineResource/@href";
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
47
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
48 public static final String XPATH_CONTACT_INFORMATION =
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
49 "/WMS_Capabilities/Service/ContactInformation";
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
50
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
51 public static final String XPATH_CI_PERSON =
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
52 "ContactPersonPrimary/ContactPerson/text()";
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
53
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
54 public static final String XPATH_CI_ORGANIZATION =
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
55 "ContactPersonPrimary/ContactOrganization/text()";
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
56
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
57 public static final String XPATH_CI_ADDRESS =
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
58 "ContactAddress/Address/text()";
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
59
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
60 public static final String XPATH_CI_CITY =
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
61 "ContactAddress/City/text()";
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
62
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
63 public static final String XPATH_CI_POSTCODE =
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
64 "ContactAddress/PostCode/text()";
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
65
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
66 public static final String XPATH_CI_PHONE =
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
67 "ContactVoiceTelephone/text()";
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
68
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
69 public static final String XPATH_CI_EMAIL =
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
70 "ContactElectronicMailAddress/text()";
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
71
1408
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 public static final String XPATH_FEES =
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 "/WMS_Capabilities/Service/Fees/text()";
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75 public static final String XPATH_ACCESS_CONSTRAINTS =
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 "/WMS_Capabilities/Service/AccessConstraints/text()";
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79 private Logger logger = Logger.getLogger(GCServiceImpl.class);
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 public Capabilities query(String path)
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 throws ServerException
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 {
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85 logger.info("GCServiceImpl.query");
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 try {
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
88 URL url = new URL(path);
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
89
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90 logger.debug("Open connection to url: " + path);
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 URLConnection conn = url.openConnection();
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 conn.connect();
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 InputStream is = conn.getInputStream();
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97 return parseCapabilitiesResponse(is);
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 }
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 catch (MalformedURLException mue) {
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 logger.warn(mue, mue);
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 throw new ServerException(ERR_MALFORMED_URL);
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 }
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103 catch (IOException ioe) {
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 logger.warn(ioe, ioe);
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105 }
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 throw new ServerException(ERR_GC_REQUEST_FAILED);
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
108 }
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 protected Capabilities parseCapabilitiesResponse(InputStream is)
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 throws ServerException
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113 {
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114 logger.debug("GCServiceImpl.parseCapabilitiesResponse");
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
115
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116 Document doc = XMLUtils.parseDocument(is, false);
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118 if (doc == null) {
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119 throw new ServerException(ERR_GC_DOC_NOT_VALID);
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 }
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121
1409
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
122 String title = (String) XMLUtils.xpath(
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
123 doc,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
124 XPATH_TITLE,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
125 XPathConstants.STRING);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
126
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
127 String onlineResource = (String) XMLUtils.xpath(
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
128 doc,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
129 XPATH_ONLINE_RESOURCE,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
130 XPathConstants.STRING);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
131
1408
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132 String fees = (String) XMLUtils.xpath(
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 doc,
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134 XPATH_FEES,
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 XPathConstants.STRING);
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137 String accessConstraints = (String) XMLUtils.xpath(
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138 doc,
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
139 XPATH_ACCESS_CONSTRAINTS,
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 XPathConstants.STRING);
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141
1409
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
142 Node contactInformation = (Node) XMLUtils.xpath(
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
143 doc,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
144 XPATH_CONTACT_INFORMATION,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
145 XPathConstants.NODE);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
146
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
147 ContactInformation ci = parseContactInformation(contactInformation);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
148
1408
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
149 logger.debug("Found fees: " + fees);
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150 logger.debug("Found access constraints: " + accessConstraints);
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
151
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
152 // TODO PARSE LAYERS
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
153
1409
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
154 return new Capabilities(
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
155 title,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
156 onlineResource,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
157 ci,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
158 fees,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
159 accessConstraints,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
160 null);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
161 }
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
162
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
163
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
164 protected ContactInformation parseContactInformation(Node node) {
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
165 String person = (String) XMLUtils.xpath(
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
166 node,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
167 XPATH_CI_PERSON,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
168 XPathConstants.STRING);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
169
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
170 String organization = (String) XMLUtils.xpath(
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
171 node,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
172 XPATH_CI_ORGANIZATION,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
173 XPathConstants.STRING);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
174
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
175 String address = (String) XMLUtils.xpath(
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
176 node,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
177 XPATH_CI_ADDRESS,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
178 XPathConstants.STRING);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
179
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
180 String postcode = (String) XMLUtils.xpath(
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
181 node,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
182 XPATH_CI_POSTCODE,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
183 XPathConstants.STRING);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
184
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
185 String city = (String) XMLUtils.xpath(
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
186 node,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
187 XPATH_CI_CITY,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
188 XPathConstants.STRING);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
189
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
190 String phone = (String) XMLUtils.xpath(
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
191 node,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
192 XPATH_CI_PHONE,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
193 XPathConstants.STRING);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
194
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
195 String email = (String) XMLUtils.xpath(
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
196 node,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
197 XPATH_CI_EMAIL,
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
198 XPathConstants.STRING);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
199
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
200 ContactInformation ci = new ContactInformation();
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
201 ci.setPerson(person);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
202 ci.setOrganization(organization);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
203 ci.setAddress(address);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
204 ci.setPostcode(postcode);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
205 ci.setCity(city);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
206 ci.setPhone(phone);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
207 ci.setEmail(email);
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
208
ec6e4dad1279 Read and display all FLYS relevant information of Capabilities documents.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1408
diff changeset
209 return ci;
1408
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
210 }
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
211 }
5b5a20e4c4e5 Added a service that loads the Capabilities of a specified WMS - display those information in the ExternalWMSWindow.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
212 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org