X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.repo%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Frepo%2Fosgi%2FArgeoOsgiDistributionImpl.java;h=b47da8b887fcdae29253c1ea8f592f39cfc03adc;hb=bca1c6afbc73093b9dacb47b4dfd304d4d1b32cb;hp=08746b5e20032d9e0f8f4c4c0ea23e8f61d6b638;hpb=1a0340b557d4cd38e763e4922a3ee4e5dcc8f6d3;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ArgeoOsgiDistributionImpl.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ArgeoOsgiDistributionImpl.java index 08746b5e2..b47da8b88 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ArgeoOsgiDistributionImpl.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/osgi/ArgeoOsgiDistributionImpl.java @@ -73,21 +73,39 @@ public class ArgeoOsgiDistributionImpl extends ArtifactDistribution implements List nameVersions = new ArrayList(); for (Object module : modules) { // extract runnable from execution flow - if (module instanceof ExecutionFlow) - module = ((ExecutionFlow) module).getRunnable(); - - if (module instanceof ModuleSet) - addNameVersions(nameVersions, (ModuleSet) module); - else if (module instanceof NameVersion) { - NameVersion nv = (NameVersion) module; - if (!nameVersions.contains(nv)) - nameVersions.add(nv); - } else - log.warn("Ignored " + module); + if (module instanceof ExecutionFlow) { + for (Iterator it = ((ExecutionFlow) module) + .runnables(); it.hasNext();) { + processModule(nameVersions, it.next()); + } + } + // module = ((ExecutionFlow) module).getRunnable(); + else { + processModule(nameVersions, module); + } + // if (module instanceof ModuleSet) + // addNameVersions(nameVersions, (ModuleSet) module); + // else if (module instanceof NameVersion) { + // NameVersion nv = (NameVersion) module; + // if (!nameVersions.contains(nv)) + // nameVersions.add(nv); + // } else + // log.warn("Ignored " + module); } return nameVersions.iterator(); } + private void processModule(List nameVersions, Object module) { + if (module instanceof ModuleSet) + addNameVersions(nameVersions, (ModuleSet) module); + else if (module instanceof NameVersion) { + NameVersion nv = (NameVersion) module; + if (!nameVersions.contains(nv)) + nameVersions.add(nv); + } else + log.warn("Ignored " + module); + } + private void addNameVersions(List nameVersions, ModuleSet moduleSet) { Iterator it = moduleSet.nameVersions();