Defining Custom Life Cycle Transitions
You can create custom life cycle transitions that you can then define between life cycle states using the Life Cycle Administration utility.
There are two methods to accomplish this:
• Use the Enumerated Type Customization Utility
• Create a custom TransitionRB.rbInfo file
Use the enumcustomize Utility
1. From a Windchill shell, run the following command:
enumcustomize
2. The Enumerated Type Customization Utility window opens.
3. Click Browse and navigate to the following file:
codebase\wt\lifecycle\TransitionRB.RB.ser
4. Click New to create a new transition:
5. Select the Selectable checkbox.
6. Click Save and Exit.
7. From the Windchill shell, execute the following command:
ant -f codebase\makejar.xml
Modify TransitionRB.rbInfo
The follow example creates a new transition called “Reject”:
1. Locate the following file (or create it if it does not exist):
<Windchill>/wtCustom/wt/lifecycle/TransitionRB.rbInfo
2. Add the following entry:
USER_REJECT.value=Reject
USER_REJECT.shortDescription=Reject transition
3. Build the runtime resource bundles for the customized packages by entering the following command from a Windchill shell:
ResourceBuild wt.lifecycle.TransitionRB
Results
As a result:
• The new transition is added to the transitions that are available when you create or update life cycles using the Life Cycle Administration utility.
• The new transition can be accessed programmatically.
• You can invoke the navigate() method to find the valid transitions between states using that new transition:
WTKeyedMap rejectMap=new WTKeyedHashMap();
Set rejectSet = new HashSet();
State rejectState=State.toState("DESIGN");
rejectSet.add(rejectState);
rejectMap.put(<life_cycle_managed>, rejectSet);
WTKeyedHashMap returnMap =
(WTKeyedHashMap) LifeCycleHelper.service.navigate
(rejectMap,
Transition.toTransition("USER_REJECT"),
true);
The above call to navigate() returns the successor states to the DESIGN state on a life cycle managed object (<life_cycle_managed>), following valid USER_REJECT transitions.