You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hise-commits@incubator.apache.org by rr...@apache.org on 2010/07/26 08:11:36 UTC

svn commit: r979190 - in /incubator/hise/trunk: hise-services/src/main/java/org/apache/hise/engine/jaxws/TaskOperationsImpl.java hise-services/src/main/java/org/apache/hise/runtime/Task.java itest/hise-soapui-project.xml

Author: rr
Date: Mon Jul 26 08:11:36 2010
New Revision: 979190

URL: http://svn.apache.org/viewvc?rev=979190&view=rev
Log:
HISE-55: Implement Administrative Operations (Thanks to Michał Więcław)

Modified:
    incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/TaskOperationsImpl.java
    incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java
    incubator/hise/trunk/itest/hise-soapui-project.xml

Modified: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/TaskOperationsImpl.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/TaskOperationsImpl.java?rev=979190&r1=979189&r2=979190&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/TaskOperationsImpl.java (original)
+++ incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/jaxws/TaskOperationsImpl.java Mon Jul 26 08:11:36 2010
@@ -23,6 +23,7 @@ import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
@@ -402,9 +403,13 @@ public class TaskOperationsImpl implemen
     	Task task = Task.load(hiseEngine, new Long(identifier));
         if(!(TaskChecker.checkPermission(TaskChecker.HumanOperationName.ACTIVATE, getUserString(), task))) 
         	throw new IllegalAccessFault("Illegal access to operations");
+       
+        try {
+        	task.setStatus(Status.READY);
+        } catch (HiseIllegalStateException e) {
+        	throw new IllegalStateFault("Illegal State Fault");
+        }
         task.setCurrentUser(getUserString());
-        // TODO Auto-generated method stub
-
     }
 
     public void addAttachment(String identifier, String attachmentName, String accessType, Object attachment) throws IllegalAccessFault, IllegalStateFault,
@@ -438,25 +443,14 @@ public class TaskOperationsImpl implemen
         	throw new IllegalAccessFault("Illegal access to operations");
         
         String userID = task.checkCanDelegate(organizationalEntity);
-        org.apache.hise.dao.Task taskDto = task.getTaskDto();
         task.setCurrentUser(getUserString());
         
         try {
 			task.setActualOwner(userID);
+			task.addGenericHumanRole(userID, GenericHumanRole.POTENTIALOWNERS);
 		} catch (HiseIllegalStateException e) {
 			throw new IllegalStateFault();
 		}
-		
-		if(!(task.getGenericHumanRolesForUser(userID).contains(GenericHumanRole.POTENTIALOWNERS))){
-        	Set<TaskOrgEntity> peopeAssignments = taskDto.getPeopleAssignments();
-        	TaskOrgEntity taskOrgEntity = new TaskOrgEntity();
-        	taskOrgEntity.setGenericHumanRole(GenericHumanRole.POTENTIALOWNERS);
-        	taskOrgEntity.setName(userID);
-        	taskOrgEntity.setType(OrgEntityType.USER);
-        	taskOrgEntity.setTask(task.getTaskDto());
-        	peopeAssignments.add(taskOrgEntity);
-        	taskDto.setPeopleAssignments(peopeAssignments);
-        }
     }
     
 
@@ -633,10 +627,30 @@ public class TaskOperationsImpl implemen
         Task task = Task.load(hiseEngine, new Long(identifier));
         if(!(TaskChecker.checkPermission(TaskChecker.HumanOperationName.NOMINATE, getUserString(), task))) 
         	throw new IllegalAccessFault("Illegal access to operations");
-        org.apache.hise.dao.Task taskDto = task.getTaskDto();
-        if(taskDto.getStatus()==Status.CREATED){
-        	TUserlist tUsers=organizationalEntity.getUsers();
-        	//taskDto.getBusinessAdministrators()
+        
+        
+        if(task.getTaskDto().getStatus()==Status.CREATED){
+        	TUserlist tUsers = organizationalEntity.getUsers();
+        	TGrouplist tGroup = organizationalEntity.getGroups();
+        	try {
+        		//When only one user is nominate, he become ActualOwner
+        		if((tGroup == null)&&(tUsers != null)&&(tUsers.getUser().size() == 1)){
+        			task.setActualOwner(tUsers.getUser().get(0));
+        			task.addGenericHumanRole(tUsers.getUser().get(0), GenericHumanRole.POTENTIALOWNERS);
+        		}else{
+        			if(tGroup != null){
+        				for(String group: tGroup.getGroup())
+        					task.addGenericHumanRole(group, GenericHumanRole.POTENTIALOWNERS);
+        			}
+        			if(tUsers != null){
+        				for(String user: tUsers.getUser())
+        					task.addGenericHumanRole(user,GenericHumanRole.POTENTIALOWNERS);
+        			}
+        			task.setStatus(Status.READY);
+        		}
+        	} catch (HiseIllegalStateException e) {
+        		throw new IllegalStateFault("Illegal State Fault");
+        	}
         }
         else{
         	throw new IllegalStateFault("Nomination can be performed only in CREATED state");
@@ -659,8 +673,26 @@ public class TaskOperationsImpl implemen
         if(!(TaskChecker.checkPermission(TaskChecker.HumanOperationName.SET_GENERIC_HUMAN_ROLE, getUserString(), task))) 
         	throw new IllegalAccessFault("Illegal access to operations");
     	
-        // TODO Auto-generated method stub
-
+        TUserlist tUsers = organizationalEntity.getUsers();
+        TGrouplist tGroup = organizationalEntity.getGroups();
+        Set<String> orgEntityName = new HashSet<String>();
+        if(tUsers != null){
+        	for(String e: tUsers.getUser())
+        		orgEntityName.add(e);
+        }
+        if(tGroup != null){
+        	for(String e: tGroup.getGroup())
+        		orgEntityName.add(e);
+        }
+        	
+        for(String i: orgEntityName){
+        	for(TaskOrgEntity e: task.getTaskDto().getPeopleAssignments()){
+        		if(i.equals(e.getName())){
+        			hiseEngine.getHiseDao().remove(e);
+        	}
+        }
+        	task.addGenericHumanRole(i, GenericHumanRole.valueOf(genericHumanRole));
+        }
     }
 
     public void setPriority(String identifier, BigInteger priority) throws IllegalAccessFault, IllegalStateFault, IllegalArgumentFault {

Modified: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java?rev=979190&r1=979189&r2=979190&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java (original)
+++ incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/runtime/Task.java Mon Jul 26 08:11:36 2010
@@ -1355,4 +1355,35 @@ public class Task {
 		return humanRoles;
 	}
     
+	/**
+	* Add new GeneralHumanRole for OrgEntity. You can't use this method to set ActualOwner.  
+	* 
+	* @return true if new role was added
+	*/
+	public boolean addGenericHumanRole(String peopleID, GenericHumanRole role){
+		org.apache.hise.dao.OrgEntity orgEntity = hiseEngine.getHiseDao().find(org.apache.hise.dao.OrgEntity.class, peopleID);
+		OrgEntityType type = orgEntity.getType();
+        	
+		if(role.equals(GenericHumanRole.ACTUALOWNER)) return false;
+        	
+		if(type.equals(OrgEntityType.GROUP)){
+			for(TaskOrgEntity e: taskDto.getPeopleAssignments()){
+				if(peopleID.equals(e.getName()) && e.getGenericHumanRole().equals(role)){
+					return true;
+				}
+			}
+		}else if(getGenericHumanRolesForUser(peopleID).contains(role)){
+			return true;
+		}
+        	
+		TaskOrgEntity t = new TaskOrgEntity();
+		t.setGenericHumanRole(role);
+		t.setName(peopleID);
+		t.setType(type);
+		t.setTask(taskDto);
+		Set<TaskOrgEntity> tList= new  HashSet<TaskOrgEntity>();
+		tList.add(t);
+		taskDto.addPeopleAssignments(tList);
+		return true;
+	}
 }

Modified: incubator/hise/trunk/itest/hise-soapui-project.xml
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/itest/hise-soapui-project.xml?rev=979190&r1=979189&r2=979190&view=diff
==============================================================================
--- incubator/hise/trunk/itest/hise-soapui-project.xml (original)
+++ incubator/hise/trunk/itest/hise-soapui-project.xml Mon Jul 26 08:11:36 2010
@@ -3644,7 +3644,7 @@ declare namespace ns1='http://www.exampl
          </ClaimApprovalRequest>
       </cla:approve>
    </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.insurance.example.com/claims/ClaimsHandlingPT/approveRequest" to="" replyTo="http://localhost:8086/ClaimsResponseService/" addDefaultTo="true"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="properties" name="Properties"><con:settings/><con:config xsi:type="con:PropertiesStep" saveFirst="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:properties><con:property><con:name>tid</con:name><con:value>397</con:value></con:property></con:properties></con:config></con:testStep><con:testStep type="transfer" name="Property Transfer"><con:settings/><con:config xsi:ty
 pe="con:PropertyTransfersStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:transfers setNullOnMissingSource="true" transferTextContent="true" failOnError="true" ignoreEmpty="false" transferToAll="false" useXQuery="true" entitize="false" transferChildNodes="false"><con:name>tid</con:name><con:sourceType>Response</con:sourceType><con:sourceStep>approve - Request 1</con:sourceStep><con:sourcePath>&lt;a>{*/*/*/text()}&lt;/a></con:sourcePath><con:targetType>tid</con:targetType><con:targetStep>Properties</con:targetStep></con:transfers></con:config></con:testStep><con:testStep type="request" name="forward - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>forward</con:operation><con:request name="forward - Request 1" outgoingWss="" incomingWss="" wssPasswordType="PasswordDigest"><con:settings><con:setting id="com.eviware.soapui.impl.w
 sdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/taskOperations/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd" xmlns:ws="http://www.example.org/WS-HT">
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.insurance.example.com/claims/ClaimsHandlingPT/approveRequest" to="" replyTo="http://localhost:8086/ClaimsResponseService/" addDefaultTo="true"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="properties" name="Properties"><con:settings/><con:config xsi:type="con:PropertiesStep" saveFirst="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:properties><con:property><con:name>tid</con:name><con:value>5</con:value></con:property></con:properties></con:config></con:testStep><con:testStep type="transfer" name="Property Transfer"><con:settings/><con:config xsi:type
 ="con:PropertyTransfersStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:transfers setNullOnMissingSource="true" transferTextContent="true" failOnError="true" ignoreEmpty="false" transferToAll="false" useXQuery="true" entitize="false" transferChildNodes="false"><con:name>tid</con:name><con:sourceType>Response</con:sourceType><con:sourceStep>approve - Request 1</con:sourceStep><con:sourcePath>&lt;a>{*/*/*/text()}&lt;/a></con:sourcePath><con:targetType>tid</con:targetType><con:targetStep>Properties</con:targetStep></con:transfers></con:config></con:testStep><con:testStep type="request" name="forward - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>forward</con:operation><con:request name="forward - Request 1" outgoingWss="" incomingWss="" wssPasswordType="PasswordDigest"><con:settings><con:setting id="com.eviware.soapui.impl.wsd
 l.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/taskOperations/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd" xmlns:ws="http://www.example.org/WS-HT">
    <soapenv:Header/>
    <soapenv:Body>
       <xsd:forward>
@@ -4067,7 +4067,132 @@ declare namespace ns4='http://www.insura
 declare namespace ns3='http://www.example.org/WS-HT/api';
 declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
 declare namespace ns1='http://www.example.org/WS-HT/api/xsd';
-&lt;v>{//ns3:addedBy/text()};{//ns3:text/text()}&lt;/v></path><content>&lt;v>user1user2;first_commentsecond_comment&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite name="SampleTests"><con:description/><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="task lifecycle" searchProperties="true" id="0f2ad11d-3ba8-4ce3-8d92-05d8b97b4a57"><con:settings/><con:testStep type="request" name="approve - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" x
 mlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>ClaimsHandlingBinding</con:interface><con:operation>approve</con:operation><con:request name="approve - Request 1" outgoingWss="" incomingWss="" useWsAddressing="true"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/ClaimsHandlingService2/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
+&lt;v>{//ns3:addedBy/text()};{//ns3:text/text()}&lt;/v></path><content>&lt;v>user1user2;first_commentsecond_comment&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="administrativeOperations" searchProperties="true" id="e925c580-caf1-43cb-8fb4-3d3db4494d49"><con:settings/><con:testStep type="request" name="approve - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>ClaimsHandlingBinding</con:interface><con:operation>approve
 </con:operation><con:request name="approve - Request 1" outgoingWss="" incomingWss="" useWsAddressing="true"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/ClaimsHandlingService7/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
+   <soapenv:Header>
+      <htd:initiator xmlns:htd="http://www.example.org/WS-HT">user3</htd:initiator>
+   </soapenv:Header>
+   <soapenv:Body>
+      <cla:approve>
+         <ClaimApprovalRequest>
+            <cla:cust>
+               <cla:id>123</cla:id>
+               <cla:firstname>Edmund</cla:firstname>
+               <cla:lastname>Zorn</cla:lastname>
+            </cla:cust>
+            <cla:amount>1234</cla:amount>
+            <cla:region>usa</cla:region>
+            <cla:prio>2</cla:prio>
+            <cla:activateAt>2009-01-02T12:00:00</cla:activateAt>
+         </ClaimApprovalRequest>
+      </cla:approve>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user2</con:username><con:password>user2pass</con:password></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.insurance.example.com/claims/ClaimsHandlingPT/approveRequest" to="" replyTo="${#Project#source}:8082/ClaimsResponseService/" addDefaultTo="true"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="properties" name="Properties"><con:settings/><con:config xsi:type="con:PropertiesStep" saveFirst="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:properties><con:property><con:name>tid1</con:name><con:value>7</con:value></con:property></con:properties></con:config></con:testStep><con:testStep type="transfer" name="Property Transfer"><con:settings/><con:config xsi:t
 ype="con:PropertyTransfersStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:transfers setNullOnMissingSource="true" transferTextContent="true" failOnError="true" ignoreEmpty="false" transferToAll="false" useXQuery="true" entitize="false" transferChildNodes="false"><con:name>tid</con:name><con:sourceType>Response</con:sourceType><con:sourceStep>approve - Request 1</con:sourceStep><con:sourcePath>&lt;a>{*/*/*/text()}&lt;/a></con:sourcePath><con:targetType>tid1</con:targetType><con:targetStep>Properties</con:targetStep></con:transfers></con:config></con:testStep><con:testStep type="request" name="getTaskInfo" disabled="true"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>getTaskInfo</con:operation><con:request name="getTaskInfo" outgoingWss="" incomingWss="" timeout="" wssPasswordType="PasswordDigest"><con:settings><con:setting id="com.eviw
 are.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/taskOperations/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <xsd:getTaskInfo>
+         <xsd:identifier>${Properties#tid1}</xsd:identifier>
+      </xsd:getTaskInfo>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="XQuery Match"><con:configuration><path>declare namespace ns2='http://www.example.org/WS-HT';
+declare namespace ns4='http://www.insurance.example.com/claims';
+declare namespace ns3='http://www.example.org/WS-HT/api';
+declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace ns1='http://www.example.org/WS-HT/api/xsd';
+&lt;v>{//ns3:status/text()};{//ns3:name/text()}&lt;/v></path><content>&lt;v>READY;ns4:Task7&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getTaskInfoRequest"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="request" name="suspend" disabled="true"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>suspend</con:operation><con:request name="suspend" wssPasswordType="PasswordDigest"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.Ws
 dlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/taskOperations/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <xsd:suspend>
+         <xsd:identifier>${Properties#tid1}</xsd:identifier>
+      </xsd:suspend>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:credentials><con:username>user5</con:username><con:password>user5pass</con:password></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="request" name="getTaskInfo2" disabled="true"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>getTaskInfo</con:operation><con:request name="getTaskInfo2" outgoingWss="" incomingWss="" timeout="" wssPasswordType="PasswordDigest"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/taskOperations/</con:endpoint><co
 n:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <xsd:getTaskInfo>
+         <xsd:identifier>${Properties#tid1}</xsd:identifier>
+      </xsd:getTaskInfo>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="XQuery Match"><con:configuration><path>declare namespace ns2='http://www.example.org/WS-HT';
+declare namespace ns4='http://www.insurance.example.com/claims';
+declare namespace ns3='http://www.example.org/WS-HT/api';
+declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace ns1='http://www.example.org/WS-HT/api/xsd';
+&lt;v>{//ns3:status/text()};{//ns3:name/text()}&lt;/v></path><content>&lt;v>SUSPENDED;ns4:Task7&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getTaskInfoRequest"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="request" name="active" disabled="true"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>activate</con:operation><con:request name="active" wssPasswordType="PasswordDigest"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl
 .WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/taskOperations/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <xsd:activate>
+         <xsd:identifier>${Properties#tid1}</xsd:identifier>
+      </xsd:activate>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:credentials><con:username>user5</con:username><con:password>user5pass</con:password></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="request" name="getTaskInfo3"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>getTaskInfo</con:operation><con:request name="getTaskInfo3" outgoingWss="" incomingWss="" timeout="" wssPasswordType="PasswordDigest"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/taskOperations/</con:endpoint><con:request><![CDA
 TA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <xsd:getTaskInfo>
+         <xsd:identifier>${Properties#tid1}</xsd:identifier>
+      </xsd:getTaskInfo>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="XQuery Match"><con:configuration><path>declare namespace ns2='http://www.example.org/WS-HT';
+declare namespace ns4='http://www.insurance.example.com/claims';
+declare namespace ns3='http://www.example.org/WS-HT/api';
+declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace ns1='http://www.example.org/WS-HT/api/xsd';
+&lt;v>{//ns3:status/text()};{//ns3:name/text()};{//ns3:taskStakeholders/ns2:users/ns2:user/text()}:
+{//ns3:businessAdministrators/ns2:users/ns2:user/text()}:{//ns3:potentialOwners/ns2:users/ns2:user/text()}&lt;/v></path><content>&lt;v>READY;ns4:Task7;user6:
+user5:&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getTaskInfoRequest"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="request" name="setGenericHumanRule"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>setGenericHumanRole</con:operation><con:request name="setGenericHumanRule" wssPasswordType="PasswordDigest"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:
 settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/taskOperations/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd" xmlns:ws="http://www.example.org/WS-HT">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <xsd:setGenericHumanRole>
+         <xsd:identifier>${Properties#tid1}</xsd:identifier>
+         <xsd:genericHumanRole>POTENTIALOWNERS</xsd:genericHumanRole>
+         <xsd:organizationalEntity>
+            <ws:users>
+		<ws:user>user6</ws:user>
+	    </ws:users>
+         </xsd:organizationalEntity>
+      </xsd:setGenericHumanRole>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:credentials><con:username>user5</con:username><con:password>user5pass</con:password></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="request" name="getTaskInfo4"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>getTaskInfo</con:operation><con:request name="getTaskInfo4" outgoingWss="" incomingWss="" timeout="" wssPasswordType="PasswordDigest"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/taskOperations/</con:endpoint><con:request><![CDA
 TA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <xsd:getTaskInfo>
+         <xsd:identifier>${Properties#tid1}</xsd:identifier>
+      </xsd:getTaskInfo>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="XQuery Match"><con:configuration><path>declare namespace ns2='http://www.example.org/WS-HT';
+declare namespace ns4='http://www.insurance.example.com/claims';
+declare namespace ns3='http://www.example.org/WS-HT/api';
+declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace ns1='http://www.example.org/WS-HT/api/xsd';
+&lt;v>{//ns3:status/text()};{//ns3:name/text()};{//ns3:taskStakeholders/ns2:users/ns2:user/text()}:
+{//ns3:businessAdministrators/ns2:users/ns2:user/text()}:{//ns3:potentialOwners/ns2:users/ns2:user/text()}&lt;/v></path><content>&lt;v>READY;ns4:Task7;:
+user5:user6&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getTaskInfoRequest"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="request" name="setGenericHumanRule2"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>setGenericHumanRole</con:operation><con:request name="setGenericHumanRule2" wssPasswordType="PasswordDigest"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting
 ></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/taskOperations/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd" xmlns:ws="http://www.example.org/WS-HT">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <xsd:setGenericHumanRole>
+         <xsd:identifier>${Properties#tid1}</xsd:identifier>
+         <xsd:genericHumanRole>TASKSTAKEHOLDERS</xsd:genericHumanRole>
+         <xsd:organizationalEntity>
+            <ws:users>
+		<ws:user>user5</ws:user>
+	    </ws:users>
+         </xsd:organizationalEntity>
+      </xsd:setGenericHumanRole>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:credentials><con:username>user5</con:username><con:password>user5pass</con:password></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:testStep type="request" name="getTaskInfo5"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>taskOperationsSOAP</con:interface><con:operation>getTaskInfo</con:operation><con:request name="getTaskInfo5" outgoingWss="" incomingWss="" timeout="" wssPasswordType="PasswordDigest"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/taskOperations/</con:endpoint><con:request><![CDA
 TA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.example.org/WS-HT/api/xsd">
+   <soapenv:Header/>
+   <soapenv:Body>
+      <xsd:getTaskInfo>
+         <xsd:identifier>${Properties#tid1}</xsd:identifier>
+      </xsd:getTaskInfo>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="XQuery Match"><con:configuration><path>declare namespace ns2='http://www.example.org/WS-HT';
+declare namespace ns4='http://www.insurance.example.com/claims';
+declare namespace ns3='http://www.example.org/WS-HT/api';
+declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
+declare namespace ns1='http://www.example.org/WS-HT/api/xsd';
+&lt;v>{//ns3:status/text()};{//ns3:name/text()};{//ns3:taskStakeholders/ns2:users/ns2:user/text()}:
+{//ns3:businessAdministrators/ns2:users/ns2:user/text()}:{//ns3:potentialOwners/ns2:users/ns2:user/text()}&lt;/v></path><content>&lt;v>READY;ns4:Task7;user5:
+:user6&lt;/v></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:assertion type="SOAP Fault Assertion"/><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/getTaskInfoRequest"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite name="SampleTests"><con:description/><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="task lifecycle" searchProperties="true" id="0f2ad11d-3ba8-4ce3-8d92-05d8b97b4a57"><con:settings/><con:testStep type="request" name="approve - Request 1"><con:settings/><con:config xsi:type="co
 n:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>ClaimsHandlingBinding</con:interface><con:operation>approve</con:operation><con:request name="approve - Request 1" outgoingWss="" incomingWss="" useWsAddressing="true"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers">&lt;xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>${#Project#destination}/ClaimsHandlingService2/</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
    <soapenv:Header>
       <htd:initiator xmlns:htd="http://www.example.org/WS-HT">soapui</htd:initiator>
    </soapenv:Header>