private Map<String, String> getExternalAuthorityNameToUrlMap( final OWSMetadataProvider metadataProvider ) { if ( metadataProvider != null ) { return metadataProvider.getExternalMetadataAuthorities(); } return null; }
public List<OMElement> getExtendedCapabilities( String version ) { Map<String, List<OMElement>> extendedCaps; if ( metadataProvider != null ) { extendedCaps = metadataProvider.getExtendedCapabilities(); } else { extendedCaps = this.extendedCaps; } List<OMElement> list = extendedCaps.get( version ); if ( list == null ) { list = extendedCaps.get( "default" ); } return list; }
CapabilitiesHandler( DeegreeServicesMetadataType mainMetadataConf, Workspace workspace, String metadataUrlTemplate, String wmtsId, List<Theme> themes, FeatureInfoManager mgr ) { this.themes = themes; this.mgr = mgr; identification = convertFromJAXB( mainMetadataConf.getServiceIdentification() ); provider = convertFromJAXB( mainMetadataConf.getServiceProvider() ); OWSMetadataProvider metadata = workspace.getResource( OWSMetadataProviderProvider.class, wmtsId + "_metadata" ); if ( metadata != null ) { identification = metadata.getServiceIdentification(); provider = metadata.getServiceProvider(); } this.metadataUrlTemplate = metadataUrlTemplate; }
@Override public ResourceBuilder<OWS> prepare() { try { DeegreeWPS cfg = (DeegreeWPS) JAXBUtils.unmarshall( CONFIG_JAXB_PACKAGE, provider.getSchema(), location.getAsStream(), workspace ); ProcessManager mgr = workspace.getResourceManager( ProcessManager.class ); Collection<ResourceMetadata<ProcessProvider>> mds = mgr.getResourceMetadata(); for ( ResourceMetadata<ProcessProvider> md : mds ) { softDependencies.add( md.getIdentifier() ); } OWSMetadataProviderManager mmgr = workspace.getResourceManager( OWSMetadataProviderManager.class ); for ( ResourceMetadata<OWSMetadataProvider> md : mmgr.getResourceMetadata() ) { ResourceIdentifier<OWSMetadataProvider> mdId = md.getIdentifier(); if ( mdId.getId().equals( getIdentifier().getId() + "_metadata" ) ) { softDependencies.add( mdId ); } } return new WpsBuilder( this, workspace, cfg ); } catch ( Exception e ) { throw new ResourceInitException( e.getLocalizedMessage(), e ); } }
if ( mdProvider.getServiceIdentification() != null && mdProvider.getServiceIdentification().getTitle( null ) != null ) { writeElement( writer, WFS_NS, "Name", mdProvider.getServiceIdentification().getTitle( null ).getString() ); writeElement( writer, WFS_NS, "Title", mdProvider.getServiceIdentification().getTitle( null ).getString() ); } else { writeElement( writer, WFS_NS, "Name", "" ); if ( mdProvider.getServiceIdentification() != null && mdProvider.getServiceIdentification().getAbstract( null ) != null ) { mdProvider.getServiceIdentification().getAbstract( null ).getString() ); if ( mdProvider.getServiceProvider() != null && mdProvider.getServiceProvider().getProviderSite() != null ) { writeElement( writer, WFS_NS, "OnlineResource", mdProvider.getServiceProvider().getProviderSite() ); if ( mdProvider.getServiceIdentification() != null && mdProvider.getServiceIdentification().getFees() != null ) { writeElement( writer, WFS_NS, "Fees", mdProvider.getServiceIdentification().getFees() );
@Override public OWSMetadataProvider build() { try { Pair<ServiceIdentification, ServiceProvider> smd = convertFromJAXB( md.getValue() ); Map<String, List<OMElement>> extendedCapabilities = new HashMap<String, List<OMElement>>(); if ( md.getValue().getExtendedCapabilities() != null ) { List<DatasetMetadata> datasets = fromJaxb( md.getValue().getDatasetMetadata() ); Map<String, String> authorities = new HashMap<String, String>(); if ( md.getValue().getDatasetMetadata() != null ) { return new DefaultOWSMetadataProvider( smd.first, smd.second, extendedCapabilities, datasets, authorities, metadata ); } catch ( Exception e ) {
public static Pair<ServiceIdentification, ServiceProvider> convertFromJAXB( DeegreeServicesMetadataType md ) { ServiceIdentification si = convertFromJAXB( md.getServiceIdentification() ); ServiceProvider sp = convertFromJAXB( md.getServiceProvider() ); return new Pair<ServiceIdentification, ServiceProvider>( si, sp ); }
private List<DatasetMetadata> getDatasetMetadataFromProvider( final Theme theme ) { final String datasetName = getNameFromTheme( theme ); if ( metadataProvider != null && datasetName != null ) { return metadataProvider.getAllDatasetMetadata( new QName( datasetName ) ); } return new ArrayList<DatasetMetadata>(); }
private Collection<FeatureType> getFeatureTypesToExport() { if ( mdProvider.getDatasetMetadata() != null && !mdProvider.getDatasetMetadata().isEmpty() ) { LOG.debug( "Dataset metadata available. Only announcing feature types with metadata." ); return getFeatureTypesWithMetadata(); } LOG.debug( "No dataset metadata available. Announcing feature types from all feature stores." ); return getAllFeatureTypes(); }
@Override public ResourceBuilder<OWS> prepare() { try { DeegreeWPVS cfg = (DeegreeWPVS) JAXBUtils.unmarshall( CONFIG_JAXB_PACKAGE, provider.getSchema(), location.getAsStream(), workspace ); BatchedMTStoreManager mgr = workspace.getResourceManager( BatchedMTStoreManager.class ); Collection<ResourceMetadata<BatchedMTStore>> mds = mgr.getResourceMetadata(); for ( ResourceMetadata<BatchedMTStore> md : mds ) { softDependencies.add( md.getIdentifier() ); } RenderableStoreManager rmgr = workspace.getResourceManager( RenderableStoreManager.class ); Collection<ResourceMetadata<RenderableStore>> mds2 = rmgr.getResourceMetadata(); for ( ResourceMetadata<RenderableStore> md : mds2 ) { softDependencies.add( md.getIdentifier() ); } OWSMetadataProviderManager mmgr = workspace.getResourceManager( OWSMetadataProviderManager.class ); for ( ResourceMetadata<OWSMetadataProvider> md : mmgr.getResourceMetadata() ) { ResourceIdentifier<OWSMetadataProvider> mdId = md.getIdentifier(); if ( mdId.getId().equals( getIdentifier().getId() + "_metadata" ) ) { softDependencies.add( mdId ); } } return new WpvsBuilder( this, workspace, cfg ); } catch ( Exception e ) { throw new ResourceInitException( e.getLocalizedMessage(), e ); } }
private void doGetCapabilities( Map<String, String> map, HttpResponseBuffer response, String updateSequence, GetCapabilities req ) throws OWSException, IOException { Version myVersion = negotiateVersion( req ); String getUrl = OGCFrontController.getHttpGetURL(); String postUrl = OGCFrontController.getHttpPostURL(); if ( metadataProvider != null ) { controllers.get( myVersion ).getCapabilities( getUrl, postUrl, updateSequence, service, response, metadataProvider.getServiceIdentification(), metadataProvider.getServiceProvider(), map, this, metadataProvider ); } else { controllers.get( myVersion ).getCapabilities( getUrl, postUrl, updateSequence, service, response, identification, provider, map, this, null ); } response.flushBuffer(); // TODO remove this to enable validation, enable validation on a DTD basis... }
/** * @param sp * @return null, if sp is null */ public static ServiceProvider convertFromJAXB( ServiceProviderType sp ) { if ( sp == null ) { return null; } return new ServiceProvider( sp.getProviderName(), sp.getProviderSite(), convertFromJAXB( sp.getServiceContact() ) ); }
private List<DatasetMetadata> getDatasetMetadataFromProvider( final Theme theme ) { final String datasetName = getNameFromTheme( theme ); if ( metadataProvider != null && datasetName != null ) { return metadataProvider.getAllDatasetMetadata( new QName( datasetName ) ); } return new ArrayList<DatasetMetadata>(); }
private Map<String, String> getExternalAuthorityNameToUrlMap( final OWSMetadataProvider metadataProvider ) { if ( metadataProvider != null ) { return metadataProvider.getExternalMetadataAuthorities(); } return null; }
private Collection<FeatureType> getFeatureTypesWithMetadata() { final Collection<FeatureType> sortedFts = new LinkedHashSet<FeatureType>(); for ( final DatasetMetadata datasetMetadata : mdProvider.getDatasetMetadata() ) { final QName ftName = datasetMetadata.getQName(); final FeatureStore fs = service.getStore( ftName ); if ( fs != null ) { if ( fs.isMapped( ftName ) ) { sortedFts.add( service.lookupFeatureType( ftName ) ); } } else { LOG.warn( "Found metadata for feature type '" + ftName + "', but feature type is not available from any store." ); } } return sortedFts; }
@Override public ResourceBuilder<OWS> prepare() { try { DeegreeWCS cfg = (DeegreeWCS) JAXBUtils.unmarshall( "org.deegree.services.jaxb.wcs", provider.getSchema(), location.getAsStream(), workspace ); for ( org.deegree.services.jaxb.wcs.ServiceConfiguration.Coverage cov : cfg.getServiceConfiguration().getCoverage() ) { String id = cov.getCoverageStoreId(); dependencies.add( new DefaultResourceIdentifier<Coverage>( CoverageProvider.class, id ) ); } OWSMetadataProviderManager mmgr = workspace.getResourceManager( OWSMetadataProviderManager.class ); for ( ResourceMetadata<OWSMetadataProvider> md : mmgr.getResourceMetadata() ) { ResourceIdentifier<OWSMetadataProvider> mdId = md.getIdentifier(); if ( mdId.getId().equals( getIdentifier().getId() + "_metadata" ) ) { softDependencies.add( mdId ); } } return new WcsBuilder( this, workspace, cfg ); } catch ( Exception e ) { throw new ResourceInitException( e.getLocalizedMessage(), e ); } }
public static ResponsibleParty convertFromJAXB( ServiceContactType sc ) { if ( sc == null ) { return null; } ResponsibleParty res = new ResponsibleParty(); res.setIndividualName( sc.getIndividualName() ); res.setPositionName( sc.getPositionName() ); res.setRole( new CodeType( sc.getRole() ) ); ContactInfo info = new ContactInfo(); info.setContactInstructions( sc.getContactInstructions() ); info.setHoursOfService( sc.getHoursOfService() ); try { info.setOnlineResource( new URL( sc.getOnlineResource() ) ); } catch ( MalformedURLException e ) { // ignore this, schemas should be fixed so it already is an URL } Telephone phone = new Telephone(); phone.setFacsimile( Collections.singletonList( sc.getFacsimile() ) ); phone.setVoice( Collections.singletonList( sc.getPhone() ) ); info.setPhone( phone ); Address ad = convertFromJAXB( sc.getAddress() ); if ( ad != null ) { ad.setElectronicMailAddress( sc.getElectronicMailAddress() ); info.setAddress( ad ); } res.setContactInfo( info ); return res; }
@Override public ResourceBuilder<OWS> prepare() { try { DeegreeCSW cfg = (DeegreeCSW) JAXBUtils.unmarshall( CONFIG_JAXB_PACKAGE, provider.getSchema(), location.getAsStream(), workspace ); String id = cfg.getMetadataStoreId(); if ( id != null ) { dependencies.add( new DefaultResourceIdentifier( MetadataStoreProvider.class, id ) ); } else { for ( ResourceMetadata<?> md : workspace.getResourceManager( MetadataStoreManager.class ).getResourceMetadata() ) { softDependencies.add( md.getIdentifier() ); } } OWSMetadataProviderManager mmgr = workspace.getResourceManager( OWSMetadataProviderManager.class ); for ( ResourceMetadata<OWSMetadataProvider> md : mmgr.getResourceMetadata() ) { ResourceIdentifier<OWSMetadataProvider> mdId = md.getIdentifier(); if ( mdId.getId().equals( getIdentifier().getId() + "_metadata" ) ) { softDependencies.add( mdId ); } } return new CswBuilder( this, workspace, cfg ); } catch ( Exception e ) { throw new ResourceInitException( e.getLocalizedMessage(), e ); } }
for ( ResourceMetadata<OWSMetadataProvider> md : mmgr.getResourceMetadata() ) { ResourceIdentifier<OWSMetadataProvider> mdId = md.getIdentifier(); if ( mdId.getId().equals( getIdentifier().getId() + "_metadata" ) ) {
for ( ResourceMetadata<OWSMetadataProvider> md : mmgr.getResourceMetadata() ) { ResourceIdentifier<OWSMetadataProvider> mdId = md.getIdentifier(); if ( mdId.getId().equals( getIdentifier().getId() + "_metadata" ) ) {