List of usage examples for javax.xml.stream XMLStreamConstants END_DOCUMENT
int END_DOCUMENT
To view the source code for javax.xml.stream XMLStreamConstants END_DOCUMENT.
Click Source Link
From source file:org.mule.module.xml.util.XMLUtils.java
public static void copy(XMLStreamReader reader, XMLStreamWriter writer, boolean fragment) throws XMLStreamException { // number of elements read in int read = 0; int event = reader.getEventType(); while (reader.hasNext()) { switch (event) { case XMLStreamConstants.START_ELEMENT: read++;/* ww w.j ava 2 s . c o m*/ writeStartElement(reader, writer); break; case XMLStreamConstants.END_ELEMENT: writer.writeEndElement(); read--; if (read <= 0 && !fragment) { return; } break; case XMLStreamConstants.CHARACTERS: writer.writeCharacters(reader.getText()); break; case XMLStreamConstants.START_DOCUMENT: case XMLStreamConstants.END_DOCUMENT: case XMLStreamConstants.ATTRIBUTE: case XMLStreamConstants.NAMESPACE: break; default: break; } event = reader.next(); } }
From source file:org.openanzo.services.serialization.XMLBackupReader.java
/** * Parse the data within the reader, passing the results to the IRepositoryHandler * // w w w . j ava2 s . c o m * @param reader * reader containing the data * @param handler * Handler which will handle the elements within the data * @throws AnzoException */ private void parseBackup(Reader reader, final IBackupHandler handler) throws AnzoException { try { XMLStreamReader parser = XMLFactoryFinder.getXMLInputFactory().createXMLStreamReader(reader); for (int event = parser.next(); event != XMLStreamConstants.END_DOCUMENT; event = parser.next()) { switch (event) { case XMLStreamConstants.START_ELEMENT: if (SerializationConstants.namedGraph.equals(parser.getLocalName())) { graphUri = parser.getAttributeValue(null, SerializationConstants.namedGraphUri); String meta = parser.getAttributeValue(null, SerializationConstants.metadataGraphUri); String uuidString = parser.getAttributeValue(null, SerializationConstants.namedGraphUUID); namedGraphUri = Constants.valueFactory.createURI(graphUri); metaURI = Constants.valueFactory.createURI(meta); uuid = Constants.valueFactory.createURI(uuidString); revisioned = Boolean .parseBoolean(parser.getAttributeValue(null, SerializationConstants.revisioned)); } else if (SerializationConstants.revisions.equals(parser.getLocalName())) { revisions = new ArrayList<BackupRevision>(); } else if (SerializationConstants.revisionInfo.equals(parser.getLocalName())) { long revision = Long .parseLong(parser.getAttributeValue(null, SerializationConstants.revision)); Long start = Long.valueOf(parser.getAttributeValue(null, SerializationConstants.start)); String endString = parser.getAttributeValue(null, SerializationConstants.end); Long end = (endString != null) ? Long.valueOf(endString) : -1; lastModified = Constants.valueFactory .createURI(parser.getAttributeValue(null, SerializationConstants.lastModifiedBy)); revisions.add(new BackupRevision(revision, start, end, lastModified)); } else if (SerializationConstants.statement.equals(parser.getLocalName())) { if (processGraph) { if (revisioned) { String startString = parser.getAttributeValue(null, SerializationConstants.start); String endString = parser.getAttributeValue(null, SerializationConstants.end); if (startString != null) start = Long.valueOf(startString); if (endString != null) end = Long.valueOf(endString); } } } else if (SerializationConstants.statements.equals(parser.getLocalName())) { if (processGraph) { metadata = !parser.getAttributeValue(null, SerializationConstants.namedGraphUri) .equals(graphUri); } } else if (SerializationConstants.subject.equals(parser.getLocalName())) { if (processGraph) { nodeType = parser.getAttributeValue(null, SerializationConstants.subjectType); } } else if (SerializationConstants.predicate.equals(parser.getLocalName())) { } else if (SerializationConstants.object.equals(parser.getLocalName())) { if (processGraph) { nodeType = parser.getAttributeValue(null, SerializationConstants.objectType); language = parser.getAttributeValue(null, SerializationConstants.language); datatype = parser.getAttributeValue(null, SerializationConstants.dataType); } } else if (SerializationConstants.namedGraphUri.equals(parser.getLocalName())) { } break; case XMLStreamConstants.END_ELEMENT: if (SerializationConstants.namedGraph.equals(parser.getLocalName())) { graphUri = null; namedGraphUri = null; metaURI = null; uuid = null; revisioned = true; revisions = null; } else if (SerializationConstants.revisionInfo.equals(parser.getLocalName())) { } else if (SerializationConstants.revisions.equals(parser.getLocalName())) { processGraph = handler.handleNamedGraph(revisioned, namedGraphUri, metaURI, uuid, revisions); revisions = null; } else if (SerializationConstants.statement.equals(parser.getLocalName())) { if (processGraph) { handler.handleStatement(metadata, revisioned, Constants.valueFactory.createStatement(currentSubject, currentPredicate, currentObject, currentNamedGraphURI), start, end); start = null; end = null; } } else if (SerializationConstants.subject.equals(parser.getLocalName())) { if (processGraph) { if (NodeType.BNODE.name().equals(nodeType)) { currentSubject = Constants.valueFactory.createBNode(currentValue); } else { currentSubject = Constants.valueFactory.createURI(currentValue); } currentValue = null; nodeType = null; } } else if (SerializationConstants.predicate.equals(parser.getLocalName())) { if (processGraph) { currentPredicate = Constants.valueFactory.createURI(currentValue); currentValue = null; } } else if (SerializationConstants.object.equals(parser.getLocalName())) { if (processGraph) { if (NodeType.BNODE.name().equals(nodeType)) { currentObject = Constants.valueFactory.createBNode(currentValue); } else if (NodeType.URI.name().equals(nodeType)) { currentObject = Constants.valueFactory.createURI(currentValue); } else if (NodeType.LITERAL.name().equals(nodeType)) { if (currentValue == null) { currentValue = ""; } else if (Base64 .isArrayByteBase64(currentValue.getBytes(Constants.byteEncoding))) { currentValue = new String( Base64.decodeBase64(currentValue.getBytes(Constants.byteEncoding)), Constants.byteEncoding); } if (datatype != null) { currentObject = Constants.valueFactory.createLiteral(currentValue, Constants.valueFactory.createURI(datatype)); } else if (language != null) { currentObject = Constants.valueFactory.createLiteral(currentValue, language); } else { currentObject = Constants.valueFactory.createLiteral(currentValue); } } currentValue = null; nodeType = null; language = null; datatype = null; } } else if (SerializationConstants.namedGraphUri.equals(parser.getLocalName())) { if (processGraph) { currentNamedGraphURI = Constants.valueFactory.createURI(currentValue); currentValue = null; } } break; case XMLStreamConstants.CHARACTERS: if (parser.hasText()) currentValue = parser.getText(); break; case XMLStreamConstants.CDATA: if (parser.hasText()) currentValue = parser.getText(); break; } } parser.close(); } catch (XMLStreamException ex) { throw new AnzoException(ExceptionConstants.IO.READ_ERROR, ex, ex.getMessage()); } catch (UnsupportedEncodingException uee) { throw new AnzoException(ExceptionConstants.IO.ENCODING_ERROR, uee); } }
From source file:org.openanzo.services.serialization.XMLNamedGraphUpdatesReader.java
/** * Parse the data within the reader, passing the results to the IRepositoryHandler * /* w ww .java2s .co m*/ * @param reader * reader containing the data * @param handler * Handler which will handle the elements within the data * @throws AnzoException */ public void parseUpdates(Reader reader, final INamedGraphUpdateHandler handler) throws AnzoException { try { XMLStreamReader parser = XMLFactoryFinder.getXMLInputFactory().createXMLStreamReader(reader); for (int event = parser.next(); event != XMLStreamConstants.END_DOCUMENT; event = parser.next()) { switch (event) { case XMLStreamConstants.START_ELEMENT: if (SerializationConstants.namedGraph.equals(parser.getLocalName())) { String uri = parser.getAttributeValue(null, SerializationConstants.namedGraphUri); String uuid = parser.getAttributeValue(null, SerializationConstants.namedGraphUUID); currentNamedGraphUpdate = new NamedGraphUpdate(MemURI.create(uri)); if (uuid != null) { currentNamedGraphUpdate.setUUID(MemURI.create(uuid)); } String revision = parser.getAttributeValue(null, SerializationConstants.revision); if (revision != null) { currentNamedGraphUpdate.setRevision(Long.parseLong(revision)); } } else if (SerializationConstants.additions.equals(parser.getLocalName())) { currentStatements = currentNamedGraphUpdate.getAdditions(); } else if (SerializationConstants.metaAdditions.equals(parser.getLocalName())) { currentStatements = currentNamedGraphUpdate.getMetaAdditions(); } else if (SerializationConstants.removals.equals(parser.getLocalName())) { currentStatements = currentNamedGraphUpdate.getRemovals(); } else if (SerializationConstants.metaRemovals.equals(parser.getLocalName())) { currentStatements = currentNamedGraphUpdate.getMetaRemovals(); } else if (SerializationConstants.statement.equals(parser.getLocalName())) { } else if (SerializationConstants.subject.equals(parser.getLocalName())) { nodeType = parser.getAttributeValue(null, SerializationConstants.subjectType); } else if (SerializationConstants.predicate.equals(parser.getLocalName())) { } else if (SerializationConstants.object.equals(parser.getLocalName())) { nodeType = parser.getAttributeValue(null, SerializationConstants.objectType); language = parser.getAttributeValue(null, SerializationConstants.language); datatype = parser.getAttributeValue(null, SerializationConstants.dataType); } else if (SerializationConstants.namedGraphUri.equals(parser.getLocalName())) { } break; case XMLStreamConstants.END_ELEMENT: if (SerializationConstants.namedGraph.equals(parser.getLocalName())) { handler.handleNamedGraphUpdate(currentNamedGraphUpdate); currentNamedGraphUpdate = null; } else if (SerializationConstants.additions.equals(parser.getLocalName())) { currentStatements = null; } else if (SerializationConstants.metaAdditions.equals(parser.getLocalName())) { currentStatements = null; } else if (SerializationConstants.removals.equals(parser.getLocalName())) { currentStatements = null; } else if (SerializationConstants.metaRemovals.equals(parser.getLocalName())) { currentStatements = null; } else if (SerializationConstants.statement.equals(parser.getLocalName())) { currentStatements.add(Constants.valueFactory.createStatement(currentSubject, currentPredicate, currentObject, currentNamedGraphURI)); } else if (SerializationConstants.subject.equals(parser.getLocalName())) { if (NodeType.BNODE.name().equals(nodeType)) { currentSubject = Constants.valueFactory.createBNode(currentValue); } else { currentSubject = Constants.valueFactory.createURI(currentValue); } currentValue = null; nodeType = null; } else if (SerializationConstants.predicate.equals(parser.getLocalName())) { currentPredicate = Constants.valueFactory.createURI(currentValue); currentValue = null; } else if (SerializationConstants.object.equals(parser.getLocalName())) { if (NodeType.BNODE.name().equals(nodeType)) { currentObject = Constants.valueFactory.createBNode(currentValue); } else if (NodeType.URI.name().equals(nodeType)) { currentObject = Constants.valueFactory.createURI(currentValue); } else if (NodeType.LITERAL.name().equals(nodeType)) { if (Base64.isArrayByteBase64(currentValue.getBytes(Constants.byteEncoding))) { currentValue = new String( Base64.decodeBase64(currentValue.getBytes(Constants.byteEncoding)), Constants.byteEncoding); } if (datatype != null) { currentObject = Constants.valueFactory.createLiteral(currentValue, Constants.valueFactory.createURI(datatype)); } else if (language != null) { currentObject = Constants.valueFactory.createLiteral(currentValue, language); } else { currentObject = Constants.valueFactory.createLiteral(currentValue); } } currentValue = null; nodeType = null; language = null; datatype = null; } else if (SerializationConstants.namedGraphUri.equals(parser.getLocalName())) { currentNamedGraphURI = Constants.valueFactory.createURI(currentValue); currentValue = null; } break; case XMLStreamConstants.CHARACTERS: currentValue = parser.getText(); break; case XMLStreamConstants.CDATA: currentValue = parser.getText(); break; } } parser.close(); } catch (XMLStreamException ex) { throw new AnzoException(ExceptionConstants.IO.READ_ERROR, ex, ex.getMessage()); } catch (UnsupportedEncodingException uee) { throw new AnzoException(ExceptionConstants.IO.ENCODING_ERROR, uee); } }
From source file:org.openanzo.services.serialization.XMLUpdatesReader.java
/** * Parse the data within the reader, passing the results to the IRepositoryHandler * // www. ja v a2s . co m * @param reader * reader containing the data * @param handler * Handler which will handle the elements within the data * @throws AnzoException */ private void parseUpdateTransactions(Reader reader, final IUpdatesHandler handler) throws AnzoException { try { XMLStreamReader parser = XMLFactoryFinder.getXMLInputFactory().createXMLStreamReader(reader); for (int event = parser.next(); event != XMLStreamConstants.END_DOCUMENT; event = parser.next()) { switch (event) { case XMLStreamConstants.START_ELEMENT: if (SerializationConstants.transaction.equals(parser.getLocalName())) { currentTransaction = parseTransaction(parser); } else if (SerializationConstants.transactionContext.equals(parser.getLocalName())) { currentStatements = currentTransaction.getTransactionContext(); } else if (SerializationConstants.preconditions.equals(parser.getLocalName())) { currentStatements = new ArrayList<Statement>(); } else if (SerializationConstants.namedGraphUpdates.equals(parser.getLocalName())) { currentValue = null; } else if (SerializationConstants.namedGraph.equals(parser.getLocalName())) { String uri = parser.getAttributeValue(null, SerializationConstants.namedGraphUri); String uuid = parser.getAttributeValue(null, SerializationConstants.namedGraphUUID); currentNamedGraphUpdate = new NamedGraphUpdate(MemURI.create(uri)); if (uuid != null) { currentNamedGraphUpdate.setUUID(MemURI.create(uuid)); } String revision = parser.getAttributeValue(null, SerializationConstants.revision); if (revision != null) { currentNamedGraphUpdate.setRevision(Long.parseLong(revision)); } } else if (SerializationConstants.additions.equals(parser.getLocalName())) { currentStatements = currentNamedGraphUpdate.getAdditions(); } else if (SerializationConstants.metaAdditions.equals(parser.getLocalName())) { currentStatements = currentNamedGraphUpdate.getMetaAdditions(); } else if (SerializationConstants.removals.equals(parser.getLocalName())) { currentStatements = currentNamedGraphUpdate.getRemovals(); } else if (SerializationConstants.metaRemovals.equals(parser.getLocalName())) { currentStatements = currentNamedGraphUpdate.getMetaRemovals(); } else if (SerializationConstants.statement.equals(parser.getLocalName())) { } else if (SerializationConstants.subject.equals(parser.getLocalName())) { nodeType = parser.getAttributeValue(null, SerializationConstants.subjectType); } else if (SerializationConstants.predicate.equals(parser.getLocalName())) { } else if (SerializationConstants.object.equals(parser.getLocalName())) { nodeType = parser.getAttributeValue(null, SerializationConstants.objectType); language = parser.getAttributeValue(null, SerializationConstants.language); datatype = parser.getAttributeValue(null, SerializationConstants.dataType); } else if (SerializationConstants.namedGraphUri.equals(parser.getLocalName())) { } else if (SerializationConstants.errorResult.equals(parser.getLocalName())) { String errorCodeStr = parser.getAttributeValue(null, SerializationConstants.errorCode); errorCode = Long.parseLong(errorCodeStr); errorArgs = new ArrayList<String>(); } else if (SerializationConstants.errorMessageArg.equals(parser.getLocalName())) { } break; case XMLStreamConstants.END_ELEMENT: if (SerializationConstants.transaction.equals(parser.getLocalName())) { handler.handleTransaction(currentTransaction); currentTransaction = null; } else if (SerializationConstants.transactionContext.equals(parser.getLocalName())) { currentStatements = null; } else if (SerializationConstants.preconditions.equals(parser.getLocalName())) { currentTransaction.getPreconditions() .addAll(CommonSerializationUtils.parsePreconditionStatements(currentStatements)); } else if (SerializationConstants.namedGraphUpdates.equals(parser.getLocalName())) { if (currentValue != null) currentTransaction.getUpdatedNamedGraphRevisions() .putAll(CommonSerializationUtils.readNamedGraphRevisions(currentValue)); } else if (SerializationConstants.namedGraph.equals(parser.getLocalName())) { currentTransaction.addNamedGraphUpdate(currentNamedGraphUpdate); } else if (SerializationConstants.additions.equals(parser.getLocalName())) { currentStatements = null; } else if (SerializationConstants.metaAdditions.equals(parser.getLocalName())) { currentStatements = null; } else if (SerializationConstants.removals.equals(parser.getLocalName())) { currentStatements = null; } else if (SerializationConstants.metaRemovals.equals(parser.getLocalName())) { currentStatements = null; } else if (SerializationConstants.statement.equals(parser.getLocalName())) { currentStatements.add(Constants.valueFactory.createStatement(currentSubject, currentPredicate, currentObject, currentNamedGraphURI)); } else if (SerializationConstants.subject.equals(parser.getLocalName())) { if (NodeType.BNODE.name().equals(nodeType)) { currentSubject = Constants.valueFactory.createBNode(currentValue); } else { currentSubject = Constants.valueFactory.createURI(currentValue); } currentValue = null; nodeType = null; } else if (SerializationConstants.predicate.equals(parser.getLocalName())) { currentPredicate = Constants.valueFactory.createURI(currentValue); currentValue = null; } else if (SerializationConstants.object.equals(parser.getLocalName())) { if (NodeType.BNODE.name().equals(nodeType)) { currentObject = Constants.valueFactory.createBNode(currentValue); } else if (NodeType.URI.name().equals(nodeType)) { currentObject = Constants.valueFactory.createURI(currentValue); } else if (NodeType.LITERAL.name().equals(nodeType)) { if (currentValue == null) { currentValue = ""; } else if (Base64.isArrayByteBase64(currentValue.getBytes(Constants.byteEncoding))) { currentValue = new String( Base64.decodeBase64(currentValue.getBytes(Constants.byteEncoding)), Constants.byteEncoding); } if (datatype != null) { currentObject = Constants.valueFactory.createLiteral(currentValue, Constants.valueFactory.createURI(datatype)); } else if (language != null) { currentObject = Constants.valueFactory.createLiteral(currentValue, language); } else { currentObject = Constants.valueFactory.createLiteral(currentValue); } } currentValue = null; nodeType = null; language = null; datatype = null; } else if (SerializationConstants.namedGraphUri.equals(parser.getLocalName())) { currentNamedGraphURI = Constants.valueFactory.createURI(currentValue); currentValue = null; } else if (SerializationConstants.errorResult.equals(parser.getLocalName())) { currentTransaction.getErrors() .add(new AnzoException(errorCode, errorArgs.toArray(new String[0]))); errorCode = 0; errorArgs = null; } else if (SerializationConstants.errorMessageArg.equals(parser.getLocalName())) { errorArgs.add(currentValue); currentValue = null; } break; case XMLStreamConstants.CHARACTERS: if (parser.hasText()) currentValue = parser.getText(); break; case XMLStreamConstants.CDATA: if (parser.hasText()) currentValue = parser.getText(); break; } } parser.close(); } catch (XMLStreamException ex) { throw new AnzoException(ExceptionConstants.IO.READ_ERROR, ex, ex.getMessage()); } catch (UnsupportedEncodingException uee) { throw new AnzoException(ExceptionConstants.IO.ENCODING_ERROR, uee); } }
From source file:org.openvpms.tools.data.loader.DataLoader.java
/** * Loads data from a stream./* ww w . j av a 2 s . co m*/ * * @param reader the stream reader * @param path a path representing the stream source, for logging purposes * @throws XMLStreamException for any stream error */ public void load(XMLStreamReader reader, String path) throws XMLStreamException { Stack<LoadState> stack = new Stack<LoadState>(); for (int event = reader.next(); event != XMLStreamConstants.END_DOCUMENT; event = reader.next()) { LoadState current; switch (event) { case XMLStreamConstants.START_DOCUMENT: break; case XMLStreamConstants.START_ELEMENT: String elementName = reader.getLocalName(); if ("data".equals(elementName)) { startData(reader, stack, path); } else if (!"archetype".equals(elementName)) { throw new ArchetypeDataLoaderException(ErrorInStartElement); } break; case XMLStreamConstants.END_ELEMENT: if (!stack.isEmpty()) { current = stack.pop(); load(current); } if (verbose) { log.info("[END PROCESSING element=" + reader.getLocalName() + "]"); } break; default: break; } } }
From source file:org.orbisgis.core.layerModel.mapcatalog.RemoteMapCatalog.java
/** * Read the parser and feed the provided list with workspaces * @param workspaces Writable, empty list of workspaces * @param parser Opened parser/*from w ww . j a va 2s . c o m*/ * @throws XMLStreamException */ public void parseXML(List<Workspace> workspaces, XMLStreamReader parser) throws XMLStreamException { List<String> hierarchy = new ArrayList<String>(); // Hold workspace name StringBuilder characters = new StringBuilder(); // Starting with a valid event, iterating while the parser // does not reach the end document XML tag for (int event = parser.next(); event != XMLStreamConstants.END_DOCUMENT; event = parser.next()) { // For each XML elements switch (event) { case XMLStreamConstants.START_ELEMENT: hierarchy.add(parser.getLocalName()); break; case XMLStreamConstants.END_ELEMENT: if (RemoteCommons.endsWith(hierarchy, "workspaces", "workspace", "name")) { workspaces.add(new Workspace(cParams, characters.toString().trim())); } hierarchy.remove(hierarchy.size() - 1); characters = new StringBuilder(); // Clear the string buffer break; case XMLStreamConstants.CHARACTERS: characters.append(StringEscapeUtils.unescapeHtml(parser.getText())); break; } } }
From source file:org.orbisgis.core.layerModel.mapcatalog.Workspace.java
private int parsePublishResponse(XMLStreamReader parser) throws XMLStreamException { List<String> hierarchy = new ArrayList<String>(); for (int event = parser.next(); event != XMLStreamConstants.END_DOCUMENT; event = parser.next()) { // For each XML elements switch (event) { case XMLStreamConstants.START_ELEMENT: hierarchy.add(parser.getLocalName()); // Parse attributes if (RemoteCommons.endsWith(hierarchy, "context")) { for (int attributeId = 0; attributeId < parser.getAttributeCount(); attributeId++) { String attributeName = parser.getAttributeLocalName(attributeId); if (attributeName.equals("id")) { return Integer.parseInt(parser.getAttributeValue(attributeId)); }//from w ww. j a va2s.c om } } break; case XMLStreamConstants.END_ELEMENT: hierarchy.remove(hierarchy.size() - 1); break; } } throw new XMLStreamException("Bad response on publishing a map context"); }
From source file:org.orbisgis.core.layerModel.mapcatalog.Workspace.java
/** * Read the parser and feed the provided list with workspaces * @param mapContextList Writable, empty list of RemoteMapContext * @param parser Opened parser/*from w w w .java2s .c o m*/ * @throws XMLStreamException */ public void parseXML(List<RemoteMapContext> mapContextList, XMLStreamReader parser) throws XMLStreamException, UnsupportedEncodingException { List<String> hierarchy = new ArrayList<String>(); RemoteMapContext curMapContext = null; Locale curLocale = null; StringBuilder characters = new StringBuilder(); for (int event = parser.next(); event != XMLStreamConstants.END_DOCUMENT; event = parser.next()) { // For each XML elements switch (event) { case XMLStreamConstants.START_ELEMENT: hierarchy.add(parser.getLocalName()); if (RemoteCommons.endsWith(hierarchy, "contexts", "context")) { curMapContext = new RemoteOwsMapContext(cParams); curMapContext.setWorkspaceName(workspaceName); } // Parse attributes for (int attributeId = 0; attributeId < parser.getAttributeCount(); attributeId++) { String attributeName = parser.getAttributeLocalName(attributeId); if (attributeName.equals("id")) { curMapContext.setId(Integer.parseInt(parser.getAttributeValue(attributeId))); } else if (attributeName.equals("date")) { String attributeValue = parser.getAttributeValue(attributeId); try { curMapContext.setDate(parseDate(attributeValue)); } catch (ParseException ex) { LOGGER.warn(I18N.tr("Cannot parse the provided date {0}", attributeValue), ex); } } else if (attributeName.equals("lang")) { curLocale = LocalizedText.forLanguageTag(parser.getAttributeValue(attributeId)); } } break; case XMLStreamConstants.END_ELEMENT: if (RemoteCommons.endsWith(hierarchy, "contexts", "context")) { mapContextList.add(curMapContext); curMapContext = null; } else if (RemoteCommons.endsWith(hierarchy, "contexts", "context", "title")) { Locale descLocale = Locale.getDefault(); if (curLocale != null) { descLocale = curLocale; } curMapContext.getDescription().addTitle(descLocale, StringEscapeUtils.unescapeHtml(characters.toString().trim())); } else if (RemoteCommons.endsWith(hierarchy, "contexts", "context", "abstract")) { Locale descLocale = Locale.getDefault(); if (curLocale != null) { descLocale = curLocale; } curMapContext.getDescription().addAbstract(descLocale, StringEscapeUtils.unescapeHtml(characters.toString().trim())); } characters = new StringBuilder(); curLocale = null; hierarchy.remove(hierarchy.size() - 1); break; case XMLStreamConstants.CHARACTERS: characters.append(StringEscapeUtils.unescapeHtml(parser.getText())); break; } } }
From source file:org.orbisgis.coremap.layerModel.mapcatalog.RemoteMapCatalog.java
/** * Read the parser and feed the provided list with workspaces * @param workspaces Writable, empty list of workspaces * @param parser Opened parser// w w w. jav a2 s . com * @throws XMLStreamException */ public void parseXML(List<Workspace> workspaces, XMLStreamReader parser) throws XMLStreamException { List<String> hierarchy = new ArrayList<String>(); // Hold workspace name StringBuilder characters = new StringBuilder(); // Starting with a valid event, iterating while the parser // does not reach the end document XML tag for (int event = parser.next(); event != XMLStreamConstants.END_DOCUMENT; event = parser.next()) { // For each XML elements switch (event) { case XMLStreamConstants.START_ELEMENT: hierarchy.add(parser.getLocalName()); break; case XMLStreamConstants.END_ELEMENT: if (RemoteCommons.endsWith(hierarchy, "workspaces", "workspace", "name")) { workspaces.add(new Workspace(cParams, characters.toString().trim())); } hierarchy.remove(hierarchy.size() - 1); characters = new StringBuilder(); // Clear the string buffer break; case XMLStreamConstants.CHARACTERS: characters.append(StringEscapeUtils.unescapeHtml4(parser.getText())); break; } } }
From source file:org.orbisgis.coremap.layerModel.mapcatalog.Workspace.java
/** * Read the parser and feed the provided list with workspaces * @param mapContextList Writable, empty list of RemoteMapContext * @param parser Opened parser/* ww w .ja v a2s . co m*/ * @throws XMLStreamException */ public void parseXML(List<RemoteMapContext> mapContextList, XMLStreamReader parser) throws XMLStreamException, UnsupportedEncodingException { List<String> hierarchy = new ArrayList<String>(); RemoteMapContext curMapContext = null; Locale curLocale = null; StringBuilder characters = new StringBuilder(); for (int event = parser.next(); event != XMLStreamConstants.END_DOCUMENT; event = parser.next()) { // For each XML elements switch (event) { case XMLStreamConstants.START_ELEMENT: hierarchy.add(parser.getLocalName()); if (RemoteCommons.endsWith(hierarchy, "contexts", "context")) { curMapContext = new RemoteOwsMapContext(cParams); curMapContext.setWorkspaceName(workspaceName); } // Parse attributes for (int attributeId = 0; attributeId < parser.getAttributeCount(); attributeId++) { String attributeName = parser.getAttributeLocalName(attributeId); if (attributeName.equals("id")) { curMapContext.setId(Integer.parseInt(parser.getAttributeValue(attributeId))); } else if (attributeName.equals("date")) { String attributeValue = parser.getAttributeValue(attributeId); try { curMapContext.setDate(parseDate(attributeValue)); } catch (ParseException ex) { LOGGER.warn(I18N.tr("Cannot parse the provided date {0}", attributeValue), ex); } } else if (attributeName.equals("lang")) { curLocale = LocalizedText.forLanguageTag(parser.getAttributeValue(attributeId)); } } break; case XMLStreamConstants.END_ELEMENT: if (RemoteCommons.endsWith(hierarchy, "contexts", "context")) { mapContextList.add(curMapContext); curMapContext = null; } else if (RemoteCommons.endsWith(hierarchy, "contexts", "context", "title")) { Locale descLocale = Locale.getDefault(); if (curLocale != null) { descLocale = curLocale; } curMapContext.getDescription().addTitle(descLocale, StringEscapeUtils.unescapeHtml4(characters.toString().trim())); } else if (RemoteCommons.endsWith(hierarchy, "contexts", "context", "abstract")) { Locale descLocale = Locale.getDefault(); if (curLocale != null) { descLocale = curLocale; } curMapContext.getDescription().addAbstract(descLocale, StringEscapeUtils.unescapeHtml4(characters.toString().trim())); } characters = new StringBuilder(); curLocale = null; hierarchy.remove(hierarchy.size() - 1); break; case XMLStreamConstants.CHARACTERS: characters.append(StringEscapeUtils.unescapeHtml4(parser.getText())); break; } } }