Example usage for org.xml.sax.helpers XMLReaderFactory createXMLReader

List of usage examples for org.xml.sax.helpers XMLReaderFactory createXMLReader

Introduction

In this page you can find the example usage for org.xml.sax.helpers XMLReaderFactory createXMLReader.

Prototype

public static XMLReader createXMLReader() throws SAXException 

Source Link

Document

Obtains a new instance of a org.xml.sax.XMLReader .

Usage

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);
    }
}