Customizing the Comparison Mechanism
Out of the box, the application supports the following criteria to compare the current iteration of the upstream structure with the previous iteration:
• OutOfDateCriteria
• TimeBasedCriteria
• BaselineCriteria
By default, the application uses OutOfDateCriteria. In OutOfDateCriteria, equivalence association is used as the criterion to compare the current iteration of the upstream structure with the previous up-to-date iteration that was linked to the current downstream structure. If no equivalent link exists between the current downstream structure and the previous iteration of the upstream structure, the comparison is performed between the current and the previous iteration of the upstream structure. You can change this default behavior to compare the current iteration with the previous version of the upstream structure using the property com.ptc.windchill.associativity.reconciliation.criteria.usePreviousVersion. The default value for this property is false.
You can customize the default behavior to compare based on time values or baseline objects. When set to time-based comparison, the current iteration of the upstream structure is compared with the iteration available at a specific time. In a baseline-based comparison, the current iteration of the upstream structure is compared with the parts included in a specific baseline. To customize the criteria, configure the delegates given in the associativity.service.properties.xconf file located at com/ptc/windchill/associativity/xconfs:
<Service context="default" name="com.ptc.windchill.associativity.reconciliation.criteria.AbstractCriteria">
<Option cardinality="singleton" selector="OUTOFDATE" requestor="null" serviceClass="com.ptc.windchill.associativity.reconciliation.criteria.OutOfDateCriteria" />
<Option cardinality="duplicate" selector="TIMEBASED" requestor="null" serviceClass="com.ptc.windchill.associativity.reconciliation.criteria.TimeBasedCriteria"/>
<Option cardinality="duplicate" selector="BASELINE" requestor="null" serviceClass="com.ptc.windchill.associativity.reconciliation.criteria.BaselineCriteria"/>
</Service>
In the CriteriaType.java file located at com/ptc/windchill/associativity/reconciliation/client, the class CriteriaType defines the criteria to compare the current iteration of the upstream structure with the previous iteration. The class contains the criterion types that are supported by default. It is marked as supported.
The CriteriaType class is a standard Windchill enumeration having its own rbInfo file CriteriaTypeRB.rbInfo located at com/ptc/windchill/associativity/reconciliation/client. You can customize the default criterion or add criteria using the enumCustomize tool.