miércoles, 7 de mayo de 2008

Códigos de Java Worklist Application

Aquí están los códigos de Java Worklist Application

Artículo publicado aquí

--------------------------------------------------------------

WorkflowOracle.java

--------------------------------------------------------------

package wanzjin.workflowclient.com;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.Stack;
import oracle.bpel.services.workflow.client.IWorkflowServiceClient;
import oracle.bpel.services.workflow.client.WorkflowServiceClientFactory;
import oracle.bpel.services.workflow.query.ITaskQueryService;
import oracle.bpel.services.workflow.repos.Ordering;
import oracle.bpel.services.workflow.repos.Predicate;
import oracle.bpel.services.workflow.repos.TableConstants;
import oracle.bpel.services.workflow.task.ITaskService;
import oracle.bpel.services.workflow.task.model.Task;
import oracle.bpel.services.workflow.verification.IWorkflowContext;

public class WorkflowOracle {
public WorkflowOracle() {
}
public Stack GetListTasks(String user, String Password, String realm){
Stack st= new Stack();
try {
IWorkflowServiceClient wfSvcClient = WorkflowServiceClientFactory.getWorkflowServiceClient(WorkflowServiceClientFactory.REMOTE_CLIENT);
ITaskQueryService querySvc = wfSvcClient.getTaskQueryService();

//Login as jcooper
IWorkflowContext ctx = querySvc.authenticate(user,Password,realm, null);
//Set up list of columns to query
List queryColumns = new ArrayList();
queryColumns.add("TASKID");
queryColumns.add("TASKNUMBER");
queryColumns.add("TITLE");
queryColumns.add("OUTCOME");
queryColumns.add("CREATEDDATE");
//Create a predicate to query tasks that have a null outcome
String outcome = null;
Predicate predicate = new Predicate(TableConstants.WFTASK_OUTCOME_COLUMN,Predicate.OP_EQ,outcome);
//Create an ordering to order tasks by task number
Ordering ordering = new Ordering(TableConstants.WFTASK_TASKNUMBER_COLUMN,true,false);
List additionalColumns = new ArrayList();
additionalColumns.add("ELEMENT");

List tasks = querySvc.queryTasks(ctx,
queryColumns,
null, //Query addtional info
ITaskQueryService.ASSIGNMENT_FILTER_ALL,
null, //No keywords
predicate, //No custom predicate
null, //No special ordering
0, //Do not page the query result
0);
for(int i = 0 ; i < tasks.size() ; i ++)
{
Task task = (Task)tasks.get(i);
String estado = task.getSystemAttributes().getOutcome();
if(estado==null){
String taskNumber = Integer.toString(task.getSystemAttributes().getTaskNumber());
String title = task.getTitle();
String taskId = task.getSystemAttributes().getTaskId();
int Mes= task.getSystemAttributes().getCreatedDate().get(Calendar.MONTH);
int YEAR= task.getSystemAttributes().getCreatedDate().get(Calendar.YEAR);
int DAY= task.getSystemAttributes().getCreatedDate().get(Calendar.DAY_OF_MONTH);
int Hora= task.getSystemAttributes().getCreatedDate().get(Calendar.HOUR);
int Minuto= task.getSystemAttributes().getCreatedDate().get(Calendar.MINUTE);
String cero="";
if(Minuto<10){
cero="0";
}
String mes="";
switch(Mes){
case 1: mes="Jan";
break;
case 2: mes="Feb";
break;
case 3: mes="Mar";
break;
case 4: mes="Apr";
break;
case 5: mes="May";
break;
case 6: mes="Jun";
break;
case 7: mes="Jul";
break;
case 8: mes="Aug";
break;
case 9: mes="Sept";
break;
case 10: mes="Oct";
break;
case 11: mes="Nov";
break;
case 12: mes="Dec";
break;
default : mes="Jan";
break;
}
String Fecha= mes + " "+ DAY+ ", "+ YEAR+ " "+Hora+":"+cero+Minuto;
String[] tarea= new String[4];
tarea[0]= taskId;
tarea[1]= taskNumber;
tarea[2]= title;
tarea[3]= Fecha;
//JUST FOR TESTS COMMENT THE NEXT LINES
System.out.println("-------------------------------------------------");
System.out.println("ID: "+ tarea[0]+" Number: "+ tarea[1]);
System.out.println("Title: "+ tarea[2]+" Date: "+ tarea[3]);
System.out.println("-------------------------------------------------");
// END OF TESTS
st.push(tarea);
}
}
}
catch (Exception e)
{
//Handle any exceptions raised here...
System.out.println("Caught workflow exception: "+e.getMessage());
e.printStackTrace();
}
return st;
}
public boolean actualizarTarea(String user, String Password, String realm,String respuesta, String taskId){
boolean actualizo=false;
try {
IWorkflowServiceClient wfSvcClient = WorkflowServiceClientFactory.getWorkflowServiceClient(WorkflowServiceClientFactory.SOAP_CLIENT);
ITaskQueryService querySvc = wfSvcClient.getTaskQueryService();
IWorkflowContext ctx = querySvc.authenticate(user,Password,realm, null);
ITaskService taskSvc = wfSvcClient.getTaskService();
getTask(user, Password, realm,respuesta, taskId);
if(respuesta.equals("1"))
taskSvc.updateTaskOutcome(ctx,taskId,"APPROVE");
else
taskSvc.updateTaskOutcome(ctx,taskId,"REJECT");
actualizo=true;
}
catch (Exception e)
{
//Handle any exceptions raised here...
System.out.println("Caught workflow exception: "+e.getMessage());
e.printStackTrace();
}
return actualizo;
}
public void getTask(String user, String Password, String realm,String respuesta, String taskId){
try {
IWorkflowServiceClient wfSvcClient = WorkflowServiceClientFactory.getWorkflowServiceClient(WorkflowServiceClientFactory.SOAP_CLIENT);
ITaskQueryService querySvc = wfSvcClient.getTaskQueryService();
IWorkflowContext ctx = querySvc.authenticate(user,Password,realm, null);
ITaskService taskSvc = wfSvcClient.getTaskService();
taskSvc.acquireTask(ctx,taskId);
}
catch (Exception e)
{
//Handle any exceptions raised here...
System.out.println("Caught workflow exception: "+e.getMessage());
e.printStackTrace();
}
}
public boolean checkUser(String user, String Password, String realm){
boolean existe= false;
try {
IWorkflowServiceClient wfSvcClient = WorkflowServiceClientFactory.getWorkflowServiceClient(WorkflowServiceClientFactory.SOAP_CLIENT);
ITaskQueryService querySvc = wfSvcClient.getTaskQueryService();
IWorkflowContext ctx = querySvc.authenticate(user,Password,realm, null);
existe=true;
}
catch(Exception e){
return existe;
}
return existe;
}
//FOR CONNECTION TESTS
public static void main(String[] args) {
WorkflowOracle twf= new WorkflowOracle();
twf.GetListTasks("jcooper","welcome1","jazn.com");
}
}

--------------------------------------------------------------

TasksOracle.java

--------------------------------------------------------------

package wanzjin.workflowclient.com;

import oracle.bpel.services.workflow.client.IWorkflowServiceClient;
import oracle.bpel.services.workflow.client.WorkflowServiceClientFactory;
import oracle.bpel.services.workflow.query.ITaskQueryService;
import oracle.bpel.services.workflow.task.model.Task;
import oracle.bpel.services.workflow.verification.IWorkflowContext;

import oracle.xml.parser.v2.XMLElement;
import com.oracle.xmlns.workflowaplicationtest.*;
import org.w3c.dom.Element;

public class TasksOracle {
public TasksOracle() {
}

public WorkFlowAplicationTestProcessRequest GetTarea(String user, String Password, String realm, String TaskId){
Element payload=null;
WorkFlowAplicationTestProcessRequest payloadElement =null;
try {
IWorkflowServiceClient wfSvcClient = WorkflowServiceClientFactory.getWorkflowServiceClient(WorkflowServiceClientFactory.REMOTE_CLIENT);
ITaskQueryService querySvc = wfSvcClient.getTaskQueryService();
IWorkflowContext ctx = querySvc.authenticate(user,Password,realm, null);
Task t= querySvc.getTaskDetailsById(ctx, TaskId);
payload = (Element) t.getPayloadAsElement();
payloadElement = new WorkFlowAplicationTestProcessRequestImpl((XMLElement) payload.getFirstChild());
}
catch(Exception e){
e.printStackTrace();
}
return payloadElement;
}
public static void main(String[] args) {
TasksOracle to= new TasksOracle();
WorkFlowAplicationTestProcessRequest payload= to.GetTarea("jcooper", "welcome1", "jazn.com","bc7431c56d947d4e:738f1886:119bd6667d6:-7a74" );
System.out.println(payload.getInput());
}

}

--------------------------------------------------------------

Login.jsp

--------------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<title>Login</title>
</head>
<body>
<%
//Can not login
if(request.getParameter("Existe")!=null && request.getParameter("Existe")!="" ){
%>
The user doesnt exist!
<%
}
%>
<form action="Check.jsp" method="post">
<input type="hidden" name="realm" value="jazn.com"/>
<table cellspacing="1" cellpadding="1" border="1" width="250">
<tr>
<td>
<div align="right">
user:
</div></td>
<td>
<input type="text" name="user" maxlength="30" size="8"/>
</td>
</tr>
<tr>
<td>
<div align="right">
password:
</div></td>
<td>
<input type="password" name="password" maxlength="30" size="8"/>
</td>
</tr>
<tr>
<td>
<div align="right">
&nbsp;
</div></td>
<td>
<input type="submit" name="Entrar" value="Entrar"/>
</td>
</tr>
</table>
</form></body>
</html>

--------------------------------------------------------------

Logout.jsp

--------------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<title>Logout</title>
</head>
<body>
<%
session.invalidate();
response.sendRedirect("Login.jsp");
%>
</body>
</html>

--------------------------------------------------------------

Check.jsp

--------------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252" language="java"
import="wanzjin.workflowclient.com.*"
import="java.util.Stack"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<title>Check</title>
</head>
<body>
<%
WorkflowOracle wo= new WorkflowOracle();
boolean existe=wo.checkUser(request.getParameter("user"),request.getParameter("password"),request.getParameter("realm"));
if(existe==true){
session.setAttribute("user",request.getParameter("user"));
session.setAttribute("password",request.getParameter("password"));
session.setAttribute("realm",request.getParameter("realm"));
response.sendRedirect("UserTasks.jsp");
}
else
{
response.sendRedirect("Login.jsp?Existe=No");
}
%>
</body>
</html>

--------------------------------------------------------------

Modify.jsp

--------------------------------------------------------------

<%@ page contentType="text/html;charset=windows-1252" language="java"
import="wanzjin.workflowclient.com.*,com.oracle.xmlns.workflowaplicationtest.*"
import="oracle.xml.parser.v2.XMLElement"
import="org.w3c.dom.*"
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<title>Modificada</title>
</head>
<%
String user= (String) session.getAttribute("user");
if(user==null || user==""){
response.sendRedirect("Login.jsp?Existe=No");
}
String password= (String) session.getAttribute("password");
String realm= (String) session.getAttribute("realm");
WorkflowOracle wo= new WorkflowOracle();
boolean respuesta= wo.actualizarTarea(user, password,realm,request.getParameter("cambioTarea"), request.getParameter("taskid"));
response.sendRedirect("UserTasks.jsp");
%>
<!--<body onLoad="javascript:window.close();"></body>-->

</html>

--------------------------------------------------------------

ShowTask.jsp

--------------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252" language="java"
import="wanzjin.workflowclient.com.*,com.oracle.xmlns.workflowaplicationtest.*"
import="oracle.xml.parser.v2.XMLElement"
import="org.w3c.dom.*"
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<title>Show Task</title>
</head>
<body>
<%
String taskid= request.getParameter("TaskId");
String tasknumber= request.getParameter("TaskNumber");
String title= request.getParameter("Title");
String fecha= request.getParameter("Fecha");
String user= (String) session.getAttribute("user");
if(user==null || user==""){
response.sendRedirect("Login.jsp?Existe=No");
}
String pass= (String) session.getAttribute("password");
String realm= (String) session.getAttribute("realm");
TasksOracle to= new TasksOracle();
WorkFlowAplicationTestProcessRequest payload= to.GetTarea(user, pass, realm,taskid );
if(payload== null){
%>Task does not exist...<%
}
else{
%>
<a href="Logout.jsp">
Logout
</a>
<form name="aceptar" method="POST" action="Modify.jsp">
<input type="hidden" name="taskid" value="<%=taskid%>"/>
<table>
<tr>
<td>
<%=payload.getInput()%>
</td>
<td>
<select size="1" name="cambioTarea">
<option value="1">
Aceptar
</option>
<option value="2">
Rechazar
</option>
</select>
</td>
<td>
<input type="submit" value="modificar" name="modificar"/>
</td>
</tr>
</table>
</form><p><a href="UserTasks.jsp">
Back
</a>
</p>
<%}%>
</body>
</html>

--------------------------------------------------------------

UserTasks.jsp

--------------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252" language="java"
import="wanzjin.workflowclient.com.*"
import="java.util.Stack"%>
<html>
<head>
<meta http-equiv="refresh" content="4">
<title>IniciarT1</title>
</head>
<body><p>
<%
//Refresh
if(request.getParameter("Actualizada")!=null && request.getParameter("Actualizada")!="" ){
if(request.getParameter("Actualizada").equals("true")){
%>Task Refresh...<%
}
else{
%>The refresh cannot be executed<%
}
}
//Refresh
WorkflowOracle wo= new WorkflowOracle();
String user= (String) session.getAttribute("user");
String password= "";
String realm= "";
if(user==null || user==""){
if(request.getParameter("user")==null || request.getParameter("user")==""){
response.sendRedirect("Login.jsp?Existe=No");
}
else{
user= request.getParameter("user");
password= request.getParameter("password");
realm= "jazn.com";
WorkflowOracle wo2= new WorkflowOracle();
boolean existe=wo2.checkUser(request.getParameter("user"),request.getParameter("password"),request.getParameter("realm"));
if(existe==true){
session.setAttribute("user",request.getParameter("user"));
session.setAttribute("password",request.getParameter("password"));
session.setAttribute("realm",realm);
response.sendRedirect("UserTasks.jsp");
}
else
{
response.sendRedirect("Login.jsp?Existe=No");
}
}
}
password= (String) session.getAttribute("password");
realm= (String) session.getAttribute("realm");
Stack tareas= wo.GetListTasks(user,password,realm);
int numeroTareas= tareas.size();
%>
<a href="Logout.jsp">
Logout
</a>
</p><p>
<a href="UserTasks.jsp">
Manual Refresh
</a>
</p><table cellspacing="1" cellpadding="1" border="1" align="center" width="80%">
<tr>
<td>
Numero de Tarea
</td>
<td>
Titulo
</td>
<td>
Fecha de creacion
</td>
<td>&nbsp;</td>
</tr>
<%
String[] b= null;
for(int a=0; a<numeroTareas;a++){
b= (String[]) tareas.pop();
%>
<form name="mostrarTarea" action="ShowTask.jsp" method="post">
<tr>
<td>
<input type="hidden" name="user" value="<%=user%>"/>
<input type="hidden" name="password" value="<%=password%>"/>
<input type="hidden" name="realm" value="<%=realm%>"/>
<input type="hidden" name="TaskId" value="<%=b[0]%>"/>
<input type="text" name="TaskNumber" value="<%=b[1]%>"/>
</td>
<td>
<input type="text" name="Title" value="<%=b[2]%>"/>
</td>
<td>
<input type="text" name="Fecha" value="<%=b[3]%>"/>
</td>
<td>
<input type="submit" name="Ver" value="Ver"/>
</td>
</tr>
</form>
<%
}
%>
</table>
</body>
</html>

------------------------------------------------------------------

1 comentarios:

Anónimo dijo...

Who knows where to download XRumer 5.0 Palladium?
Help, please. All recommend this program to effectively advertise on the Internet, this is the best program!

 
Themes by: Free Templates Studio. Powered by Blogger