List of usage examples for org.xml.sax XMLReader parse
public void parse(String systemId) throws IOException, SAXException;
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; }