import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
-
import java.net.URI;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
-
import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil;
import org.opendaylight.yangtools.yang.model.api.Module;
import org.opendaylight.yangtools.yang.model.api.ModuleImport;
private static final Function<Node, Module> TOPOLOGY_FUNCTION = new Function<TopologicalSort.Node, Module>() {
@Override
public Module apply(final TopologicalSort.Node input) {
+ if (input == null) {
+ return null;
+ }
ModuleOrModuleBuilder moduleOrModuleBuilder = ((ModuleNodeImpl) input).getReference();
return moduleOrModuleBuilder.getModule();
}
@Override
public ModuleBuilder apply(final TopologicalSort.Node input) {
// Cast to ModuleBuilder from Node and return
+ if (input == null) {
+ return null;
+ }
ModuleOrModuleBuilder moduleOrModuleBuilder = ((ModuleNodeImpl) input).getReference();
return moduleOrModuleBuilder.getModuleBuilder();
}
@Override
public ModuleBuilder apply(final TopologicalSort.Node input) {
+ if (input == null) {
+ return null;
+ }
ModuleOrModuleBuilder moduleOrModuleBuilder = ((ModuleNodeImpl) input).getReference();
if (moduleOrModuleBuilder.isModuleBuilder()) {
return moduleOrModuleBuilder.getModuleBuilder();
*/
private static void processDependencies(final Map<String, Map<Date, ModuleNodeImpl>> moduleGraph,
final Iterable<ModuleOrModuleBuilder> mmbs) {
- Map<URI, Object> allNS = new HashMap<>();
+ Map<URI, ModuleOrModuleBuilder> allNS = new HashMap<>();
// Create edges in graph
for (ModuleOrModuleBuilder mmb : mmbs) {
// check for existence of module with same namespace
if (allNS.containsKey(ns)) {
- Object mod = allNS.get(ns);
+ ModuleOrModuleBuilder mod = allNS.get(ns);
String name = null;
Date revision = null;
- 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.isModule()) {
+ name = mod.getModule().getName();
+ revision = mod.getModule().getRevision();
+ } else if (mod.isModuleBuilder()) {
+ name = mod.getModuleBuilder().getName();
+ revision = mod.getModuleBuilder().getRevision();
}
if (!(fromName.equals(name))) {
LOGGER.warn(