List of usage examples for org.xml.sax.helpers XMLReaderFactory createXMLReader
public static XMLReader createXMLReader() throws SAXException
From source file:org.sakaiproject.search.component.service.impl.SearchListResponseImpl.java
public SearchListResponseImpl(String response, Query query, int start, int end, Analyzer analyzer, SearchItemFilter filter, SearchIndexBuilder searchIndexBuilder, SearchService searchService) throws SAXException, IOException { this.query = query; this.start = start; this.end = end; this.analyzer = analyzer; this.filter = filter; this.searchIndexBuilder = searchIndexBuilder; this.searchService = searchService; if (log.isDebugEnabled()) { log.debug("search response: [" + response + "]"); }//w w w . j a v a 2s . co m XMLReader xr = XMLReaderFactory.createXMLReader(); xr.setContentHandler(this); InputSource is = new InputSource(new StringReader(response)); xr.parse(is); if (errorMessage != null) { log.error("Failed to perform remote request, remote exception was: \n" + errorMessage); throw new IOException("Failed to perform remote request "); } }
From source file:org.slc.sli.ingestion.parser.impl.EdfiRecordParserImpl2.java
private void parseAndValidate(InputStream input, Schema schema) throws XmlParseException, IOException { ValidatorHandler vHandler = schema.newValidatorHandler(); vHandler.setContentHandler(this); vHandler.setErrorHandler(this); InputSource is = new InputSource(new InputStreamReader(input, "UTF-8")); is.setEncoding("UTF-8"); try {//w w w. ja v a2 s . c o m XMLReader parser = XMLReaderFactory.createXMLReader(); parser.setContentHandler(vHandler); parser.setErrorHandler(this); vHandler.setFeature("http://apache.org/xml/features/continue-after-fatal-error", false); parser.setFeature("http://apache.org/xml/features/validation/id-idref-checking", false); parser.setFeature("http://apache.org/xml/features/continue-after-fatal-error", false); parser.setFeature("http://xml.org/sax/features/external-general-entities", false); parser.setFeature("http://xml.org/sax/features/external-parameter-entities", false); parser.parse(is); } catch (SAXException e) { throw new XmlParseException(e.getMessage(), e); } }
From source file:org.springframework.ws.server.endpoint.interceptor.PayloadTransformingInterceptor.java
public void afterPropertiesSet() throws Exception { if (requestXslt == null && responseXslt == null) { throw new IllegalArgumentException("Setting either 'requestXslt' or 'responseXslt' is required"); }/* www .j av a 2 s . co m*/ TransformerFactory transformerFactory = getTransformerFactory(); XMLReader xmlReader = XMLReaderFactory.createXMLReader(); xmlReader.setFeature("http://xml.org/sax/features/namespace-prefixes", true); if (requestXslt != null) { Assert.isTrue(requestXslt.exists(), "requestXslt \"" + requestXslt + "\" does not exit"); if (logger.isInfoEnabled()) { logger.info("Transforming request using " + requestXslt); } Source requestSource = new ResourceSource(xmlReader, requestXslt); requestTemplates = transformerFactory.newTemplates(requestSource); } if (responseXslt != null) { Assert.isTrue(responseXslt.exists(), "responseXslt \"" + responseXslt + "\" does not exit"); if (logger.isInfoEnabled()) { logger.info("Transforming response using " + responseXslt); } Source responseSource = new ResourceSource(xmlReader, responseXslt); responseTemplates = transformerFactory.newTemplates(responseSource); } }
From source file:org.theospi.portfolio.shared.control.ContentResourceUriResolver.java
public Source resolve(String href, String base) throws TransformerException { try {/*w ww. ja va 2 s. co m*/ String accessUrl = getServerConfigurationService().getAccessUrl(); String url = href.replaceAll(accessUrl, ""); // We depend on these resolving as content entities (e.g., /content/group/<site> or /content/user/<user>), // so provide some assistance and consistency with metaobj resolution. // Check if this already resolves as a content entity and, if not, try again by prepending /content/. Reference ref = getEntityManager().newReference(url); Object entity = ref.getEntity(); if (entity == null || !(entity instanceof ContentResource)) { if (!url.startsWith("/content/")) { url = "/content" + (url.startsWith("/") ? "" : "/") + url; ref = getEntityManager().newReference(url); entity = ref.getEntity(); } if (entity == null || !(entity instanceof ContentResource)) { String msg = "Could not resolve URI as a content resource: " + href; logger.info(msg); throw new TransformerException(msg); } } ContentResource res = (ContentResource) entity; StreamSource strs = new StreamSource(res.streamContent()); SAXSource ss = new SAXSource(new InputSource(strs.getInputStream())); CatalogResolver resolver = new CatalogResolver(); String appUrl = getServerConfigurationService().getServerUrl(); try { resolver.getCatalog().parseCatalog(appUrl + "/osp-common-tool/dtd/catalog.xml"); XMLReader xread = XMLReaderFactory.createXMLReader(); xread.setEntityResolver(resolver); ss.setXMLReader(xread); } catch (MalformedURLException e) { logger.error(e); } catch (IOException e) { logger.error(e); } catch (SAXException e) { logger.error(e); } return ss; } catch (ServerOverloadException e) { logger.error("", e); } return null; }
From source file:org.tinymediamanager.thirdparty.UpnpDevice.java
/** * Retrieves the properties and description of the UpnpDevice. * <p/>//from w ww . j a v a2 s . c o m * Connects to the device's {@link #location} and parses the response to populate the fields of this class * * @throws SAXException * if an error occurs while parsing the request * @throws IOException * on communication errors * @see org.bitlet.weupnp.GatewayDeviceHandler */ public void loadDescription() throws SAXException, IOException { URLConnection urlConn = new URL(getLocation()).openConnection(); urlConn.setReadTimeout(HTTP_RECEIVE_TIMEOUT); XMLReader parser = XMLReaderFactory.createXMLReader(); parser.setContentHandler(new UpnpDeviceHandler(this)); parser.parse(new InputSource(urlConn.getInputStream())); /* fix urls */ String ipConDescURL; if (urlBase != null && urlBase.trim().length() > 0) { ipConDescURL = urlBase; } else { ipConDescURL = location; } int lastSlashIndex = ipConDescURL.indexOf('/', 7); if (lastSlashIndex > 0) { ipConDescURL = ipConDescURL.substring(0, lastSlashIndex); } sCPDURL = copyOrCatUrl(ipConDescURL, sCPDURL); controlURL = copyOrCatUrl(ipConDescURL, controlURL); controlURLCIF = copyOrCatUrl(ipConDescURL, controlURLCIF); presentationURL = copyOrCatUrl(ipConDescURL, presentationURL); }
From source file:org.wyona.yanel.impl.resources.TestingControlResource.java
/** * // w ww. j a va2 s. c o m */ public View getView(String viewId) { if (request.getHeader("User-Agent").indexOf("rv:1.7") < 0) { ajaxBrowser = true; } try { setLocations(); } catch (Exception e) { // sb.append("<p>Could not get the Locations: " + e + "</p>"); log.error(e.getMessage(), e); } View view = new View(); String mimeType = getMimeType(viewId); view.setMimeType(mimeType); try { org.wyona.yarep.core.Repository repo = getRealm().getRepository(); if (viewId != null && viewId.equals("source")) { view.setInputStream(new java.io.StringBufferInputStream(getScreen())); view.setMimeType("application/xml"); return view; } String[] xsltPath = getXSLTPath(getPath()); if (xsltPath != null) { // create reader: XMLReader xmlReader = XMLReaderFactory.createXMLReader(); CatalogResolver catalogResolver = new CatalogResolver(); xmlReader.setEntityResolver(catalogResolver); // create xslt transformer: SAXTransformerFactory tf = (SAXTransformerFactory) TransformerFactory.newInstance(); TransformerHandler[] xsltHandlers = new TransformerHandler[xsltPath.length]; for (int i = 0; i < xsltPath.length; i++) { xsltHandlers[i] = tf .newTransformerHandler(new StreamSource(repo.getNode(xsltPath[i]).getInputStream())); xsltHandlers[i].getTransformer().setParameter("yanel.path.name", org.wyona.commons.io.PathUtil.getName(getPath())); xsltHandlers[i].getTransformer().setParameter("yanel.path", getPath()); xsltHandlers[i].getTransformer().setParameter("yanel.back2context", PathUtil.backToContext(realm, getPath())); xsltHandlers[i].getTransformer().setParameter("yarep.back2realm", PathUtil.backToRealm(getPath())); xsltHandlers[i].getTransformer().setParameter("language", getRequestedLanguage()); } // create i18n transformer: I18nTransformer2 i18nTransformer = new I18nTransformer2("global", getRequestedLanguage(), getRealm().getDefaultLanguage()); i18nTransformer.setEntityResolver(catalogResolver); // create xinclude transformer: XIncludeTransformer xIncludeTransformer = new XIncludeTransformer(); ResourceResolver resolver = new ResourceResolver(this); xIncludeTransformer.setResolver(resolver); // create serializer: Serializer serializer = SerializerFactory.getSerializer(SerializerFactory.XHTML_STRICT); ByteArrayOutputStream baos = new ByteArrayOutputStream(); // chain everything together (create a pipeline): xmlReader.setContentHandler(xsltHandlers[0]); for (int i = 0; i < xsltHandlers.length - 1; i++) { xsltHandlers[i].setResult(new SAXResult(xsltHandlers[i + 1])); } xsltHandlers[xsltHandlers.length - 1].setResult(new SAXResult(xIncludeTransformer)); xIncludeTransformer.setResult(new SAXResult(i18nTransformer)); i18nTransformer.setResult(new SAXResult(serializer.asContentHandler())); serializer.setOutputStream(baos); // execute pipeline: xmlReader.parse(new InputSource(new java.io.StringBufferInputStream(getScreen()))); // write result into view: view.setInputStream(new ByteArrayInputStream(baos.toByteArray())); return view; } log.debug("Mime-Type: " + mimeType); view.setInputStream(new java.io.StringBufferInputStream(getScreen())); return view; } catch (Exception e) { log.error(e + " (" + getPath() + ", " + getRealm() + ")", e); } view.setInputStream(new java.io.StringBufferInputStream(getScreen())); return view; }
From source file:pl.otros.vfs.browser.auth.AuthStoreUtils.java
public void load(AuthStore authStore, InputStream in) throws IOException { try {/*from w w w .j av a2 s .c o m*/ XMLReader xmlReader = XMLReaderFactory.createXMLReader(); xmlReader.setContentHandler(new AuthStoreHandler(authStore)); xmlReader.parse(new InputSource(in)); } catch (SAXException e) { throw new IOException(e); } }
From source file:pt.lunacloud.services.storage.model.transform.XmlResponsesSaxParser.java
/** * Constructs the XML SAX parser.//from w ww . j a va 2s . c o m * * @throws LunacloudClientException */ public XmlResponsesSaxParser() throws LunacloudClientException { // Ensure we can load the XML Reader. try { xr = XMLReaderFactory.createXMLReader(); } catch (SAXException e) { // oops, lets try doing this (needed in 1.4) System.setProperty("org.xml.sax.driver", "org.apache.crimson.parser.XMLReaderImpl"); try { // Try once more... xr = XMLReaderFactory.createXMLReader(); } catch (SAXException e2) { throw new LunacloudClientException("Couldn't initialize a sax driver for the XMLReader"); } } }
From source file:s3.com.qiniu.services.s3.model.transform.XmlResponsesSaxParser.java
/** * Constructs the XML SAX parser.// w w w . jav a2 s.c om * * @throws AmazonClientException */ public XmlResponsesSaxParser() throws AmazonClientException { // Ensure we can load the XML Reader. try { xr = XMLReaderFactory.createXMLReader(); } catch (SAXException e) { System.setProperty("org.xml.sax.driver", "org.xmlpull.v1.sax2.Driver"); try { // Try once more... xr = XMLReaderFactory.createXMLReader(); } catch (SAXException e2) { throw new AmazonClientException("Couldn't initialize a sax driver for the XMLReader", e); } } }
From source file:se.kodapan.geography.geocoding.google.GoogleGeocoder.java
public GeocodeResponse parseServerResponse(InputStream inputStream) throws IOException { try {//from ww w. jav a 2 s . c o m JAXBContext jc = JAXBContext.newInstance(getClass().getPackage().getName()); Unmarshaller u = jc.createUnmarshaller(); XMLReader reader = XMLReaderFactory.createXMLReader(); NamespaceFilter inFilter = new NamespaceFilter(null, false); inFilter.setParent(reader); ByteArrayOutputStream serverResponse = new ByteArrayOutputStream(); IOUtils.copy(inputStream, serverResponse); StringWriter tmp = new StringWriter(serverResponse.size()); IOUtils.copy(new InputStreamReader(new ByteArrayInputStream(serverResponse.toByteArray()), "UTF8"), tmp); SAXSource source = new SAXSource(inFilter, new InputSource(new ByteArrayInputStream(serverResponse.toByteArray()))); Object o = u.unmarshal(source); GeocodeResponse response = ((JAXBElement<GeocodeResponse>) o).getValue(); response.setServerResponse(tmp.toString()); if ("OVER_QUERY_LIMIT".equals(response.getStatus())) { // remove cache file, this is an invalid response! queryOverLimitTimeStamp = System.currentTimeMillis(); throw new OverQueryLimitException(); } if (!"OK".equals(response.getStatus()) && !"ZERO_RESULTS".equals(response.getStatus())) { // remove cache file, this is an invalid response! } return response; } catch (JAXBException e) { throw new RuntimeException(e); } catch (SAXException e) { throw new RuntimeException(e); } }