Example usage for org.xml.sax XMLReader setContentHandler

List of usage examples for org.xml.sax XMLReader setContentHandler

Introduction

In this page you can find the example usage for org.xml.sax XMLReader setContentHandler.

Prototype

public void setContentHandler(ContentHandler handler);

Source Link

Document

Allow an application to register a content event handler.

Usage

From source file:com.flicklib.service.movie.netflix.NetflixInfoFetcher.java

@Override
public List<? extends MovieSearchResult> search(String title) throws IOException {
    List<? extends MovieSearchResult> result = null;
    OAuthClient oAuthClient = new OAuthHttpClient(new NotPoolingHttpClientPool());
    Map<String, String> params = new HashMap<String, String>();
    params.put("term", title);
    params.put("max_results", String.valueOf(20));
    try {/* www  . jav a  2 s. co m*/
        OAuthMessage message = oAuthClient.invoke(accessor, "GET", "http://api.netflix.com/catalog/titles",
                params.entrySet());
        // LOGGER.info(message.getBodyAsString());

        SaxResultUnmarshaller saxUms = new SaxResultUnmarshaller();

        XMLReader rdr = XMLReaderFactory.createXMLReader();
        rdr.setContentHandler(saxUms);
        rdr.parse(new InputSource(message.getBodyAsStream()));
        result = saxUms.getResult();
    } catch (OAuthException e) {
        throw new IOException("Problem while requesting data from netflix", e);
    } catch (URISyntaxException e) {
        throw new IOException("Problem while requesting data from netflix", e);
    } catch (SAXException e) {
        throw new IOException("Problem while requesting data from netflix", e);
    }
    return result;
}

From source file:com.inferiorhumanorgans.WayToGo.Agency.NextBus.RouteConfig.RouteConfigXMLTask.java

@Override
protected Void doInBackground(final NextBusAgency... someAgencies) {
    super.doInBackground(someAgencies);

    final String ourNBName = theAgency.getNextBusName();

    Log.i(LOG_NAME, "Trying to get the route config for " + ourNBName + ".");
    Log.i(LOG_NAME, "Fetching from: " + NB_URL_BASE + ourNBName);
    InputStream ourInputStream = null;
    ClientConnectionManager ourConnectionManager = new ThreadSafeClientConnManager(params, registry);
    DefaultHttpClient ourHttpClient = new DefaultHttpClient(ourConnectionManager, params);

    final HttpGet getRequest = new HttpGet(NB_URL_BASE + Uri.encode(ourNBName));
    try {/*w  w  w  . ja v a2 s.  c  o  m*/
        ourInputStream = ourHttpClient.execute(getRequest).getEntity().getContent();
    } catch (ClientProtocolException ex) {
        Logger.getLogger(LOG_NAME).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(LOG_NAME).log(Level.SEVERE, null, ex);
    }
    Log.i(LOG_NAME, "Done with the route config for " + ourNBName + ".");

    try {
        SAXParserFactory ourParserFactory = SAXParserFactory.newInstance();
        SAXParser ourParser = ourParserFactory.newSAXParser();

        XMLReader xr = ourParser.getXMLReader();

        RouteConfigXMLHandler ourDataHandler = new RouteConfigXMLHandler(this);
        xr.setContentHandler(ourDataHandler);

        xr.parse(new InputSource(ourInputStream));

    } catch (ParserConfigurationException pce) {
        Log.e(LOG_NAME + "SAX XML", "sax parse error", pce);
    } catch (AbortXMLParsingException abrt) {
        Log.i(LOG_NAME + "AsyncXML", "Cancelled!!!!!");
    } catch (SAXException se) {
        Log.e(LOG_NAME + "SAX XML", "sax error", se);
    } catch (IOException ioe) {
        Log.e(LOG_NAME + "SAX XML", "sax parse io error", ioe);
    }
    Log.i(LOG_NAME + "SAX XML", "Done parsing XML for " + ourNBName);
    return null;
}

From source file:net.sourceforge.fenixedu.utilTests.ParseMetadata.java

public Vector<Element> parseMetadata(String metadataFile) throws ParseException {
    SAXParserFactory spf = SAXParserFactory.newInstance();
    spf.setValidating(true);//w  w  w  . j a v  a2 s .c om
    try {
        SAXParser saxParser = spf.newSAXParser();
        XMLReader reader = saxParser.getXMLReader();
        reader.setContentHandler(this);
        reader.setErrorHandler(this);
        StringReader sr = new StringReader(metadataFile);
        InputSource input = new InputSource(sr);
        MetadataResolver resolver = new MetadataResolver();
        reader.setEntityResolver(resolver);
        reader.parse(input);
    } catch (Exception e) {
        throw new ParseException();
    }

    setMembers(vector);
    return vector;
}

From source file:com.entertailion.java.caster.DeviceFinder.java

public void onBroadcastFound(final BroadcastAdvertisement advert) {
    if (advert.getLocation() != null) {
        new Thread(new Runnable() {
            public void run() {
                Log.d(LOG_TAG, "location=" + advert.getLocation());
                HttpResponse response = new HttpRequestHelper().sendHttpGet(advert.getLocation());
                if (response != null) {
                    String appsUrl = null;
                    Header header = response.getLastHeader(HEADER_APPLICATION_URL);
                    if (header != null) {
                        appsUrl = header.getValue();
                        if (!appsUrl.endsWith("/")) {
                            appsUrl = appsUrl + "/";
                        }// w  ww . jav  a  2 s.co  m
                        Log.d(LOG_TAG, "appsUrl=" + appsUrl);
                    }
                    try {
                        InputStream inputStream = response.getEntity().getContent();
                        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

                        InputSource inStream = new org.xml.sax.InputSource();
                        inStream.setCharacterStream(reader);
                        SAXParserFactory spf = SAXParserFactory.newInstance();
                        SAXParser sp = spf.newSAXParser();
                        XMLReader xr = sp.getXMLReader();
                        BroadcastHandler broadcastHandler = new BroadcastHandler();
                        xr.setContentHandler(broadcastHandler);
                        xr.parse(inStream);
                        Log.d(LOG_TAG, "modelName=" + broadcastHandler.getDialServer().getModelName());
                        // Only handle ChromeCast devices; not other DIAL
                        // devices like ChromeCast devices
                        if (broadcastHandler.getDialServer().getModelName().equals(CHROME_CAST_MODEL_NAME)) {
                            Log.d(LOG_TAG,
                                    "ChromeCast device found: " + advert.getIpAddress().getHostAddress());
                            DialServer dialServer = new DialServer(advert.getLocation(), advert.getIpAddress(),
                                    advert.getPort(), appsUrl,
                                    broadcastHandler.getDialServer().getFriendlyName(),
                                    broadcastHandler.getDialServer().getUuid(),
                                    broadcastHandler.getDialServer().getManufacturer(),
                                    broadcastHandler.getDialServer().getModelName());
                            trackedDialServers.add(dialServer);
                        }
                    } catch (Exception e) {
                        Log.e(LOG_TAG, "parse device description", e);
                    }
                }
            }
        }).start();
    }
}

From source file:com.bdaum.juploadr.uploadapi.smugrest.SmugmugMethod.java

/**
 * @param responseBodyAsString//  w  w  w . j  a va  2s  .  com
 * @return
 * @throws AuthException
 */
public boolean parseResponse(String response) throws ProtocolException {
    try {
        // System.setProperty("org.xml.sax.driver",
        // "com.bluecast.xml.Piccolo");
        // log.info(response);
        XMLReader reader = XMLReaderFactory.createXMLReader();
        handler = getResponseHandler();
        reader.setContentHandler(handler);
        reader.parse(new InputSource(new StringReader(response)));
        if (!handler.isSuccessful()) {
            throw new ProtocolException(handler.getFailureReason());
        }
        return handler.isSuccessful();
    } catch (SAXException e) {
        throw new AuthException(Messages.getString("juploadr.ui.error.response.unreadable.noreason"), e); //$NON-NLS-1$
    } catch (IOException e) {
        // this can't happen
    }
    return false;
}

From source file:io.milton.http.webdav.DefaultPropPatchParser.java

private PropPatchParseResult parseContent(byte[] arr) throws IOException, SAXException {
    if (arr.length > 0) {
        log.debug("processing content");
        ByteArrayInputStream bin = new ByteArrayInputStream(arr);
        XMLReader reader = XMLReaderFactory.createXMLReader();
        reader.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
        PropPatchSaxHandler handler = new PropPatchSaxHandler();
        reader.setContentHandler(handler);
        reader.parse(new InputSource(bin));
        log.debug("toset: " + handler.getAttributesToSet().size());
        return new PropPatchParseResult(handler.getAttributesToSet(), handler.getAttributesToRemove().keySet());
    } else {/*from  www .ja va  2 s  .  c  o m*/
        log.debug("empty content");
        return new PropPatchParseResult(new HashMap<QName, String>(), new HashSet<QName>());
    }

}

From source file:net.ontopia.persistence.proxy.QueryDeclarations.java

protected void loadQueries(InputSource isource) {

    // Read queries file.
    ContentHandler handler = new QueriesHandler();

    try {// www. j ava 2s .c o  m
        XMLReader parser = DefaultXMLReaderFactory.createXMLReader();
        parser.setContentHandler(handler);
        parser.setErrorHandler(new Slf4jSaxErrorHandler(log));
        parser.parse(isource);
    } catch (Exception e) {
        throw new OntopiaRuntimeException(e);
    }
}

From source file:com.entertailion.android.slideshow.rss.RssHandler.java

public RssFeed getFeed(String data) throws Exception {
    feed = null;/*w  ww .  jav  a2s . com*/
    SAXParserFactory spf = SAXParserFactory.newInstance();
    SAXParser sp = spf.newSAXParser();
    XMLReader xr = sp.getXMLReader();

    InputSource inStream = new org.xml.sax.InputSource();
    inStream.setCharacterStream(new StringReader(data));

    xr.setContentHandler(this);
    feed = new RssFeed();
    xr.parse(inStream);

    xr = null;
    sp = null;
    spf = null;

    return feed;
}

From source file:com.dhenton9000.excel.ExcelParser.java

public SheetResults parse(InputStream inputStream) throws Exception {

    OPCPackage pkg = OPCPackage.open(inputStream);
    XSSFReader reader = new XSSFReader(pkg);
    this.sst = reader.getSharedStringsTable();

    SAXParserFactory saxFactory = SAXParserFactory.newInstance();
    SAXParser saxParser = saxFactory.newSAXParser();
    XMLReader parser = saxParser.getXMLReader();
    parser.setContentHandler(this);

    // There should only be one sheet
    final Iterator<InputStream> it = reader.getSheetsData();
    final InputStream sheet = it.next();

    final InputSource sheetSource = new InputSource(sheet);
    parser.parse(sheetSource);/*from   www .ja  va  2  s.  co  m*/
    sheet.close();

    return getSheetResults();

}

From source file:com.myjeeva.poi.ExcelXSSFRowCallbackHandler.java

/**
 * Parses the file, passing each row to the given callback.
 * At the end closes the opc package and underling input stream.
 *//*from www .  j ava 2s  . c  o m*/
public void parse() throws Exception {

    XSSFReader reader = new XSSFReader(this.opcPackage);

    StylesTable styles = reader.getStylesTable();
    ReadOnlySharedStringsTable sharedStrings = new ReadOnlySharedStringsTable(this.opcPackage);

    ContentHandler handler = new XSSFSheetXMLHandler(styles, sharedStrings,
            new ExcelXSSFRowCallbackSheetContentsHandler(this.rowCallback), true);

    XMLReader parser = XMLReaderFactory.createXMLReader();
    parser.setContentHandler(handler);

    InputStream sheetInputStream = reader.getSheetsData().next();

    try {

        parser.parse(new InputSource(sheetInputStream));

    } finally {

        IOUtils.closeQuietly(sheetInputStream);
        this.opcPackage.close();

    }

}