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/01/14 08:21:29 UTC

svn commit: r899106 - in /incubator/hise/trunk: hise-services/src/main/java/org/apache/hise/dao/ hise-services/src/main/java/org/apache/hise/engine/ hise-services/src/main/java/org/apache/hise/engine/jaxws/ hise-services/src/main/java/org/apache/hise/r...

Author: rr
Date: Thu Jan 14 08:21:29 2010
New Revision: 899106

URL: http://svn.apache.org/viewvc?rev=899106&view=rev
Log:
HISE-11: Scheduler impl + SuspendUntil impl

Added:
    incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEScheduler.java   (with props)
    incubator/hise/trunk/hise-services/src/test/resources/suspendUntil.xml   (with props)
Removed:
    incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/Scheduler.java
Modified:
    incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/dao/HISEDao.java
    incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngine.java
    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/hise-services/src/test/java/org/apache/hise/SchedulerTest.java
    incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/TaskOperationsTest.java
    incubator/hise/trunk/hise-web/soapui-tests/hise-soapui-project.xml
    incubator/hise/trunk/hise-web/src/main/resources/hise-cxf.xml

Modified: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/dao/HISEDao.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/dao/HISEDao.java?rev=899106&r1=899105&r2=899106&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/dao/HISEDao.java (original)
+++ incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/dao/HISEDao.java Thu Jan 14 08:21:29 2010
@@ -310,6 +310,10 @@
     public void saveTask(Task t) {
         getJpaTemplate().persist(t);
     }
+    
+    public <T> T load(Class<T> what, Object id) {
+        return getJpaTemplate().find(what, id);
+    }
 
     // public Person loadUser(String userId) {
     // return getJpaTemplate().find(Person.class, userId);

Modified: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngine.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngine.java?rev=899106&r1=899105&r2=899106&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngine.java (original)
+++ incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEEngine.java Thu Jan 14 08:21:29 2010
@@ -34,6 +34,8 @@
     public final Map<QName, TaskInfo> tasks = new HashMap<QName, TaskInfo>();
     private HISEDao hiseDao;
     
+    private HISEScheduler hiseScheduler;
+    
     public HISEDao getHiseDao() {
         return hiseDao;
     }
@@ -41,6 +43,14 @@
     public void setHiseDao(HISEDao hiseDao) {
         this.hiseDao = hiseDao;
     }
+    
+    public HISEScheduler getHiseScheduler() {
+        return hiseScheduler;
+    }
+
+    public void setHiseScheduler(HISEScheduler hiseScheduler) {
+        this.hiseScheduler = hiseScheduler;
+    }
 
     public static QName getCanonicalQName(QName q) {
         String ns = q.getNamespaceURI();

Added: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEScheduler.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEScheduler.java?rev=899106&view=auto
==============================================================================
--- incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEScheduler.java (added)
+++ incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEScheduler.java Thu Jan 14 08:21:29 2010
@@ -0,0 +1,96 @@
+package org.apache.hise.engine;
+
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hise.dao.Job;
+import org.apache.hise.dao.Task;
+import org.springframework.transaction.PlatformTransactionManager;
+import org.springframework.transaction.TransactionStatus;
+import org.springframework.transaction.support.TransactionCallback;
+import org.springframework.transaction.support.TransactionTemplate;
+
+public class HISEScheduler {
+    private static Log __log = LogFactory.getLog(HISEScheduler.class);
+    
+    private HISEEngine hiseEngine;
+    private ScheduledExecutorService executor;
+    private PlatformTransactionManager transactionManager;
+    
+    public void setTransactionManager(PlatformTransactionManager transactionManager) {
+        this.transactionManager = transactionManager;
+    }
+
+    private class CheckJobs implements Runnable {
+
+        public void run() {
+            final Date currentEventDateTime = Calendar.getInstance().getTime();
+            __log.debug("scheduler CheckJobs at " + currentEventDateTime);
+            TransactionTemplate tt = new TransactionTemplate(transactionManager);
+            List<Job> jobs = (List<Job>) tt.execute(new TransactionCallback() {
+                public Object doInTransaction(TransactionStatus ts) {
+                    return hiseEngine.getHiseDao().listJobs(currentEventDateTime, 50);
+                }
+            });
+            
+            __log.debug("dequeued jobs: " + jobs);
+
+            for (Job j : jobs) {
+                try {
+                    final Long j2 = j.getId();
+                    tt.execute(new TransactionCallback() {
+
+                        public Object doInTransaction(TransactionStatus ts) {
+                            Job j3 = hiseEngine.getHiseDao().load(Job.class, j2); 
+                            if (j3 == null) {
+                                __log.debug("Skipping job " + j3 + " - it's no longer id DB");
+                            } else {
+                                __log.debug("Executing job " + j3);
+                                hiseEngine.executeJob(j3);
+                                hiseEngine.getHiseDao().remove(j3);
+                            }
+                            return null;
+                        }
+                        
+                    });
+                } catch (Throwable t) {
+                    __log.warn("Job execution failed " + j, t);
+                }
+            }
+        }
+    }
+    
+    public void init() {
+        executor = Executors.newSingleThreadScheduledExecutor();
+        executor.scheduleWithFixedDelay(new CheckJobs(), 1000, 1000, TimeUnit.MILLISECONDS);
+    }
+    
+    
+    public HISEEngine getHiseEngine() {
+        return hiseEngine;
+    }
+
+    public void setHiseEngine(HISEEngine hiseEngine) {
+        this.hiseEngine = hiseEngine;
+    }
+    
+    public Job createJob(Date when, String action, Task task) {
+        Job job = new Job();
+        job.setFire(when);
+        job.setTask(task);
+        job.setAction(action);
+        hiseEngine.getHiseDao().persist(job);
+        return job;
+    }
+    
+
+    public void destroy() {
+        executor.shutdown();
+    }
+}

Propchange: incubator/hise/trunk/hise-services/src/main/java/org/apache/hise/engine/HISEScheduler.java
------------------------------------------------------------------------------
    svn:eol-style = native

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=899106&r1=899105&r2=899106&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 Thu Jan 14 08:21:29 2010
@@ -21,10 +21,13 @@
 
 import java.math.BigInteger;
 import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
 
 import javax.annotation.Resource;
 import javax.jws.WebService;
+import javax.xml.datatype.Duration;
 import javax.xml.namespace.QName;
 import javax.xml.ws.Holder;
 import javax.xml.ws.WebServiceContext;
@@ -367,9 +370,9 @@
     }
 
     public void resume(String identifier) throws IllegalAccessFault, IllegalStateFault, IllegalArgumentFault {
-        OrgEntity user = loadUser();
+//        OrgEntity user = loadUser();
         Task t = Task.load(hiseEngine, Long.parseLong(identifier));
-        t.resume(user);
+        t.resume();
     }
 
     public void setFault(String identifier, String faultName, Object faultData) throws IllegalAccessFault, IllegalStateFault, IllegalArgumentFault, IllegalOperationFault {
@@ -409,8 +412,15 @@
     }
 
     public void suspendUntil(String identifier, TTime time) throws IllegalAccessFault, IllegalStateFault, IllegalArgumentFault {
-        // TODO Auto-generated method stub
-
+        Task t = Task.load(hiseEngine, Long.parseLong(identifier));
+        Date when = time.getPointOfTime();
+        if (when == null) {
+            Duration when2 = time.getTimePeriod();
+            when = Calendar.getInstance().getTime();
+            when2.addTo(when);
+        }
+        
+        t.suspendUntil(when);
     }
 
 }
\ No newline at end of file

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=899106&r1=899105&r2=899106&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 Thu Jan 14 08:21:29 2010
@@ -51,6 +51,7 @@
 import org.apache.hise.dao.Task.Status;
 import org.apache.hise.dao.TaskOrgEntity.OrgEntityType;
 import org.apache.hise.engine.HISEEngine;
+import org.apache.hise.engine.HISEScheduler;
 import org.apache.hise.lang.TaskDefinition;
 import org.apache.hise.lang.xsd.htd.TExpression;
 import org.apache.hise.lang.xsd.htd.TGrouplist;
@@ -83,7 +84,7 @@
     private List<TaskStateListener> taskStateListeners;
     
     private Job currentJob;
-    private Date currentEventDateTime = Calendar.getInstance().getTime();
+//    private Date currentEventDateTime = Calendar.getInstance().getTime();
     
     protected Task() {}
     
@@ -95,7 +96,6 @@
         this.currentJob = currentJob;
     }
 
-
     private Task(HISEEngine engine) {
         this.hiseEngine = engine;
         Validate.notNull(hiseEngine);
@@ -518,24 +518,19 @@
         setStatus(Status.SUSPENDED);
     }
     
-    private Job createJob(Date when, String action) {
-        Job job = new Job();
-        job.setFire(when);
-        job.setTask(taskDto);
-        return job;
-    }
-    
     public void suspendUntil(Date when) {
+        Validate.notNull(when);
+
         setStatus(Status.SUSPENDED);
-        Job job = createJob(when, "suspendUntil");
+        Job job = hiseEngine.getHiseScheduler().createJob(when, "suspendUntil", taskDto);
         taskDto.setSuspendUntil(job);
     }
     
     public void suspendUntilJobAction() {
+        taskDto.setSuspendUntil(null);
         resume();
     }
     
-    
     public void resume() {
         setStatus(taskDto.getStatusBeforeSuspend());
     }

Modified: incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/SchedulerTest.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/SchedulerTest.java?rev=899106&r1=899105&r2=899106&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/SchedulerTest.java (original)
+++ incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/SchedulerTest.java Thu Jan 14 08:21:29 2010
@@ -1,6 +1,6 @@
 package org.apache.hise;
 
-import org.apache.hise.engine.Scheduler;
+import org.apache.hise.engine.HISEScheduler;
 import org.junit.Ignore;
 import org.junit.Test;
 
@@ -9,7 +9,7 @@
     
     @Test
     public void test() throws Exception {
-        Scheduler s = new Scheduler();
+        HISEScheduler s = new HISEScheduler();
         s.init();
         Thread.sleep(30000);
         s.destroy();

Modified: incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/TaskOperationsTest.java
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/TaskOperationsTest.java?rev=899106&r1=899105&r2=899106&view=diff
==============================================================================
--- incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/TaskOperationsTest.java (original)
+++ incubator/hise/trunk/hise-services/src/test/java/org/apache/hise/TaskOperationsTest.java Thu Jan 14 08:21:29 2010
@@ -1,17 +1,24 @@
 package org.apache.hise;
 
 import java.util.Collections;
+import java.util.Date;
 import java.util.List;
 
+import javax.xml.XMLConstants;
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBElement;
 import javax.xml.bind.Marshaller;
 import javax.xml.bind.Unmarshaller;
 import javax.xml.namespace.QName;
+import javax.xml.validation.SchemaFactory;
+
+import junit.framework.Assert;
 
 import org.apache.hise.engine.HISEEngine;
 import org.apache.hise.engine.jaxws.TaskOperationsImpl;
 import org.apache.hise.lang.xsd.htda.TTask;
+import org.apache.hise.lang.xsd.htdt.SuspendUntil;
+import org.apache.hise.utils.XQueryEvaluator;
 import org.junit.Test;
 
 public class TaskOperationsTest {
@@ -34,4 +41,21 @@
         m.setProperty( Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE );
         m.marshal(new JAXBElement(QName.valueOf("{http://www.example.org/WS-HT/api/xsd}taskAbstract"), TTask.class, r.get(0)), System.out);
     }
+    
+    @Test
+    public void testSuspendUntil() throws Exception {
+        JAXBContext c = JAXBContext.newInstance("org.apache.hise.lang.xsd.htdt");
+        Unmarshaller m = c.createUnmarshaller();
+        m.setSchema(SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema").newSchema(getClass().getResource("/ws-humantask-api-wsdl.xsd")));
+        SuspendUntil e = (SuspendUntil) m.unmarshal(getClass().getResourceAsStream("/suspendUntil.xml"));
+        XQueryEvaluator ev = new XQueryEvaluator();
+        Date d = (Date) ev.evaluateExpression("declare namespace xsd='http://www.w3.org/2001/XMLSchema'; xsd:dateTime('2009-01-01T12:59:34')", null).get(0);
+        System.out.println(d);
+        e.getTime().getTimePeriod().addTo(d);
+        
+        Date d2 = (Date) ev.evaluateExpression("declare namespace xsd='http://www.w3.org/2001/XMLSchema'; xsd:dateTime('2009-01-04T12:59:34')", null).get(0);
+        System.out.println(d2);
+        Assert.assertEquals(d2, d);
+        System.out.println(d);
+    }
 }

Added: incubator/hise/trunk/hise-services/src/test/resources/suspendUntil.xml
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-services/src/test/resources/suspendUntil.xml?rev=899106&view=auto
==============================================================================
--- incubator/hise/trunk/hise-services/src/test/resources/suspendUntil.xml (added)
+++ incubator/hise/trunk/hise-services/src/test/resources/suspendUntil.xml Thu Jan 14 08:21:29 2010
@@ -0,0 +1,6 @@
+<xsd:suspendUntil xmlns:xsd="http://www.example.org/WS-HT/api/xsd">
+  <xsd:identifier>123</xsd:identifier>
+  <xsd:time>
+    <xsd:timePeriod>P3D</xsd:timePeriod>
+  </xsd:time>
+</xsd:suspendUntil>

Propchange: incubator/hise/trunk/hise-services/src/test/resources/suspendUntil.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/hise/trunk/hise-web/soapui-tests/hise-soapui-project.xml
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-web/soapui-tests/hise-soapui-project.xml?rev=899106&r1=899105&r2=899106&view=diff
==============================================================================
--- incubator/hise/trunk/hise-web/soapui-tests/hise-soapui-project.xml (original)
+++ incubator/hise/trunk/hise-web/soapui-tests/hise-soapui-project.xml Thu Jan 14 08:21:29 2010
@@ -3438,7 +3438,48 @@
          <xsd:identifier>${Properties#tid}</xsd:identifier>
       </xsd:getTaskInfo>
    </soapenv:Body>
-</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="XQuery Match"><con:configuration><path>&lt;a xmlns:ns3="http://www.example.org/WS-HT/api">{*/*/*/*/ns3:actualOwner/text()}&lt;/a></path><content>&lt;a xmlns:ns3="http://www.example.org/WS-HT/api">user2&lt;/a></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:mockService port="8084" path="/ClaimsResponse/" host="joker-laptop" name="MockService 1" bindToHostOnly="false" docroot=""><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.mock.WsdlMockService@require-soap-action">true</con:setting><con:setting id="com.eviware.soapui.impl.wsdl.mock.WsdlMockService@require-soap-versio
 n">false</con:setting></con:settings><con:mockOperation name="resolve" interface="ClaimsResolvingBinding" operation="resolve"><con:settings/><con:dispatchStyle>SEQUENCE</con:dispatchStyle><con:defaultResponse>Response 1</con:defaultResponse><con:response name="Response 1" encoding="UTF-8"><con:settings/><con:responseContent><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="XQuery Match"><con:configuration><path>&lt;a xmlns:ns3="http://www.example.org/WS-HT/api">{*/*/*/*/ns3:actualOwner/text()}&lt;/a></path><content>&lt;a xmlns:ns3="http://www.example.org/WS-HT/api">user2&lt;/a></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="task suspendUntil" searchProperties="true" id="73965c5d-b671-4a93-9c05-5e9e1dd9ef5e"><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="" wssPasswordType="PasswordDigest" useWsAddressing="true"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/ClaimsHandlingService/</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/>
+   <soapenv:Body>
+      <cla:approve>
+         <ClaimApprovalRequest>
+            <cla:cust>
+               <cla:id>1234</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>user1</con:username><con:password>user1pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.insurance.example.com/claims/ClaimsHandlingPT/approveRequest" to="" replyTo="http://localhost:8086/ClaimsResponseService/" addDefaultTo="true"/></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>1</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 se
 tNullOnMissingSource="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="suspendUntil - 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>suspendUntil</con:operation><con:request name="suspendUntil - Request 1" outgoingWss="" incomingWss="" wssPasswordType="PasswordText"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/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:suspendUntil>
+         <xsd:identifier>${Properties#tid}</xsd:identifier>
+         <xsd:time>
+            <xsd:timePeriod>PT5S</xsd:timePeriod>
+         </xsd:time>
+      </xsd:suspendUntil>
+   </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:wsaConfig mustUnderstand="NONE" version="200508" action="http://www.example.org/WS-HT/api/wsdl/taskOperations/suspendUntilRequest"/></con:request></con:config></con:testStep><con:testStep type="request" name="getTaskInfo"><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" wssPasswordType="PasswordText"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/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#tid}</xsd:identifier>
+      </xsd:getTaskInfo>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="XQuery Match"><con:configuration><path>&lt;a xmlns:ns3="http://www.example.org/WS-HT/api">{*/*/*/*/ns3:status/text()}&lt;/a></path><content>&lt;a xmlns:ns3="http://www.example.org/WS-HT/api">SUSPENDED&lt;/a></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508"/></con:request></con:config></con:testStep><con:testStep type="delay" name="Delay"><con:settings/><con:config><delay>5000</delay></con:config></con:testStep><con:testStep type="request" name="getTaskInfo2 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>getTaskInfo</con:operation><con:request name="getTaskInfo2 1" w
 ssPasswordType="PasswordText"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8080/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#tid}</xsd:identifier>
+      </xsd:getTaskInfo>
+   </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:assertion type="XQuery Match"><con:configuration><path>&lt;a xmlns:ns3="http://www.example.org/WS-HT/api">{*/*/*/*/ns3:status/text()}&lt;/a></path><content>&lt;a xmlns:ns3="http://www.example.org/WS-HT/api">RESERVED&lt;/a></content><allowWildcards>false</allowWildcards></con:configuration></con:assertion><con:credentials><con:username>user1</con:username><con:password>user1pass</con:password></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:mockService port="8084" path="/ClaimsResponse/" host="joker-laptop" name="MockService 1" bindToHostOnly="false" docroot=""><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.mock.WsdlMockService@require-soap-action">true</con:setting><con:setting id="com.eviware.soapui.impl.wsdl.mock.WsdlMockService@require-soap-version"
 >false</con:setting></con:settings><con:mockOperation name="resolve" interface="ClaimsResolvingBinding" operation="resolve"><con:settings/><con:dispatchStyle>SEQUENCE</con:dispatchStyle><con:defaultResponse>Response 1</con:defaultResponse><con:response name="Response 1" encoding="UTF-8"><con:settings/><con:responseContent><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cla="http://www.insurance.example.com/claims">
    <soapenv:Header/>
    <soapenv:Body>
       <cla:resolveResponse/>

Modified: incubator/hise/trunk/hise-web/src/main/resources/hise-cxf.xml
URL: http://svn.apache.org/viewvc/incubator/hise/trunk/hise-web/src/main/resources/hise-cxf.xml?rev=899106&r1=899105&r2=899106&view=diff
==============================================================================
--- incubator/hise/trunk/hise-web/src/main/resources/hise-cxf.xml (original)
+++ incubator/hise/trunk/hise-web/src/main/resources/hise-cxf.xml Thu Jan 14 08:21:29 2010
@@ -41,9 +41,10 @@
 
   <bean id="hiseEngine" class="org.apache.hise.engine.HISEEngine">
     <property name="hiseDao" ref="hiseDao"/>
+    <property name="hiseScheduler" ref="hiseScheduler"/>
   </bean>
 
-  <bean id="hiseScheduler" class="org.apache.hise.engine.Scheduler" init-method="init" destroy-method="destroy">
+  <bean id="hiseScheduler" class="org.apache.hise.engine.HISEScheduler" init-method="init" destroy-method="destroy">
     <property name="hiseEngine" ref="hiseEngine"/>
     <property name="transactionManager" ref="transactionManager"/>
   </bean>