/** * @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 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 ); } }