ModuleDependencySort.processDependencies(...)
Turns out allNS.get(ns) can return objects of type ModuleOrModuleBuilder
(not just Module or ModuleBuilder types).
Now we check for that case, and unpack it to a Module or ModuleBuilder.
The rest of the logic then continues as normal.
Also added a log for getting a module with no name so as to catch
similar issues in the future.
Change-Id: I956c334c5dd10b51bec01d409f2433229d05f767
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Object mod = allNS.get(ns);
String name = null;
Date revision = null;
Object mod = allNS.get(ns);
String name = null;
Date revision = null;
+
+ if(mod instanceof ModuleOrModuleBuilder) {
+ ModuleOrModuleBuilder modOrmodBuilder = ((ModuleOrModuleBuilder) mod);
+ if(modOrmodBuilder.isModule()) {
+ mod = ((ModuleOrModuleBuilder) mod).getModule();
+ } else if (modOrmodBuilder.isModuleBuilder()) {
+ mod = ((ModuleOrModuleBuilder) mod).getModuleBuilder();
+ } else {
+ LOGGER.warn("ModuleOrModuleBuilder is neither Module or ModuleBuilder");
+ }
+ }
if (mod instanceof Module) {
name = ((Module) mod).getName();
revision = ((Module) mod).getRevision();
} else if (mod instanceof ModuleBuilder) {
name = ((ModuleBuilder) mod).getName();
revision = ((ModuleBuilder) mod).getRevision();
if (mod instanceof Module) {
name = ((Module) mod).getName();
revision = ((Module) mod).getRevision();
} else if (mod instanceof ModuleBuilder) {
name = ((ModuleBuilder) mod).getName();
revision = ((ModuleBuilder) mod).getRevision();
+ } else {
+ LOGGER.warn("Module has no name: {}", mod);
}
if (!(fromName.equals(name))) {
LOGGER.warn(
}
if (!(fromName.equals(name))) {
LOGGER.warn(