From: <pka...@us...> - 2009-08-02 23:05:50
|
Revision: 432 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=432&view=rev Author: pkasprzak Date: 2009-08-02 23:05:40 +0000 (Sun, 02 Aug 2009) Log Message: ----------- * Stuff :) Modified Paths: -------------- trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/java/de/campussource/cse/core/DependencyManagerImpl.java trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/java/de/campussource/cse/core/SystemManagerImpl.java trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/java/de/campussource/cse/core/pdm/WaitingProcess.java Added Paths: ----------- trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/conf/wsdl/client/DependencyManager/DependencyManager.xsd Added: trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/conf/wsdl/client/DependencyManager/DependencyManager.xsd =================================================================== --- trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/conf/wsdl/client/DependencyManager/DependencyManager.xsd (rev 0) +++ trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/conf/wsdl/client/DependencyManager/DependencyManager.xsd 2009-08-02 23:05:40 UTC (rev 432) @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.3.1-hudson-749-SNAPSHOT. --> +<xs:schema xmlns:tns="http://cse.campussource.de/ejb/DependencyManager" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://cse.campussource.de/ejb/DependencyManager"> + + <xs:element name="satisfyDependencies" type="tns:satisfyDependencies"></xs:element> + + <xs:element name="waitForDependencies" type="tns:waitForDependencies"></xs:element> + + <xs:complexType name="satisfyDependencies"> + <xs:sequence> + <xs:element name="entityId" type="xs:int"></xs:element> + <xs:element name="system" type="xs:string" minOccurs="0"></xs:element> + </xs:sequence> + </xs:complexType> + + <xs:complexType name="waitForDependencies"> + <xs:sequence> + <xs:element name="entityId" type="xs:int"></xs:element> + </xs:sequence> + + </xs:complexType> +</xs:schema> \ No newline at end of file Modified: trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/java/de/campussource/cse/core/DependencyManagerImpl.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/java/de/campussource/cse/core/DependencyManagerImpl.java 2009-08-02 23:04:16 UTC (rev 431) +++ trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/java/de/campussource/cse/core/DependencyManagerImpl.java 2009-08-02 23:05:40 UTC (rev 432) @@ -70,13 +70,19 @@ // ---------------------------------------------------------------------------------------------------------------- @Timeout public void handleTimeout(Timer timer) { - logger.info("*** Timer called => waking up process!"); + logger.info("*** Timer called:"); + + WaitingProcess process = (WaitingProcess) timer.getInfo(); + wakeUpWaitingProcess(process); +/* + // For Debugging purposes List<WaitingProcess> processes = getBySystem("Ilias"); if (!processes.isEmpty()) { wakeUpWaitingProcess(processes.get(0)); } else { logger.info("*** No processes waiting => doing nothing!"); } + */ } // ---------------------------------------------------------------------------------------------------------------- @@ -91,6 +97,8 @@ // ---------------------------------------------------------------------------------------------------------------- protected boolean updateDependencies(WaitingProcess process) { + logger.info("*** Updating dependency status for process " + process); + boolean satisfied = true; process = em.merge(process); for (Dependency dependency : process.getDependencies()) { @@ -103,6 +111,13 @@ } } } + + if (satisfied) { + logger.info(" => SATISFIED"); + } else { + logger.info(" => UNSATISFIED"); + } + return satisfied; } @@ -145,7 +160,7 @@ // ---------------------------------------------------------------------------------------------------------------- public void waitForDependencies(int cseId) { - init(); +// init(); Entity entity = em.find(Entity.class, cseId); @@ -185,7 +200,11 @@ /* At this point all dependencies for the current entity + system have been generated => so update them */ if (updateDependencies(process)) { - wakeUpWaitingProcess(process); + /* We can't directly wake-up this entity because the ws-call is still in progress and we can't + initiate a client ws-call or the bpel process will just block forever... + So we use a timer :) */ + ctx.getTimerService().createTimer(20000, process); +// wakeUpWaitingProcess(process); } } } @@ -203,6 +222,7 @@ // ---------------------------------------------------------------------------------------------------------------- protected void wakeUpWaitingProcess(WaitingProcess process) { + logger.info("*** Waking up process " + process); Entity entity = em.find(Entity.class, process.getEntityId()); Modified: trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/java/de/campussource/cse/core/SystemManagerImpl.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/java/de/campussource/cse/core/SystemManagerImpl.java 2009-08-02 23:04:16 UTC (rev 431) +++ trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/java/de/campussource/cse/core/SystemManagerImpl.java 2009-08-02 23:05:40 UTC (rev 432) @@ -22,6 +22,7 @@ List<String> systems = new LinkedList<String>(); systems.add("Ilias"); +// systems.add("Dummy"); return systems; } Modified: trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/java/de/campussource/cse/core/pdm/WaitingProcess.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/java/de/campussource/cse/core/pdm/WaitingProcess.java 2009-08-02 23:04:16 UTC (rev 431) +++ trunk/sandbox/lsf-adapter-demo/CSECore-ejb/src/java/de/campussource/cse/core/pdm/WaitingProcess.java 2009-08-02 23:05:40 UTC (rev 432) @@ -75,7 +75,7 @@ @Override public String toString() { - return "de.campussource.cse.core.pdm.WaitingProcess[id=" + id + "]"; + return "[" + getSystem() + ": " + getEntityId() + "]"; } public Long getId() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |