コード例 #1
0
ファイル: PictureGetter.java プロジェクト: kidaak/TandemTable
  public void connect(String[] keywords, boolean failedOnce, boolean failedTwice) {
    try {
      if (!sketch.flickrInit) {
        sketch.f = new Flickr(Colours.apiKeyFlickr, Colours.secretFlickr, new REST());
        sketch.requestContext = RequestContext.getRequestContext();
        Flickr.debugRequest = false;
        Flickr.debugStream = false;
        sketch.flickrInit = true;
      }
      if (picAct.canceled) {
        picAct.removeImgs();
        return;
      }
      SearchParameters sParams = new SearchParameters();
      sParams.setTags(keywords);
      sParams.setTagMode("any");
      // sParams.setText(picAct.tagsStr);
      sParams.setSafeSearch("2");
      sParams.setSort(SearchParameters.RELEVANCE);

      picAct.list =
          sketch.f.getPhotosInterface().search(sParams, picAct.MAX_IMAGES, picAct.pageOffset);
      if (picAct.list.isEmpty() && !failedOnce && !failedTwice) {
        picAct.pageOffset = 1;
        picAct.currentPicsIndex = 0;
        connect(picAct.tags, true, false);
      } else if (picAct.list.isEmpty() && failedOnce && !failedTwice) {
        picAct.pageOffset = 1;
        picAct.currentPicsIndex = 0;
        connect(picAct.topic, false, true);
      } else if (picAct.list.isEmpty() && failedTwice) {
        picAct.failed = true;
        picAct.loading.setActive(false);
        System.out.println("Error: Flickr result list is empty.");
      } else {
        for (int i = 0; i < picAct.NUM_IMAGES; i++) {
          if (!picAct.canceled) {
            PImage img = loadImage();
            if (img != null) {
              picAct.setImgZone(picAct.imgs[i], img);
            }
          }
        }
      }

    } catch (IOException e) {
      picAct.failed = true;
      System.out.println("Error: Flickr IOException");
      e.printStackTrace();
    } catch (SAXException e) {
      picAct.failed = true;
      System.out.println("Error: Flickr SAXException");
      e.printStackTrace();
    } catch (FlickrException e) {
      picAct.failed = true;
      System.out.println("Error: Flickr FlickrException");
      e.printStackTrace();
    } catch (ParserConfigurationException e) {
      picAct.failed = true;
      System.out.println("Error: Flickr ParserConfigurationException");
      e.printStackTrace();
    }
  }