List of usage examples for javax.xml.stream XMLStreamConstants END_ELEMENT
int END_ELEMENT
To view the source code for javax.xml.stream XMLStreamConstants END_ELEMENT.
Click Source Link
From source file:de.uzk.hki.da.cb.CreatePremisAction.java
/** * Accepts a premis.xml file and creates a new xml file for each jhove section * //from w ww . j av a 2s . c o m * @author Thomas Kleinke * Extract jhove data. * * @param premisFilePath the premis file path * @param outputFolder the output folder * @throws XMLStreamException the xML stream exception */ public void extractJhoveData(String premisFilePath, String outputFolder) throws XMLStreamException { outputFolder += "/premis_output/"; FileInputStream inputStream = null; try { inputStream = new FileInputStream(premisFilePath); } catch (FileNotFoundException e) { throw new RuntimeException("Couldn't find file " + premisFilePath, e); } XMLInputFactory inputFactory = XMLInputFactory.newInstance(); XMLStreamReader streamReader = inputFactory.createXMLStreamReader(inputStream); boolean textElement = false; boolean jhoveSection = false; boolean objectIdentifierValue = false; int tab = 0; String fileId = ""; while (streamReader.hasNext()) { int event = streamReader.next(); switch (event) { case XMLStreamConstants.START_ELEMENT: if (streamReader.getLocalName().equals("jhove")) { jhoveSection = true; String outputFilePath = outputFolder + fileId.replace('/', '_').replace('.', '_') + ".xml"; if (!new File(outputFolder).exists()) new File(outputFolder).mkdirs(); writer = startNewDocument(outputFilePath); } if (streamReader.getLocalName().equals("objectIdentifierValue")) objectIdentifierValue = true; if (jhoveSection) { writer.writeDTD("\n"); indent(tab); tab++; String prefix = streamReader.getPrefix(); if (prefix != null && !prefix.equals("")) { writer.setPrefix(prefix, streamReader.getNamespaceURI()); writer.writeStartElement(streamReader.getNamespaceURI(), streamReader.getLocalName()); } else writer.writeStartElement(streamReader.getLocalName()); for (int i = 0; i < streamReader.getNamespaceCount(); i++) writer.writeNamespace(streamReader.getNamespacePrefix(i), streamReader.getNamespaceURI(i)); for (int i = 0; i < streamReader.getAttributeCount(); i++) { QName qname = streamReader.getAttributeName(i); String attributeName = qname.getLocalPart(); String attributePrefix = qname.getPrefix(); if (attributePrefix != null && !attributePrefix.equals("")) attributeName = attributePrefix + ":" + attributeName; writer.writeAttribute(attributeName, streamReader.getAttributeValue(i)); } } break; case XMLStreamConstants.CHARACTERS: if (objectIdentifierValue) { fileId = streamReader.getText(); objectIdentifierValue = false; } if (jhoveSection && !streamReader.isWhiteSpace()) { writer.writeCharacters(streamReader.getText()); textElement = true; } break; case XMLStreamConstants.END_ELEMENT: if (jhoveSection) { tab--; if (!textElement) { writer.writeDTD("\n"); indent(tab); } writer.writeEndElement(); textElement = false; if (streamReader.getLocalName().equals("jhove")) { jhoveSection = false; finalizeDocument(); } } break; case XMLStreamConstants.END_DOCUMENT: streamReader.close(); try { inputStream.close(); } catch (IOException e) { throw new RuntimeException("Failed to close input stream", e); } break; default: break; } } }
From source file:edu.harvard.iq.dvn.ingest.statdataio.impl.plugins.ddi.DDIFileReader.java
private void processFileTxt(XMLStreamReader xmlr, SDIOMetadata smd) throws XMLStreamException { for (int event = xmlr.next(); event != XMLStreamConstants.END_DOCUMENT; event = xmlr.next()) { if (event == XMLStreamConstants.START_ELEMENT) { if (xmlr.getLocalName().equals("dimensns")) { processDimensns(xmlr, smd); } else if (xmlr.getLocalName().equals("fileType")) { // ignore. } else { throw new XMLStreamException( "Unsupported DDI Element: codeBook/fileDscr/fileTxt/" + xmlr.getLocalName()); }/*www . j av a2 s.c om*/ } else if (event == XMLStreamConstants.END_ELEMENT) { if (xmlr.getLocalName().equals("fileTxt")) { return; } else if (xmlr.getLocalName().equals("fileType")) { // continue; } else { throw new XMLStreamException( "Mismatched DDI Formatting: </fileTxt> expected, found " + xmlr.getLocalName()); } } } }
From source file:com.marklogic.contentpump.AggregateXMLReader.java
@Override public boolean nextKeyValue() throws IOException, InterruptedException { if (xmlSR == null) { hasNext = false;//w ww. j ava2 s. c o m return false; } try { while (xmlSR.hasNext()) { int eventType; //getCharacterOffset() returns int; //int will overflows if file is larger than 2GB if (!overflow && xmlSR.getLocation().getCharacterOffset() < -1) { overflow = true; LOG.info("In progress..."); } //do not update pos if offset overflows if (!overflow) { pos = xmlSR.getLocation().getCharacterOffset(); } eventType = xmlSR.next(); switch (eventType) { case XMLStreamConstants.START_ELEMENT: if (startOfRecord) { // this is the start of the root, only copy // namespaces copyNameSpaceDecl(); startOfRecord = false; continue; } processStartElement(); break; case XMLStreamConstants.CHARACTERS: write(StringEscapeUtils.escapeXml(xmlSR.getText())); break; case XMLStreamConstants.CDATA: write("<![CDATA["); write(xmlSR.getText()); write("]]>"); break; case XMLStreamConstants.SPACE: write(xmlSR.getText()); break; case XMLStreamConstants.ENTITY_REFERENCE: write("&"); write(xmlSR.getLocalName()); write(";"); break; case XMLStreamConstants.DTD: write("<!DOCTYPE"); write(xmlSR.getText()); write(">"); break; case XMLStreamConstants.PROCESSING_INSTRUCTION: write("<?"); write(xmlSR.getPIData()); write("?>"); break; case XMLStreamConstants.COMMENT: write("<!--"); write(xmlSR.getText()); write("-->"); break; case XMLStreamConstants.END_ELEMENT: keepGoing = processEndElement(); if (!keepGoing) { keepGoing = true; return true; } break; case XMLStreamConstants.START_DOCUMENT: throw new XMLStreamException("unexpected start of document within record!\n" + "recordName = " + recordName + ", recordNamespace = " + recordNamespace + " at " + xmlSR.getLocation()); case XMLStreamConstants.END_DOCUMENT: if (currentId != null) { throw new XMLStreamException( "end of document before end of current record!\n" + "recordName = " + recordName + ", recordNamespace = " + recordNamespace + " at " + xmlSR.getLocation()); } else { if (compressed) { //this doc is done, refer to the zip for next doc hasNext = false; return false; } else { //get next file from FileIterator if (iterator != null && iterator.hasNext()) { close(); initStreamReader(iterator.next()); continue; } else { hasNext = false; return false; } } } default: throw new XMLStreamException("UNIMPLEMENTED: " + eventType); } } } catch (XMLStreamException e) { LOG.error("Parsing error", e); throw new IOException("Parsing error", e); } return false; }
From source file:jp.co.atware.solr.geta.GETAssocComponent.java
/** * GETAssoc?????<code>NamedList</code>??????? * /* ww w.j a va2 s . co m*/ * @param inputStream GETAssoc?? * @return <code>NamedList</code>? * @throws FactoryConfigurationError * @throws IOException */ protected NamedList<Object> convertResult(InputStream inputStream) throws FactoryConfigurationError, IOException { NamedList<Object> result = new NamedList<Object>(); LinkedList<NamedList<Object>> stack = new LinkedList<NamedList<Object>>(); stack.push(result); try { XMLStreamReader xml = XMLInputFactory.newInstance().createXMLStreamReader(inputStream); while (xml.hasNext()) { switch (xml.getEventType()) { case XMLStreamConstants.START_ELEMENT: NamedList<Object> element = new NamedList<Object>(); stack.peek().add(xml.getName().toString(), element); stack.push(element); for (int i = 0; i < xml.getAttributeCount(); i++) { String name = xml.getAttributeName(i).toString(); String value = xml.getAttributeValue(i); ValueOf valueOf = valueTransMap.get(name); if (valueOf != null) { try { element.add(name, valueOf.toValue(value)); } catch (NumberFormatException e) { element.add(name, value); } } else { element.add(name, value); } } break; case XMLStreamConstants.END_ELEMENT: stack.pop(); break; default: break; } xml.next(); } xml.close(); } catch (XMLStreamException e) { throw new IOException(e); } LOG.debug(result.toString()); return result; }
From source file:com.microsoft.alm.plugin.context.soap.CatalogServiceImpl.java
/** * Advances the {@link XMLStreamReader} until it has read the end of the * current element. Useful when an element is encountered while reading a * stream, and it should be skipped.// w w w .j a va 2s .c o m * * @param reader the stream reader to read from (not null). */ private static void readUntilElementEnd(final XMLStreamReader reader) throws XMLStreamException { int event = reader.getEventType(); /* * Start element depth at 1, increment when an element is started (not * including the element that we start with), decrement when an element * is ended, and when it goes to 0 we've read the end of the original * reader's element. */ int elementDepth = 1; boolean firstTime = true; while (true) { switch (event) { case XMLStreamConstants.START_ELEMENT: /* * Don't increment depth the first time through, because the * caller opened the element. */ if (firstTime) { firstTime = false; } else { elementDepth++; } break; case XMLStreamConstants.END_ELEMENT: elementDepth--; if (elementDepth < 1) { /* * We just read the end element for the original * element. */ return; } break; default: /* * Things like characters, comments, attributes, etc. Ignore * them all. */ } event = reader.next(); } }
From source file:edu.harvard.iq.dvn.ingest.statdataio.impl.plugins.ddi.DDIFileReader.java
private void processDimensns(XMLStreamReader xmlr, SDIOMetadata smd) throws XMLStreamException { for (int event = xmlr.next(); event != XMLStreamConstants.END_DOCUMENT; event = xmlr.next()) { if (event == XMLStreamConstants.START_ELEMENT) { if (xmlr.getLocalName().equals("caseQnty")) { try { setCaseQnty(new Integer(parseText(xmlr))); } catch (NumberFormatException ex) { throw new XMLStreamException( "Invalid case quantity value in codeBook/fileDscr/fileTxt/dimensns: " + parseText(xmlr)); }/*from w ww . j a v a 2 s . c o m*/ } else if (xmlr.getLocalName().equals("varQnty")) { try { setVarQnty(new Integer(parseText(xmlr))); } catch (NumberFormatException ex) { throw new XMLStreamException( "Invalid variable quantity value in codeBook/fileDscr/fileTxt/dimensns: " + parseText(xmlr)); } } else if (xmlr.getLocalName().equals("recPrCas")) { throw new XMLStreamException( "recPrCas (Records per Case) not supported for this type of data ingest, yet"); } else { throw new XMLStreamException( "Unsupported DDI Element: codeBook/fileDscr/fileTxt/dimensns/" + xmlr.getLocalName()); } } else if (event == XMLStreamConstants.END_ELEMENT) {// </codeBook> if (xmlr.getLocalName().equals("dimensns")) { return; } else { throw new XMLStreamException( "Mismatched DDI Formatting: </dimensns> expected, found " + xmlr.getLocalName()); } } } }
From source file:com.sun.socialsite.pojos.PropDefinition.java
protected void init(PropDefinition profileDef, InputStream input) throws SocialSiteException { try {// w ww .java2 s. c o m XMLInputFactory factory = XMLInputFactory.newInstance(); XMLStreamReader parser = factory.createXMLStreamReader(input); String ns = null; // TODO: namespace for ProfileDef // hold the current things we're working on Map<String, DisplaySectionDefinition> sdefs = new LinkedHashMap<String, DisplaySectionDefinition>(); Stack<PropertyDefinitionHolder> propertyHolderStack = new Stack<PropertyDefinitionHolder>(); List<AllowedValue> allowedValues = null; PropertyDefinition pdef = null; for (int event = parser.next(); event != XMLStreamConstants.END_DOCUMENT; event = parser.next()) { switch (event) { case XMLStreamConstants.START_ELEMENT: log.debug("START ELEMENT -- " + parser.getLocalName()); if ("display-section".equals(parser.getLocalName())) { propertyHolderStack.push(new DisplaySectionDefinition(parser.getAttributeValue(ns, "name"), parser.getAttributeValue(ns, "namekey"))); } else if ("property".equals(parser.getLocalName())) { PropertyDefinitionHolder holder = propertyHolderStack.peek(); pdef = new PropertyDefinition(holder.getBasePath(), parser.getAttributeValue(ns, "name"), parser.getAttributeValue(ns, "namekey"), parser.getAttributeValue(ns, "type")); } else if ("object".equals(parser.getLocalName())) { PropertyDefinitionHolder holder = propertyHolderStack.peek(); propertyHolderStack.push(new PropertyObjectDefinition(holder.getBasePath(), parser.getAttributeValue(ns, "name"), parser.getAttributeValue(ns, "namekey"))); } else if ("collection".equals(parser.getLocalName())) { PropertyDefinitionHolder holder = propertyHolderStack.peek(); propertyHolderStack.push(new PropertyObjectCollectionDefinition(holder.getBasePath(), parser.getAttributeValue(ns, "name"), parser.getAttributeValue(ns, "namekey"))); } else if ("allowed-values".equals(parser.getLocalName())) { allowedValues = new ArrayList<AllowedValue>(); } else if ("value".equals(parser.getLocalName())) { AllowedValue allowedValue = new AllowedValue(parser.getAttributeValue(ns, "name"), parser.getAttributeValue(ns, "namekey")); allowedValues.add(allowedValue); } else if ("default-value".equals(parser.getLocalName())) { pdef.setDefaultValue(parser.getText()); } break; case XMLStreamConstants.END_ELEMENT: log.debug("END ELEMENT -- " + parser.getLocalName()); if ("display-section".equals(parser.getLocalName())) { DisplaySectionDefinition sdef = (DisplaySectionDefinition) propertyHolderStack.pop(); sdefs.put(sdef.getName(), sdef); } else if ("property".equals(parser.getLocalName())) { PropertyDefinitionHolder holder = propertyHolderStack.peek(); holder.getPropertyDefinitions().add(pdef); propertyDefs.put(pdef.getName(), pdef); pdef = null; } else if ("object".equals(parser.getLocalName())) { PropertyObjectDefinition odef = (PropertyObjectDefinition) propertyHolderStack.pop(); PropertyDefinitionHolder holder = propertyHolderStack.peek(); holder.getPropertyObjectDefinitions().add(odef); // add to list of all property object defs propertyObjectDefs.put(odef.getName(), odef); odef = null; } else if ("collection".equals(parser.getLocalName())) { PropertyObjectCollectionDefinition cdef = (PropertyObjectCollectionDefinition) propertyHolderStack .pop(); PropertyDefinitionHolder holder = propertyHolderStack.peek(); holder.getPropertyObjectCollectionDefinitions().add(cdef); // add to list of all property object defs propertyObjectCollectionDefs.put(cdef.getName(), cdef); cdef = null; } else if ("allowed-values".equals(parser.getLocalName())) { pdef.setAllowedValues(allowedValues); allowedValues = null; } break; case XMLStreamConstants.CHARACTERS: break; case XMLStreamConstants.CDATA: break; } // end switch } // end while parser.close(); profileDef.sectionDefs = sdefs; } catch (Exception ex) { throw new SocialSiteException("ERROR parsing profile definitions", ex); } }
From source file:edu.harvard.iq.dvn.ingest.statdataio.impl.plugins.ddi.DDIFileReader.java
private void processDataDscr(XMLStreamReader xmlr, SDIOMetadata smd) throws XMLStreamException { int variableCounter = 0; for (int event = xmlr.next(); event != XMLStreamConstants.END_DOCUMENT; event = xmlr.next()) { if (event == XMLStreamConstants.START_ELEMENT) { if (xmlr.getLocalName().equals("var")) { processVar(xmlr, smd, variableCounter); variableCounter++;//from w ww. j a v a 2 s.c o m } else { throw new XMLStreamException( "Unsupported element in the DDI: codeBook/dataDscr/" + xmlr.getLocalName()); } } else if (event == XMLStreamConstants.END_ELEMENT) { if (xmlr.getLocalName().equals("dataDscr")) { dbgLog.info("processed dataDscr section"); return; } else { throw new XMLStreamException( "Mismatched DDI Formatting: </dataDscr> expected, found " + xmlr.getLocalName()); } } } }
From source file:com.liferay.portal.util.LocalizationImpl.java
private void _copyNonExempt(XMLStreamReader xmlStreamReader, XMLStreamWriter xmlStreamWriter, String exemptLanguageId, String defaultLanguageId, boolean cdata) throws XMLStreamException { while (xmlStreamReader.hasNext()) { int event = xmlStreamReader.next(); if (event == XMLStreamConstants.START_ELEMENT) { String languageId = xmlStreamReader.getAttributeValue(null, _LANGUAGE_ID); if (Validator.isNull(languageId)) { languageId = defaultLanguageId; }/*from w w w .j ava 2 s . co m*/ if (!languageId.equals(exemptLanguageId)) { xmlStreamWriter.writeStartElement(xmlStreamReader.getLocalName()); xmlStreamWriter.writeAttribute(_LANGUAGE_ID, languageId); while (xmlStreamReader.hasNext()) { event = xmlStreamReader.next(); if ((event == XMLStreamConstants.CHARACTERS) || (event == XMLStreamConstants.CDATA)) { String text = xmlStreamReader.getText(); if (cdata) { xmlStreamWriter.writeCData(text); } else { xmlStreamWriter.writeCharacters(xmlStreamReader.getText()); } break; } else if (event == XMLStreamConstants.END_ELEMENT) { break; } } xmlStreamWriter.writeEndElement(); } } else if (event == XMLStreamConstants.END_DOCUMENT) { break; } } }
From source file:davmail.exchange.ews.EWSMethod.java
protected String handleTag(XMLStreamReader reader, String localName) throws XMLStreamException { String result = null;/* w ww . j a va 2 s . c o m*/ int event = reader.getEventType(); if (event == XMLStreamConstants.START_ELEMENT && localName.equals(reader.getLocalName())) { while (reader.hasNext() && !((event == XMLStreamConstants.END_ELEMENT && localName.equals(reader.getLocalName())))) { event = reader.next(); if (event == XMLStreamConstants.CHARACTERS) { result = reader.getText(); } } } return result; }