use of org.n52.shetland.ogc.ows.OwsCode in project arctic-sea by 52North.
the class AbstractCapabilitiesBaseTypeDecoder method parseServiceIdentification.
private OwsServiceIdentification parseServiceIdentification(ServiceIdentification serviceIdentification) {
if (serviceIdentification == null) {
return null;
}
OwsCode serviceType = parseCode(serviceIdentification.getServiceType());
Set<String> serviceTypeVersion = Optional.ofNullable(serviceIdentification.getServiceTypeVersionArray()).map(Arrays::stream).orElseGet(Stream::empty).collect(toSet());
Set<String> fees = Optional.ofNullable(serviceIdentification.getFees()).map(Collections::singleton).orElseGet(Collections::emptySet);
Set<URI> profiles = Optional.ofNullable(serviceIdentification.getProfileArray()).map(Arrays::stream).orElseGet(Stream::empty).map(URI::create).collect(toSet());
Set<String> accessConstraints = Optional.ofNullable(serviceIdentification.getAccessConstraintsArray()).map(Arrays::stream).orElseGet(Stream::empty).collect(toSet());
MultilingualString title = new MultilingualString();
MultilingualString abstrakt = new MultilingualString();
Optional.ofNullable(serviceIdentification.getTitleArray()).map(Arrays::stream).orElseGet(Stream::empty).map(this::parseLanguageString).forEach(title::addLocalization);
Optional.ofNullable(serviceIdentification.getAbstractArray()).map(Arrays::stream).orElseGet(Stream::empty).map(this::parseLanguageString).forEach(abstrakt::addLocalization);
Set<OwsKeyword> keywords = Optional.ofNullable(serviceIdentification.getKeywordsArray()).map(Arrays::stream).orElseGet(Stream::empty).flatMap(this::parseKeyword).filter(Objects::nonNull).collect(toSet());
return new OwsServiceIdentification(serviceType, serviceTypeVersion, profiles, fees, accessConstraints, title, abstrakt, keywords);
}
use of org.n52.shetland.ogc.ows.OwsCode in project arctic-sea by 52North.
the class AbstractCapabilitiesBaseTypeDecoder method parseResponsibleParty.
private OwsResponsibleParty parseResponsibleParty(ResponsiblePartySubsetType responsibleParty) {
if (responsibleParty == null) {
return null;
}
String positionName = responsibleParty.getPositionName();
String individualName = responsibleParty.getIndividualName();
String organisationName = null;
OwsContact contactInfo = parseContact(responsibleParty.getContactInfo());
OwsCode role = parseCode(responsibleParty.getRole());
return new OwsResponsibleParty(individualName, organisationName, positionName, contactInfo, role);
}
use of org.n52.shetland.ogc.ows.OwsCode in project arctic-sea by 52North.
the class OwsEncoderv110Test method should_encode_service_identification_without_service_type_codespace.
@Test
public void should_encode_service_identification_without_service_type_codespace() throws EncodingException {
String serviceTypeValue = "serviceType";
OwsServiceIdentification serviceId = new OwsServiceIdentification(new OwsCode(serviceTypeValue), null, null, null, null, null, null, null);
XmlObject xbEncoded = encodeObjectToXml(OWSConstants.NS_OWS, serviceId);
assertThat(xbEncoded, instanceOf(ServiceIdentification.class));
ServiceIdentification xbServiceId = (ServiceIdentification) xbEncoded;
assertThat(xbServiceId.getServiceType().getStringValue(), equalTo(serviceTypeValue));
assertThat(xbServiceId.getServiceType().getCodeSpace(), nullValue());
}
use of org.n52.shetland.ogc.ows.OwsCode in project arctic-sea by 52North.
the class OwsServiceProviderFactory method create.
@Override
protected OwsServiceProvider create(Locale language) throws ConfigurationError {
// TODO organisation name is missing
String organisationName = null;
OwsOnlineResource onlineResource = null;
if (site != null) {
onlineResource = new OwsOnlineResource(site);
}
OwsCode roleCode = null;
if (role != null) {
roleCode = new OwsCode(role, roleCodespace);
}
OwsOnlineResource providerSite = null;
if (onlineResoureHref != null) {
providerSite = new OwsOnlineResource(onlineResoureHref, onlineResoureTitle);
}
OwsAddress address = null;
if (anyNonNull(deliveryPoint, city, administrativeArea, postalCode, country, electronicMailAddress)) {
address = new OwsAddress(deliveryPoint, city, administrativeArea, postalCode, country, electronicMailAddress);
}
OwsPhone owsPhone = null;
if (anyNonNull(phone, facsimile)) {
owsPhone = new OwsPhone(phone, facsimile);
}
OwsContact contactInfo = null;
if (anyNonNull(owsPhone, address, onlineResource, hoursOfService, contactInstructions)) {
contactInfo = new OwsContact(owsPhone, address, onlineResource, hoursOfService, contactInstructions);
}
OwsResponsibleParty serviceContact = new OwsResponsibleParty(individualName, organisationName, positionName, contactInfo, roleCode);
return new OwsServiceProvider(name, providerSite, serviceContact);
}
use of org.n52.shetland.ogc.ows.OwsCode in project arctic-sea by 52North.
the class OwsEncoderv110Test method should_encode_service_identification_with_service_type_codespace.
@Test
public void should_encode_service_identification_with_service_type_codespace() throws EncodingException {
String serviceTypeValue = "serviceType";
String serviceTypeCodeSpaceValue = "codeSpace";
OwsServiceIdentification serviceId = new OwsServiceIdentification(new OwsCode(serviceTypeValue, URI.create(serviceTypeCodeSpaceValue)), null, null, null, null, null, null, null);
XmlObject xbEncoded = encodeObjectToXml(OWSConstants.NS_OWS, serviceId);
assertThat(xbEncoded, instanceOf(ServiceIdentification.class));
ServiceIdentification xbServiceId = (ServiceIdentification) xbEncoded;
assertThat(xbServiceId.getServiceType().getStringValue(), equalTo(serviceTypeValue));
assertThat(xbServiceId.getServiceType().getCodeSpace(), equalTo(serviceTypeCodeSpaceValue));
}
Aggregations