import java.util.SortedSet;
import java.util.TreeSet;
+import javax.swing.text.StyledEditorKit.ItalicAction;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.argeo.slc.ModuleSet;
}
- public Distribution getModuleDistribution(String moduleName,
- String moduleVersion) {
- // NameVersion searched = new DefaultNameVersion(moduleName,
- // moduleVersion);
- // for (Distribution ad : modules) {
- // if (ad.equals(searched))
- // return ad;
- // }
- return null;
- }
-
public Iterator<NameVersion> nameVersions() {
List<NameVersion> nameVersions = new ArrayList<NameVersion>();
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<Runnable> 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<NameVersion> 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<NameVersion> nameVersions,
ModuleSet moduleSet) {
Iterator<? extends NameVersion> it = moduleSet.nameVersions();
}
}
+ // Modular distribution interface methods. Not yet used.
+ public Distribution getModuleDistribution(String moduleName,
+ String moduleVersion) {
+ // NameVersion searched = new DefaultNameVersion(moduleName,
+ // moduleVersion);
+ // for (Distribution ad : modules) {
+ // if (ad.equals(searched))
+ // return ad;
+ // }
+ return null;
+ }
+
public Object getModulesDescriptor(String descriptorType) {
// TODO Auto-generated method stub
return null;
}
+ /* DEPENDENCY INJECTION */
public void setModules(List<Object> modules) {
this.modules = modules;
}
-
}