The Inference Reusable Component infers the presence of
tags based on aggregations from the back-end system. It uses previously
recorded aggregations to infer parent, children, and sibling relationships.
Using the Inference Reusable Component
It
is recommended to invoke the methods using stateless session beans
or a Web service by passing the following parameters:
- markInferredTags
- When set to false, the Inference Reusable Component
does not flag any of the inferred tags in a special manner. When set
to true, tags that were inferred from the back-end
system have an additional property InferenceRUCConstants.INFERNECE_RUC_INFERRED_MARKER
set to true.
- keepInferenceTag
- When set to false, the tag used to determine
the inference is discarded, and not included in the result. When set
to true, the tag is always kept and returned in the
result.
- keepParentOfSiblings
- The getSiblings parameter calls the getParent parameter followed
by the getChildren parameter. When this flag is set to false,
the parent tag is discarded from the results. When this flag is set
to true, the parent tag is kept in the output.
- deepInference
- When set to false, the Inference Reusable Component
determines the parent or children of the tags provided, looking at
only one level in the containment hierarchy. With a false setting,
the getChildren parameter used on a pallet returns the cases contained
on the pallet. When set to true, the Inference Reusable
Component determines the parent or children of the tags provided by
looking at the extreme ends of the containment hierarchy. With a true setting,
the getChildren parameter used on a a pallet returns all of the cases
on the pallet.
- getChildren
- Returns all of the children of the tags in the request.
- getParent
- Returns all of the parents of the tags in the request.
- getSiblings
- Returns all of the siblings of the tags in the request.
To invoke the Inference Reusable Component using IBM® Sensor Events or XML, the payload
must include:
- PassiveRFIDTagRead
- PassiveRFIDAggregatedTagRead
Generic payload created from a map can also be used. It must
include either of the following:
- ReportingRUCConstants.TAG_KEY_INOUT
- ReportingRUCConstants.TAGLIST_KEY_INOUT
Note: TAG_KEY_INOUT takes
a String value. TAGLIST_KEY_INOUT takes
a value of java.util.List populated with Strings.
To
publish to Reusable Components MDBs, set the following values for
the JMS topic and eventType. For multi-action Reusable Components,
the topic is checked in the message selector and in the MDB code.
- getChildren: profileid/rucaction/inference/children
- getParent: profileid/rucaction/inference/parent
- getSiblings: profileid/rucaction/inference/siblings
The JMS topic and eventType for the MDB output from the Reusable
Component comes from the agent properties. Default output topics for
success and failure for each action are shown in Table 1. The payload
includes a group with the name
InferenceRUCConstants.INFER_RUC_RESULTMAPLIST_KEY_OUT with
a counter appended for every event map returned. For example:
- com.ibm.premises.reusable.inference.result1 ->
Map1
- com.ibm.premises.reusable.inference.result2 ->
Map2
- com.ibm.premises.reusable.inference.result3 ->
Map3