The facade operation calls the evidence service layer implementation.
// __________________________________________________________
/**
* Modifies an Asset evidence record.
*
* @param details The modified evidence details.
*
* @return The details of the modified evidence record.
*/
public ReturnEvidenceDetails modifyAssetEvidence(
AssetEvidenceDetails dtls)
throws AppException, InformationalException {
// set the informational manager for the transaction
TransactionInfo.setInformationalManager();
// Asset evidence manipulation object
Asset evidenceObj = AssetFactory.newInstance();
// return object
ReturnEvidenceDetails modifiedEvidenceDetails =
new ReturnEvidenceDetails();
// modify the Asset record and populate the return details
modifiedEvidenceDetails =
evidenceObj.modifyAssetEvidence(dtls);
modifiedEvidenceDetails.warnings =
EvidenceControllerFactory.newInstance().getWarnings();
return modifiedEvidenceDetails;
}
This service layer operation calls the Evidence Controller infrastructure function for modifying evidence.
// __________________________________________________________
/**
* Modifies an Asset record.
*
* @param dtls Contains Asset evidence record modification
* details.
*
* @return The modified evidence ID and warnings.
*/
public ReturnEvidenceDetails modifyAssetEvidence
(AssetEvidenceDetails details)
throws AppException, InformationalException {
// validate the mandatory fields
validateMandatoryDetails(details);
// EvidenceController business object
EvidenceControllerInterface evidenceControllerObj =
(EvidenceControllerInterface)
EvidenceControllerFactory.newInstance();
EIEvidenceKey eiEvidenceKey = new EIEvidenceKey();
//
// Call the EvidenceController to modify the evidence
//
eiEvidenceKey.evidenceID = details.dtls.evidenceID;
eiEvidenceKey.evidenceType = CASEEVIDENCE.ASSET;
// Create the evidence interface modification struct and assign
// the details
EIEvidenceModifyDtls eiEvidenceModifyDtls =
new EIEvidenceModifyDtls();
eiEvidenceModifyDtls.descriptor.receivedDate =
details.descriptor.receivedDate;
eiEvidenceModifyDtls.descriptor.versionNo =
details.descriptor.versionNo;
eiEvidenceModifyDtls.descriptor.effectiveFrom =
details.descriptor.effectiveFrom;
eiEvidenceModifyDtls.descriptor.changeReceivedDate =
details.descriptor.changeReceivedDate;
eiEvidenceModifyDtls.descriptor.changeReason =
details.descriptor.changeReason;
eiEvidenceModifyDtls.evidenceObject = details.dtls;
evidenceControllerObj.modifyEvidence(
eiEvidenceKey, eiEvidenceModifyDtls);
//
// Return details from the modify operation
//
ReturnEvidenceDetails returnEvidenceDetails =
new ReturnEvidenceDetails();
returnEvidenceDetails.evidenceKey.evidenceID =
eiEvidenceKey.evidenceID;
returnEvidenceDetails.evidenceKey.evType =
eiEvidenceKey.evidenceType;
returnEvidenceDetails.warnings =
evidenceControllerObj.getWarnings();
return returnEvidenceDetails;
}