Ejemplo n.º 1
0
  /**
   * . This method is for creating new subAward version
   *
   * @param subAwardDocument
   * @return newSubAwardDocument the newSubAwardDocument
   */
  public SubAwardDocument createNewSubAwardVersion(SubAwardDocument subAwardDocument)
      throws VersionException, WorkflowException {

    SubAward newVersion = getVersioningService().createNewVersion(subAwardDocument.getSubAward());

    SubAwardDocument newSubAwardDocument =
        (SubAwardDocument) getDocumentService().getNewDocument(SubAwardDocument.class);
    newSubAwardDocument
        .getDocumentHeader()
        .setDocumentDescription(subAwardDocument.getDocumentHeader().getDocumentDescription());
    newSubAwardDocument.setSubAward(newVersion);
    newVersion.setSubAwardDocument(newSubAwardDocument);
    return newSubAwardDocument;
  }
  @Override
  public List<KeyValue> getKeyValues() {
    final SubAwardDocument doc = (SubAwardDocument) getDocument();
    final StringBuilder fundingValues = new StringBuilder();
    final Long subawardID = doc.getSubAward().getSubAwardId();
    final List<KeyValue> keyValues = new ArrayList<>();
    final Collection<SubAwardFundingSource> fundingSource =
        getBusinessObjectService()
            .findMatching(
                SubAwardFundingSource.class, Collections.singletonMap("subAwardId", subawardID));

    for (SubAwardFundingSource subAwardFunding : fundingSource) {
      fundingValues.append(subAwardFunding.getAward().getAwardNumber());
      keyValues.add(
          new ConcreteKeyValue(
              subAwardFunding.getSubAwardFundingSourceId().toString(),
              "Award:" + subAwardFunding.getAward().getAwardNumber()));
    }
    if (fundingValues.length() == 0) {
      keyValues.add(
          0, new ConcreteKeyValue("", "No Funding Source has been added to this Subaward"));
    }
    return keyValues;
  }