/** * Add field specific annotations * * @param field * @param attr */ private static void annotateField(Field field, EModelElement attr) { annotate(attr, "truncable", String.valueOf(field.isTruncatable())); annotate(attr, "required", String.valueOf(field.isRequired())); annotate(attr, SmooksMetadata.ANNOTATION_TYPE_KEY, SmooksMetadata.FIELD_TYPE); annotateValueNode(attr, field); }
result.setContainment(true); result.setName(toJavaName(field.getXmltag(), false)); result.setLowerBound(field.isRequired() ? 1 : 0); result.setUpperBound(1); result.setEType(newClass);
int numFieldsMissing = numFieldsExpected - currentSegmentFields.length; for(int i = expectedFields.size() - 1; i > (expectedFields.size() - numFieldsMissing - 1); i--) { if(expectedFields.get(i).isRequired()) { throwException = true; break;
int numFieldsMissing = numFieldsExpected - currentSegmentFields.length; for(int i = expectedFields.size() - 1; i > (expectedFields.size() - numFieldsMissing - 1); i--) { if(expectedFields.get(i).isRequired()) { throwException = true; break;
int numFieldsMissing = numFieldsExpected - currentSegmentFields.length; for(int i = expectedFields.size() - 1; i > (expectedFields.size() - numFieldsMissing - 1); i--) { if(expectedFields.get(i).isRequired()) { throwException = true; break;
int numFieldsMissing = numFieldsExpected - currentSegmentFields.length; for(int i = expectedFields.size() - 1; i > (expectedFields.size() - numFieldsMissing - 1); i--) { if(expectedFields.get(i).isRequired()) { throwException = true; break;
/** * Converting a {@link Field} to {@link EAttribute} Works only for * {@link Field} where {@link Field#getComponents()} is empty * * @param field * @return */ public static EAttribute fieldToEAttribute(Field field) { if (!field.getComponents().isEmpty()) { throw new IllegalArgumentException( "Can't convert field with components to " + "EAttribute, use fieldToEReference"); } EAttribute attr = EcoreFactory.eINSTANCE.createEAttribute(); attr.setName(toJavaName(field.getXmltag(), false)); attr.setLowerBound(field.isRequired() ? 1 : 0); attr.setUpperBound(1); if (field.getTypeClass() != null) { attr.setEType(toEType(field.getTypeClass())); } else { log.warn("Field " + field.getXmltag() + " has no type! Setting it's type to String"); attr.setEType(XMLTypePackage.Literals.STRING); } addMappingInformation(attr, field); annotateField(field, attr); return attr; }
if(expectedField.isRequired() && fieldMessageVal.length() == 0) { throw new EDIParseException(edifactModel.getEdimap(), "Segment [" + segmentCode + "], field " + (fieldIndex + 1) + " (" + expectedField.getXmltag() + ") expected to contain a value. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", expectedField, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields());
if(expectedField.isRequired() && fieldMessageVal.length() == 0) { throw new EDIParseException(edifactModel.getEdimap(), "Segment [" + segmentCode + "], field " + (fieldIndex + 1) + " (" + expectedField.getXmltag() + ") expected to contain a value. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", expectedField, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields());
if(expectedField.isRequired() && fieldMessageVal.length() == 0) { throw new EDIParseException(edifactModel.getEdimap(), "Segment [" + segmentCode + "], field " + (fieldIndex + 1) + " (" + expectedField.getXmltag() + ") expected to contain a value. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", expectedField, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields());
if(expectedField.isRequired() && fieldMessageVal.length() == 0) { throw new EDIParseException(edifactModel.getEdimap(), "Segment [" + segmentCode + "], field " + (fieldIndex + 1) + " (" + expectedField.getXmltag() + ") expected to contain a value. Currently at segment number " + segmentReader.getCurrentSegmentNumber() + ".", expectedField, segmentReader.getCurrentSegmentNumber(), segmentReader.getCurrentSegmentFields());