Upgrade Guide

     Previous  Next    Open TOC in new window    View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Other Component Changes

This section provides WebLogic Integration 8.1 to 9.2 upgrade information for the following components:

 


Control Factories

The WebLogic Integration upgrader upgrades only WebLogic Integration controls used as a control factory from a JPD. The upgrader makes the following source changes:

  1. Adds the @com.bea.wli.common.ControlFactory annotation to the control field declaration in the JPD. For example,

  2. @com.bea.wli.common.ControlFactory
    @ org.apache.beehive.controls.api.bean.Control
    private SampleControlExtension sampleControlExtCF;
  3. Adds a method with the following signature to the upgraded control extension interface.
  4. public <Control Extension type> create();

    For example,

    public SampleControlExtension create();
  5. If required, adds the @com.bea.wli.common.ControlFactoryEventHandler annotation to the event handler method in the JPD. For example,
  6. @ com.bea.wli.common.ControlFactoryEventHandler(field = "sampleControlExtCF", eventSet = SampleControlExtension.Callback.class, eventName = "response")
    public void receive(SampleControlExtension bean, String data)

Timer control does not have a control extension. In case of timer control used from a control factory, the upgrader creates a TimerControlFactory control extension class in the same package as the JPD.

For non-Weblogic Integration controls used as a control factory from JPD user must take the following steps after upgrade to be able to use the control from the control factory:

  1. Add @com.bea.wli.common.ControlFactory annotation to the control field declaration in the JPD
  2. Add a method with the following signature to the upgraded control extension interface.
  3. public <Control Extension type> create();

    For example,

    public SampleControlExtension create();
  4. If required, add the @com.bea.wli.common.ControlFactoryEventHandler annotation to the event handler method in the JPD. For example,
  5. @ com.bea.wli.common.ControlFactoryEventHandler(field = "sampleControlExtCF", eventSet = SampleControlExtension.Callback.class, eventName = "response")
    public void receive(SampleControlExtension bean, String data)

 


XQuery Files

WebLogic Integration upgrades XQuery files through the upgrade of DTF files. The DTF file contains references to XQuery files that are upgraded along with the DTF file. When the XQuery file is upgraded, WebLogic Integration includes a comment, at the top of the file, that indicates that the file belongs to version 2002.

For example, an XQuery file before the upgrade contains the following:

{-- Project3/SwitchAssignTransformation.dtf#forAssign2Copy01 --}
xs:boolean( 'false' )

The XQuery file after the upgrade contains the following:

{-- Project3/SwitchAssignTransformation.dtf#forAssign2Copy01 --}
{-- version=2002 --}
xs:boolean( 'false' )
Note: WebLogic Integration displays a warning message in case you select an upgrade action on an XQuery file. This warning message states that the file cannot be upgraded.
Caution: The Xquery within the XQuery files are not upgraded to version 2004: they remain in the version of the original file before the upgrade.

 


JPD and Control Callbacks

WebLogic Integration upgrades control declarations using @Control according to the Apache Beehive standard. The JPD callback field is annotated with @Callback. The callback interface is annotated with @CallbackInterface. The Callback interface declaration remains a part of the JPD definition and extends the ServiceBrokerControl.

According to the Apache Beehive standards, WebLogic Integration also annotates control callback handler methods using @EventHandler().

All the methods in the process definition that are referenced from the <controlReceive\> XML snippet are annotated during the upgrade with the @EventHandler annotation.

Note: Control callbacks can be sent to a JPD only by using ControlHandle.sendEvent.
Note: For example, add the following code to the MyCustomControlImpl.java file after upgrade:
Note: System.out.println("Before sending event to jpd in MyCustomControlImpl event
Note: handler");
Note: ControlHandle controlHandle = context.getControlHandle();
Note: try {
Note: Method m = MyCustomControl.Callback.class.getMethod("response",
Note: XmlObject.class);
Note: EventRef event = new EventRef(m);
Note: controlHandle.sendEvent( event, new Object[]{payload});
Note: }
Note: catch(Exception e) {
Note: e.printStackTrace();
Note: }

 


JPD Process Language

In WebLogic Integration 8.x applications, the entire process language was specified using @jpd:process. However, for WebLogic Integration 9.2 the process language is upgraded to @com.bea.wli.jpd. The Process annotation has a process attribute that contains the entire process language string.

 


DTF Transformation

When the DTF files are upgraded, they are re-named with a .java extension. All the DTF files in WebLogic Integration 8.1 annotations are upgraded to JSR-175 based annotations. All the controls are converted to Apache Beehive controls.

The DTF files in WebLogic Integration 8.1 have similar functions as other WebLogic Integration controls, but they are abstract classes unlike other controls, which are interfaces. The DTF class contain metadata-specified methods, and fully-coded methods that are specified by actual Java method bodies that are called by the XQuery engine.

DTF annotations that contained xquery and xquery-ref attributes indicating XQuery version 2002 have a new xqueryVersion attribute in WebLogic Integration 9.2.

WebLogic Integration 9.2 upgrades all import statements and adds new import statements where required. For example, a WebLogic Integration 8.1 DTF file that contains an annotation is as follows:

/**
     * @dtf:transform xquery-ref="switchXqAssign2defaultAssign_1Copy01.xq"
     */

When this DTF file is upgraded to WebLogic Integration 9.2, it is as follows:

@XQueryTransform(value = "switchXqAssign2defaultAssign_1Copy01.xq", 
transformType = XQueryTransform.TransformMethodType.xquery_ref, 
@com.bea.wli.common.XQuery(version = com.bea.wli.common.XQuery.Version.v2002)

 


Channel Files

Channel files do not get upgraded during the upgrade process. They are moved into the Utility projects in Eclipse.


  Back to Top       Previous  Next