com.sun.mdm.index.ejb.master
Class MasterControllerCoreImpl

java.lang.Object
  extended bycom.sun.mdm.index.ejb.master.MasterControllerCoreImpl
All Implemented Interfaces:
MasterControllerCore

public class MasterControllerCoreImpl
extends java.lang.Object
implements MasterControllerCore

The MasterControllerCoreImpl is the implementation of MasterControllerCore


Constructor Summary
MasterControllerCoreImpl()
          No argument constructor required by container.
 
Method Summary
 void activateEnterpriseObject(java.sql.Connection con, java.lang.String euid)
          Return a deactivated enterprise object back to active status.
 void activateSystemObject(java.sql.Connection con, SystemObjectPK systemKey)
          Return a deactivated system object back to active status.
 void addSystemObject(java.sql.Connection con, java.lang.String euid, SystemObject sysObj)
          Adds the SystemObject to the EnterpriseObject specified by EUID.
 void beginTransaction()
          Start a new transaction.
 void calculatePotentialDuplicates(java.sql.Connection con, java.lang.String euid, java.lang.String transID)
          Calculates potential duplicates for a specified EUID and transaction ID.
 SBR calculateSBR(EnterpriseObject eo)
          Calculates the new SBR given an enterprise object that has been modified.
 void cleanUp()
           
 void commitTransaction(java.sql.Connection con)
          Commit current transaction.
 int countAssumedMatches(java.sql.Connection con, AssumedMatchSearchObject amso)
          Counts the number of assumed match records matching the date criteria specified in search object.
 int countPotentialDuplicates(java.sql.Connection con, PotentialDuplicateSearchObject pdso)
          Counts the number of potential duplicate records matching the criteria specified in search object.
 EnterpriseObject createEnterpriseObject(java.sql.Connection con, SystemObject sysobj)
          Adds a new enterprise object to the database using the given system object.
 EnterpriseObject createEnterpriseObject(java.sql.Connection con, SystemObject[] sysobj)
          Adds a new enterprise object to the database using the given array of system objects.
 void deactivateEnterpriseObject(java.sql.Connection con, java.lang.String euid)
          Deactivate enterprise object based on key.
 void deactivateSystemObject(java.sql.Connection con, SystemObjectPK systemKey)
          Deactivate a system object based on the given key.
 void deleteSystemObject(java.sql.Connection con, SystemObjectPK systemKey)
          Permanently delete a system object from an enterprise object.
 MatchResult executeMatch(java.sql.Connection con, SystemObject sysObj)
          If the SO record exists, the incoming record replaces the existing record, including all the children.
 MatchResult executeMatchDupRecalc(java.sql.Connection con, SystemObject sysObj, java.lang.Boolean performPessimistic)
          If the SO record exists, the incoming record replaces the existing record, including all the children.
 MatchResult executeMatchGui(java.sql.Connection con, SystemObject sysObj)
          If the SO record exists, the incoming record replaces the existing record, including all the children.
 MatchResult executeMatchUpdate(java.sql.Connection con, SystemObject sysObj)
          If the SO record exists, updates existing fields and children.
 MatchResult executeMatchUpdateDupRecalc(java.sql.Connection con, SystemObject sysObj, java.lang.Boolean performPessimistic)
          If the SO record exists, updates existing fields and children.
 float getAssumedMatchThreshold()
          Retrieve the Assumed Match threshold.
 java.lang.Object getConfigurationValue(java.lang.String param)
          Get configuration value
 java.sql.Connection getConnection()
          Get JDBC connection
 java.lang.String getDatabaseStatus()
           
 float getDuplicateThreshold()
          Retrieve the potential duplicate threshold.
 EnterpriseObject getEnterpriseObject(java.sql.Connection con, java.lang.String euid)
          Return EnterpiseObject associated with EUID or null if not found.
 EnterpriseObject getEnterpriseObject(java.sql.Connection con, java.lang.String euid, EOGetOptions options)
          Return EnterpiseObject associated with EUID or null if not found.
 EnterpriseObject getEnterpriseObject(java.sql.Connection con, SystemObjectPK key)
          Return EnterpriseObject associated with a system object key or null if not found.
 java.lang.String getEUID(java.sql.Connection con, SystemObjectPK key)
          Return EUID associated with a system object key or null if not found.
 java.util.Map getLinkValues(EnterpriseObject eo, java.sql.Connection conn)
          Returns a map with (fieldName, actual value for link) for the given EO.
 MergeHistoryNode getMergeHistory(java.sql.Connection con, java.lang.String euid)
          Return a tree like structure representing all of the merge transactions that have taken place that are related to the given EUID.
 java.lang.Integer getRevisionNumber(java.sql.Connection con, java.lang.String euid)
          Retrieves the SBR revision number for the specified EUID.
 SBR getSBR(java.sql.Connection con, java.lang.String euid)
          Return SBR associated with an EUID or null if not found.
 SystemObject getSystemObject(java.sql.Connection con, SystemObjectPK key)
          Return SystemObject associated with a key or null if not found.
 void init(SessionContext context)
          initialize MasterControllerCoreImpl
 void insertAuditLog(java.sql.Connection con, AuditDataObject auditObject)
          Insert an audit log record.
 AssumedMatchIterator lookupAssumedMatches(java.sql.Connection con, AssumedMatchSearchObject o)
          Returns an iterator of assumed match summaries based on search object criteria.
 AuditIterator lookupAuditLog(java.sql.Connection con, AuditSearchObject obj)
          Search for audit records.
 PotentialDuplicateIterator lookupPotentialDuplicates(java.sql.Connection con, PotentialDuplicateSearchObject obj)
          Returns an iterator of potential duplicate summaries based on search object criteria.
 SystemDefinition lookupSystemDefinition(java.sql.Connection con, java.lang.String systemCode)
          Return a system definition for a given system code.
 SystemDefinition[] lookupSystemDefinitions(java.sql.Connection con)
          Return array of system definition
 SystemObjectPK[] lookupSystemObjectPKs(java.sql.Connection con, java.lang.String euid)
          Returns an array of all system object keys belonging to the given EUID.
 SystemObjectPK[] lookupSystemObjectPKs(java.sql.Connection con, java.lang.String euid, java.lang.String status)
          Returns an array of system object keys with the given status belonging to the given EUID.
 SystemObjectPK[] lookupSystemObjectPKs(java.sql.Connection con, java.lang.String sourceSystem, java.lang.String sourceLID, java.lang.String destSystem, java.lang.String status)
          Returns an array of system object keys with the given status belonging to the given destination system whose EUID matches the source system code / lid.
 SystemObject[] lookupSystemObjects(java.sql.Connection con, java.lang.String euid)
          Lookup active system objects only for the given EUID.
 SystemObject[] lookupSystemObjects(java.sql.Connection con, java.lang.String euid, java.lang.String status)
          Lookup system objects with the given EUID and status
 TransactionSummary lookupTransaction(java.sql.Connection con, java.lang.String transId)
          Returns the transaction summary based on the given search transaction id.
 TransactionIterator lookupTransactions(java.sql.Connection con, TransactionSearchObject searchObj)
          Returns an array of transaction summaries based on the given search criteria.
 MergeResult mergeEnterpriseObject(java.sql.Connection con, java.lang.String sourceEUID, EnterpriseObject destinationEO, boolean calculateOnly)
          Merge the enterprise records based on the given source EUID and the destination EO.
 MergeResult mergeEnterpriseObject(java.sql.Connection con, java.lang.String sourceEUID, EnterpriseObject destinationEO, java.lang.String srcRevisionNumber, java.lang.String destRevisionNumber, boolean calculateOnly)
          Merge the enterprise records based on the given source EUID and the destination EO.
 MergeResult mergeEnterpriseObject(java.sql.Connection con, java.lang.String sourceEUID, java.lang.String destinationEUID, boolean calculateOnly)
          Merge the enterprise records based on the given EUID's.
 MergeResult mergeEnterpriseObject(java.sql.Connection con, java.lang.String sourceEUID, java.lang.String destinationEUID, java.lang.String srcRevisionNumber, java.lang.String destRevisionNumber, boolean calculateOnly)
          Merge the enterprise records based on the given EUID's.
 MergeResult[] mergeMultipleEnterpriseObjects(java.sql.Connection con, java.lang.String[] sourceEUIDs, EnterpriseObject destinationEO, java.lang.String[] srcRevisionNumbers, java.lang.String destRevisionNumber, boolean calculateOnly)
          Merge multiple enterprise records based on the given source EUIDs and the destination EO.
 MergeResult mergeSystemObject(java.sql.Connection con, java.lang.String systemCode, java.lang.String sourceLID, java.lang.String destLID, boolean calculateOnly)
          Merge the two lids for the given system.
 MergeResult mergeSystemObject(java.sql.Connection con, java.lang.String systemCode, java.lang.String sourceLID, java.lang.String destLID, ObjectNode destImage, boolean calculateOnly)
          Merge the given local id into the destination system object.
 MergeResult mergeSystemObject(java.sql.Connection con, java.lang.String systemCode, java.lang.String sourceLID, java.lang.String destLID, ObjectNode destImage, java.lang.String srcRevisionNumber, java.lang.String destRevisionNumber, boolean calculateOnly)
          Merge the given local id into the destination system object.
 MergeResult mergeSystemObject(java.sql.Connection con, java.lang.String systemCode, java.lang.String sourceLID, java.lang.String destLID, ObjectNode destImage, java.lang.String srcRevisionNumber, java.lang.String destRevisionNumber, boolean calculateOnly, java.lang.Boolean performPessimistic)
          Merge the given local id into the destination system object.
 MergeResult mergeSystemObject(java.sql.Connection con, java.lang.String systemCode, java.lang.String sourceLID, java.lang.String destLID, java.lang.String srcRevisionNumber, java.lang.String destRevisionNumber, boolean calculateOnly)
          Merge the two lids for the given system.
 EnterpriseObject previewUndoAssumedMatch(java.sql.Connection con, java.lang.String assumedMatchId)
          Preview Undo an assumed match.
 void releaseResources(java.sql.Connection con)
          Release JDBC connection (return to pool) and JMS resources.
 void resolvePotentialDuplicate(java.sql.Connection con, java.lang.String id, boolean autoResolve)
          Mark the potential duplicate with resolve or auto resolve status.
 void rollbackTransaction(java.sql.Connection con)
          Rollback current transaction.
 EOSearchResultIterator searchEnterpriseObject(EOSearchCriteria criteria, EOSearchOptions searchOptions)
          Returns an iterator of objects that match the given search criteria and options.
 EOSearchResultIterator searchEnterpriseObject(java.lang.String[] Euids, EOSearchOptions searchOptions)
          Returns an iterator of objects that match the given search criteria and options.
 void setObjectName(java.lang.String objectName)
           
 void setSecurityManager(SecurityManager securityManager)
           
 void setTransactionMode(boolean mIsTransactional)
          Set whtether it is in transacitonal mode.
 void setTransactionType(java.lang.String type)
           
 void transferSystemObject(java.sql.Connection con, java.lang.String destinationEUID, SystemObjectPK systemKey)
          Transfer system object from one enterprise object to another
 java.lang.String undoAssumedMatch(java.sql.Connection con, java.lang.String assumedMatchId)
          Undo an assumed match.
 MergeResult unmergeEnterpriseObject(java.sql.Connection con, java.lang.String activeEUID, boolean calculateOnly)
          Decouple the enterprise objects involved in the last merge operation for the given EUID.
 MergeResult unmergeEnterpriseObject(java.sql.Connection con, java.lang.String activeEUID, java.lang.String srcRevisionNumber, boolean calculateOnly)
          Decouple the enterprise objects involved in the last merge operation for the given EUID.
 MergeResult unmergeSystemObject(java.sql.Connection con, java.lang.String systemCode, java.lang.String sourceLID, java.lang.String destLID, boolean calculateOnly)
          Return the given merged local identifier to active status.
 MergeResult unmergeSystemObject(java.sql.Connection con, java.lang.String systemCode, java.lang.String sourceLID, java.lang.String destLID, java.lang.String srcRevisionNumber, boolean calculateOnly)
          Return the given merged local identifier to active status.
 void unresolvePotentialDuplicate(java.sql.Connection con, java.lang.String id)
          Change the status of a resolved or auto resolved potential duplicate back to unresolved.
 UpdateResult updateEnterpriseDupRecalc(java.sql.Connection con, EnterpriseObject eo, java.lang.Boolean performPessimistic)
          Update the database to reflect the new values of the given modified enterprise object.
 void updateEnterpriseObject(java.sql.Connection con, EnterpriseObject eo)
          Update the database to reflect the new values of the given modified enterprise object.
 EnterpriseObject updateSBR(java.util.Map mapSystems, EnterpriseObject eo, boolean removalFlag)
          Updates SBR by collecting the values from MAP to the SBR that specified by EUID.
 void updateSystemObject(java.sql.Connection con, SystemObject sysobj)
          Update the database to reflect the new values of the given modified system object.
 void updateSystemObject(java.sql.Connection con, SystemObject sysobj, java.lang.String revisionNumber)
          Update the database to reflect the new values of the given modified system object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MasterControllerCoreImpl

public MasterControllerCoreImpl()
No argument constructor required by container.

Method Detail

activateEnterpriseObject

public void activateEnterpriseObject(java.sql.Connection con,
                                     java.lang.String euid)
                              throws ProcessingException,
                                     UserException
Return a deactivated enterprise object back to active status.

Specified by:
activateEnterpriseObject in interface MasterControllerCore
Parameters:
con - Connection
euid - The euid on which to perform the action.
Throws:
ProcessingException - An error has occured.
UserException - Invalid euid (null or empty string)

activateSystemObject

public void activateSystemObject(java.sql.Connection con,
                                 SystemObjectPK systemKey)
                          throws ProcessingException,
                                 UserException
Return a deactivated system object back to active status.

Specified by:
activateSystemObject in interface MasterControllerCore
Parameters:
con - Connection
systemKey - The system object key on which to perform the action.
Throws:
ProcessingException - An error has occured.
UserException - Invalid key (null or empty string)

addSystemObject

public void addSystemObject(java.sql.Connection con,
                            java.lang.String euid,
                            SystemObject sysObj)
                     throws ProcessingException,
                            UserException
Adds the SystemObject to the EnterpriseObject specified by EUID.

Specified by:
addSystemObject in interface MasterControllerCore
Parameters:
con - Connection
euid - The EUID on which to perform the action.
sysObj - The system object to be added.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

beginTransaction

public void beginTransaction()
                      throws ProcessingException
Start a new transaction.

Specified by:
beginTransaction in interface MasterControllerCore
Throws:
ProcessingException

calculatePotentialDuplicates

public void calculatePotentialDuplicates(java.sql.Connection con,
                                         java.lang.String euid,
                                         java.lang.String transID)
                                  throws ProcessingException
Calculates potential duplicates for a specified EUID and transaction ID. These are persisted to the database.

Specified by:
calculatePotentialDuplicates in interface MasterControllerCore
Parameters:
con - Connection
euid - EUID to process
transID - transaction ID to process
Returns:
potential duplicates
Throws:
ProcessingException - An error occured.
RemoteException - An error occured.

calculateSBR

public SBR calculateSBR(EnterpriseObject eo)
                 throws ProcessingException,
                        UserException
Calculates the new SBR given an enterprise object that has been modified.

Specified by:
calculateSBR in interface MasterControllerCore
Parameters:
eo - The enterprise object to compute the SBR.
Returns:
The computed SBR for the enterprise object.
Throws:
ProcessingException - An error has occured.
UserException - A validation error occured

cleanUp

public void cleanUp()
Description copied from interface: MasterControllerCore
clean up before the bean is Destroyed

Specified by:
cleanUp in interface MasterControllerCore

commitTransaction

public void commitTransaction(java.sql.Connection con)
                       throws ProcessingException
Commit current transaction.

Specified by:
commitTransaction in interface MasterControllerCore
Parameters:
con - database connection
Throws:
ProcessingException

countAssumedMatches

public int countAssumedMatches(java.sql.Connection con,
                               AssumedMatchSearchObject amso)
                        throws ProcessingException,
                               UserException
Counts the number of assumed match records matching the date criteria specified in search object. This does not handle searches based on EUID nor SystemCode/LID.

Specified by:
countAssumedMatches in interface MasterControllerCore
Returns:
count of the assumed match records matching the search criteria.
Throws:
ProcessingException - An error has occured.
UserException - Invalid search object

countPotentialDuplicates

public int countPotentialDuplicates(java.sql.Connection con,
                                    PotentialDuplicateSearchObject pdso)
                             throws ProcessingException,
                                    UserException
Counts the number of potential duplicate records matching the criteria specified in search object. This does not handle searches based on EUID nor SystemCode/LID.

Specified by:
countPotentialDuplicates in interface MasterControllerCore
Returns:
count of the potential duplicate records matching the search criteria.
Throws:
ProcessingException - An error has occured.
UserException - Invalid search object

createEnterpriseObject

public EnterpriseObject createEnterpriseObject(java.sql.Connection con,
                                               SystemObject sysobj)
                                        throws ProcessingException,
                                               UserException
Adds a new enterprise object to the database using the given system object.

Specified by:
createEnterpriseObject in interface MasterControllerCore
Parameters:
con - Connection
sysobj - The system object to use as basis for new EO.
Returns:
New EO.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

createEnterpriseObject

public EnterpriseObject createEnterpriseObject(java.sql.Connection con,
                                               SystemObject[] sysobj)
                                        throws ProcessingException,
                                               UserException
Adds a new enterprise object to the database using the given array of system objects.

Specified by:
createEnterpriseObject in interface MasterControllerCore
Parameters:
con - Connection
sysobj - The system objects to use as basis for new EO.
Returns:
New EO.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

deactivateEnterpriseObject

public void deactivateEnterpriseObject(java.sql.Connection con,
                                       java.lang.String euid)
                                throws ProcessingException,
                                       UserException
Deactivate enterprise object based on key.

Specified by:
deactivateEnterpriseObject in interface MasterControllerCore
Parameters:
con - Connection
euid - The euid on which to perform the action.
Throws:
ProcessingException - An error has occured.
UserException - Invalid euid (null or empty string)

deactivateSystemObject

public void deactivateSystemObject(java.sql.Connection con,
                                   SystemObjectPK systemKey)
                            throws ProcessingException,
                                   UserException
Deactivate a system object based on the given key. Note that this is different than deleteSystemObject in that the record is not removed from the database, only its status is changed.

Specified by:
deactivateSystemObject in interface MasterControllerCore
Parameters:
con - Connection
systemKey - The system object key on which to perform the action.
Throws:
ProcessingException - An error has occured.
UserException - Invalid key (null or empty string)

deleteSystemObject

public void deleteSystemObject(java.sql.Connection con,
                               SystemObjectPK systemKey)
                        throws ProcessingException,
                               UserException
Permanently delete a system object from an enterprise object. This allows the system object key to be reused.

Specified by:
deleteSystemObject in interface MasterControllerCore
Parameters:
con - Connection
systemKey - The system object key on which to perform the action.
Throws:
ProcessingException - An error has occured.
UserException - Invalid key (null or empty string)

executeMatch

public MatchResult executeMatch(java.sql.Connection con,
                                SystemObject sysObj)
                         throws ProcessingException,
                                UserException
If the SO record exists, the incoming record replaces the existing record, including all the children.

Specified by:
executeMatch in interface MasterControllerCore
Parameters:
con - Connection
sysObj - System object to process.
Returns:
The result of the processing.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

executeMatchDupRecalc

public MatchResult executeMatchDupRecalc(java.sql.Connection con,
                                         SystemObject sysObj,
                                         java.lang.Boolean performPessimistic)
                                  throws ProcessingException,
                                         UserException
If the SO record exists, the incoming record replaces the existing record, including all the children. If performPessimistic is set to false, the pessimistic mode processing is deferred.

Specified by:
executeMatchDupRecalc in interface MasterControllerCore
Parameters:
con - Connection
sysObj - System object to process.
performPessimistic - set to true to enable pessimistic mode processing, false otherwise
Returns:
The result of the processing.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

executeMatchGui

public MatchResult executeMatchGui(java.sql.Connection con,
                                   SystemObject sysObj)
                            throws ProcessingException,
                                   UserException
If the SO record exists, the incoming record replaces the existing record, including all the children.

Specified by:
executeMatchGui in interface MasterControllerCore
Parameters:
con - Connection
sysObj - System object to process.
Returns:
The result of the processing.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

executeMatchUpdate

public MatchResult executeMatchUpdate(java.sql.Connection con,
                                      SystemObject sysObj)
                               throws ProcessingException,
                                      UserException
If the SO record exists, updates existing fields and children. If the field is null, it remains untouched.

Specified by:
executeMatchUpdate in interface MasterControllerCore
Parameters:
con - Connection
sysObj - System object to process.
Returns:
The result of the processing.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

executeMatchUpdateDupRecalc

public MatchResult executeMatchUpdateDupRecalc(java.sql.Connection con,
                                               SystemObject sysObj,
                                               java.lang.Boolean performPessimistic)
                                        throws ProcessingException,
                                               UserException
If the SO record exists, updates existing fields and children. If the field is null, it remains untouched. If performPessimistic is set to false, the pessimistic mode processing is deferred.

Specified by:
executeMatchUpdateDupRecalc in interface MasterControllerCore
Parameters:
con - Connection
sysObj - System object to process.
performPessimistic - set to true to enable pessimistic mode processing, false otherwise
Returns:
The result of the processing.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

getAssumedMatchThreshold

public float getAssumedMatchThreshold()
Retrieve the Assumed Match threshold.

Specified by:
getAssumedMatchThreshold in interface MasterControllerCore

getConfigurationValue

public java.lang.Object getConfigurationValue(java.lang.String param)
                                       throws ProcessingException,
                                              UserException
Get configuration value

Specified by:
getConfigurationValue in interface MasterControllerCore
Parameters:
param - parameter name
Returns:
parameter value
Throws:
ProcessingException - processing error
UserException - invalid parameter

getConnection

public java.sql.Connection getConnection()
                                  throws ConnectionInvalidException
Get JDBC connection

Specified by:
getConnection in interface MasterControllerCore
Returns:
JDBC connection from pool.
Throws:
java.lang.Exception - An error occured.
ConnectionInvalidException

getDatabaseStatus

public java.lang.String getDatabaseStatus()
                                   throws ProcessingException,
                                          UserException
Description copied from interface: MasterControllerCore
Retrieves the status of the master index database.

Parameters:
None.

Specified by:
getDatabaseStatus in interface MasterControllerCore
Returns:
String - The status of the master index database.
Throws:
ProcessingException - Thrown if an error occurs while checking the status.
UserException - Thrown if the call is invalid.

getDuplicateThreshold

public float getDuplicateThreshold()
Retrieve the potential duplicate threshold.

Specified by:
getDuplicateThreshold in interface MasterControllerCore

getEnterpriseObject

public EnterpriseObject getEnterpriseObject(java.sql.Connection con,
                                            java.lang.String euid)
                                     throws ProcessingException,
                                            UserException
Return EnterpiseObject associated with EUID or null if not found.

Specified by:
getEnterpriseObject in interface MasterControllerCore
Parameters:
con - Connection
euid - The EUID on which to perform the action.
Returns:
EnterpriseObject for given EUID or null if not found.
Throws:
ProcessingException - An error has occured.
UserException - Invalid euid (null or empty string)

getEnterpriseObject

public EnterpriseObject getEnterpriseObject(java.sql.Connection con,
                                            java.lang.String euid,
                                            EOGetOptions options)
                                     throws ProcessingException,
                                            UserException
Return EnterpiseObject associated with EUID or null if not found.

Specified by:
getEnterpriseObject in interface MasterControllerCore
Parameters:
con - Connection
euid - The EUID on which to perform the action.
options - A list of ePaths that define which types of objects to retrieve to create the resulting EnterpriseObject.
Returns:
EnterpriseObject for given EUID or null if not found.
Throws:
ProcessingException - An error has occured.
UserException - Invalid euid (null or empty string)

getEnterpriseObject

public EnterpriseObject getEnterpriseObject(java.sql.Connection con,
                                            SystemObjectPK key)
                                     throws ProcessingException,
                                            UserException
Return EnterpriseObject associated with a system object key or null if not found. Only active system objects can be used for the lookup.

Specified by:
getEnterpriseObject in interface MasterControllerCore
Parameters:
con - Connection
key - The system object key on which to perform the action.
Returns:
EnterpriseObject for given key.
Throws:
ProcessingException - An error has occured.
UserException - Invalid key (null or empty string)

getEUID

public java.lang.String getEUID(java.sql.Connection con,
                                SystemObjectPK key)
                         throws ProcessingException,
                                UserException
Return EUID associated with a system object key or null if not found.

Specified by:
getEUID in interface MasterControllerCore
Parameters:
con - Connection
key - The system object key on which to perform the action
Returns:
EUID for given key.
Throws:
ProcessingException - An error has occured.
UserException - Invalid key (nulls or empty strings)

getLinkValues

public java.util.Map getLinkValues(EnterpriseObject eo,
                                   java.sql.Connection conn)
                            throws ObjectException,
                                   ConnectionInvalidException,
                                   OPSException
Returns a map with (fieldName, actual value for link) for the given EO.

Specified by:
getLinkValues in interface MasterControllerCore
Parameters:
eo - The EnterpriseObject that has LINKs
Returns:
resultMap map with (fieldName, actual value for link) for the given EO.
Throws:
ObjectException - An error occured.
ConnectionInvalidException - An error occured.
OPSException - An error occured.

getMergeHistory

public MergeHistoryNode getMergeHistory(java.sql.Connection con,
                                        java.lang.String euid)
                                 throws ProcessingException,
                                        UserException
Return a tree like structure representing all of the merge transactions that have taken place that are related to the given EUID.

Specified by:
getMergeHistory in interface MasterControllerCore
Parameters:
con - Connection
euid - The EUID on which to perform the action.
Returns:
Merge history for given EUID.
Throws:
ProcessingException - An error has occured.
UserException - Invalid euid (null or empty string)

getRevisionNumber

public java.lang.Integer getRevisionNumber(java.sql.Connection con,
                                           java.lang.String euid)
                                    throws ProcessingException
Retrieves the SBR revision number for the specified EUID.

Specified by:
getRevisionNumber in interface MasterControllerCore
Parameters:
con - Connection
euid - The EUID to check.
Returns:
An Integer containing the revision number.
Throws:
ProcessingException - Thrown if an error occurs during the lookup.

getSBR

public SBR getSBR(java.sql.Connection con,
                  java.lang.String euid)
           throws ProcessingException,
                  UserException
Return SBR associated with an EUID or null if not found.

Specified by:
getSBR in interface MasterControllerCore
Parameters:
con - Connection
euid - The EUID on which to perform the action.
Returns:
SBR for given EUID.
Throws:
ProcessingException - An error has occured.
UserException - Invalid euid (null or empty string)

getSystemObject

public SystemObject getSystemObject(java.sql.Connection con,
                                    SystemObjectPK key)
                             throws ProcessingException,
                                    UserException
Return SystemObject associated with a key or null if not found.

Specified by:
getSystemObject in interface MasterControllerCore
Parameters:
con - Connection
key - The system object key on which to perform the action.
Returns:
SystemObject for given key or null if not found.
Throws:
ProcessingException - An error has occured.
UserException - Invalid key (null or empty string)

init

public void init(SessionContext context)
          throws java.lang.Exception
initialize MasterControllerCoreImpl

Specified by:
init in interface MasterControllerCore
Parameters:
context - SessionContext
Throws:
java.lang.Exception - An error has occured.

insertAuditLog

public void insertAuditLog(java.sql.Connection con,
                           AuditDataObject auditObject)
                    throws ProcessingException,
                           UserException
Insert an audit log record.

Specified by:
insertAuditLog in interface MasterControllerCore
Parameters:
con - Connection
auditObject - The audit log record to insert.
Throws:
ProcessingException - An error has occured.
UserException - Invalid audit object

lookupAssumedMatches

public AssumedMatchIterator lookupAssumedMatches(java.sql.Connection con,
                                                 AssumedMatchSearchObject o)
                                          throws ProcessingException,
                                                 UserException
Returns an iterator of assumed match summaries based on search object criteria.

Specified by:
lookupAssumedMatches in interface MasterControllerCore
Parameters:
con - Connection
o - Search criteria.
Returns:
Iterator of search results.
Throws:
ProcessingException - An error has occured.
UserException - Invalid search object

lookupAuditLog

public AuditIterator lookupAuditLog(java.sql.Connection con,
                                    AuditSearchObject obj)
                             throws ProcessingException,
                                    UserException
Search for audit records.

Specified by:
lookupAuditLog in interface MasterControllerCore
Parameters:
con - Connection
obj - Search criteria.
Returns:
Iterator of search results.
Throws:
ProcessingException - An error has occured.
UserException - Invalid search object

lookupPotentialDuplicates

public PotentialDuplicateIterator lookupPotentialDuplicates(java.sql.Connection con,
                                                            PotentialDuplicateSearchObject obj)
                                                     throws ProcessingException,
                                                            UserException
Returns an iterator of potential duplicate summaries based on search object criteria.

Specified by:
lookupPotentialDuplicates in interface MasterControllerCore
Parameters:
con - Connection
obj - Search criteria.
Returns:
Iterator of search results.
Throws:
ProcessingException - An error has occured.
UserException - Invalid search object

lookupSystemDefinition

public SystemDefinition lookupSystemDefinition(java.sql.Connection con,
                                               java.lang.String systemCode)
                                        throws ProcessingException
Return a system definition for a given system code.

Specified by:
lookupSystemDefinition in interface MasterControllerCore
Parameters:
con - Connection
systemCode - The system code to look up.
Returns:
System definition for a given system code.
Throws:
ProcessingException - An error has occured.

lookupSystemDefinitions

public SystemDefinition[] lookupSystemDefinitions(java.sql.Connection con)
                                           throws ProcessingException
Return array of system definition

Specified by:
lookupSystemDefinitions in interface MasterControllerCore
Parameters:
con - Connection
Returns:
Array of system codes.
Throws:
ProcessingException - An error has occured.

lookupSystemObjectPKs

public SystemObjectPK[] lookupSystemObjectPKs(java.sql.Connection con,
                                              java.lang.String euid)
                                       throws ProcessingException,
                                              UserException
Returns an array of all system object keys belonging to the given EUID.

Specified by:
lookupSystemObjectPKs in interface MasterControllerCore
Parameters:
con - Connection
euid - The EUID on which to perform the action.
Returns:
Array of system object keys.
Throws:
ProcessingException - An error has occured.
UserException - Invalid euid

lookupSystemObjectPKs

public SystemObjectPK[] lookupSystemObjectPKs(java.sql.Connection con,
                                              java.lang.String euid,
                                              java.lang.String status)
                                       throws ProcessingException,
                                              UserException
Returns an array of system object keys with the given status belonging to the given EUID.

Specified by:
lookupSystemObjectPKs in interface MasterControllerCore
Parameters:
con - Connection
euid - The EUID on which to perform the action.
status - Status filter.
Returns:
Array of system object keys or null.
Throws:
ProcessingException - An error has occured.
UserException - Invalid euid or status

lookupSystemObjectPKs

public SystemObjectPK[] lookupSystemObjectPKs(java.sql.Connection con,
                                              java.lang.String sourceSystem,
                                              java.lang.String sourceLID,
                                              java.lang.String destSystem,
                                              java.lang.String status)
                                       throws ProcessingException,
                                              UserException
Returns an array of system object keys with the given status belonging to the given destination system whose EUID matches the source system code / lid.

Specified by:
lookupSystemObjectPKs in interface MasterControllerCore
Parameters:
con - Connection
sourceSystem - the source system
sourceLID - the source local id
destSystem - the destination system
status - status of records in destination system to search for
Returns:
Array of system object keys or null if not found
Throws:
ProcessingException - An error has occured.
UserException - Invalid parameters

lookupSystemObjects

public SystemObject[] lookupSystemObjects(java.sql.Connection con,
                                          java.lang.String euid)
                                   throws ProcessingException,
                                          UserException
Lookup active system objects only for the given EUID.

Specified by:
lookupSystemObjects in interface MasterControllerCore
Parameters:
con - Connection
euid - The EUID on which to perform the action.
Returns:
Array of system objects.
Throws:
ProcessingException - An error has occured.
UserException - Invalid euid

lookupSystemObjects

public SystemObject[] lookupSystemObjects(java.sql.Connection con,
                                          java.lang.String euid,
                                          java.lang.String status)
                                   throws ProcessingException,
                                          UserException
Lookup system objects with the given EUID and status

Specified by:
lookupSystemObjects in interface MasterControllerCore
Parameters:
con - Connection
euid - The EUID on which to perform the action.
status - Status filter.
Returns:
Array of system objects.
Throws:
ProcessingException - An error has occured.
UserException - Invalid parameters

lookupTransaction

public TransactionSummary lookupTransaction(java.sql.Connection con,
                                            java.lang.String transId)
                                     throws ProcessingException,
                                            UserException
Returns the transaction summary based on the given search transaction id.

Specified by:
lookupTransaction in interface MasterControllerCore
Parameters:
con - Connection
transId - transaction id to lookup.
Returns:
Transaction summary.
Throws:
ProcessingException - An error has occured.
UserException - Invalid id

lookupTransactions

public TransactionIterator lookupTransactions(java.sql.Connection con,
                                              TransactionSearchObject searchObj)
                                       throws ProcessingException,
                                              UserException
Returns an array of transaction summaries based on the given search criteria.

Specified by:
lookupTransactions in interface MasterControllerCore
Parameters:
con - Connection
searchObj - Search criteria.
Returns:
Iterator of search results.
Throws:
ProcessingException - An error has occured.
UserException - Invalid search object

mergeEnterpriseObject

public MergeResult mergeEnterpriseObject(java.sql.Connection con,
                                         java.lang.String sourceEUID,
                                         EnterpriseObject destinationEO,
                                         boolean calculateOnly)
                                  throws ProcessingException,
                                         UserException
Merge the enterprise records based on the given source EUID and the destination EO.

Specified by:
mergeEnterpriseObject in interface MasterControllerCore
Parameters:
con - Connection
sourceEUID - The EUID to be merged.
destinationEO - The EUID to be kept.
calculateOnly - Indicate whether to commit changes to DB or just compute the MergeResult. See Constants.
Returns:
Result of merge operation.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

mergeEnterpriseObject

public MergeResult mergeEnterpriseObject(java.sql.Connection con,
                                         java.lang.String sourceEUID,
                                         EnterpriseObject destinationEO,
                                         java.lang.String srcRevisionNumber,
                                         java.lang.String destRevisionNumber,
                                         boolean calculateOnly)
                                  throws ProcessingException,
                                         UserException
Merge the enterprise records based on the given source EUID and the destination EO.

Specified by:
mergeEnterpriseObject in interface MasterControllerCore
Parameters:
con - Connection
sourceEUID - The EUID to be merged.
destinationEO - The EUID to be kept.
srcRevisionNumber - The SBR revision number of the EUID to be merged.
destRevisionNumber - The SBR revision number of the EUID to be kept.
calculateOnly - Indicate whether to commit changes to DB or just compute the MergeResult. See Constants.
Returns:
Result of merge operation.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

mergeEnterpriseObject

public MergeResult mergeEnterpriseObject(java.sql.Connection con,
                                         java.lang.String sourceEUID,
                                         java.lang.String destinationEUID,
                                         boolean calculateOnly)
                                  throws ProcessingException,
                                         UserException
Merge the enterprise records based on the given EUID's.

Specified by:
mergeEnterpriseObject in interface MasterControllerCore
Parameters:
con - Connection
sourceEUID - The EUID to be merged.
destinationEUID - The EUID to be kept.
calculateOnly - Indicate whether to commit changes to DB or just compute the MergeResult. See Constants.
Returns:
Result of merge operation.
Throws:
ProcessingException - An error has occured.
UserException - Invalid euids

mergeEnterpriseObject

public MergeResult mergeEnterpriseObject(java.sql.Connection con,
                                         java.lang.String sourceEUID,
                                         java.lang.String destinationEUID,
                                         java.lang.String srcRevisionNumber,
                                         java.lang.String destRevisionNumber,
                                         boolean calculateOnly)
                                  throws ProcessingException,
                                         UserException
Merge the enterprise records based on the given EUID's.

Specified by:
mergeEnterpriseObject in interface MasterControllerCore
Parameters:
con - Connection
sourceEUID - The EUID to be merged.
destinationEUID - The EUID to be kept.
srcRevisionNumber - The SBR revision number of the EUID to be merged.
destRevisionNumber - The SBR revision number of the EUID to be kept.
calculateOnly - Indicate whether to commit changes to DB or just compute the MergeResult. See Constants.
Returns:
Result of merge operation.
Throws:
ProcessingException - An error has occured.
UserException - Invalid euids

mergeMultipleEnterpriseObjects

public MergeResult[] mergeMultipleEnterpriseObjects(java.sql.Connection con,
                                                    java.lang.String[] sourceEUIDs,
                                                    EnterpriseObject destinationEO,
                                                    java.lang.String[] srcRevisionNumbers,
                                                    java.lang.String destRevisionNumber,
                                                    boolean calculateOnly)
                                             throws ProcessingException,
                                                    UserException
Merge multiple enterprise records based on the given source EUIDs and the destination EO. The source EUIDs will each be successively merged into the destination EO. For example, sourceEUIDs[0] will be merged into the destination EO. Then sourceEUIDs[1] will be merged into the destination EO. Next, sourceEUIDS[2] will be merged into the destination EO. If there are n merges, there will be n merge transaction log entries. All of these transactions must be unmerged in order to restore the state prior to the multiple merge.

Specified by:
mergeMultipleEnterpriseObjects in interface MasterControllerCore
Parameters:
con - Database connection handle.
sourceEUIDs - Array of source EUIDs to be merged.
destinationEO - The EnterpriseObject to be kept.
srcRevisionNumbers - The SBR revision numbers of the Enterprise Objects to be merged.
destRevisionNumber - The SBR revision number of the EUID to be kept.
calculateOnly - Indicate whether to commit changes to DB or just compute the MergeResult.
Returns:
Results of merge operations.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

mergeSystemObject

public MergeResult mergeSystemObject(java.sql.Connection con,
                                     java.lang.String systemCode,
                                     java.lang.String sourceLID,
                                     java.lang.String destLID,
                                     boolean calculateOnly)
                              throws ProcessingException,
                                     UserException
Merge the two lids for the given system. Note that the keys may both belong to a single EO, or may belong to two different EO's.

Specified by:
mergeSystemObject in interface MasterControllerCore
Parameters:
con - Connection
systemCode - The system to which these local id's belong.
sourceLID - The lid to be merged.
destLID - The lid to be kept.
calculateOnly - Indicate whether to commit changes to DB or just compute the MergeResult. See Constants.
Returns:
Result of merge operation.
Throws:
ProcessingException - An error has occured.
UserException - Invalid parameters

mergeSystemObject

public MergeResult mergeSystemObject(java.sql.Connection con,
                                     java.lang.String systemCode,
                                     java.lang.String sourceLID,
                                     java.lang.String destLID,
                                     ObjectNode destImage,
                                     boolean calculateOnly)
                              throws ProcessingException,
                                     UserException
Merge the given local id into the destination system object. This method allows the new image of the merged system object to be defined in case the sending system includes this information.

Specified by:
mergeSystemObject in interface MasterControllerCore
Parameters:
con - Connection
systemCode - The system code to which the local id's belong
sourceLID - The local id to be merged.
destLID - The local id to be kept.
destImage - The new object image for the destination system object. For example, if the SystemObject contains a PersonObject, then a PersonObject should be passed in to this field.
calculateOnly - Indicate whether to commit changes to DB or just compute the MergeResult. See Constants.
Returns:
Result of merge operation.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

mergeSystemObject

public MergeResult mergeSystemObject(java.sql.Connection con,
                                     java.lang.String systemCode,
                                     java.lang.String sourceLID,
                                     java.lang.String destLID,
                                     ObjectNode destImage,
                                     java.lang.String srcRevisionNumber,
                                     java.lang.String destRevisionNumber,
                                     boolean calculateOnly)
                              throws ProcessingException,
                                     UserException
Merge the given local id into the destination system object. This method allows the new image of the merged system object to be defined in case the sending system includes this information. The revision numbers of both the source and destination SBRs are passed as arguments. At a later stage, these are compared to the SBRs stored in the database. If they differ, it means that either the source or destination records were modified by another user. In this case, the merge should not be allowed.

Specified by:
mergeSystemObject in interface MasterControllerCore
Parameters:
con - Connection
systemCode - The system code to which the local id's belong
sourceLID - The local id to be merged.
destLID - The local id to be kept.
destImage - The new object image for the destination system object. For example, if the SystemObject contains a PersonObject, then a PersonObject should be passed in to this field.
srcRevisionNumber - The revision number of the source record's SBR
destRevisionNumber - The revision number of the destination record's SBR
calculateOnly - Indicate whether to commit changes to DB or just compute the MergeResult. See Constants.
Returns:
Result of merge operation.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

mergeSystemObject

public MergeResult mergeSystemObject(java.sql.Connection con,
                                     java.lang.String systemCode,
                                     java.lang.String sourceLID,
                                     java.lang.String destLID,
                                     ObjectNode destImage,
                                     java.lang.String srcRevisionNumber,
                                     java.lang.String destRevisionNumber,
                                     boolean calculateOnly,
                                     java.lang.Boolean performPessimistic)
                              throws ProcessingException,
                                     UserException
Merge the given local id into the destination system object. This method allows the new image of the merged system object to be defined in case the sending system includes this information. The revision numbers of both the source and destination SBRs are passed as arguments. At a later stage, these are compared to the SBRs stored in the database. If they differ, it means that either the source or destination records were modified by another user. In this case, the merge should not be allowed.

Specified by:
mergeSystemObject in interface MasterControllerCore
Parameters:
con - Connection
systemCode - The system code to which the local id's belong
sourceLID - The local id to be merged.
destLID - The local id to be kept.
destImage - The new object image for the destination system object. For example, if the SystemObject contains a PersonObject, then a PersonObject should be passed in to this field.
srcRevisionNumber - The revision number of the source record's SBR
destRevisionNumber - The revision number of the destination record's SBR
calculateOnly - Indicate whether to commit changes to DB or just
performPessimistic - A Boolean indicator of whether to defer potential duplicate processing. Specify true to recalculate potential duplicates on update; specify false to defer recalculation to a later time. compute the MergeResult. See Constants.
Returns:
Result of merge operation.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

mergeSystemObject

public MergeResult mergeSystemObject(java.sql.Connection con,
                                     java.lang.String systemCode,
                                     java.lang.String sourceLID,
                                     java.lang.String destLID,
                                     java.lang.String srcRevisionNumber,
                                     java.lang.String destRevisionNumber,
                                     boolean calculateOnly)
                              throws ProcessingException,
                                     UserException
Merge the two lids for the given system. Note that the keys may both belong to a single EO, or may belong to two different EO's. The revision numbers of both the source and destination SBRs are passed as arguments. At a later stage, these are compared to the SBRs stored in the database. If they differ, it means that either the source or destination records were modified by another user. In this case, the merge should not be allowed.

Specified by:
mergeSystemObject in interface MasterControllerCore
Parameters:
con - Connection
systemCode - The system to which these local id's belong.
sourceLID - The lid to be merged.
destLID - The lid to be kept.
srcRevisionNumber - The revision number of the source record's SBR
destRevisionNumber - The revision number of the destination record's SBR
calculateOnly - Indicate whether to commit changes to DB or just compute the MergeResult. See Constants.
Returns:
Result of merge operation.
Throws:
ProcessingException - An error has occured.
UserException - Invalid parameters

previewUndoAssumedMatch

public EnterpriseObject previewUndoAssumedMatch(java.sql.Connection con,
                                                java.lang.String assumedMatchId)
                                         throws ProcessingException,
                                                UserException
Preview Undo an assumed match.

Specified by:
previewUndoAssumedMatch in interface MasterControllerCore
Parameters:
con - Connection
assumedMatchId - Id of assumed match to be resolved
Returns:
EUID of new EO
Throws:
ProcessingException - An error has occured.
UserException - Invalid id

releaseResources

public void releaseResources(java.sql.Connection con)
Release JDBC connection (return to pool) and JMS resources.

Specified by:
releaseResources in interface MasterControllerCore
Parameters:
con - Connection

resolvePotentialDuplicate

public void resolvePotentialDuplicate(java.sql.Connection con,
                                      java.lang.String id,
                                      boolean autoResolve)
                               throws ProcessingException,
                                      UserException
Mark the potential duplicate with resolve or auto resolve status. Auto resolve differs from resolve in that once it is flagged, later reevaluations of duplicates (as would occur in pessimistic update mode) will not result in the potential duplicate status being changed back to unresolved.

Specified by:
resolvePotentialDuplicate in interface MasterControllerCore
Parameters:
con - Connection
id - The potential duplicate id to be resolved.
autoResolve - Set true to auto resolve.
Throws:
ProcessingException - An error has occured.
UserException - Invalid id

rollbackTransaction

public void rollbackTransaction(java.sql.Connection con)
                         throws ProcessingException
Rollback current transaction.

Specified by:
rollbackTransaction in interface MasterControllerCore
Parameters:
con - database connection
Throws:
ProcessingException

searchEnterpriseObject

public EOSearchResultIterator searchEnterpriseObject(EOSearchCriteria criteria,
                                                     EOSearchOptions searchOptions)
                                              throws ProcessingException,
                                                     UserException
Returns an iterator of objects that match the given search criteria and options. Criteria consists of a system object, and options consists of a query builder id as well as other aspects of how the search should be conducted.

Specified by:
searchEnterpriseObject in interface MasterControllerCore
Parameters:
criteria - Search criteria.
searchOptions - Search options.
Returns:
Iterator of search results.
Throws:
ProcessingException - An error has occured.
UserException - Invalid parameters

searchEnterpriseObject

public EOSearchResultIterator searchEnterpriseObject(java.lang.String[] Euids,
                                                     EOSearchOptions searchOptions)
                                              throws ProcessingException,
                                                     UserException
Returns an iterator of objects that match the given search criteria and options. Criteria consists of a array of EUID's, and options consists of a query builder id as well as other aspects of how the search should be conducted.

Specified by:
searchEnterpriseObject in interface MasterControllerCore
Parameters:
Euids - EUID's to search for.
searchOptions - Search options.
Returns:
Iterator of search results.
Throws:
ProcessingException - An error has occured.
UserException - Invalid parameters

setObjectName

public void setObjectName(java.lang.String objectName)
Description copied from interface: MasterControllerCore
the ObjectName for the monitoring mBean, this is based on the application name

Specified by:
setObjectName in interface MasterControllerCore
Parameters:
objectName -

setSecurityManager

public void setSecurityManager(SecurityManager securityManager)
Description copied from interface: MasterControllerCore
set the security manager

Specified by:
setSecurityManager in interface MasterControllerCore

setTransactionMode

public void setTransactionMode(boolean mIsTransactional)
Set whtether it is in transacitonal mode.

Specified by:
setTransactionMode in interface MasterControllerCore
Parameters:
mIsTransactional - specify whether it is in transactional mode.

setTransactionType

public void setTransactionType(java.lang.String type)
Description copied from interface: MasterControllerCore
the transaction type can have 3 values, they are CMT_XA, BMT_XA, and BMT_LOCAL. The CMT_XA stands for container managed XA transaction, BMT_XA stands for bean managed XA transaction, BMT_LOCAL is bean managed LOCAL transaction

Specified by:
setTransactionType in interface MasterControllerCore
Parameters:
type -

transferSystemObject

public void transferSystemObject(java.sql.Connection con,
                                 java.lang.String destinationEUID,
                                 SystemObjectPK systemKey)
                          throws ProcessingException,
                                 UserException
Transfer system object from one enterprise object to another

Specified by:
transferSystemObject in interface MasterControllerCore
Parameters:
con - Connection
destinationEUID - The EUID to transfer the SO to.
systemKey - The key of the SO to transfer.
Throws:
ProcessingException - An error has occured.
UserException - Invalid parameters

undoAssumedMatch

public java.lang.String undoAssumedMatch(java.sql.Connection con,
                                         java.lang.String assumedMatchId)
                                  throws ProcessingException,
                                         UserException
Undo an assumed match.

Specified by:
undoAssumedMatch in interface MasterControllerCore
Parameters:
con - Connection
assumedMatchId - Id of assumed match to be resolved
Returns:
EUID of new EO
Throws:
ProcessingException - An error has occured.
UserException - Invalid id

unmergeEnterpriseObject

public MergeResult unmergeEnterpriseObject(java.sql.Connection con,
                                           java.lang.String activeEUID,
                                           boolean calculateOnly)
                                    throws ProcessingException,
                                           UserException
Decouple the enterprise objects involved in the last merge operation for the given EUID. This will result in the merge object being reestablished as an active enterprise object. The EO represented by activeEUID can be retrieved using MergeResult.getDesinationEO(). The reactivated (formerly merged) EO can be retrieved using MergeResult.getSourceEO().

Specified by:
unmergeEnterpriseObject in interface MasterControllerCore
Parameters:
con - Connection
activeEUID - The EUID to be unmerged.
calculateOnly - Indicate whether to commit changes to DB or just compute the MergeResult. See Constants.
Returns:
Result of unmerge operation.
Throws:
ProcessingException - An error has occured.
UserException - Invalid euid

unmergeEnterpriseObject

public MergeResult unmergeEnterpriseObject(java.sql.Connection con,
                                           java.lang.String activeEUID,
                                           java.lang.String srcRevisionNumber,
                                           boolean calculateOnly)
                                    throws ProcessingException,
                                           UserException
Decouple the enterprise objects involved in the last merge operation for the given EUID. This will result in the merge object being reestablished as an active enterprise object. The EO represented by activeEUID can be retrieved using MergeResult.getDesinationEO(). The reactivated (formerly merged) EO can be retrieved using MergeResult.getSourceEO().

Specified by:
unmergeEnterpriseObject in interface MasterControllerCore
Parameters:
con - Connection
activeEUID - The EUID to be unmerged.
srcRevisionNumber - The revision number of the record.
calculateOnly - Indicate whether to commit changes to DB or just compute the MergeResult. See Constants.
Returns:
Result of unmerge operation.
Throws:
ProcessingException - An error has occured.
UserException - Invalid euid

unmergeSystemObject

public MergeResult unmergeSystemObject(java.sql.Connection con,
                                       java.lang.String systemCode,
                                       java.lang.String sourceLID,
                                       java.lang.String destLID,
                                       boolean calculateOnly)
                                throws ProcessingException,
                                       UserException
Return the given merged local identifier to active status.

Specified by:
unmergeSystemObject in interface MasterControllerCore
Parameters:
con - Connectionv
systemCode - The system to which the local id's belong
sourceLID - The LID to be unmerged.
destLID - The LID that was the destination.
calculateOnly - Indicate whether to commit changes to DB or just compute the MergeResult. See Constants.
Returns:
Result of unmerge operation.
Throws:
ProcessingException - An error has occured.
UserException - Invalid parameters

unmergeSystemObject

public MergeResult unmergeSystemObject(java.sql.Connection con,
                                       java.lang.String systemCode,
                                       java.lang.String sourceLID,
                                       java.lang.String destLID,
                                       java.lang.String srcRevisionNumber,
                                       boolean calculateOnly)
                                throws ProcessingException,
                                       UserException
Return the given merged local identifier to active status. The revision numbers of the source SBR is passed as an argument. At a later stage, it is compared to the SBR stored in the database. If they differ, it means that either the source record was modified by another user. In this case, the unmerge should not be allowed.

Specified by:
unmergeSystemObject in interface MasterControllerCore
Parameters:
con - Connection
systemCode - The system to which the local id's belong
sourceLID - The LID to be unmerged.
destLID - The LID that was the destination.
srcRevisionNumber - The revision number of the source record's SBR
calculateOnly - Indicate whether to commit changes to DB or just compute the MergeResult. See Constants.
Returns:
Result of unmerge operation.
Throws:
ProcessingException - An error has occured.
UserException - Invalid parameters

unresolvePotentialDuplicate

public void unresolvePotentialDuplicate(java.sql.Connection con,
                                        java.lang.String id)
                                 throws ProcessingException,
                                        UserException
Change the status of a resolved or auto resolved potential duplicate back to unresolved.

Specified by:
unresolvePotentialDuplicate in interface MasterControllerCore
Parameters:
con - Connection
id - The id of the potential duplicate to unresolve.
Throws:
ProcessingException - An error has occured.
UserException - Invalid id

updateEnterpriseDupRecalc

public UpdateResult updateEnterpriseDupRecalc(java.sql.Connection con,
                                              EnterpriseObject eo,
                                              java.lang.Boolean performPessimistic)
                                       throws ProcessingException,
                                              UserException
Update the database to reflect the new values of the given modified enterprise object. If performPessimistic is set to false, then pessimistic mode processing is deferred.

Specified by:
updateEnterpriseDupRecalc in interface MasterControllerCore
Parameters:
con - Connection
eo - The EO to be updated.
performPessimistic - set to true to enable pessimistc mode processing, false otherwise.
Returns:
UpdateResult object containing the results of the update
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

updateEnterpriseObject

public void updateEnterpriseObject(java.sql.Connection con,
                                   EnterpriseObject eo)
                            throws ProcessingException,
                                   UserException
Update the database to reflect the new values of the given modified enterprise object.

Specified by:
updateEnterpriseObject in interface MasterControllerCore
Parameters:
con - Connection
eo - The EO to be updated.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

updateSBR

public EnterpriseObject updateSBR(java.util.Map mapSystems,
                                  EnterpriseObject eo,
                                  boolean removalFlag)
                           throws ProcessingException,
                                  UserException
Updates SBR by collecting the values from MAP to the SBR that specified by EUID.

Specified by:
updateSBR in interface MasterControllerCore
Parameters:
mapSystems - The Map consists of epath as key and System as value from which the filed should take for updating SBR
Throws:
ProcessingException
UserException

updateSystemObject

public void updateSystemObject(java.sql.Connection con,
                               SystemObject sysobj)
                        throws ProcessingException,
                               UserException
Update the database to reflect the new values of the given modified system object. passes null as revision number for legacy users.

Specified by:
updateSystemObject in interface MasterControllerCore
Parameters:
con - Connection
sysobj - The SO to be updated.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured

updateSystemObject

public void updateSystemObject(java.sql.Connection con,
                               SystemObject sysobj,
                               java.lang.String revisionNumber)
                        throws ProcessingException,
                               UserException
Update the database to reflect the new values of the given modified system object. Passes the revision number from the user.

Specified by:
updateSystemObject in interface MasterControllerCore
Parameters:
con - Connection
sysobj - The SO to be updated.
revisionNumber - The revision number of the SBR of the associated SO.
Throws:
ProcessingException - An error has occured.
UserException - A user error occured


Sun Microsystems, Inc.