Build failed in Hudson: RiftSaw-ODE #50
by jboss-qa-internal@redhat.com
See <http://hudson.qa.jboss.com/hudson/job/RiftSaw-ODE/50/changes>
Changes:
[jeff.yuchang] *RIFTSAW-306, added ASE support for scheduler simple module.
------------------------------------------
[...truncated 3615 lines...]
AU axis2-war/src/main/webapp/images/addGadgetIcon.gif
AU axis2-war/src/main/webapp/images/closeIcon.gif
AU axis2-war/src/main/webapp/images/logo.png
AU axis2-war/src/main/webapp/images/wrapper_back.png
AU axis2-war/src/main/webapp/images/pagenav_back.png
AU axis2-war/src/main/webapp/images/dguide.png
AU axis2-war/src/main/webapp/images/arrowsUp.gif
AU axis2-war/src/main/webapp/images/site_nav_hover_bg.gif
AU axis2-war/src/main/webapp/images/window_bottom_start.jpg
AU axis2-war/src/main/webapp/images/window_bottom_start.png
AU axis2-war/src/main/webapp/images/site_nav_borders.gif
AU axis2-war/src/main/webapp/images/window_bottom_end.jpg
AU axis2-war/src/main/webapp/images/buttonBack.gif
AU axis2-war/src/main/webapp/images/bottom_m.png
AU axis2-war/src/main/webapp/images/window_bottom_end.png
AU axis2-war/src/main/webapp/images/bg_button_span.gif
AU axis2-war/src/main/webapp/images/arrowsDown.gif
AU axis2-war/src/main/webapp/images/bullet1.gif
AU axis2-war/src/main/webapp/images/settingsIcon.gif
AU axis2-war/src/main/webapp/images/bullet2.gif
AU axis2-war/src/main/webapp/images/bg_header.jpg
AU axis2-war/src/main/webapp/images/guide.png
AU axis2-war/src/main/webapp/images/activate.png
AU axis2-war/src/main/webapp/images/wrapper_column_top.gif
AU axis2-war/src/main/webapp/images/gadgetTitleBg.jpg
AU axis2-war/src/main/webapp/images/window_top_start.jpg
AU axis2-war/src/main/webapp/images/tab-selected-mid.png
AU axis2-war/src/main/webapp/images/bg_button_a.gif
AU axis2-war/src/main/webapp/images/bottom.png
AU axis2-war/src/main/webapp/images/navBack.png
AU axis2-war/src/main/webapp/images/window_min.jpg
AU axis2-war/src/main/webapp/images/window_top_start.png
AU axis2-war/src/main/webapp/images/window_max.jpg
AU axis2-war/src/main/webapp/images/window_resize.gif
AU axis2-war/src/main/webapp/images/window_top_end.jpg
AU axis2-war/src/main/webapp/images/process.png
AU axis2-war/src/main/webapp/images/31-Document_48x48.png
AU axis2-war/src/main/webapp/images/window_top_end.png
AU axis2-war/src/main/webapp/images/img_main.png
AU axis2-war/src/main/webapp/images/home.png
AU axis2-war/src/main/webapp/images/window_close.jpg
AU axis2-war/src/main/webapp/images/retire.png
AU axis2-war/src/main/webapp/images/inner_back.png
AU axis2-war/src/main/webapp/images/info.png
A axis2-war/src/main/webapp/WEB-INF
A axis2-war/src/main/webapp/WEB-INF/services
AU axis2-war/src/main/webapp/WEB-INF/services/version.aar
A axis2-war/src/main/webapp/WEB-INF/conf
A axis2-war/src/main/webapp/WEB-INF/conf/axis2.xml
A axis2-war/src/main/webapp/WEB-INF/processes
A axis2-war/src/main/webapp/WEB-INF/processes/README.txt
A axis2-war/src/main/webapp/WEB-INF/web.xml
A axis2-war/src/main/webapp/WEB-INF/classes
A axis2-war/src/main/webapp/WEB-INF/classes/META-INF
A axis2-war/src/main/webapp/WEB-INF/classes/META-INF/services
A axis2-war/src/main/webapp/WEB-INF/classes/META-INF/services/org.apache.commons.logging.LogFactory
A axis2-war/src/main/webapp/WEB-INF/classes/commons-logging.properties
A axis2-war/src/main/webapp/WEB-INF/classes/log4j.properties
A axis2-war/src/main/webapp/css
A axis2-war/src/main/webapp/css/global.css
A axis2-war/src/main/webapp/css/style.css
A axis2-war/src/main/webapp/css/reset.css
A axis2-war/src/main/webapp/css/SyntaxHighlighter.css
A axis2-war/src/main/webapp/processes.html
A axis2-war/src/main/webapp/index.html
A axis2-war/src/main/webapp/instances.html
A axis2-war/src/main/webapp/js
A axis2-war/src/main/webapp/js/ProcessManagementAPI.js
A axis2-war/src/main/webapp/js/ODE.js
A axis2-war/src/main/webapp/js/bubbling
A axis2-war/src/main/webapp/js/bubbling/bubbling.js
A axis2-war/src/main/webapp/js/bubbling/assets
AU axis2-war/src/main/webapp/js/bubbling/assets/loading.gif
A axis2-war/src/main/webapp/js/bubbling/assets/accordion.css
A axis2-war/src/main/webapp/js/bubbling/accordion.js
A axis2-war/src/main/webapp/js/InstanceManagementAPI.js
A axis2-war/src/main/webapp/js/yui
A axis2-war/src/main/webapp/js/yui/datasource-beta-min.js
AU axis2-war/src/main/webapp/js/yui/charts.swf
A axis2-war/src/main/webapp/js/yui/json-min.js
A axis2-war/src/main/webapp/js/yui/button.js
A axis2-war/src/main/webapp/js/yui/tab
AU axis2-war/src/main/webapp/js/yui/tab/loading.gif
A axis2-war/src/main/webapp/js/yui/tab/skins
A axis2-war/src/main/webapp/js/yui/tab/skins/sam
A axis2-war/src/main/webapp/js/yui/tab/skins/sam/tabview.css
A axis2-war/src/main/webapp/js/yui/tab/skins/sam/tabview-skin.css
A axis2-war/src/main/webapp/js/yui/tab/tabview.css
A axis2-war/src/main/webapp/js/yui/tab/skin-sam.css
A axis2-war/src/main/webapp/js/yui/tab/border_tabs.css
A axis2-war/src/main/webapp/js/yui/tab/tabview-core.css
A axis2-war/src/main/webapp/js/yui/utilities.js
A axis2-war/src/main/webapp/js/yui/yahoo-dom-event.js
A axis2-war/src/main/webapp/js/yui/css
AU axis2-war/src/main/webapp/js/yui/css/split-button-arrow.png
A axis2-war/src/main/webapp/js/yui/css/treeview.css
AU axis2-war/src/main/webapp/js/yui/css/desc.gif
AU axis2-war/src/main/webapp/js/yui/css/split-button-arrow-disabled.png
A axis2-war/src/main/webapp/js/yui/css/simpleeditor.css
AU axis2-war/src/main/webapp/js/yui/css/menuitem_submenuindicator_disabled.png
A axis2-war/src/main/webapp/js/yui/css/autocomplete.css
A axis2-war/src/main/webapp/js/yui/css/resize.css
A axis2-war/src/main/webapp/js/yui/css/tabview.css
A axis2-war/src/main/webapp/js/yui/css/skin.css
AU axis2-war/src/main/webapp/js/yui/css/menu-button-arrow-disabled.png
A axis2-war/src/main/webapp/js/yui/css/calendar.css
AU axis2-war/src/main/webapp/js/yui/css/menuitem_submenuindicator.png
A axis2-war/src/main/webapp/js/yui/css/button.css
A axis2-war/src/main/webapp/js/yui/css/imagecropper.css
AU axis2-war/src/main/webapp/js/yui/css/dt-arrow-up.png
A axis2-war/src/main/webapp/js/yui/css/logger.css
AU axis2-war/src/main/webapp/js/yui/css/editor-sprite-active.gif
A axis2-war/src/main/webapp/js/yui/css/datatable.css
AU axis2-war/src/main/webapp/js/yui/css/header_background.png
AU axis2-war/src/main/webapp/js/yui/css/asc.gif
AU axis2-war/src/main/webapp/js/yui/css/menuitem_checkbox.png
A axis2-war/src/main/webapp/js/yui/css/fonts.css
AU axis2-war/src/main/webapp/js/yui/css/dt-arrow-dn.png
AU axis2-war/src/main/webapp/js/yui/css/editor-knob.gif
AU axis2-war/src/main/webapp/js/yui/css/menubaritem_submenuindicator.png
AU axis2-war/src/main/webapp/js/yui/css/layout_sprite.png
AU axis2-war/src/main/webapp/js/yui/css/menu-button-arrow.png
AU axis2-war/src/main/webapp/js/yui/css/split-button-arrow-active.png
AU axis2-war/src/main/webapp/js/yui/css/sprite.png
A axis2-war/src/main/webapp/js/yui/css/menu.css
A axis2-war/src/main/webapp/js/yui/css/profilerviewer.css
AU axis2-war/src/main/webapp/js/yui/css/split-button-arrow-focus.png
A axis2-war/src/main/webapp/js/yui/css/yuitest.css
AU axis2-war/src/main/webapp/js/yui/css/editor-sprite.gif
AU axis2-war/src/main/webapp/js/yui/css/split-button-arrow-hover.png
AU axis2-war/src/main/webapp/js/yui/css/treeview-sprite.gif
AU axis2-war/src/main/webapp/js/yui/css/menuitem_checkbox_disabled.png
A axis2-war/src/main/webapp/js/yui/css/colorpicker.css
A axis2-war/src/main/webapp/js/yui/css/layout.css
AU axis2-war/src/main/webapp/js/yui/css/transparent.gif
AU axis2-war/src/main/webapp/js/yui/css/wait.gif
A axis2-war/src/main/webapp/js/yui/css/container.css
AU axis2-war/src/main/webapp/js/yui/css/treeview-loading.gif
AU axis2-war/src/main/webapp/js/yui/css/picker_mask.png
AU axis2-war/src/main/webapp/js/yui/css/hue_bg.png
AU axis2-war/src/main/webapp/js/yui/css/menubaritem_submenuindicator_disabled.png
AU axis2-war/src/main/webapp/js/yui/css/blankimage.png
A axis2-war/src/main/webapp/js/yui/css/editor.css
A axis2-war/src/main/webapp/js/yui/animation.js
A axis2-war/src/main/webapp/js/yui/charts-experimental-min.js
A axis2-war/src/main/webapp/js/yui/tabview.js
A axis2-war/src/main/webapp/js/yui/container.js
A axis2-war/src/main/webapp/js/yui/element-beta.js
A axis2-war/src/main/webapp/js/DeploymentService.js
A axis2-war/src/main/webapp/js/WSRequest.js
AU axis2-war/src/main/webapp/favicon.ico
A axis2-war/pom.xml
A axis2-war/itest_setup.groovy
A jacob
A jacob/src
A jacob/src/test
A jacob/src/test/java
A jacob/src/test/java/org
A jacob/src/test/java/org/apache
A jacob/src/test/java/org/apache/ode
A jacob/src/test/java/org/apache/ode/jacob
A jacob/src/test/java/org/apache/ode/jacob/examples
A jacob/src/test/java/org/apache/ode/jacob/examples/cell
A jacob/src/test/java/org/apache/ode/jacob/examples/cell/JacobCellTest.java
A jacob/src/test/java/com
A jacob/src/test/java/com/fs
A jacob/src/test/java/com/fs/examples
A jacob/src/test/java/com/fs/jacob
A jacob/src/xdt
A jacob/src/xdt/org
A jacob/src/xdt/org/apache
A jacob/src/xdt/org/apache/ode
A jacob/src/xdt/org/apache/ode/jacob
A jacob/src/xdt/org/apache/ode/jacob/channel.xdt
A jacob/src/xdt/org/apache/ode/jacob/ChannelListener.xdt
A jacob/src/xdt/com
A jacob/src/xdt/com/fs
A jacob/src/xdt/com/fs/jacob
A jacob/src/main
A jacob/src/main/java
A jacob/src/main/java/org
A jacob/src/main/java/org/apache
A jacob/src/main/java/org/apache/ode
A jacob/src/main/java/org/apache/ode/jacob
A jacob/src/main/java/org/apache/ode/jacob/DebugInfo.java
A jacob/src/main/java/org/apache/ode/jacob/JacobRunnable.java
A jacob/src/main/java/org/apache/ode/jacob/JacobObject.java
A jacob/src/main/java/org/apache/ode/jacob/soup
A jacob/src/main/java/org/apache/ode/jacob/soup/ExecutionQueueObject.java
A jacob/src/main/java/org/apache/ode/jacob/soup/CommChannel.java
A jacob/src/main/java/org/apache/ode/jacob/soup/CommSend.java
A jacob/src/main/java/org/apache/ode/jacob/soup/CommGroup.java
A jacob/src/main/java/org/apache/ode/jacob/soup/ExecutionQueue.java
A jacob/src/main/java/org/apache/ode/jacob/soup/Continuation.java
A jacob/src/main/java/org/apache/ode/jacob/soup/Comm.java
A jacob/src/main/java/org/apache/ode/jacob/soup/CommRecv.java
A jacob/src/main/java/org/apache/ode/jacob/soup/ReplacementMap.java
A jacob/src/main/java/org/apache/ode/jacob/JacobThread.java
A jacob/src/main/java/org/apache/ode/jacob/IndexedObject.java
A jacob/src/main/java/org/apache/ode/jacob/Channel.java
A jacob/src/main/java/org/apache/ode/jacob/ValChannel.java
A jacob/src/main/java/org/apache/ode/jacob/SynchChannel.java
A jacob/src/main/java/org/apache/ode/jacob/ChannelListener.java
A jacob/src/main/java/org/apache/ode/jacob/classgen
A jacob/src/main/java/org/apache/ode/jacob/classgen/testtypes
A jacob/src/main/java/org/apache/ode/jacob/classgen/testtypes/BadInheritsBad.java
A jacob/src/main/java/org/apache/ode/jacob/classgen/testtypes/BadRetVal.java
A jacob/src/main/java/org/apache/ode/jacob/classgen/testtypes/Good.java
A jacob/src/main/java/org/apache/ode/jacob/classgen/testtypes/Good1.java
A jacob/src/main/java/org/apache/ode/jacob/classgen/testtypes/GoodInherit.java
A jacob/src/main/java/org/apache/ode/jacob/classgen/testtypes/BadThrows.java
A jacob/src/main/java/org/apache/ode/jacob/classgen/testtypes/GoodMultInherit.java
A jacob/src/main/java/org/apache/ode/jacob/ValChannelListener.java
A jacob/src/main/java/org/apache/ode/jacob/Val.java
A jacob/src/main/java/org/apache/ode/jacob/SynchChannelListener.java
A jacob/src/main/java/org/apache/ode/jacob/Synch.java
A jacob/src/main/java/org/apache/ode/jacob/vpu
A jacob/src/main/java/org/apache/ode/jacob/vpu/ChannelFactory.java
A jacob/src/main/java/org/apache/ode/jacob/vpu/JacobMessages.java
A jacob/src/main/java/org/apache/ode/jacob/vpu/JacobVPU.java
A jacob/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java
A jacob/src/main/java/org/apache/ode/jacob/vpu/Statistics.java
A jacob/src/main/java/org/apache/ode/jacob/examples
A jacob/src/main/java/org/apache/ode/jacob/examples/cell
A jacob/src/main/java/org/apache/ode/jacob/examples/cell/Cell.java
A jacob/src/main/java/org/apache/ode/jacob/examples/cell/CellChannel.java
A jacob/src/main/java/org/apache/ode/jacob/examples/cell/CELL_.java
A jacob/src/main/java/org/apache/ode/jacob/examples/cell/CellChannelListener.java
A jacob/src/main/java/org/apache/ode/jacob/examples/eratosthenes
A jacob/src/main/java/org/apache/ode/jacob/examples/eratosthenes/NaturalNumberStreamChannel.java
A jacob/src/main/java/org/apache/ode/jacob/examples/eratosthenes/NaturalNumberStreamChannelListener.java
A jacob/src/main/java/org/apache/ode/jacob/examples/eratosthenes/NaturalNumberStream.java
A jacob/src/main/java/org/apache/ode/jacob/examples/eratosthenes/Sieve.java
A jacob/src/main/java/org/apache/ode/jacob/examples/synch
A jacob/src/main/java/org/apache/ode/jacob/examples/synch/SynchPrintChannelListener.java
A jacob/src/main/java/org/apache/ode/jacob/examples/synch/SynchPrint.java
A jacob/src/main/java/org/apache/ode/jacob/examples/synch/SynchPrinter.java
A jacob/src/main/java/org/apache/ode/jacob/examples/synch/SynchPrintChannel.java
A jacob/src/main/java/org/apache/ode/jacob/examples/sequence
A jacob/src/main/java/org/apache/ode/jacob/examples/sequence/Sequence.java
A jacob/src/generated
A jacob/pom.xml
U .
At revision 1226
Parsing POMs
[ODE] $ /qa/tools/opt/jdk1.5.0_15/bin/java -Xms512M -Xmx1024M -XX:MaxPermSize=512M -cp /home/hudson/hudson_workspace/maven-agent.jar:/qa/tools/opt/maven-2.2.1/boot/classworlds-1.1.jar hudson.maven.agent.Main /qa/tools/opt/maven-2.2.1 /qa/services/hudson/hudson_release/WEB-INF/slave.jar /home/hudson/hudson_workspace/maven-interceptor.jar 38775 /home/hudson/hudson_workspace/maven2.1-interceptor.jar
/qa/tools/opt/jdk1.5.0_15/bin/java: /qa/tools/opt/jdk1.5.0_15/bin/java: cannot execute binary file
ERROR: Failed to launch Maven. Exit code = 126
13 years, 11 months
riftsaw SVN: r1240 - in branches/ODE/RiftSaw-ODE-trunk: distro/src/examples-jbi/maven2/helloworld2-osgi and 1 other directory.
by riftsaw-commits@lists.jboss.org
Author: jeff.yuchang
Date: 2011-01-16 19:44:07 -0500 (Sun, 16 Jan 2011)
New Revision: 1240
Modified:
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/pom.xml
branches/ODE/RiftSaw-ODE-trunk/pom.xml
Log:
*RIFTSAW-323, update build module, only publish the needed artifacts.
Modified: branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/pom.xml 2011-01-17 00:41:29 UTC (rev 1239)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/pom.xml 2011-01-17 00:44:07 UTC (rev 1240)
@@ -20,7 +20,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.ode.examples</groupId>
+ <groupId>org.jboss.soa.bpel.examples</groupId>
<artifactId>helloworld-bundle</artifactId>
<name>ODE :: Examples :: Hello World OSGi</name>
<version>1.3.5</version>
Modified: branches/ODE/RiftSaw-ODE-trunk/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/pom.xml 2011-01-17 00:41:29 UTC (rev 1239)
+++ branches/ODE/RiftSaw-ODE-trunk/pom.xml 2011-01-17 00:44:07 UTC (rev 1240)
@@ -181,13 +181,13 @@
<module>bpel-connector</module>
<module>bpel-test</module>
<module>axis2</module>
- <module>jbi</module>
+ <!--module>jbi</module>
<module>jbi-bundle</module>
<module>jbi-karaf</module>
<module>distro/src/examples-jbi/maven2/helloworld2-osgi</module>
<module>jbi-karaf-pmapi-httpbinding</module>
<module>axis2-war</module>
- <module>distro</module>
+ <module>distro</module-->
</modules>
<build>
13 years, 11 months
riftsaw SVN: r1239 - in branches/RiftSaw-ODE-2.2.x: distro/src/examples-jbi/maven2/helloworld2-osgi and 1 other directory.
by riftsaw-commits@lists.jboss.org
Author: jeff.yuchang
Date: 2011-01-16 19:41:29 -0500 (Sun, 16 Jan 2011)
New Revision: 1239
Modified:
branches/RiftSaw-ODE-2.2.x/distro/src/examples-jbi/maven2/helloworld2-osgi/pom.xml
branches/RiftSaw-ODE-2.2.x/pom.xml
Log:
*RIFTSAW-323, update build module, it will only publish the needed artifacts.
Modified: branches/RiftSaw-ODE-2.2.x/distro/src/examples-jbi/maven2/helloworld2-osgi/pom.xml
===================================================================
--- branches/RiftSaw-ODE-2.2.x/distro/src/examples-jbi/maven2/helloworld2-osgi/pom.xml 2011-01-16 13:57:59 UTC (rev 1238)
+++ branches/RiftSaw-ODE-2.2.x/distro/src/examples-jbi/maven2/helloworld2-osgi/pom.xml 2011-01-17 00:41:29 UTC (rev 1239)
@@ -20,7 +20,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.apache.ode.examples</groupId>
+ <groupId>org.jboss.soa.bpel.examples</groupId>
<artifactId>helloworld-bundle</artifactId>
<name>ODE :: Examples :: Hello World OSGi</name>
<version>1.3.5</version>
Modified: branches/RiftSaw-ODE-2.2.x/pom.xml
===================================================================
--- branches/RiftSaw-ODE-2.2.x/pom.xml 2011-01-16 13:57:59 UTC (rev 1238)
+++ branches/RiftSaw-ODE-2.2.x/pom.xml 2011-01-17 00:41:29 UTC (rev 1239)
@@ -181,13 +181,13 @@
<module>bpel-connector</module>
<module>bpel-test</module>
<module>axis2</module>
- <module>jbi</module>
+ <!--module>jbi</module>
<module>jbi-bundle</module>
<module>jbi-karaf</module>
<module>distro/src/examples-jbi/maven2/helloworld2-osgi</module>
<module>jbi-karaf-pmapi-httpbinding</module>
<module>axis2-war</module>
- <module>distro</module>
+ <module>distro</module-->
</modules>
<build>
13 years, 11 months
Build failed in Hudson: RiftSaw-ODE-2.2.x #9
by jboss-qa-internal@redhat.com
See <http://hudson.qa.jboss.com/hudson/job/RiftSaw-ODE-2.2.x/9/changes>
Changes:
[jeff.yuchang] *RIFTSAW-323, upgrade to ODE-1.3.5
------------------------------------------
Started by an SCM change
Building remotely on dev55-linux
Updating http://anonsvn.jboss.org/repos/riftsaw/branches/RiftSaw-ODE-2.2.x
U agents/pom.xml
U jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeTerminateCommand.java
U jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeListCommand.java
U jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeCommandsBase.java
A jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeResumeCommand.java
A jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeSuspendCommand.java
A jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeRecoverActivityCommand.java
U jbi-karaf-commands/src/main/resources/OSGI-INF/blueprint/ode-commands.xml
U axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
U axis2/src/main/java/org/apache/ode/axis2/service/DeploymentBrowser.java
U axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
U axis2/src/main/wsdl/pmapi.wsdl
U axis2/pom.xml
U jbi-karaf/src/main/resources/features.xml
U bpel-api/pom.xml
U bpel-obj/pom.xml
U pom.xml
U bpel-ql/pom.xml
U jca-ra/pom.xml
U tools/pom.xml
U jca-server/pom.xml
U dao-hibernate/pom.xml
A jbi-karaf-pmapi-httpbinding
A jbi-karaf-pmapi-httpbinding/src
A jbi-karaf-pmapi-httpbinding/src/main
A jbi-karaf-pmapi-httpbinding/src/main/resources
A jbi-karaf-pmapi-httpbinding/src/main/resources/META-INF
A jbi-karaf-pmapi-httpbinding/src/main/resources/META-INF/spring
A jbi-karaf-pmapi-httpbinding/src/main/resources/META-INF/spring/beans.xml
A jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl
A jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/ode
A jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/ode/pmapi
A jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/ode/pmapi/pmapi.xsd
A jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/ode/pmapi/pmapi.wsdl
A jbi-karaf-pmapi-httpbinding/pom.xml
U dao-jpa-ojpa/.classpath
U bpel-schemas/pom.xml
A bpel-runtime/src/test/java/org/apache/ode/bpel/elang/URIResolverTest.java
U bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/XsdTypesTest.java
A bpel-runtime/src/test/resources/xslt
A bpel-runtime/src/test/resources/xslt/test.xml
U bpel-runtime/src/main/java/org/apache/ode/bpel/engine/DocumentInfoGenerator.java
U bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
U bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
U bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java
U bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java
U bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpFunctionResolver.java
U bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpVariableResolver.java
U bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java
A bpel-runtime/src/main/java/org/apache/ode/bpel/elang/XslRuntimeUriResolver.java
U bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xquery10/runtime/XQuery10ExpressionRuntime.java
U bpel-runtime/pom.xml
U dao-jpa-ojpa-derby/pom.xml
U scheduler-simple/pom.xml
U bpel-epr/src/main/java/org/apache/ode/bpel/epr/URLEndpoint.java
U bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSAEndpoint.java
U bpel-epr/pom.xml
U bpel-scripts/pom.xml
U dao-jpa-hibernate/.classpath
U dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ProcessInstanceDAOImpl.java
U dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ProcessManagementDAOImpl.java
U dao-jpa/pom.xml
U bpel-dao/pom.xml
U bpel-api-jca/pom.xml
U dao-hibernate-db/pom.xml
U RELEASE_NOTES
U bpel-compiler/src/test/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImplTest.java
A bpel-compiler/src/test/java/org/apache/ode/bpel/compiler_2_0/XslTest.java
A bpel-compiler/src/test/resources/xslt
A bpel-compiler/src/test/resources/xslt/xsl-iso.bpel
A bpel-compiler/src/test/resources/xslt/test-iso.xslt
A bpel-compiler/src/test/resources/xslt/test1.wsdl
A bpel-compiler/src/test/resources/xslt/xsl-utf8.bpel
A bpel-compiler/src/test/resources/xslt/test-utf8.xslt
U bpel-compiler/src/main/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImpl.java
U bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/wsdl/XMLSchemaTypeSerializer.java
U bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
U bpel-compiler/pom.xml
U bpel-test/src/test/java/org/apache/ode/test/BasicActivities20Test.java
A bpel-test/src/test/resources/bpel/2.0/TestIfBoolean
A bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/TestIf.bpel
A bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/TestIfBoolean.wsdl
A bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/test.properties
A bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/deploy.xml
U bpel-test/pom.xml
U utils/src/main/java/org/apache/ode/utils/xsd/XSUtils.java
U utils/pom.xml
U jbi/src/main/java/org/apache/ode/jbi/OdeContext.java
U jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java
U jbi/pom.xml
A distro/license/yui-LICENSE
A distro/license/bubbling-LICENSE
A distro/src/examples-jbi/maven2/helloworld2-osgi
A distro/src/examples-jbi/maven2/helloworld2-osgi/osgi.bnd
A distro/src/examples-jbi/maven2/helloworld2-osgi/src
A distro/src/examples-jbi/maven2/helloworld2-osgi/src/test
A distro/src/examples-jbi/maven2/helloworld2-osgi/src/test/resources
A distro/src/examples-jbi/maven2/helloworld2-osgi/src/test/resources/helloworld-soapui-project.xml
A distro/src/examples-jbi/maven2/helloworld2-osgi/src/main
A distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources
A distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/META-INF
A distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/META-INF/spring
A distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/META-INF/spring/beans.xml
A distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/HelloWorld2.wsdl
A distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/deploy.xml
A distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/HelloWorld2.bpel
A distro/src/examples-jbi/maven2/helloworld2-osgi/pom.xml
U distro/src/examples-jbi/maven2/ping-pong-osgi/osgi.bnd
U distro/src/examples-jbi/maven2/ping-pong-osgi/src/main/resources/META-INF/spring/xbean.xml
U distro/src/examples-jbi/maven2/ping-pong-osgi/src/main/resources/Ping.wsdl
U distro/src/examples-jbi/maven2/ping-pong-osgi/pom.xml
U distro/pom.xml
U bpel-connector/pom.xml
A jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer
A jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtender.java
A jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtenderThreadFactory.java
A jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeDeployedBundle.java
A jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtenderImpl.java
U jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/ServiceUnitActivator.java
U jbi-bundle/src/main/resources/META-INF/spring/ode-jbi.xml
U jbi-bundle/pom.xml
U bpel-store/src/main/java/org/apache/ode/store/DeploymentUnitDir.java
U bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java
U bpel-store/pom.xml
U axis2-war/src/test/java/org/apache/ode/axis2/Axis2TestBase.java
U axis2-war/src/main/assembly/bin.xml
U axis2-war/src/main/webapp/fileupload.jsp
U axis2-war/src/main/webapp/deployment.html
U axis2-war/src/main/webapp/processes.html
U axis2-war/src/main/webapp/index.html
U axis2-war/src/main/webapp/instances.html
U axis2-war/src/main/webapp/js/ODE.js
U axis2-war/pom.xml
U jacob/pom.xml
At revision 1236
Parsing POMs
ERROR: Failed to parse POMs
hudson.util.IOException2: remote file operation failed: <http://hudson.qa.jboss.com/hudson/job/RiftSaw-ODE-2.2.x/ws/ODE> at hudson.remoting.Channel@17473c7:dev55-linux
at hudson.FilePath.act(FilePath.java:751)
at hudson.FilePath.act(FilePath.java:735)
at hudson.maven.MavenModuleSetBuild$RunnerImpl.parsePoms(MavenModuleSetBuild.java:546)
at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:432)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
at hudson.model.Run.run(Run.java:1257)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:318)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:129)
Caused by: hudson.remoting.ProxyException: hudson.maven.MavenModuleSetBuild$MavenExecutionException: org.apache.maven.project.ProjectBuildingException: Cannot find parent: org.apache.ode:ode for project: null:ode-jbi-karaf-pmapi-httpbinding:bundle:null for project null:ode-jbi-karaf-pmapi-httpbinding:bundle:null
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:903)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:806)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1901)
at hudson.remoting.UserRequest.perform(UserRequest.java:114)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:270)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: hudson.remoting.ProxyException: org.apache.maven.project.ProjectBuildingException: Cannot find parent: org.apache.ode:ode for project: null:ode-jbi-karaf-pmapi-httpbinding:bundle:null for project null:ode-jbi-karaf-pmapi-httpbinding:bundle:null
at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1370)
at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:821)
at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:506)
at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:215)
at hudson.maven.MavenEmbedder.readProject(MavenEmbedder.java:332)
at hudson.maven.MavenUtil.resolveModules(MavenUtil.java:226)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:885)
... 11 more
Caused by: hudson.remoting.ProxyException: org.apache.maven.project.ProjectBuildingException: POM 'org.apache.ode:ode' not found in repository: Unable to download the artifact from any repository
org.apache.ode:ode:pom:1.3.5
from the specified remote repositories:
jboss-deprecated (https://repository.jboss.org/nexus/content/repositories/deprecated/),
snapshots.jboss.org (http://snapshots.jboss.org/maven2),
central (http://repo1.maven.org/maven2),
jboss-developer-repository-group (https://repository.jboss.org/nexus/content/groups/developer/),
repository.jboss.org (http://repository.jboss.org/maven2)
for project org.apache.ode:ode
at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:603)
at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1366)
... 17 more
Caused by: hudson.remoting.ProxyException: org.apache.maven.artifact.resolver.ArtifactNotFoundException: Unable to download the artifact from any repository
org.apache.ode:ode:pom:1.3.5
from the specified remote repositories:
jboss-deprecated (https://repository.jboss.org/nexus/content/repositories/deprecated/),
snapshots.jboss.org (http://snapshots.jboss.org/maven2),
central (http://repo1.maven.org/maven2),
jboss-developer-repository-group (https://repository.jboss.org/nexus/content/groups/developer/),
repository.jboss.org (http://repository.jboss.org/maven2)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:212)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:74)
at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:556)
... 18 more
Caused by: hudson.remoting.ProxyException: org.apache.maven.wagon.ResourceDoesNotExistException: Unable to download the artifact from any repository
at org.apache.maven.artifact.manager.DefaultWagonManager.getArtifact(DefaultWagonManager.java:331)
at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:200)
... 20 more
13 years, 11 months
riftsaw SVN: r1238 - in branches/ODE/RiftSaw-ODE-trunk: jbi-karaf-pmapi-httpbinding and 1 other directory.
by riftsaw-commits@lists.jboss.org
Author: jeff.yuchang
Date: 2011-01-16 08:57:59 -0500 (Sun, 16 Jan 2011)
New Revision: 1238
Modified:
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/pom.xml
branches/ODE/RiftSaw-ODE-trunk/version.txt
Log:
*RIFTSAW-323, update ODE version and revision NO. Also update the httpbinding module parent groupId.
Modified: branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/pom.xml 2011-01-16 13:51:31 UTC (rev 1237)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/pom.xml 2011-01-16 13:57:59 UTC (rev 1238)
@@ -18,9 +18,9 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache.ode</groupId>
+ <groupId>org.jboss.soa.bpel</groupId>
<artifactId>ode</artifactId>
- <version>1.3.5</version>
+ <version>2.2.0-SNAPSHOT</version>
</parent>
<artifactId>ode-jbi-karaf-pmapi-httpbinding</artifactId>
<packaging>bundle</packaging>
Modified: branches/ODE/RiftSaw-ODE-trunk/version.txt
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/version.txt 2011-01-16 13:51:31 UTC (rev 1237)
+++ branches/ODE/RiftSaw-ODE-trunk/version.txt 2011-01-16 13:57:59 UTC (rev 1238)
@@ -1,4 +1,4 @@
#This is the file for keep track of Apache ODE version/tag that we based on.
-Tag: http://svn.apache.org/repos/asf/ode/tags/APACHE_ODE_1.3.4/
-Revision: 992990
+Tag: http://svn.apache.org/repos/asf/ode/branch/ode-1.3.5.x/
+Revision: 1059558
Note: we've added jpa refactoring work on this.
13 years, 11 months
riftsaw SVN: r1237 - in branches/RiftSaw-ODE-2.2.x: jbi-karaf-pmapi-httpbinding and 1 other directory.
by riftsaw-commits@lists.jboss.org
Author: jeff.yuchang
Date: 2011-01-16 08:51:31 -0500 (Sun, 16 Jan 2011)
New Revision: 1237
Modified:
branches/RiftSaw-ODE-2.2.x/jbi-karaf-pmapi-httpbinding/pom.xml
branches/RiftSaw-ODE-2.2.x/version.txt
Log:
*RIFTSAW-323, update ODE version that we based on, also correct the httpbinding module pom file.
Modified: branches/RiftSaw-ODE-2.2.x/jbi-karaf-pmapi-httpbinding/pom.xml
===================================================================
--- branches/RiftSaw-ODE-2.2.x/jbi-karaf-pmapi-httpbinding/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
+++ branches/RiftSaw-ODE-2.2.x/jbi-karaf-pmapi-httpbinding/pom.xml 2011-01-16 13:51:31 UTC (rev 1237)
@@ -18,9 +18,9 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.apache.ode</groupId>
+ <groupId>org.jboss.soa.bpel</groupId>
<artifactId>ode</artifactId>
- <version>1.3.5</version>
+ <version>2.2.0-SNAPSHOT</version>
</parent>
<artifactId>ode-jbi-karaf-pmapi-httpbinding</artifactId>
<packaging>bundle</packaging>
Modified: branches/RiftSaw-ODE-2.2.x/version.txt
===================================================================
--- branches/RiftSaw-ODE-2.2.x/version.txt 2011-01-16 12:18:37 UTC (rev 1236)
+++ branches/RiftSaw-ODE-2.2.x/version.txt 2011-01-16 13:51:31 UTC (rev 1237)
@@ -1,4 +1,4 @@
#This is the file for keep track of Apache ODE version/tag that we based on.
-Tag: http://svn.apache.org/repos/asf/ode/tags/APACHE_ODE_1.3.4/
-Revision: 992990
+Tag: http://svn.apache.org/repos/asf/ode/branch/ode-1.3.5.x/
+Revision: 1059558
Note: we've added jpa refactoring work on this.
13 years, 11 months
riftsaw SVN: r1236 - in branches/ODE/RiftSaw-ODE-trunk: agents and 89 other directories.
by riftsaw-commits@lists.jboss.org
Author: jeff.yuchang
Date: 2011-01-16 07:18:37 -0500 (Sun, 16 Jan 2011)
New Revision: 1236
Added:
branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/java/org/apache/ode/bpel/compiler_2_0/XslTest.java
branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/
branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/test-iso.xslt
branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/test-utf8.xslt
branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/test1.wsdl
branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/xsl-iso.bpel
branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/xsl-utf8.bpel
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/XslRuntimeUriResolver.java
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/URIResolverTest.java
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/test/resources/xslt/
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/test/resources/xslt/test.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/
branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/TestIf.bpel
branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/TestIfBoolean.wsdl
branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/deploy.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/test.properties
branches/ODE/RiftSaw-ODE-trunk/distro/license/bubbling-LICENSE
branches/ODE/RiftSaw-ODE-trunk/distro/license/yui-LICENSE
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/osgi.bnd
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/pom.xml
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/HelloWorld2.bpel
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/HelloWorld2.wsdl
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/META-INF/
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/META-INF/spring/
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/META-INF/spring/beans.xml
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/deploy.xml
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/test/
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/test/resources/
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/test/resources/helloworld-soapui-project.xml
branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/
branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeDeployedBundle.java
branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtender.java
branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtenderImpl.java
branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtenderThreadFactory.java
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeRecoverActivityCommand.java
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeResumeCommand.java
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeSuspendCommand.java
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/pom.xml
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/META-INF/
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/META-INF/spring/
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/META-INF/spring/beans.xml
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/ode/
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/ode/pmapi/
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/ode/pmapi/pmapi.wsdl
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/ode/pmapi/pmapi.xsd
Modified:
branches/ODE/RiftSaw-ODE-trunk/RELEASE_NOTES
branches/ODE/RiftSaw-ODE-trunk/agents/pom.xml
branches/ODE/RiftSaw-ODE-trunk/axis2-war/pom.xml
branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/assembly/bin.xml
branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/deployment.html
branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/fileupload.jsp
branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/index.html
branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/instances.html
branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/js/ODE.js
branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/processes.html
branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/test/java/org/apache/ode/axis2/Axis2TestBase.java
branches/ODE/RiftSaw-ODE-trunk/axis2/pom.xml
branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentBrowser.java
branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/wsdl/pmapi.wsdl
branches/ODE/RiftSaw-ODE-trunk/bpel-api-jca/pom.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-api/pom.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/pom.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/wsdl/XMLSchemaTypeSerializer.java
branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImpl.java
branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImplTest.java
branches/ODE/RiftSaw-ODE-trunk/bpel-connector/pom.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-dao/pom.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-epr/pom.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/URLEndpoint.java
branches/ODE/RiftSaw-ODE-trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSAEndpoint.java
branches/ODE/RiftSaw-ODE-trunk/bpel-obj/pom.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-ql/pom.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/pom.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpFunctionResolver.java
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpVariableResolver.java
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xquery10/runtime/XQuery10ExpressionRuntime.java
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/DocumentInfoGenerator.java
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java
branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/XsdTypesTest.java
branches/ODE/RiftSaw-ODE-trunk/bpel-schemas/pom.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-scripts/pom.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-store/pom.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-store/src/main/java/org/apache/ode/store/DeploymentUnitDir.java
branches/ODE/RiftSaw-ODE-trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java
branches/ODE/RiftSaw-ODE-trunk/bpel-test/pom.xml
branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/java/org/apache/ode/test/BasicActivities20Test.java
branches/ODE/RiftSaw-ODE-trunk/dao-hibernate-db/pom.xml
branches/ODE/RiftSaw-ODE-trunk/dao-hibernate/pom.xml
branches/ODE/RiftSaw-ODE-trunk/dao-jpa-hibernate/.classpath
branches/ODE/RiftSaw-ODE-trunk/dao-jpa-ojpa-derby/pom.xml
branches/ODE/RiftSaw-ODE-trunk/dao-jpa-ojpa/.classpath
branches/ODE/RiftSaw-ODE-trunk/dao-jpa/pom.xml
branches/ODE/RiftSaw-ODE-trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ProcessInstanceDAOImpl.java
branches/ODE/RiftSaw-ODE-trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ProcessManagementDAOImpl.java
branches/ODE/RiftSaw-ODE-trunk/distro/pom.xml
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/osgi.bnd
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/pom.xml
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/src/main/resources/META-INF/spring/xbean.xml
branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/src/main/resources/Ping.wsdl
branches/ODE/RiftSaw-ODE-trunk/jacob/pom.xml
branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/pom.xml
branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/ServiceUnitActivator.java
branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/resources/META-INF/spring/ode-jbi.xml
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeCommandsBase.java
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeListCommand.java
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeTerminateCommand.java
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/resources/OSGI-INF/blueprint/ode-commands.xml
branches/ODE/RiftSaw-ODE-trunk/jbi-karaf/src/main/resources/features.xml
branches/ODE/RiftSaw-ODE-trunk/jbi/pom.xml
branches/ODE/RiftSaw-ODE-trunk/jbi/src/main/java/org/apache/ode/jbi/OdeContext.java
branches/ODE/RiftSaw-ODE-trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java
branches/ODE/RiftSaw-ODE-trunk/jca-ra/pom.xml
branches/ODE/RiftSaw-ODE-trunk/jca-server/pom.xml
branches/ODE/RiftSaw-ODE-trunk/pom.xml
branches/ODE/RiftSaw-ODE-trunk/scheduler-simple/pom.xml
branches/ODE/RiftSaw-ODE-trunk/tools/pom.xml
branches/ODE/RiftSaw-ODE-trunk/utils/pom.xml
branches/ODE/RiftSaw-ODE-trunk/utils/src/main/java/org/apache/ode/utils/xsd/XSUtils.java
Log:
*RIFTSAW-323, upgrade to ODE-1.3.5
Modified: branches/ODE/RiftSaw-ODE-trunk/RELEASE_NOTES
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/RELEASE_NOTES 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/RELEASE_NOTES 2011-01-16 12:18:37 UTC (rev 1236)
@@ -2,25 +2,56 @@
Apache ODE Release Notes
========================
-Apache ODE 1.3.4 includes about 100 bug fixes and new features. It's
-also the most stable version of ODE released so far.
+Apache ODE 1.3.5 includes about 30 bug fixes and performance improvements.
-Apache ODE 1.3.4 requires Java 1.5.x or higher. The WAR distribution can
+Apache ODE 1.3.5 requires Java 1.5.x or higher. The WAR distribution can
run in most J2EE servlet container. The JBI distribution should be able
-to run in any JBI container but has only been tested with ServiceMix 3.2.1
-and latest ServiceMix 4 (OSGi bundle) so far. See the BUILDING file if you
+to run in any JBI container but has only been tested with ServiceMix 3.x
+and latest ServiceMix 4.x (OSGi bundle) so far. See the BUILDING file if you
want to build your own distribution from the source release.
-New Features:
-------------
- * [ODE-483] - Instance replayer
- * [ODE-776] - Build support for both Buildr and Maven 2/3
- * [ODE-778] - Add a possibility to deploy processes as OSGi bundles
- * [ODE-814] - Add spring confgurable process properties
+The performance improvements affect XPath 2.0 processing in assign activities
+or transition conditions and makes it up to 10 times faster than ODE 1.3.4.
Changes:
-------
-See our Jira for more information:
+** Sub-task
+ * [ODE-739] - Add recoverActivity command
-https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310270&styleName=Html&version=12314168
+** Bug
+ * [ODE-155] - Examples: Exceptions for SOAP calls after retrieving WSDL
+ * [ODE-374] - MMC is quite noisy when it loses the connection to ODE
+ * [ODE-472] - utf-8 encoding is handled incorrectly within xslt stylesheets
+ * [ODE-625] - Deployment Poller Crashes when trying to deploy BPEL File with errors
+ * [ODE-661] - processes and instances do not appear to show up on the console in the web container
+ * [ODE-678] - org.apache.ode.bpel.memdao.ProcessDaoImpl cleans instances which are already cleaned and the instances are nulls
+ * [ODE-699] - Exceptions when instance data cleanup is enabled
+ * [ODE-733] - Patch to fix "Error occurred during getting processes or no processes"
+ * [ODE-737] - Patch for NullPointerException in ProcessStoreImpl
+ * [ODE-763] - boolean variable false() was judged as true()
+ * [ODE-780] - examples-ode-ping-pong doesn't start correctly
+ * [ODE-828] - BPEL process deployment problem in ODE
+ * [ODE-856] - BPEL/WSDL files do not show up in management console (deployment tab)
+ * [ODE-865] - getVariableInfo() returns invalid response
+ * [ODE-876] - ODE 1.3.4 is 10 times slower than ODE 1.3.3
+ * [ODE-878] - Processes are not recompiled if .deploy is deleted and .bpel has changed
+ * [ODE-885] - whitespaces in dynamic EPR cause AxisFault: Transport out has not been set
+ * [ODE-887] - Number of instances is always shown as 0 at the start page
+ * [ODE-891] - Compiler cannot deal with unicode characters in inline XSD in WSDLs
+ * [ODE-892] - routing fails as terminated instance's data was not cleaned up.
+ * [ODE-900] - xsd boolean element is handled as xsd string in if conditions.
+ * [ODE-901] - Cannot Deploy More than One Process on Servicemix 4 Using OSGi Bundling
+
+** Improvement
+ * [ODE-43] - Provide service description for ServiceEndpoints
+ * [ODE-881] - SchemaCaptureTest fails locally with spaces in path
+ * [ODE-904] - document() function in XSL scripts can not resolve remote documents
+ * [ODE-905] - Example for PMAPI access over JBI/http
+ * [ODE-906] - Example for HelloWorld on OSGi
+
+** Task
+ * [ODE-903] - Refactor jbi-karaf-commands to make them work with SMX >= 4.3
+
+ See our Jira for more information:
+ * https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310270...
Modified: branches/ODE/RiftSaw-ODE-trunk/agents/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/agents/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/agents/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-agents</artifactId>
<name>ODE :: Agents</name>
Modified: branches/ODE/RiftSaw-ODE-trunk/axis2/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/axis2/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/axis2/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-axis2</artifactId>
Modified: branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -385,6 +385,7 @@
try {
__log.debug("shutdown BpelConnector");
_connector.shutdown();
+ _connector = null;
} catch (Throwable t) {
__log.error("Unable to cleanup temp files.", t);
}
@@ -393,6 +394,7 @@
__log.debug("shutting down HTTP connection manager.");
try {
httpConnectionManager.shutdown();
+ httpConnectionManager = null;
} catch(Throwable t) {
__log.error("Unable to shut down HTTP connection manager.", t);
}
@@ -401,6 +403,7 @@
__log.debug("shutting down Idle Connection Timeout Thread.");
try {
idleConnectionTimeoutThread.shutdown();
+ idleConnectionTimeoutThread = null;
} catch(Throwable t) {
__log.error("Unable to shut down Idle Connection Timeout Thread.", t);
}
@@ -412,6 +415,8 @@
__log.error("Unable to cleanup temp files.", t);
}
+ _executorService.shutdownNow();
+ _executorService = null;
__log.info(__msgs.msgOdeShutdownCompleted());
} finally {
Modified: branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentBrowser.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentBrowser.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentBrowser.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -93,8 +93,9 @@
}
out.write("<p><a href=\"" + url + "\">" + serviceName + "</a></p>");
-
- out.write("<ul><li>Endpoint: " + (root + "/processes/" + serviceName) + "</li>");
+ String axis2wsdl = root + "/processes/" + serviceName + "?wsdl";
+ out.write("<ul><li>Axis2 WSDL: <a href=\"" + axis2wsdl + "\">" + axis2wsdl + "</a></li>");
+ out.write("<li>Endpoint: " + (root + "/processes/" + serviceName) + "</li>");
Iterator iter = service.getOperations();
ArrayList<String> ops = new ArrayList<String>();
while (iter.hasNext()) ops.add(((AxisOperation)iter.next()).getName().getLocalPart());
@@ -213,11 +214,11 @@
out.write("<process><pid>"+pid+"</pid>");
for (final File file : files) {
if (file.getPath().endsWith(".wsdl")) {
- String relativePath = file.getPath().substring(_store.getDeployDir().getCanonicalPath().length() + 1);
+ String relativePath = file.getPath().substring(_store.getDeployDir().getCanonicalPath().length() + 1).replace(File.separatorChar, '/');
out.write("<wsdl>"+ relativePath + "</wsdl>");
}
if (file.getPath().endsWith(".bpel")) {
- String relativePath = file.getPath().substring(_store.getDeployDir().getCanonicalPath().length() + 1);
+ String relativePath = file.getPath().substring(_store.getDeployDir().getCanonicalPath().length() + 1).replace(File.separatorChar, '/');
out.write("<bpel>"+ relativePath + "</bpel>");
}
Modified: branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -244,6 +244,9 @@
} else if (operation.equals("listProcesses")) {
OMElement namePart = messageContext.getEnvelope().getBody().getFirstElement().getFirstElement();
List<QName> processIds = _store.listProcesses(namePart.getText());
+ if (processIds == null) {
+ throw new OdeFault("Could not find process package: " + namePart.getText());
+ }
OMElement response = factory.createOMElement("processIds", null);
for (QName qname : processIds) {
OMElement nameElmt = factory.createOMElement("id", _deployapi);
Modified: branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/wsdl/pmapi.wsdl
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/wsdl/pmapi.wsdl 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/axis2/src/main/wsdl/pmapi.wsdl 2011-01-16 12:18:37 UTC (rev 1236)
@@ -170,7 +170,7 @@
<part name="varName" type="xsd:string"/>
</message>
<message name="getVariableInfoOutput">
- <part name="scope-info" type="typ:tVariableInfo"/>
+ <part name="variable-info" type="typ:tVariableInfo"/>
</message>
<message name="listEventsInput">
<part name="instanceFilter" type="xsd:string"/>
Modified: branches/ODE/RiftSaw-ODE-trunk/axis2-war/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/axis2-war/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/axis2-war/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-axis2-war</artifactId>
Modified: branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/assembly/bin.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/assembly/bin.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/assembly/bin.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -26,6 +26,10 @@
</formats>
<fileSets>
+ <fileSet>
+ <directory>${project.build.directory}/axis2-webapp</directory>
+ <outputDirectory>/</outputDirectory>
+ </fileSet>
<fileSet>
<directory>src/main/webapp</directory>
@@ -177,7 +181,6 @@
<include>org.apache.axis2:addressing:mar</include>
</includes>
</dependencySet>
-
</dependencySets>
</assembly>
Modified: branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/deployment.html
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/deployment.html 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/deployment.html 2011-01-16 12:18:37 UTC (rev 1236)
@@ -105,6 +105,9 @@
<li class="current">
<a href="#">Deployment</a>
</li>
+ <li>
+ <a href="deployment/" target="_blank">Deployment Browser</a>
+ </li>
</ul>
</div>
<div id="wrapper">
Modified: branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/fileupload.jsp
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/fileupload.jsp 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/fileupload.jsp 2011-01-16 12:18:37 UTC (rev 1236)
@@ -110,7 +110,7 @@
out.println("Package deployement failed!");
}
} catch (AxisFault axisFault) {
- out.println("Axis2 Fault Occurred while Sending the request!");
+ out.println(axisFault.getMessage());
}
}else{
out.println("No package Name specified!");
Modified: branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/index.html
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/index.html 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/index.html 2011-01-16 12:18:37 UTC (rev 1236)
@@ -176,6 +176,9 @@
<li>
<a href="deployment.html">Deployment</a>
</li>
+ <li>
+ <a href="deployment/" target="_blank">Deployment Browser</a>
+ </li>
</ul>
</div>
<div id="wrapper">
Modified: branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/instances.html
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/instances.html 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/instances.html 2011-01-16 12:18:37 UTC (rev 1236)
@@ -79,6 +79,9 @@
<li>
<a href="deployment.html">Deployment</a>
</li>
+ <li>
+ <a href="deployment/" target="_blank">Deployment Browser</a>
+ </li>
</ul>
</div>
<div id="wrapper">
Modified: branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/js/ODE.js
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/js/ODE.js 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/js/ODE.js 2011-01-16 12:18:37 UTC (rev 1236)
@@ -27,6 +27,12 @@
}
var baseDirectoryURL = baseURL + baseDirectoryName;
+debug = function (log_txt) {
+ if (window.console != undefined) {
+ console.log(log_txt);
+ }
+}
+
var org;
if (!org) {
org = {};
@@ -320,12 +326,8 @@
return listAllProcessesRes;
}
catch (e) {
- if (typeof e == "string") {
- alert("Exception Occurred " + e.toString());
- }
- else {
- alert("Exception Occurred!" + e);
- }
+ // probably a connection error. We don't want to spam the user, so we're just logging it if a console is available
+ debug("Exception in " + arguments.callee.toString().match(/function\s+([^(]+)/)[1] + ": " + e.toString());
return null;
}
}
@@ -353,6 +355,10 @@
}
function processProcessInfoList(listAllProcessesRes){
+ if (listAllProcessesRes == null) {
+ return 0;
+ }
+
var returnInfoArray = [];
var processInfoList = org.apache.ode.DOMHelper.getElementsByTagName(
processInfoTagName,
@@ -372,10 +378,10 @@
var terminatedInstances = 0;
var scopeEle = processInfoList[i];
-
+
var pidEle = org.apache.ode.DOMHelper.getElementsByTagName("pid", processInfoNS, processInfoNSPrefix, scopeEle)[0];
var pid = org.apache.ode.DOMHelper.getText(pidEle);
-
+
var versionEle = org.apache.ode.DOMHelper.getElementsByTagName('version', processInfoNS, processInfoNSPrefix, scopeEle)[0];
var version = org.apache.ode.DOMHelper.getText(versionEle);
@@ -399,10 +405,11 @@
var urlOfName = pid.substr(++startPos, (endPos - 2));
var instanceSummaryEle = org.apache.ode.DOMHelper.getElementsByTagName("instance-summary", processInfoNS, processInfoNSPrefix, scopeEle)[0];
-
+
for(var m = instanceSummaryEle.firstChild; m != null; m = m.nextSibling){
var state = m.getAttribute("state");
var count = m.getAttribute("count");
+
if (state == 'ACTIVE') {
activeInstances = parseInt(count);
}else if (state == 'COMPLETED') {
@@ -552,7 +559,7 @@
}
var stat;
var processes = processProcessInfoList(loadProcessInfo());
- var numOfProcesses = processes.length;
+ var numOfProcesses = (processes == 0) ? 0 : processes.length;
var _ter = 0;
var _act = 0;
var _error = 0;
@@ -821,12 +828,9 @@
return responseDoc;
}
catch (e) {
- if (typeof(e) == "string") {
- org.apache.ode.Widgets.alert("Exception occured in loadInstanceInfo():\n" + e.toString());
- }
- else {
- org.apache.ode.Widgets.alert("Exception occurred in loadInstanceInfo()!");
- }
+ // probably a connection error. We don't want to spam the user, so we're just logging it if a console is available
+ debug("Exception in " + arguments.callee.toString().match(/function\s+([^(]+)/)[1] + ": " + e.toString());
+ return null;
}
}
@@ -844,6 +848,9 @@
}
function processInstanceInfo(instanceInfoDoc){
+ if (instanceInfoDoc == null) {
+ return 0;
+ }
var returnInstanceArray = [];
var instanceInfoList = org.apache.ode.DOMHelper.getElementsByTagName(
instanceInfoTagName,
@@ -1158,17 +1165,18 @@
var response = DeploymentService.listDeployedPackages();
return response;
}catch(e){
- if(typeof e == 'string'){
- org.apache.ode.Widgets.alert("Exception occured:\n" + e.toString());
- }else{
- org.apache.ode.Widgets.alert("Exception occurred in loadDeployedBundles.");
- }
+ // probably a connection error. We don't want to spam the user, so we're just logging it if a console is available
+ debug("Exception in " + arguments.callee.toString().match(/function\s+([^(]+)/)[1] + ": " + e.toString());
+ return null;
}
}
function getDeployedPackages(){
var packageNames = [];
var response = loadDeployedPackages();
+ if (response == null) {
+ return 0;
+ }
var names = org.apache.ode.DOMHelper.getElementsByTagName('name',"http://www.apache.org/ode/deployapi","deployapi",response);
//var names = response.getElementsByTagName('name');
if (names.length != 0) {
@@ -1186,7 +1194,7 @@
try{
var processes = [];
var response = DeploymentService.listProcesses(packageName);
- var ids = response.getElementsByTagName('id');
+ var ids = org.apache.ode.DOMHelper.getElementsByTagName('id',"http://www.apache.org/ode/deployapi","deployapi",response);
if(ids.length != 0){
for(var i =0; i < ids.length; i++){
processes[i] = org.apache.ode.DOMHelper.getText(ids[i]);
@@ -1197,11 +1205,9 @@
}
}catch(e){
- if(typeof e == 'string'){
- org.apache.ode.Widgets.alert("Exception occured:\n" + e.toString());
- }else{
- org.apache.ode.Widgets.alert("Exception occurred in getProcesses.");
- }
+ // probably a connection error. We don't want to spam the user, so we're just logging it if a console is available
+ debug("Exception in " + arguments.callee.toString().match(/function\s+([^(]+)/)[1] + ": " + e.toString());
+ return 0;
}
}
function getPackageContents(packageName){
@@ -1244,7 +1250,7 @@
var processes = getProcesses(deployedPacks[i]);
if(processes != 0){
for(var j = 0; j < processes.length; j++){
- contentHtml += processes[j]+', ';
+ contentHtml += processes[j] + (j+1 < processes.length ? ', ' : '');
}
}else{
contentHtml += 'Error occurred during getting processes or no processes.';
@@ -1255,7 +1261,7 @@
for(var k =0; k < content.length; k++){
var strC = content[k];
var index = strC.indexOf('/');
- contentHtml += strC.substr(index+1) + ", ";
+ contentHtml += strC.substr(index+1) + (k+1 < content.length ? ", " : "");
}
}else{
contentHtml += 'Error occurred during getting package Content or no content.'
Modified: branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/processes.html
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/processes.html 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/main/webapp/processes.html 2011-01-16 12:18:37 UTC (rev 1236)
@@ -76,6 +76,9 @@
<li>
<a href="deployment.html">Deployment</a>
</li>
+ <li>
+ <a href="deployment/" target="_blank">Deployment Browser</a>
+ </li>
</ul>
</div>
<div id="wrapper">
Modified: branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/test/java/org/apache/ode/axis2/Axis2TestBase.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/test/java/org/apache/ode/axis2/Axis2TestBase.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/axis2-war/src/test/java/org/apache/ode/axis2/Axis2TestBase.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -225,6 +225,8 @@
} else {
System.clearProperty("ode.persistence");
}
+
+ server = null;
}
protected class ODEAxis2Server extends AxisServer {
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-api/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-api/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-api/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-bpel-api</artifactId>
<name>ODE :: APIs</name>
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-api-jca/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-api-jca/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-api-jca/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-bpel-api-jca</artifactId>
<name>ODE :: JCA Connector</name>
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-bpel-compiler</artifactId>
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/BpelCompiler.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -110,6 +110,7 @@
import org.apache.ode.bpel.o.OVarType;
import org.apache.ode.bpel.o.OXsdTypeVarType;
import org.apache.ode.bpel.o.OXslSheet;
+import org.apache.ode.utils.DOMUtils;
import org.apache.ode.utils.GUID;
import org.apache.ode.utils.NSContext;
import org.apache.ode.utils.Namespaces;
@@ -1611,8 +1612,10 @@
return null;
try {
- return new String(StreamUtils.read(is));
- } catch (IOException e) {
+ // verify that sheet is well-formed and preserve encoding.
+ Document doc = DOMUtils.parse(is);
+ return DOMUtils.domToString(doc);
+ } catch (Exception e) {
__log.debug("IO error", e);
// todo: this should produce a message
return null;
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/wsdl/XMLSchemaTypeSerializer.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/wsdl/XMLSchemaTypeSerializer.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/wsdl/XMLSchemaTypeSerializer.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -22,6 +22,7 @@
import java.io.PrintWriter;
import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
import javax.wsdl.Definition;
import javax.wsdl.WSDLException;
@@ -76,6 +77,12 @@
ExtensionRegistry extensionRegistry)
throws WSDLException {
DOMUtils.pancakeNamespaces(element);
- return new XMLSchemaType(DOMUtils.domToString(element).getBytes());
+ try {
+ // xml dump is encoded in UTF-8, so the byte array should use the same encoding
+ // the reading xml parser should be able to correctly detect the encoding then.
+ return new XMLSchemaType(DOMUtils.domToString(element).getBytes("UTF-8"));
+ } catch (UnsupportedEncodingException e) {
+ throw new WSDLException(WSDLException.OTHER_ERROR, e.getMessage(), e);
+ }
}
}
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImpl.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImpl.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/main/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImpl.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -58,11 +58,13 @@
/**
* XPath compiler based on the SAXON implementation.
+ *
* @author Matthieu Riou <mriou at apache dot org>
*/
public class XPath20ExpressionCompilerImpl implements ExpressionCompiler {
- protected static final Log __log = LogFactory.getLog(XPath20ExpressionCompilerBPEL20.class);
+ protected static final Log __log = LogFactory
+ .getLog(XPath20ExpressionCompilerBPEL20.class);
protected String _bpelNS;
protected QName _qnLinkStatus;
@@ -70,32 +72,39 @@
protected QName _qnVarData;
protected QName _qnXslTransform;
- protected final XPathMessages __msgs = MessageBundle.getMessages(XPathMessages.class);
+ protected final XPathMessages __msgs = MessageBundle
+ .getMessages(XPathMessages.class);
protected Map<String, String> _properties = new HashMap<String, String>();
protected CompilerContext _compilerContext;
public XPath20ExpressionCompilerImpl(String bpelNS) {
_bpelNS = bpelNS;
_qnLinkStatus = new QName(_bpelNS, Constants.EXT_FUNCTION_GETLINKSTATUS);
- _qnVarProp = new QName(_bpelNS, Constants.EXT_FUNCTION_GETVARIABLEPROPERTY);
+ _qnVarProp = new QName(_bpelNS,
+ Constants.EXT_FUNCTION_GETVARIABLEPROPERTY);
_qnVarData = new QName(_bpelNS, Constants.EXT_FUNCTION_GETVARIABLEDATA);
- _qnXslTransform = new QName(_bpelNS, Constants.EXT_FUNCTION_DOXSLTRANSFORM);
+ _qnXslTransform = new QName(_bpelNS,
+ Constants.EXT_FUNCTION_DOXSLTRANSFORM);
- _properties.put("runtime-class", "org.apache.ode.bpel.elang.xpath20.runtime.XPath20ExpressionRuntime");
+ _properties
+ .put("runtime-class",
+ "org.apache.ode.bpel.elang.xpath20.runtime.XPath20ExpressionRuntime");
TransformerFactory trsf = new net.sf.saxon.TransformerFactoryImpl();
XslTransformHandler.getInstance().setTransformerFactory(trsf);
}
public void setCompilerContext(CompilerContext compilerContext) {
_compilerContext = compilerContext;
- XslCompilationErrorListener xe = new XslCompilationErrorListener(compilerContext);
+ XslCompilationErrorListener xe = new XslCompilationErrorListener(
+ compilerContext);
XslTransformHandler.getInstance().setErrorListener(xe);
}
/**
* @see org.apache.ode.bpel.compiler.api.ExpressionCompiler#compileJoinCondition(java.lang.Object)
*/
- public OExpression compileJoinCondition(Object source) throws CompilationException {
+ public OExpression compileJoinCondition(Object source)
+ throws CompilationException {
return _compile((Expression) source, true);
}
@@ -109,70 +118,81 @@
/**
* @see org.apache.ode.bpel.compiler.api.ExpressionCompiler#compileLValue(java.lang.Object)
*/
- public OLValueExpression compileLValue(Object source) throws CompilationException {
+ public OLValueExpression compileLValue(Object source)
+ throws CompilationException {
return (OLValueExpression) _compile((Expression) source, false);
}
/**
* @see org.apache.ode.bpel.compiler.api.ExpressionCompiler#compile(java.lang.Object)
*/
- private OExpression _compile(org.apache.ode.bpel.compiler.bom.Expression xpath, boolean isJoinCondition)
- throws CompilationException {
- OXPath20ExpressionBPEL20 oexp = new OXPath20ExpressionBPEL20(_compilerContext.getOProcess(), _qnVarData,
- _qnVarProp, _qnLinkStatus, _qnXslTransform, isJoinCondition);
+ private OExpression _compile(
+ org.apache.ode.bpel.compiler.bom.Expression xpath,
+ boolean isJoinCondition) throws CompilationException {
+ OXPath20ExpressionBPEL20 oexp = new OXPath20ExpressionBPEL20(
+ _compilerContext.getOProcess(), _qnVarData, _qnVarProp,
+ _qnLinkStatus, _qnXslTransform, isJoinCondition);
oexp.namespaceCtx = xpath.getNamespaceContext();
doJaxpCompile(oexp, xpath);
return oexp;
}
- private void doJaxpCompile(OXPath20ExpressionBPEL20 out, Expression source) throws CompilationException {
+ private void doJaxpCompile(OXPath20ExpressionBPEL20 out, Expression source)
+ throws CompilationException {
String xpathStr;
Node node = source.getExpression();
if (node == null) {
- throw new CompilationException(__msgs.errEmptyExpression(source.getURI(), new QName(source.getElement().getNamespaceURI(), source.getElement().getNodeName())));
+ throw new CompilationException(__msgs.errEmptyExpression(source
+ .getURI(), new QName(source.getElement().getNamespaceURI(),
+ source.getElement().getNodeName())));
}
if (node.getNodeType() != Node.TEXT_NODE) {
- throw new CompilationException(__msgs.errUnexpectedNodeTypeForXPath(DOMUtils.domToString(node)));
+ throw new CompilationException(
+ __msgs.errUnexpectedNodeTypeForXPath(DOMUtils
+ .domToString(node)));
}
xpathStr = node.getNodeValue();
xpathStr = xpathStr.trim();
if (xpathStr.length() == 0) {
- throw new CompilationException(__msgs.warnXPath20Syntax(DOMUtils.domToString(node), "empty string"));
+ throw new CompilationException(__msgs.warnXPath20Syntax(
+ DOMUtils.domToString(node), "empty string"));
}
out.xpath = xpathStr;
- try {
- __log.debug("Compiling expression " + xpathStr);
+ try {
+ __log.debug("Compiling expression " + xpathStr);
XPathFactory xpf = new XPathFactoryImpl();
JaxpFunctionResolver funcResolver = new JaxpFunctionResolver(
- _compilerContext, out, source.getNamespaceContext(), _bpelNS);
- JaxpVariableResolver varResolver = new JaxpVariableResolver(_compilerContext, out);
+ _compilerContext, out, source.getNamespaceContext(),
+ _bpelNS);
+ JaxpVariableResolver varResolver = new JaxpVariableResolver(
+ _compilerContext, out);
XPath xpe = xpf.newXPath();
xpe.setXPathFunctionResolver(funcResolver);
xpe.setXPathVariableResolver(varResolver);
- xpe.setNamespaceContext(source.getNamespaceContext());
+ xpe.setNamespaceContext(source.getNamespaceContext());
XPathExpression expr = xpe.compile(xpathStr);
// evaluate the expression so as to initialize the variables
- try {
- expr.evaluate(node);
- } catch (XPathExpressionException xpee) {
- // swallow errors caused by uninitialized variable
+ try {
+ expr.evaluate(node);
+ } catch (XPathExpressionException xpee) {
+ // swallow errors caused by uninitialized variable
}
for (String varExpr : extractVariableExprs(xpathStr)) {
expr = xpe.compile(varExpr);
- try {
- expr.evaluate(node);
- } catch (XPathExpressionException xpee) {
- // swallow errors caused by uninitialized variable
- }
+ try {
+ expr.evaluate(node);
+ } catch (XPathExpressionException xpee) {
+ // swallow errors caused by uninitialized variable
+ }
}
for (String functionExpr : extractFunctionExprs(xpathStr)) {
expr = xpe.compile(functionExpr);
- try {
- expr.evaluate(node);
- } catch (XPathExpressionException xpee) {
- // swallow errors caused by uninitialized variable
- }
+ try {
+ expr.evaluate(node);
+ } catch (XPathExpressionException xpee) {
+ // swallow errors caused by uninitialized variable
+ }
}
} catch (XPathExpressionException e) {
__log.debug(e);
@@ -188,90 +208,96 @@
/**
* Returns the list of variable references in the given XPath expression
- * that may not have been resolved properly, which is the case especially
- * if the expression contains a function, which short circuited the evaluation.
- *
+ * that may not have been resolved properly, which is the case especially if
+ * the expression contains a function, which short circuited the evaluation.
+ *
* @param xpathStr
- * @return list of variable expressions that may not have been resolved properly
+ * @return list of variable expressions that may not have been resolved
+ * properly
*/
- private List<String> extractVariableExprs(String xpathStr) {
- ArrayList<String> variableExprs = new ArrayList<String>();
- int firstVariable = xpathStr.indexOf("$"),
- lastVariable = xpathStr.lastIndexOf("$"),
- firstFunction = xpathStr.indexOf("(");
- StringBuffer variableExpr = new StringBuffer();
- if ((firstVariable > 0 && // the xpath references a variable
- firstFunction > 0) || // the xpath contains a function
- (firstVariable < lastVariable)) { // the xpath references multiple variables
- // most likely, the variable reference has not been resolved, so make that happen
- boolean quoted = false, doubleQuoted = false, variable = false;
- Name11Checker nameChecker = Name11Checker.getInstance();
- for (int index = 0; index < xpathStr.length(); index++) {
- char ch = xpathStr.charAt(index);
- if (ch == '\''){
- quoted = !quoted;
- }
- if (ch == '\"') {
- doubleQuoted = !doubleQuoted;
- }
- if (quoted || doubleQuoted){
- continue;
- }
- if (ch == '$') {
- variable = true;
- variableExpr.setLength(0);
- variableExpr.append(ch);
- } else {
- if (variable) {
- variableExpr.append(ch);
- // in the name is qualified, don't check if its a qname when we're at the ":" character
- if (ch == ':') {
- continue;
- }
- if (index == xpathStr.length() ||
- !nameChecker.isQName(variableExpr.substring(1))) {
- variable = false;
- variableExpr.setLength(variableExpr.length() - 1);
- variableExprs.add(variableExpr.toString());
- variableExpr.setLength(0);
- }
- }
- }
- }
- if (variableExpr.length() > 0) {
- variableExprs.add(variableExpr.toString());
- }
- }
- return variableExprs;
- }
+ private List<String> extractVariableExprs(String xpathStr) {
+ ArrayList<String> variableExprs = new ArrayList<String>();
+ int firstVariable = xpathStr.indexOf("$"), lastVariable = xpathStr
+ .lastIndexOf("$"), firstFunction = xpathStr.indexOf("(");
+ StringBuffer variableExpr = new StringBuffer();
+ if ((firstVariable > 0 && // the xpath references a variable
+ firstFunction > 0)
+ || // the xpath contains a function
+ (firstVariable < lastVariable)) { // the xpath references
+ // multiple variables
+ // most likely, the variable reference has not been resolved, so
+ // make that happen
+ boolean quoted = false, doubleQuoted = false, variable = false;
+ Name11Checker nameChecker = Name11Checker.getInstance();
+ for (int index = 0; index < xpathStr.length(); index++) {
+ char ch = xpathStr.charAt(index);
+ if (ch == '\'') {
+ quoted = !quoted;
+ }
+ if (ch == '\"') {
+ doubleQuoted = !doubleQuoted;
+ }
+ if (quoted || doubleQuoted) {
+ continue;
+ }
+ if (ch == '$') {
+ variable = true;
+ variableExpr.setLength(0);
+ variableExpr.append(ch);
+ } else {
+ if (variable) {
+ variableExpr.append(ch);
+ // in the name is qualified, don't check if its a qname
+ // when we're at the ":" character
+ if (ch == ':') {
+ continue;
+ }
+ if (index == xpathStr.length()
+ || !nameChecker.isQName(variableExpr
+ .substring(1))) {
+ variable = false;
+ variableExpr.setLength(variableExpr.length() - 1);
+ variableExprs.add(variableExpr.toString());
+ variableExpr.setLength(0);
+ }
+ }
+ }
+ }
+ if (variableExpr.length() > 0) {
+ variableExprs.add(variableExpr.toString());
+ }
+ }
+ return variableExprs;
+ }
/**
* Returns the list of function references in the given XPath expression
- * that may not have been resolved properly, which is the case especially
- * if the expression contains a preceding function, which short circuited the evaluation.
- *
+ * that may not have been resolved properly, which is the case especially if
+ * the expression contains a preceding function, which short circuited the
+ * evaluation.
+ *
* @param xpathStr
- * @return list of function expressions that may not have been resolved properly
+ * @return list of function expressions that may not have been resolved
+ * properly
*/
- private List<String> extractFunctionExprs(String xpathStr) {
- ArrayList<String> functionExprs = new ArrayList<String>();
- // Match the prefix : function name ( all contents except the ) and the closing )'s that may occur
- final String FUNCTION_REGEX = "\\w+:\\w+\\([.[^\\)]]*\\)*";
- int firstFunction = xpathStr.indexOf("("),
- lastFunction = xpathStr.lastIndexOf("(");
- if ((firstFunction > 0 && firstFunction < lastFunction)) {
- Pattern regex = Pattern.compile(FUNCTION_REGEX);
- Matcher matcher = regex.matcher(xpathStr);
-
- while (matcher.find()) {
- String function = matcher.group();
- functionExprs.add(function);
- }
- }
- return functionExprs;
- }
-
- public Map<String, String> getProperties() {
+ private List<String> extractFunctionExprs(String xpathStr) {
+ ArrayList<String> functionExprs = new ArrayList<String>();
+ final String FUNCTION_REGEX = "(\\w+:)?\\w+\\((.+)?\\)";
+ int firstFunction = xpathStr.indexOf("("), lastFunction = xpathStr
+ .lastIndexOf("(");
+ if ((firstFunction > 0 && firstFunction < lastFunction)) {
+ Pattern regex = Pattern.compile(FUNCTION_REGEX);
+ Matcher matcher = regex.matcher(xpathStr);
+
+ while (matcher.find()) {
+ String function = matcher.group();
+ functionExprs.add(function);
+ }
+ }
+ return functionExprs;
+ }
+
+ public Map<String, String> getProperties() {
return _properties;
}
Added: branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/java/org/apache/ode/bpel/compiler_2_0/XslTest.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/java/org/apache/ode/bpel/compiler_2_0/XslTest.java (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/java/org/apache/ode/bpel/compiler_2_0/XslTest.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,90 @@
+/*
+ * 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.compiler_2_0;
+
+import java.io.File;
+import java.net.URI;
+import java.net.URL;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.ode.bpel.compiler.BpelCompiler20;
+import org.apache.ode.bpel.compiler.DefaultResourceFinder;
+import org.apache.ode.bpel.compiler.ResourceFinder;
+import org.apache.ode.bpel.compiler.bom.BpelObjectFactory;
+import org.apache.ode.bpel.o.OProcess;
+import org.apache.ode.bpel.o.OXslSheet;
+import org.apache.ode.utils.DOMUtils;
+import org.apache.ode.utils.StreamUtils;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
+
+
+public class XslTest {
+
+ private final Log __log = LogFactory.getLog(getClass());
+ private BpelCompiler20 _compiler;
+ private ResourceFinder _resfinder;
+
+ @Before
+ public void setUp() throws Exception {
+ _compiler = new BpelCompiler20();
+ File dir = new File(getClass().getResource(".").toURI());
+ _resfinder = new DefaultResourceFinder(dir, dir);
+ _compiler.setResourceFinder(_resfinder);
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ _compiler = null;
+ }
+
+ @Test
+ public void testUTFEncoding() throws Exception {
+ Document original = DOMUtils.parse(getClass().getResourceAsStream("/xslt/test-utf8.xslt"));
+ OProcess op = compile("xsl-utf8");
+ OXslSheet sheet = op.xslSheets.get(URI.create("test-utf8.xslt"));
+ Assert.assertNotNull(sheet);
+ Assert.assertEquals(DOMUtils.domToString(original), sheet.sheetBody);
+ }
+
+ @Test
+ public void testISOEncoding() throws Exception {
+ Document original = DOMUtils.parse(getClass().getResourceAsStream("/xslt/test-iso.xslt"));
+ OProcess op = compile("xsl-iso");
+ OXslSheet sheet = op.xslSheets.get(URI.create("test-iso.xslt"));
+ Assert.assertNotNull(sheet);
+ Assert.assertEquals(DOMUtils.domToString(original), sheet.sheetBody);
+ }
+
+ private OProcess compile(String bpelFile) throws Exception {
+ URL bpelURL = getClass().getResource("/xslt/" + bpelFile + ".bpel");
+
+ InputSource isrc = new InputSource(bpelURL.openStream());
+ isrc.setSystemId(bpelURL.toExternalForm());
+
+ org.apache.ode.bpel.compiler.bom.Process process = BpelObjectFactory.getInstance().parse(isrc, bpelURL.toURI());
+
+ return _compiler.compile(process, _resfinder, 0);
+ }
+}
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImplTest.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImplTest.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/java/org/apache/ode/bpel/elang/xpath20/compiler/XPath20ExpressionCompilerImplTest.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -24,33 +24,32 @@
import org.junit.*;
+public class XPath20ExpressionCompilerImplTest {
-public class XPath20ExpressionCompilerImplTest {
-
private static final String TEST_NAMESPACE = "http://www.example.com/";
private static final String EXTRACT_FUNCTION_EXPRS = "extractFunctionExprs";
@Test
public void testresolvedFunctionsExpr() throws Exception {
- XPath20ExpressionCompilerImpl xp20Exp = new XPath20ExpressionCompilerImpl(TEST_NAMESPACE);
- final Method[] methods =
- xp20Exp.getClass().getDeclaredMethods();
+ XPath20ExpressionCompilerImpl xp20Exp = new XPath20ExpressionCompilerImpl(
+ TEST_NAMESPACE);
+ final Method[] methods = xp20Exp.getClass().getDeclaredMethods();
for (int i = 0; i < methods.length; ++i) {
if (methods[i].getName().equals(EXTRACT_FUNCTION_EXPRS)) {
final Object params[] = { "count(count(1))" };
methods[i].setAccessible(true);
Object ret = methods[i].invoke(xp20Exp, params);
List<?> values = (List<?>) ret;
- Assert.assertEquals(0, values.size());
+ Assert.assertEquals(1, values.size());
}
}
}
-
+
@Test
public void testTimeStampInFunction() throws Exception {
- XPath20ExpressionCompilerImpl xp20Exp = new XPath20ExpressionCompilerImpl(TEST_NAMESPACE);
- final Method[] methods =
- xp20Exp.getClass().getDeclaredMethods();
+ XPath20ExpressionCompilerImpl xp20Exp = new XPath20ExpressionCompilerImpl(
+ TEST_NAMESPACE);
+ final Method[] methods = xp20Exp.getClass().getDeclaredMethods();
for (int i = 0; i < methods.length; ++i) {
if (methods[i].getName().equals(EXTRACT_FUNCTION_EXPRS)) {
final Object params[] = { "concat(xs:concat(\"P\", \"08:30:00.000+08:00\"))" };
@@ -62,25 +61,45 @@
}
}
-
+
@Test
public void testresolvedFunctionsTimeStamp() throws Exception {
- XPath20ExpressionCompilerImpl xp20Exp = new XPath20ExpressionCompilerImpl(TEST_NAMESPACE);
- final Method[] methods =
- xp20Exp.getClass().getDeclaredMethods();
+ XPath20ExpressionCompilerImpl xp20Exp = new XPath20ExpressionCompilerImpl(
+ TEST_NAMESPACE);
+ final Method[] methods = xp20Exp.getClass().getDeclaredMethods();
for (int i = 0; i < methods.length; ++i) {
if (methods[i].getName().equals(EXTRACT_FUNCTION_EXPRS)) {
- final Object params[] = { "concat(current-date() + xs:dayTimeDuration(concat(\"P\", $DAYS_TO_NEXT_REMINDER, \"D\")), \"T\", \"08:30:00.000+08:00\")" };
+ String multipleFunctions = "concat(current-date() + xs:dayTimeDuration(concat(\"P\", $DAYS_TO_NEXT_REMINDER, \"D\")), \"T\", \"08:30:00.000+08:00\")";
+ final Object params[] = { multipleFunctions };
methods[i].setAccessible(true);
Object ret = methods[i].invoke(xp20Exp, params);
List<?> values = (List<?>) ret;
Assert.assertEquals(1, values.size());
- Assert.assertEquals("Unexpected Function value", "xs:dayTimeDuration(concat(\"P\", $DAYS_TO_NEXT_REMINDER, \"D\"))", (String)values.get(0));
+ Assert.assertEquals("Unexpected Function value",
+ multipleFunctions, (String) values.get(0));
}
}
}
-
-
-
+ @Test
+ public void testExtractFunctionsExprs() throws Exception {
+ XPath20ExpressionCompilerImpl xp20Exp = new XPath20ExpressionCompilerImpl(
+ TEST_NAMESPACE);
+ final Method[] methods = xp20Exp.getClass().getDeclaredMethods();
+ String ODE_840 = "bpel:doXslTransform(\"1.0.1/some.xsl\", $Variable.body, \"someParameter\", $OtherVariable.body, \"someParameter2\", $SwsHeaderRQ, \"someParameter3\", true(), \"someXpathParameter\", $XPath)";
+
+ for (int i = 0; i < methods.length; ++i) {
+ if (methods[i].getName().equals(EXTRACT_FUNCTION_EXPRS)) {
+ final Object params[] = { ODE_840 };
+ methods[i].setAccessible(true);
+ Object ret = methods[i].invoke(xp20Exp, params);
+ List<?> values = (List<?>) ret;
+ Assert.assertEquals(1, values.size());
+ Assert.assertEquals("Unexpected Function value", ODE_840,
+ (String) values.get(0));
+ }
+ }
+
+ }
+
}
Added: branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/test-iso.xslt
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/test-iso.xslt (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/test-iso.xslt 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fn="http://www.w3.org/2005/xpath-functions"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:tns="http://example.org/test"
+ >
+ <xsl:output method="xml" indent="no" />
+
+ <xsl:template match="/">
+ <tns:testxslt>
+ <tns:from-xslt>
+ <xsl:value-of select="'Prova lettere accentate: � � � � �'"/>
+ </tns:from-xslt>
+ <tns:from-document>
+ <xsl:value-of select="document('test.xml')"/>
+ </tns:from-document>
+ </tns:testxslt>
+ </xsl:template>
+
+ <xsl:template match="text()|@*"/>
+
+</xsl:stylesheet>
Added: branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/test-utf8.xslt
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/test-utf8.xslt (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/test-utf8.xslt 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fn="http://www.w3.org/2005/xpath-functions"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:tns="http://example.org/test"
+ >
+ <xsl:output method="xml" indent="no" />
+
+ <xsl:template match="/">
+ <tns:testxslt>
+ <tns:from-xslt>
+ <xsl:value-of select="'Prova lettere accentate: à è ì ò ù'"/>
+ </tns:from-xslt>
+ <tns:from-document>
+ <xsl:value-of select="document('test.xml')"/>
+ </tns:from-document>
+ </tns:testxslt>
+ </xsl:template>
+
+ <xsl:template match="text()|@*"/>
+
+</xsl:stylesheet>
Added: branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/test1.wsdl
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/test1.wsdl (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/test1.wsdl 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,88 @@
+<?xml version="1.0"?>
+<definitions name="test1"
+ targetNamespace="http://example.org/test1"
+ xmlns:tns="http://example.org/test1"
+ xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+
+<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ TYPE DEFINITION - List of types participating in this BPEL process
+ The BPEL Designer will generate default request and response types
+ but you can define or import any XML Schema type and use them as part
+ of the message types.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <types>
+ <schema attributeFormDefault="unqualified" elementFormDefault="qualified"
+ targetNamespace="http://example.org/test1"
+ xmlns="http://www.w3.org/2001/XMLSchema">
+
+ <element name="test1">
+ <complexType>
+ <sequence>
+ <element name="action" type="string"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="test1Response">
+ <complexType>
+ <sequence>
+ <any namespace="##any" processContents="lax"/>
+ </sequence>
+ </complexType>
+ </element>
+ </schema>
+ </types>
+
+
+<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ MESSAGE TYPE DEFINITION - Definition of the message types used as
+ part of the port type defintions
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <message name="test1RequestMessage">
+ <part name="payload" element="tns:test1"/>
+ </message>
+ <message name="test1ResponseMessage">
+ <part name="payload" element="tns:test1Response"/>
+ </message>
+
+<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ PORT TYPE DEFINITION - A port type groups a set of operations into
+ a logical service unit.
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+
+ <!-- portType implemented by the test1 BPEL process -->
+ <portType name="test1">
+ <operation name="test1">
+ <input message="tns:test1RequestMessage" />
+ <output message="tns:test1ResponseMessage"/>
+ </operation>
+ </portType>
+
+ <binding name="test1" type="tns:test1">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"></soap:binding>
+ <operation name="test1">
+ <soap:operation soapAction="http://example.org/test1/test1"></soap:operation>
+ <input>
+ <soap:body use="literal"></soap:body>
+ </input>
+ <output>
+ <soap:body use="literal"></soap:body>
+ </output>
+ </operation>
+ </binding>
+
+ <service name="test1">
+ <port binding="tns:test1" name="test1">
+ <soap:address location="http://FILLED_BY_SERVER/ode/processes/test1" />
+ </port>
+ </service>
+<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ PARTNER LINK TYPE DEFINITION
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+ <plnk:partnerLinkType name="test1">
+ <plnk:role name="test1Provider" portType="tns:test1"/>
+ </plnk:partnerLinkType>
+
+</definitions>
Added: branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/xsl-iso.bpel
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/xsl-iso.bpel (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/xsl-iso.bpel 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpws:process exitOnStandardFault="yes" name="test1"
+ suppressJoinFailure="yes" targetNamespace="http://example.org/test1"
+ xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ xmlns:tns="http://example.org/test1">
+ <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
+ location="test1.wsdl" namespace="http://example.org/test1"/>
+ <bpws:partnerLinks>
+ <bpws:partnerLink myRole="test1Provider" name="client" partnerLinkType="tns:test1"/>
+ </bpws:partnerLinks>
+ <bpws:variables>
+ <bpws:variable messageType="tns:test1RequestMessage" name="input"/>
+ <bpws:variable messageType="tns:test1ResponseMessage" name="output"/>
+ </bpws:variables>
+ <bpws:sequence name="main">
+ <bpws:receive createInstance="yes" name="receiveInput"
+ operation="test1" partnerLink="client" portType="tns:test1" variable="input"/>
+ <bpws:assign name="prepareResponse" validate="no">
+ <bpws:copy>
+ <bpws:from>
+ <bpws:literal>
+ <test1Response xmlns="http://example.org/test1">
+ <testxslt xmlns="http://example.org/test"/>
+ </test1Response>
+ </bpws:literal>
+ </bpws:from>
+ <bpws:to part="payload" variable="output"/>
+ </bpws:copy>
+ <bpws:copy>
+ <bpws:from><![CDATA[bpws:doXslTransform("test-iso.xslt", $input.payload)]]></bpws:from>
+ <bpws:to><![CDATA[$output.payload/*[1]]]></bpws:to>
+ </bpws:copy>
+ </bpws:assign>
+ <bpws:reply name="replyOutput" operation="test1"
+ partnerLink="client" portType="tns:test1" variable="output"/>
+ </bpws:sequence>
+</bpws:process>
Added: branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/xsl-utf8.bpel
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/xsl-utf8.bpel (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-compiler/src/test/resources/xslt/xsl-utf8.bpel 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpws:process exitOnStandardFault="yes" name="test1"
+ suppressJoinFailure="yes" targetNamespace="http://example.org/test1"
+ xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ xmlns:tns="http://example.org/test1">
+ <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
+ location="test1.wsdl" namespace="http://example.org/test1"/>
+ <bpws:partnerLinks>
+ <bpws:partnerLink myRole="test1Provider" name="client" partnerLinkType="tns:test1"/>
+ </bpws:partnerLinks>
+ <bpws:variables>
+ <bpws:variable messageType="tns:test1RequestMessage" name="input"/>
+ <bpws:variable messageType="tns:test1ResponseMessage" name="output"/>
+ </bpws:variables>
+ <bpws:sequence name="main">
+ <bpws:receive createInstance="yes" name="receiveInput"
+ operation="test1" partnerLink="client" portType="tns:test1" variable="input"/>
+ <bpws:assign name="prepareResponse" validate="no">
+ <bpws:copy>
+ <bpws:from>
+ <bpws:literal>
+ <test1Response xmlns="http://example.org/test1">
+ <testxslt xmlns="http://example.org/test"/>
+ </test1Response>
+ </bpws:literal>
+ </bpws:from>
+ <bpws:to part="payload" variable="output"/>
+ </bpws:copy>
+ <bpws:copy>
+ <bpws:from><![CDATA[bpws:doXslTransform("test-utf8.xslt", $input.payload)]]></bpws:from>
+ <bpws:to><![CDATA[$output.payload/*[1]]]></bpws:to>
+ </bpws:copy>
+ </bpws:assign>
+ <bpws:reply name="replyOutput" operation="test1"
+ partnerLink="client" portType="tns:test1" variable="output"/>
+ </bpws:sequence>
+</bpws:process>
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-connector/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-connector/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-connector/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-bpel-connector</artifactId>
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-dao/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-dao/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-dao/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-bpel-dao</artifactId>
<name>ODE :: DAO Interfaces</name>
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-epr/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-epr/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-epr/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-bpel-epr</artifactId>
<name>ODE :: Interface Layers Common</name>
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/URLEndpoint.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/URLEndpoint.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/URLEndpoint.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -40,7 +40,7 @@
}
public String getUrl() {
- return _url;
+ return _url != null ? _url.trim() : null;
}
public void setUrl(String url) {
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSAEndpoint.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSAEndpoint.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSAEndpoint.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -90,7 +90,7 @@
}
public String getUrl() {
- return _eprElmt.getElementsByTagNameNS(Namespaces.WS_ADDRESSING_NS, "Address").item(0).getTextContent();
+ return _eprElmt.getElementsByTagNameNS(Namespaces.WS_ADDRESSING_NS, "Address").item(0).getTextContent().trim();
}
public void setUrl(String url) {
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-obj/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-obj/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-obj/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -17,8 +17,7 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-bpel-obj</artifactId>
<name>ODE :: OBJ</name>
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-ql/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-ql/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-ql/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -17,8 +17,7 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-bpel-ql</artifactId>
<name>ODE :: BPEL Query Language</name>
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -17,8 +17,7 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-bpel-runtime</artifactId>
<name>ODE :: Runtime Engine</name>
Added: branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/XslRuntimeUriResolver.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/XslRuntimeUriResolver.java (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/XslRuntimeUriResolver.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,108 @@
+/*
+ * 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.elang;
+
+import java.io.InputStream;
+import java.io.StringReader;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URL;
+
+import javax.xml.transform.Source;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.URIResolver;
+import javax.xml.transform.stream.StreamSource;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.ode.bpel.elang.xpath10.o.OXPath10Expression;
+import org.apache.ode.bpel.o.OXslSheet;
+import org.apache.ode.utils.StreamUtils;
+import org.apache.ode.utils.fs.FileUtils;
+
+/**
+ * Used to give the Xsl processor a way to access included XSL sheets
+ * by using the maps of sheets pre-processed at compilation time and
+ * stored in the OXPath10Expression.
+ */
+public class XslRuntimeUriResolver implements URIResolver {
+
+ private static final Log __log = LogFactory.getLog(XslRuntimeUriResolver.class);
+
+ private OXPath10Expression _expr;
+ private final URI _baseResourceURI;
+
+ public XslRuntimeUriResolver(OXPath10Expression expr, URI baseResourceURI) {
+ _expr = expr;
+ _baseResourceURI= baseResourceURI;
+ }
+
+ public Source resolve(String href, String base) throws TransformerException {
+ URI uri;
+ try {
+ uri = new URI(FileUtils.encodePath(href));
+ } catch (URISyntaxException e) {
+ return null;
+ }
+
+ OXslSheet sheet = _expr.getXslSheet(uri);
+ if( sheet != null) {
+ String result = sheet.sheetBody;
+ if (result != null) {
+ return new StreamSource(new StringReader(result));
+ } else {
+ return null;
+ }
+ }
+
+ InputStream result = getResourceAsStream(uri);
+ if( result != null ) {
+ return new StreamSource(result);
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Given a URI this function will attempt to retrieve the resource declared at that URI location
+ * as a stream. This URI can be defined as being relative to the executing process instance's
+ * physical file location or can point to an HTTP(S) resource.
+ *
+ * @param docUri - the URI to resolve
+ * @return stream - the resource contents, or null if none found.
+ */
+ private InputStream getResourceAsStream(URI docUri) {
+ URI resolvedURI = _baseResourceURI.resolve(docUri);
+ InputStream is = null;
+
+ try {
+ // treat URI as URL and try to load it.
+ URL url = resolvedURI.toURL();
+ is = url.openStream();
+
+ // and read it to a buffer.
+ return is;
+ } catch (Exception e) {
+ __log.warn("Couldn't load XSL resource " + docUri, e);
+ }
+ return null;
+ }
+
+}
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath10/runtime/JaxenContexts.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,9 +18,21 @@
*/
package org.apache.ode.bpel.elang.xpath10.runtime;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+import javax.xml.transform.dom.DOMSource;
+
+import net.sf.saxon.dom.NodeWrapper;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.ode.bpel.common.FaultException;
+import org.apache.ode.bpel.elang.XslRuntimeUriResolver;
import org.apache.ode.bpel.elang.xpath10.o.OXPath10Expression;
import org.apache.ode.bpel.elang.xpath10.o.OXPath10ExpressionBPEL20;
import org.apache.ode.bpel.explang.EvaluationContext;
@@ -33,7 +45,6 @@
import org.apache.ode.bpel.o.OXsdTypeVarType;
import org.apache.ode.bpel.o.OXslSheet;
import org.apache.ode.utils.DOMUtils;
-import org.apache.ode.utils.xsd.XSTypes;
import org.apache.ode.utils.xsl.XslTransformHandler;
import org.jaxen.Context;
import org.jaxen.Function;
@@ -42,23 +53,11 @@
import org.jaxen.UnresolvableException;
import org.jaxen.VariableContext;
import org.jaxen.XPathFunctionContext;
+import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
-import org.w3c.dom.Document;
-import org.xml.sax.SAXException;
-import javax.xml.namespace.QName;
-import javax.xml.transform.dom.DOMSource;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import net.sf.saxon.dom.NodeWrapper;
-
-
/**
* Implementation of the various JAXEN evaluation contexts in terms of the
* {@link EvaluationContext}.
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpFunctionResolver.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpFunctionResolver.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpFunctionResolver.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -46,6 +46,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.elang.XslRuntimeUriResolver;
import org.apache.ode.bpel.elang.xpath10.o.OXPath10Expression;
import org.apache.ode.bpel.elang.xpath10.o.OXPath10ExpressionBPEL20;
import org.apache.ode.bpel.elang.xpath20.compiler.Constants;
@@ -82,7 +83,9 @@
}
public XPathFunction resolveFunction(QName functionName, int arity) {
- __log.debug("Resolving function " + functionName);
+ if (__log.isDebugEnabled()) {
+ __log.debug("Resolving function " + functionName);
+ }
if (functionName.getNamespaceURI() == null) {
throw new NullPointerException("Undeclared namespace for " + functionName);
} else if (functionName.getNamespaceURI().equals(Namespaces.WS_BPEL_20_NS) ||
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpVariableResolver.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpVariableResolver.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpVariableResolver.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -19,13 +19,10 @@
package org.apache.ode.bpel.elang.xpath20.runtime;
-import java.util.Calendar;
-
import javax.xml.namespace.QName;
import javax.xml.xpath.XPathVariableResolver;
import net.sf.saxon.Configuration;
-import net.sf.saxon.om.Item;
import net.sf.saxon.type.AtomicType;
import net.sf.saxon.type.SchemaType;
import net.sf.saxon.type.ValidationException;
@@ -46,8 +43,6 @@
import org.apache.ode.bpel.o.OXsdTypeVarType;
import org.apache.ode.utils.DOMUtils;
import org.apache.ode.utils.Namespaces;
-import org.apache.ode.utils.xsd.XSTypes;
-import org.w3c.dom.Document;
import org.w3c.dom.Node;
/**
@@ -68,7 +63,9 @@
}
public Object resolveVariable(QName variableName) {
- __log.debug("Resolving variable " + variableName);
+ if (__log.isDebugEnabled()) {
+ __log.debug("Resolving variable " + variableName);
+ }
if (!(_oxpath instanceof OXPath10ExpressionBPEL20)) {
throw new IllegalStateException("XPath variables not supported for bpel 1.1");
@@ -128,7 +125,7 @@
}
}
- public static Value convertSimpleTypeToSaxon(QName type, String value, Configuration _config) {
+ public Value convertSimpleTypeToSaxon(QName type, String value) {
int fp = _config.getNamePool().allocate("", type.getNamespaceURI(), type.getLocalPart());
SchemaType type2 = _config.getSchemaType(fp);
if (type2 == null || !type2.isAtomicType()) {
@@ -148,11 +145,12 @@
}
}
- public static Object getSimpleContent(Node simpleNode, QName type) {
- Document doc = (simpleNode instanceof Document) ? ((Document) simpleNode) : simpleNode.getOwnerDocument();
+ public Object getSimpleContent(Node simpleNode, QName type) {
String text = simpleNode.getTextContent();
- Object o = convertSimpleTypeToSaxon(type, text, Configuration.makeConfiguration(null, null));
- __log.debug("getSimpleContent for " + DOMUtils.domToString(simpleNode) + " " + type + " returned " + o);
+ Object o = convertSimpleTypeToSaxon(type, text);
+ if (__log.isDebugEnabled()) {
+ __log.debug("getSimpleContent for " + DOMUtils.domToString(simpleNode) + " " + type + " returned " + o);
+ }
return o;
}
}
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -33,8 +33,8 @@
import javax.xml.xpath.XPathExpressionException;
import javax.xml.xpath.XPathFactory;
-import net.sf.saxon.om.NamespaceConstant;
-import net.sf.saxon.trans.DynamicError;
+import net.sf.saxon.Configuration;
+import net.sf.saxon.trans.XPathException;
import net.sf.saxon.value.DurationValue;
import net.sf.saxon.xpath.XPathFactoryImpl;
@@ -73,6 +73,8 @@
/** Class-level logger. */
private static final Log __log = LogFactory.getLog(XPath20ExpressionRuntime.class);
+
+ private final XPathFactory _xpf = new XPathFactoryImpl();
public XPath20ExpressionRuntime(){
}
@@ -114,7 +116,9 @@
}
if (someRes instanceof List) {
result = (List) someRes;
- __log.debug("Returned list of size " + result.size());
+ if (__log.isDebugEnabled()) {
+ __log.debug("Returned list of size " + result.size());
+ }
if ((result.size() == 1) && !(result.get(0) instanceof Node)) {
// Dealing with a Java class
Object simpleType = result.get(0);
@@ -139,7 +143,9 @@
}
} else if (someRes instanceof NodeList) {
NodeList retVal = (NodeList) someRes;
- __log.debug("Returned node list of size " + retVal.getLength());
+ if (__log.isDebugEnabled()) {
+ __log.debug("Returned node list of size " + retVal.getLength());
+ }
result = new ArrayList(retVal.getLength());
for(int m = 0; m < retVal.getLength(); ++m) {
Node val = retVal.item(m);
@@ -165,10 +171,25 @@
public Node evaluateNode(OExpression cexp, EvaluationContext ctx) throws FaultException, EvaluationException {
List retVal = evaluate(cexp, ctx);
- if (retVal.size() == 0)
- throw new FaultException(cexp.getOwner().constants.qnSelectionFailure, "No results for expression: " + cexp, new Throwable("ignoreMissingFromData"));
- if (retVal.size() > 1)
- throw new FaultException(cexp.getOwner().constants.qnSelectionFailure, "Multiple results for expression: " + cexp);
+ if (retVal.size() == 0 || retVal.size() > 1) {
+ StringBuffer msg = new StringBuffer((retVal.size() == 0) ? "No results for expression: '" : "Multiple results for expression: '");
+ if (cexp instanceof OXPath10Expression) {
+ msg.append(((OXPath10Expression)cexp).xpath);
+ } else {
+ msg.append(cexp.toString());
+ }
+ msg.append('\'');
+ if (ctx.getRootNode() != null) {
+ msg.append(" against '");
+ msg.append(DOMUtils.domToString(ctx.getRootNode()));
+ msg.append('\'');
+ }
+
+ if (retVal.size() == 0)
+ throw new FaultException(cexp.getOwner().constants.qnSelectionFailure, msg.toString(), new Throwable("ignoreMissingFromData"));
+ if (retVal.size() > 1)
+ throw new FaultException(cexp.getOwner().constants.qnSelectionFailure, msg.toString());
+ }
return (Node) retVal.get(0);
}
@@ -213,21 +234,22 @@
private Object evaluate(OExpression cexp, EvaluationContext ctx, QName type) throws FaultException, EvaluationException {
try {
OXPath20ExpressionBPEL20 oxpath20 = ((OXPath20ExpressionBPEL20) cexp);
- XPathFactory xpf = new XPathFactoryImpl();
- JaxpFunctionResolver funcResolver = new JaxpFunctionResolver(
- ctx, oxpath20);
- JaxpVariableResolver varResolver = new JaxpVariableResolver(ctx, oxpath20, ((XPathFactoryImpl) xpf).getConfiguration());
- xpf.setXPathFunctionResolver(funcResolver);
- xpf.setXPathVariableResolver(varResolver);
- XPath xpe = xpf.newXPath();
+ JaxpFunctionResolver funcResolver = new JaxpFunctionResolver(ctx, oxpath20);
+ JaxpVariableResolver varResolver = new JaxpVariableResolver(ctx, oxpath20, ((XPathFactoryImpl) _xpf).getConfiguration());
+ XPath xpe = _xpf.newXPath();
+ xpe.setXPathFunctionResolver(funcResolver);
+ xpe.setXPathVariableResolver(varResolver);
xpe.setNamespaceContext(oxpath20.namespaceCtx);
String xpath = ((OXPath10Expression)cexp).xpath;
XPathExpression expr = xpe.compile(xpath);
- Node contextNode = ctx.getRootNode() == null ? DOMUtils.newDocument() : ctx.getRootNode();
+ Node contextNode = ctx.getRootNode();
+ if (contextNode == null) {
+ contextNode = DOMUtils.newDocument();
+ }
// Create step nodes in XPath in case it is incompletely instantiated
if (oxpath20.insertMissingData) {
- XPath20ExpressionModifier modifier = new XPath20ExpressionModifier(oxpath20.namespaceCtx, ((XPathFactoryImpl) xpf).getConfiguration().getNamePool());
+ XPath20ExpressionModifier modifier = new XPath20ExpressionModifier(oxpath20.namespaceCtx, ((XPathFactoryImpl) _xpf).getConfiguration().getNamePool());
modifier.insertMissingData(expr, ctx.getRootNode());
}
Object evalResult = expr.evaluate(contextNode, type);
@@ -241,8 +263,8 @@
} catch (XPathExpressionException e) {
// Extracting the real cause from all this wrapping isn't a simple task
Throwable cause = e.getCause() != null ? e.getCause() : e;
- if (cause instanceof DynamicError) {
- Throwable th = ((DynamicError)cause).getException();
+ if (cause instanceof XPathException) {
+ Throwable th = ((XPathException)cause).getException();
if (th != null) {
cause = th;
if (cause.getCause() != null) cause = cause.getCause();
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xquery10/runtime/XQuery10ExpressionRuntime.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xquery10/runtime/XQuery10ExpressionRuntime.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xquery10/runtime/XQuery10ExpressionRuntime.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -162,7 +162,9 @@
if (someRes instanceof List) {
result = (List) someRes;
- __log.debug("Returned list of size " + result.size());
+ if (__log.isDebugEnabled()) {
+ __log.debug("Returned list of size " + result.size());
+ }
if ((result.size() == 1) && !(result.get(0) instanceof Node)) {
// Dealing with a Java class
@@ -191,7 +193,9 @@
}
} else if (someRes instanceof NodeList) {
NodeList retVal = (NodeList) someRes;
- __log.debug("Returned node list of size " + retVal.getLength());
+ if (__log.isDebugEnabled()) {
+ __log.debug("Returned node list of size " + retVal.getLength());
+ }
result = new ArrayList(retVal.getLength());
for (int m = 0; m < retVal.getLength(); ++m) {
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelProcess.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -951,7 +951,7 @@
// If we have a transaction, we do this in the current transaction
if(__log.isDebugEnabled()) __log.debug("Creating new process DAO for " + _pid + " (guid=" + _oprocess.guid + ")...");
createProcessDAO(_engine._contexts.dao.getConnection(), _pid, _pconf.getVersion(), _oprocess);
- if(__log.isInfoEnabled()) __log.info("Created new process DAO for " + _pid + " (guid=" + _oprocess.guid + ").");
+ if(__log.isDebugEnabled()) __log.debug("Created new process DAO for " + _pid + " (guid=" + _oprocess.guid + ").");
} else {
try {
_engine._contexts.scheduler.execTransaction(new Callable<Object>() {
@@ -977,7 +977,7 @@
private void bounceProcessDAOInDB(final BpelDAOConnection conn, final QName pid, final long version, final OProcess oprocess) {
if(__log.isDebugEnabled()) __log.debug("Creating new process DAO for " + pid + " (guid=" + oprocess.guid + ")...");
createProcessDAO(conn, pid, version, oprocess);
- if(__log.isInfoEnabled()) __log.info("Created new process DAO for " + pid + " (guid=" + oprocess.guid + ").");
+ if(__log.isDebugEnabled()) __log.debug("Created new process DAO for " + pid + " (guid=" + oprocess.guid + ").");
}
public int getInstanceInUseCount() {
@@ -1008,7 +1008,7 @@
for (String correlator : oprocess.getCorrelators()) {
newDao.addCorrelator(correlator);
}
- if(__log.isInfoEnabled()) __log.info("Created new process DAO for " + pid + " (guid=" + oprocess.guid + ")");
+ if(__log.isDebugEnabled()) __log.debug("Created new process DAO for " + pid + " (guid=" + oprocess.guid + ")");
}
} catch (BpelEngineException ex) {
throw ex;
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -700,6 +700,14 @@
_dao.finishCompletion();
failOutstandingMessageExchanges();
+
+ _bpelProcess._engine._contexts.scheduler.registerSynchronizer(new Scheduler.Synchronizer() {
+ public void afterCompletion(boolean success) {
+ }
+ public void beforeCompletion() {
+ _dao.delete(_bpelProcess.getCleanupCategories(false), false);
+ }
+ });
}
public void registerTimer(TimerResponseChannel timerChannel, Date timeToFire) {
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/DocumentInfoGenerator.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/DocumentInfoGenerator.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/DocumentInfoGenerator.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -40,7 +40,7 @@
__extToTypeMap.put(".xsd", "http://www.w3.org/2001/XMLSchema");
__extToTypeMap.put(".svg", "http://www.w3.org/2000/svg");
- __extToTypeMap.put(".cbp", "http://www.fivesight.com/schemas/2005/12/19/CompiledBPEL");
+ __extToTypeMap.put(".cbp", "http://ode.apache.org/schemas/2005/12/19/CompiledBPEL");
// Assume BPEL is 2.0 for now...
__extToTypeMap.put(".bpel", "http://schemas.xmlsoap.org/ws/2004/03/business-process/");
}
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessAndInstanceManagementMBean.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -114,7 +114,9 @@
public Object invoke(String actionName, Object[] params, String[] signature)
throws MBeanException, ReflectionException {
- try {
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ try {
+ Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
Method m = _pm.getClass().getMethod(actionName, findTypes(_pm.getClass().getClassLoader(), signature));
if (m == null) {
throw new ReflectionException(new NoSuchMethodException(actionName));
@@ -122,7 +124,9 @@
return m.invoke(_pm, params);
} catch (Exception e) {
throw new ReflectionException(e);
- }
+ } finally {
+ Thread.currentThread().setContextClassLoader(cl);
+ }
}
private Class[] findTypes(ClassLoader loader, String[] signature) throws ReflectionException {
Added: branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/URIResolverTest.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/URIResolverTest.java (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/URIResolverTest.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,81 @@
+/*
+ * 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.elang;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertThat;
+import static org.junit.matchers.JUnitMatchers.containsString;
+
+import java.net.URI;
+
+import javax.xml.transform.Source;
+
+import org.apache.ode.bpel.elang.xpath10.o.OXPath10Expression;
+import org.apache.ode.utils.DOMUtils;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.w3c.dom.Document;
+
+public class URIResolverTest {
+
+ @Test
+ public void testResolveExistingFile() throws Exception {
+ OXPath10Expression expr = new OXPath10Expression(null, null, null, null);
+ URI baseResourceURI = getClass().getResource("/xpath20/").toURI();
+ XslRuntimeUriResolver resolver = new XslRuntimeUriResolver(expr, baseResourceURI);
+ Source source = resolver.resolve("variables.xml", null);
+ Document doc = DOMUtils.sourceToDOM(source);
+
+ assertThat(DOMUtils.domToString(doc), containsString("<variables>"));
+ }
+
+ @Test
+ public void testResolveNonExistingFile() throws Exception {
+ OXPath10Expression expr = new OXPath10Expression(null, null, null, null);
+ URI baseResourceURI = getClass().getResource("/xpath20/").toURI();
+ XslRuntimeUriResolver resolver = new XslRuntimeUriResolver(expr, baseResourceURI);
+
+ assertNull(resolver.resolve("variablesa.xml", null));
+ }
+
+ @Test
+ public void testEncoding() throws Exception {
+ Document original = DOMUtils.parse(getClass().getResourceAsStream("/xslt/test.xml"));
+ OXPath10Expression expr = new OXPath10Expression(null, null, null, null);
+ URI baseResourceURI = getClass().getResource("/xslt/").toURI();
+ XslRuntimeUriResolver resolver = new XslRuntimeUriResolver(expr, baseResourceURI);
+
+ Document doc = DOMUtils.sourceToDOM(resolver.resolve("test.xml", null));
+ assertArrayEquals(original.getDocumentElement().getTextContent().trim().getBytes(), doc.getDocumentElement().getTextContent().trim().getBytes());
+ }
+
+ @Test
+ @Ignore("automated tests should not rely on remote connections.")
+ public void testResolveURL() throws Exception {
+ OXPath10Expression expr = new OXPath10Expression(null, null, null, null);
+ URI baseResourceURI = getClass().getResource("/xpath20/").toURI();
+ XslRuntimeUriResolver resolver = new XslRuntimeUriResolver(expr, baseResourceURI);
+ Source source = resolver.resolve("https://svn.apache.org/repos/asf/ode/trunk/bpel-schemas/src/main/xsd/pmap...", null);
+ Document doc = DOMUtils.sourceToDOM(source);
+
+ assertThat(DOMUtils.domToString(doc), containsString("activity-info"));
+ }
+
+}
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/XsdTypesTest.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/XsdTypesTest.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/test/java/org/apache/ode/bpel/elang/xpath20/runtime/XsdTypesTest.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -20,7 +20,11 @@
package org.apache.ode.bpel.elang.xpath20.runtime;
import javax.xml.namespace.QName;
+import javax.xml.xpath.XPathFactory;
+import net.sf.saxon.Configuration;
+import net.sf.saxon.xpath.XPathFactoryImpl;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.ode.utils.DOMUtils;
@@ -31,15 +35,19 @@
private static Log __log = LogFactory.getLog(XsdTypesTest.class);
public void testDateTime() throws Exception {
- Object o = JaxpVariableResolver.getSimpleContent(DOMUtils.stringToDOM("<temporary-simple-type-wrapper>2010-01-25T15:38:54.82Z</temporary-simple-type-wrapper>"), QName.valueOf("{http://www.w3.org/2001/XMLSchema}dateTime"));
+ XPathFactoryImpl xpf = new XPathFactoryImpl();
+ JaxpVariableResolver jvr = new JaxpVariableResolver(null, null, xpf.getConfiguration());
+ Object o = jvr.getSimpleContent(DOMUtils.stringToDOM("<temporary-simple-type-wrapper>2010-01-25T15:38:54.82Z</temporary-simple-type-wrapper>"), QName.valueOf("{http://www.w3.org/2001/XMLSchema}dateTime"));
__log.debug(o);
assertTrue(o.toString().contains("2010-01-25T15:38:54.82Z"));
}
public void testEmptyDateTime() throws Exception {
- Object o = JaxpVariableResolver.getSimpleContent(DOMUtils.stringToDOM("<temporary-simple-type-wrapper></temporary-simple-type-wrapper>"), QName.valueOf("{http://www.w3.org/2001/XMLSchema}dateTime"));
+ XPathFactoryImpl xpf = new XPathFactoryImpl();
+ JaxpVariableResolver jvr = new JaxpVariableResolver(null, null, xpf.getConfiguration());
+ Object o = jvr.getSimpleContent(DOMUtils.stringToDOM("<temporary-simple-type-wrapper></temporary-simple-type-wrapper>"), QName.valueOf("{http://www.w3.org/2001/XMLSchema}dateTime"));
__log.debug(o);
assertTrue(o.toString().equals(""));
}
-
+
}
Added: branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/test/resources/xslt/test.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/test/resources/xslt/test.xml (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-runtime/src/test/resources/xslt/test.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document xmlns="http://example.org/testDocument">
+Prova lettere accentate: à è ì ò ù
+</document>
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-schemas/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-schemas/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-schemas/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-bpel-schemas</artifactId>
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-scripts/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-scripts/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-scripts/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -17,8 +17,7 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-bpel-scripts</artifactId>
<name>ODE :: BPEL Test Script Files</name>
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-store/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-store/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-store/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -17,8 +17,7 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-bpel-store</artifactId>
<name>ODE :: Process Store</name>
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-store/src/main/java/org/apache/ode/store/DeploymentUnitDir.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-store/src/main/java/org/apache/ode/store/DeploymentUnitDir.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-store/src/main/java/org/apache/ode/store/DeploymentUnitDir.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -55,17 +55,8 @@
import org.apache.ode.utils.InternPool.InternableBlock;
import org.apache.ode.utils.fs.FileUtils;
import org.apache.xmlbeans.XmlOptions;
-import org.springframework.beans.BeansException;
-import org.springframework.beans.factory.BeanFactory;
-import org.springframework.beans.factory.NoSuchBeanDefinitionException;
-import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.context.ApplicationContext;
-import org.springframework.context.ApplicationEvent;
-import org.springframework.context.MessageSourceResolvable;
-import org.springframework.context.NoSuchMessageException;
import org.springframework.context.support.ClassPathXmlApplicationContext;
-import org.springframework.context.support.FileSystemXmlApplicationContext;
-import org.springframework.core.io.Resource;
import org.w3c.dom.Node;
/**
@@ -170,7 +161,7 @@
for (File bpel : bpels) {
String b = bpel.getAbsolutePath();
File cbp = new File(b.substring(0,b.lastIndexOf(".bpel")) + ".cbp");
- if (!cbp.exists()) {
+ if (!cbp.exists() || cbp.lastModified() < bpel.lastModified()) {
__log.debug("compiling " + bpel);
compile(bpel);
} else {
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -149,6 +149,10 @@
shutdownInternalDB(_inMemDs);
_inMemDs = null;
}
+ if (_executor != null) {
+ _executor.shutdownNow();
+ _executor = null;
+ }
}
@Override
@@ -960,8 +964,11 @@
}
public void refreshSchedules(String packageName) {
- for( QName pid : listProcesses(packageName) ) {
- fireEvent(new ProcessStoreEvent(ProcessStoreEvent.Type.SCHEDULE_SETTINGS_CHANGED, pid, packageName));
+ List<QName> pids = listProcesses(packageName);
+ if (pids != null) {
+ for( QName pid : pids ) {
+ fireEvent(new ProcessStoreEvent(ProcessStoreEvent.Type.SCHEDULE_SETTINGS_CHANGED, pid, packageName));
+ }
}
}
}
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-test/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-test/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-test/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-bpel-test</artifactId>
Modified: branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/java/org/apache/ode/test/BasicActivities20Test.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/java/org/apache/ode/test/BasicActivities20Test.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/java/org/apache/ode/test/BasicActivities20Test.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -54,6 +54,10 @@
go("/bpel/2.0/TestIf");
}
+ @Test public void testIfBoolean() throws Throwable {
+ go("/bpel/2.0/TestIfBoolean");
+ }
+
/**
* Tests the wait "for" syntax.
* @throws Throwable
Added: branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/TestIf.bpel
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/TestIf.bpel (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/TestIf.bpel 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,88 @@
+<!--
+ ~ 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.
+ -->
+<process name="TestIfBoolean"
+ targetNamespace="http://ode/bpel/unit-test"
+ xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ xmlns:tns="http://ode/bpel/unit-test"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:test="http://ode/bpel/unit-test.wsdl">
+
+ <import location="TestIfBoolean.wsdl"
+ namespace="http://ode/bpel/unit-test.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/" />
+
+ <partnerLinks>
+ <partnerLink name="helloPartnerLink"
+ partnerLinkType="test:HelloPartnerLinkType"
+ myRole="me" />
+ </partnerLinks>
+
+ <variables>
+ <variable name="myVar" messageType="test:HelloMessage"/>
+ <variable name="tmpBool" type="xsd:boolean"/>
+ </variables>
+
+ <sequence>
+ <receive
+ name="start"
+ partnerLink="helloPartnerLink"
+ portType="test:HelloPortType"
+ operation="hello"
+ variable="myVar"
+ createInstance="yes"/>
+
+ <assign name="assign1">
+ <copy>
+ <from>false()</from>
+ <to variable="tmpBool"/>
+ </copy>
+ </assign>
+ <if>
+ <!-- <condition>boolean($tmpBool)</condition> --> <!-- TRUE -->
+ <!-- <condition>$tmpBool</condition> --> <!-- TRUE -->
+ <!-- <condition>string($tmpBool)='true'</condition> --> <!-- FALSE -->
+ <!-- <condition>true()</condition> --><!-- TRUE -->
+ <condition>$tmpBool</condition>
+ <assign name="assignTrue">
+ <copy>
+ <from>
+ <literal>TRUE</literal>
+ </from>
+ <to variable="myVar" part="TestPart"/>
+ </copy>
+ </assign>
+ <else>
+ <assign name="assignFalse">
+ <copy>
+ <from>
+ <literal>FALSE</literal>
+ </from>
+ <to variable="myVar" part="TestPart"/>
+ </copy>
+ </assign>
+ </else>
+ </if>
+ <reply name="end"
+ partnerLink="helloPartnerLink"
+ portType="test:HelloPortType"
+ operation="hello"
+ variable="myVar"/>
+ </sequence>
+</process>
Added: branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/TestIfBoolean.wsdl
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/TestIfBoolean.wsdl (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/TestIfBoolean.wsdl 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!--
+ ~ 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.
+ -->
+
+<wsdl:definitions
+ targetNamespace="http://ode/bpel/unit-test.wsdl"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:tns="http://ode/bpel/unit-test.wsdl"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype">
+
+ <wsdl:message name="HelloMessage">
+ <wsdl:part name="TestPart" type="xsd:string"/>
+ </wsdl:message>
+
+ <wsdl:portType name="HelloPortType">
+ <wsdl:operation name="hello">
+ <wsdl:input message="tns:HelloMessage" name="TestIn"/>
+ <wsdl:output message="tns:HelloMessage" name="TestOut"/>
+ </wsdl:operation>
+ </wsdl:portType>
+
+ <wsdl:binding name="HelloSoapBinding" type="tns:HelloPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="hello">
+ <soap:operation soapAction="" style="rpc"/>
+ <wsdl:input>
+ <soap:body
+ namespace="http://ode/bpel/unit-test.wsdl"
+ use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body
+ namespace="http://ode/bpel/unit-test.wsdl"
+ use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="HelloService">
+ <wsdl:port name="HelloPort" binding="tns:HelloSoapBinding">
+ <soap:address location="http://localhost:8080/ode/processes/helloWorld"/>
+ </wsdl:port>
+ </wsdl:service>
+
+ <plnk:partnerLinkType name="HelloPartnerLinkType">
+ <plnk:role name="me" portType="tns:HelloPortType"/>
+ <plnk:role name="you" portType="tns:HelloPortType"/>
+ </plnk:partnerLinkType>
+</wsdl:definitions>
+
Added: branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/deploy.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/deploy.xml (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/deploy.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,30 @@
+<!--
+ ~ 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.
+ -->
+<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
+ xmlns:pns="http://ode/bpel/unit-test"
+ xmlns:wns="http://ode/bpel/unit-test.wsdl">
+
+
+ <process name="pns:TestIfBoolean">
+ <active>true</active>
+ <provide partnerLink="helloPartnerLink">
+ <service name="wns:HelloService" port="HelloPort"/>
+ </provide>
+ </process>
+</deploy>
Added: branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/test.properties
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/test.properties (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/bpel-test/src/test/resources/bpel/2.0/TestIfBoolean/test.properties 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,22 @@
+#
+# 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.
+#
+
+namespace=http://ode/bpel/unit-test.wsdl
+service=HelloService
+operation=hello
+request1=<message><TestPart>2.0</TestPart></message>
+response1=.*FALSE.*
Modified: branches/ODE/RiftSaw-ODE-trunk/dao-hibernate/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/dao-hibernate/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/dao-hibernate/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -17,8 +17,7 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-dao-hibernate</artifactId>
<name>ODE :: Hibernate DAO Implementation</name>
Modified: branches/ODE/RiftSaw-ODE-trunk/dao-hibernate-db/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/dao-hibernate-db/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/dao-hibernate-db/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-dao-hib-db</artifactId>
@@ -68,8 +68,8 @@
<phase>generate-sources</phase>
<configuration>
<tasks>
- <property name="maven.runtime.classpath" refid="maven.compile.classpath"/>
- <ant antfile="build.xml" target="create-schema" inheritRefs="true"/>
+ <property name="maven.runtime.classpath" refid="maven.compile.classpath" />
+ <ant antfile="build.xml" target="create-schema" inheritRefs="true" />
</tasks>
</configuration>
<goals>
Modified: branches/ODE/RiftSaw-ODE-trunk/dao-jpa/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/dao-jpa/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/dao-jpa/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -17,7 +17,7 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-dao-jpa</artifactId>
Modified: branches/ODE/RiftSaw-ODE-trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ProcessInstanceDAOImpl.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ProcessInstanceDAOImpl.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ProcessInstanceDAOImpl.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -70,17 +70,23 @@
@NamedQuery(name=ProcessInstanceDAOImpl.SELECT_FAULT_IDS_BY_PROCESS, query="select i._faultId from ProcessInstanceDAOImpl as i where i._process = :process and i._faultId is not null"),
@NamedQuery(name=ProcessInstanceDAOImpl.COUNT_FAILED_INSTANCES_BY_STATUS_AND_PROCESS_ID,
query="select count(i._instanceId), max(i._lastRecovery) from ProcessInstanceDAOImpl as i where i._process._processId = :processId and i._state in(:states) and exists(select r from ActivityRecoveryDAOImpl r where i = r._instance)"),
+ @NamedQuery(name=ProcessInstanceDAOImpl.COUNT_FAILED_INSTANCES_BY_STATUS_AND_PROCESS_IDS,
+ query="select i._process._processId, count(i._instanceId), max(i._lastRecovery) from ProcessInstanceDAOImpl as i where i._process._processId in (:processIds) and i._state = 20 and exists(select r from ActivityRecoveryDAOImpl r where i = r._instance) group by i._process._processId"),
+ @NamedQuery(name=ProcessInstanceDAOImpl.COUNT_INSTANCES_BY_PROCESSES_IDS_AND_STATES,
+ query="select i._process._processId, count(i._instanceId) from ProcessInstanceDAOImpl as i where i._process._processId in (:processIds) and i._state in(:states) group by i._process._processId"),
@NamedQuery(name=ProcessInstanceDAOImpl.DELETE_INSTANCE_BY_ID, query="delete from ProcessInstanceDAOImpl as p where p._instanceId = :instanceId")
})
public class ProcessInstanceDAOImpl extends BpelDAO implements ProcessInstanceDAO {
private static final Log __log = LogFactory.getLog(ProcessInstanceDAOImpl.class);
public final static String DELETE_INSTANCES_BY_PROCESS = "DELETE_INSTANCES_BY_PROCESS";
- public final static String SELECT_INSTANCE_IDS_BY_PROCESS = "SELECT_INSTANCE_IDS_BY_PROCESS";
- public final static String COUNT_INSTANCE_IDS_BY_PROCESS = "COUNT_INSTANCE_IDS_BY_PROCESS";
+ public final static String SELECT_INSTANCE_IDS_BY_PROCESS = "SELECT_INSTANCE_IDS_BY_PROCESS";
+ public final static String COUNT_INSTANCE_IDS_BY_PROCESS = "COUNT_INSTANCE_IDS_BY_PROCESS";
public final static String SELECT_FAULT_IDS_BY_PROCESS = "SELECT_FAULT_IDS_BY_PROCESS";
public final static String COUNT_FAILED_INSTANCES_BY_STATUS_AND_PROCESS_ID = "COUNT_FAILED_INSTANCES_BY_STATUS_AND_PROCESS_ID";
+ public final static String COUNT_FAILED_INSTANCES_BY_STATUS_AND_PROCESS_IDS = "COUNT_FAILED_INSTANCES_BY_STATUS_AND_PROCESS_IDS";
+ public static final String COUNT_INSTANCES_BY_PROCESSES_IDS_AND_STATES = "COUNT_INSTANCES_BY_PROCESSES_IDS_AND_STATES";
public final static String DELETE_INSTANCE_BY_ID = "DELETE_INSTANCE_BY_ID";
Modified: branches/ODE/RiftSaw-ODE-trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ProcessManagementDAOImpl.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ProcessManagementDAOImpl.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/bpel/ProcessManagementDAOImpl.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -20,23 +20,25 @@
package org.apache.ode.dao.jpa.bpel;
import java.util.Collection;
+import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
-import javax.xml.namespace.QName;
+
import javax.persistence.EntityManager;
import javax.persistence.Query;
+import javax.xml.namespace.QName;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.ode.bpel.common.InstanceFilter;
+import org.apache.ode.bpel.common.InstanceFilter.StatusKeys;
import org.apache.ode.dao.bpel.BpelDAOConnection;
import org.apache.ode.dao.bpel.ProcessInstanceDAO;
import org.apache.ode.dao.bpel.ProcessManagementDAO;
-import org.apache.ode.dao.bpel.ProcessManagementDAO.FailedSummaryValue;
-import org.apache.ode.dao.bpel.ProcessManagementDAO.InstanceSummaryKey;
+
public class ProcessManagementDAOImpl implements ProcessManagementDAO {
private static final Log __log = LogFactory.getLog(ProcessManagementDAOImpl.class);
@@ -85,10 +87,35 @@
}
public Map<InstanceSummaryKey, Long> countInstancesSummary(Set<String> pids) {
- return new HashMap<InstanceSummaryKey, Long>();
+ Map<InstanceSummaryKey, Long> result = new HashMap<InstanceSummaryKey, Long>();
+ if (!pids.isEmpty()) {
+ for (StatusKeys status : InstanceFilter.StatusKeys.values()) {
+ Query query = em.createNamedQuery(ProcessInstanceDAOImpl.COUNT_INSTANCES_BY_PROCESSES_IDS_AND_STATES);
+ query.setParameter("states", new InstanceFilter("status=" + status.toString()).convertFilterState());
+ query.setParameter("processIds", pids);
+ for (Object o : query.getResultList()) {
+ Object[] row = (Object[]) o;
+ InstanceSummaryKey key = new InstanceSummaryKey(row[0].toString(), status.toString());
+ result.put(key, (Long) row[1]);
+ }
+ }
+ }
+
+ return result;
}
public Map<String, FailedSummaryValue> findFailedCountAndLastFailedDateForProcessIds(Set<String> pids) {
- return new HashMap<String, FailedSummaryValue>();
+ Map<String, FailedSummaryValue> result = new HashMap<String, FailedSummaryValue>();
+ if (!pids.isEmpty()) {
+ Query query = em.createNamedQuery(ProcessInstanceDAOImpl.COUNT_FAILED_INSTANCES_BY_STATUS_AND_PROCESS_IDS);
+ query.setParameter("processIds", pids);
+ for (Object o : query.getResultList()) {
+ System.out.println(o);
+ Object[] row = (Object[]) o;
+ result.put(row[0].toString(), new FailedSummaryValue((Long) row[1], (Date) row[2]));
+ }
+ }
+ return result;
+
}
}
Modified: branches/ODE/RiftSaw-ODE-trunk/dao-jpa-hibernate/.classpath
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/dao-jpa-hibernate/.classpath 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/dao-jpa-hibernate/.classpath 2011-01-16 12:18:37 UTC (rev 1236)
@@ -88,7 +88,6 @@
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-jms/2.0.6/spring-jms-2.0.6.jar"/>
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-support/2.0.6/spring-support-2.0.6.jar"/>
<classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/woden/woden/1.0-incubating-M7b/woden-1.0-incubating-M7b.jar"/>
<classpathentry kind="var" path="M2_REPO/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar"/>
<classpathentry kind="var" path="M2_REPO/org/codehaus/woodstox/wstx-asl/3.2.4/wstx-asl-3.2.4.jar"/>
<classpathentry kind="var" path="M2_REPO/xalan/xalan/2.7.1/xalan-2.7.1.jar"/>
Modified: branches/ODE/RiftSaw-ODE-trunk/dao-jpa-ojpa/.classpath
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/dao-jpa-ojpa/.classpath 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/dao-jpa-ojpa/.classpath 2011-01-16 12:18:37 UTC (rev 1236)
@@ -93,7 +93,6 @@
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-jms/2.0.6/spring-jms-2.0.6.jar"/>
<classpathentry kind="var" path="M2_REPO/org/springframework/spring-support/2.0.6/spring-support-2.0.6.jar"/>
<classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/woden/woden/1.0-incubating-M7b/woden-1.0-incubating-M7b.jar"/>
<classpathentry kind="var" path="M2_REPO/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar"/>
<classpathentry kind="var" path="M2_REPO/org/codehaus/woodstox/wstx-asl/3.2.4/wstx-asl-3.2.4.jar"/>
<classpathentry kind="var" path="M2_REPO/xalan/xalan/2.7.1/xalan-2.7.1.jar"/>
Modified: branches/ODE/RiftSaw-ODE-trunk/dao-jpa-ojpa-derby/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/dao-jpa-ojpa-derby/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/dao-jpa-ojpa-derby/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -17,7 +17,7 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-dao-jpa-ojpa-derby</artifactId>
@@ -161,7 +161,7 @@
</goals>
<configuration>
<tasks>
- <property name="maven.runtime.classpath" refid="maven.compile.classpath"/>
+ <property name="maven.runtime.classpath" refid="maven.compile.classpath" />
<ant antfile="build.xml" target="create-schema" />
</tasks>
</configuration>
@@ -204,7 +204,7 @@
</goals>
<configuration>
<tasks>
- <property name="ode.version" value="${project.version}"/>
+ <property name="ode.version" value="${project.version}" />
<ant antfile="build.xml" target="zip-derby-db" />
</tasks>
</configuration>
Added: branches/ODE/RiftSaw-ODE-trunk/distro/license/bubbling-LICENSE
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/license/bubbling-LICENSE (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/license/bubbling-LICENSE 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,41 @@
+Software License Agreement (BSD License)
+
+* Javascript Bubbling Library
+* http://www.bubbling-library.com
+
+Copyright (c) 2009, Caridy Patino.
+All rights reserved.
+
+Redistribution and use of this software in source and binary forms, with or without modification, are
+permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above
+ copyright notice, this list of conditions and the
+ following disclaimer.
+
+* Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the
+ following disclaimer in the documentation and/or other
+ materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
+TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+To get started using Bubbling Library. Simply include the two source files into the head of your document:
+
+<!-- YUI Core -->
+<script src="http://yui.yahooapis.com/2.7.0/build/utilities/utilities.js" type="text/javascript"></script>
+<!-- Bubbling Library Core -->
+<script src="http://js.bubbling-library.com/2.1/build/bubbling/bubbling.js" type="text/javascript"></script>
+
+The documentation can be found here:
+http://www.bubbling-library.com/eng/api/docs/
+
+Best,
+Caridy Patino
\ No newline at end of file
Added: branches/ODE/RiftSaw-ODE-trunk/distro/license/yui-LICENSE
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/license/yui-LICENSE (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/license/yui-LICENSE 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,58 @@
+Software License Agreement (BSD License)
+
+Copyright (c) 2010, Yahoo! Inc. All rights reserved.
+
+Redistribution and use of this software in source and binary forms, with
+or without modification, are permitted provided that the following
+conditions are met:
+
+* Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer. * Redistributions
+in binary form must reproduce the above copyright notice, this list of
+conditions and the following disclaimer in the documentation and/or
+other materials provided with the distribution. * Neither the name of
+Yahoo! Inc. nor the names of its contributors may be used to endorse or
+promote products derived from this software without specific prior
+written permission of Yahoo! Inc.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Sources of
+Intellectual Property Included in the YUI Library
+
+YUI is issued by Yahoo! under the BSD license above. Below is a list of
+certain publicly available software that is the source of intellectual
+property in YUI, along with the licensing terms that pertain to
+thosesources of IP. This list is for informational purposes only and is
+not intended to represent an exhaustive list of third party
+contributions to the YUI.
+
+* Douglas Crockford's JSON parsing and stringifying methods: In the JSON
+Utility, Douglas Crockford's JSON parsing and stringifying methods are
+adapted from work published at JSON.org. The adapted work is in the
+public domain.
+
+* Robert Penner's animation-easing algorithms: In the Animation Utility,
+YUI makes use of Robert Penner's algorithms for easing.
+
+* Geoff Stearns's SWFObject: In the Charts Control and the Uploader
+versions through 2.7.0, YUI makes use of Geoff Stearns's SWFObject v1.5
+for Flash Player detection and embedding. More information on SWFObject
+can be found here (http://blog.deconcept.com/swfobject/). SWFObject is
+(c) 2007 Geoff Stearns and is released under the MIT License
+(http://www.opensource.org/licenses/mit-license.php).
+
+* Diego Perini's IEContentLoaded technique: The Event Utility employs a
+technique developed by Diego Perini and licensed under GPL. YUI's use of
+this technique is included under our BSD license with the author's
+permission.
+
+
Modified: branches/ODE/RiftSaw-ODE-trunk/distro/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-distro</artifactId>
Added: branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/osgi.bnd
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/osgi.bnd (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/osgi.bnd 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,3 @@
+Import-Package: org.apache.servicemix.cxfbc,org.apache.servicemix.common.osgi
+Include-Resource: src/main/resources
+Export-Package:
Added: branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/pom.xml (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ 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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.ode.examples</groupId>
+ <artifactId>helloworld-bundle</artifactId>
+ <name>ODE :: Examples :: Hello World OSGi</name>
+ <version>1.3.5</version>
+ <packaging>bundle</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>1.4.3</version>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>${project.groupId}-${project.artifactId}</Bundle-SymbolicName>
+ <Bundle-Version>${project.version}</Bundle-Version>
+ <_include>-osgi.bnd</_include>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>send</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>eviware</groupId>
+ <artifactId>maven-soapui-plugin</artifactId>
+ <version>3.6</version>
+ <configuration>
+ <projectFile>${basedir}/src/test/resources/helloworld-soapui-project.xml</projectFile>
+ <printReport>true</printReport>
+ </configuration>
+ <executions>
+ <execution>
+ <id>soap-integration-test</id>
+ <phase>integration-test</phase>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>eviwarePluginRepository</id>
+ <url>http://www.eviware.com/repository/maven2/</url>
+ </pluginRepository>
+ </pluginRepositories>
+ </profile>
+ </profiles>
+
+</project>
Added: branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/HelloWorld2.bpel
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/HelloWorld2.bpel (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/HelloWorld2.bpel 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<!--
+ ~ 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.
+ -->
+<process name="HelloWorld2"
+ targetNamespace="urn:/HeaderTest.bpel"
+ xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
+ xmlns:tns="urn:/HeaderTest.bpel"
+ xmlns:hello="urn:/HelloWorld2.wsdl"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <import location="HelloWorld2.wsdl"
+ namespace="urn:/HelloWorld2.wsdl"
+ importType="http://schemas.xmlsoap.org/wsdl/" />
+
+ <partnerLinks>
+ <partnerLink name="helloPartnerLink"
+ partnerLinkType="hello:HelloPartnerLinkType"
+ myRole="Provider" />
+ </partnerLinks>
+
+ <variables>
+ <variable name="request" messageType="hello:HelloRequest"/>
+ <variable name="response" messageType="hello:HelloResponse"/>
+ <variable name="text" type="xsd:string"/>
+ </variables>
+
+ <sequence>
+ <receive
+ name="start"
+ partnerLink="helloPartnerLink"
+ portType="hello:HelloPortType"
+ operation="Hello"
+ variable="request"
+ createInstance="yes"/>
+
+ <assign name="assign1">
+ <copy>
+ <from>$request.body/hello:text</from>
+ <to variable="text"/>
+ </copy>
+ <copy>
+ <from>
+ <literal>
+ <hello:HelloResponse>
+ <hello:text/>
+ </hello:HelloResponse>
+ </literal>
+ </from>
+ <to>$response.body</to>
+ </copy>
+ <copy>
+ <from>concat($text,' World')</from>
+ <to>$response.body/hello:text</to>
+ </copy>
+ </assign>
+
+ <reply name="end"
+ partnerLink="helloPartnerLink"
+ portType="hello:HelloPortType"
+ operation="Hello"
+ variable="response"/>
+ </sequence>
+</process>
Added: branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/HelloWorld2.wsdl
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/HelloWorld2.wsdl (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/HelloWorld2.wsdl 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<!--
+ ~ 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.
+ -->
+<definitions name="Hello"
+ targetNamespace="urn:/HelloWorld2.wsdl"
+ xmlns:tns="urn:/HelloWorld2.wsdl"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <schema targetNamespace="urn:/HelloWorld2.wsdl"
+ xmlns="http://www.w3.org/2001/XMLSchema">
+ <element name="HelloRequest">
+ <complexType>
+ <all>
+ <element name="text" type="string"/>
+ </all>
+ </complexType>
+ </element>
+ <element name="HelloResponse">
+ <complexType>
+ <all>
+ <element name="text" type="string"/>
+ </all>
+ </complexType>
+ </element>
+ </schema>
+ </types>
+
+ <message name="HelloRequest">
+ <part name="body" element="tns:HelloRequest"/>
+ </message>
+
+ <message name="HelloResponse">
+ <part name="body" element="tns:HelloResponse"/>
+ </message>
+
+ <portType name="HelloPortType">
+ <operation name="Hello">
+ <input message="tns:HelloRequest"/>
+ <output message="tns:HelloResponse"/>
+ </operation>
+ </portType>
+
+ <plnk:partnerLinkType name="HelloPartnerLinkType">
+ <plnk:role name="Provider" portType="tns:HelloPortType"/>
+ </plnk:partnerLinkType>
+
+ <binding name="HelloSoapBinding" type="tns:HelloPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="Hello">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+
+ <service name="HelloService">
+ <port name="HelloPort" binding="tns:HelloSoapBinding">
+ <soap:address location="http://unused.url/here"/>
+ </port>
+ </service>
+
+</definitions>
Added: branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/META-INF/spring/beans.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/META-INF/spring/beans.xml (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/META-INF/spring/beans.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ 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.
+ -->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ http://servicemix.apache.org/cxfbc/1.0
+ http://servicemix.apache.org/cxfbc/1.0/servicemix-cxf-bc.xsd
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+ ">
+
+ <bean class="org.apache.servicemix.common.osgi.EndpointExporter" />
+
+ <cxfbc:consumer
+ xmlns:helloworld="urn:/HelloWorld2.wsdl"
+ wsdl="classpath:HelloWorld2.wsdl"
+ locationURI="http://localhost:8193/HelloService"
+ targetService="helloworld:HelloService"
+ targetEndpoint="HelloPort"
+ />
+
+</beans>
Added: branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/deploy.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/deploy.xml (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/main/resources/deploy.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,30 @@
+<!--
+ ~ 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.
+ -->
+<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
+ xmlns:pns="urn:/HeaderTest.bpel"
+ xmlns:sns="urn:/HelloWorld2.wsdl" >
+
+
+ <process name="pns:HelloWorld2">
+ <active>true</active>
+ <provide partnerLink="helloPartnerLink">
+ <service name="sns:HelloService" port="HelloPort"/>
+ </provide>
+ </process>
+</deploy>
Added: branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/test/resources/helloworld-soapui-project.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/test/resources/helloworld-soapui-project.xml (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/helloworld2-osgi/src/test/resources/helloworld-soapui-project.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<con:soapui-project name="HelloService" resourceRoot="" soapui-version="3.5.1" xmlns:con="http://eviware.com/soapui/config"><con:settings/><con:interface xsi:type="con:WsdlInterface" wsaVersion="NONE" name="HelloSoapBinding" type="wsdl" bindingName="{urn:/HelloWorld2.wsdl}HelloSoapBinding" soapVersion="1_1" anonymous="optional" definition="http://localhost:8193/HelloService?wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache type="TEXT" rootPart="http://localhost:8193/HelloService?wsdl"><con:part><con:url>http://localhost:8193/HelloService?wsdl</con:url><con:content><![CDATA[<definitions name="Hello" targetNamespace="urn:/HelloWorld2.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:smix="http://servicemix.org/wsdl/jbi/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="urn:/HelloWorld2.wsdl">
+ <types>
+ <schema targetNamespace="urn:/HelloWorld2.wsdl" xmlns="http://www.w3.org/2001/XMLSchema">
+ <element name="HelloRequest">
+ <complexType>
+ <all>
+ <element name="text" type="string"/>
+ </all>
+ </complexType>
+ </element>
+ <element name="HelloResponse">
+ <complexType>
+ <all>
+ <element name="text" type="string"/>
+ </all>
+ </complexType>
+ </element>
+ </schema>
+ </types>
+ <message name="HelloResponse">
+ <part element="tns:HelloResponse" name="body"></part>
+ </message>
+ <message name="HelloRequest">
+ <part element="tns:HelloRequest" name="body"></part>
+ </message>
+ <portType name="HelloPortType">
+ <operation name="Hello">
+ <input message="tns:HelloRequest"></input>
+ <output message="tns:HelloResponse"></output>
+ </operation>
+ </portType>
+ <binding name="HelloSoapBinding" type="tns:HelloPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="Hello">
+ <soap:operation soapAction=""/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="HelloService">
+ <port binding="tns:HelloSoapBinding" name="HelloPort">
+ <soap:address location="http://localhost:8193/HelloService"/>
+ <smix:endpoint defaultMep="in-out" role="consumer"/>
+ </port>
+ </service>
+</definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>http://localhost:8193/HelloService</con:endpoint></con:endpoints><con:operation isOneWay="false" action="" name="Hello" bindingOperationName="Hello" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Request 1"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8193/HelloService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hel="urn:/HelloWorld2.wsdl">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <hel:HelloRequest>
+ <hel:text>Hello</hel:text>
+ </hel:HelloRequest>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="urn:/HelloWorld2.wsdl/HelloPortType/HelloRequest"/><con:wsrmConfig version="1.2"/></con:call></con:operation></con:interface><con:testSuite name="TestSend"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="Send" searchProperties="true"><con:settings/><con:testStep type="request" name="Hello - Request 1"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>HelloSoapBinding</con:interface><con:operation>Hello</con:operation><con:request name="Hello - Request 1" outgoingWss="" incomingWss="" timeout="" wssPasswordType=""><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting></!
con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>http://localhost:8193/HelloService</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hel="urn:/HelloWorld2.wsdl">
+ <soapenv:Header/>
+ <soapenv:Body>
+ <hel:HelloRequest>
+ <hel:text>Hello</hel:text>
+ </hel:HelloRequest>
+ </soapenv:Body>
+</soapenv:Envelope>]]></con:request><con:assertion type="SOAP Response"/><con:jmsConfig JMSDeliveryMode="PERSISTENT"/><con:jmsPropertyConfig/><con:wsaConfig mustUnderstand="NONE" version="200508" action="urn:/HelloWorld2.wsdl/HelloPortType/HelloRequest"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:properties/><con:wssContainer/></con:soapui-project>
\ No newline at end of file
Modified: branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/osgi.bnd
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/osgi.bnd 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/osgi.bnd 2011-01-16 12:18:37 UTC (rev 1236)
@@ -1,4 +1,3 @@
-Bundle-Activator: org.apache.ode.jbi.osgi.ServiceUnitActivator
+Import-Package: org.apache.servicemix.cxfbc,org.apache.servicemix.common.osgi
Export-Package: org.apache.ode.ping
-Import-Package: org.apache.ode.jbi.osgi,org.apache.servicemix.http,org.apache.servicemix.common.osgi
Include-Resource: src/main/resources
Modified: branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.soa.bpel.examples</groupId>
<artifactId>ping-pong-bundle</artifactId>
Modified: branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/src/main/resources/META-INF/spring/xbean.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/src/main/resources/META-INF/spring/xbean.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/src/main/resources/META-INF/spring/xbean.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,27 +18,22 @@
~ under the License.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:http="http://servicemix.apache.org/http/1.0"
- xmlns:ping="urn:/Ping.wsdl"
- xmlns:pong="urn:/Pong.wsdl"
+ xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
- http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd
- http://servicemix.apache.org/http/1.0
- http://servicemix.apache.org/http/1.0/servicemix-http.xsd">
- <http:endpoint
- service="ping:PingService"
- endpoint="http"
- targetService="ping:PingService"
- targetEndpoint="PingPort"
- defaultOperation="Ping"
- role="consumer"
- locationURI="http://localhost:8192/PingHttp/"
- defaultMep="http://www.w3.org/2004/08/wsdl/in-out"
- wsdlResource="classpath:Ping.wsdl"
- soapVersion="1.1"
- soap="true" />
-
+ http://servicemix.apache.org/cxfbc/1.0
+ http://servicemix.apache.org/cxfbc/1.0/servicemix-cxf-bc.xsd
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+ ">
+
<bean class="org.apache.servicemix.common.osgi.EndpointExporter" />
+ <cxfbc:consumer
+ xmlns:ping="urn:/Ping.wsdl"
+ xmlns:pong="urn:/Pong.wsdl"
+ wsdl="classpath:Ping.wsdl"
+ locationURI="http://localhost:8193/PingService"
+ targetService="ping:PingService"
+ targetEndpoint="PingPort" />
+
</beans>
Modified: branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/src/main/resources/Ping.wsdl
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/src/main/resources/Ping.wsdl 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/distro/src/examples-jbi/maven2/ping-pong-osgi/src/main/resources/Ping.wsdl 2011-01-16 12:18:37 UTC (rev 1236)
@@ -49,12 +49,24 @@
<plnk:role name="Provider" portType="tns:PingPortType"/>
</plnk:partnerLinkType>
- <!--
+ <binding name="PingSoapBinding" type="tns:PingPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="Ping">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ </operation>
+ </binding>
- This is an abstract interface/portType definition. Note the lack of
- binding and service: these are defined by the HTTP binding component.
- See ping-http/Ping.wsdl for details.
+ <service name="PingService">
+ <port name="PingPort" binding="tns:PingSoapBinding">
+ <!-- this address will be overridden by CXF -->
+ <soap:address location="http://unused.url/here" />
+ </port>
+ </service>
- -->
-
</definitions>
Modified: branches/ODE/RiftSaw-ODE-trunk/jacob/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jacob/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/jacob/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-jacob</artifactId>
Modified: branches/ODE/RiftSaw-ODE-trunk/jbi/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -434,9 +434,7 @@
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!-- FIXME: temporary skip it -->
- <!--
<skipTests>true</skipTests>
- -->
<systemProperties>
<property>
<name>java.naming.factory.initial</name>
Modified: branches/ODE/RiftSaw-ODE-trunk/jbi/src/main/java/org/apache/ode/jbi/OdeContext.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi/src/main/java/org/apache/ode/jbi/OdeContext.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi/src/main/java/org/apache/ode/jbi/OdeContext.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -51,6 +51,7 @@
import org.apache.ode.bpel.pmapi.InstanceManagement;
import org.apache.ode.bpel.pmapi.ProcessManagement;
import org.apache.ode.dao.bpel.BpelDAOConnectionFactory;
+import org.apache.ode.dao.scheduler.SchedulerDAOConnectionFactory;
import org.apache.ode.dao.store.ConfStoreDAOConnectionFactory;
import org.apache.ode.jbi.msgmap.Mapper;
import org.apache.ode.jbi.util.WSDLFlattener;
@@ -102,6 +103,8 @@
BpelDAOConnectionFactory _daocf;
ConfStoreDAOConnectionFactory _cdaocf;
+
+ SchedulerDAOConnectionFactory _schedaocf;
OdeConfigProperties _config;
Modified: branches/ODE/RiftSaw-ODE-trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -39,13 +39,15 @@
import org.apache.ode.bpel.extvar.jdbc.JdbcExternalVariableModule;
import org.apache.ode.bpel.iapi.BpelEventListener;
+import org.apache.ode.bpel.iapi.CacheProvider;
import org.apache.ode.bpel.intercept.MessageExchangeInterceptor;
import org.apache.ode.dao.bpel.BpelDAOConnectionFactory;
+import org.apache.ode.dao.scheduler.SchedulerDAOConnectionFactory;
import org.apache.ode.dao.store.ConfStoreDAOConnectionFactory;
+import org.apache.ode.il.cache.CacheProviderFactory;
import org.apache.ode.il.dbutil.Database;
import org.apache.ode.il.dbutil.DatabaseConfigException;
import org.apache.ode.jbi.msgmap.Mapper;
-import org.apache.ode.scheduler.simple.JdbcDelegate;
import org.apache.ode.scheduler.simple.SimpleScheduler;
import org.apache.ode.store.ProcessStoreImpl;
import org.apache.ode.utils.GUID;
@@ -77,6 +79,8 @@
private ObjectName _mbeanName;
private OdeConfigProperties _config;
+
+ private CacheProvider _cacheProvider;
public OdeLifeCycle() {
@@ -128,7 +132,9 @@
__log.debug("Starting Dao.");
initDao();
-
+
+ initCacheProvider();
+
__log.debug("Starting BPEL server.");
initBpelServer();
@@ -196,6 +202,16 @@
_ode._dataSource = _db.getDataSource();
}
+ private void initCacheProvider() {
+ _cacheProvider = CacheProviderFactory.getCacheProvider(_ode._config);
+ try {
+ _cacheProvider.start();
+ } catch (Exception e) {
+ __log.error("Error in starting cache provider");
+ throw new RuntimeException("Error in initCacheProvider.", e);
+ }
+ }
+
/**
* Load the "ode-jbi.properties" file from the install directory.
*
@@ -230,12 +246,12 @@
_ode._executorService = Executors.newCachedThreadPool();
else
_ode._executorService = Executors.newFixedThreadPool(_ode._config.getThreadPoolMaxSize());
- _ode._scheduler = new SimpleScheduler(new GUID().toString(),new JdbcDelegate(_ode._dataSource), _ode._config.getProperties());
+ _ode._scheduler = new SimpleScheduler(new GUID().toString(), _ode._schedaocf, _ode.getTransactionManager(), _ode._config.getProperties());
_ode._scheduler.setJobProcessor(_ode._server);
_ode._scheduler.setExecutorService(_ode._executorService);
_ode._scheduler.setTransactionManager((TransactionManager) _ode.getContext().getTransactionManager());
- _ode._store = new ProcessStoreImpl(_ode._eprContext , _ode.getTransactionManager(), _ode._cdaocf);
+ _ode._store = new ProcessStoreImpl(_ode._eprContext , _ode.getTransactionManager(), _ode._cdaocf, _cacheProvider);
registerExternalVariableModules();
_ode._store.loadAll();
@@ -267,15 +283,18 @@
private void initDao() throws JBIException {
BpelDAOConnectionFactory bcf;
ConfStoreDAOConnectionFactory ccf;
+ SchedulerDAOConnectionFactory scf;
try {
bcf = _db.createDaoCF();
ccf = _db.createDaoStoreCF();
+ scf = _db.createDaoSchedulerCF();
} catch (DatabaseConfigException e) {
String errmsg = __msgs.msgDAOInstantiationFailed(_ode._config.getDAOConnectionFactory());
throw new JBIException(errmsg,e);
}
_ode._daocf = bcf;
_ode._cdaocf = ccf;
+ _ode._schedaocf = scf;
}
private void initConnector() throws JBIException {
@@ -464,6 +483,14 @@
} catch (Exception ex) {
}
+
+ if (_cacheProvider != null) {
+ try {
+ _cacheProvider.stop();
+ } catch(Exception e) {
+ __log.debug("Error stopping cache provider.", e);
+ }
+ }
try {
_db.shutdown();
Modified: branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<!--
@@ -138,5 +137,20 @@
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>4.2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ <version>4.2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.osgi</groupId>
+ <artifactId>spring-osgi-core</artifactId>
+ <version>1.2.0</version>
+ </dependency>
</dependencies>
</project>
Modified: branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/ServiceUnitActivator.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/ServiceUnitActivator.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/ServiceUnitActivator.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -19,101 +19,27 @@
package org.apache.ode.jbi.osgi;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Enumeration;
+import java.util.logging.Logger;
-import javax.jbi.component.Component;
-import javax.jbi.component.ServiceUnitManager;
-
-import org.apache.commons.io.IOUtils;
-import org.osgi.framework.Bundle;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
+
/**
- * @author mproch
+ * This class is now deprecated in favor of using OdeExtender service, which watches
+ * deployment of bundles and manages start/stop/install/uninstall/update from OSGi
+ * to ODE.
*
+ * @deprecated
+ * @see OdeExtenderImpl
*/
public class ServiceUnitActivator implements BundleActivator {
+ private static final Logger LOG = Logger.getLogger(ServiceUnitActivator.class.getName());
- File rootDir;
- String generatedName;
-
public void start(BundleContext context) throws Exception {
- generatedName = context.getBundle().getSymbolicName();
- rootDir = context.getDataFile("bpelData");
- rootDir.mkdirs();
- Enumeration<?> en = context.getBundle().findEntries("/", "*", false);
- while (en.hasMoreElements()) {
- copyOne(rootDir, (URL) en.nextElement());
- }
- ServiceReference[] refs = context.getAllServiceReferences(
- "javax.jbi.component.Component", "(&(NAME=OdeBpelEngine))");
- if (refs == null || refs.length != 1) {
- throw new RuntimeException("no appropriate service :(");
- }
- ServiceUnitManager suM = ((Component) context.getService(refs[0]))
- .getServiceUnitManager();
- ClassLoader l = Thread.currentThread().getContextClassLoader();
- try {
- ClassLoader suL = suM.getClass().getClassLoader();
- Thread.currentThread().setContextClassLoader(new BundleClassLoader(suL, context.getBundle()));
- suM.deploy(generatedName, rootDir.getAbsolutePath());
- suM.init(generatedName, rootDir.getAbsolutePath());
- suM.start(generatedName);
- } finally {
- Thread.currentThread().setContextClassLoader(l);
- }
-
+ LOG.warning("Use of " + this.getClass().getName() + " has been deprecated. BPEL bundle deployment is now handled by the ODE extender service. Remove Bundle-Activator from OSGi manifest for bundle: " + context.getBundle().getSymbolicName());
}
- private void copyOne(File dest, URL url) throws Exception {
- File d = new File(dest, url.getPath());
- InputStream str = url.openStream();
- if (str != null) {
- FileWriter wr = new FileWriter(d);
- try {
- IOUtils.copy(str, wr);
- } finally {
- wr.flush();
- wr.close();
- }
- }
- }
-
public void stop(BundleContext context) throws Exception {
- ServiceReference[] refs = context.getAllServiceReferences(
- "javax.jbi.component.Component", "(&(NAME=OdeBpelEngine))");
- if (refs == null || refs.length != 1) {
- throw new RuntimeException("no appropriate service :(");
- }
- ServiceUnitManager suM = ((Component) context.getService(refs[0]))
- .getServiceUnitManager();
- suM.shutDown(generatedName);
- suM.undeploy(generatedName, rootDir.getAbsolutePath());
-
}
-
- public class BundleClassLoader extends ClassLoader {
- private final Bundle delegate;
-
- public BundleClassLoader(ClassLoader parent, Bundle delegate) {
- super(parent);
- this.delegate = delegate;
- }
-
- @Override
- public Class<?> loadClass(String name) throws ClassNotFoundException {
- try {
- return getParent().loadClass(name);
- } catch (Exception e) {
- return delegate.loadClass(name);
- }
- }
- }
-
}
Added: branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeDeployedBundle.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeDeployedBundle.java (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeDeployedBundle.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,303 @@
+/*
+ * 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.jbi.osgi.deployer;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.FilenameFilter;
+import java.io.InputStream;
+import java.lang.reflect.Field;
+import java.net.URL;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.jbi.component.Component;
+import javax.jbi.component.ComponentLifeCycle;
+import javax.jbi.component.ServiceUnitManager;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.xml.namespace.QName;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.ode.bpel.iapi.ProcessStore;
+import org.apache.ode.jbi.OdeContext;
+import org.osgi.framework.Bundle;
+
+public class OdeDeployedBundle {
+ private static final Logger LOG = Logger.getLogger(OdeDeployedBundle.class.getName());
+ private boolean updated;
+ private Bundle bundle;
+ private OdeExtenderImpl odeRegistrationService;
+ private File rootDir;
+ private String duName;
+ private String name;
+
+ OdeDeployedBundle(Bundle bundle, OdeExtenderImpl odeRegistrationService) {
+ if (LOG.isLoggable(Level.FINE))
+ LOG.fine("Initialized ODE service unit deployer for bundle: " + bundle.getSymbolicName());
+ this.bundle = bundle;
+ this.odeRegistrationService = odeRegistrationService;
+ }
+
+ String getName() {
+ if (this.name == null)
+ this.name = this.bundle.getSymbolicName();
+ return this.name;
+ }
+
+ private String getDUName() {
+ if (this.duName == null)
+ this.duName = getName() + "-" + bundle.getVersion().getMicro();
+ return this.duName;
+ }
+
+ private File getRootDir() {
+ if (this.rootDir == null && this.bundle.getBundleContext() != null)
+ this.rootDir = this.bundle.getBundleContext().getDataFile("bpelData/" + getDUName());
+ return this.rootDir;
+ }
+
+ void doStart() throws Exception {
+ // If we are already started, don't bother starting again.
+ LOG.info("Starting ODE service unit: " + getName());
+
+ // Wait until ODE is available before starting.
+ waitAvailable();
+
+ // Do we need to undeploy first?
+ boolean needUpdate = updated;
+ boolean forceDeploy = needUpdate;
+ this.updated = false;
+
+ // Do deploy.
+ this.deploy(this.bundle, this.odeRegistrationService.getOdeComponent().getServiceUnitManager(), forceDeploy, needUpdate);
+ }
+
+ void doStop() throws Exception {
+ LOG.info("Stopping ODE service unit: " + getName());
+ this.shutdown(this.bundle, this.odeRegistrationService.getOdeComponent().getServiceUnitManager());
+ }
+
+ void doInstall() throws Exception {
+ LOG.info("Installing ODE service unit: " + getName());
+ }
+
+ void doUninstall() throws Exception {
+ LOG.info("Uninstalling ODE service unit: " + getName());
+ this.undeploy(this.bundle, this.odeRegistrationService.getOdeComponent().getServiceUnitManager());
+ }
+
+ void doUpdate() throws Exception {
+ LOG.info("Updating ODE service unit: " + getName());
+
+ // We simply mark the update state of this bundle so that on next start, we do a redeploy
+ updated = true;
+ }
+
+ private void deploy(Bundle bundle, ServiceUnitManager suM, boolean forceDeploy, boolean undeploy) throws Exception {
+ // Do deployment.
+ File rootDir = getRootDir();
+ String duName = getDUName();
+ boolean needDeploy = rootDir.mkdirs() || forceDeploy;
+ if (LOG.isLoggable(Level.FINE))
+ LOG.fine("Exploding content to " + rootDir + " for " + duName);
+ Enumeration<?> en = bundle.findEntries("/", "*", false);
+ while (en.hasMoreElements())
+ needDeploy |= copyOne(rootDir, (URL) en.nextElement());
+
+ // Now start it.
+ ClassLoader l = Thread.currentThread().getContextClassLoader();
+ try {
+ ClassLoader suL = suM.getClass().getClassLoader();
+ Thread.currentThread().setContextClassLoader(new BundleClassLoader(suL, bundle));
+ try {
+ // Try first an init/start, which will fail if the process isn't
+ // here.
+ if (needDeploy) {
+ // If deployed, undeploy first.
+ if (undeploy && isDeployed(duName)) {
+ // Do the undeploy to service unit manager.
+ LOG.info("Performing undeploy " + duName + " from dir " + rootDir);
+ suM.undeploy(duName, rootDir.getAbsolutePath());
+
+ // Now, remove any .cbp files.
+ File[] cbpFiles = rootDir.listFiles(new FilenameFilter() {
+ public boolean accept(File dir, String name) {
+ return name.endsWith(".cbp");
+ }
+ });
+ for (File cbpFile : cbpFiles) {
+ LOG.info("Removing compiled bpel process: " + cbpFile);
+ cbpFile.delete();
+ }
+ }
+
+ LOG.info("Deploying " + duName + " to dir " + rootDir);
+ suM.deploy(duName, rootDir.getAbsolutePath());
+ }
+ suM.init(duName, rootDir.getAbsolutePath());
+ suM.start(duName);
+ } catch (javax.jbi.management.DeploymentException e) {
+ LOG.log(Level.WARNING, "Deploy failed; could not deploy/start this bundle: " + this.getName(), e);
+ throw e;
+ }
+ } finally {
+ Thread.currentThread().setContextClassLoader(l);
+ }
+ }
+
+ private boolean isDeployed(String processName) {
+ boolean Result = true;
+ try {
+ // Get the "ProcessStore" interface by grabbing the internal field
+ // of OdeContext and querying for the processes. Could also use PMAPI here,
+ // but in any case we just need to know if the process exists in a deployed state.
+ //
+ // TODO: add a OdeContext.getStore() method to clean this up.
+ OdeContext inst = OdeContext.getInstance();
+ Field _store = inst.getClass().getDeclaredField("_store");
+ _store.setAccessible(true);
+ ProcessStore ps = (ProcessStore) _store.get(inst);
+ List<QName> processes = ps.listProcesses(processName);
+ Result = processes != null && !processes.isEmpty();
+ } catch (Exception e) {
+ LOG.log(Level.WARNING, "Could not determine deployment state for process: " + processName, e);
+ }
+ return Result;
+ }
+
+ private boolean copyOne(File dest, URL url) throws Exception {
+ File d = new File(dest, url.getPath());
+ boolean needDeploy = !d.exists();
+ long length = d.exists() ? d.length() : 0L;
+ InputStream str = url.openStream();
+ if (str != null) {
+ FileWriter wr = new FileWriter(d);
+ try {
+ IOUtils.copy(str, wr);
+ } finally {
+ wr.flush();
+ wr.close();
+ }
+
+ // If file is zero-length (which is the case handling a directory),
+ // just remove it.
+ if (d.exists() && d.length() == 0) {
+ d.delete();
+ needDeploy = false;
+ } else
+ needDeploy |= length != d.length();
+ }
+ return needDeploy;
+ }
+
+ private void shutdown(Bundle bundle, ServiceUnitManager suM) throws Exception {
+ String duName = getDUName();
+ if (suM != null) {
+ suM.stop(duName);
+ suM.shutDown(duName);
+ } else {
+ LOG.warning("Could not shutdown this process (" + duName + ") because ode component was never located");
+ }
+ }
+
+ private void undeploy(Bundle bundle, ServiceUnitManager suM) throws Exception {
+ String duName = getDUName();
+ if (suM != null) {
+ if (isDeployed(duName)) {
+ // Use ODE's classloader to avoid class loading from the bundle
+ // being undeployed.
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+ try {
+ Thread.currentThread().setContextClassLoader(suM.getClass().getClassLoader());
+ File rootDir = getRootDir();
+ LOG.info("Performing undeploy " + duName + " from dir " + rootDir);
+ suM.undeploy(duName, rootDir.getAbsolutePath());
+ } finally {
+ Thread.currentThread().setContextClassLoader(classLoader);
+ }
+ }
+ } else {
+ LOG.warning("Could not shutdown this process (" + duName + ") because ode component was never located");
+ }
+ }
+
+ public class BundleClassLoader extends ClassLoader {
+ private final Bundle delegate;
+
+ public BundleClassLoader(ClassLoader parent, Bundle delegate) {
+ super(parent);
+ this.delegate = delegate;
+ }
+
+ @Override
+ public Class<?> loadClass(String name) throws ClassNotFoundException {
+ try {
+ return getParent().loadClass(name);
+ } catch (Exception e) {
+ return delegate.loadClass(name);
+ }
+ }
+ }
+
+ private void waitAvailable() throws InterruptedException {
+ /**
+ * We need to wait until the service unit manager is available before
+ * proceeding. Also, since the ode component itself does an asynchronous
+ * start with respect to this bundle, we need to wait until it is done
+ * initializing. This would be much cleaner if we could simply
+ * call "isStarted" on OdeLifeCycle, which maintains a started state.
+ *
+ * If we do not wait until the ode component is started, deployments
+ * will fail sporadically because of asynchronous start race conditions.
+ */
+ boolean showedWait = false;
+ while (this.odeRegistrationService.getOdeComponent().getServiceUnitManager() == null || !isStarted(this.odeRegistrationService.getOdeComponent())) {
+
+ // Do a wait.
+ if (!showedWait) {
+ LOG.info("Waiting for ODE to arrive (" + getName() + ")...");
+ showedWait = true;
+ }
+ Thread.sleep(500L);
+ }
+ }
+
+ private boolean isStarted(Component odeComponent) {
+
+ boolean Result = true;
+ try {
+ // Get the ODE component started state by grabbing the internal field
+ // of OdeLifeCycle. We cannot rely on the started state of the ODE
+ // component bundle.
+ //
+ // TODO: add OdeLifeCycle.isStarted() and do a cast of odeComponent.getLifeCycle() accordingly.
+ ComponentLifeCycle inst = odeComponent.getLifeCycle();
+ Field _started = inst.getClass().getDeclaredField("_started");
+ _started.setAccessible(true);
+ Result = Boolean.TRUE.equals(_started.get(inst));
+ } catch (Exception e) {
+ LOG.log(Level.WARNING, "Could not determine started state for ode component", e);
+ }
+ return Result;
+ }
+}
Added: branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtender.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtender.java (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtender.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,26 @@
+/*
+ * 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.jbi.osgi.deployer;
+
+import org.osgi.framework.Bundle;
+
+public interface OdeExtender {
+ public Bundle[] getBundles();
+}
Added: branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtenderImpl.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtenderImpl.java (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtenderImpl.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,287 @@
+/*
+ * 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.jbi.osgi.deployer;
+
+import java.net.URL;
+import java.util.Dictionary;
+import java.util.Enumeration;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import javax.jbi.component.Component;
+
+import org.apache.ode.jbi.osgi.ServiceUnitActivator;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.BundleEvent;
+import org.osgi.framework.Constants;
+import org.osgi.util.tracker.BundleTracker;
+import org.osgi.util.tracker.BundleTrackerCustomizer;
+import org.springframework.beans.factory.DisposableBean;
+import org.springframework.beans.factory.InitializingBean;
+import org.springframework.osgi.context.BundleContextAware;
+
+public class OdeExtenderImpl implements OdeExtender, InitializingBean, DisposableBean, BundleContextAware {
+ private static final Logger LOG = Logger.getLogger(OdeExtenderImpl.class.getName());
+ private static final String SU_ACTIVATOR_DEPRECATED = ServiceUnitActivator.class.getName();
+ private BundleContext bundleContext;
+ private BundleTracker tracker;
+ private Component odeComponent;
+ private Executor executor;
+
+ public OdeExtenderImpl() {
+ }
+
+ public void setBundleContext(BundleContext bundleContext) {
+ this.bundleContext = bundleContext;
+ }
+
+ public void afterPropertiesSet() throws Exception {
+ // Create our executor.
+ executor = Executors.newSingleThreadExecutor(new OdeExtenderThreadFactory("ODE Extender"));
+
+ // Start tracking bundles. We are looking for /deploy.xml as a signature
+ // to deploy the ODE BPEL bundle, if the bundle has at least one .bpel
+ // file.
+ int stateMask = Bundle.STARTING | Bundle.ACTIVE | Bundle.STOPPING | Bundle.INSTALLED | Bundle.UNINSTALLED;
+ this.tracker = new BundleTracker(this.bundleContext, stateMask, new ODEBundleTrackerCustomizer());
+ this.tracker.open();
+ }
+
+ public void destroy() throws Exception {
+ // Close the tracker.
+ BundleTracker tracker = this.tracker;
+ this.tracker = null;
+ if (tracker != null)
+ tracker.close();
+
+ // Drop our thread pool.
+ this.executor = null;
+ }
+
+ public Bundle[] getBundles() {
+ return this.tracker.getBundles();
+ }
+
+ public void setOdeComponent(Component odeComponent) {
+ this.odeComponent = odeComponent;
+ }
+
+ public Component getOdeComponent() {
+ return odeComponent;
+ }
+
+ private boolean isBPELBundle(Bundle bundle) {
+ boolean result = false;
+
+ // First see if there is a deploy.xml.
+ URL entry = bundle.getEntry("deploy.xml");
+ if (entry != null) {
+ // Next, check if there's at least one BPEL file.
+ @SuppressWarnings("rawtypes")
+ Enumeration bpelFiles = bundle.findEntries("/", "*.bpel", false);
+ if (bpelFiles != null && bpelFiles.hasMoreElements()) {
+ // Make sure there's a symbolic name.
+ if (bundle.getSymbolicName() != null) {
+ // Make sure there's no bundle activator.
+ // NOTE: if the "ServiceUnitActivator" is found, we hijack those bundles as well and manage them.
+ Dictionary<?, ?> headers = bundle.getHeaders();
+ Object activator = null;
+ if (headers == null || (activator = headers.get(Constants.BUNDLE_ACTIVATOR)) == null || SU_ACTIVATOR_DEPRECATED.equals(activator)) {
+ if (LOG.isLoggable(Level.FINE))
+ LOG.fine("Recognized ODE deployment bundle: " + bundle.getSymbolicName());
+ result = true;
+ } else
+ LOG.warning("Ignoring ODE bundle " + bundle.getSymbolicName() + " which has custom activator: " + activator);
+ } else
+ LOG.warning("Ignoring ODE bundle " + bundle.getBundleId() + " which has no OSGi symbolic name");
+ }
+ }
+
+ return result;
+ }
+
+ private class ODEBundleTrackerCustomizer implements BundleTrackerCustomizer {
+ private Map<Long, OdeDeployedBundle> bundles = new ConcurrentHashMap<Long, OdeDeployedBundle>();
+
+ public void removedBundle(Bundle bundle, BundleEvent event, Object object) {
+ }
+
+ public void modifiedBundle(Bundle bundle, BundleEvent event, Object object) {
+ if (event != null) {
+ if (LOG.isLoggable(Level.FINE))
+ LOG.fine("Received " + getEventType(event.getType()) + " event for bundle: " + bundle.getSymbolicName());
+ switch (event.getType()) {
+ case BundleEvent.STARTED:
+ executor.execute(new Start((OdeDeployedBundle) object));
+ break;
+ case BundleEvent.STOPPING:
+ executor.execute(new Stop((OdeDeployedBundle) object));
+ break;
+ case BundleEvent.INSTALLED:
+ executor.execute(new Install((OdeDeployedBundle) object));
+ break;
+ case BundleEvent.UNINSTALLED:
+ executor.execute(new Uninstall((OdeDeployedBundle) object));
+ break;
+ case BundleEvent.UPDATED:
+ executor.execute(new Update((OdeDeployedBundle) object));
+ break;
+ }
+
+ // Do this outside the try/catch above. Last chance to drop a
+ // bundle.
+ if (event.getType() == BundleEvent.UNINSTALLED)
+ bundles.remove(bundle.getBundleId());
+ }
+ }
+
+ private String getEventType(int type) {
+ switch (type) {
+ case BundleEvent.INSTALLED:
+ return "installed";
+ case BundleEvent.LAZY_ACTIVATION:
+ return "lazy activation";
+ case BundleEvent.RESOLVED:
+ return "resolved";
+ case BundleEvent.STARTED:
+ return "started";
+ case BundleEvent.STARTING:
+ return "starting";
+ case BundleEvent.STOPPED:
+ return "stopped";
+ case BundleEvent.STOPPING:
+ return "stopping";
+ case BundleEvent.UNINSTALLED:
+ return "uninstalled";
+ case BundleEvent.UNRESOLVED:
+ return "unresolved";
+ case BundleEvent.UPDATED:
+ return "updated";
+ }
+ return "(unknown: " + type + ")";
+ }
+
+ public Object addingBundle(Bundle bundle, BundleEvent event) {
+ Object result = null;
+
+ // Is this a BPEL bundle?
+ if (isBPELBundle(bundle)) {
+ // Found BPEL signature; setup deployer.
+ OdeDeployedBundle deployer = bundles.get(bundle.getBundleId());
+ if (deployer == null)
+ bundles.put(bundle.getBundleId(), deployer = new OdeDeployedBundle(bundle, OdeExtenderImpl.this));
+ result = deployer;
+
+ // Is this an initial bundle?
+ if (event == null) {
+ // If the bundle is active, then we didn't start it. So
+ // start it now.
+ if (bundle.getState() == Bundle.ACTIVE)
+ executor.execute(new Start(deployer));
+ } else
+ modifiedBundle(bundle, event, deployer);
+ }
+
+ return result;
+ }
+ }
+
+ private static abstract class OperationClosure implements Runnable {
+ protected OdeDeployedBundle target;
+
+ OperationClosure(OdeDeployedBundle target) {
+ this.target = target;
+ }
+
+ public final void run() {
+ String name = Thread.currentThread().getName();
+ try {
+ Thread.currentThread().setName(name + ":" + getClass().getSimpleName() + ":" + target.getName());
+ perform();
+ } catch (Exception e) {
+ LOG.log(Level.WARNING, "Could not perform '" + getClass().getSimpleName() + "' operation on bundle: " + target.getName(), e);
+ } finally {
+ Thread.currentThread().setName(name);
+ }
+ }
+
+ protected abstract void perform() throws Exception;
+ }
+
+ private static class Start extends OperationClosure {
+ Start(OdeDeployedBundle target) {
+ super(target);
+ }
+
+ @Override
+ protected void perform() throws Exception {
+ target.doStart();
+ }
+ }
+
+ private static class Stop extends OperationClosure {
+ Stop(OdeDeployedBundle target) {
+ super(target);
+ }
+
+ @Override
+ protected void perform() throws Exception {
+ target.doStop();
+ }
+ }
+
+ private static class Install extends OperationClosure {
+ Install(OdeDeployedBundle target) {
+ super(target);
+ }
+
+ @Override
+ protected void perform() throws Exception {
+ target.doInstall();
+ }
+ }
+
+ private static class Uninstall extends OperationClosure {
+ Uninstall(OdeDeployedBundle target) {
+ super(target);
+ }
+
+ @Override
+ protected void perform() throws Exception {
+ target.doUninstall();
+ }
+ }
+
+ private static class Update extends OperationClosure {
+ Update(OdeDeployedBundle target) {
+ super(target);
+ }
+
+ @Override
+ protected void perform() throws Exception {
+ target.doUpdate();
+ }
+ }
+}
Added: branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtenderThreadFactory.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtenderThreadFactory.java (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeExtenderThreadFactory.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,39 @@
+/*
+ * 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.jbi.osgi.deployer;
+
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadFactory;
+
+public class OdeExtenderThreadFactory implements ThreadFactory {
+ private final ThreadFactory factory = Executors.defaultThreadFactory();
+ private final String name;
+
+ public OdeExtenderThreadFactory(String name) {
+ this.name = name;
+ }
+
+ public Thread newThread(Runnable r) {
+ final Thread t = factory.newThread(r);
+ t.setName(name);
+ t.setDaemon(true);
+ return t;
+ }
+}
Modified: branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/resources/META-INF/spring/ode-jbi.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/resources/META-INF/spring/ode-jbi.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-bundle/src/main/resources/META-INF/spring/ode-jbi.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -63,5 +63,18 @@
<prop key="ode-jbi.jca.port">0</prop>
<prop key="javax.persistence.provider">org.apache.openjpa.persistence.PersistenceProviderImpl</prop>
</osgix:cm-properties>
-
+
+ <!-- ODE Extender Service -->
+ <bean id="ode-extender-service" class="org.apache.ode.jbi.osgi.deployer.OdeExtenderImpl">
+ <property name="odeComponent">
+ <ref bean="ode-jbi-component" />
+ </property>
+ </bean>
+
+ <osgi:service ref="ode-extender-service">
+ <osgi:interfaces>
+ <value>org.apache.ode.jbi.osgi.deployer.OdeExtender</value>
+ </osgi:interfaces>
+ </osgi:service>
+
</beans>
Modified: branches/ODE/RiftSaw-ODE-trunk/jbi-karaf/src/main/resources/features.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-karaf/src/main/resources/features.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-karaf/src/main/resources/features.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -23,54 +23,66 @@
<bundle>mvn:commons-beanutils/commons-beanutils/1.8.2</bundle>
<bundle>mvn:commons-io/commons-io/1.4</bundle>
<bundle>wrap:mvn:jaxen/jaxen/1.1.1</bundle>
- <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.saxon/9.1.0.8_1-SNAPSHOT</bundle>
+ <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.saxon/9.1.0.8_1</bundle>
+ <bundle>mvn:org.apache.geronimo.components/geronimo-connector/2.1.3</bundle>
</feature>
<feature name="ode-core" version="${ode.version}">
<bundle>mvn:org.apache.ode/ode-jbi-bundle/${ode.version}</bundle>
</feature>
- <feature name="ode-hib-deps" version="${project.version}">
+ <feature name="ode-hib-deps" version="${ode.version}">
<bundle>wrap:mvn:dom4j/dom4j/1.6.1</bundle>
<bundle>wrap:mvn:org.hibernate/hibernate/3.2.5.ga</bundle>
</feature>
- <feature name="ode-jpa-deps" version="${project.version}">
+ <feature name="ode-jpa-deps" version="${ode.version}">
<bundle>mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.java-persistence-api-1.1.1/1.4.0</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.serp/1.13.1_2</bundle>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.openjpa/1.2.1_2</bundle>
</feature>
- <feature name="ode-derby-deps" version="${project.version}">
+ <feature name="ode-derby-deps" version="${ode.version}">
<bundle>wrap:mvn:org.tranql/tranql-connector/1.4</bundle>
<bundle>mvn:org.apache.derby/derby/${derby.version}</bundle>
</feature>
- <feature name="ode-sqlserver-deps" version="${project.version}">
+ <feature name="ode-sqlserver-deps" version="${ode.version}">
<bundle>wrap:mvn:com.microsoft.sqlserver/sqljdbc/1.2</bundle>
<bundle>wrap:mvn:org.tranql/tranql-connector/1.4</bundle>
<bundle>wrap:mvn:org.tranql/tranql-connector-sqlserver2005-common/1.1</bundle>
</feature>
- <feature name="ode-oracle-deps" version="${project.version}">
+ <feature name="ode-oracle-deps" version="${ode.version}">
<bundle>wrap:mvn:oracle/ojdbc5/11.1.0.6.0</bundle>
<bundle>wrap:mvn:org.tranql/tranql-connector/1.4</bundle>
<bundle>wrap:mvn:org.tranql/tranql-connector-oracle-common/1.4</bundle>
</feature>
- <feature name="ode" version="${project.version}">
- <feature version="${project.version}">ode-derby-deps</feature>
- <feature version="${project.version}">ode-jpa-deps</feature>
- <feature version="${project.version}">ode-core-deps</feature>
- <feature version="${project.version}">ode-core</feature>
+ <feature name="ode" version="${ode.version}">
+ <feature version="${ode.version}">ode-derby-deps</feature>
+ <feature version="${ode.version}">ode-jpa-deps</feature>
+ <feature version="${ode.version}">ode-core-deps</feature>
+ <feature version="${ode.version}">ode-core</feature>
</feature>
- <feature name="ode-hib-oracle" version="${project.version}">
- <feature version="${project.version}">ode-oracle-deps</feature>
- <feature version="${project.version}">ode-hib-deps</feature>
- <feature version="${project.version}">ode-core-deps</feature>
- <feature version="${project.version}">ode-core</feature>
+ <feature name="ode-hib-oracle" version="${ode.version}">
+ <feature version="${ode.version}">ode-oracle-deps</feature>
+ <feature version="${ode.version}">ode-hib-deps</feature>
+ <feature version="${ode.version}">ode-core-deps</feature>
+ <feature version="${ode.version}">ode-core</feature>
</feature>
- <feature name="ode-hib-sqlserver" version="${project.version}">
- <feature version="${project.version}">ode-sqlserver-deps</feature>
- <feature version="${project.version}">ode-hib-deps</feature>
- <feature version="${project.version}">ode-core-deps</feature>
- <feature version="${project.version}">ode-core</feature>
+ <feature name="ode-hib-sqlserver" version="${ode.version}">
+ <feature version="${ode.version}">ode-sqlserver-deps</feature>
+ <feature version="${ode.version}">ode-hib-deps</feature>
+ <feature version="${ode.version}">ode-core-deps</feature>
+ <feature version="${ode.version}">ode-core</feature>
</feature>
- <feature name="examples-ode-ping-pong" version="${project.version}">
- <feature version="${project.version}">ode</feature>
- <bundle>mvn:org.apache.ode.examples/ping-pong-bundle/${project.version}</bundle>
+ <feature name="ode-commands" version="${ode.version}">
+ <bundle>mvn:org.apache.ode/ode-jbi-karaf-commands/${ode.version}</bundle>
</feature>
+ <feature name="ode-pmapi-httpbinding" version="${ode.version}">
+ <bundle>mvn:org.apache.ode/ode-jbi-karaf-pmapi-httpbinding/${ode.version}</bundle>
+ </feature>
+ <feature name="examples-ode-ping-pong" version="${ode.version}">
+ <feature version="${ode.version}">ode</feature>
+ <bundle>mvn:org.apache.ode.examples/ping-pong-bundle/${ode.version}</bundle>
+ </feature>
+ <feature name="examples-ode-helloworld" version="${ode.version}">
+ <feature version="${ode.version}">ode</feature>
+ <bundle>mvn:org.apache.ode.examples/helloworld-bundle/${ode.version}</bundle>
+ </feature>
+
</features>
Modified: branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeCommandsBase.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeCommandsBase.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeCommandsBase.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -28,7 +28,7 @@
import javax.management.*;
-import org.apache.felix.karaf.shell.console.OsgiCommandSupport;
+import org.apache.karaf.shell.console.OsgiCommandSupport;
import org.apache.ode.bpel.pmapi.*;
import org.apache.ode.jbi.OdeContext;
@@ -36,9 +36,13 @@
protected static String COMPONENT_NAME = "org.apache.servicemix:Type=Component,Name=OdeBpelEngine,SubType=Management";
+ protected static final String LIST_INSTANCES = "listInstances";
+ protected static final String LIST_ALL_INSTANCES = "listAllInstances";
protected static final String LIST_ALL_PROCESSES = "listAllProcesses";
- protected static final String LIST_ALL_INSTANCES = "listAllInstances";
+ protected static final String RECOVER_ACTIVITY= "recoverActivity";
protected static final String TERMINATE = "terminate";
+ protected static final String SUSPEND = "suspend";
+ protected static final String RESUME = "resume";
protected MBeanServer getMBeanServer() {
OdeContext ode = OdeContext.getInstance();
@@ -59,7 +63,7 @@
*/
@SuppressWarnings("unchecked")
protected <T> T invoke(final String operationName, final Object[] params,
- final String[] signature, Class<?> T, long timeoutInSeconds)
+ final String[] signature, long timeoutInSeconds)
throws Exception {
ExecutorService executor = Executors.newSingleThreadExecutor();
Callable<T> callable = new Callable<T>() {
@@ -77,28 +81,67 @@
return future.get(timeoutInSeconds, TimeUnit.SECONDS);
}
- protected List<TProcessInfo> getProcesses(long timeoutInSeconds)
- throws Exception {
- ProcessInfoListDocument result = invoke(LIST_ALL_PROCESSES, null, null,
- ProcessInfoListDocument.class, timeoutInSeconds);
- if (result != null) {
- return result.getProcessInfoList().getProcessInfoList();
+ protected List<TInstanceInfo> getActiveInstances(long timeoutInSeconds)
+ throws Exception {
+ return getFilteredInstances(timeoutInSeconds, "status=active");
+ }
+
+ protected List<TInstanceInfo> getSuspendedInstances(long timeoutInSeconds)
+ throws Exception {
+ return getFilteredInstances(timeoutInSeconds, "status=suspended");
+ }
+
+ protected List<TInstanceInfo> getFilteredInstances(long timeoutInSeconds, String filter)
+ throws Exception {
+ InstanceInfoListDocument instances = invoke(LIST_INSTANCES,
+ new Object[] {filter, "pid", 10},
+ new String[] {String.class.getName(), String.class.getName(), int.class.getName()},
+ timeoutInSeconds);
+ if (instances != null) {
+ return instances.getInstanceInfoList().getInstanceInfoList();
}
return null;
}
-
- protected List<TInstanceInfo> getActiveInstances(long timeoutInSeconds)
+
+ protected List<TInstanceInfo> getAllInstances(long timeoutInSeconds)
throws Exception {
InstanceInfoListDocument instances = invoke(LIST_ALL_INSTANCES, null,
- null, InstanceInfoListDocument.class, timeoutInSeconds);
+ null, timeoutInSeconds);
if (instances != null) {
return instances.getInstanceInfoList().getInstanceInfoList();
}
return null;
}
+
+ protected List<TProcessInfo> getProcesses(long timeoutInSeconds)
+ throws Exception {
+ ProcessInfoListDocument result = invoke(LIST_ALL_PROCESSES, null, null, timeoutInSeconds);
+ if (result != null) {
+ return result.getProcessInfoList().getProcessInfoList();
+ }
+ return null;
+ }
+ protected InstanceInfoDocument recoverActivity(Long instanceId, Long activityId, String action, long timeoutInSeconds) throws Exception {
+ InstanceInfoDocument result = invoke(RECOVER_ACTIVITY, new Object[] {instanceId, activityId, action},
+ new String[] {Long.class.getName(), Long.class.getName(), String.class.getName()},
+ timeoutInSeconds);
+ return result;
+ }
+
protected void terminate(Long iid, long timeoutInSeconds) throws Exception {
invoke(TERMINATE, new Long[] { iid }, new String[] { Long.class
- .getName() }, InstanceInfoDocument.class, timeoutInSeconds);
+ .getName() }, timeoutInSeconds);
}
+
+ protected void suspend(Long iid, long timeoutInSeconds) throws Exception {
+ invoke(SUSPEND, new Long[] { iid }, new String[] { Long.class
+ .getName() }, timeoutInSeconds);
+ }
+
+ protected void resume(Long iid, long timeoutInSeconds) throws Exception {
+ invoke(RESUME, new Long[] { iid }, new String[] { Long.class
+ .getName() }, timeoutInSeconds);
+ }
+
}
Modified: branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeListCommand.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeListCommand.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeListCommand.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -19,17 +19,14 @@
package org.apache.ode.karaf.commands;
-import java.util.List;
-import java.util.Set;
-import java.util.TreeSet;
+import java.util.*;
import java.util.concurrent.TimeoutException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.felix.gogo.commands.Command;
-import org.apache.ode.bpel.pmapi.TInstanceInfo;
-import org.apache.ode.bpel.pmapi.TInstanceStatus;
-import org.apache.ode.bpel.pmapi.TProcessInfo;
+import org.apache.felix.gogo.commands.*;
+import org.apache.ode.bpel.pmapi.*;
+import org.apache.ode.bpel.pmapi.TScopeInfo.Activities;
/**
* Lists the deployed process as well as the active instances
@@ -41,6 +38,9 @@
private static final Log __log = LogFactory.getLog(OdeListCommand.class);
+ @Option(name = "-a", aliases = "--all", description = "Show all (even completed) instances")
+ private boolean showAll;
+
private long timeoutInSeconds = 30;
@Override
@@ -50,11 +50,20 @@
System.out.println("------------------");
List<TProcessInfo> processes = getProcesses(timeoutInSeconds);
if (processes != null) {
+ System.out.println("[ ] [Version] [PID ]");
Set<String> sorted = new TreeSet<String>(
String.CASE_INSENSITIVE_ORDER);
for (TProcessInfo info : processes) {
- sorted.add(info.getDefinitionInfo().getProcessName()
- .getLocalPart());
+ StringBuilder line = new StringBuilder();
+ line.append("[");
+ line.append(info.getStatus().toString().charAt(0));
+ line.append("] [");
+ line.append(getNameString(Long.toString(info.getVersion()), 7, false));
+ line.append("] [");
+ line.append(getNameString(info.getPid().toString(), 63, true));
+ line.append("]");
+
+ sorted.add(line.toString());
}
for (String s : sorted) {
System.out.println(s);
@@ -64,20 +73,33 @@
System.out.println("Active instances");
System.out.println("----------------");
- List<TInstanceInfo> instances = getActiveInstances(timeoutInSeconds);
+ List<TInstanceInfo> instances = showAll ? getAllInstances(timeoutInSeconds) : getActiveInstances(timeoutInSeconds);
if (instances != null) {
- System.out.println("[Instance Id] [Process Name ]");
+ System.out.println("[ ] [IID ] [Process Name ] [Failed Activities ]");
for (TInstanceInfo info : instances) {
- if (info.getStatus() == TInstanceStatus.ACTIVE) {
- StringBuilder line = new StringBuilder();
- line.append("[");
- line.append(getNameString(info.getIid(), 11));
- line.append("] [");
- line.append(getNameString(info.getProcessName()
- .getLocalPart(), 20));
- line.append("]");
- System.out.println(line.toString());
+ StringBuilder line = new StringBuilder();
+ line.append("[");
+ line.append(info.getStatus().toString().charAt(0));
+ line.append("] [");
+ line.append(getNameString(info.getIid(), 5, false));
+ line.append("] [");
+ line.append(getNameString(info.getPid(), 31, true));
+ line.append("] [");
+ StringBuilder failedString = new StringBuilder();
+ List<TActivityInfo> failedActivities = getFailedActivities(info);
+ if (!failedActivities.isEmpty()) {
+ boolean first = true;
+ for (TActivityInfo failed : failedActivities) {
+ if (!first) {
+ failedString.append(", ");
+ }
+ failedString.append(failed.getAiid());
+ first = false;
+ }
}
+ line.append(getNameString(failedString.toString(), 31, false));
+ line.append("]");
+ System.out.println(line.toString());
}
}
} catch (TimeoutException e) {
@@ -86,9 +108,64 @@
return null;
}
+
+ private List<TActivityInfo> getFailedActivities(TInstanceInfo instance) {
+ List<TActivityInfo> failedActivites = new ArrayList<TActivityInfo>();
+ try {
+ TScopeInfo scopeInfo = getScopeInfo(instance.getRootScope());
+ if (scopeInfo != null) {
+ collectFailedActivities(scopeInfo, failedActivites);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return failedActivites;
+ }
+
+ private TScopeInfo getScopeInfo(TScopeRef scopeRef) {
+ if (scopeRef != null) {
+ try {
+ ScopeInfoDocument scopeInfoDoc = invoke("getScopeInfoWithActivity", new Object[] {scopeRef.getSiid(), true},
+ new String[] {String.class.getName(), boolean.class.getName()}, 30);
+ if (scopeInfoDoc != null) {
+ return scopeInfoDoc.getScopeInfo();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return null;
+ }
+ private void collectFailedActivities(TScopeInfo scopeInfo, List<TActivityInfo> bin) {
+ Activities acts = scopeInfo.getActivities();
+ if (acts != null) {
+ for (TActivityInfo actInfo : acts.getActivityInfoList()) {
+ if (actInfo.getStatus() == TActivityStatus.FAILURE) {
+ bin.add(actInfo);
+ }
+ }
+ }
+ TScopeInfo.Children children = scopeInfo.getChildren();
+ if (children != null) {
+ for (TScopeRef child : children.getChildRefList()) {
+ TScopeInfo childScopeInfo = getScopeInfo(child);
+ if (childScopeInfo != null) {
+ collectFailedActivities(childScopeInfo, bin);
+ }
+ }
+ }
+
+ }
- private String getNameString(String name, int colLength) {
+ private String getNameString(String name, int colLength, boolean stripBefore) {
String ret = name;
+ if (name.length() > colLength) {
+ if (stripBefore) {
+ ret = "..." + name.substring(name.length() - (colLength - 3));
+ } else {
+ ret = name.substring(0, colLength - 3) + "...";
+ }
+ }
for (int i = 0; i < colLength - name.length(); i++) {
ret = ret + " ";
}
Added: branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeRecoverActivityCommand.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeRecoverActivityCommand.java (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeRecoverActivityCommand.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,79 @@
+/*
+ * 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.karaf.commands;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.felix.gogo.commands.*;
+
+@Command(scope = "ode", name = "recoverActivity", description = "Recover a failed BPEL activity in ODE")
+public class OdeRecoverActivityCommand extends OdeCommandsBase {
+ private static final Log __log = LogFactory.getLog(OdeRecoverActivityCommand.class);
+
+ private static final String RETRY = "retry";
+ private static final String FAULT = "fault";
+ private static final String CANCEL = "cancel";
+
+ @Argument(name="iid", description="Instance ID", index=0, required=true)
+ private Long instanceId;
+
+ @Argument(name="aid", description="Activity IDs to attempt recovery", index=1, required=true, multiValued=true)
+ private Long[] activityIds;
+
+ @Option(name="-r", aliases="--retry", description="Retry the activity (default=retry)")
+ private boolean retry = false;
+
+ @Option(name="-f", aliases="--fault", description="Fault the activity (default=retry)")
+ private boolean fault = false;
+
+ @Option(name="-c", aliases="--cancel", description="Cancel the activity (default=retry)")
+ private boolean cancel = false;
+
+ @Override
+ protected Object doExecute() throws Exception {
+ /*
+ * Unfortunatly there isn't a way to make options mutually exclusive, so we give precedence in this order
+ * retry > fault > cancel
+ */
+ String action = null;
+
+ if (retry) {
+ action = RETRY;
+ } else if (fault) {
+ action = FAULT;
+ } else if (cancel) {
+ action = CANCEL;
+ } else {
+ // Also make retry the default action
+ action = RETRY;
+ }
+
+ for (Long aiid : activityIds) {
+ try {
+ recoverActivity(instanceId, aiid, action, 30);
+ } catch (Exception e) {
+ __log.error("An error occuring trying to recover activity", e);
+ }
+ }
+
+ return null;
+ }
+
+}
Added: branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeResumeCommand.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeResumeCommand.java (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeResumeCommand.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,70 @@
+/*
+ * 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.karaf.commands;
+
+import java.util.List;
+import java.util.concurrent.TimeoutException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.felix.gogo.commands.*;
+import org.apache.ode.bpel.pmapi.TInstanceInfo;
+
+@Command(scope = "ode", name = "resume", description = "Resume suspended ODE process instances")
+public class OdeResumeCommand extends OdeCommandsBase {
+
+ private static final Log __log = LogFactory.getLog(OdeResumeCommand.class);
+
+ @Argument(name = "iids", description = "Instance IDs to resume", multiValued = true)
+ private static Long[] iids;
+
+ @Option(name = "-a", aliases = "--all", description = "Resume all suspended instances")
+ private boolean resumeAll;
+
+ private long timeoutInSeconds = 30;
+
+ @Override
+ protected Object doExecute() throws Exception {
+ try {
+ if (resumeAll) {
+ List<TInstanceInfo> instances = getSuspendedInstances(timeoutInSeconds);
+ if (instances != null) {
+ for (TInstanceInfo instance : instances) {
+ resume(Long.parseLong(instance.getIid()),
+ timeoutInSeconds);
+ }
+ }
+ } else {
+ if (iids == null) {
+ System.out.println("No instance ids to resume");
+ } else {
+ for (Long iid : iids) {
+ resume(iid, timeoutInSeconds);
+ }
+ }
+ }
+ } catch (TimeoutException e) {
+ __log.error("Timed out after " + timeoutInSeconds + " seconds", e);
+ }
+
+ return null;
+ }
+
+}
Added: branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeSuspendCommand.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeSuspendCommand.java (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeSuspendCommand.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,70 @@
+/*
+ * 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.karaf.commands;
+
+import java.util.List;
+import java.util.concurrent.TimeoutException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.felix.gogo.commands.*;
+import org.apache.ode.bpel.pmapi.TInstanceInfo;
+
+@Command(scope = "ode", name = "suspend", description = "Suspend active ODE process instances")
+public class OdeSuspendCommand extends OdeCommandsBase {
+
+ private static final Log __log = LogFactory.getLog(OdeSuspendCommand.class);
+
+ @Argument(name = "iids", description = "Instance IDs to suspend", multiValued = true)
+ private static Long[] iids;
+
+ @Option(name = "-a", aliases = "--all", description = "Suspend all active instances")
+ private boolean suspendAll;
+
+ private long timeoutInSeconds = 30;
+
+ @Override
+ protected Object doExecute() throws Exception {
+ try {
+ if (suspendAll) {
+ List<TInstanceInfo> instances = getActiveInstances(timeoutInSeconds);
+ if (instances != null) {
+ for (TInstanceInfo instance : instances) {
+ suspend(Long.parseLong(instance.getIid()),
+ timeoutInSeconds);
+ }
+ }
+ } else {
+ if (iids == null) {
+ System.out.println("No instance ids to suspend");
+ } else {
+ for (Long iid : iids) {
+ suspend(iid, timeoutInSeconds);
+ }
+ }
+ }
+ } catch (TimeoutException e) {
+ __log.error("Timed out after " + timeoutInSeconds + " seconds", e);
+ }
+
+ return null;
+ }
+
+}
Modified: branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeTerminateCommand.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeTerminateCommand.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/java/org/apache/ode/karaf/commands/OdeTerminateCommand.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -27,12 +27,12 @@
import org.apache.felix.gogo.commands.*;
import org.apache.ode.bpel.pmapi.TInstanceInfo;
-@Command(scope = "ode", name = "terminate", description = "Terminate an active ode process instances")
+@Command(scope = "ode", name = "terminate", description = "Terminate active ODE process instances")
public class OdeTerminateCommand extends OdeCommandsBase {
- private static final Log __log = LogFactory.getLog(OdeListCommand.class);
+ private static final Log __log = LogFactory.getLog(OdeTerminateCommand.class);
- @Argument(name = "iids", description = "Instance ID's to terminate", multiValued = true)
+ @Argument(name = "iids", description = "Instance IDs to terminate", multiValued = true)
private static Long[] iids;
@Option(name = "-a", aliases = "--all", description = "Terminate all active instances")
Modified: branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/resources/OSGI-INF/blueprint/ode-commands.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/resources/OSGI-INF/blueprint/ode-commands.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-commands/src/main/resources/OSGI-INF/blueprint/ode-commands.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -16,7 +16,7 @@
limitations under the License.
-->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
- xmlns:shell="http://felix.apache.org/karaf/xmlns/shell/v1.0.0">
+ xmlns:shell="http://karaf.apache.org/xmlns/shell/v1.0.0">
<shell:command-bundle>
<shell:command name="ode/list">
@@ -25,6 +25,15 @@
<shell:command name="ode/terminate">
<shell:action class="org.apache.ode.karaf.commands.OdeTerminateCommand" />
</shell:command>
+ <shell:command name="ode/suspend">
+ <shell:action class="org.apache.ode.karaf.commands.OdeSuspendCommand" />
+ </shell:command>
+ <shell:command name="ode/resume">
+ <shell:action class="org.apache.ode.karaf.commands.OdeResumeCommand" />
+ </shell:command>
+ <shell:command name="ode/recoverActivity">
+ <shell:action class="org.apache.ode.karaf.commands.OdeRecoverActivityCommand" />
+ </shell:command>
</shell:command-bundle>
</blueprint>
\ No newline at end of file
Added: branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/pom.xml (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.ode</groupId>
+ <artifactId>ode</artifactId>
+ <version>1.3.5</version>
+ </parent>
+ <artifactId>ode-jbi-karaf-pmapi-httpbinding</artifactId>
+ <packaging>bundle</packaging>
+ <name>ODE :: PMAPI HTTP Binding</name>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>1.4.3</version>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>${project.groupId}-${project.artifactId}</Bundle-SymbolicName>
+ <Bundle-Version>${project.version}</Bundle-Version>
+ <Import-Package>
+ org.apache.servicemix.cxfbc,
+ org.apache.servicemix.common.osgi
+ </Import-Package>
+ <Export-Package>
+ wsdl.ode.pmapi
+ </Export-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Added: branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/META-INF/spring/beans.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/META-INF/spring/beans.xml (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/META-INF/spring/beans.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:cxfbc="http://servicemix.apache.org/cxfbc/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:osgi="http://www.springframework.org/schema/osgi"
+ xsi:schemaLocation="
+ http://servicemix.apache.org/cxfbc/1.0
+ http://servicemix.apache.org/cxfbc/1.0/servicemix-cxf-bc.xsd
+ http://www.springframework.org/schema/osgi
+ http://www.springframework.org/schema/osgi/spring-osgi.xsd
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util-3.0.xsd
+ ">
+
+ <bean class="org.apache.servicemix.common.osgi.EndpointExporter" />
+
+ <cxfbc:consumer
+ xmlns:pmapi="http://www.apache.org/ode/pmapi"
+ wsdl="classpath:wsdl/ode/pmapi/pmapi.wsdl"
+ locationURI="http://localhost:8193/ode/pmapi/ProcessManagementService"
+ targetService="pmapi:ProcessManagementService"
+ useJBIWrapper="false"
+ useSOAPEnvelope="false"
+ />
+
+ <cxfbc:consumer
+ xmlns:pmapi="http://www.apache.org/ode/pmapi"
+ wsdl="classpath:wsdl/ode/pmapi/pmapi.wsdl"
+ locationURI="http://localhost:8193/ode/pmapi/InstanceManagementService"
+ targetService="pmapi:InstanceManagementService"
+ useJBIWrapper="false"
+ useSOAPEnvelope="false"
+ />
+
+</beans>
Added: branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/ode/pmapi/pmapi.wsdl
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/ode/pmapi/pmapi.wsdl (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/ode/pmapi/pmapi.wsdl 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,762 @@
+<!--
+ ~ 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.
+ -->
+
+<definitions
+ name="ProcessAndInstanceManagement"
+ targetNamespace="http://www.apache.org/ode/pmapi"
+ xmlns:tns="http://www.apache.org/ode/pmapi"
+ xmlns:typ="http://www.apache.org/ode/pmapi/types/2006/08/02/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://schemas.xmlsoap.org/wsdl/">
+
+ <types>
+ <xsd:schema>
+ <xsd:import namespace="http://www.apache.org/ode/pmapi/types/2006/08/02/" schemaLocation="pmapi.xsd"/>
+ </xsd:schema>
+ <xsd:schema targetNamespace="http://www.apache.org/ode/pmapi">
+ <xsd:complexType name="aidsType">
+ <xsd:all>
+ <xsd:element name="aid" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+ <xsd:complexType name="listType">
+ <xsd:all>
+ <xsd:element name="element" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+ <xsd:element name="ManagementFault" type="xsd:string"/>
+ </xsd:schema>
+ </types>
+
+ <message name="listProcessesInput">
+ <part name="filter" type="xsd:string"/>
+ <part name="orderKeys" type="xsd:string"/>
+ </message>
+ <message name="listProcessesOutput">
+ <part name="process-info-list" type="typ:tProcessInfoList"/>
+ </message>
+ <message name="listProcessesCustomInput">
+ <part name="filter" type="xsd:string"/>
+ <part name="orderKeys" type="xsd:string"/>
+ <part name="customizer" type="xsd:string"/>
+ </message>
+ <message name="listProcessesCustomOutput">
+ <part name="process-info-list" type="typ:tProcessInfoList"/>
+ </message>
+ <message name="listAllProcessesInput"/>
+ <message name="listAllProcessesOutput">
+ <part name="process-info-list" type="typ:tProcessInfoList"/>
+ </message>
+ <message name="getProcessInfoInput">
+ <part name="pid" type="xsd:QName"/>
+ </message>
+ <message name="getProcessInfoOutput">
+ <part name="process-info" type="typ:tProcessInfo"/>
+ </message>
+ <message name="getProcessInfoCustomInput">
+ <part name="pid" type="xsd:QName"/>
+ <part name="customizer" type="xsd:string"/>
+ </message>
+ <message name="getProcessInfoCustomOutput">
+ <part name="process-info" type="typ:tProcessInfo"/>
+ </message>
+ <message name="getExtensibilityElementsInput">
+ <part name="pid" type="xsd:QName"/>
+ <part name="aids" type="tns:aidsType"/>
+ </message>
+ <message name="getExtensibilityElementsOutput">
+ <part name="process-info" type="typ:tProcessInfo"/>
+ </message>
+ <message name="setProcessPropertyNodeInput">
+ <part name="pid" type="xsd:QName"/>
+ <part name="propertyName" type="xsd:QName"/>
+ <part name="propertyValue" type="xsd:anyType"/>
+ </message>
+ <message name="setProcessPropertyNodeOutput">
+ <part name="process-info" type="typ:tProcessInfo"/>
+ </message>
+ <message name="setProcessPropertyInput">
+ <part name="pid" type="xsd:QName"/>
+ <part name="propertyName" type="xsd:QName"/>
+ <part name="propertyValue" type="xsd:string"/>
+ </message>
+ <message name="setProcessPropertyOutput">
+ <part name="process-info" type="typ:tProcessInfo"/>
+ </message>
+ <message name="activateInput">
+ <part name="pid" type="xsd:QName"/>
+ </message>
+ <message name="activateOutput">
+ <part name="process-info" type="typ:tProcessInfo"/>
+ </message>
+ <message name="setRetiredInput">
+ <part name="pid" type="xsd:QName"/>
+ <part name="retired" type="xsd:boolean"/>
+ </message>
+ <message name="setRetiredOutput">
+ <part name="process-info" type="typ:tProcessInfo"/>
+ </message>
+
+ <message name="listInstancesInput">
+ <part name="filter" type="xsd:string"/>
+ <part name="order" type="xsd:string"/>
+ <part name="limit" type="xsd:int"/>
+ </message>
+ <message name="listInstancesOutput">
+ <part name="instance-info-list" type="typ:tInstanceInfoList"/>
+ </message>
+ <message name="listInstancesSummaryInput">
+ <part name="filter" type="xsd:string"/>
+ <part name="order" type="xsd:string"/>
+ <part name="limit" type="xsd:int"/>
+ </message>
+ <message name="listInstancesSummaryOutput">
+ <part name="instance-info-list" type="typ:tInstanceInfoList"/>
+ </message>
+ <message name="queryInstancesInput">
+ <part name="payload" type="xsd:string"/>
+ </message>
+ <message name="queryInstancesOutput">
+ <part name="instance-info-list" type="typ:tInstanceInfoList"/>
+ </message>
+ <message name="listAllInstancesInput"/>
+ <message name="listAllInstancesOutput">
+ <part name="instance-info-list" type="typ:tInstanceInfoList"/>
+ </message>
+ <message name="listAllInstancesWithLimitInput">
+ <part name="payload" type="xsd:int"/>
+ </message>
+ <message name="listAllInstancesWithLimitOutput">
+ <part name="instance-info-list" type="typ:tInstanceInfoList"/>
+ </message>
+ <message name="getInstanceInfoInput">
+ <part name="iid" type="xsd:long"/>
+ </message>
+ <message name="getInstanceInfoOutput">
+ <part name="instance-info" type="typ:tInstanceInfo"/>
+ </message>
+ <message name="getScopeInfoInput">
+ <part name="siid" type="xsd:long"/>
+ </message>
+ <message name="getScopeInfoOutput">
+ <part name="scope-info" type="typ:tScopeInfo"/>
+ </message>
+ <message name="getScopeInfoWithActivityInput">
+ <part name="sid" type="xsd:long"/>
+ <part name="activityInfo" type="xsd:boolean"/>
+ </message>
+ <message name="getScopeInfoWithActivityOutput">
+ <part name="scope-info" type="typ:tScopeInfo"/>
+ </message>
+ <message name="getVariableInfoInput">
+ <part name="sid" type="xsd:string"/>
+ <part name="varName" type="xsd:string"/>
+ </message>
+ <message name="getVariableInfoOutput">
+ <part name="scope-info" type="typ:tVariableInfo"/>
+ </message>
+ <message name="listEventsInput">
+ <part name="instanceFilter" type="xsd:string"/>
+ <part name="eventFilter" type="xsd:string"/>
+ <part name="maxCount" type="xsd:int"/>
+ </message>
+ <message name="listEventsOutput">
+ <part name="bpel-event-list" type="typ:tEventInfoList"/>
+ </message>
+ <message name="getEventTimelineInput">
+ <part name="instanceFilter" type="xsd:string"/>
+ <part name="eventFilter" type="xsd:string"/>
+ </message>
+ <message name="getEventTimelineOutput">
+ <part name="dates" type="tns:listType"/>
+ </message>
+ <message name="suspendInput">
+ <part name="iid" type="xsd:long"/>
+ </message>
+ <message name="suspendOutput">
+ <part name="instance-info" type="typ:tInstanceInfo"/>
+ </message>
+ <message name="resumeInput">
+ <part name="iid" type="xsd:long"/>
+ </message>
+ <message name="resumeOutput">
+ <part name="instance-info" type="typ:tInstanceInfo"/>
+ </message>
+ <message name="terminateInput">
+ <part name="iid" type="xsd:long"/>
+ </message>
+ <message name="terminateOutput">
+ <part name="instance-info" type="typ:tInstanceInfo"/>
+ </message>
+ <message name="faultInput">
+ <part name="iid" type="xsd:long"/>
+ </message>
+ <message name="faultOutput">
+ <part name="instance-info" type="typ:tInstanceInfo"/>
+ </message>
+ <message name="deleteInput">
+ <part name="filter" type="xsd:string"/>
+ </message>
+ <message name="deleteOutput">
+ <part name="list" type="tns:listType"/>
+ </message>
+ <message name="recoverActivityInput">
+ <part name="iid" type="xsd:long"/>
+ <part name="aid" type="xsd:long"/>
+ <part name="action" type="xsd:string"/>
+ </message>
+ <message name="recoverActivityOutput">
+ <part name="instance-info" type="typ:tInstanceInfo"/>
+ </message>
+ <message name="replayInput">
+ <part name="replay" type="typ:Replay"/>
+ </message>
+ <message name="replayOutput">
+ <part name="replayResponse" type="typ:ReplayResponse"/>
+ </message>
+ <message name="getCommunicationInput">
+ <part name="getCommunication" type="typ:GetCommunication"/>
+ </message>
+ <message name="getCommunicationOutput">
+ <part name="getCommunicationResponse" type="typ:GetCommunicationResponse"/>
+ </message>
+ <message name="managementFault">
+ <part name="managementFault" element="tns:ManagementFault"/>
+ </message>
+
+ <portType name="ProcessManagementPortType">
+ <operation name="listProcesses">
+ <input message="tns:listProcessesInput"/>
+ <output message="tns:listProcessesOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="listAllProcesses">
+ <input message="tns:listAllProcessesInput"/>
+ <output message="tns:listAllProcessesOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="listProcessesCustom">
+ <input message="tns:listProcessesCustomInput"/>
+ <output message="tns:listProcessesCustomOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="getProcessInfo">
+ <input message="tns:getProcessInfoInput"/>
+ <output message="tns:getProcessInfoOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="getProcessInfoCustom">
+ <input message="tns:getProcessInfoCustomInput"/>
+ <output message="tns:getProcessInfoCustomOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="setProcessProperty">
+ <input message="tns:setProcessPropertyInput"/>
+ <output message="tns:setProcessPropertyOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="setProcessPropertyNode">
+ <input message="tns:setProcessPropertyNodeInput"/>
+ <output message="tns:setProcessPropertyNodeOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="getExtensibilityElements">
+ <input message="tns:getExtensibilityElementsInput"/>
+ <output message="tns:getExtensibilityElementsOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="activate">
+ <input message="tns:activateInput"/>
+ <output message="tns:activateOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="setRetired">
+ <input message="tns:setRetiredInput"/>
+ <output message="tns:setRetiredOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ </portType>
+
+ <portType name="InstanceManagementPortType">
+ <operation name="listInstances">
+ <input message="tns:listInstancesInput"/>
+ <output message="tns:listInstancesOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="listInstancesSummary">
+ <input message="tns:listInstancesSummaryInput"/>
+ <output message="tns:listInstancesSummaryOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="queryInstances">
+ <input message="tns:queryInstancesInput"/>
+ <output message="tns:queryInstancesOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="listAllInstances">
+ <input message="tns:listAllInstancesInput"/>
+ <output message="tns:listAllInstancesOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="listAllInstancesWithLimit">
+ <input message="tns:listAllInstancesWithLimitInput"/>
+ <output message="tns:listAllInstancesWithLimitOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="getInstanceInfo">
+ <input message="tns:getInstanceInfoInput"/>
+ <output message="tns:getInstanceInfoOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="getScopeInfo">
+ <input message="tns:getScopeInfoInput"/>
+ <output message="tns:getScopeInfoOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="getScopeInfoWithActivity">
+ <input message="tns:getScopeInfoWithActivityInput"/>
+ <output message="tns:getScopeInfoWithActivityOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="getVariableInfo">
+ <input message="tns:getVariableInfoInput"/>
+ <output message="tns:getVariableInfoOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="listEvents">
+ <input message="tns:listEventsInput"/>
+ <output message="tns:listEventsOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="getEventTimeline">
+ <input message="tns:getEventTimelineInput"/>
+ <output message="tns:getEventTimelineOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="suspend">
+ <input message="tns:suspendInput"/>
+ <output message="tns:suspendOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="resume">
+ <input message="tns:resumeInput"/>
+ <output message="tns:resumeOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="terminate">
+ <input message="tns:terminateInput"/>
+ <output message="tns:terminateOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="fault">
+ <input message="tns:faultInput"/>
+ <output message="tns:faultOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="delete">
+ <input message="tns:deleteInput"/>
+ <output message="tns:deleteOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="recoverActivity">
+ <input message="tns:recoverActivityInput"/>
+ <output message="tns:recoverActivityOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="replay">
+ <input message="tns:replayInput"/>
+ <output message="tns:replayOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ <operation name="getCommunication">
+ <input message="tns:getCommunicationInput"/>
+ <output message="tns:getCommunicationOutput"/>
+ <fault name="ManagementFault" message="tns:managementFault"/>
+ </operation>
+ </portType>
+
+ <binding name="ProcessManagementBinding" type="tns:ProcessManagementPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="listProcesses">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="listAllProcesses">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="listProcessesCustom">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="getProcessInfo">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="getProcessInfoCustom">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="getExtensibilityElements">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="setProcessProperty">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="setProcessPropertyNode">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="activate">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="setRetired">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ </binding>
+
+ <binding name="InstanceManagementBinding" type="tns:InstanceManagementPortType">
+ <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="listInstances">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="listInstancesSummary">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="queryInstances">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="listAllInstances">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="listAllInstancesWithLimit">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="getInstanceInfo">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="getScopeInfo">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="getScopeInfoWithActivity">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="getVariableInfo">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="listEvents">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="getEventTimeline">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="suspend">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="resume">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="terminate">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="fault">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="delete">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="recoverActivity">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="replay">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ <operation name="getCommunication">
+ <soap:operation soapAction="" style="rpc"/>
+ <input>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </input>
+ <output>
+ <soap:body namespace="http://www.apache.org/ode/pmapi" use="literal"/>
+ </output>
+ <fault name="ManagementFault">
+ <soap:fault name="ManagementFault" use="literal"/>
+ </fault>
+ </operation>
+ </binding>
+
+ <service name="ProcessManagementService">
+ <port name="ProcessManagementPort" binding="tns:ProcessManagementBinding">
+ <soap:address location="http://localhost:8080/ode/processes/ProcessManagement"/>
+ </port>
+ </service>
+ <service name="InstanceManagementService">
+ <port name="InstanceManagementPort" binding="tns:InstanceManagementBinding">
+ <soap:address location="http://localhost:8080/ode/processes/InstanceManagement"/>
+ </port>
+ </service>
+
+</definitions>
Added: branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/ode/pmapi/pmapi.xsd
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/ode/pmapi/pmapi.xsd (rev 0)
+++ branches/ODE/RiftSaw-ODE-trunk/jbi-karaf-pmapi-httpbinding/src/main/resources/wsdl/ode/pmapi/pmapi.xsd 2011-01-16 12:18:37 UTC (rev 1236)
@@ -0,0 +1,843 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ 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.
+ -->
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:pmapi="http://www.apache.org/ode/pmapi/types/2006/08/02/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.apache.org/ode/pmapi/types/2006/08/02/"
+ elementFormDefault="qualified">
+ <element name="process-info" type="pmapi:tProcessInfo" id="process-info"/>
+ <element name="activity-info" type="pmapi:tActivityInfo" id="activity-info"/>
+ <element name="process-info-list" type="pmapi:tProcessInfoList"/>
+ <element name="instance-info" type="pmapi:tInstanceInfo" id="instance-info"/>
+ <element name="instance-info-list" type="pmapi:tInstanceInfoList"/>
+ <element name="scope-info" type="pmapi:tScopeInfo"/>
+ <element name="variable-info" type="pmapi:tVariableInfo"/>
+ <element name="activity-ext-info-list" type="pmapi:tActivitytExtInfoList"/>
+ <element name="activity-ext-info" type="pmapi:tActivityExtInfo"/>
+ <element name="event-info" type="pmapi:tEventInfo"/>
+ <element name="event-info-list" type="pmapi:tEventInfoList"/>
+
+ <simpleType name="ExchangeType">
+ <restriction base="string">
+ <enumeration value="M"/>
+ <enumeration value="P"/>
+ </restriction>
+ </simpleType>
+
+ <xs:complexType name="ReplayType">
+ <xs:choice>
+ <xs:element name="mock" type="anySimpleType"></xs:element>
+ <xs:element name="mockQuery" type="string"></xs:element>
+ <xs:element name="live" type="anySimpleType"></xs:element>
+ </xs:choice>
+ </xs:complexType>
+
+ <xs:element name="mockQueryRequest">
+ <xs:complexType>
+ <xs:sequence>
+ <element name="createTime" type="dateTime"/>
+ <element name="service" type="QName"/>
+ <element name="operation" type="string"/>
+ <element name="in" type="anyType"/>
+ <xs:element name="pattern">
+ <xs:simpleType>
+ <restriction base="string">
+ <enumeration value="IN_ONLY"/>
+ <enumeration value="IN_OUT"/>
+ </restriction>
+ </xs:simpleType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="mockQueryResponse" type="pmapi:ResponseType"/>
+
+ <xs:complexType name="ResponseType">
+ <choice>
+ <element name="out" type="anyType" />
+ <element name="fault" type="pmapi:FaultType" />
+ <element name="failure" type="pmapi:FailureType" />
+ </choice>
+ </xs:complexType>
+
+ <complexType name="GetCommunication">
+ <xs:sequence>
+ <xs:element name="iid" type="long" maxOccurs="unbounded"></xs:element>
+ </xs:sequence>
+ </complexType>
+
+ <xs:complexType name="GetCommunicationResponse">
+ <xs:sequence>
+ <element name="restoreInstance" minOccurs="0" maxOccurs="unbounded" type="pmapi:CommunicationType"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <element name="getCommunicationResponse" type="pmapi:GetCommunicationResponse"/>
+
+ <complexType name="FaultType">
+ <sequence>
+ <element name="type" type="QName" />
+ <element name="explanation" type="string" />
+ <element name="message" type="anyType" />
+ </sequence>
+ </complexType>
+
+ <complexType name="FailureType">
+ <sequence>
+ <element name="explanation" type="string" />
+ </sequence>
+ </complexType>
+
+ <complexType name="CommunicationType">
+ <sequence>
+ <element name="processType" type="QName" />
+ <element name="rollbackOnFault" type="boolean" minOccurs="0" default="true"/>
+
+ <element name="serviceConfig" maxOccurs="unbounded">
+ <complexType>
+ <sequence>
+ <element name="service" type="QName" />
+ <xs:element name="replayType" type="pmapi:ReplayType"/>
+ </sequence>
+ </complexType>
+ </element>
+
+ <element name="exchange" maxOccurs="unbounded">
+ <complexType>
+ <sequence>
+ <element name="type" type="pmapi:ExchangeType" />
+ <element name="createTime" type="dateTime" />
+ <element name="service" type="QName" />
+ <element name="operation" type="string" />
+ <element name="in" type="anyType" />
+ <choice> <!-- ResponseType -->
+ <element name="out" type="anyType"/>
+ <element name="fault" type="pmapi:FaultType"/>
+ <element name="failure" type="pmapi:FailureType"/>
+ </choice>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+
+ <complexType name="Replay">
+ <sequence>
+ <element name="upgradeInstance" minOccurs="0" maxOccurs="unbounded" type="long"/>
+ <element name="replaceInstance" minOccurs="0" maxOccurs="unbounded" type="long"/>
+ <element name="restoreInstance" minOccurs="0" maxOccurs="unbounded" type="pmapi:CommunicationType"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="ReplayResponse">
+ <sequence>
+ <element name="restoredIID" type="long" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <element name="replayResponse" type="pmapi:ReplayResponse"/>
+
+ <complexType name="tProcessInfo">
+ <annotation>
+ <documentation>Information about a BPEL process.</documentation>
+ </annotation>
+ <sequence>
+ <element name="pid" type="xs:string">
+ <annotation>
+ <documentation>The unique name/id of the process.</documentation>
+ </annotation>
+ </element>
+ <element name="status" type="pmapi:tProcessStatus">
+ <annotation>
+ <documentation>Process status.</documentation>
+ </annotation>
+ </element>
+ <element name="version" type="xs:long">
+ <annotation>
+ <documentation>Process version.</documentation>
+ </annotation>
+ </element>
+ <element name="definition-info" type="pmapi:tDefinitionInfo">
+ <annotation>
+ <documentation>Information about the process
+ definition.</documentation>
+ </annotation>
+ </element>
+ <element name="deployment-info" type="pmapi:tDeploymentInfo">
+ <annotation>
+ <documentation>Information about the process
+ deployment.</documentation>
+ </annotation>
+ </element>
+ <element name="instance-summary" type="pmapi:tInstanceSummary" minOccurs="0">
+ <annotation>
+ <documentation>Summary of the instances belonging to this
+ process.</documentation>
+ </annotation>
+ </element>
+ <element name="properties" type="pmapi:tProcessProperties">
+ <annotation>
+ <documentation>Process properties.</documentation>
+ </annotation>
+ </element>
+ <element name="endpoints" type="pmapi:tEndpointReferences">
+ <annotation>
+ <documentation>Endpoint references.</documentation>
+ </annotation>
+ </element>
+ <element name="documents">
+ <annotation>
+ <documentation>Process documents</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="document" type="pmapi:tDocumentInfo" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ </element>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+ <simpleType name="tProcessStatus">
+ <annotation>
+ <documentation>Enumeration of process status.</documentation>
+ </annotation>
+ <restriction base="xs:string">
+ <enumeration value="ACTIVE">
+ <annotation>
+ <documentation>Process is accepting new
+ requests.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="RETIRED">
+ <annotation>
+ <documentation>Process is NOT accepting new
+ requests.</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="tActivityStatus">
+ <annotation>
+ <documentation>Enumeration of scope status.</documentation>
+ </annotation>
+ <restriction base="xs:string">
+ <enumeration value="ENABLED">
+ <annotation>
+ <documentation>Activity is enabled, but not necessarily ready to execute.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="STARTED">
+ <annotation>
+ <documentation>Activity has started execution.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="COMPLETED">
+ <annotation>
+ <documentation>Activity has finished execution.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="FAILURE">
+ <annotation>
+ <documentation>Activity is in failure state, recovery required.</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <simpleType name="tScopeStatus">
+ <annotation>
+ <documentation>Enumeration of scope status.</documentation>
+ </annotation>
+ <restriction base="xs:string">
+ <enumeration value="ACTIVE">
+ <annotation>
+ <documentation>Scope is active.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="COMPLETED">
+ <annotation>
+ <documentation>Scope has completed.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="FAULTED">
+ <annotation>
+ <documentation>Scope has faulted.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="FAULTHANDLING">
+ <annotation>
+ <documentation>Scope is executing its fault
+ handler.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="COMPENSATING">
+ <annotation>
+ <documentation>Scope is executing its compensation
+ handler.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="COMPENSATED">
+ <annotation>
+ <documentation>Scope has been compensated.</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <complexType name="tDefinitionInfo">
+ <annotation>
+ <documentation>Information about the process definition.</documentation>
+ </annotation>
+ <sequence>
+ <element name="process-name" type="xs:QName">
+ <annotation>
+ <documentation>The qualified name of the BPEL
+ process.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="tDocumentInfo">
+ <annotation>
+ <documentation>Information about a document.</documentation>
+ </annotation>
+ <sequence>
+ <element name="name" type="xs:string">
+ <annotation>
+ <documentation>Name of the document.</documentation>
+ </annotation>
+ </element>
+ <element name="type" type="xs:anyURI">
+ <annotation>
+ <documentation>Type of document (e.g.
+ WSDL/BPEL/etc...).</documentation>
+ </annotation>
+ </element>
+ <element name="source" type="xs:anyURI">
+ <annotation>
+ <documentation>URL where the document can be
+ retrieved.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="tDeploymentInfo">
+ <annotation>
+ <documentation>Information about a BPEL process
+ deployment.</documentation>
+ </annotation>
+ <sequence>
+ <element name="package" type="xs:string">
+ <annotation>
+ <documentation>Deployment package the process was deployed into.</documentation>
+ </annotation>
+ </element>
+ <element name="document" type="xs:string">
+ <annotation>
+ <documentation>File name of BPEL document.</documentation>
+ </annotation>
+ </element>
+ <element name="deploy-date" type="xs:dateTime">
+ <annotation>
+ <documentation>Date the process was deployed.</documentation>
+ </annotation>
+ </element>
+ <element name="deployer" type="xs:string">
+ <annotation>
+ <documentation>The user that deployed this
+ process.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="tProcessProperties">
+ <sequence>
+ <element name="property" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation>Process property (name-value pair).</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="name" type="xs:QName">
+ <annotation>
+ <documentation>Name of the property.</documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="tEndpointReferences">
+ <sequence>
+ <element name="endpoint-ref" minOccurs="0" maxOccurs="unbounded">
+ <annotation>
+ <documentation>Endpoint references associated with the process partner links roles.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="partner-link" type="xs:string">
+ <annotation>
+ <documentation>Name of the partner link this endpoint reference is associated with.</documentation>
+ </annotation>
+ </attribute>
+ <attribute name="partner-role" type="xs:string">
+ <annotation>
+ <documentation>Name of the partner role this endpoint reference is associated with.</documentation>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ <simpleType name="tInstanceStatus">
+ <annotation>
+ <documentation>Enumeration of instant status.</documentation>
+ </annotation>
+ <restriction base="xs:string">
+ <enumeration value="ACTIVE">
+ <annotation>
+ <documentation>Instance is active.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="COMPLETED">
+ <annotation>
+ <documentation>Instance has completed.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="TERMINATED">
+ <annotation>
+ <documentation>Instance was terminated.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="FAILED">
+ <annotation>
+ <documentation>Instance failed (with a fault).</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="SUSPENDED">
+ <annotation>
+ <documentation>Instance has been suspended.</documentation>
+ </annotation>
+ </enumeration>
+ <enumeration value="ERROR">
+ <annotation>
+ <documentation>Instance is.....</documentation>
+ </annotation>
+ </enumeration>
+ </restriction>
+ </simpleType>
+ <complexType name="tInstanceSummary">
+ <annotation>
+ <documentation>A summary of the number of instances in each state.
+ </documentation>
+ </annotation>
+ <sequence>
+ <element name="instances" minOccurs="0" maxOccurs="unbounded">
+ <complexType>
+ <attribute name="state" type="pmapi:tInstanceStatus" use="required"/>
+ <attribute name="count" type="xs:int" use="required"/>
+ </complexType>
+ </element>
+ <element name="failures" type="pmapi:tFailuresInfo" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <complexType name="tScopeInfo">
+ <sequence>
+ <element name="siid" type="xs:string">
+ <annotation>
+ <documentation>Scope instance identifier.</documentation>
+ </annotation>
+ </element>
+ <element name="name" type="xs:string">
+ <annotation>
+ <documentation>Scope name.</documentation>
+ </annotation>
+ </element>
+ <element name="status" type="pmapi:tScopeStatus">
+ <annotation>
+ <documentation>Scope instance identifier.</documentation>
+ </annotation>
+ </element>
+ <element name="parent-scope-ref" type="pmapi:tScopeRef" minOccurs="0">
+ <annotation>
+ <documentation>Parent scope reference.</documentation>
+ </annotation>
+ </element>
+ <element name="children" minOccurs="0">
+ <complexType>
+ <sequence>
+ <element name="child-ref" type="pmapi:tScopeRef" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="activities" minOccurs="0">
+ <complexType>
+ <sequence>
+ <element ref="pmapi:activity-info" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="variables" minOccurs="0">
+ <complexType>
+ <sequence>
+ <element name="variable-ref" type="pmapi:tVariableRef" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="correlation-sets" minOccurs="0">
+ <annotation>
+ <documentation>Lists all correlation correlation sets associated with
+ this scope with their valued correlation properties.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="correlation-set" maxOccurs="unbounded">
+ <complexType>
+ <sequence>
+ <element name="correlation-property" type="pmapi:tCorrelationProperty" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="name" type="xs:string" use="required"/>
+ <attribute name="csetid" type="xs:string" use="required"/>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="endpoints" type="pmapi:tEndpointReferences">
+ <annotation>
+ <documentation>Endpoint references.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="tActivityInfo">
+ <annotation>
+ <documentation>Information about an activity.
+ </documentation>
+ </annotation>
+ <sequence>
+ <element name="name" type="xs:string" minOccurs="0"/>
+ <element name="type" type="xs:string"/>
+ <element name="aiid" type="xs:string"/>
+ <element name="status" type="pmapi:tActivityStatus"/>
+ <element name="scope" type="pmapi:tScopeRef" minOccurs="0">
+ <annotation>
+ <documentation>ID for scope in which this activity is executing.</documentation>
+ </annotation>
+ </element>
+ <element name="dt-enabled" type="xs:dateTime" minOccurs="0">
+ <annotation>
+ <documentation>The date/time when the activity was enabled.</documentation>
+ </annotation>
+ </element>
+ <element name="dt-started" type="xs:dateTime" minOccurs="0">
+ <annotation>
+ <documentation>The date/time when the activity was
+ started.</documentation>
+ </annotation>
+ </element>
+ <element name="dt-completed" type="xs:dateTime" minOccurs="0">
+ <annotation>
+ <documentation>The date/time when the activity was
+ completed.</documentation>
+ </annotation>
+ </element>
+ <element name="failure" type="pmapi:tFailureInfo" minOccurs="0">
+ <annotation>
+ <documentation>Indicates activity is in the failure state and requires recovery.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="tFailureInfo">
+ <annotation>
+ <documentation>Indicates activity is in the failure state and requires recovery.</documentation>
+ </annotation>
+ <sequence>
+ <element name="dt-failure" type="xs:dateTime">
+ <annotation>
+ <documentation>The date/time when failure occurred.</documentation>
+ </annotation>
+ </element>
+ <element name="retries" type="xs:int">
+ <annotation>
+ <documentation>Number of retries.</documentation>
+ </annotation>
+ </element>
+ <element name="reason" type="xs:string">
+ <annotation>
+ <documentation>Reason for failure.</documentation>
+ </annotation>
+ </element>
+ <element name="actions" type="xs:string">
+ <annotation>
+ <documentation>Allowed recovery actions (space separated list of action names).</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="tVariableInfo">
+ <annotation>
+ <documentation>Information about a variable (basically the value)
+ </documentation>
+ </annotation>
+ <sequence>
+ <element name="self" type="pmapi:tVariableRef"/>
+ <element name="value" minOccurs="0">
+ <complexType>
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="tInstanceInfo">
+ <sequence>
+ <element name="iid" type="xs:string">
+ <annotation>
+ <documentation>The unique instance identifier. </documentation>
+ </annotation>
+ </element>
+ <element name="pid" type="xs:string">
+ <annotation>
+ <documentation>Process id of the process to which this instance
+ belongs.</documentation>
+ </annotation>
+ </element>
+ <element name="process-name" type="QName"/>
+ <element name="root-scope" type="pmapi:tScopeRef" minOccurs="0">
+ <annotation>
+ <documentation>Root scope id (might not exist). </documentation>
+ </annotation>
+ </element>
+ <element name="status" type="pmapi:tInstanceStatus">
+ <annotation>
+ <documentation>Status of ths instance.</documentation>
+ </annotation>
+ </element>
+ <element name="dt-started" type="xs:dateTime">
+ <annotation>
+ <documentation>The date/time when the instance was
+ started.</documentation>
+ </annotation>
+ </element>
+ <element name="dt-last-active" type="xs:dateTime">
+ <annotation>
+ <documentation>The date/time when the last activity
+ occured.</documentation>
+ </annotation>
+ </element>
+ <element name="dt-error-since" type="xs:dateTime" minOccurs="0">
+ <annotation>
+ <documentation> If present, indicates the date/time since which the
+ instance has been in an error state. </documentation>
+ </annotation>
+ </element>
+ <element name="correlation-properties" minOccurs="0">
+ <annotation>
+ <documentation>Lists all correlation properties with their values that
+ are associated with this process instance.</documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="correlation-property" type="pmapi:tCorrelationProperty" maxOccurs="unbounded">
+ <annotation>
+ <documentation>Instance correlation property.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="event-info" minOccurs="0">
+ <annotation>
+ <documentation> Information about the events for this instance. If
+ absent, indicates events are not available. </documentation>
+ </annotation>
+ <complexType>
+ <sequence>
+ <element name="count" type="xs:int">
+ <annotation>
+ <documentation> Indicates the datetime of the first event
+ </documentation>
+ </annotation>
+ </element>
+ <element name="first-dtime" type="xs:dateTime">
+ <annotation>
+ <documentation> Indicates the datetime of the first event
+ </documentation>
+ </annotation>
+ </element>
+ <element name="last-dtime" type="xs:dateTime">
+ <annotation>
+ <documentation> Indicates the datetime of the last event.
+ </documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ </element>
+ <element name="fault-info" type="pmapi:tFaultInfo" minOccurs="0">
+ <annotation>
+ <documentation> If present, indicates the fault with which this
+ instance failed. </documentation>
+ </annotation>
+ </element>
+ <element name="failures" type="pmapi:tFailuresInfo" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <complexType name="tScopeRef">
+ <annotation>
+ <documentation> Reference to a scope. </documentation>
+ </annotation>
+ <attribute name="siid" type="xs:string" use="required"/>
+ <attribute name="name" type="xs:string" use="optional"/>
+ <attribute name="modelId" type="xs:string" use="required"/>
+ <attribute name="status" type="pmapi:tScopeStatus" use="required"/>
+ </complexType>
+ <complexType name="tVariableRef">
+ <annotation>
+ <documentation>Reference to a variable.</documentation>
+ </annotation>
+ <attribute name="iid" type="xs:string" use="required"/>
+ <attribute name="siid" type="xs:string" use="required"/>
+ <attribute name="name" type="xs:string" use="required"/>
+ </complexType>
+ <complexType name="tFaultInfo">
+ <annotation>
+ <documentation> Type used for reporting faults. </documentation>
+ </annotation>
+ <sequence>
+ <element name="name" type="xs:QName"/>
+ <element name="explanation" type="xs:string"/>
+ <element name="line-number" type="xs:int"/>
+ <element name="aiid" type="xs:int"/>
+ <element name="data" minOccurs="0">
+ <complexType>
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ </element>
+ </sequence>
+ </complexType>
+ <complexType name="tFailuresInfo">
+ <annotation>
+ <documentation>Indicates one or more activities are in the failure
+ state and require recovery.</documentation>
+ </annotation>
+ <sequence>
+ <element name="dt-failure" type="xs:dateTime">
+ <annotation>
+ <documentation>Date/time of last failure.</documentation>
+ </annotation>
+ </element>
+ <element name="count" type="xs:int">
+ <annotation>
+ <documentation>Number of activities in failure state.</documentation>
+ </annotation>
+ </element>
+ </sequence>
+ </complexType>
+ <!-- Yew that's ugly, but there aren't so many ways to map an heritage -->
+ <complexType name="tEventInfo">
+ <sequence>
+ <element name="name" type="xs:string"/>
+ <element name="type" type="xs:string"/>
+ <element name="line-number" type="xs:int"/>
+ <element name="timestamp" type="xs:dateTime"/>
+ <element name="process-id" type="xs:QName" minOccurs="0" maxOccurs="1"/>
+ <element name="process-type" type="xs:QName" minOccurs="0" maxOccurs="1"/>
+ <element name="instance-id" type="xs:long" minOccurs="0" maxOccurs="1"/>
+ <element name="scope-id" type="xs:long" minOccurs="0" maxOccurs="1"/>
+ <element name="parent-scope-id" type="xs:long" minOccurs="0" maxOccurs="1"/>
+ <element name="scope-name" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="scope-definition-id" type="xs:int" minOccurs="0" maxOccurs="1"/>
+ <element name="activity-id" type="xs:long" minOccurs="0" maxOccurs="1"/>
+ <element name="activity-name" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="activity-type" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="activity-definition-id" type="xs:int" minOccurs="0" maxOccurs="1"/>
+ <element name="activity-failure-reason" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="activity-recovery-action" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="variable-name" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="new-value" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="port-type" type="xs:QName" minOccurs="0" maxOccurs="1"/>
+ <element name="operation" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="correlation-set" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="mex-id" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="correlation-key" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="expression" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="fault" type="xs:QName" minOccurs="0" maxOccurs="1"/>
+ <element name="fault-line-number" type="xs:int" minOccurs="0" maxOccurs="1"/>
+ <element name="explanation" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="result" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="root-scope-id" type="xs:long" minOccurs="0" maxOccurs="1"/>
+ <element name="root-scope-declaration-id" type="xs:int" minOccurs="0" maxOccurs="1"/>
+ <element name="partner-link-name" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <element name="old-state" type="xs:int" minOccurs="0" maxOccurs="1"/>
+ <element name="new-state" type="xs:int" minOccurs="0" maxOccurs="1"/>
+ <element name="success" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
+ </sequence>
+ </complexType>
+ <complexType name="tInstanceInfoList">
+ <sequence>
+ <element ref="pmapi:instance-info" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="tProcessInfoList">
+ <sequence>
+ <element ref="pmapi:process-info" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="tEventInfoList">
+ <sequence>
+ <element ref="pmapi:event-info" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="tCorrelationProperty" mixed="true">
+ <simpleContent>
+ <extension base="xs:string">
+ <attribute name="csetid" type="xs:string" use="required"/>
+ <attribute name="propertyName" type="xs:QName" use="required"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <complexType name="tActivityExtInfo">
+ <annotation>
+ <documentation>Information about an activity.
+ </documentation>
+ </annotation>
+ <sequence>
+ <element name="aiid" type="xs:string"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="tActivitytExtInfoList">
+ <sequence>
+ <element ref="pmapi:activity-ext-info" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+</schema>
Modified: branches/ODE/RiftSaw-ODE-trunk/jca-ra/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jca-ra/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/jca-ra/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -17,8 +17,7 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-jca-ra</artifactId>
<name>ODE :: JCA Resource Archive</name>
Modified: branches/ODE/RiftSaw-ODE-trunk/jca-server/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/jca-server/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/jca-server/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -17,8 +17,7 @@
~ specific language governing permissions and limitations
~ under the License.
-->
-
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-jca-server</artifactId>
<name>ODE :: JCA Server</name>
Modified: branches/ODE/RiftSaw-ODE-trunk/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -23,9 +23,9 @@
</licenses>
<scm>
- <connection>scm:svn:http://svn.apache.org/repos/asf/ode/</connection>
- <developerConnection>scm:svn:https://svn.apache.org/repos/asf/ode/</developerConnection>
- <url>http://svn.apache.org/repos/asf/ode/</url>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/ode/tags/ode-1.3.5</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/ode/tags/ode-1.3.5</developerConnection>
+ <url>http://svn.apache.org/repos/asf/ode/tags/ode-1.3.5</url>
</scm>
<organization>
@@ -181,11 +181,13 @@
<module>bpel-connector</module>
<module>bpel-test</module>
<module>axis2</module>
- <!--module>jbi</module>
+ <module>jbi</module>
<module>jbi-bundle</module>
<module>jbi-karaf</module>
+ <module>distro/src/examples-jbi/maven2/helloworld2-osgi</module>
+ <module>jbi-karaf-pmapi-httpbinding</module>
<module>axis2-war</module>
- <module>distro</module-->
+ <module>distro</module>
</modules>
<build>
@@ -313,6 +315,18 @@
<updatePolicy>never</updatePolicy>
</snapshots>
</repository>
+
+ <repository>
+ <id>intalio</id>
+ <name>intalio repo</name>
+ <url>http://www.intalio.org/public/maven2</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
</repositories>
<!-- |
Modified: branches/ODE/RiftSaw-ODE-trunk/scheduler-simple/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/scheduler-simple/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/scheduler-simple/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-scheduler-simple</artifactId>
Modified: branches/ODE/RiftSaw-ODE-trunk/tools/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/tools/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/tools/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-tools</artifactId>
Modified: branches/ODE/RiftSaw-ODE-trunk/utils/pom.xml
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/utils/pom.xml 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/utils/pom.xml 2011-01-16 12:18:37 UTC (rev 1236)
@@ -18,7 +18,7 @@
~ under the License.
-->
-<project>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<groupId>org.jboss.soa.bpel</groupId>
<artifactId>riftsaw-utils</artifactId>
<name>ODE :: Utilities</name>
Modified: branches/ODE/RiftSaw-ODE-trunk/utils/src/main/java/org/apache/ode/utils/xsd/XSUtils.java
===================================================================
--- branches/ODE/RiftSaw-ODE-trunk/utils/src/main/java/org/apache/ode/utils/xsd/XSUtils.java 2011-01-16 12:02:21 UTC (rev 1235)
+++ branches/ODE/RiftSaw-ODE-trunk/utils/src/main/java/org/apache/ode/utils/xsd/XSUtils.java 2011-01-16 12:18:37 UTC (rev 1236)
@@ -30,14 +30,14 @@
import org.apache.xerces.xs.XSModel;
import org.w3c.dom.ls.LSInput;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
+import java.io.ByteArrayInputStream;
import java.net.URI;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+
/**
* Various utility methods related to XML Schema processing.
*/
@@ -64,7 +64,7 @@
DOMInputImpl input = new DOMInputImpl();
input.setSystemId(systemURI.toString());
- input.setStringData(new String(schemaData));
+ input.setByteStream(new ByteArrayInputStream(schemaData));
Map<URI, byte[]> ret = captureSchema(input, resolver);
ret.put(systemURI, schemaData);
13 years, 11 months