예제 #1
0
  private Vector requestTimeline(String timelineUrl) {
    Vector entries = new Vector();
    if (authorize() == false) {
      if (authErrStatus != null) {
        entries.addElement(authErrStatus);
        return entries;
      }
    }
    try {
      boolean retry = false;
      do {
        // HttpUtil.setBasicAuthentication(username, password);
        HttpUtil.setBasicAuthentication("", "");
        StatusFeedParser parser = new StatusFeedParser();
        if (timelineUrl.equals(DIRECT_TIMELINE_URL)) {
          parser.setDirect(true);
        }
        xauth.xAuthWebRequest(false, timelineUrl, null, parser);
        // HttpUtil.doGet(timelineUrl, parser);
        int lastResponseCode = HttpUtil.getLastResponseCode();
        entries = parser.getStatuses();
        if (entries.isEmpty() && parser.isReallyEmpty() == false) {
          entries.addElement(
              new Status(
                  "Twitter",
                  "No statuses. API response from "
                      + timelineUrl
                      + " ("
                      + lastResponseCode
                      + "): "
                      + HttpUtil.getHeaders()
                      + " "
                      + parser.getRawData(),
                  Calendar.getInstance().getTime(),
                  ""));
          retry = !retry;
        } else if (entries.isEmpty() && parser.isReallyEmpty() == true) {
          entries.addElement(
              new Status("Twitter", "No Tweets found.", Calendar.getInstance().getTime(), ""));
        } else {
          retry = false;
        }
      } while (retry);
    } catch (IOException ex) {
      entries.addElement(
          new Status(
              "Twitter",
              "Error occured. Please check " + "your connection or username and password.",
              Calendar.getInstance().getTime(),
              ""));

      entries.addElement(
          new Status(
              "Twitter", "StackTrace: " + ex.toString(), Calendar.getInstance().getTime(), ""));

      ex.printStackTrace();
    } catch (Exception ex) {
      entries.addElement(
          new Status(
              "Twitter", "API exception: " + ex.toString(), Calendar.getInstance().getTime(), ""));
    }
    return entries;
  }