You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2008/08/29 00:39:22 UTC

svn commit: r690032 - in /ode/branches/rtver: axis2/src/main/java/org/apache/ode/axis2/ bpel-api/src/main/java/org/apache/ode/bpel/capi/ bpel-api/src/main/java/org/apache/ode/bpel/dao/ bpel-api/src/main/java/org/apache/ode/bpel/epr/ bpel-api/src/main/j...

Author: mriou
Date: Thu Aug 28 15:39:20 2008
New Revision: 690032

URL: http://svn.apache.org/viewvc?rev=690032&view=rev
Log:
All tests pass after changing a bit the BPEL extension stuff. I'm cheating a bit as one interface shows an Object that needs casting but it doesn't look as bad as it might sound. And hey, 100%.

Added:
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensibleElement.java
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionBundleRuntime.java
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionBundleValidation.java
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionOperation.java
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionValidator.java
Removed:
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/capi/
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/dao/
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/epr/
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/explang/
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/rapi/ExtensibleElement.java
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/rapi/ExtensionBundle.java
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/rapi/ExtensionValidator.java
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/xsl/
    ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensionOperation.java
Modified:
    ode/branches/rtver/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
    ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/rapi/OdeRuntime.java
    ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelC.java
    ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
    ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/ExtensionActivity.java
    ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/ExtensionAssignOperation.java
    ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/AssignGenerator.java
    ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/BpelCompilerImpl.java
    ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/CompilerContext.java
    ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/ExtensionActivtityGenerator.java
    ode/branches/rtver/bpel-compiler/src/test/java/org/apache/ode/bpel/compiler/XPathTest.java
    ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelInstanceWorker.java
    ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
    ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/Contexts.java
    ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MessageExchangeImpl.java
    ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ODEProcess.java
    ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/UnreliableMyRoleMessageExchangeImpl.java
    ode/branches/rtver/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/CombineUrlTest.java
    ode/branches/rtver/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/MockCompilerContext.java
    ode/branches/rtver/bpel-store/src/main/java/org/apache/ode/store/DeploymentUnitDir.java
    ode/branches/rtver/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java
    ode/branches/rtver/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java
    ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java
    ode/branches/rtver/il-common/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java
    ode/branches/rtver/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java
    ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractAsyncExtensionOperation.java
    ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractExtensionBundle.java
    ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractSyncExtensionOperation.java
    ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensibilityQNames.java
    ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensionContext.java
    ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java
    ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EXTENSIONACTIVITY.java
    ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/OdeInternalInstance.java
    ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeImpl.java
    ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java
    ode/branches/rtver/runtime-repo/src/test/java/org/apache/ode/bpel/rtrep/v2/CoreBpelTest.java

Modified: ode/branches/rtver/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java (original)
+++ ode/branches/rtver/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java Thu Aug 28 15:39:20 2008
@@ -47,7 +47,9 @@
 import org.apache.ode.axis2.service.ManagementService;
 import org.apache.ode.axis2.httpbinding.HttpExternalService;
 import org.apache.ode.axis2.soapbinding.SoapExternalService;
-import org.apache.ode.bpel.rapi.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionBundleRuntime;
+import org.apache.ode.bpel.extension.ExtensionBundleValidation;
 import org.apache.ode.bpel.connector.BpelServerConnector;
 import org.apache.ode.bpel.dao.BpelDAOConnectionFactory;
 import org.apache.ode.bpel.engine.BpelServerImpl;
@@ -71,7 +73,6 @@
 import org.apache.ode.utils.fs.TempFileManager;
 import org.apache.ode.bpel.pmapi.InstanceManagement;
 import org.apache.ode.bpel.pmapi.ProcessManagement;
-import org.apache.ode.bpel.rapi.ExtensionBundle;
 
 /**
  * Server class called by our Axis hooks to handle all ODE lifecycle management.
@@ -448,7 +449,7 @@
         return scheduler;
     }
 
-    private void initBpelServer(EndpointReferenceContextImpl eprContext) {
+    protected void initBpelServer(EndpointReferenceContextImpl eprContext) {
         if (__log.isDebugEnabled()) {
             __log.debug("ODE initializing");
         }
@@ -532,23 +533,34 @@
     }
 
     private void registerExtensionActivityBundles() {
-        String extensionsStr = _odeConfig.getExtensionActivityBundles();
-        if (extensionsStr != null) {
-            Map<QName, ExtensionValidator> validators = new HashMap<QName, ExtensionValidator>();
+        String extensionsRTStr = _odeConfig.getExtensionActivityBundlesRT();
+        String extensionsValStr = _odeConfig.getExtensionActivityBundlesValidation();
+        if (extensionsRTStr != null) {
             // TODO replace StringTokenizer by regex
-            for (StringTokenizer tokenizer = new StringTokenizer(extensionsStr, ",;"); tokenizer.hasMoreTokens();) {
+            for (StringTokenizer tokenizer = new StringTokenizer(extensionsRTStr, ",;"); tokenizer.hasMoreTokens();) {
                 String bundleCN = tokenizer.nextToken();
                 try {
                     // instantiate bundle
-                    ExtensionBundle bundle = (ExtensionBundle) Class.forName(bundleCN).newInstance();
-
+                    ExtensionBundleRuntime bundleRT = (ExtensionBundleRuntime) Class.forName(bundleCN).newInstance();
                     // register extension bundle (BPEL server)
-                    _server.registerExtensionBundle(bundle);
-
+                    _server.registerExtensionBundle(bundleRT);
+                } catch (Exception e) {
+                    __log.warn("Couldn't register the extension bundle runtime " + bundleCN + ", the class couldn't be " +
+                            "loaded properly.");
+                }
+            }
+        }
+        if (extensionsValStr != null) {
+            Map<QName, ExtensionValidator> validators = new HashMap<QName, ExtensionValidator>();
+            for (StringTokenizer tokenizer = new StringTokenizer(extensionsValStr, ",;"); tokenizer.hasMoreTokens();) {
+                String bundleCN = tokenizer.nextToken();
+                try {
+                    // instantiate bundle
+                    ExtensionBundleValidation bundleVal = (ExtensionBundleValidation) Class.forName(bundleCN).newInstance();
                     //add validators
-                    validators.putAll(bundle.getExtensionValidators());
+                    validators.putAll(bundleVal.getExtensionValidators());
                 } catch (Exception e) {
-                    __log.warn("Couldn't register the extension bundle " + bundleCN + ", the class couldn't be " +
+                    __log.warn("Couldn't register the extension bundle validator " + bundleCN + ", the class couldn't be " +
                             "loaded properly.");
                 }
             }

Added: ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensibleElement.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensibleElement.java?rev=690032&view=auto
==============================================================================
--- ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensibleElement.java (added)
+++ ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensibleElement.java Thu Aug 28 15:39:20 2008
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.ode.bpel.extension;
+
+import org.w3c.dom.Element;
+
+/**
+ * Common interface for ExtensionActivity and AssignExtensionOperation.
+ * 
+ * @author Tammo van Lessen (University of Stuttgart)
+ */
+public interface ExtensibleElement {
+	
+	Element getNestedElement();
+	
+}

Added: ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionBundleRuntime.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionBundleRuntime.java?rev=690032&view=auto
==============================================================================
--- ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionBundleRuntime.java (added)
+++ ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionBundleRuntime.java Thu Aug 28 15:39:20 2008
@@ -0,0 +1,12 @@
+package org.apache.ode.bpel.extension;
+
+public interface ExtensionBundleRuntime {
+
+    String getNamespaceURI();
+
+    void registerExtensionActivities();
+
+    ExtensionOperation getExtensionOperationInstance(String localName)
+            throws InstantiationException, IllegalAccessException;
+
+}

Added: ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionBundleValidation.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionBundleValidation.java?rev=690032&view=auto
==============================================================================
--- ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionBundleValidation.java (added)
+++ ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionBundleValidation.java Thu Aug 28 15:39:20 2008
@@ -0,0 +1,13 @@
+package org.apache.ode.bpel.extension;
+
+import javax.xml.namespace.QName;
+import java.util.Map;
+
+/**
+ * Compile-time validation of extensions implemented by your bundle.
+ */
+public interface ExtensionBundleValidation {
+
+    Map<QName, ExtensionValidator> getExtensionValidators();
+    
+}

Added: ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionOperation.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionOperation.java?rev=690032&view=auto
==============================================================================
--- ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionOperation.java (added)
+++ ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionOperation.java Thu Aug 28 15:39:20 2008
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.ode.bpel.extension;
+
+import org.apache.ode.bpel.common.FaultException;
+import org.w3c.dom.Element;
+
+/**
+ * This is the basis interface for implementations of  
+ * <code>&lt;extensionAssignOperation&gt;</code> and <code>&lt;extensionActivity&gt;</code>
+ * nodes.
+ * 
+ * Implementations of this interface must provide a default constructor as they are created
+ * using reflection.
+ * 
+ * @see AbstractExtensionBundle
+ * 
+ * @author Tammo van Lessen (University of Stuttgart)
+ */
+public interface ExtensionOperation {
+
+	void run(Object context, Element element) throws FaultException;
+	
+}

Added: ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionValidator.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionValidator.java?rev=690032&view=auto
==============================================================================
--- ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionValidator.java (added)
+++ ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/extension/ExtensionValidator.java Thu Aug 28 15:39:20 2008
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.ode.bpel.extension;
+
+import org.apache.ode.bpel.extension.ExtensibleElement;
+
+/**
+ * Interface that allows Ode extensions to validate an extension element's
+ * content during compilation.
+ * 
+ * @author Tammo van Lessen (University of Stuttgart)
+ */
+public interface ExtensionValidator {
+
+    /**
+     * 
+     * @param compilerContext
+     * @param element
+     */
+    void validate(Object compilerContext, ExtensibleElement element);
+
+}

Modified: ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/rapi/OdeRuntime.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/rapi/OdeRuntime.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/rapi/OdeRuntime.java (original)
+++ ode/branches/rtver/bpel-api/src/main/java/org/apache/ode/bpel/rapi/OdeRuntime.java Thu Aug 28 15:39:20 2008
@@ -2,9 +2,11 @@
 
 import org.apache.ode.bpel.iapi.ProcessConf;
 import org.apache.ode.bpel.common.FaultException;
+import org.apache.ode.bpel.extension.ExtensionBundleRuntime;
 import org.w3c.dom.Element;
 
 import javax.xml.namespace.QName;
+import java.util.Map;
 
 public interface OdeRuntime {
     
@@ -19,4 +21,6 @@
     void clear();
 
     String extractProperty(Element msgData, PropertyAliasModel alias, String target) throws FaultException;
+
+    void setExtensionRegistry(Map<String, ExtensionBundleRuntime> extensionRegistry);
 }

Modified: ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelC.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelC.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelC.java (original)
+++ ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelC.java Thu Aug 28 15:39:20 2008
@@ -33,7 +33,7 @@
 import org.apache.ode.bpel.compiler.api.CompilationException;
 import org.apache.ode.bpel.compiler.api.CompilationMessage;
 import org.apache.ode.bpel.compiler.api.CompileListener;
-import org.apache.ode.bpel.rapi.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionValidator;
 import org.apache.ode.bpel.compiler.bom.BpelObjectFactory;
 import org.apache.ode.bpel.compiler.bom.Process;
 import org.apache.ode.bpel.rapi.ProcessModel;

Modified: ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java (original)
+++ ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java Thu Aug 28 15:39:20 2008
@@ -1,7 +1,7 @@
 package org.apache.ode.bpel.compiler;
 
 import org.apache.ode.bpel.compiler.api.CompileListener;
-import org.apache.ode.bpel.rapi.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionValidator;
 import org.apache.ode.bpel.compiler.bom.Process;
 import org.apache.ode.bpel.rapi.ProcessModel;
 import org.w3c.dom.Node;

Modified: ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/ExtensionActivity.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/ExtensionActivity.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/ExtensionActivity.java (original)
+++ ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/ExtensionActivity.java Thu Aug 28 15:39:20 2008
@@ -22,7 +22,7 @@
 import java.util.List;
 
 import org.w3c.dom.Element;
-import org.apache.ode.bpel.rapi.ExtensibleElement;
+import org.apache.ode.bpel.extension.ExtensibleElement;
 
 /**
  * BOM representation of the BPEL <code>&lt;extensionActivity&gt;</code> activity. The

Modified: ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/ExtensionAssignOperation.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/ExtensionAssignOperation.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/ExtensionAssignOperation.java (original)
+++ ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/bom/ExtensionAssignOperation.java Thu Aug 28 15:39:20 2008
@@ -19,7 +19,7 @@
 package org.apache.ode.bpel.compiler.bom;
 
 import org.apache.ode.bpel.compiler.bom.AssignActivity.AssignOperation;
-import org.apache.ode.bpel.rapi.ExtensibleElement;
+import org.apache.ode.bpel.extension.ExtensibleElement;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;

Modified: ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/AssignGenerator.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/AssignGenerator.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/AssignGenerator.java (original)
+++ ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/AssignGenerator.java Thu Aug 28 15:39:20 2008
@@ -23,7 +23,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ode.bpel.compiler.api.CompilationException;
-import org.apache.ode.bpel.rapi.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionValidator;
 import org.apache.ode.bpel.compiler.bom.Activity;
 import org.apache.ode.bpel.compiler.bom.AssignActivity;
 import org.apache.ode.bpel.compiler.bom.Copy;

Modified: ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/BpelCompilerImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/BpelCompilerImpl.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/BpelCompilerImpl.java (original)
+++ ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/BpelCompilerImpl.java Thu Aug 28 15:39:20 2008
@@ -48,7 +48,7 @@
 import org.apache.ode.bpel.compiler.api.CompilationException;
 import org.apache.ode.bpel.compiler.api.CompilationMessage;
 import org.apache.ode.bpel.compiler.api.CompileListener;
-import org.apache.ode.bpel.rapi.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionValidator;
 import org.apache.ode.bpel.compiler.v2.CompilerContext;
 import org.apache.ode.bpel.compiler.v2.ExpressionCompiler;
 import org.apache.ode.bpel.compiler.bom.Activity;

Modified: ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/CompilerContext.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/CompilerContext.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/CompilerContext.java (original)
+++ ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/CompilerContext.java Thu Aug 28 15:39:20 2008
@@ -28,7 +28,7 @@
 import org.apache.ode.bpel.compiler.bom.ScopeLikeActivity;
 import org.apache.ode.bpel.compiler.SourceLocation;
 import org.apache.ode.bpel.compiler.api.CompilationException;
-import org.apache.ode.bpel.rapi.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionValidator;
 import org.apache.ode.bpel.rtrep.v2.OActivity;
 import org.apache.ode.bpel.rtrep.v2.OExpression;
 import org.apache.ode.bpel.rtrep.v2.OLValueExpression;

Modified: ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/ExtensionActivtityGenerator.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/ExtensionActivtityGenerator.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/ExtensionActivtityGenerator.java (original)
+++ ode/branches/rtver/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/v2/ExtensionActivtityGenerator.java Thu Aug 28 15:39:20 2008
@@ -19,7 +19,7 @@
 package org.apache.ode.bpel.compiler.v2;
 
 import org.apache.ode.bpel.compiler.api.CompilationException;
-import org.apache.ode.bpel.rapi.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionValidator;
 import org.apache.ode.bpel.compiler.bom.Activity;
 import org.apache.ode.bpel.compiler.bom.CompositeActivity;
 import org.apache.ode.bpel.compiler.bom.ExtensionActivity;

Modified: ode/branches/rtver/bpel-compiler/src/test/java/org/apache/ode/bpel/compiler/XPathTest.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-compiler/src/test/java/org/apache/ode/bpel/compiler/XPathTest.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-compiler/src/test/java/org/apache/ode/bpel/compiler/XPathTest.java (original)
+++ ode/branches/rtver/bpel-compiler/src/test/java/org/apache/ode/bpel/compiler/XPathTest.java Thu Aug 28 15:39:20 2008
@@ -32,7 +32,7 @@
 import org.apache.ode.bpel.compiler.api.CompilationException;
 import org.apache.ode.bpel.compiler.v2.CompilerContext;
 import org.apache.ode.bpel.compiler.v2.ExpressionCompiler;
-import org.apache.ode.bpel.rapi.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionValidator;
 import org.apache.ode.bpel.compiler.bom.*;
 import org.apache.ode.bpel.compiler.v2.xpath10.XPath10ExpressionCompilerBPEL11;
 import org.apache.ode.bpel.compiler.v2.xpath10.XPath10ExpressionCompilerBPEL20;

Modified: ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelInstanceWorker.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelInstanceWorker.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelInstanceWorker.java (original)
+++ ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelInstanceWorker.java Thu Aug 28 15:39:20 2008
@@ -56,12 +56,8 @@
         _todoQueue.add(runnable);
         // We mayh need to reschedule this thread if we've dropped out of the end of the run() method.
         if (!_running) {
-            System.out.println("! RUNNING");
             _running = true;
             _process.enqueueRunnable(this);
-        } else {
-            System.out.println("RUNNING");
-//            _process.enqueueRunnable(this);
         }
     }
  

Modified: ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java (original)
+++ ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java Thu Aug 28 15:39:20 2008
@@ -67,7 +67,7 @@
 import org.apache.ode.bpel.evar.ExternalVariableModule;
 import org.apache.ode.bpel.rapi.ProcessModel;
 import org.apache.ode.bpel.rapi.OdeRuntime;
-import org.apache.ode.bpel.rapi.ExtensionBundle;
+import org.apache.ode.bpel.extension.ExtensionBundleRuntime;
 
 /**
  * <p>
@@ -267,7 +267,7 @@
         }
     }
 
-    public void registerExtensionBundle(ExtensionBundle bundle) {
+    public void registerExtensionBundle(ExtensionBundleRuntime bundle) {
     	_contexts.extensionRegistry.put(bundle.getNamespaceURI(), bundle);
     	bundle.registerExtensionActivities();
     }
@@ -371,6 +371,7 @@
         String qualifiedName = "org.apache.ode.bpel.rtrep.v" + conf.getRuntimeVersion() + ".RuntimeImpl";
         try {
             OdeRuntime runtime = (OdeRuntime) Class.forName(qualifiedName).newInstance();
+            runtime.setExtensionRegistry(_contexts.extensionRegistry);
             return runtime;
         } catch (Exception e) {
             throw new RuntimeException("Couldn't instantiate ODE runtime version " + conf.getRuntimeVersion() +

Modified: ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/Contexts.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/Contexts.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/Contexts.java (original)
+++ ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/Contexts.java Thu Aug 28 15:39:20 2008
@@ -43,7 +43,7 @@
 import org.apache.ode.bpel.iapi.Scheduler;
 import org.apache.ode.bpel.intercept.MessageExchangeInterceptor;
 import org.apache.ode.bpel.evar.ExternalVariableModule;
-import org.apache.ode.bpel.rapi.ExtensionBundle;
+import org.apache.ode.bpel.extension.ExtensionBundleRuntime;
 
 /**
  * Aggregation of all the contexts provided to the BPEL engine by the integration layer.
@@ -65,7 +65,7 @@
     final List<BpelEventListener> eventListeners = new CopyOnWriteArrayList<BpelEventListener>();
 
 	/** Global extension bundle registry **/
-    final Map<String, ExtensionBundle> extensionRegistry = new ConcurrentHashMap<String, ExtensionBundle>();
+    final Map<String, ExtensionBundleRuntime> extensionRegistry = new ConcurrentHashMap<String, ExtensionBundleRuntime>();
     
     /** Mapping from external variable engine identifier to the engine implementation. */
     final HashMap<QName, ExternalVariableModule> externalVariableEngines = new HashMap<QName, ExternalVariableModule>();

Modified: ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MessageExchangeImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MessageExchangeImpl.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MessageExchangeImpl.java (original)
+++ ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MessageExchangeImpl.java Thu Aug 28 15:39:20 2008
@@ -71,37 +71,27 @@
     //
     
     final Contexts _contexts;
-
     final ODEProcess _process;
-
     final PartnerLinkModel _oplink;
-
     /** Message-exchange id. */
     final String _mexId;
-
     final PortType _portType;
-
     final Operation _operation;
 
     /** Instance identifier. */
     Long _iid;
-
     EndpointReference _epr;
-
     MessageImpl _request;
 
     /** The point at which this message-exchange will time out. */
-    long _timeout = 90 * 1000;
+    long _timeout = 30 * 1000;
 
     //
     // The following fields need to be volatile, since a random  IL thread may set them.
     //
     private volatile Status _status = Status.NEW;
-
     volatile QName _fault;
-
     volatile String _explanation;
-
     volatile MessageImpl _response;
 
     /** 

Modified: ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ODEProcess.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ODEProcess.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ODEProcess.java (original)
+++ ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ODEProcess.java Thu Aug 28 15:39:20 2008
@@ -1026,7 +1026,6 @@
             // the stack.
             if (old == Status.ASYNC) {
                 MyRoleMessageExchangeImpl mymex = _myRoleMexCache.get(mexdao, this);
-                System.out.println("ON ASYNC ACK");
                 mymex.onAsyncAck(mexdao);
                 try {
                     _contexts.mexContext.onMyRoleMessageExchangeStateChanged(mymex);

Modified: ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/UnreliableMyRoleMessageExchangeImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/UnreliableMyRoleMessageExchangeImpl.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/UnreliableMyRoleMessageExchangeImpl.java (original)
+++ ode/branches/rtver/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/UnreliableMyRoleMessageExchangeImpl.java Thu Aug 28 15:39:20 2008
@@ -65,7 +65,6 @@
         try {
             future.get(Math.max(_timeout, 1), TimeUnit.MILLISECONDS);
             _done = true;
-            System.out.println("EXIT BLOCKING.");
             return getStatus();
         } catch (InterruptedException e) {
             throw new BpelEngineException(e);
@@ -96,7 +95,6 @@
                     return _status;
 
                 this.wait(TimeUnit.MILLISECONDS.convert(timeout, unit));
-                System.out.println("EXIT WAIT LOOP.");
 
                 if (_status == null) throw new TimeoutException();
                 return _status;
@@ -112,9 +110,7 @@
         }
 
         void done(Status status) {
-            System.out.println("DONE1.");
             synchronized (this) {
-                System.out.println("DONE2.");
                 _status = status;
                 this.notifyAll();
             }
@@ -149,7 +145,6 @@
                 _explanation = explanation;
 
                 ack(ackType);
-                System.out.println("FUTURE DONE.");
                 _future.done(Status.ACK);
 
             }

Modified: ode/branches/rtver/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/CombineUrlTest.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/CombineUrlTest.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/CombineUrlTest.java (original)
+++ ode/branches/rtver/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/CombineUrlTest.java Thu Aug 28 15:39:20 2008
@@ -38,7 +38,7 @@
         final String baseURL = "http://WebReference.com/html/";
 
         // key: the relative URL,  value: the expected result
-        Map m = new TreeMap();
+        Map<String,String> m = new TreeMap<String,String>();
 
         // relative-path references
         m.put("about.html", "http://WebReference.com/html/about.html");

Modified: ode/branches/rtver/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/MockCompilerContext.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/MockCompilerContext.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/MockCompilerContext.java (original)
+++ ode/branches/rtver/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/MockCompilerContext.java Thu Aug 28 15:39:20 2008
@@ -27,7 +27,7 @@
 import javax.xml.namespace.QName;
 
 import org.apache.ode.bpel.compiler.api.CompilationException;
-import org.apache.ode.bpel.rapi.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionValidator;
 import org.apache.ode.bpel.compiler.v2.CompilerContext;
 import org.apache.ode.bpel.compiler.bom.Activity;
 import org.apache.ode.bpel.compiler.bom.BpelObject;

Modified: ode/branches/rtver/bpel-store/src/main/java/org/apache/ode/store/DeploymentUnitDir.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-store/src/main/java/org/apache/ode/store/DeploymentUnitDir.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-store/src/main/java/org/apache/ode/store/DeploymentUnitDir.java (original)
+++ ode/branches/rtver/bpel-store/src/main/java/org/apache/ode/store/DeploymentUnitDir.java Thu Aug 28 15:39:20 2008
@@ -23,7 +23,7 @@
 import org.apache.ode.bpel.compiler.BpelC;
 import org.apache.ode.bpel.compiler.DefaultResourceFinder;
 import org.apache.ode.bpel.compiler.WSDLLocatorImpl;
-import org.apache.ode.bpel.rapi.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionValidator;
 import org.apache.ode.bpel.compiler.wsdl.Definition4BPEL;
 import org.apache.ode.bpel.compiler.wsdl.WSDLFactory4BPEL;
 import org.apache.ode.bpel.compiler.wsdl.WSDLFactoryBPEL20;

Modified: ode/branches/rtver/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java (original)
+++ ode/branches/rtver/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java Thu Aug 28 15:39:20 2008
@@ -36,7 +36,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ode.bpel.compiler.api.CompilationException;
-import org.apache.ode.bpel.rapi.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionValidator;
 import org.apache.ode.bpel.dd.DeployDocument;
 import org.apache.ode.bpel.dd.TDeployment;
 import org.apache.ode.bpel.iapi.ContextException;

Modified: ode/branches/rtver/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java (original)
+++ ode/branches/rtver/bpel-test/src/main/java/org/apache/ode/test/BPELTestAbstract.java Thu Aug 28 15:39:20 2008
@@ -556,9 +556,7 @@
                 request.setMessage(_invocation.request);
                 _invocation.invokeTime = System.currentTimeMillis();
                 mex.setRequest(request);
-                System.out.println("INVOKE BLCOKING " + _invocation.id);
                 mex.invokeBlocking();
-                System.out.println("DONE INVOKE BLCOKING " + _invocation.id);
 
                 CorrelationStatus cstatus = mex.getCorrelationStatus();
                 if (_invocation.expectedCorrelationStatus != null && !cstatus.equals(_invocation.expectedCorrelationStatus))

Modified: ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java (original)
+++ ode/branches/rtver/bpel-test/src/test/java/org/apache/ode/test/ExtensibilityTest.java Thu Aug 28 15:39:20 2008
@@ -20,11 +20,14 @@
 
 import org.apache.ode.bpel.common.FaultException;
 import org.apache.ode.bpel.compiler.api.CompilationException;
+import org.apache.ode.bpel.compiler.api.CompilationMessage;
+import org.apache.ode.bpel.compiler.v2.CompilerContext;
 import org.apache.ode.bpel.iapi.BpelEngineException;
 import org.apache.ode.bpel.rtrep.common.extension.AbstractExtensionBundle;
-import org.apache.ode.bpel.rtrep.common.extension.ExtensionOperation;
+import org.apache.ode.bpel.extension.ExtensionOperation;
 import org.apache.ode.bpel.rtrep.common.extension.ExtensionContext;
 import org.apache.ode.bpel.rtrep.common.extension.AbstractAsyncExtensionOperation;
+import org.apache.ode.bpel.extension.ExtensibleElement;
 import org.apache.ode.utils.DOMUtils;
 import org.junit.Assert;
 import org.junit.Before;
@@ -119,18 +122,19 @@
 	public static class TestExtensionActivity implements ExtensionOperation {
 		private static final long serialVersionUID = 1L;
 
-		public void run(ExtensionContext context,
+		public void run(Object context,
 				Element element) throws FaultException {
 			TestExtensionBundle.wasExecuted = true;
-			context.complete();
+			((ExtensionContext)context).complete();
 		}
 	}
 	
 	public static class TestExtensionAssignOperation implements ExtensionOperation {
 		private static final long serialVersionUID = 1L;
 
-		public void run(ExtensionContext context, Element element)
+		public void run(Object contexto, Element element)
 				throws FaultException {
+            ExtensionContext context = (ExtensionContext) contexto;
 			//Node val = context.readVariable("myVar");
 			StringBuffer sb = new StringBuffer("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
 			sb.append("<message><TestPart>Small</TestPart></message>");
@@ -148,20 +152,18 @@
 	public static class TestExtensionValidatorActivity extends AbstractAsyncExtensionOperation {
 		private static final long serialVersionUID = 1L;
 
-		public void run(ExtensionContext context,
+		public void run(Object context,
 				Element element) throws FaultException {
 			TestExtensionBundle.wasExecuted = true;
-			context.complete();
+			((ExtensionContext)context).complete();
 		}
 
-//      TODO fix with extensibility validation
-//		@Override
-//		public void validate(CompilerContext context, ExtensibleElement element)
-//				throws CompilationException {
-//			if (element.getNestedElement().getTextContent().trim().equals(TestExtensionBundle.cmpString)) {
-//				throw new CompilationException(new CompilationMessage());
-//			}
-//		}
+		public void validate(CompilerContext context, ExtensibleElement element)
+				throws CompilationException {
+			if (element.getNestedElement().getTextContent().trim().equals(TestExtensionBundle.cmpString)) {
+				throw new CompilationException(new CompilationMessage());
+			}
+		}
 	}
 
 }

Modified: ode/branches/rtver/il-common/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/il-common/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/il-common/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java (original)
+++ ode/branches/rtver/il-common/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java Thu Aug 28 15:39:20 2008
@@ -81,7 +81,8 @@
 
     public static final String PROP_DAOCF = "dao.factory";
     
-    public static final String PROP_EXTENSION_BUNDLES= "extension.bundles";
+    public static final String PROP_EXTENSION_BUNDLES_RT = "extension.bundles.runtime";
+    public static final String PROP_EXTENSION_BUNDLES_VAL = "extension.bundles.validation";
 
     private File _cfgFile;
 
@@ -264,8 +265,12 @@
         return getProperty(PROP_DB_INTERNAL_PASSWORD);
     }
 
-    public String getExtensionActivityBundles() {
-    	return getProperty(PROP_EXTENSION_BUNDLES);
+    public String getExtensionActivityBundlesRT() {
+    	return getProperty(PROP_EXTENSION_BUNDLES_RT);
+    }
+
+    public String getExtensionActivityBundlesValidation() {
+    	return getProperty(PROP_EXTENSION_BUNDLES_VAL);
     }
 
 }

Modified: ode/branches/rtver/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java (original)
+++ ode/branches/rtver/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java Thu Aug 28 15:39:20 2008
@@ -23,6 +23,7 @@
 import java.io.FileNotFoundException;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.StringTokenizer;
 import java.util.concurrent.Executors;
 
 import javax.jbi.JBIException;
@@ -37,7 +38,9 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.ode.bpel.rapi.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionBundleRuntime;
+import org.apache.ode.bpel.extension.ExtensionBundleValidation;
 import org.apache.ode.bpel.connector.BpelServerConnector;
 import org.apache.ode.bpel.dao.BpelDAOConnectionFactoryJDBC;
 import org.apache.ode.bpel.engine.BpelServerImpl;
@@ -336,28 +339,40 @@
         }
     }
 
- 	private void registerExtensionActivityBundles() {
-        String extensionsStr = _ode._config.getExtensionActivityBundles();
-        if (extensionsStr != null) {
-        	Map<QName, ExtensionValidator> validators = new HashMap<QName, ExtensionValidator>();
-        	// TODO replace StringTokenizer by regex
-            for (String bundleCN : extensionsStr.split("\\s*(,|;)\\s*")) {
-            	try {
-                	// instantiate bundle
-                	AbstractExtensionBundle bundle = (AbstractExtensionBundle) Class.forName(bundleCN).newInstance();
-                	
-                	// register extension bundle (BPEL server)
-                	_ode._server.registerExtensionBundle(bundle);
-                	
-                	//add validators
-                	validators.putAll(bundle.getExtensionValidators());
+    private void registerExtensionActivityBundles() {
+        String extensionsRTStr = _ode._config.getExtensionActivityBundlesRT();
+        String extensionsValStr = _ode._config.getExtensionActivityBundlesValidation();
+        if (extensionsRTStr != null) {
+            // TODO replace StringTokenizer by regex
+            for (StringTokenizer tokenizer = new StringTokenizer(extensionsRTStr, ",;"); tokenizer.hasMoreTokens();) {
+                String bundleCN = tokenizer.nextToken();
+                try {
+                    // instantiate bundle
+                    ExtensionBundleRuntime bundleRT = (ExtensionBundleRuntime) Class.forName(bundleCN).newInstance();
+                    // register extension bundle (BPEL server)
+                    _ode._server.registerExtensionBundle(bundleRT);
+                } catch (Exception e) {
+                    __log.warn("Couldn't register the extension bundle runtime " + bundleCN + ", the class couldn't be " +
+                            "loaded properly.");
+                }
+            }
+        }
+        if (extensionsValStr != null) {
+            Map<QName, ExtensionValidator> validators = new HashMap<QName, ExtensionValidator>();
+            for (StringTokenizer tokenizer = new StringTokenizer(extensionsValStr, ",;"); tokenizer.hasMoreTokens();) {
+                String bundleCN = tokenizer.nextToken();
+                try {
+                    // instantiate bundle
+                    ExtensionBundleValidation bundleVal = (ExtensionBundleValidation) Class.forName(bundleCN).newInstance();
+                    //add validators
+                    validators.putAll(bundleVal.getExtensionValidators());
                 } catch (Exception e) {
-                    __log.warn("Couldn't register the extension bundle " + bundleCN + ", the class couldn't be " +
+                    __log.warn("Couldn't register the extension bundle validator " + bundleCN + ", the class couldn't be " +
                             "loaded properly.");
                 }
             }
-        	// register extension bundle (BPEL store)
-        	_ode._store.setExtensionValidators(validators);
+            // register extension bundle (BPEL store)
+            _ode._store.setExtensionValidators(validators);
         }
     }
 

Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractAsyncExtensionOperation.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractAsyncExtensionOperation.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractAsyncExtensionOperation.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractAsyncExtensionOperation.java Thu Aug 28 15:39:20 2008
@@ -19,6 +19,7 @@
 package org.apache.ode.bpel.rtrep.common.extension;
 
 import org.apache.ode.bpel.common.FaultException;
+import org.apache.ode.bpel.extension.ExtensionOperation;
 import org.w3c.dom.Element;
 
 /**
@@ -26,15 +27,9 @@
  * 
  * @author Tammo van Lessen (University of Stuttgart)
  */
-public abstract class AbstractAsyncExtensionOperation implements //ExtensionValidator,
-															ExtensionOperation {
+public abstract class AbstractAsyncExtensionOperation implements ExtensionOperation {
 
-    // TODO check what to do with compiler context
-//	public void validate(CompilerContext context, ExtensibleElement element) throws CompilationException {
-//		// default behavior: pass
-//	}
-
-	public abstract void run(ExtensionContext context, Element element)
+	public abstract void run(Object context, Element element)
 			throws FaultException;
 	
 }

Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractExtensionBundle.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractExtensionBundle.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractExtensionBundle.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractExtensionBundle.java Thu Aug 28 15:39:20 2008
@@ -25,11 +25,12 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.ode.bpel.rapi.ExtensionBundle;
-import org.apache.ode.bpel.rapi.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionValidator;
+import org.apache.ode.bpel.extension.ExtensionBundleRuntime;
+import org.apache.ode.bpel.extension.ExtensionBundleValidation;
+import org.apache.ode.bpel.extension.ExtensionOperation;
 
 import javax.xml.namespace.QName;
-//import org.apache.ode.bpel.compiler.api.ExtensionValidator;
 
 /**
 * Abstract class that bundles and registers <code>&lt;extensionActivity&gt;</code> and
@@ -37,7 +38,8 @@
 *  
 * @author Tammo van Lessen (University of Stuttgart)
 */
-public abstract class AbstractExtensionBundle implements ExtensionBundle {
+public abstract class AbstractExtensionBundle implements ExtensionBundleRuntime, ExtensionBundleValidation {
+
 	private static Log __log = LogFactory.getLog(AbstractExtensionBundle.class);
 	private Map<String, Class<? extends ExtensionOperation>> extensionsByName = new HashMap<String, Class<? extends ExtensionOperation>>();
 
@@ -53,7 +55,7 @@
 	public abstract void registerExtensionActivities();
 
 	/**
-	 * Register an {@link ExtensionOperation} implementation as <code>&lt;extensionActivity&gt;</code>.
+	 * Register an {@link org.apache.ode.bpel.extension.ExtensionOperation} implementation as <code>&lt;extensionActivity&gt;</code>.
 	 *
 	 * @param localName
 	 * @param activity

Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractSyncExtensionOperation.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractSyncExtensionOperation.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractSyncExtensionOperation.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/AbstractSyncExtensionOperation.java Thu Aug 28 15:39:20 2008
@@ -19,6 +19,7 @@
 package org.apache.ode.bpel.rtrep.common.extension;
 
 import org.apache.ode.bpel.common.FaultException;
+import org.apache.ode.bpel.extension.ExtensionOperation;
 import org.w3c.dom.Element;
 
 /**
@@ -26,18 +27,13 @@
  * 
  * @author Tammo van Lessen (University of Stuttgart)
  */
-public abstract class AbstractSyncExtensionOperation implements //ExtensionValidator,
-															ExtensionOperation {
-
-    // TODO check what to do with compiler context
-//	public void validate(CompilerContext context, ExtensibleElement element) throws CompilationException {
-//		// default behavior: pass
-//	}
+public abstract class AbstractSyncExtensionOperation implements ExtensionOperation {
 
 	protected abstract void runSync(ExtensionContext context, Element element) throws FaultException;
 	
-	public void run(ExtensionContext context, Element element)
+	public void run(Object contexto, Element element)
 			throws FaultException {
+        ExtensionContext context = (ExtensionContext) contexto;
 		try {
 			runSync(context, element);
 			context.complete();

Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensibilityQNames.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensibilityQNames.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensibilityQNames.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensibilityQNames.java Thu Aug 28 15:39:20 2008
@@ -33,7 +33,6 @@
     public static final String NS_BPEL_EXTENSIBILITY = "http://ode.apache.org/bpelExtensibility";
     public static final QName UNKNOWN_EA_FAULT_NAME  = new QName(NS_BPEL_EXTENSIBILITY, "unknownExtensionImplementation");
 
-
     //
     // External variables 
     //    

Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensionContext.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensionContext.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensionContext.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/common/extension/ExtensionContext.java Thu Aug 28 15:39:20 2008
@@ -30,7 +30,7 @@
 
 /**
  * Context for executing extension activities or extension assign operations. 
- * Implementations of the {@link ExtensionOperation} class use this interface to access BPEL
+ * Implementations of the {@link org.apache.ode.bpel.extension.ExtensionOperation} class use this interface to access BPEL
  * variables, property sets and link status.
  * 
  * @author Tammo van Lessen (University of Stuttgart)

Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/ASSIGN.java Thu Aug 28 15:39:20 2008
@@ -32,7 +32,7 @@
 import org.apache.ode.bpel.rtrep.v2.channels.FaultData;
 import org.apache.ode.bpel.rtrep.common.extension.ExtensionContext;
 import org.apache.ode.bpel.rtrep.common.extension.ExtensibilityQNames;
-import org.apache.ode.bpel.rtrep.common.extension.ExtensionOperation;
+import org.apache.ode.bpel.extension.ExtensionOperation;
 import org.apache.ode.utils.DOMUtils;
 import org.apache.ode.utils.Namespaces;
 import org.apache.ode.utils.msg.MessageBundle;

Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EXTENSIONACTIVITY.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EXTENSIONACTIVITY.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EXTENSIONACTIVITY.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/EXTENSIONACTIVITY.java Thu Aug 28 15:39:20 2008
@@ -23,7 +23,7 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ode.bpel.common.FaultException;
-import org.apache.ode.bpel.rtrep.common.extension.ExtensionOperation;
+import org.apache.ode.bpel.extension.ExtensionOperation;
 import org.apache.ode.bpel.rtrep.common.extension.ExtensionContext;
 import org.apache.ode.bpel.rtrep.common.extension.ExtensibilityQNames;
 import org.apache.ode.utils.DOMUtils;

Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/OdeInternalInstance.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/OdeInternalInstance.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/OdeInternalInstance.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/OdeInternalInstance.java Thu Aug 28 15:39:20 2008
@@ -1,7 +1,5 @@
 package org.apache.ode.bpel.rtrep.v2;
 
-import org.apache.ode.bpel.rapi.OdeRTInstanceContext;
-import org.apache.ode.bpel.rapi.FaultInfo;
 import org.apache.ode.bpel.common.FaultException;
 import org.apache.ode.bpel.common.CorrelationKey;
 import org.apache.ode.bpel.evar.ExternalVariableModuleException;
@@ -9,7 +7,7 @@
 import org.apache.ode.bpel.rtrep.v2.channels.ActivityRecoveryChannel;
 import org.apache.ode.bpel.rtrep.v2.channels.PickResponseChannel;
 import org.apache.ode.bpel.rtrep.v2.channels.FaultData;
-import org.apache.ode.bpel.rtrep.common.extension.ExtensionOperation;
+import org.apache.ode.bpel.extension.ExtensionOperation;
 import org.apache.ode.bpel.evt.ScopeEvent;
 import org.apache.ode.bpel.evt.ProcessInstanceStartedEvent;
 import org.w3c.dom.Node;
@@ -17,8 +15,6 @@
 
 import javax.wsdl.Operation;
 import javax.xml.namespace.QName;
-import java.io.IOException;
-import java.io.OutputStream;
 import java.util.Collection;
 import java.util.Date;
 import java.net.URI;

Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeImpl.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeImpl.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeImpl.java Thu Aug 28 15:39:20 2008
@@ -18,6 +18,7 @@
 import org.apache.ode.bpel.rapi.PropertyAliasModel;
 import org.apache.ode.bpel.rapi.OdeRTInstance;
 import org.apache.ode.bpel.rtrep.common.ConfigurationException;
+import org.apache.ode.bpel.extension.ExtensionBundleRuntime;
 import org.apache.ode.jacob.soup.ReplacementMap;
 import org.apache.ode.jacob.vpu.ExecutionQueueImpl;
 import org.apache.ode.utils.msg.MessageBundle;
@@ -38,7 +39,7 @@
     Set<String> _mustUnderstandExtensions;
     ReplacementMap _replacementMap;
     ExpressionLanguageRuntimeRegistry _expLangRuntimeRegistry;
-    Map<String, AbstractExtensionBundle> _extensionRegistry;
+    Map<String, ExtensionBundleRuntime> _extensionRegistry;
 
     /**
      * Initialize according to process configuration.
@@ -155,6 +156,10 @@
         _extensionRegistry = null;
     }
 
+    public void setExtensionRegistry(Map<String, ExtensionBundleRuntime> extensionRegistry) {
+        _extensionRegistry = extensionRegistry;
+    }
+
     /**
      * Read an {@link OProcess} representation from a stream.
      * 

Modified: ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java (original)
+++ ode/branches/rtver/runtime-repo/src/main/java/org/apache/ode/bpel/rtrep/v2/RuntimeInstanceImpl.java Thu Aug 28 15:39:20 2008
@@ -17,11 +17,11 @@
 import org.apache.ode.bpel.evt.ScopeEvent;
 import org.apache.ode.bpel.rapi.*;
 import org.apache.ode.bpel.rtrep.v2.channels.*;
-import org.apache.ode.bpel.rtrep.common.extension.ExtensionOperation;
-import org.apache.ode.bpel.rtrep.common.extension.AbstractExtensionBundle;
+import org.apache.ode.bpel.extension.ExtensionOperation;
 import org.apache.ode.bpel.evar.ExternalVariableModuleException;
 import org.apache.ode.bpel.evar.IncompleteKeyException;
 import org.apache.ode.bpel.iapi.BpelEngineException;
+import org.apache.ode.bpel.extension.ExtensionBundleRuntime;
 import org.apache.ode.jacob.JacobRunnable;
 import org.apache.ode.jacob.vpu.ExecutionQueueImpl;
 import org.apache.ode.jacob.vpu.JacobVPU;
@@ -369,10 +369,8 @@
     }
 
     public ExtensionOperation createExtensionActivityImplementation(QName name) {
-        if (name == null) {
-            return null;
-        }
-        AbstractExtensionBundle bundle = _runtime._extensionRegistry.get(name.getNamespaceURI());
+        if (name == null) return null;
+        ExtensionBundleRuntime bundle = _runtime._extensionRegistry.get(name.getNamespaceURI());
         if (bundle == null) {
             return null;
         } else {

Modified: ode/branches/rtver/runtime-repo/src/test/java/org/apache/ode/bpel/rtrep/v2/CoreBpelTest.java
URL: http://svn.apache.org/viewvc/ode/branches/rtver/runtime-repo/src/test/java/org/apache/ode/bpel/rtrep/v2/CoreBpelTest.java?rev=690032&r1=690031&r2=690032&view=diff
==============================================================================
--- ode/branches/rtver/runtime-repo/src/test/java/org/apache/ode/bpel/rtrep/v2/CoreBpelTest.java (original)
+++ ode/branches/rtver/runtime-repo/src/test/java/org/apache/ode/bpel/rtrep/v2/CoreBpelTest.java Thu Aug 28 15:39:20 2008
@@ -39,7 +39,7 @@
 import org.apache.ode.bpel.evar.ExternalVariableModuleException;
 import org.apache.ode.bpel.rapi.*;
 import org.apache.ode.bpel.rtrep.v2.channels.*;
-import org.apache.ode.bpel.rtrep.common.extension.ExtensionOperation;
+import org.apache.ode.bpel.extension.ExtensionOperation;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
 import org.junit.Assert;