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 Detail

      • 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,
                       java.math.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