Example usage for org.xml.sax XMLReader parse

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

Introduction

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

Prototype

public void parse(String systemId) throws IOException, SAXException;

Source Link

Document

Parse an XML document from a system identifier (URI).

Usage

From source file:de.laeubisoft.tools.ant.validation.W3CMarkupValidationTask.java

/**
 * Takes an {@link URL} and tries to find out all linked resources
 * /*from w  w  w  . j  ava2  s . c  o m*/
 * @param uriToRecurse
 * @return a set of discovered urls
 */
private Set<URL> recurseInto(final URL uriToRecurse) throws BuildException {
    final Set<URL> urlsFound = new HashSet<URL>();
    XMLReader reader = new Parser();
    reader.setContentHandler(new DefaultHandler() {
        @Override
        public void startElement(String nsuri, String localName, String qName, Attributes attributes)
                throws SAXException {
            if ("a".equalsIgnoreCase(qName)) {
                String value = attributes.getValue("href");
                if (value != null) {
                    try {
                        URL url = new URL(uriToRecurse, value);
                        if (url.getHost().equalsIgnoreCase(uriToRecurse.getHost())
                                && url.getPort() == uriToRecurse.getPort()) {
                            urlsFound.add(url);
                        }
                    } catch (MalformedURLException e) {
                        log("can't parse URL for href = " + value + ", it will be ignored!", Project.MSG_ERR);
                    }
                }
            }
        }
    });
    // Parsen wird gestartet
    try {
        reader.parse(new InputSource(uriToRecurse.openStream()));
        return urlsFound;
    } catch (IOException e) {
        throw new BuildException("error while accessing data at " + uriToRecurse, e);
    } catch (SAXException e) {
        throw new BuildException("error while parsing data at " + uriToRecurse, e);
    }
}

From source file:edwardawebb.queueman.classes.NetFlix.java

public int deleteFromQueue(Disc disc, int queueType) {
    int result = NF_ERROR_BAD_DEFAULT;
    OAuthConsumer postConsumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET,
            SignatureMethod.HMAC_SHA1);
    postConsumer.setTokenWithSecret(user.getAccessToken(), user.getAccessTokenSecret());

    // postProvider.setOAuth10a(false);

    HttpClient httpclient = new DefaultHttpClient();

    URL QueueUrl;//from  w  w  w. j  ava  2  s  .c  om
    InputStream xml = null;

    try {
        QueueUrl = new URL(disc.getId());
        HttpDelete httpAction = new HttpDelete(QueueUrl.toString());
        postConsumer.sign(httpAction);

        HttpResponse response = httpclient.execute(httpAction);

        xml = response.getEntity().getContent();
        result = response.getStatusLine().getStatusCode();
        lastResponseMessage = response.getStatusLine().getStatusCode() + ": "
                + response.getStatusLine().getReasonPhrase();
        /*BufferedReader in = new BufferedReader(new InputStreamReader(xml));
        String linein = null;
        while ((linein = in.readLine()) != null) {
           Log.d("NetFlix", "MovieMovie: " + linein);
        }*/

        SAXParserFactory spf = SAXParserFactory.newInstance();
        SAXParser sp;
        sp = spf.newSAXParser();

        XMLReader xr = sp.getXMLReader();
        QueueHandler myHandler = new QueueHandler();
        xr.setContentHandler(myHandler);
        xr.parse(new InputSource(xml));
        // result=response.getStatusLine().getStatusCode();
        result = myHandler.getSubCode(result);
        lastResponseMessage = "HTTP:" + response.getStatusLine().getStatusCode() + ", "
                + response.getStatusLine().getReasonPhrase();

        if (myHandler.getMessage() != null) {
            //we may have an error from netflix, check it
            lastResponseMessage += "  NF: " + result + ", " + myHandler.getMessage();
        }

    } catch (OAuthMessageSignerException e) {
        reportError(e, lastResponseMessage);
    } catch (OAuthExpectationFailedException e) {
        reportError(e, lastResponseMessage);
    } catch (ClientProtocolException e) {
        reportError(e, lastResponseMessage);
    } catch (IOException e) {
        reportError(e, lastResponseMessage);
    } catch (SAXException e) {
        reportError(e, lastResponseMessage);
    } catch (ParserConfigurationException e) {
        reportError(e, lastResponseMessage);
    }

    /*
     * On a successful; DELETE we remove our local recordss too
     */
    if (result == 200) {

        switch (queueType) {
        case NetFlixQueue.QUEUE_TYPE_DISC:
            NetFlix.discQueue.delete(disc);
            break;
        case NetFlixQueue.QUEUE_TYPE_INSTANT:
            NetFlix.instantQueue.delete(disc);
            break;
        }
        getNewETag(queueType);
    }
    return result;
}

From source file:org.esco.grouper.parsing.SGSParsingUtil.java

/**
 * Starts the parsing process.//from  w  w  w. j  a  va2s. c om
 * @throws SAXException If there is an error during the parsing (invalid group defintion for instance).
 * @throws IOException  If there is an IO error.
 */
public void parse() throws IOException, SAXException {

    XMLReader saxReader = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");
    saxReader.setFeature("http://xml.org/sax/features/validation", true);
    saxReader.setContentHandler(this);
    saxReader.setErrorHandler(this);
    saxReader.setEntityResolver(this);
    if (LOGGER.isInfoEnabled()) {
        LOGGER.info("---------------------------------");
        LOGGER.info("Parsing definition file: ");
        LOGGER.info(definitionsFileURI);
        LOGGER.info("---------------------------------");
    }
    InputStream iStream = getClass().getClassLoader().getResourceAsStream(definitionsFileURI);

    if (iStream == null) {
        LOGGER.fatal("Unable to load (from classpath) file: " + definitionsFileURI + ".");
    }

    //final InputSource is =
    saxReader.parse(new InputSource(iStream));

    if (LOGGER.isInfoEnabled()) {
        LOGGER.info("---------------------------------");
        LOGGER.info("Definition file parsed.");
        LOGGER.info("---------------------------------");
    }
}

From source file:edwardawebb.queueman.classes.NetFlix.java

/**
 * Returns the users first name, watch instant rights and preferred formats
 * requires user already set with auth tokens
 * @return//  ww w .  j  a v  a2s  .  c o  m
 */
public boolean getUserDetails() {
    Log.d("NetFlix", "getUserDetails()>>>");
    URL QueueUrl = null;
    UserHandler myHandler = new UserHandler(user);
    boolean result = false;
    InputStream xml = null;
    try {

        QueueUrl = new URL("http://api.netflix.com/users/" + user.getUserId());

        setSignPost(user.getAccessToken(), user.getAccessTokenSecret());
        HttpURLConnection request = (HttpURLConnection) QueueUrl.openConnection();

        NetFlix.oaconsumer.sign(request);

        Log.d("NetFlix", "getUserDetails() | signed");
        request.connect();

        Log.d("NetFlix", "getUserDetails() | response");
        //if succesful, populate remaing user details from netflix
        if (request.getResponseCode() == 200) {

            xml = request.getInputStream();

            SAXParserFactory spf = SAXParserFactory.newInstance();
            SAXParser sp;
            sp = spf.newSAXParser();
            XMLReader xr = sp.getXMLReader();

            xr.setContentHandler(myHandler);
            Log.d("NetFlix", "getUserDetails() | ready to parse");
            xr.parse(new InputSource(xml));

            Log.d("NetFlix", "getUserDetails() | parse complete");
            Log.d("NetFlix", "User Name: " + user.getFirstName());
            Log.d("NetFlix", "Formats: " + user.getPreferredFormats().toArray().toString());
            Log.d("NetFlix", "User Instant?: " + user.isCanWatchInstant());

        } else {

            BufferedReader in = new BufferedReader(new InputStreamReader(xml));
            String linein = null;
            while ((linein = in.readLine()) != null) {
                Log.d("NetFlix", "UserDetails: " + linein);
            }
        }

    } catch (ParserConfigurationException e) {

        reportError(e, lastResponseMessage);
    } catch (SAXException e) {

        reportError(e, lastResponseMessage);
    } catch (IOException e) {

        reportError(e, lastResponseMessage);
        // Log.i("NetFlix", "IO Error connecting to NetFlix queue")
    } catch (OAuthMessageSignerException e) {

        reportError(e, lastResponseMessage);
        // Log.i("NetFlix", "Unable to Sign request - token invalid")
    } catch (OAuthExpectationFailedException e) {

        reportError(e, lastResponseMessage);
        // Log.i("NetFlix", "Expectation failed")
    }

    Log.d("NetFlix", "getUserDetails()>>>");
    return result;
}

From source file:de.tlabs.ssr.g1.client.XmlInputThread.java

@Override
public void run() {
    Log.d(TAG, "(" + this.getId() + ") HELLO");

    try {/*from w  w w. j a  v  a 2s .  c  om*/
        // create sax parser
        SAXParserFactory spf = SAXParserFactory.newInstance();
        SAXParser sp = spf.newSAXParser();

        // get an xml reader 
        XMLReader xr = sp.getXMLReader();

        // set up xml input source
        XMLChunkInputStream xmlChunkInputStream;
        synchronized (GlobalData.socketChannel) {
            xmlChunkInputStream = new XMLChunkInputStream(new ByteArrayBuffer(32 * 1024),
                    GlobalData.socketChannel.socket().getInputStream());
        }
        InputSource inputSource = new InputSource(xmlChunkInputStream);

        // create handler for scene description and assign it
        SceneDescrXMLHandler sceneDescrXMLHandler = new SceneDescrXMLHandler(GlobalData.audioScene);
        xr.setContentHandler(sceneDescrXMLHandler);

        // parse scene description
        //Log.d(TAG, "(" + this.getId() + ") parsing description...");
        //xmlChunkInputStream.printToLog = true;
        while (xmlChunkInputStream.bufferNextChunk() && !sceneDescrXMLHandler.receivedSceneDescr()) {
            // parse and process xml input
            xr.parse(inputSource);
        }
        //xmlChunkInputStream.printToLog = false;

        // signal that scene description was parsed
        //Log.d(TAG, "(" + this.getId() + ") sending SCENEPARSED_OK_MSG");
        GlobalData.sourcesMoverMsgHandler
                .sendMessage(GlobalData.sourcesMoverMsgHandler.obtainMessage(SourcesMover.SCENEPARSED_OK_MSG));

        // create handler for scene updates and assign it
        SceneUpdateXMLHandler sceneUpdateXMLHandler = new SceneUpdateXMLHandler(GlobalData.audioScene);
        xr.setContentHandler(sceneUpdateXMLHandler);

        // parse scene updates
        Log.d(TAG, "(" + this.getId() + ") starting xml input loop...");
        while (xmlChunkInputStream.bufferNextChunk()) {
            // parse and process xml input
            xr.parse(inputSource);

            // check if we should abort
            synchronized (abortFlag) {
                if (abortFlag == true) {
                    break;
                }
            }
        }
    } catch (Exception e) {
        Log.d(TAG, "(" + this.getId() + ") Exception " + e.toString() + ": " + e.getMessage());

        // check if this thread was aborted and/or stopped by a call to interrupt()
        if (Thread.interrupted() || abortFlag) {
            Log.d(TAG, "(" + this.getId() + ") interrupted/aborted");
        } else {
            GlobalData.sourcesMoverMsgHandler.sendMessage(GlobalData.sourcesMoverMsgHandler
                    .obtainMessage(SourcesMover.XMLINPUT_ERR_MSG, e.getMessage()));
            Log.d(TAG, "(" + this.getId() + ") sending XMLINPUT_ERR_MSG");
        }
    }

    Log.d(TAG, "(" + this.getId() + ") GOOD BYE");
}

From source file:edwardawebb.queueman.classes.NetFlix.java

/**
 * Post a rating to specificed title//from ww  w .j a  v  a 2 s .  co  m
 * @param modifiedDisc
 * @return SubCode, httpResponseCode or NF_ERROR_BAD_DEFAULT on exception
 */
public int setRating(Disc modifiedDisc) {

    int result = NF_ERROR_BAD_DEFAULT;
    // 2 choirs, send request to netflix, and if successful update local q.
    OAuthConsumer postConsumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET,
            SignatureMethod.HMAC_SHA1);
    postConsumer.setTokenWithSecret(user.getAccessToken(), user.getAccessTokenSecret());

    // postProvider.setOAuth10a(false);
    InputStream xml = null;
    try {

        // Construct data
        /*
         * Log.d("NetFlix", "title_ref=" + URLEncoder.encode(disc.getId(),
         * "UTF-8")); Log.d("NetFlix", "etag=" +
         * URLEncoder.encode(NetFlixQueue.getETag(), "UTF-8"));
         */
        URL url = new URL("https://api.netflix.com/users/" + user.getUserId() + "/ratings/title/actual");

        // Log.d("NetFlix", "@URL: " + url.toString())
        HttpClient httpclient = new DefaultHttpClient();
        // Your URL
        HttpPost httppost = new HttpPost(url.toString());
        postConsumer.setTokenWithSecret(user.getAccessToken(), user.getAccessTokenSecret());

        String rating = (modifiedDisc.getUserRating() == 0) ? NF_RATING_NO_INTEREST
                : String.valueOf(modifiedDisc.getUserRating().intValue());
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
        // Your DATA
        nameValuePairs.add(new BasicNameValuePair("title_ref", modifiedDisc.getId()));
        nameValuePairs.add(new BasicNameValuePair("rating", rating));

        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        postConsumer.sign(httppost);

        HttpResponse response;
        response = httpclient.execute(httppost);

        xml = response.getEntity().getContent();
        lastResponseMessage = response.getStatusLine().getStatusCode() + ": "
                + response.getStatusLine().getReasonPhrase();
        result = response.getStatusLine().getStatusCode();

        /* Log.d("NetFlix", "" +
         response.getEntity().getContentType().toString()); BufferedReader
         in = new BufferedReader(new InputStreamReader(xml)); String
         linein = null; while ((linein = in.readLine()) != null) {
         Log.d("NetFlix", "SetRating: " + linein); }*/

        // Log.i("NetFlix", "Parsing XML Response")
        SAXParserFactory spf = SAXParserFactory.newInstance();
        SAXParser sp;

        sp = spf.newSAXParser();

        XMLReader xr = sp.getXMLReader();
        QueueHandler myHandler = new QueueHandler();

        xr.setContentHandler(myHandler);
        xr.parse(new InputSource(xml));

        if (result == 201 || result == 422) {
            switch (modifiedDisc.getQueueType()) {
            //could be rating froms earch, recommends, instant, discm, or at home
            case NetFlixQueue.QUEUE_TYPE_RECOMMEND:
                ((Disc) recomemendedQueue.getDiscs().get(recomemendedQueue.indexOf(modifiedDisc)))
                        .setUserRating(modifiedDisc.getUserRating());
                break;
            case NetFlixQueue.QUEUE_TYPE_INSTANT:
                ((Disc) instantQueue.getDiscs().get(instantQueue.indexOf(modifiedDisc)))
                        .setUserRating(modifiedDisc.getUserRating());
                break;
            case NetFlixQueue.QUEUE_TYPE_DISC:
                ((Disc) discQueue.getDiscs().get(discQueue.indexOf(modifiedDisc)))
                        .setUserRating(modifiedDisc.getUserRating());
                break;
            }
        }

        lastNFResponseMessage = "NF: " + myHandler.getMessage();
        result = myHandler.getSubCode(result);

    } catch (IOException e) {

        reportError(e, lastResponseMessage);
        // Log.i("NetFlix", "IO Error connecting to NetFlix queue")
    } catch (OAuthMessageSignerException e) {

        reportError(e, lastResponseMessage);
    } catch (OAuthExpectationFailedException e) {

        reportError(e, lastResponseMessage);
    } catch (ParserConfigurationException e) {
        // TODO Auto-generated catch block
        reportError(e, lastResponseMessage);
    } catch (SAXException e) {
        // TODO Auto-generated catch block
        reportError(e, lastResponseMessage);
    }
    return result;
}

From source file:edwardawebb.queueman.classes.NetFlix.java

/**
 * //from  w  ww  . java 2s.  com
 * @param queueType
 * @param maxResults
 * @return HttpStatusCOde or NF_ERROR_BAD_DEFAULT for exceptions
 */
public int getQueue(int queueType, String maxResults) {
    Log.d("NetFlix", "getQueue()>>>");
    URL QueueUrl = null;
    QueueHandler myQueueHandler = null;
    int result = NF_ERROR_BAD_DEFAULT;
    if (maxResults.equals(QueueMan.ALL_TITLES_STRING)) {
        maxResults = "500";
    }
    // addtional info to return 
    String expanders = "?expand=synopsis,formats&max_results=" + maxResults;
    InputStream xml = null;
    try {
        switch (queueType) {
        case NetFlixQueue.QUEUE_TYPE_INSTANT:
            if (!NetFlix.instantQueue.isEmpty() && instantQueue.isDownloaded())
                return SUCCESS_FROM_CACHE;
            QueueUrl = new URL(
                    "http://api.netflix.com/users/" + user.getUserId() + "/queues/instant" + expanders);
            myQueueHandler = new InstantQueueHandler();
            break;
        case NetFlixQueue.QUEUE_TYPE_DISC:
            if (!NetFlix.discQueue.isEmpty() && discQueue.isDownloaded())
                return SUCCESS_FROM_CACHE;
            QueueUrl = new URL(
                    "http://api.netflix.com/users/" + user.getUserId() + "/queues/disc/available" + expanders);

            myQueueHandler = new DiscQueueHandler();
            break;
        }
        //Log.d("NetFlix", "" + QueueUrl.toString());
        setSignPost(user.getAccessToken(), user.getAccessTokenSecret());
        HttpURLConnection request = (HttpURLConnection) QueueUrl.openConnection();
        Log.d("NetFlix", "getQueue() | ready");
        NetFlix.oaconsumer.sign(request);
        Log.d("NetFlix", "getQueue() | signed");
        request.connect();

        Log.d("NetFlix", "getQueue() | response");
        lastResponseMessage = request.getResponseCode() + ": " + request.getResponseMessage();
        result = request.getResponseCode();

        xml = request.getInputStream();

        /*  BufferedReader in = new BufferedReader(new
          InputStreamReader(xml)); String linein = null; while ((linein =
          in.readLine()) != null) { Log.d("NetFlix", "GetQueue: " +
          linein); }*/

        SAXParserFactory spf = SAXParserFactory.newInstance();
        SAXParser sp;
        sp = spf.newSAXParser();
        XMLReader xr = sp.getXMLReader();

        xr.setContentHandler(myQueueHandler);

        Log.d("NetFlix", "getQueue() | parse ready");
        xr.parse(new InputSource(xml));

        Log.d("NetFlix", "getQueue() | parse complete");
        result = myQueueHandler.getSubCode(result);

        if (myQueueHandler.getMessage() != null) {
            //we may have an error from netflix, check it
            lastResponseMessage += "  NF:" + result + ", " + myQueueHandler.getMessage();
            lastNFResponseMessage = myQueueHandler.getMessage();
        } else {
            lastNFResponseMessage = "No Message";
        }
        if (result == 200) {
            switch (queueType) {
            case NetFlixQueue.QUEUE_TYPE_INSTANT:
                instantQueue.setDownloaded(true);
                break;
            case NetFlixQueue.QUEUE_TYPE_DISC:
                discQueue.setDownloaded(true);
                break;
            }
        } else if (result == 502) {
            HashMap<String, String> parameters = new HashMap<String, String>();
            parameters.put("Queue Type:", "" + NetFlixQueue.queueTypeText[queueType]);
            parameters.put("HTTP Result:", "" + lastResponseMessage);
            parameters.put("User ID:", "" + user.getUserId());
            parameters.put("NF Message:", "" + myQueueHandler.getMessage());
            FlurryAgent.onEvent("getQueue502", parameters);
        }

    } catch (ParserConfigurationException e) {

        reportError(e, lastResponseMessage);
    } catch (SAXException e) {

        reportError(e, lastResponseMessage);
    } catch (IOException e) {

        reportError(e, lastResponseMessage);
        // Log.i("NetFlix", "IO Error connecting to NetFlix queue")
    } catch (OAuthMessageSignerException e) {

        reportError(e, lastResponseMessage);
        // Log.i("NetFlix", "Unable to Sign request - token invalid")
    } catch (OAuthExpectationFailedException e) {

        reportError(e, lastResponseMessage);
        // Log.i("NetFlix", "Expectation failed")
    }
    Log.d("NetFlix", "getQueue()<<<");
    return result;
}

From source file:edwardawebb.queueman.classes.NetFlix.java

/**
 * moveInQueue This will post to netflix with the new ddesired position.
 * Disc q only 1 based index//from w  w  w.  j  a v  a  2 s . co  m
 * 
 * @param disc
 * @param oldPosition
 * @param newPosition
 * @param queueType
 * @return subcode, statuscode, or httpresponse code (NF_ERROR_BAD_DEFAULT on exception)
 */
public int moveInQueue(Disc disc, int oldPosition, int newPosition, int queueType) {

    int result = NF_ERROR_BAD_DEFAULT;

    //getNewETag(queueType,newPosition);
    // 2 choirs, send request to netflix, and if successful update local q.

    OAuthConsumer postConsumer = new CommonsHttpOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET,
            SignatureMethod.HMAC_SHA1);
    postConsumer.setTokenWithSecret(user.getAccessToken(), user.getAccessTokenSecret());

    InputStream xml = null;
    URL url = null;
    try {

        url = new URL("http://api.netflix.com/users/" + user.getUserId() + "/queues/"
                + NetFlixQueue.queueTypeText[queueType]);
        Log.d("NetFlix", "Moving: " + url.toString());
        HttpClient httpclient = new DefaultHttpClient();
        // Your URL
        HttpPost httppost = new HttpPost(url.toString());

        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        // Your DATA
        nameValuePairs.add(new BasicNameValuePair("title_ref", disc.getId()));
        nameValuePairs.add(new BasicNameValuePair("position", String.valueOf(newPosition)));
        nameValuePairs.add(new BasicNameValuePair("etag", NetFlix.discQueue.getETag()));

        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        postConsumer.sign(httppost);

        HttpResponse response;
        response = httpclient.execute(httppost);

        xml = response.getEntity().getContent();

        result = response.getStatusLine().getStatusCode();

        /*  BufferedReader in = new BufferedReader(new
          InputStreamReader(xml)); String linein = null; while ((linein =
          in.readLine()) != null) { Log.d("NetFlix", "Move Movie: " +
          linein); }*/
        lastResponseMessage = "HTTP:" + response.getStatusLine().getStatusCode() + ", "
                + response.getStatusLine().getReasonPhrase();

        if (result == 502) {
            HashMap<String, String> parameters = new HashMap<String, String>();
            parameters.put("Queue Type:", "" + NetFlixQueue.queueTypeText[queueType]);
            parameters.put("HTTP Result:", "" + lastResponseMessage);
            parameters.put("User ID:", "" + user.getUserId());
            parameters.put("Disc ID:", "" + disc.getId());
            parameters.put("Positions:", "" + disc.getPosition() + " -> " + String.valueOf(newPosition));
            parameters.put("URL:", "" + url);
            FlurryAgent.onEvent("MoveInQueue502", parameters);

            return result;

        }

        SAXParserFactory spf = SAXParserFactory.newInstance();
        SAXParser sp;
        sp = spf.newSAXParser();

        XMLReader xr = sp.getXMLReader();
        MoveQueueHandler myHandler = new MoveQueueHandler(oldPosition);
        xr.setContentHandler(myHandler);
        xr.parse(new InputSource(xml));
        // result=response.getStatusLine().getStatusCode();
        result = myHandler.getSubCode(result);

        if (myHandler.getMessage() != null) {
            //we may have an error from netflix, check it
            lastResponseMessage += "  NF: " + result + ", " + myHandler.getMessage();
        } else {
            if (queueType == NetFlixQueue.QUEUE_TYPE_DISC
                    && newPosition > (discQueue.getStartIndex() + discQueue.getPerPage())) {
                // a disc queue and we have moved past our current viewing 
                // so we will remove it from viewing to prevnt confusion and removing mishpas (position will be lost)
                discQueue.delete(disc);
                result = MOVED_OUTSIDE_CURRENT_VIEW;
            }
        }
    } catch (IOException e) {

        reportError(e, lastResponseMessage);
        // Log.i("NetFlix", "IO Error connecting to NetFlix queue")
    } catch (OAuthMessageSignerException e) {

        reportError(e, lastResponseMessage);
    } catch (OAuthExpectationFailedException e) {

        reportError(e, lastResponseMessage);
    } catch (SAXException e) {

        reportError(e, lastResponseMessage);
    } catch (ParserConfigurationException e) {

        reportError(e, lastResponseMessage);
    }
    return result;
}

From source file:com.box.androidlib.BoxSynchronous.java

/**
 * Executes an Http request and triggers response parsing by the specified parser.
 * /* w  ww  . j a va 2s  . com*/
 * @param parser
 *            A BoxResponseParser configured to consume the response and capture data that is of interest
 * @param uri
 *            The Uri of the request
 * @throws IOException
 *             Can be thrown if there is no connection, or if some other connection problem exists.
 */
protected static void saxRequest(final DefaultResponseParser parser, final Uri uri) throws IOException {
    Uri theUri = uri;
    List<BasicNameValuePair> customQueryParams = BoxConfig.getInstance().getCustomQueryParameters();
    if (customQueryParams != null && customQueryParams.size() > 0) {
        Uri.Builder builder = theUri.buildUpon();
        for (BasicNameValuePair param : customQueryParams) {
            builder.appendQueryParameter(param.getName(), param.getValue());
        }
        theUri = builder.build();
    }

    try {
        final XMLReader xmlReader = SAXParserFactory.newInstance().newSAXParser().getXMLReader();
        xmlReader.setContentHandler(parser);
        HttpURLConnection conn = (HttpURLConnection) (new URL(theUri.toString())).openConnection();
        conn.setRequestProperty("User-Agent", BoxConfig.getInstance().getUserAgent());
        conn.setRequestProperty("Accept-Language", BoxConfig.getInstance().getAcceptLanguage());
        conn.setConnectTimeout(BoxConfig.getInstance().getConnectionTimeOut());
        if (mLoggingEnabled) {
            DevUtils.logcat("URL: " + theUri.toString());
            //                Iterator<String> keys = conn.getRequestProperties().keySet().iterator();
            //                while (keys.hasNext()) {
            //                    String key = keys.next();
            //                    DevUtils.logcat("Request Header: " + key + " => " + conn.getRequestProperties().get(key));
            //                }
        }

        int responseCode = -1;
        try {
            conn.connect();
            responseCode = conn.getResponseCode();
            if (mLoggingEnabled)
                DevUtils.logcat("Response Code: " + responseCode);
            if (responseCode == HttpURLConnection.HTTP_OK) {
                InputStream inputStream = conn.getInputStream();
                xmlReader.parse(new InputSource(inputStream));
                inputStream.close();
            } else if (responseCode == -1) {
                parser.setStatus(ResponseListener.STATUS_UNKNOWN_HTTP_RESPONSE_CODE);
            }
        } catch (IOException e) {
            try {
                responseCode = conn.getResponseCode();
            } catch (NullPointerException ee) {
                // Honeycomb devices seem to throw a null pointer exception sometimes which traces to HttpURLConnectionImpl.
            }
            // Server returned a 503 Service Unavailable. Usually means a temporary unavailability.
            if (responseCode == HttpURLConnection.HTTP_UNAVAILABLE) {
                parser.setStatus(ResponseListener.STATUS_SERVICE_UNAVAILABLE);
            } else {
                throw e;
            }
        } finally {
            conn.disconnect();
        }
    } catch (final ParserConfigurationException e) {
        e.printStackTrace();
    } catch (final SAXException e) {
        e.printStackTrace();
    } catch (final FactoryConfigurationError e) {
        e.printStackTrace();
    }
}

From source file:edwardawebb.queueman.classes.NetFlix.java

public NetFlixQueue getSearchResults(String searchTerm) {
    searchQueue = new NetFlixQueue(NetFlixQueue.QUEUE_TYPE_SEARCH);
    setSignPost(user.getAccessToken(), user.getAccessTokenSecret());

    InputStream xml = null;/*from   w ww .  j  av a 2 s  . co m*/
    try {
        String encSearchTerm = URLEncoder.encode(searchTerm);
        setSignPost(user.getAccessToken(), user.getAccessTokenSecret());
        String expanders = "&expand=synopsis,formats";
        URL QueueUrl = null;

        QueueUrl = new URL("http://api.netflix.com/catalog/titles?term=" + encSearchTerm + expanders);
        // Log.d("NetFlix",""+QueueUrl.toString())
        HttpURLConnection request = (HttpURLConnection) QueueUrl.openConnection();

        NetFlix.oaconsumer.sign(request);
        request.connect();

        lastResponseMessage = request.getResponseCode() + ": " + request.getResponseMessage();

        if (request.getResponseCode() == 200) {
            // Log.d("NetFlix", request.getContentType())
            // //Log.d("NetFlix",request.getInputStream().toString())
            // return xml xmldoc
            xml = request.getInputStream();

            /*BufferedReader in = new BufferedReader(new InputStreamReader(
                  xml));
            String linein = null;
            while ((linein = in.readLine()) != null) {
               Log.d("NetFlix", "SearchMovie: " + linein);
            }*/
            SAXParserFactory spf = SAXParserFactory.newInstance();
            SAXParser sp;

            sp = spf.newSAXParser();

            XMLReader xr = sp.getXMLReader();
            // SearchResultsHandler myHandler = new
            // SearchResultsHandler(this);
            SearchQueueHandler myHandler = new SearchQueueHandler();
            xr.setContentHandler(myHandler);
            xr.parse(new InputSource(xml));
        }

    } catch (ParserConfigurationException e) {

        reportError(e, lastResponseMessage);
    } catch (SAXException e) {

        reportError(e, lastResponseMessage);
    } catch (IOException e) {

        reportError(e, lastResponseMessage);
        // Log.i("NetFlix", "IO Error connecting to NetFlix queue")
    } catch (OAuthMessageSignerException e) {

        reportError(e, lastResponseMessage);
    } catch (OAuthExpectationFailedException e) {

        reportError(e, lastResponseMessage);
    }

    return searchQueue;
}