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()); } }); } }
/** * Sets the EventTime parameter. * * @param domainType * Parameter. * @param parameterValue * * * @throws CompositeOwsException */ private void setParamRange(final DomainType domainType, final OwsParameterValueRange parameterValue) throws OwsExceptionReport { if (parameterValue.getMinValue() != null && parameterValue.getMaxValue() != null) { if (!parameterValue.getMinValue().isEmpty() && !parameterValue.getMaxValue().isEmpty()) { final RangeType range = domainType.addNewAllowedValues().addNewRange(); range.addNewMinimumValue().setStringValue(parameterValue.getMinValue()); range.addNewMaximumValue().setStringValue(parameterValue.getMaxValue()); } else { domainType.addNewAnyValue(); } } else { domainType.addNewNoValues(); } }
input.setMinOccurs(BigInteger.valueOf(1)); input.setMaxOccurs(BigInteger.valueOf(1)); RangeType range = literal.addNewAllowedValues().addNewRange(); range.addNewMaximumValue().setStringValue("" + Double.POSITIVE_INFINITY); range.addNewMinimumValue().setStringValue("" + Double.NEGATIVE_INFINITY); input.setMinOccurs(BigInteger.valueOf(1)); input.setMaxOccurs(BigInteger.valueOf(1)); RangeType range = literal.addNewAllowedValues().addNewRange(); range.addNewMinimumValue().setStringValue("0"); range.addNewMaximumValue().setStringValue("" + Integer.MAX_VALUE); input.setMinOccurs(BigInteger.valueOf(1)); input.setMaxOccurs(BigInteger.valueOf(1)); RangeType range = literal.addNewAllowedValues().addNewRange(); range.addNewMinimumValue().setStringValue("0"); range.addNewMaximumValue().setStringValue("" + Integer.MAX_VALUE);
/** * 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()); } } } }