この例は、既に定義されているインターフェースを使用するランタイム・タスクを作成します。すなわち、クライアントのローカル・ファイル・システムには、インターフェースの記述を含むファイルがあります。
ClientTaskFactory factory = ClientTaskFactory.newInstance(); ResourceSet resourceSet = factory.createResourceSet();
インターフェース記述は、コードが実行されたロケーションの相対位置に配置されます。
Definition definition = factory.loadWSDLDefinition( resourceSet, "interface.wsdl" ); PortType portType = definition.getPortType( new QName( definition.getTargetNamespace(), "doItPT" ) ); Operation operation = portType.getOperation("doIt", null, null );
タスク・インスタンスを作成する場合は、有効開始日 (UTCDate) は必要ありません。
TTask humanTask = factory.createTTask( resourceSet, TTaskKinds.HTASK_LITERAL, "TestTask", new UTCDate( "2005-01-01T00:00:00" ), "http://www.ibm.com/task/test/", portType, operation );
このステップは、タスク・モデルのプロパティーをデフォルト値で初期化します。
// 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("John"); // 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);
TaskModel taskModel = ClientTaskFactory.createTaskModel( resourceSet );
ValidationProblem[] validationProblems = taskModel.validate();
task.createTask( taskModel, "BOapplication", "HTM" );
task.createTaskTemplate( taskModel, "BOapplication" );
ランタイム・タスク・インスタンスが作成された場合、それを始動することができます。ランタイム・タスク・テンプレートが作成された場合、そのテンプレートからタスク・インスタンスを作成できます。