示例#1
0
 public void incomingJsonRow(JsonRow r) {
   synchronized (promise) {
     if (isFailed()) return;
     else if (numUrlsWaitingOnStatus > 0) {
       Cache cache2 = cache.get(r.getUrl());
       cache2.addResponse(r);
       return;
     }
     promise.addResponse(r);
   }
 }
示例#2
0
  public void complete(String url) {
    synchronized (promise) {
      if (log.isInfoEnabled())
        log.info(
            "complete.  failure url=" + failureUrl + " numUrlsWaiting=" + numUrlsWaitingOnStatus);
      if (isFailed()) {
        if (failureUrl.equals(url)) sendFailure(url);
        return;
      }

      Complete c = new Complete();
      c.setUrl(url);
      if (numUrlsWaitingOnStatus > 0) {
        if (log.isInfoEnabled()) log.info("cache the complete response");
        Cache cache2 = cache.get(url);
        cache2.addResponse(c);
        return;
      }

      if (log.isInfoEnabled()) log.info("add completion to promise");
      promise.addResponse(c);
    }
  }