Creating runtime tasks that use an existing interface

This example creates a runtime task that uses an interface that is already defined, that is, the local file system on the client has a file that contains the description of the interface.

Why and when to perform this task

Steps for this task

  1. Access the ClientTaskFactory and create a resource set to contain the definitions of the new task model.
    ClientTaskFactory factory = ClientTaskFactory.newInstance(); 
    ResourceSet resourceSet = factory.createResourceSet();
  2. Access the WSDL definition and the descriptions of your operations.

    The interface description is located relative to the location where the code is executed.

    Definition definition = factory.loadWSDLDefinition( resourceSet, "interface.wsdl"  );
    PortType portType = definition.getPortType( new QName( definition.getTargetNamespace(), "doItPT" ) );
    Operation operation = portType.getOperation("doIt", null, null );
  3. Create the EMF model of your new human task.

    This step initializes the properties of the task model with default values.

    TTask humanTask = factory.createTTask( resourceSet, 
                                           TTaskKinds.HTASK_LITERAL, 
                                           "TestTask", 
                                           new UTCDate( "2005-01-01T00:00:00" ), 
                                           "http://www.ibm.com/task/test/", 
                                           portType, 
                                           operation );
  4. Modify the properties of your human task model.
    // use the methods from the com.ibm.wbit.tel package, for example,
    humanTask.setBusinessRelevance( TBoolean, YES_LITERAL );
    
    // retrieve the task factory to create or modify composite task elements
    TaskFactory taskFactory = factory.getTaskFactory();
    
    // specify escalation settings
    TVerb verb = taskFactory.createTVerb();
    verb.setName("Everybody");
    
    // create escalationReceiver and add verb
    TEscalationReceiver escalationReceiver = taskFactory.createTEscalationReceiver();
    escalationReceiver.setVerb(verb);
    
    // create escalation and add escalation receiver 
    TEscalation escalation = taskFactory.createTEscalation();
    escalation.setEscalationReceiver(escalationReceiver);
  5. Create the task model that contains all the resource definitions.
    TaskModel taskModel = ClientTaskFactory.createTaskModel( resourceSet );
  6. Validate the task model.
    ValidationProblem[] validationProblems = taskModel.validate();
  7. Create the runtime task instance or template.
    Use the HumanTaskManagerService interface to create the task instance or the task template. You must provide an application name that contains the data type definitions so that they can be accessed. The application must also contain a (dummy) task or process definition.
    • The following snippet creates a task instance:
      task.createTask( taskModel, "BOapplication" );
    • The following snippet creates a task template:
      task.createTaskTemplate( taskModel, "BOapplication" );

The runtime task instance or task template can now be started.


Terms of use | | Broken links

Last updated: Tue Feb 21 17:21:51 2006

(c) Copyright IBM Corporation 2005.
This information center is powered by Eclipse technology (http://www.eclipse.org)