Oracle-BPM(九)
2015-07-11 18:39
453 查看
代码下载:git
9、bpm api之taskQueryService【分页__没有测试】
9、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.query.model.LogicalOperatorEnumType; import oracle.bpel.services.workflow.query.model.PredicateOperationEnum; import oracle.bpel.services.workflow.query.model.PredicateJoinOperatorEnum; import oracle.bpel.services.workflow.task.model.Task; public class Test4 { //日志 private static ADFLogger logger=ADFLogger.createADFLogger(Test3.class); public Test4() { super(); } /** * 分页 * */ //参照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 startRow="1" endRow="10"> <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:lhs> <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:lhs> <tas1:logicalOperator>AND</tas1:logicalOperator> <tas1:rhs> <tas1:lhs> <tas1:clause> <tas1:column tableName="WFTask"> <tas1:columnName>textAttribute1</tas1:columnName> </tas1:column> <tas1:operator>EQ</tas1:operator> <tas1:value>MyTask</tas1:value> </tas1:clause> <tas1:clause joinOperator="AND"> <tas1:column tableName="WFTask"> <tas1:columnName>textAttribute2</tas1:columnName> </tas1:column> <tas1:operator>EQ</tas1:operator> <tas1:value>1234</tas1:value> </tas1:clause> </tas1:lhs> <tas1:logicalOperator>OR</tas1:logicalOperator> <tas1:rhs> <tas1:clause> <tas1:column tableName="WFTask"> <tas1:columnName>textAttribute2</tas1:columnName> </tas1:column> <tas1:operator>EQ</tas1:operator> <tas1:value>123</tas1:value> </tas1:clause> </tas1:rhs> </tas1:rhs> </tas1:predicate> </tas1:predicate> </tas1:taskPredicateQuery> </tas:taskListRequest> </soapenv:Body> </soapenv:Envelope> */ public static List<Task> queryTestWithPages(){ //启动一个TaskQueryService服务 TaskQueryService_Service taskQueryService_Service = new TaskQueryService_Service(); TaskQueryService taskQueryService = taskQueryService_Service.getTaskQueryServicePort(); //TaskListRequestType TaskListRequestType taskListRequestType = new TaskListRequestType(); //操作者登录验证 //WorkflowContextType WorkflowContextType workflowContextType = new WorkflowContextType(); //CredentialType CredentialType credentialType = new CredentialType(); credentialType.setLogin("weblogic"); credentialType.setPassword("qw82232160"); try{ //验证 workflowContextType = taskQueryService.authenticate(credentialType); }catch(WorkflowErrorMessage e){ e.printStackTrace(); return null; } //设置需要查询的属性 //TaskPredicateQueryType TaskPredicateQueryType taskPredicateQueryType = new TaskPredicateQueryType(); //设置页数(startRow, endRow): (1, 10) (11, 20) (21, 30)。。。 int startRow = 1; int endRow = 10; taskPredicateQueryType.setStartRow(BigInteger.valueOf(startRow)); taskPredicateQueryType.setEndRow(BigInteger.valueOf(endRow)); //DisplayColumnType DisplayColumnType displayColumnType = new DisplayColumnType(); displayColumnType.getDisplayColumn().add("textAttribute1"); displayColumnType.getDisplayColumn().add("textAttribute2"); displayColumnType.getDisplayColumn().add("textAttribute3"); //TaskOptionalInfoType TaskOptionalInfoType taskOptionalInfoType = new TaskOptionalInfoType(); taskOptionalInfoType.getTaskOptionalInfo().add(TaskOptionalInfoEnum.COMMENTS); taskOptionalInfoType.getTaskOptionalInfo().add(TaskOptionalInfoEnum.ATTACHMENTS); taskOptionalInfoType.getTaskOptionalInfo().add(TaskOptionalInfoEnum.PAYLOAD); //TaskPredicateType TaskPredicateType taskPredicateType = new TaskPredicateType(); taskPredicateType.setAssignmentFilter(AssignmentFilterEnum.MY_GROUP); //PredicateType PredicateType predicateType1 = new PredicateType();//lhs PredicateType predicateType2 = new PredicateType();//注意这里的用法 PredicateType predicateType3 = new PredicateType(); PredicateType predicateType4 = new PredicateType(); taskPredicateType.setPredicate(predicateType1);// predicateType1.setLhs(predicateType2); //PredicateClauseType //PredicateClauseType predicateClauseType = new PredicateClauseType(); //ClauseType ClauseType clauseType1 = new ClauseType(); //ColumnType ColumnType columnType1 = new ColumnType(); columnType1.setTableName("WFTask"); columnType1.setColumnName("state"); clauseType1.setColumn(columnType1); clauseType1.setOperator(PredicateOperationEnum.IN); //ValueListType ValueListType valueListType = new ValueListType(); valueListType.getValue().add("ASSIGNED"); valueListType.getValue().add("INFO_REQUESTED"); valueListType.getValue().add("OUTCOME_UPDATED"); clauseType1.setValueList(valueListType); predicateType2.getClause().add(clauseType1); //PredicateJoinOperatorEnum predicateType1.setLogicalOperator(PredicateJoinOperatorEnum.AND); //rhs predicateType1.setRhs(predicateType3.getLhs());//这里不知道正不正确??? //ClauseType ClauseType clauseType2 = new ClauseType(); ColumnType columnType2 = new ColumnType(); columnType2.setTableName("WFTask"); columnType2.setColumnName("textAttribute1"); clauseType2.setColumn(columnType2); clauseType2.setOperator(PredicateOperationEnum.EQ); clauseType2.setValue("MyTask"); predicateType3.getClause().add(clauseType2); //ClauseType ClauseType clauseType3 = new ClauseType(); clauseType3.setJoinOperator(PredicateJoinOperatorEnum.AND); ColumnType columnType3 = new ColumnType(); columnType3.setTableName("WFTask"); columnType3.setColumnName("textAttribute2"); clauseType3.setColumn(columnType3); clauseType3.setOperator(PredicateOperationEnum.EQ); clauseType3.setValue("1234"); predicateType3.getClause().add(clauseType3); //logicalOperator predicateType3.setLogicalOperator(PredicateJoinOperatorEnum.OR); predicateType3.setRhs(predicateType4); ClauseType clauseType4 = new ClauseType(); ColumnType columnType4 = new ColumnType(); columnType4.setTableName("WFTask"); columnType4.setColumnName("textAttribute2"); clauseType4.setColumn(columnType4); clauseType4.setOperator(PredicateOperationEnum.EQ); clauseType4.setValue("123"); predicateType4.getClause().add(clauseType4); //插入查询的条件 //taskPredicateQueryType.setStartRow(value);分页条件 //taskPredicateQueryType.setEndRow(value); taskPredicateQueryType.setDisplayColumnList(displayColumnType); taskPredicateQueryType.setOptionalInfoList(taskOptionalInfoType); taskPredicateQueryType.setPredicate(taskPredicateType); //实施查询 taskListRequestType.setTaskPredicateQuery(taskPredicateQueryType);//执行条件 taskListRequestType.setWorkflowContext(workflowContextType);//执行环境 //TaskListResponseType 应答 TaskListResponseType taskListResponseType = new TaskListResponseType(); // try { taskListResponseType = taskQueryService.queryTasks(taskListRequestType);//调用taskQueryService来查询task List<Task> list = taskListResponseType.getTask();// return list; } catch (WorkflowErrorMessage e) { e.printStackTrace(); return null; } } }
相关文章推荐
- Oracle操作ORA-02289: 序列不存在 解决方案
- Oracle-BPM(八)
- ORACLE ADF Summit示例程序的一些问题
- Oracle-BPM(七)
- Oracle-BPM(六)
- oracle EBS上传和下载文件(转)
- Oracle-BPM(五)
- Oracle常用函数TO_CHAR用法详解(转自博客园-小小草博文)
- Oracle-BPM(四)
- oracle监听服务无法启动解决办法
- Oracle 10g RAC Cluster interconnects
- 讲解Oracle数据库移植到MySQL
- Oracle数据库关于创建使用数据库、表空间呢、多表、视图、存储过程、序列的使用
- Oracle基本语句
- 常用oracle DDL语句
- ORACLE ORA-00942:表或视图不存在
- oracle初学者常用操作100问
- Oracle 11g静默安装软件+手工创建数据库
- Java操作Oracle数据库
- linux 下oracle 10g sqlplus中文显示和输入的问题