private static void annotateValueNode(EModelElement element, ValueNode valueNode) { annotate(element, "datatype", valueNode.getDataType()); annotate(element, "maxLength", String.valueOf(valueNode.getMaxLength())); annotate(element, "minLength", String.valueOf(valueNode.getMinLength())); if (valueNode.getDecoder() != null) { annotate(element, "decoder", valueNode.getDecoder().getClass() .getCanonicalName()); } else { annotate(element, "decoder", ""); } }
private void validateValueNode(ValueNode valueNode, String value) throws EDIParseException { // Return when validation is turned off. if (!getFeature(FEATURE_VALIDATE)) { return; } // Validate type. if (valueNode.getDataType() != null && !valueNode.getDataType().equals("")) { try { valueNode.isValidForType(value); } catch (DataDecodeException e) { throw new EDIParseException(edifactModel.getEdimap(), "Validation of expected type [" + valueNode.getDataType() + "] failed for value [" + value + "]. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", e, valueNode, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields()); } } //Test minLength. if (valueNode.getMinLength() != null) { if (value.length() < valueNode.getMinLength()) { throw new EDIParseException(edifactModel.getEdimap(), "Value [" + value + "] should have a length greater than [" + valueNode.getMinLength() + "]. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", valueNode, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields()); } } //Test maxLength. if (valueNode.getMaxLength() != null) { if (value.length() > valueNode.getMaxLength()) { throw new EDIParseException(edifactModel.getEdimap(), "Value [" + value + "] exceeds allowed maximum length of [" + valueNode.getMaxLength() + "]. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", valueNode, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields()); } } }
private void validateValueNode(ValueNode valueNode, String value) throws EDIParseException { // Return when validation is turned off. if (!getFeature(FEATURE_VALIDATE)) { return; } // Validate type. if (valueNode.getDataType() != null && !valueNode.getDataType().equals("")) { try { valueNode.isValidForType(value); } catch (DataDecodeException e) { throw new EDIParseException(edifactModel.getEdimap(), "Validation of expected type [" + valueNode.getDataType() + "] failed for value [" + value + "]. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", e, valueNode, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields()); } } //Test minLength. if (valueNode.getMinLength() != null) { if (value.length() < valueNode.getMinLength()) { throw new EDIParseException(edifactModel.getEdimap(), "Value [" + value + "] should have a length greater than [" + valueNode.getMinLength() + "]. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", valueNode, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields()); } } //Test maxLength. if (valueNode.getMaxLength() != null) { if (value.length() > valueNode.getMaxLength()) { throw new EDIParseException(edifactModel.getEdimap(), "Value [" + value + "] exceeds allowed maximum length of [" + valueNode.getMaxLength() + "]. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", valueNode, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields()); } } }
private void validateValueNode(ValueNode valueNode, String value) throws EDIParseException { // Return when validation is turned off. if (!getFeature(FEATURE_VALIDATE)) { return; } // Validate type. if (valueNode.getDataType() != null && !valueNode.getDataType().equals("")) { try { valueNode.isValidForType(value); } catch (DataDecodeException e) { throw new EDIParseException(edifactModel.getEdimap(), "Validation of expected type [" + valueNode.getDataType() + "] failed for value [" + value + "]. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", e, valueNode, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields()); } } //Test minLength. if (valueNode.getMinLength() != null) { if (value.length() < valueNode.getMinLength()) { throw new EDIParseException(edifactModel.getEdimap(), "Value [" + value + "] should have a length greater than [" + valueNode.getMinLength() + "]. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", valueNode, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields()); } } //Test maxLength. if (valueNode.getMaxLength() != null) { if (value.length() > valueNode.getMaxLength()) { throw new EDIParseException(edifactModel.getEdimap(), "Value [" + value + "] exceeds allowed maximum length of [" + valueNode.getMaxLength() + "]. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", valueNode, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields()); } } }
private void validateValueNode(ValueNode valueNode, String value) throws EDIParseException { // Return when validation is turned off. if (!getFeature(FEATURE_VALIDATE)) { return; } // Validate type. if (valueNode.getDataType() != null && !valueNode.getDataType().equals("")) { try { valueNode.isValidForType(value); } catch (DataDecodeException e) { throw new EDIParseException(edifactModel.getEdimap(), "Validation of expected type [" + valueNode.getDataType() + "] failed for value [" + value + "]. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", e, valueNode, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields()); } } //Test minLength. if (valueNode.getMinLength() != null) { if (value.length() < valueNode.getMinLength()) { throw new EDIParseException(edifactModel.getEdimap(), "Value [" + value + "] should have a length greater than [" + valueNode.getMinLength() + "]. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", valueNode, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields()); } } //Test maxLength. if (valueNode.getMaxLength() != null) { if (value.length() > valueNode.getMaxLength()) { throw new EDIParseException(edifactModel.getEdimap(), "Value [" + value + "] exceeds allowed maximum length of [" + valueNode.getMaxLength() + "]. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", valueNode, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields()); } } }