Oracle-BPM(八)
来源:互联网 发布:日历记事软件 编辑:程序博客网 时间:2024/05/18 09:14
代码下载:git
8、bpm api之taskQueryService【不分页__没有测试】
package com.ui.bpm;import com.proxy.bpm.query.TaskQueryService;import com.proxy.bpm.query.TaskQueryService_Service;import com.proxy.bpm.query.WorkflowErrorMessage;import com.proxy.bpm.service.TaskServiceContextTaskBaseType;import com.proxy.bpm.service.TaskService_Service;import java.math.BigInteger;import java.util.HashMap;import java.util.List;import java.util.Map;import oracle.adf.share.logging.ADFLogger;import oracle.bpel.services.workflow.common.model.CredentialType;import oracle.bpel.services.workflow.common.model.WorkflowContextType;import oracle.bpel.services.workflow.query.model.AssignmentFilterEnum;import oracle.bpel.services.workflow.query.model.ClauseType;import oracle.bpel.services.workflow.query.model.ColumnType;import oracle.bpel.services.workflow.query.model.DisplayColumnType;import oracle.bpel.services.workflow.query.model.CountTasksRequestType;import oracle.bpel.services.workflow.query.model.DisplayColumnType;import oracle.bpel.services.workflow.query.model.OrderingClauseType;import oracle.bpel.services.workflow.query.model.PredicateClauseType;import oracle.bpel.services.workflow.query.model.PredicateOperationEnum;import oracle.bpel.services.workflow.query.model.PredicateType;import oracle.bpel.services.workflow.query.model.SortOrderEnum;import oracle.bpel.services.workflow.query.model.TaskDetailsByIdRequestType;import oracle.bpel.services.workflow.query.model.TaskListRequestType;import oracle.bpel.services.workflow.query.model.TaskListResponseType;import oracle.bpel.services.workflow.query.model.TaskOptionalInfoEnum;import oracle.bpel.services.workflow.query.model.TaskOptionalInfoType;import oracle.bpel.services.workflow.query.model.TaskOrderingType;import oracle.bpel.services.workflow.query.model.TaskPredicateQueryType;import oracle.bpel.services.workflow.query.model.TaskPredicateType;import oracle.bpel.services.workflow.query.model.ValueListType;import oracle.bpel.services.workflow.task.model.Task;public class Test3 { //日志 private static ADFLogger logger=ADFLogger.createADFLogger(Test3.class); public Test3() { super(); } //TaskQueryService【流程查询】 //TaskService【流程更新】 //bpm Human Task 的各种type【对照XML】/* <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tas="http://xmlns.oracle.com/bpel/workflow/taskQueryService" xmlns:com=http://xmlns.oracle.com/bpel/workflow/common" xmlns:tas1="http://xmlns.oracle.com/bpel/workflow/taskQuery" xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"> <soapenv:Header/> <soapenv:Body> <tas:taskListRequest> <com:workflowContext> <com:credential> <com:login>weblogic</com:login> <com:password>weblogic1</com:password> </com:credential> </com:workflowContext> <tas1:taskPredicateQuery> <tas1:displayColumnList> <tas1:displayColumn>textAttribute1</tas1:displayColumn> <tas1:displayColumn>textAttribute2</tas1:displayColumn> <tas1:displayColumn>textAttribute3</tas1:displayColumn> </tas1:displayColumnList> <tas1:optionalInfoList> <tas1:taskOptionalInfo>Comments</tas1:taskOptionalInfo> <tas1:taskOptionalInfo>Attachments</tas1:taskOptionalInfo> <tas1:taskOptionalInfo>Payload</tas1:taskOptionalInfo> </tas1:optionalInfoList> <tas1:predicate> <tas1:assignmentFilter>My+Group</tas1:assignmentFilter> <tas1:predicate> <tas1:clause> <tas1:column tableName="WFTask"> <tas1:columnName>state</tas1:columnName> </tas1:column> <tas1:operator>IN</tas1:operator> <tas1:valueList> <tas1:value>ASSIGNED</tas1:value> <tas1:value>INFO_REQUESTED</tas1:value> <tas1:value>OUTCOME_UPDATED</tas1:value> </tas1:valueList> </tas1:clause> </tas1:predicate> </tas1:predicate> <tas1:ordering> <tas1:clause> <tas1:column>priority</tas1:column> <tas1:table>WFTask</tas1:table> <tas1:sortOrder>ASCENDING</tas1:sortOrder> <tas1:nullFirst>false</tas1:nullFirst> </tas1:clause> <tas1:clause> <tas1:column>taskNumber</tas1:column> <tas1:table>WFTask</tas1:table> <tas1:sortOrder>DESCENDING</tas1:sortOrder> <tas1:nullFirst>false</tas1:nullFirst> </tas1:clause> </tas1:ordering> </tas1:taskPredicateQuery> </tas:taskListRequest> </soapenv:Body> </soapenv:Envelope>*/ public static List<Task> queryTestNoPages() throws WorkflowErrorMessage {//该函数使用TaskQueryService,查询功能 //新建一个task查询服务 TaskQueryService_Service taskQueryService_Service = new TaskQueryService_Service(); TaskQueryService taskQueryService = taskQueryService_Service.getTaskQueryServicePort(); //1、登录验证 WorkflowContextType workflowContextType = new WorkflowContextType(); CredentialType credentialType = new CredentialType(); credentialType.setLogin("weblogic"); credentialType.setPassword("xxxxx"); workflowContextType = taskQueryService.authenticate(credentialType);//try{}catch(){}WorkflowErrorMessage //成功登陆验证之后,获取可操作的环境workflowContextType // //2、开始准备各种需要查询的task属性 TaskListRequestType taskListRequestType = new TaskListRequestType(); TaskPredicateQueryType taskPredicateQueryType = new TaskPredicateQueryType(); //DisplayColumnType【2级】 DisplayColumnType displayColumnType = new DisplayColumnType(); //查询属性少的时候,使用这种 //displayColumnType.getDisplayColumn().add("textAttribute1"); //displayColumnType.getDisplayColumn().add("textAttribute2"); //displayColumnType.getDisplayColumn().add("textAttribute3"); //查询属性很多时,用List List<String> DisplayColumn = displayColumnType.getDisplayColumn(); DisplayColumn.add("textAttribute1"); DisplayColumn.add("textAttribute2"); DisplayColumn.add("textAttribute3"); //TaskOptionalInfoType【方法和以上一样】【2级】 TaskOptionalInfoType taskOptionalInfoType = new TaskOptionalInfoType(); taskOptionalInfoType.getTaskOptionalInfo().add(TaskOptionalInfoEnum.COMMENTS); taskOptionalInfoType.getTaskOptionalInfo().add(TaskOptionalInfoEnum.ATTACHMENTS); taskOptionalInfoType.getTaskOptionalInfo().add(TaskOptionalInfoEnum.PAYLOAD); //TaskPredicateType【3级】 TaskPredicateType taskPredicateType = new TaskPredicateType(); taskPredicateType.setAssignmentFilter(AssignmentFilterEnum.MY_GROUP); //PredicateType PredicateType predicateType = new PredicateType(); taskPredicateType.setPredicate(predicateType); //PredicateClauseType【这个type比较坑爹,没用上,改用ClauseType】 //PredicateClauseType predicateClauseType = new PredicateClauseType(); ClauseType clauseType = new ClauseType(); //ColumnType ColumnType columnType = new ColumnType(); columnType.setTableName("WFTask"); columnType.setColumnName("state"); clauseType.setColumn(columnType); clauseType.setOperator(PredicateOperationEnum.IN); //ValueListType ValueListType valueListType = new ValueListType(); valueListType.getValue().add("ASSIGNED"); valueListType.getValue().add("INFO_REQUESTED"); valueListType.getValue().add("OUTCOME_UPDATED"); clauseType.setValueList(valueListType); predicateType.getClause().add(clauseType); //TaskOrderingType TaskOrderingType taskOrderingType = new TaskOrderingType(); //OrderingClauseType OrderingClauseType orderingClauseType1 =new OrderingClauseType(); orderingClauseType1.setColumn("priority"); orderingClauseType1.setTable("WFTask"); orderingClauseType1.setSortOrder(SortOrderEnum.ASCENDING); orderingClauseType1.setNullFirst(false); taskOrderingType.getClause().add(orderingClauseType1); //OrderingClauseType OrderingClauseType orderingClauseType2 = new OrderingClauseType(); orderingClauseType2.setColumn("taskNumber"); orderingClauseType2.setTable("WFTask"); orderingClauseType2.setSortOrder(SortOrderEnum.DESCENDING); orderingClauseType2.setNullFirst(false); taskOrderingType.getClause().add(orderingClauseType2); //setXXX taskPredicateQueryType.setDisplayColumnList(displayColumnType); taskPredicateQueryType.setOptionalInfoList(taskOptionalInfoType); taskPredicateQueryType.setPredicate(taskPredicateType); taskPredicateQueryType.setOrdering(taskOrderingType); //实施查询 taskListRequestType.setTaskPredicateQuery(taskPredicateQueryType); taskListRequestType.setWorkflowContext(workflowContextType); //查出来之后,response TaskListResponseType taskListResponseType =taskQueryService.queryTasks(taskListRequestType); List<Task> list= taskListResponseType.getTask(); return list; } }
0 0
- Oracle-BPM(八)
- Oracle-BPM(八)
- Oracle-BPM(一)
- Oracle-BPM(二)
- Oracle-BPM(三)
- Oracle-BPM(四)
- Oracle-BPM(五)
- Oracle-BPM(六)
- Oracle-BPM(七)
- Oracle-BPM(九)
- Oracle-BPM(一)
- Oracle-BPM(二)
- Oracle-BPM(三)
- Oracle-BPM(四)
- Oracle-BPM(五)
- Oracle-BPM(六)
- Oracle-BPM(七)
- Oracle-BPM(九)
- 10分钟搞定pandas
- 《重构》代码的坏味道
- STM32学习笔记之芯片简介
- c++primer要点-特殊工具与技术
- Java进阶(极客)——观察者模式(一)概述及自定义观察者模式
- Oracle-BPM(八)
- Oracle操作ORA-02289: 序列不存在 解决方案
- Android Studio 快捷键整理分享
- 如何在阿里云服务器里面添加端口
- 【POJ 3267】 The Cow Lexicon
- 2.hibernate 核心接口
- Java基础之简单投票程序
- java网络编程
- 如何有效的报告BUG