@Override public void pushDelimiters(Delimiters delimiters) { super.pushDelimiters(delimiters); // Bind the delimiters into the bean context. Will then get // auto-wired into interchanges... executionContext.getBeanContext().addBean( "interchangeDelimiters", delimiters); } };
protected InterchangeContext createInterchangeContext(BufferedSegmentReader segmentReader, boolean validate, ControlBlockHandlerFactory controlBlockHandlerFactory, NamespaceDeclarationStack namespaceDeclarationStack) { return new InterchangeContext(segmentReader, registry, contentHandler, getFeatures(), controlBlockHandlerFactory, namespaceDeclarationStack, validate); }
public void process(InterchangeContext interchangeContext) throws IOException, SAXException { BufferedSegmentReader segmentReader = interchangeContext.getSegmentReader(); interchangeContext.getControlSegmentParser().startElement("group", ungSegment.getNamespace(), true); segmentReader.moveToNextSegment(false); interchangeContext.mapControlSegment(ungSegment, true); while(true) { String segCode = segmentReader.peek(3, true); if(segCode.equals("UNE")) { segmentReader.moveToNextSegment(false); interchangeContext.mapControlSegment(uneSegment, true); break; } else if(segCode.length() > 0) { ControlBlockHandler handler = interchangeContext.getControlBlockHandler(segCode); handler.process(interchangeContext); } else { throw new EDIParseException("Unexpected end of UN/EDIFACT data stream. If stream was reset (e.g. after read charset was changed), please make sure underlying stream was properly reset."); } } interchangeContext.getControlSegmentParser().endElement("group", ungSegment.getNamespace(), true); } }
public void process(InterchangeContext interchangeContext) throws IOException, SAXException { BufferedSegmentReader segmentReader = interchangeContext.getSegmentReader(); segmentReader.moveToNextSegment(false); String[] fields = segmentReader.getCurrentSegmentFields(); StringBuffer segBuffer = segmentReader.getSegmentBuffer(); char[] segChars = new char[segBuffer.length()]; segBuffer.getChars(0, segBuffer.length(), segChars, 0); interchangeContext.getControlSegmentParser().startElement(fields[0], interchangeContext.getNamespace(), true); interchangeContext.getControlSegmentParser().getContentHandler().characters(segChars, 0, segChars.length); interchangeContext.getControlSegmentParser().endElement(fields[0], interchangeContext.getNamespace(), false); // And clear out the buffer... segmentReader.getSegmentBuffer().setLength(0); } }
public void process(InterchangeContext interchangeContext) throws IOException, SAXException { BufferedSegmentReader segmentReader = interchangeContext.getSegmentReader(); MappingsRegistry registry = interchangeContext.getRegistry(); interchangeContext.getControlSegmentParser().startElement(InterchangeContext.INTERCHANGE_MESSAGE_BLOCK_ELEMENT_NAME, unhSegment.getNamespace(), true, attrs); interchangeContext.mapControlSegment(unhSegment, false); EDIParser parser = interchangeContext.newParser(mappingModel); } else if (!interchangeContext.isContainerManagedNamespaceStack()) { interchangeContext.getNamespaceDeclarationStack().pushReader(parser); if(hierarchyChangeListener != null) { hierarchyChangeListener.detachXMLReader(); } else if (!interchangeContext.isContainerManagedNamespaceStack()) { interchangeContext.getNamespaceDeclarationStack().popReader(); interchangeContext.mapControlSegment(untSegment, true); segmentReader.getSegmentBuffer().setLength(0); interchangeContext.getControlSegmentParser().endElement(InterchangeContext.INTERCHANGE_MESSAGE_BLOCK_ELEMENT_NAME, unhSegment.getNamespace(), true);
if(segCode.length() == 3) { interchangeContext = createInterchangeContext(segmentReader, validate, handlerFactory, namespaceDeclarationStack); namespaceDeclarationStack = interchangeContext.getNamespaceDeclarationStack(); hierarchyChangeListener.attachXMLReader(interchangeContext.getControlSegmentParser()); } else if (!interchangeContext.isContainerManagedNamespaceStack()) { interchangeContext.getNamespaceDeclarationStack().pushReader(interchangeContext.getControlSegmentParser()); ControlBlockHandler handler = interchangeContext.getControlBlockHandler(segCode); if(hierarchyChangeListener != null) { hierarchyChangeListener.detachXMLReader(); } else if (!interchangeContext.isContainerManagedNamespaceStack()) { interchangeContext.getNamespaceDeclarationStack().popReader();
public void process(InterchangeContext interchangeContext) throws IOException, SAXException { BufferedSegmentReader segmentReader = interchangeContext.getSegmentReader(); interchangeContext.mapControlSegment(unbSegment, true); changeReadEncoding(syntaxIdComponents[0], interchangeContext.getSegmentReader()); } else { changeReadEncoding(syntaxIdComponents[3], interchangeContext.getSegmentReader()); interchangeContext.mapControlSegment(unzSegment, true); break; } else if(segCode.length() > 0) { ControlBlockHandler handler = interchangeContext.getControlBlockHandler(segCode); handler.process(interchangeContext); } else {
public void process(InterchangeContext interchangeContext) throws IOException, SAXException { Delimiters delimiters = new Delimiters(); BufferedSegmentReader segmentReader = interchangeContext.getSegmentReader(); // The UNA segment code is still in the segment buffer... clear it before // reading the segment delimiters... segmentReader.getSegmentBuffer().setLength(0); // Read the delimiter chars one-by-one and set in the Delimiters instance... // 1st char is the component ("sub-element") delimiter... delimiters.setComponent( segmentReader.read(1)); // 2nd char is the field ("data-element") delimiter... delimiters.setField( segmentReader.read(1)); // 3rd char is the decimal point indicator... delimiters.setDecimalSeparator(segmentReader.read(1)); // 4th char is the escape char ("release")... delimiters.setEscape( segmentReader.read(1)); // 5th char is reserved for future use... segmentReader.read(1); // 6th char is the segment delimiter... delimiters.setSegment( segmentReader.read(1)); interchangeContext.pushDelimiters(delimiters); } }
if(segCode.length() == 3) { interchangeContext = createInterchangeContext(segmentReader, validate, handlerFactory, namespaceDeclarationStack); namespaceDeclarationStack = interchangeContext.getNamespaceDeclarationStack(); hierarchyChangeListener.attachXMLReader(interchangeContext.getControlSegmentParser()); } else if (!interchangeContext.isContainerManagedNamespaceStack()) { interchangeContext.getNamespaceDeclarationStack().pushReader(interchangeContext.getControlSegmentParser()); if(hierarchyChangeListener != null) { hierarchyChangeListener.detachXMLReader(); } else if (!interchangeContext.isContainerManagedNamespaceStack()) { interchangeContext.getNamespaceDeclarationStack().popReader();
public void process(InterchangeContext interchangeContext) throws IOException, SAXException { BufferedSegmentReader segmentReader = interchangeContext.getSegmentReader(); MappingsRegistry registry = interchangeContext.getRegistry(); interchangeContext.getControlSegmentParser().startElement(InterchangeContext.INTERCHANGE_MESSAGE_BLOCK_ELEMENT_NAME, unhSegment.getNamespace(), true, attrs); interchangeContext.mapControlSegment(unhSegment, false); EDIParser parser = interchangeContext.newParser(mappingModel); } else if (!interchangeContext.isContainerManagedNamespaceStack()) { interchangeContext.getNamespaceDeclarationStack().pushReader(parser); if(hierarchyChangeListener != null) { hierarchyChangeListener.detachXMLReader(); } else if (!interchangeContext.isContainerManagedNamespaceStack()) { interchangeContext.getNamespaceDeclarationStack().popReader(); interchangeContext.mapControlSegment(untSegment, true); segmentReader.getSegmentBuffer().setLength(0); interchangeContext.getControlSegmentParser().endElement(InterchangeContext.INTERCHANGE_MESSAGE_BLOCK_ELEMENT_NAME, unhSegment.getNamespace(), true);
if(segCode.length() == 3) { interchangeContext = createInterchangeContext(segmentReader, validate, handlerFactory, namespaceDeclarationStack); namespaceDeclarationStack = interchangeContext.getNamespaceDeclarationStack(); hierarchyChangeListener.attachXMLReader(interchangeContext.getControlSegmentParser()); } else if (!interchangeContext.isContainerManagedNamespaceStack()) { interchangeContext.getNamespaceDeclarationStack().pushReader(interchangeContext.getControlSegmentParser()); ControlBlockHandler handler = interchangeContext.getControlBlockHandler(segCode); if(hierarchyChangeListener != null) { hierarchyChangeListener.detachXMLReader(); } else if (!interchangeContext.isContainerManagedNamespaceStack()) { interchangeContext.getNamespaceDeclarationStack().popReader();
public void process(InterchangeContext interchangeContext) throws IOException, SAXException { BufferedSegmentReader segmentReader = interchangeContext.getSegmentReader(); segmentReader.moveToNextSegment(false); String[] fields = segmentReader.getCurrentSegmentFields(); StringBuffer segBuffer = segmentReader.getSegmentBuffer(); char[] segChars = new char[segBuffer.length()]; segBuffer.getChars(0, segBuffer.length(), segChars, 0); interchangeContext.getControlSegmentParser().startElement(fields[0], interchangeContext.getNamespace(), true); interchangeContext.getControlSegmentParser().getContentHandler().characters(segChars, 0, segChars.length); interchangeContext.getControlSegmentParser().endElement(fields[0], interchangeContext.getNamespace(), false); // And clear out the buffer... segmentReader.getSegmentBuffer().setLength(0); } }
public void process(InterchangeContext interchangeContext) throws IOException, SAXException { BufferedSegmentReader segmentReader = interchangeContext.getSegmentReader(); interchangeContext.mapControlSegment(unbSegment, true); changeReadEncoding(syntaxIdComponents[0], interchangeContext.getSegmentReader()); } else { changeReadEncoding(syntaxIdComponents[3], interchangeContext.getSegmentReader()); interchangeContext.mapControlSegment(unzSegment, true); break; } else if(segCode.length() > 0) { ControlBlockHandler handler = interchangeContext.getControlBlockHandler(segCode); handler.process(interchangeContext); } else {
public void process(InterchangeContext interchangeContext) throws IOException, SAXException { Delimiters delimiters = new Delimiters(); BufferedSegmentReader segmentReader = interchangeContext.getSegmentReader(); // The UNA segment code is still in the segment buffer... clear it before // reading the segment delimiters... segmentReader.getSegmentBuffer().setLength(0); // Read the delimiter chars one-by-one and set in the Delimiters instance... // 1st char is the component ("sub-element") delimiter... delimiters.setComponent( segmentReader.read(1)); // 2nd char is the field ("data-element") delimiter... delimiters.setField( segmentReader.read(1)); // 3rd char is the decimal point indicator... delimiters.setDecimalSeparator(segmentReader.read(1)); // 4th char is the escape char ("release")... delimiters.setEscape( segmentReader.read(1)); // 5th char is reserved for future use... segmentReader.read(1); // 6th char is the segment delimiter... delimiters.setSegment( segmentReader.read(1)); interchangeContext.pushDelimiters(delimiters); } }
public void process(InterchangeContext interchangeContext) throws IOException, SAXException { BufferedSegmentReader segmentReader = interchangeContext.getSegmentReader(); MappingsRegistry registry = interchangeContext.getRegistry(); interchangeContext.getControlSegmentParser().startElement(InterchangeContext.INTERCHANGE_MESSAGE_BLOCK_ELEMENT_NAME, unhSegment.getNamespace(), true, attrs); interchangeContext.mapControlSegment(unhSegment, false); EDIParser parser = interchangeContext.newParser(mappingModel); } else if (!interchangeContext.isContainerManagedNamespaceStack()) { interchangeContext.getNamespaceDeclarationStack().pushReader(parser); if(hierarchyChangeListener != null) { hierarchyChangeListener.detachXMLReader(); } else if (!interchangeContext.isContainerManagedNamespaceStack()) { interchangeContext.getNamespaceDeclarationStack().popReader(); interchangeContext.mapControlSegment(untSegment, true); segmentReader.getSegmentBuffer().setLength(0); interchangeContext.getControlSegmentParser().endElement(InterchangeContext.INTERCHANGE_MESSAGE_BLOCK_ELEMENT_NAME, unhSegment.getNamespace(), true);
public void process(InterchangeContext interchangeContext) throws IOException, SAXException { BufferedSegmentReader segmentReader = interchangeContext.getSegmentReader(); interchangeContext.getControlSegmentParser().startElement("group", ungSegment.getNamespace(), true); segmentReader.moveToNextSegment(false); interchangeContext.mapControlSegment(ungSegment, true); while(true) { String segCode = segmentReader.peek(3, true); if(segCode.equals("UNE")) { segmentReader.moveToNextSegment(false); interchangeContext.mapControlSegment(uneSegment, true); break; } else if(segCode.length() > 0) { ControlBlockHandler handler = interchangeContext.getControlBlockHandler(segCode); handler.process(interchangeContext); } else { throw new EDIParseException("Unexpected end of UN/EDIFACT data stream. If stream was reset (e.g. after read charset was changed), please make sure underlying stream was properly reset."); } } interchangeContext.getControlSegmentParser().endElement("group", ungSegment.getNamespace(), true); } }
if(segCode.length() == 3) { interchangeContext = createInterchangeContext(segmentReader, validate, handlerFactory, namespaceDeclarationStack); namespaceDeclarationStack = interchangeContext.getNamespaceDeclarationStack(); hierarchyChangeListener.attachXMLReader(interchangeContext.getControlSegmentParser()); } else if (!interchangeContext.isContainerManagedNamespaceStack()) { interchangeContext.getNamespaceDeclarationStack().pushReader(interchangeContext.getControlSegmentParser()); ControlBlockHandler handler = interchangeContext.getControlBlockHandler(segCode); if(hierarchyChangeListener != null) { hierarchyChangeListener.detachXMLReader(); } else if (!interchangeContext.isContainerManagedNamespaceStack()) { interchangeContext.getNamespaceDeclarationStack().popReader();
public void process(InterchangeContext interchangeContext) throws IOException, SAXException { BufferedSegmentReader segmentReader = interchangeContext.getSegmentReader(); segmentReader.moveToNextSegment(false); String[] fields = segmentReader.getCurrentSegmentFields(); StringBuffer segBuffer = segmentReader.getSegmentBuffer(); char[] segChars = new char[segBuffer.length()]; segBuffer.getChars(0, segBuffer.length(), segChars, 0); interchangeContext.getControlSegmentParser().startElement(fields[0], interchangeContext.getNamespace(), true); interchangeContext.getControlSegmentParser().getContentHandler().characters(segChars, 0, segChars.length); interchangeContext.getControlSegmentParser().endElement(fields[0], interchangeContext.getNamespace(), false); // And clear out the buffer... segmentReader.getSegmentBuffer().setLength(0); } }
public void process(InterchangeContext interchangeContext) throws IOException, SAXException { BufferedSegmentReader segmentReader = interchangeContext.getSegmentReader(); interchangeContext.mapControlSegment(unbSegment, true); changeReadEncoding(syntaxIdComponents[0], interchangeContext.getSegmentReader()); } else { changeReadEncoding(syntaxIdComponents[3], interchangeContext.getSegmentReader()); interchangeContext.mapControlSegment(unzSegment, true); break; } else if(segCode.length() > 0) { ControlBlockHandler handler = interchangeContext.getControlBlockHandler(segCode); handler.process(interchangeContext); } else {
public void process(InterchangeContext interchangeContext) throws IOException, SAXException { Delimiters delimiters = new Delimiters(); BufferedSegmentReader segmentReader = interchangeContext.getSegmentReader(); // The UNA segment code is still in the segment buffer... clear it before // reading the segment delimiters... segmentReader.getSegmentBuffer().setLength(0); // Read the delimiter chars one-by-one and set in the Delimiters instance... // 1st char is the component ("sub-element") delimiter... delimiters.setComponent( segmentReader.read(1)); // 2nd char is the field ("data-element") delimiter... delimiters.setField( segmentReader.read(1)); // 3rd char is the decimal point indicator... delimiters.setDecimalSeparator(segmentReader.read(1)); // 4th char is the escape char ("release")... delimiters.setEscape( segmentReader.read(1)); // 5th char is reserved for future use... segmentReader.read(1); // 6th char is the segment delimiter... delimiters.setSegment( segmentReader.read(1)); interchangeContext.pushDelimiters(delimiters); } }