/** * Return all active {@link OWS}. * * @return the instance of the requested service used by OGCFrontController, or null if the service is not * registered. */ public Map<String, List<OWS>> getAll() { List<ResourceIdentifier<OWS>> list = workspace.getResourcesOfType( OWSProvider.class ); Map<String, List<OWS>> services = new HashMap<String, List<OWS>>(); for ( ResourceIdentifier<OWS> id : list ) { OWS ows = workspace.getResource( OWSProvider.class, id.getId() ); if ( ows == null ) { continue; } String[] names = ( (OWSProvider) ows.getMetadata().getProvider() ).getImplementationMetadata().getImplementedServiceName(); for ( String name : names ) { List<OWS> owss = services.get( name ); if ( owss == null ) { owss = new ArrayList<OWS>(); services.put( name, owss ); } owss.add( ows ); } } return services; }
/** * Returns the {@link OWS} instance that is responsible for handling requests to a certain service type, e.g. WMS, * WFS. * * @param serviceType * service type code, e.g. "WMS" or "WFS" * @return responsible <code>OWS</code> or null, if no responsible service was found */ public List<OWS> getByServiceType( String serviceType ) { List<ResourceIdentifier<OWS>> list = workspace.getResourcesOfType( OWSProvider.class ); List<OWS> services = new ArrayList<OWS>(); for ( ResourceIdentifier<OWS> id : list ) { OWS ows = workspace.getResource( OWSProvider.class, id.getId() ); if ( ows == null ) { continue; } for ( String name : ( (OWSProvider) ows.getMetadata().getProvider() ).getImplementationMetadata().getImplementedServiceName() ) { if ( name.equalsIgnoreCase( serviceType ) ) { services.add( ows ); } } } return services; }
public String getMetadataURLTemplate() { // TODO handle this properly in init(), needs service level dependency management if ( metadataURLTemplate == null ) { OwsManager mgr = workspace.getResourceManager( OwsManager.class ); Map<String, List<OWS>> ctrls = mgr.getAll(); for ( List<OWS> lists : ctrls.values() ) { for ( OWS o : lists ) { ImplementationMetadata<?> md = ( (OWSProvider) o.getMetadata().getProvider() ).getImplementationMetadata(); for ( String s : md.getImplementedServiceName() ) { if ( s.equalsIgnoreCase( "csw" ) && md.getImplementedVersions().contains( new Version( 2, 0, 2 ) ) ) { this.metadataURLTemplate = ""; // special case to use requested address } } } } } return metadataURLTemplate; }
for ( ResourceMetadata<OWS> md : mds ) { OWSProvider prov = (OWSProvider) md.getProvider(); for ( String name : prov.getImplementationMetadata().getImplementedServiceName() ) { if ( name.equalsIgnoreCase( "CSW" ) ) { softDependencies.add( md.getIdentifier() );
for ( ResourceMetadata<OWS> md : mds ) { OWSProvider prov = (OWSProvider) md.getProvider(); for ( String name : prov.getImplementationMetadata().getImplementedServiceName() ) { if ( name.equalsIgnoreCase( "CSW" ) ) { softDependencies.add( md.getIdentifier() );
for ( ResourceMetadata<OWS> md : mds ) { OWSProvider prov = (OWSProvider) md.getProvider(); for ( String name : prov.getImplementationMetadata().getImplementedServiceName() ) { if ( name.equalsIgnoreCase( "CSW" ) ) { softDependencies.add( md.getIdentifier() );
if ( o != null ) { ImplementationMetadata<?> md = ( (OWSProvider) o.getMetadata().getProvider() ).getImplementationMetadata(); for ( String s : md.getImplementedServiceName() ) { if ( s.equalsIgnoreCase( "csw" ) ) { metadataUrlTemplate = OGCFrontController.getHttpGetURL();
&& !( ( (OWSProvider) ows.getMetadata().getProvider() ).getImplementationMetadata().getImplementedServiceName()[0].equalsIgnoreCase( "WMS" ) ) ) { OWSException ex = new OWSException( "The 'SERVICE' parameter is missing.", "MissingParameterValue", "service" );