Author: mriou
Date: Thu Sep 28 13:06:10 2006
New Revision: 451001
URL: http://svn.apache.org/viewvc?view=rev&rev=451001
Log:
Recursively looking for bpel, wsdl and schemas in deployment unit
subdirectories instead of only the root.
Modified:
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/deploy/DeploymentUnitImpl.java
Modified:
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/deploy/DeploymentUnitImpl.java
URL:
http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/deploy/DeploymentUnitImpl.java?view=diff&rev=451001&r1=451000&r2=451001
==============================================================================
---
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/deploy/DeploymentUnitImpl.java
(original)
+++
incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/deploy/DeploymentUnitImpl.java
Thu Sep 28 13:06:10 2006
@@ -117,7 +117,7 @@
* compilation, whether a cbp file exists or not.
*/
private void compileProcesses(boolean force) {
- File[] bpels = _duDirectory.listFiles(_bpelFilter);
+ ArrayList<File> bpels = listFilesRecursively(_duDirectory,
_bpelFilter);
for (File bpel : bpels) {
File compiled = new File(bpel.getParentFile(),
bpel.getName().substring(0,bpel.getName().length()-".bpel".length()) + ".cbp");
if (compiled.exists() && !force) {
@@ -149,7 +149,7 @@
}
if (_processes == null || force) {
_processes = new HashMap<QName, OProcess>();
- File[] cbps = _duDirectory.listFiles(_cbpFilter);
+ ArrayList<File> cbps = listFilesRecursively(_duDirectory,
_cbpFilter);
for (File file : cbps) {
OProcess oprocess = loadProcess(file);
_processes.put(new QName(oprocess.targetNamespace,
oprocess.getName()), oprocess);
@@ -239,7 +239,7 @@
WSDLFactory4BPEL wsdlFactory = (WSDLFactory4BPEL)
WSDLFactoryBPEL20.newInstance();
WSDLReader r = wsdlFactory.newWSDLReader();
- File[] wsdls = _duDirectory.listFiles(_wsdlFilter);
+ ArrayList<File> wsdls = listFilesRecursively(_duDirectory,
_wsdlFilter);
for (File file : wsdls) {
try {
_docRegistry.addDefinition((Definition4BPEL)
r.readWSDL(file.toURI().toString()));
@@ -286,5 +286,21 @@
public void refresh() {
loadProcessDefinitions(true);
+ }
+
+ private ArrayList<File> listFilesRecursively(File root, FileFilter filter)
{
+ ArrayList<File> result = new ArrayList<File>();
+ // Filtrating the files we're interested in in the current directory
+ File[] select = root.listFiles(filter);
+ for (File file : select) {
+ result.add(file);
+ }
+ // Then we can check the directories
+ File[] all = root.listFiles();
+ for (File file : all) {
+ if (file.isDirectory())
+ result.addAll(listFilesRecursively(file, filter));
+ }
+ return result;
}
}