public DefaultCoverageBuilder( Object config, ResourceMetadata<Coverage> metadata ) { this.config = config; this.metadata = metadata; this.location = metadata.getLocation(); }
@Override public ProcessProvider build() { try { XMLStreamReader xmlStream = XMLInputFactory.newInstance().createXMLStreamReader( metadata.getLocation().getAsStream() ); while ( xmlStream.getEventType() != XMLStreamConstants.END_DOCUMENT ) { if ( xmlStream.isStartElement() && "Process".equals( xmlStream.getLocalName() ) ) { return new StyleProcessProvider( xmlStream.getAttributeValue( null, "id" ), metadata ); } else { xmlStream.next(); } } } catch ( Exception e ) { throw new ResourceInitException( "Error parsing style process provider configuration '" + metadata.getIdentifier() + "': " + e.getMessage(), e ); } throw new ResourceInitException( "Could not parse style process configuration." ); }
/** * @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 ); } }
LOG.info( "--------------------------------------------------------------------------------" ); outer: for ( ResourceMetadata<? extends Resource> md : resourceMetadata.values() ) { ResourceState state = states.getState( md.getIdentifier() ); if ( state == null ) { continue outer; for ( ResourceIdentifier<? extends Resource> id : md.getDependencies() ) { state = states.getState( id ); if ( state == null || state == Scanned ) { LOG.info( "Preparing resource {}.", md.getIdentifier() ); try { ResourceBuilder<? extends Resource> builder = md.prepare(); if ( builder == null ) { LOG.error( "Could not prepare resource {}.", md.getIdentifier() ); if ( states.getState( md.getIdentifier() ) != Deactivated ) { states.setState( md.getIdentifier(), Error ); if ( states.getState( md.getIdentifier() ) != Deactivated ) { states.setState( md.getIdentifier(), Prepared ); prepared.addBuilder( (ResourceIdentifier) md.getIdentifier(), builder ); } catch ( Exception e ) { String msg = "Error preparing resource " + md.getIdentifier() + ": " + e.getLocalizedMessage(); errors.registerError( md.getIdentifier(), msg ); LOG.error( msg ); LOG.trace( "Stack trace:", e );
@Override public void remove( ResourceMetadata<?> md ) { metadataMap.remove( md.getIdentifier() ); }
FeatureStoreManager fmgr = workspace.getResourceManager( FeatureStoreManager.class ); for ( ResourceMetadata<FeatureStore> md : fmgr.getResourceMetadata() ) { softDependencies.add( md.getIdentifier() ); Collection<ResourceMetadata<OWS>> mds = mgr.getResourceMetadata(); for ( ResourceMetadata<OWS> md : mds ) { OWSProvider prov = (OWSProvider) md.getProvider(); for ( String name : prov.getImplementationMetadata().getImplementedServiceName() ) { if ( name.equalsIgnoreCase( "CSW" ) ) { softDependencies.add( md.getIdentifier() ); ResourceIdentifier<OWSMetadataProvider> id = md.getIdentifier(); if ( id.getId().equals( getIdentifier().getId() + "_metadata" ) ) { softDependencies.add( id );
private WPSRequestType getRequestTypeByName( String requestName ) throws OWSException { WPSRequestType requestType = null; try { requestType = (WPSRequestType) ( (ImplementationMetadata) ( (OWSProvider) metadata.getProvider() ).getImplementationMetadata() ).getRequestTypeByName( requestName ); } catch ( IllegalArgumentException e ) { throw new OWSException( e.getMessage(), OPERATION_NOT_SUPPORTED ); } return requestType; }
if ( states.getState( md.getIdentifier() ) == Deactivated ) { LOG.warn( "Not building resource {} (deactivated).", md.getIdentifier() ); continue; LOG.info( "Building resource {}.", md.getIdentifier() ); for ( ResourceIdentifier<? extends Resource> dep : md.getDependencies() ) { if ( states.getState( dep ) != Initialized ) { states.setState( md.getIdentifier(), Error ); String msg = "Dependent resource " + dep + " failed to initialize."; LOG.error( "Unable to build resource {}: " + msg, md.getIdentifier() ); errors.registerError( md.getIdentifier(), msg ); continue outer; Resource res = prepared.getBuilder( md.getIdentifier() ).build(); if ( res == null ) { errors.registerError( md.getIdentifier(), "Unable to prepare." ); states.setState( md.getIdentifier(), Error ); LOG.error( "Unable to build resource {}.", md.getIdentifier() ); continue; states.setState( md.getIdentifier(), Built ); LOG.info( "Initializing resource {}.", md.getIdentifier() ); res.init(); states.setState( md.getIdentifier(), Initialized ); resources.put( res.getMetadata().getIdentifier(), res ); } catch ( Exception ex ) { states.setState( md.getIdentifier(), Error ); String msg = "Unable to build resource " + md.getIdentifier() + ": " + ex.getLocalizedMessage(); errors.registerError( md.getIdentifier(), msg );
@Override public String toString() { return metadata.getIdentifier().toString(); }
Collection<ResourceMetadata<OWS>> mds = mgr.getResourceMetadata(); for ( ResourceMetadata<OWS> md : mds ) { OWSProvider prov = (OWSProvider) md.getProvider(); for ( String name : prov.getImplementationMetadata().getImplementedServiceName() ) { if ( name.equalsIgnoreCase( "CSW" ) ) { softDependencies.add( md.getIdentifier() ); ResourceIdentifier<OWSMetadataProvider> mdId = md.getIdentifier(); if ( mdId.getId().equals( getIdentifier().getId() + "_metadata" ) ) { softDependencies.add( mdId );
/** * @param confFileURL * @param configVersionString * @throws ResourceInitException */ protected void checkConfigVersion( String confFileURL, String configVersionString ) throws ResourceInitException { Version configVersion = Version.parseVersion( configVersionString ); if ( !( (OWSProvider) metadata.getProvider() ).getImplementationMetadata().getSupportedConfigVersions().contains( configVersion ) ) { LOG.error( "" ); LOG.error( "*** Configuration version mismatch ***", confFileURL ); LOG.error( "" ); StringBuilder msg = new StringBuilder( "File uses config version " ).append( configVersion ); msg.append( ", but this deegree build only supports version(s): " ); boolean separatorNeeded = false; for ( Version supportedVersion : ( (OWSProvider) metadata.getProvider() ).getImplementationMetadata().getSupportedConfigVersions() ) { msg.append( supportedVersion ); if ( separatorNeeded ) { msg.append( "," ); } separatorNeeded = true; } msg.append( " for this file type. Information on resolving this issue can be found at 'http://wiki.deegree.org/deegreeWiki/deegree3/ConfigurationVersions'. " ); throw new ResourceInitException( msg.toString() ); } }
private URI resolveURI( String fileName ) { URI resolve = null; try { URL url = metadata.getLocation().resolveToUrl( fileName ); resolve = url.toURI(); } catch ( URISyntaxException e ) { LOG.warn( "Error while resolving url for file: " + fileName + "." ); } return resolve; }
public void transform() throws TransformerException, XMLStreamException { OwsManager mgr = workspace.getResourceManager( OwsManager.class ); List<OWS> wmss = mgr.getByOWSClass( WMSController.class ); for ( OWS ows : wmss ) { ResourceMetadata<? extends Resource> md = ows.getMetadata(); ResourceIdentifier<? extends Resource> id = md.getIdentifier(); File loc = md.getLocation().resolveToFile( id.getId() + ".xml" ); ByteArrayOutputStream bos = new ByteArrayOutputStream(); transformer.transform( new StreamSource( loc ), new StreamResult( bos ) ); ThemeXmlStreamEncoder.writeOut( bos ); WorkspaceUtils.activateSynthetic( workspace, ThemeProvider.class, id.getId(), new String( bos.toByteArray(), Charset.forName( "UTF-8" ) ) ); } }
private void scan() { LOG.info( "--------------------------------------------------------------------------------" ); LOG.info( "Scanning resources." ); LOG.info( "--------------------------------------------------------------------------------" ); for ( ResourceManager<? extends Resource> mgr : resourceManagers.values() ) { mgr.find(); Collection<? extends ResourceMetadata<? extends Resource>> mds = mgr.getResourceMetadata(); for ( ResourceMetadata<? extends Resource> md : mds ) { resourceMetadata.put( md.getIdentifier(), md ); if ( states.getState( md.getIdentifier() ) != Deactivated ) { states.setState( md.getIdentifier(), Scanned ); } } } }
Collection<ResourceMetadata<OWS>> mds = mgr.getResourceMetadata(); for ( ResourceMetadata<OWS> md : mds ) { OWSProvider prov = (OWSProvider) md.getProvider(); for ( String name : prov.getImplementationMetadata().getImplementedServiceName() ) { if ( name.equalsIgnoreCase( "CSW" ) ) { softDependencies.add( md.getIdentifier() ); ResourceIdentifier<OWSMetadataProvider> mdId = md.getIdentifier(); if ( mdId.getId().equals( getIdentifier().getId() + "_metadata" ) ) { softDependencies.add( mdId );
private void initOfferedVersions( SupportedVersions supportedVersions ) { List<String> versions = null; if ( supportedVersions != null ) { versions = supportedVersions.getVersion(); } if ( versions == null || versions.isEmpty() ) { LOG.info( "No protocol versions specified. Activating all implemented versions." ); ImplementationMetadata<?> md = ( (OWSProvider) getMetadata().getProvider() ).getImplementationMetadata(); versions = new ArrayList<String>( md.getImplementedVersions().size() ); for ( Version version : md.getImplementedVersions() ) { versions.add( version.toString() ); } } validateAndSetOfferedVersions( versions ); }
private URI resolveURI( String fileName ) { URI resolve = null; try { URL url = metadata.getLocation().resolveToUrl( fileName ); resolve = url.toURI(); } catch ( URISyntaxException e ) { LOG.warn( "Error while resolving url for file: " + fileName + "." ); } return resolve; }
@Override public void init( DeegreeServicesMetadataType serviceMetadata, DeegreeServiceControllerType mainConfig, Object controllerConf ) { WmtsBuilder builder = new WmtsBuilder( workspace, (DeegreeWMTS) controllerConf ); this.metadataUrlTemplate = builder.getMetadataUrlTemplate(); dispatcher = new WmtsRequestDispatcher( (DeegreeWMTS) controllerConf, serviceMetadata, workspace, builder, getMetadata().getIdentifier().getId(), getMetadata().getLocation() ); }
private String printDependents( ResourceNode<? extends Resource> node ) { StringBuilder sb = new StringBuilder(); sb.append( " -> { " ); for ( ResourceNode<? extends Resource> n : node.getDependents() ) { sb.append( n.getMetadata().getIdentifier() + printDependents( n ) ); sb.append( " " ); } sb.append( "}" ); return sb.toString(); }
private OWSMetadataProvider initMetadataProvider( DeegreeServicesMetadataType serviceMetadata, DeegreeWFS jaxbConfig ) throws ResourceInitException { OWSMetadataProvider provider = null; provider = workspace.getResource( OWSMetadataProviderProvider.class, getMetadata().getIdentifier().getId() + "_metadata" ); OWS o = workspace.getResource( OWSProvider.class, id.getId() ); if ( o != null ) { ImplementationMetadata<?> md = ( (OWSProvider) o.getMetadata().getProvider() ).getImplementationMetadata(); for ( String s : md.getImplementedServiceName() ) { if ( s.equalsIgnoreCase( "csw" ) ) {