Hi,
I run into a lot of issues related to the location of the BPEL process when
the .bpel file is contained in a JAR file (or an OSGi bundle).
The current code only handles the artifacts on the file system:
* It doesn't handle the URLs that are not appropriately escaped (such as
file:/C:/My Folder/a.bpel).
* It makes the assumption that the BPEL file is on the file system (in my
case, it's packaged in a jar file)
* It uses the containing directory of the BPEL file as the working directoy
to create deploy.xml, save the modified bpel file and compile the bpel
files. This can be quite invasive as the directory can be in the cache of
the OSGi bundle data or the maven repo.
* It uses a classloader to search for JPADB with the assumption that the
database is a unzipped folder.
I suggest that we improve the story as follows:
1) select a working directory from the java.io.tmpdir [1]
2) copy the content of the bpel file into the working directory
3) copy the jpadb from the tuscany-implementation-ode.jar into the working
directoy too
4) create deploy.xml
5) update the bpel file if necessary
6) compile the bpel files under the working directory and collect the .cbp
files
[1]
http://java.sun.com/j2se/1.4.2/docs/api/java/io/File.html#createTempFile(java.lang.String,
java.lang.String, java.io.File)
Thanks,
Raymond
---
Raymond Feng
Apache Tuscany PMC Member: http://tuscany.apache.org
Co-author of Tuscany In Action: http://www.manning.com/laws