Modifications required to existing business processes

In all places where there are existing calls to insert, modify, and less frequently, remove methods, the code needs to be updated to invoke the EvidenceController as well as the insert, modify and remove methods as appropriate. An example of how an insert works with Evidence is shown below:

Figure 1. Before
// insert new citizenship entry
citizenshipObj.insert(citizenshipDtls);
Figure 2. After
//
// Call the EvidenceController object and insert evidence
// Evidence descriptor details
EvidenceDescriptorInsertDtls evidenceDescriptorInsertDtls =
  new EvidenceDescriptorInsertDtls();
evidenceDescriptorInsertDtls.participantID =
  details.concernRoleID;
evidenceDescriptorInsertDtls.evidenceType =
  CASEEVIDENCE.CITIZENSHIP;
evidenceDescriptorInsertDtls.receivedDate =
Date.getCurrentDate();

// Evidence Interface details
EIEvidenceInsertDtls eiEvidenceInsertDtls =
  new EIEvidenceInsertDtls();
eiEvidenceInsertDtls.descriptor.assign(
  evidenceDescriptorInsertDtls);
eiEvidenceInsertDtls.descriptor.participantID =
  citizenshipDtls.concernRoleID;
eiEvidenceInsertDtls.evidenceObject =
  citizenshipDtls;

// EvidenceController business object
curam.core.sl.infrastructure.impl.EvidenceControllerInterface
  evidenceControllerObj =
  (curam.core.sl.infrastructure.impl.EvidenceControllerInterface)
  curam.core.sl.infrastructure.fact.EvidenceControllerFactory
  .newInstance();

// Insert the evidence
EIEvidenceKey eiEvidenceKey =
  evidenceControllerObj.insertEvidence(eiEvidenceInsertDtls);