Interface GroupOperations


public interface GroupOperations
Provides group operations for the EBX� Match and Merge Add-on. These operations must be called within a different EBX context, such as a: user service, script/user task, or trigger.

The operations give matching results for records that belong to a group. A matching result can produce matched or suspected records.

Using this class

In order to create an instance of this class, the external program must provide an authenticated session:

  GroupOperations groupOperations = OperationsFactory.getGroupOperations(session);
  

Code Sample

 public class CustomMatchingUserServiceSample implements UserService<TableViewEntitySelection> {

     public void setupDisplay(UserServiceSetupDisplayContext<TableViewEntitySelection> context, UserServiceDisplayConfigurator configurator) {

         Session session = context.getSession();
         AdaptationHome dataspace = context.getRepository().lookupHome(HomeKey.parse("BMAME-TEST"));
         Adaptation dataset = dataspace.findAdaptationOrNull(AdaptationName.forName("testMame"));

         AdaptationTable table = dataset.getTable(PathPerson._People.getPathInSchema());

         Adaptation pk = table.lookupAdaptationByPrimaryKey(PrimaryKey.parseString("1"));

         BigDecimal groupId = (BigDecimal) pk.get(Path.parse("/Linked_Field_GroupId"));


         //access to the group operation interface
         GroupOperations groupOperations = OperationsFactory.getGroupOperations(session);

         try {
             //get a group in order to access matches and suspects of this group
             Group group = groupOperations.getGroup(table, groupId);

             RecordIterable matches = group.getMatches();
             RecordIterable suspects = group.getSuspects();

         } catch (NotFoundException e) {
             e.printStackTrace();
         }

         // access to get groups with action required. this can be the groups that require a merge action or which contain suspects or false positives.
         try {
             Groups groups = groupOperations.getGroupsWithActionRequired(table);
             List<Group> groupsWithFalsePositives = groups.getGroupsWithFalsePositives();

         } catch (InvalidStateException e) {
             e.printStackTrace();
         }

     }
 
See Also:
  • MatchingOperationsProvider.getOperations(Session)
  • Method Summary

    Modifier and Type
    Method
    Description
    getGroup(com.onwbp.adaptation.AdaptationTable table, BigDecimal groupId)
    Returns a group
    getGroupsWithActionRequired(com.onwbp.adaptation.AdaptationTable table)
    Returns groups of records that require user-performed actions.
  • Method Details

    • getGroupsWithActionRequired

      Groups getGroupsWithActionRequired(com.onwbp.adaptation.AdaptationTable table) throws com.orchestranetworks.addon.mame.common.InvalidStateException
      Returns groups of records that require user-performed actions. For example, groups that:
      • Need to be merged
      • Contain suspects
      • Include false positives
      Note: For now, due to performance issue, a maximum of 50 groups are returned for each category.
      Parameters:
      table - a EBX table
      Returns:
      Groups a representation of groups of records that require manual actions
      Throws:
      com.orchestranetworks.addon.mame.common.InvalidStateException
    • getGroup

      Group getGroup(com.onwbp.adaptation.AdaptationTable table, BigDecimal groupId) throws com.orchestranetworks.addon.mame.common.NotFoundException
      Returns a group
      Parameters:
      table - an EBX table
      groupId - a group id
      Returns:
      a group of matches and suspects records.
      Throws:
      com.orchestranetworks.addon.mame.common.NotFoundException