Schritt 1: Bereitstellen einer Implementierung für die Zuweisungsstrategie von Falleigentümern

Das nachfolgende Code-Snippet veranschaulicht eine Beispielimplementierung für PDCCaseOwnerAssignmentStrategy: Es legt als Eigentümer einfach den Systembenutzer fest.

@Singleton
public class SampleCaseOwnerAssignmentStrategyImpl 
  implements PDCCaseOwnerAssignmentStrategy {

  public void createOwner(CaseHeaderKey key, OrgObjectLinkDtls ownerDtls)
    throws AppException, InformationalException {

    ownerDtls.orgObjectType = ORGOBJECTTYPE.USER;
    ownerDtls.userName = UserAccessFactory.newInstance().getSystemUserDetails().userName;
    
    OrgObjectLinkFactory.newInstance().insert(ownerDtls);
    
    OrgObjectLinkKey orgObjectLinkKey = new OrgObjectLinkKey();
    orgObjectLinkKey.orgObjectLinkID = ownerDtls.orgObjectLinkID;
    
    CaseUserRoleDtls caseUserRoleDtls = new CaseUserRoleDtls();
    caseUserRoleDtls.caseID = key.caseID;
    caseUserRoleDtls.orgObjectLinkID = orgObjectLinkKey.orgObjectLinkID;
    caseUserRoleDtls.typeCode = CASEUSERROLETYPE.OWNER;
    caseUserRoleDtls.recordStatus = RECORDSTATUS.NORMAL;
    
    curam.core.sl.entity.fact.CaseUserRoleFactory.newInstance().insert(caseUserRoleDtls);
   
    CaseHeader caseHeaderObj = CaseHeaderFactory.newInstance();    
    CaseHeaderDtls caseHeaderDtls = caseHeaderObj.read(key);
    caseHeaderDtls.ownerOrgObjectLinkID = orgObjectLinkKey.orgObjectLinkID;
    caseHeaderObj.modify(key, caseHeaderDtls);    
  }
}