/** * @throws OGCWebServiceException * @see org.deegree.ogcwebservices.wpvs.configuration.AbstractDataSource#getOGCWebService() */ @Override public OGCWebService getOGCWebService() throws OGCWebServiceException { WMSConfigurationType wmsConfig = null; synchronized (this) { URL url = getOwsCapabilities().getOnlineResource(); wmsConfig = cache.get(url); if (!cache.containsKey(url) || wmsConfig == null) { WMSConfigurationDocument wmsDoc = new WMSConfigurationDocument(); try { wmsDoc.load(getOwsCapabilities().getOnlineResource()); wmsConfig = wmsDoc.parseConfiguration(); cache.put(url, wmsConfig); } catch (IOException e) { throw new OGCWebServiceException( Messages.getMessage("WPVS_DATASOURCE_CAP_ERROR", toString()) + e.getMessage()); } catch (SAXException e) { throw new OGCWebServiceException( Messages.getMessage("WPVS_DATASOURCE_CAP_ERROR", toString()) + e.getMessage()); } catch (InvalidConfigurationException e) { throw new OGCWebServiceException( Messages.getMessage("WPVS_DATASOURCE_CAP_ERROR", toString()) + e.getMessage()); } } } return WMServiceFactory.getWMSInstance(wmsConfig); }