private void encodeOwsPossibleValues(OwsPossibleValues possibleValues, DomainType xdomain) { if (possibleValues.isAnyValue()) { xdomain.addNewAnyValue(); } else if (possibleValues.isNoValues()) { xdomain.addNewNoValues(); } else if (possibleValues.isValuesReference()) { OwsValuesReference vr = possibleValues.asValuesReference(); ValuesReference xvr = xdomain.addNewValuesReference(); xvr.setReference(vr.getReference().toString()); xvr.setStringValue(vr.getValue()); } else if (possibleValues.isAllowedValues()) { OwsAllowedValues av = possibleValues.asAllowedValues(); AllowedValues xav = xdomain.addNewAllowedValues(); av.getRestrictions().forEach(restriction -> { if (restriction.isRange()) { OwsRange range = restriction.asRange(); RangeType xrange = xav.addNewRange(); range.getLowerBound().map(OwsValue::getValue) .ifPresent(v -> xrange.addNewMinimumValue().setStringValue(v)); range.getUpperBound().map(OwsValue::getValue) .ifPresent(v -> xrange.addNewMaximumValue().setStringValue(v)); range.getSpacing().map(OwsValue::getValue) .ifPresent(v -> xrange.addNewSpacing().setStringValue(v)); xrange.setRangeClosure(Collections.singletonList(range.getType())); } else if (restriction.isValue()) { xav.addNewValue().setStringValue(restriction.asValue().getValue()); } }); } }
AllowedValues allowedValues = literal.addNewAllowedValues(); for (int i = 0; i < values.length; i++) { allowedValues.addNewValue().setStringValue(values[i]);
/** * Sets operation parameters to AnyValue, NoValues or AllowedValues. * * @param domainType * Paramter. * @param parameterValue * .getValues() List of values. */ private void setParamList(final DomainType domainType, final OwsParameterValuePossibleValues parameterValue) { if (parameterValue.getValues() != null) { if (!parameterValue.getValues().isEmpty()) { AllowedValues allowedValues = null; for (final String value : parameterValue.getValues()) { if (value == null) { domainType.addNewNoValues(); break; } else { if (allowedValues == null) { allowedValues = domainType.addNewAllowedValues(); } allowedValues.addNewValue().setStringValue(value); } } } else { domainType.addNewAnyValue(); } } else { domainType.addNewNoValues(); } }
/** * Add XML OWS AllowedValues to XML OWS DomainType * * @param domainType * XML OWS DomainType * @param value * Service OWS AllowedValues to add */ private void addAllowedValues(DomainType domainType, OwsAllowedValues value) { AllowedValues allowedValues = domainType.addNewAllowedValues(); if (value instanceof OwsAllowedValuesValue) { for (String stringValue : ((OwsAllowedValuesValue) value).getValues()) { allowedValues.addNewValue().setStringValue(stringValue); } } else if (value instanceof OwsAllowedValuesRange) { for (OwsRange owsRange : ((OwsAllowedValuesRange) value).getValues()) { RangeType range = allowedValues.addNewRange(); if (owsRange.isSetMinValue()) { range.addNewMinimumValue().setStringValue(owsRange.getMinValue()); } if (owsRange.isSetMaxValue()) { range.addNewMaximumValue().setStringValue(owsRange.getMaxValue()); } if (owsRange.isSetSpacing()) { range.addNewSpacing().setStringValue(owsRange.getSpacing()); } } } }