Return-Path: Delivered-To: apmail-ode-commits-archive@www.apache.org Received: (qmail 1299 invoked from network); 19 Oct 2007 15:42:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 19 Oct 2007 15:42:06 -0000 Received: (qmail 92118 invoked by uid 500); 19 Oct 2007 15:41:42 -0000 Delivered-To: apmail-ode-commits-archive@ode.apache.org Received: (qmail 92104 invoked by uid 500); 19 Oct 2007 15:41:42 -0000 Mailing-List: contact commits-help@ode.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ode.apache.org Delivered-To: mailing list commits@ode.apache.org Received: (qmail 92051 invoked by uid 99); 19 Oct 2007 15:41:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Oct 2007 08:41:41 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 19 Oct 2007 15:41:53 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id B80011A9832; Fri, 19 Oct 2007 08:41:32 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r586504 - in /ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine: BpelProcess.java BpelRuntimeContextImpl.java BpelServerImpl.java Date: Fri, 19 Oct 2007 15:41:32 -0000 To: commits@ode.apache.org From: vanto@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071019154132.B80011A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: vanto Date: Fri Oct 19 08:41:31 2007 New Revision: 586504 URL: http://svn.apache.org/viewvc?rev=586504&view=rev Log: fixing ODE-199 in trunk Modified: ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java Modified: ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java URL: http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java?rev=586504&r1=586503&r2=586504&view=diff ============================================================================== --- ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java (original) +++ ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java Fri Oct 19 08:41:31 2007 @@ -751,18 +751,10 @@ public void saveEvent(ProcessInstanceEvent event, ProcessInstanceDAO instanceDao) { markused(); - List scopeNames = null; - if (event instanceof ScopeEvent) { - scopeNames = ((ScopeEvent) event).getParentScopesNames(); - } - - boolean enabled = _pconf.isEventEnabled(scopeNames, event.getType()); - if (enabled) { - if (instanceDao != null) - saveInstanceEvent(event, instanceDao); - else - __log.debug("Couldn't find instance to save event, no event generated!"); - } + if (instanceDao != null) + saveInstanceEvent(event, instanceDao); + else + __log.debug("Couldn't find instance to save event, no event generated!"); } void saveInstanceEvent(ProcessInstanceEvent event, ProcessInstanceDAO instanceDao) { Modified: ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java URL: http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java?rev=586504&r1=586503&r2=586504&view=diff ============================================================================== --- ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java (original) +++ ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java Fri Oct 19 08:41:31 2007 @@ -48,6 +48,7 @@ import org.apache.ode.bpel.evt.ProcessInstanceStateChangeEvent; import org.apache.ode.bpel.evt.ProcessMessageExchangeEvent; import org.apache.ode.bpel.evt.ProcessTerminationEvent; +import org.apache.ode.bpel.evt.ScopeEvent; import org.apache.ode.bpel.iapi.BpelEngineException; import org.apache.ode.bpel.iapi.ContextException; import org.apache.ode.bpel.iapi.EndpointReference; @@ -941,11 +942,19 @@ event.setProcessInstanceId(_dao.getInstanceId()); _bpelProcess._debugger.onEvent(event); - // notify the listeners - _bpelProcess._server.fireEvent(event); + //filter events + List scopeNames = null; + if (event instanceof ScopeEvent) { + scopeNames = ((ScopeEvent) event).getParentScopesNames(); + } - // saving - _bpelProcess.saveEvent(event, _dao); + if (_bpelProcess._pconf.isEventEnabled(scopeNames, event.getType())) { + // notify the listeners + _bpelProcess._server.fireEvent(event); + + // saving + _bpelProcess.saveEvent(event, _dao); + } } /** Modified: ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java URL: http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java?rev=586504&r1=586503&r2=586504&view=diff ============================================================================== --- ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java (original) +++ ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java Fri Oct 19 08:41:31 2007 @@ -690,8 +690,14 @@ void fireEvent(BpelEvent event) { // Note that the eventListeners list is a copy-on-write array, so need // to mess with synchronization. - for (org.apache.ode.bpel.iapi.BpelEventListener l : _contexts.eventListeners) { - l.onEvent(event); + + for (org.apache.ode.bpel.iapi.BpelEventListener l : _contexts.eventListeners) { + try { + l.onEvent(event); + } catch (Throwable t) { + // catch all possible exceptions + __log.warn("Got an exception while notifying BpelEventListener '" + l + "'.", t); + } } }