The Group Expansion Router component is configured as a pipeline stage. It takes a single group expansion request and forwards the request to one or more group expansion stages (such as the SharePoint Group Expansion), combines the results, and then returns the combined list to the requestor. All communication is performed by group expansion requests and group expansion results.

On startup, the component reads a list of default routes from the configuration. However, routes for a specific group expansion request that are included with the request will override the default.

For each route, a sub-job is created, a new group expansion request is attached, and the job is routed. The component then waits for the result of these requests (timing out after a configurable period) before it combines the groups returned by the expansion components, removes any duplicates, and returns the group expansion result.

Group Expansion Router
Factory Namecom.accenture.aspire:aspire-simple-group-expander
subTyperouter
InputsA Job containing a group expansion request
OutputsA Job containing a group expansion result

Expansion Requests containing routes

If you wish to add the expansion routes to the group expansion request, this can be done using the addExpanders(AspireObject doc, List<String> expanderComponents) method. The request will then have the following form:

 <doc type="groupExpansion">
   <username dn="CN=Steve Denny,CN=Users,DC=search,DC=local">Steve Denny</username>
   <groupExpander>
     <expanders>
       <route>/SharePointConnector</route>
       <route>/DocumentumConnector</route>
     </expanders>
   </groupExpander>
 </doc>

Configuration

ElementTypeDefaultDescription
expanders/routeString
Default routes for group expansion, should routes not be specified on the request (optional & multiples allowed).
defaultPipelineManagerstring
The name of a pipeline manager that will be added (if specified) to the given routes before the job is published. This allows the routes to be specified as top level components or applications only, with the actual request being routed to a pipeline manager under that (optional).
timeoutint15000
(=15s)
The timeout applied when waiting for the routed jobs to complete. Expansion results received after this time will not be added to the result returned.

Branch Configuration

The Group Expansion Router publishes requests to a pipeline manager on the onGroupExpansion event, so you must configure a branch for the onGroupExpansion event. However, as routing is used to direct the jobs, the pipeline may contain no functional stages.

 <branches>
   <branch event="onGroupExpansion" pipelineManager="pipelineManager" pipeline="dummyPipeline" />
 </branches>

Example Configuration

No default routes

 <component name="expansionRouter" factoryName="aspire-simple-group-expander" subType="router">
   <defaultPipelineManager>GroupExpansionPipelineManager</defaultPipelineManager>
   <debug>true</debug>
   <branches>
     <branch event="onGroupExpansion" pipeline="dummy-for-routing" pipelineManager="."/>
   </branches>
 </component>

With default routes

 <component name="expansionRouter" factoryName="aspire-simple-group-expander " subType="router">
   <expanders>
     <route>/SharePointConnector</route>
     <route>/DocumentumConnector</route>
   </expanders>
   <defaultPipelineManager>GroupExpansionPipelineManager</defaultPipelineManager>
   <debug>true</debug>
   <branches>
     <branch event="onGroupExpansion" pipeline="dummy-for-routing" pipelineManager="."/>
   </branches>
 </component>


  • No labels