@Override public ResourceMetadata<OWSMetadataProvider> createFromLocation( Workspace workspace, ResourceLocation<OWSMetadataProvider> location ) { return new DefaultOwsMetadataProviderMetadata( workspace, location, this ); } }
private List<Pair<List<LanguageString>, CodeType>> fromJaxbKeywords( final List<KeywordsType> jaxbEls ) { if ( jaxbEls == null ) { return emptyList(); } final List<Pair<List<LanguageString>, CodeType>> keywords = new ArrayList<Pair<List<LanguageString>, CodeType>>(); for ( final KeywordsType jaxbEl : jaxbEls ) { keywords.add( fromJaxb( jaxbEl ) ); } return keywords; }
@Override public ResourceBuilder<OWSMetadataProvider> prepare() { try { JAXBElement<DeegreeServicesMetadataType> md; md = (JAXBElement<DeegreeServicesMetadataType>) unmarshall( "org.deegree.services.jaxb.metadata", provider.getSchema(), location.getAsStream(), workspace ); return new DefaultOwsMetadataProviderBuilder( md, this ); } catch ( Exception e ) { throw new ResourceInitException( "Unable to read service metadata config: " + e.getLocalizedMessage(), e ); } }
List<DatasetMetadata> datasets = fromJaxb( md.getValue().getDatasetMetadata() ); Map<String, String> authorities = new HashMap<String, String>(); if ( md.getValue().getDatasetMetadata() != null ) { return new DefaultOWSMetadataProvider( smd.first, smd.second, extendedCapabilities, datasets, authorities, metadata ); } catch ( Exception e ) {
private DatasetMetadata fromJaxb( final DatasetMetadataType jaxbEl, final String metadataUrlPattern ) { final QName name = jaxbEl.getName(); final List<LanguageString> titles = fromJaxb( jaxbEl.getTitle() ); final List<LanguageString> abstracts = fromJaxb( jaxbEl.getAbstract() ); final List<Pair<List<LanguageString>, CodeType>> keywords = fromJaxbKeywords( jaxbEl.getKeywords() ); final List<MetadataUrl> metadataUrls = new ArrayList<MetadataUrl>(); final String metadataUrl = buildMetadataUrl( metadataUrlPattern, jaxbEl.getMetadataSetId() ); if ( metadataUrl != null ) { metadataUrls.add( new MetadataUrl( metadataUrl, null, null ) ); externalIds.add( fromJaxb( metadatsetIdType ) ); featureListUrls.add( new UrlWithFormat( jaxbFeatureListUrl.getValue(), jaxbFeatureListUrl.getFormat() ) ); final Attribution attribution = fromJaxb( jaxbEl.getAttribution() ); return new DatasetMetadata( name, titles, abstracts, keywords, metadataUrls, externalIds, dataUrls, featureListUrls, attribution );
provider = new DefaultOWSMetadataProvider( serviceId, serviceProvider, wfsVersionToExtendedCaps, ftMetadata, Collections.<String, String> emptyMap(), null );
private List<DatasetMetadata> fromJaxb( org.deegree.services.jaxb.metadata.DeegreeServicesMetadataType.DatasetMetadata jaxbDatasetMetadata ) { List<DatasetMetadata> datasets = new ArrayList<DatasetMetadata>(); if ( jaxbDatasetMetadata != null ) { for ( DatasetMetadataType jaxbEl : jaxbDatasetMetadata.getDataset() ) { datasets.add( fromJaxb( jaxbEl, jaxbDatasetMetadata.getMetadataUrlTemplate() ) ); } } return datasets; }
private Pair<List<LanguageString>, CodeType> fromJaxb( final KeywordsType jaxbEl ) { final CodeType type = jaxbEl.getType() == null ? null : new CodeType( jaxbEl.getType().getValue(), jaxbEl.getType().getCodeSpace() ); final List<LanguageString> languageStrings = fromJaxb( jaxbEl.getKeyword() ); return new Pair<List<LanguageString>, CodeType>( languageStrings, type ); } }