private Edimap parseEDIDefinitionFiles() throws IOException, EdiParseException { Edimap edifactModel; Reader dataISR = null; Reader compositeISR = null; Reader segmentISR = null; try { dataISR = new InputStreamReader(new ByteArrayInputStream(definitionFiles.get("eded."))); compositeISR = new InputStreamReader(new ByteArrayInputStream(definitionFiles.get("edcd."))); segmentISR = new InputStreamReader(new ByteArrayInputStream(definitionFiles.get("edsd."))); edifactModel = UnEdifactDefinitionReader.parse(dataISR, compositeISR, segmentISR, useShortName); edifactModel.setDescription((Description) EDIUtils.MODEL_SET_DEFINITIONS_DESCRIPTION.clone()); edifactModel.getSegments().setXmltag("DefinitionMap"); edifactModel.setDelimiters(UNEdifactInterchangeParser.defaultUNEdifactDelimiters); } finally { if (dataISR != null) { dataISR.close(); } if (compositeISR != null) { compositeISR.close(); } if (segmentISR != null) { segmentISR.close(); } } return edifactModel; }
public static void write(Segment segment, Writer writer) throws IOException { Edimap ediMap = new Edimap(); SegmentGroup segments = new SegmentGroup(); segments.getSegments().add(segment); ediMap.setSegments(segments); ediMap.setDelimiters(UNEdifactInterchangeParser.defaultUNEdifactDelimiters); ediMap.setDescription(new Description().setName("TODO").setVersion("TODO")); write(ediMap, writer); }
delimiters.setSubComponent(DELIMITER_NOT_USED); delimiters.setEscape(ESCAPE); edimap.setDelimiters(delimiters);
/** * Digest attributes of Delimiter element and populate Delimiter. * @param node the Delimiter element. * @param edimap the {@link org.dhatim.edisax.model.internal.Edimap} to populate. */ private static void digestDelimiters(Node node, Edimap edimap) { Delimiters delimiters = new Delimiters(); edimap.setDelimiters(delimiters); delimiters.setSegment(getAttributeValue(node, "segment")); delimiters.setField(getAttributeValue(node, "field")); delimiters.setFieldRepeat(getAttributeValue(node, "fieldRepeat")); delimiters.setComponent(getAttributeValue(node, "component")); delimiters.setSubComponent(getAttributeValue(node, "sub-component")); delimiters.setEscape(getAttributeValue(node, "escape")); delimiters.setDecimalSeparator(getAttributeValue(node, "decimalSeparator")); }