public Segment addField(Field field) { getFields().add(field); return this; }
public Segment addField(Field field) { getFields().add(field); return this; }
public Segment addField(Field field) { getFields().add(field); return this; }
public Segment addField(Field field) { getFields().add(field); return this; }
private static void addFieldToSegment(Map<String, Field> fields, Map<String, Component> componens, Segment segment, String id, boolean isMandatory) { if (id.toUpperCase().startsWith("C")) { segment.getFields().add(copyField(fields.get(id), isMandatory)); } else { segment.getFields().add(convertToField(componens.get(id), isMandatory)); } }
/** * This method converting classes for common mapping model * * @param commonModel * @param commonClasses * @param commonPackage */ private Collection<EClass> createCommonClasses(Edimap commonModel, final Map<String, EClass> commonClasses) { Map<String, EClass> result = new HashMap<String, EClass>(); for (SegmentGroup grp : commonModel.getSegments().getSegments()) { // No segment groups are allowed in common part Segment segment = (Segment) grp; EClass clazz = ECoreConversionUtils.segmentToEClass(segment); if (!segment.getFields().isEmpty()) { commonClasses.put(segment.getSegcode(), clazz); Collection<EStructuralFeature> fields = processFields( segment.getFields(), result); clazz.getEStructuralFeatures().addAll(fields); } result.put(clazz.getName(), clazz); } // Adding DocumentRoot EClass droot = ECoreConversionUtils.createDocumentRoot(null); result.put(droot.getName(), droot); return result.values(); }
public static void removeDuplicateSegments(SegmentGroup segmentGroup) { if(segmentGroup instanceof Segment) { removeDuplicateFields(((Segment)segmentGroup).getFields()); } List<SegmentGroup> segments = segmentGroup.getSegments(); if(segments != null) { removeDuplicateMappingNodes(segments); for(SegmentGroup childSegmentGroup : segments) { removeDuplicateSegments(childSegmentGroup); } } }
private Segment createSegment(String id, String segcode, String name, String mandatory, String maxOccurance, Map<String, String> definitions, boolean isSplitIntoImport, boolean useShortName, Map<String, Segment> segmentDefinitions) { Segment segment = new Segment(); name = name.trim(); segment.setName(name); segment.setSegcode(segcode); segment.setNodeTypeRef(agency + ":" + segcode); if (!isSplitIntoImport) { Segment importedSegment = segmentDefinitions.get(segcode); if(importedSegment == null) { throw new EdiParseException("Unknown segment code '" + segcode + "'."); } segment.getFields().addAll(importedSegment.getFields()); if (importedSegment.getSegments().size() > 0) { segment.getSegments().addAll(importedSegment.getSegments()); } } if (useShortName) { segment.setXmltag(segcode); } else { segment.setXmltag(XmlTagEncoder.encode(name.trim())); } segment.setDocumentation(definitions.get(id).trim()); segment.setMinOccurs(mandatory.equals("M") ? 1 : 0); segment.setMaxOccurs(Integer.valueOf(maxOccurance)); segment.setTruncatable(true); return segment; }
segment.getFields().add(field); digestField(currentNode, field, namespacePrefix, segment); } else {
segment.getFields().add(field); digestField(currentNode, field, namespacePrefix, segment); } else {
private void addChildSegments(SegmentGroup segmentGroup, Element parentSegment) { List<SegmentGroup> childSegments = segmentGroup.getSegments(); for(SegmentGroup childSegment : childSegments) { Element segmentEl; if(childSegment instanceof Segment) { segmentEl = newElement("segment", parentSegment, childSegment); mapBeanProperties(childSegment, segmentEl, "segcode", "nodeTypeRef", "description", "ignoreUnmappedFields", "truncatable"); addFields(((Segment)childSegment).getFields(), segmentEl); } else { segmentEl = newElement("segmentGroup", parentSegment, childSegment); } mapBeanProperties(childSegment, segmentEl, "name", "xmltag", "minOccurs", "maxOccurs"); addChildSegments(childSegment, segmentEl); } }
private void addChildSegments(SegmentGroup segmentGroup, Element parentSegment) { List<SegmentGroup> childSegments = segmentGroup.getSegments(); for(SegmentGroup childSegment : childSegments) { Element segmentEl; if(childSegment instanceof Segment) { segmentEl = newElement("segment", parentSegment, childSegment); mapBeanProperties(childSegment, segmentEl, "segcode", "nodeTypeRef", "description", "ignoreUnmappedFields", "truncatable"); addFields(((Segment)childSegment).getFields(), segmentEl); } else { segmentEl = newElement("segmentGroup", parentSegment, childSegment); } mapBeanProperties(childSegment, segmentEl, "name", "xmltag", "minOccurs", "maxOccurs"); addChildSegments(childSegment, segmentEl); } }
private void addChildSegments(SegmentGroup segmentGroup, Element parentSegment) { List<SegmentGroup> childSegments = segmentGroup.getSegments(); for(SegmentGroup childSegment : childSegments) { Element segmentEl; if(childSegment instanceof Segment) { segmentEl = newElement("segment", parentSegment, childSegment); mapBeanProperties(childSegment, segmentEl, "segcode", "nodeTypeRef", "description", "ignoreUnmappedFields", "truncatable"); addFields(((Segment)childSegment).getFields(), segmentEl); } else { segmentEl = newElement("segmentGroup", parentSegment, childSegment); } mapBeanProperties(childSegment, segmentEl, "name", "xmltag", "minOccurs", "maxOccurs"); addChildSegments(childSegment, segmentEl); } }
private void addChildSegments(SegmentGroup segmentGroup, Element parentSegment) { List<SegmentGroup> childSegments = segmentGroup.getSegments(); for(SegmentGroup childSegment : childSegments) { Element segmentEl; if(childSegment instanceof Segment) { segmentEl = newElement("segment", parentSegment, childSegment); mapBeanProperties(childSegment, segmentEl, "segcode", "nodeTypeRef", "description", "ignoreUnmappedFields", "truncatable"); addFields(((Segment)childSegment).getFields(), segmentEl); } else { segmentEl = newElement("segmentGroup", parentSegment, childSegment); } mapBeanProperties(childSegment, segmentEl, "name", "xmltag", "minOccurs", "maxOccurs"); addChildSegments(childSegment, segmentEl); } }
/** * * Process the {@link org.milyn.edisax.model.internal.SegmentGroup} in List and insert info into the {@link org.milyn.ejc.ClassModel}. * @param segmentGroup the {@link org.milyn.edisax.model.internal.SegmentGroup} to process. * @param parent the JClass 'owning' the {@link org.milyn.edisax.model.internal.SegmentGroup}. * @throws IllegalNameException when name found in a xmltag-attribute is a java keyword. */ private BindingConfig processSegmentGroup(SegmentGroup segmentGroup, BindingConfig parent) throws IllegalNameException { LOG.debug("Parsing SegmentGroup " + segmentGroup.getXmltag()); if(segmentGroup.getJavaName() == null) { throw new EJCException("The <segmentGroup> element can optionally omit the 'xmltag' attribute. However, this attribute must be present for EJC to work properly. It is omitted from one of the <segmentGroup> elements in this configuration."); } pushNode(segmentGroup); BindingConfig segGroupBinding = createChildAndConnectWithParent(parent, segmentGroup, segmentGroup.getMaxOccurs(), null); if (segmentGroup instanceof Segment) { Segment segment = (Segment) segmentGroup; processFields(segment.getFields(), segGroupBinding); } processSegmentGroups(segmentGroup.getSegments(), segGroupBinding); popNode(); return segGroupBinding; }
public void writeObject(JNamedType property, BindingConfig bindingConfig, MappingNode mappingNode) { appendToBody("\n if(" + property.getName() + " != null) {"); if(mappingNode instanceof Segment) { if(!((Segment) mappingNode).getFields().isEmpty() && (bindingConfig.getParent() == null || bodyLength() > 0)) { appendToBody("\n nodeWriter.write(\"" + ((Segment)mappingNode).getSegcode() + "\");"); appendToBody("\n nodeWriter.write(delimiters.getField());"); } } appendToBody("\n " + property.getName() + ".write(nodeWriter, delimiters);"); if(trunacate) { appendToBody("\n nodeTokens.add(nodeWriter.toString());"); appendToBody("\n ((StringWriter)nodeWriter).getBuffer().setLength(0);"); } appendToBody("\n }"); }
public void writeSegmentCollection(JNamedType property, SegmentGroup segmentGroup) { appendToBody("\n if(" + property.getName() + " != null && !" + property.getName() + ".isEmpty()) {"); appendToBody("\n for(" + property.getType().getGenericType().getSimpleName() + " " + property.getName() + "Inst : " + property.getName() + ") {"); if(segmentGroup instanceof Segment && !((Segment) segmentGroup).getFields().isEmpty()) { appendToBody("\n nodeWriter.write(\"" + segmentGroup.getSegcode() + "\");"); appendToBody("\n nodeWriter.write(delimiters.getField());"); if(trunacate) { appendToBody("\n nodeTokens.add(nodeWriter.toString());"); appendToBody("\n ((StringWriter)nodeWriter).getBuffer().setLength(0);"); } } appendToBody("\n " + property.getName() + "Inst.write(nodeWriter, delimiters);"); appendToBody("\n }"); appendToBody("\n }"); }