List of usage examples for javax.xml.transform.stax StAXSource StAXSource
public StAXSource(final XMLStreamReader xmlStreamReader)
Creates a new instance of a StAXSource
by supplying an XMLStreamReader .
XMLStreamReader
must be a non-null
reference.
XMLStreamReader
must be in XMLStreamConstants#START_DOCUMENT or XMLStreamConstants#START_ELEMENT state.
From source file:org.sakaiproject.tags.impl.job.TagsSyncJob.java
public synchronized void syncAllTags() { long start = System.currentTimeMillis(); if (log.isInfoEnabled()) { log.info("Starting Tag Collection synchronization"); }//from w w w . j a v a 2 s . c om try { XMLInputFactory factory = XMLInputFactory.newInstance(); XMLStreamReader xsr = factory.createXMLStreamReader(getTagCollectionssXmlInputStream()); xsr.next(); TransformerFactory tf = TransformerFactory.newInstance(); Transformer t = tf.newTransformer(); while (xsr.nextTag() == XMLStreamConstants.START_ELEMENT) { DOMResult result = new DOMResult(); t.transform(new StAXSource(xsr), result); Node nNode = result.getNode(); Element element = ((Document) nNode).getDocumentElement(); String name = getString("Name", element); log.debug("Found name: " + name); String description = getString("Description", element); log.debug("Found description : " + description); String externalSourceName = getString("ExternalSourceName", element); log.debug("externalSourceName: " + externalSourceName); String externalSourceDescription = getString("ExternalSourceDescription", element); log.debug("externalSourceDescription: " + externalSourceDescription); long lastUpdateDateInExternalSystem = xmlDateToMs( element.getElementsByTagName("DateRevised").item(0), name); log.debug("lastUpdateDateInExternalSystem: " + lastUpdateDateInExternalSystem); updateOrCreateTagCollection(name, description, externalSourceName, externalSourceDescription, lastUpdateDateInExternalSystem); } sendStatusMail(1, ""); } catch (Exception e) { log.warn("Error Synchronizing the Tags from an xml file:", e); sendStatusMail(2, e.getMessage()); } try { XMLInputFactory factory = XMLInputFactory.newInstance(); XMLStreamReader xsr = factory.createXMLStreamReader(getTagsXmlInputStream()); xsr.next(); TransformerFactory tf = TransformerFactory.newInstance(); Transformer t = tf.newTransformer(); while (xsr.nextTag() == XMLStreamConstants.START_ELEMENT) { DOMResult result = new DOMResult(); t.transform(new StAXSource(xsr), result); Node nNode = result.getNode(); Element element = ((Document) nNode).getDocumentElement(); String action = element.getAttribute("Action"); String tagLabel = getString("TagLabel", element); log.debug("Found tagLabel: " + tagLabel); String externalId = getString("ExternalId", element); log.debug("Found externalId: " + externalId); String description = getString("Description", element); log.debug("Found description : " + description); long externalCreationDate = xmlDateToMs(element.getElementsByTagName("DateCreated").item(0), tagLabel); log.debug("externalCreationDate: " + externalCreationDate); long lastUpdateDateInExternalSystem = xmlDateToMs( element.getElementsByTagName("DateRevised").item(0), tagLabel); log.debug("lastUpdateDateInExternalSystem: " + lastUpdateDateInExternalSystem); String externalHierarchyCode = getString("HierarchyCode", element); log.debug("externalHierarchyCode: " + externalHierarchyCode); String externalType = getString("Type", element); log.debug("externalType: " + externalType); String alternativeLabels = getString("AlternativeLabels", element); log.debug("alternativeLabels: " + alternativeLabels); String externalSourceName = getString("ExternalSourceName", element); log.debug("externalSourceName: " + externalSourceName); String data = getString("Data", element); log.debug("data: " + data); String parentId = getString("ParentId", element); log.debug("parentId: " + parentId); if (Objects.equals(action, "delete")) { deleteTagFromExternalCollection(externalId, externalSourceName); } else { updateOrCreateTagWithExternalSourceName(externalId, externalSourceName, tagLabel, description, alternativeLabels, externalCreationDate, lastUpdateDateInExternalSystem, parentId, externalHierarchyCode, externalType, data); } updateTagCollectionSynchronization(externalSourceName, 0L); } sendStatusMail(1, ""); } catch (Exception e) { log.warn("Error Synchronizing the Tags from an xml file:", e); sendStatusMail(2, e.getMessage()); } if (log.isInfoEnabled()) { log.info("Finished Tags synchronization in " + (System.currentTimeMillis() - start) + " ms"); } }
From source file:org.slc.sli.ingestion.parser.impl.EdfiRecordParserImpl.java
private static void parseAndValidate(EdfiRecordParserImpl parser, Schema schema) throws XmlParseException { Validator validator = schema.newValidator(); validator.setErrorHandler(parser);//w w w . j a v a 2s . co m try { validator.validate(new StAXSource(parser)); } catch (SAXException e) { throw new XmlParseException("Exception while processing the xml file", e); } catch (IOException e) { throw new XmlParseException("Exception while accessing the xml file", e); } catch (XMLStreamException e) { throw new XmlParseException("Exception while processing the xml file", e); } }