Josh, I adapted the bundle deployment code from original ODE sources that had a 
few limitations, and added the bundle activator that you see today.   The 
original code didn't handle subdirectories, and I didn't fix this limitation.  
I think there's no real reason why you wouldn't be able to modify the source 
and have it handle nested subdirectories--I think it's an oversight that should 
be fixed.  My suggestion is to file a JIRA bug report and attach a patch to it. 
 I think your assessment is correct that you should only need to deal with the 
two areas you identified, although you may find that resolving WSDL imports is 
a big topic all by itself and I really don't like the way the code needs to be 
exploded from bundle form in the first place.

HTH,

Kurt

On Jul 7, 2011, at 1:50 PM, Josh Mahonin wrote:

> Hi,
> 
> I'm using Apache ODE 1.3.5 in ServiceMix, and am seeing an issue with 
> deploying OSGI bundles with subfolders in them.  I was getting errors about 
> not being able to find the WSDL file I was referencing from my BPEL, and saw 
> that my subfolders don't get deployed at all into the 'bpelData/<bundlename>' 
> folder at all.
> 
> Looking through 
> "jbi-bundle/src/main/java/org/apache/ode/jbi/osgi/deployer/OdeDeployedBundle.java",
>  I see on line 123, the Enumeration is calling 'findEntries' on the bundle, 
> without the recursion flag set.  As well, the 'copyOne' function in the same 
> file, starting at line 203, appears to have specific directory handling set 
> up (that is to say, it ignores them).
> 
> In my case, I have various WSDL and XSD files tucked in a 'schemas' folder, 
> which includes multiple sub-folders as well.  The WSDLs reference various XSD 
> files in separate sub-folders, and the whole thing is source controlled and 
> referenced in multiple other projects.  As such, the obvious work-around of 
> flattening the structure and packing them in the root directory isn't ideal.
> 
> I'm unfamiliar with the internals of ODE, but is there any reason why the 
> deployment folder doesn't support sub-directories?  If not, is the fix just a 
> matter of switching the flag on 'findEntries', and tweaking the 'copyOne' 
> function?
> 
> Thanks,
> 
> Josh
> 
> 

Reply via email to