進階自訂 > Business Logic Customization > Customizing Windchill Visualization Services > Interference Detection > Customization Points
  
Customization Points
Custom Method: getInterferenceAttributeValues
Parameter
Description
Collection<InterferenceInfo>
The WVS Interference processor will pass in a Collection of all Interference Information extracted from an Interference Report generated by the Creo View Client Adapter.
WTDocument
A reference to the Interference Definition in which the new Interference Report and Interference objects will be associated to.
Return
Description
Map<InterferenceInfo, Object[]>
Must return a Map in which the key will be the original InterferenceInfo instance passed in and the value will be an Object array of attribute values in which the newly created Interference object or the existing Interference object will be initialized or set to.
index 0 – WTPrincipalReference to assign the Interference to. If set to null, then the Interference object will be set to “unassigned”. If set to a different type other than WTPrincipalReference ( e.g Object), then the assignee will be unchanged.
index 1 – String to set the description to. If set to null, then the Interference object will be set with an empty description. If set to a different type other than String, then the description will be unchanged.
index 2 – String to set the State to. All states have a String representation. For example, the assigned state string value is “wt.lifecycle.State.ASSIGNED” in the out-of-the-box lifecycle template. If returning “ASSIGNED”, the assigned state will be set on the Interference object. If set to null or different object type, then the state will be unchanged.
index 3 = String to set the userSeverity to. If "null", non whole number (1.1), not between -2,147,483,648 to 2,147,483,647, or set to a non String (i.e Object), then the userSeverity will be unchanged.
index 4 = String to set the name to. If "null", a "" or an all whitespace string, then the name will be unchanged. If set to a non String (i.e Object), then the name will also be unchanged. Name has a Hard limit of characters based on database column size and will truncate anything beyond that. (default is 60 characters) Best practice is to handle proper sizing of the name in the hook.
If the value for a InterferenceInfo instance is set to null, then the newly created Interference or existing Interference will not have any attributes set or changed. If this method returns null, then none of the existing Interferences or newly created Interferences will have the attributes set or changed.
Custom Method: isInterferenceEquivalent
Parameter
Description
InterferenceInfo
The WVS Interference processor will pass in a single InterferenceInfo instance with all information extracted from an Interference Report generated by the Creo View Client Adapter.
LifeCycleManagedWtMarkUp
This parameter is an existing Interference object that is associated to a different Interference Report
Return
Description
boolean
Will return true only if the two parameters are considered equal. The WVS Interference processor uses the result to determine when to create new Interference object verses associating an existing Interference object to a new Interference Report.
Limitations
The customization for setting Interference attribute values only supports Assignee, Description,State, User Severity, and Name attributes.
Sample Code
For comprehensive examples, see InterferenceDetectionHooks.java located in <Windchill>/prog_examples/wvs/com/ptc/wvs.
Additional Resouces
Windchill Visualization Services
wvs.properties.xconf file in your <Windchill>\codebase\WEB-INF\conf directory.
InterferenceDetectionHooks.java located in <Windchill>\prog_examples\wvs\com\ptc\wvs