/** * Create an instance of {@link DeegreeWCS } * */ public DeegreeWCS createDeegreeWCS() { return new DeegreeWCS(); }
/** * @return the parsed ServiceConfiguration * @throws XMLProcessingException */ public static ServiceConfiguration parse( Workspace workspace, ResourceMetadata<OWS> metadata ) throws XMLProcessingException { try { DeegreeWCS wcsConf = (DeegreeWCS) unmarshall( "org.deegree.services.jaxb.wcs", ( (OWSProvider) metadata.getProvider() ).getSchema(), metadata.getLocation().getAsStream(), workspace ); return wcsConf.getServiceConfiguration(); } catch ( JAXBException e ) { throw new XMLProcessingException( e.getMessage(), e ); } }
@Override public void init( DeegreeServicesMetadataType serviceMetadata, DeegreeServiceControllerType mainConf, Object controllerConf ) { LOG.info( "Initializing WCS." ); UPDATE_SEQUENCE++; DeegreeWCS cfg = (DeegreeWCS) controllerConf; NamespaceBindings nsContext = new NamespaceBindings(); nsContext.addNamespace( WCSConstants.WCS_100_PRE, WCS_100_NS ); nsContext.addNamespace( WCSConstants.WCS_110_PRE, WCSConstants.WCS_110_NS ); nsContext.addNamespace( CONFIG_PRE, CONFIG_NS ); this.wcsService = new WCServiceBuilder( workspace, getMetadata() ).buildService(); PublishedInformation publishedInformation = cfg.getPublishedInformation(); parsePublishedInformation( publishedInformation, nsContext ); syncWithMainController( publishedInformation, serviceMetadata ); validateAndSetOfferedVersions( publishedInformation.getSupportedVersions().getVersion() ); mainControllerConf = mainConf; mainMetadataConf = serviceMetadata; }
@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 ); } }