package org.opendaylight.mdsal.binding.javav2.generator.impl;
+import static org.opendaylight.mdsal.binding.javav2.generator.impl.GenHelperUtil.processUsesImplements;
+
import com.google.common.annotations.Beta;
import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import java.util.Map.Entry;
import java.util.Set;
import java.util.stream.Collectors;
+import org.opendaylight.mdsal.binding.javav2.generator.context.ModuleContext;
import org.opendaylight.mdsal.binding.javav2.generator.spi.TypeProvider;
import org.opendaylight.mdsal.binding.javav2.generator.util.BindingGeneratorUtil;
import org.opendaylight.mdsal.binding.javav2.model.api.Type;
verboseClassComments, resultCtx, genTypeBuilders, typeProvider);
for (AugmentationSchema augSchema : schemaPathAugmentListEntry.getValue()) {
- GenHelperUtil.processUsesImplements(augSchema, module, schemaContext, genCtx, BindingNamespaceType.Data);
+ processUsesImplements(augSchema, module, schemaContext, genCtx, BindingNamespaceType.Data);
}
}
final Set<AugmentationSchema> augmentations = module.getAugmentations();
final List<AugmentationSchema> sortedAugmentations = new ArrayList<>(augmentations).stream()
- .filter(aug -> !module.equals(schemaContext.findModuleByNamespaceAndRevision(
- aug.getTargetPath().getLastComponent().getNamespace(),
- aug.getTargetPath().getLastComponent().getRevision())))
+ .filter(aug -> !module.equals(findAugmentTargetModule(schemaContext, aug)))
.collect(Collectors.toList());
Collections.sort(sortedAugmentations, AUGMENT_COMP);
return sortedAugmentations;
}
+ public static Module findAugmentTargetModule(final SchemaContext schemaContext , final AugmentationSchema aug) {
+ Preconditions.checkNotNull(aug, "Augmentation schema can not be null.");
+ final QName first = aug.getTargetPath().getPathFromRoot().iterator().next();
+ return schemaContext.findModuleByNamespaceAndRevision(first.getNamespace(), first.getRevision());
+ }
+
/**
* Converts <code>augSchema</code> to list of <code>Type</code> which
* contains generated type for augmentation. In addition there are also
GenHelperUtil.resolveDataSchemaNodes(module, basePackageName, caseTypeBuilder, childOfType,
childNodes, genCtx, schemaContext, verboseClassComments, genTypeBuilders, typeProvider,
namespaceType);
+ processUsesImplements(node, module, schemaContext, genCtx, namespaceType);
}
genCtx.get(module).addCaseType(caseNode.getPath(), caseTypeBuilder);
genCtx.get(module).addChoiceToCaseMapping(targetType, caseTypeBuilder, node);