Ejemplo n.º 1
0
  protected static SortedMap<Integer, AgreementSummaryInstance> getAgreementSummaryList(
      List<Object[]> objects, boolean primary, boolean siteSearch) throws Exception {
    SortedMap<Integer, AgreementSummaryInstance> agreementMap =
        new TreeMap<Integer, AgreementSummaryInstance>();
    AgreementSummaryInstance instance = null;
    for (Object[] row : objects) {
      if (row.length >= 1 && row[0] instanceof Agreement) {
        Agreement agreement = (Agreement) row[0];
        if (agreementMap.containsKey(agreement.getId())) {
          instance = agreementMap.get(agreement.getId());
        } else {
          instance = getAgreementSummaryInstance(agreement, primary, siteSearch);
          agreementMap.put(instance.getId(), instance);
        }
      }
      if (row.length == 2
          && row[0] instanceof Agreement
          && row[1] != null
          && row[1] instanceof AgreementTerm) {
        AgreementTerm agreementTerm = (AgreementTerm) row[1];
        applyAgreementTerm(instance, agreementTerm);
      } else if (row.length != 2
          || !(row[0] instanceof Agreement)
          || !(row[1] == null || row[1] instanceof Agreement))
        throw new Exception("Unexpected SQL result in getAgreementSummaryList");
    }

    return agreementMap;

    //        List<AgreementSummaryInstance> results = new ArrayList<AgreementSummaryInstance>();
    //        results.addAll(agreementMap.values());
    //
    //        return results;
  }