com.sun.mdm.index.matching.adapter
Class SbmeStandardizerAdapter

java.lang.Object
  extended bycom.sun.mdm.index.matching.adapter.SbmeStandardizerAdapter
All Implemented Interfaces:
StandardizerAPI

public class SbmeStandardizerAdapter
extends java.lang.Object
implements StandardizerAPI

StandardizerAPI implementation that allows MEFA to communicate with the Master Index Standardization Engine.


Field Summary
static java.lang.String CONCAT_DELIMITER
          The delimiter used to concatenate fields that are to be passed to the standardizer
 
Constructor Summary
SbmeStandardizerAdapter()
          Creates new SbmeStandardizerAdapter
 
Method Summary
(package private)  RecordsToNormalize getParsedRecords(SystemObject objToStandardize, java.util.ArrayList parsedGroups)
          Given the SystemObject and the configured standardization settings, retrieve the individual records (e.g.
(package private)  RecordsToStandardize getUnparsedRecords(SystemObject objToStandardize, java.util.ArrayList unparsedGroups)
          Given the SystemObject and the configured standardization settings, retrieve the individual records (e.g.
 void initialize(StandardizerEngineConfiguration config)
          Initialize the Sbme standardization engine and the adapter
protected  SbmeStandRecord[] keepFirstStandardizedVersion(SbmeStandRecord[][] allUnparsedStandRecords, SystemObject objToStandardize, java.lang.String[] inputRecords, java.lang.String[] inputStandardizationTypes)
          Keep only the first standardized version of a record.
(package private)  SystemObject phoneticizeFields(SystemObject objToPhoneticize, java.util.ArrayList phoneticFields)
          Phoneticize all the configured fields This will change the passed in SystemObject
 void shutdown()
          Shutdown and release and relevant resources in the tigris standardization engine and adapter
 SystemObject standardize(SystemObject objToStandardize, SystemObjectStandardization metaData)
          Standardize a SystemObject using the Sbme standardization engine
(package private)  SystemObject updateSystemObject(SystemObject objToStandardize, SbmeStandRecord[] standRecords, StandardizationFieldGroup[] recordsFieldGroups)
          Add the standardized values to the SystemObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CONCAT_DELIMITER

public static final java.lang.String CONCAT_DELIMITER
The delimiter used to concatenate fields that are to be passed to the standardizer

See Also:
Constant Field Values
Constructor Detail

SbmeStandardizerAdapter

public SbmeStandardizerAdapter()
Creates new SbmeStandardizerAdapter

Method Detail

getParsedRecords

RecordsToNormalize getParsedRecords(SystemObject objToStandardize,
                                    java.util.ArrayList parsedGroups)
                              throws ObjectException,
                                     EPathException,
                                     StandardizationException
Given the SystemObject and the configured standardization settings, retrieve the individual records (e.g. an address) that need to be normalized (structures to normalize)

Parameters:
objToStandardize - the SystemObject to standardize
parsedGroups - the parsed groups (= structures) to normalize configuration
Throws:
ObjectException - if the retrieval of the configured Object values fails
EPathException - if the configured EPaths are invalid
StandardizationException - if the standardization configuration is invalid

getUnparsedRecords

RecordsToStandardize getUnparsedRecords(SystemObject objToStandardize,
                                        java.util.ArrayList unparsedGroups)
                                  throws ObjectException,
                                         EPathException
Given the SystemObject and the configured standardization settings, retrieve the individual records (e.g. an address) that need to be standardized (free from text to standardize)

Parameters:
objToStandardize - the SystemObject to standardize
unparsedGroups - the unparsed groups (= free from text) to standardize configuration
Throws:
ObjectException - if the retrieval of the configured Object values fails
EPathException - if the configured EPaths are invalid

initialize

public void initialize(StandardizerEngineConfiguration config)
                throws StandardizationException
Initialize the Sbme standardization engine and the adapter

Specified by:
initialize in interface StandardizerAPI
Parameters:
config - the standardization engine configuration configured
Throws:
StandardizationException - if initialization failed

keepFirstStandardizedVersion

protected SbmeStandRecord[] keepFirstStandardizedVersion(SbmeStandRecord[][] allUnparsedStandRecords,
                                                         SystemObject objToStandardize,
                                                         java.lang.String[] inputRecords,
                                                         java.lang.String[] inputStandardizationTypes)
                                                  throws StandardizationException,
                                                         ObjectException
Keep only the first standardized version of a record. The standardizer might find several entities in one input record (e.g. 2 people) In which case it will return them as separate records. As a pre-condition to a record here is only expected to contain data related to one entity, therefore only the first is kept and error handling is preformed.

Parameters:
allUnparsedStandRecords - all the standardized records
objToStandardize - the SystemObject that was standardized
inputRecords - the input records to the standardizer that were used
inputStandardizationTypes - the input standardization types to the standardizer that were used
Returns:
the first standardized version of a record
Throws:
StandardizationException - a problem inspecting and preparing the standardized values
ObjectException - accessing the SystemObject for logging purposes failed

phoneticizeFields

SystemObject phoneticizeFields(SystemObject objToPhoneticize,
                               java.util.ArrayList phoneticFields)
                         throws ObjectException,
                                EPathException,
                                PhoneticEncoderException
Phoneticize all the configured fields This will change the passed in SystemObject

Parameters:
phoneticFields - an ArrayList of all the fields to phoneticize, contains PhoneticizeField elements.
Returns:
the SystemObject with all the fields to phoneticize populated
Throws:
ObjectException
EPathException
PhoneticEncoderException

shutdown

public void shutdown()
              throws StandardizationException
Shutdown and release and relevant resources in the tigris standardization engine and adapter

Specified by:
shutdown in interface StandardizerAPI
Throws:
StandardizationException - if it failed to shut down

standardize

public SystemObject standardize(SystemObject objToStandardize,
                                SystemObjectStandardization metaData)
                         throws StandardizationException,
                                ObjectException
Standardize a SystemObject using the Sbme standardization engine

Specified by:
standardize in interface StandardizerAPI
Parameters:
objToStandardize - the SystemObject to standardize
metaData - describes the standardization configuration for the given SystemObject
Returns:
the standardized SystemObject
Throws:
StandardizationException - if standardization failed
ObjectException - if accessing the required data in the SystemObject failed

updateSystemObject

SystemObject updateSystemObject(SystemObject objToStandardize,
                                SbmeStandRecord[] standRecords,
                                StandardizationFieldGroup[] recordsFieldGroups)
                          throws ObjectException,
                                 EPathException
Add the standardized values to the SystemObject

Parameters:
objToStandardize - the SystemObject to standardize and update
standRecords - The standardized records returned from tigris
recordsFieldGroups - the field group configuration corresponding to each standRecords entry
Throws:
ObjectException - if the retrieval/setting of the configured Object values fails
EPathException - if the configured EPaths are invalid


Sun Microsystems, Inc.