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 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 ); }
/** * @param requestedVersions * @throws ResourceInitException */ protected final void validateAndSetOfferedVersions( Collection<String> requestedVersions ) throws ResourceInitException { for ( String requestedVersion : requestedVersions ) { Version version = Version.parseVersion( requestedVersion ); if ( !( ( (OWSProvider) metadata.getProvider() ).getImplementationMetadata().getImplementedVersions().contains( Version.parseVersion( requestedVersion ) ) ) ) { String msg = "Version '" + requestedVersion + "' is not supported by the service implementation."; throw new ResourceInitException( msg ); } offeredVersions.add( version ); } }
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; }