2008-05-08
Human Task API 用法
关键字: human task api 用法Creaet Human Task API:
<!--
"This sample program is provided AS IS and may be used, executed, copied and modified without
royalty payment by customer (a) for its own instruction and study, (b) in order to develop
applications designed to run with an IBM WebSphere product, either for customer's own
internal use or for redistribution by customer, as part of such an application, in customer's own products."
Product 5655-FLW, (C) COPYRIGHT International Business Machines Corp., 2005, 2007
All Rights Reserved * Licensed Materials - Property of IBM
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<title>Invocation Task Sample</title>
</head>
<body>
<div align="center">
<h1>Invocation Task Sample</h1>
<%@ page import="com.ibm.task.api.LocalHumanTaskManagerHome"%>
<%@ page import="com.ibm.task.api.LocalHumanTaskManager"%>
<%@ page import="com.ibm.task.api.*"%> <%@ page import="commonj.sdo.*"%>
<%@ page import="javax.naming.Context"%> <%
try {
//Obtain the default initial context
Context context = new javax.naming.InitialContext();
//Lookup the Local Home Interface
LocalHumanTaskManagerHome taskHome = (LocalHumanTaskManagerHome) context.lookup("java:comp/env/ejb/LocalHumanTaskManagerHome");
System.out.println("Lookup...success");
//Access the local interface
LocalHumanTaskManager taskManager = taskHome.create();
System.out.println("Accessing local interface...success");
String taskTemplateName = "ProcessStarter";
String taskNamespace = "http://InvocationTask/bpc/samples";
//Create a new task instance
TKIID pTaskID = taskManager.createTask(taskTemplateName, taskNamespace);
System.out.println("task with instance ID = " + pTaskID.toString() + " created.");
//get the task instance
Task task = taskManager.getTask(pTaskID);
//get wait parameter
int wait = 1;//minutes
try
{
wait = Integer.parseInt(request.getParameter("minutesToWait"));
}
catch(NumberFormatException nfe)
{
}
//create input message
ClientObjectWrapper cow = taskManager.createInputMessage(pTaskID);
DataObject dataObject = (DataObject) cow.getObject();
dataObject.setString("in", request.getParameter("in"));
dataObject.setInt("minutes", wait);
//set an arbitrary task identifier
task.setName(request.getParameter("task_name"));
//start and update task instance
taskManager.startTask(pTaskID, cow, null);
taskManager.update(task);
out.print("<BR>Task created succesfully!");
} catch (Exception e) {
e.printStackTrace(System.out);
System.out.println(e.getClass());
%>Exception occured. Check System.out.log for Details.<%
}
%>
<br>
<br>
<input type="button" onclick="document.location.href='index.html'" value=" Home ">
<input type="button" onclick="document.location.href='create.html'" value=" New ">
<input type="button" onclick="document.location.href='list.jsp'" value=" List ">
</div>
</body>
</html>
List Human Task API:
List Human Task API:
<!--
"This sample program is provided AS IS and may be used, executed, copied and modified without
royalty payment by customer (a) for its own instruction and study, (b) in order to develop
applications designed to run with an IBM WebSphere product, either for customer's own
internal use or for redistribution by customer, as part of such an application, in customer's own products."
Product 5655-FLW, (C) COPYRIGHT International Business Machines Corp., 2005, 2007
All Rights Reserved * Licensed Materials - Property of IBM
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Invocation Task Sample</title>
</head>
<body>
<div align = center>
<h1 align="center">Invocation Task Sample</h1>
<br>
<%@ page import="com.ibm.task.api.LocalHumanTaskManagerHome"%>
<%@ page import="com.ibm.task.api.LocalHumanTaskManager"%>
<%@ page import="com.ibm.task.api.*"%>
<%@ page import="commonj.sdo.*"%>
<%@ page import="javax.naming.Context"%>
<%@ page import="bpc.samples.StateTranslator"%>
<!-- BEGINN General Code Section -->
<%
LocalHumanTaskManager taskManager = null;
int numOfInstances = 0;
String name = null;
QueryResultSet instances = null;
try {
//Obtain the defaukt initial context
Context context = new javax.naming.InitialContext();
//Lookup the Local Home Interface
LocalHumanTaskManagerHome taskHome =
(LocalHumanTaskManagerHome) context.lookup("java:comp/env/ejb/LocalHumanTaskManagerHome");
System.out.println("Lookup...success");
//Access the local interface
taskManager = taskHome.create();
System.out.println("Accessing local interface...success");
String taskTemplateName = "ProcessStarter";
String taskNamespace = "http://InvocationTask/bpc/samples";
//query task instances
String whereClause = "TASK_TEMPL.NAME='" + taskTemplateName + "' AND TASK_TEMPL.NAMESPACE='" + taskNamespace + "'";
instances = taskManager.query("DISTINCT TASK.TKIID", whereClause, null,null, null, null);
numOfInstances = instances.size();
System.out.println(numOfInstances + " instances found");
}
catch (Exception e) {
e.printStackTrace();
System.out.println(e.getClass());
}
if (numOfInstances > 0) {
//print the table
%>
<table align="center" border="1" style="border-style:solid;" cellspacing="0">
<thead>
<tr>
<th width="150" align="center" valign="middle" style="padding:5px;">Task identifier</th>
<th width="200" align="center" valign="middle" style="padding:5px;">Input data</th>
<th width="200" align="center" valign="middle" style="padding:5px;">Output data</th>
<th width="80" align="center" valign="middle" style="padding:5px;">State</th>
</tr>
</thead>
<tbody>
<%
try {
instances.first();
for (int i = 0; i < numOfInstances; i++) {
TKIID temp = (TKIID) instances.getOID(1);
Task task = taskManager.getTask(temp);
name = task.getName();
if (name.equals("")) {
name = " ";
}
String input = "not available";
String output = "not available";
//get the input message of instance i.
try
{
ClientObjectWrapper req = taskManager.getInputMessage(temp);
DataObject inputDO = (DataObject) req.getObject();
if(inputDO != null)
{
String in = inputDO.getString("in");
int minutes = inputDO.getInt("minutes");
input = "minutes: " + minutes + "<br>in: " + in;
}
}
catch(Exception e1)
{
System.out.println(e1);
}
//get the output message of instance i, if possible
try
{
if (taskManager.getOutputMessage(temp).getObject() != null) {
//get the output message
ClientObjectWrapper resp = taskManager.getOutputMessage(temp);
DataObject outputDO = (DataObject) resp.getObject();
if(outputDO != null)
{
output = outputDO.getString("out");
if (output.equals("")) {
output = " ";
}
}
}
}
catch(Exception e2)
{
System.out.println(e2);
}
//print table row for instance i
out.print("<tr><td align=\"center\" style=\"padding:5px;\">"
+ name
+ "</td><td align=\"center\" style=\"padding:5px;\">"
+ input
+ "</td><td align=\"center\" style=\"padding:5px;\">"
+ output
+ "</td><td align=\"center\" style=\"padding:5px;\">"
+ StateTranslator.translate(task.getState())
+ "</td></tr>");
instances.next();
}
}
catch (Exception e)
{
e.printStackTrace();
System.out.println(e.getClass());
%>Exception occured. Check System.out.log for Details.<%
}
%>
<!-- END List Code Section -->
</tbody>
</table>
<br>
<br>
<input type="button" value=" Home " onclick="document.location.href='index.html'">
<input type="button" value=" New " onclick="document.location.href='create.html'">
<input type="button" value="Delete all" onclick="document.location.href='clearAll.jsp'">
<input type="button" value="Delete finished" onclick="document.location.href='clearFinished.jsp'">
<input type="button" value="Refresh table" onclick="document.location.href='list.jsp'">
<br>
<%} else {
//print return button
%>
<p>No instances of type ProcessStarter found.</p>
<br>
<br>
<input type="button" value=" Home " onclick="document.location.href='index.html'">
<input type="button" value=" New " onclick="document.location.href='create.html'">
<%}%>
</div>
</body>
</html>
Delete:
<!--
"This sample program is provided AS IS and may be used, executed, copied and modified without
royalty payment by customer (a) for its own instruction and study, (b) in order to develop
applications designed to run with an IBM WebSphere product, either for customer's own
internal use or for redistribution by customer, as part of such an application, in customer's own products."
Product 5655-FLW, (C) COPYRIGHT International Business Machines Corp., 2005, 2007
All Rights Reserved * Licensed Materials - Property of IBM
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Originating Task Sample</title>
</head>
<body>
<%@ page import="com.ibm.task.api.LocalHumanTaskManagerHome"%>
<%@ page import="com.ibm.task.api.LocalHumanTaskManager"%>
<%@ page import="com.ibm.task.api.*"%>
<%@ page import="javax.naming.Context"%>
<div align="center">
<h1>Invocation Task Sample</h1>
<%
try {
//Obtain the defaukt initial context
Context context = new javax.naming.InitialContext();
//Lookup the Local Home Interface
LocalHumanTaskManagerHome taskHome = (LocalHumanTaskManagerHome) context
.lookup("java:comp/env/ejb/LocalHumanTaskManagerHome");
System.out.println("Lookup...success");
//Access the local interface
LocalHumanTaskManager taskManager = taskHome.create();
System.out.println("Accessing local interface...success");
String taskTemplateName = "ProcessStarter";
String taskNamespace = "http://InvocationTask/bpc/samples";
//query task instances
String whereClause = "TASK_TEMPL.NAME='" + taskTemplateName + "' AND TASK_TEMPL.NAMESPACE='" + taskNamespace + "'";
QueryResultSet instances = taskManager.query("DISTINCT TASK.TKIID",whereClause, null, null, null, null);
System.out.println(instances.size() + " instances found");
out.println("<p align=\"center\">"
+ instances.size()
+ " instances found.<br>Deleting all finished instances...<br></p>");
//delete the instances
instances.first();
boolean noInstanceFound = true;
for (int i = 0; i < instances.size(); i++) {
TKIID temp = (TKIID) instances.getOID(1);
Task task = taskManager.getTask(temp);
int state = task.getState();
if (state == 5) {
taskManager.delete(temp);
System.out.println("instance (" + temp + ") ...deleted");
out.println("<p> --> instance \"" + task.getName() + "\" ... deleted.</p>");
noInstanceFound = false;
}
instances.next();
}
if (noInstanceFound) {
out.println("<p>No finished instances found.<p>");
}
QueryResultSet instances_left = taskManager.query("DISTINCT TASK.TKIID", whereClause, null, null, null, null);
System.out.println(instances_left.size() + " instances left");
}
catch (Exception e) {
e.printStackTrace();
System.out.println(e.getClass());
%>Exception occured. Check System.out.log for Details.<%
}
%> <br>
<input type="button" onclick="document.location.href='list.jsp'" value=" OK "></div>
</body>
</html>
发表评论
- 浏览: 60447 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
我的相册
facebook application break down
共 5 张
共 5 张
最近加入圈子
最新评论
-
Tomcat中如何打开Sun JSF ...
在websphere下能打开日志吗?
-- by lfx2002 -
maven 五分钟 cook
cnfree 写道Maven是好东西,以前公司的项目用Ant build 一次要 ...
-- by hantsy -
maven 五分钟 cook
Maven是好东西,以前公司的项目用Ant build 一次要2个多小时,用Ma ...
-- by manysysy -
JSF和Ext2综合使用方案
AOM有别于其它jsf框架和其它web框架的最大特性就是Iovc,这一点使得大部 ...
-- by JJYAO -
f:view beforePhase的用法
是这样子的,看下面的code: public void init(PhaseE ...
-- by hintcnuie






评论排行榜