import static org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findDataSchemaNode;
import static org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findNodeInSchemaContext;
import static org.opendaylight.yangtools.yang.model.util.SchemaContextUtil.findParentModule;
+
import com.google.common.base.Preconditions;
import com.google.common.base.Splitter;
import com.google.common.collect.Iterables;
schemaContext = context;
typeProvider = new TypeProviderImpl(context);
- Module[] modulesArray = new Module[context.getModules().size()];
+ final Module[] modulesArray = new Module[context.getModules().size()];
context.getModules().toArray(modulesArray);
final List<Module> contextModules = ModuleDependencySort.sort(modulesArray);
genTypeBuilders = new HashMap<>();
- for (Module contextModule : contextModules) {
+ for (final Module contextModule : contextModules) {
moduleToGenTypes(contextModule, context);
}
- for (Module contextModule : contextModules) {
+ for (final Module contextModule : contextModules) {
allAugmentsToGenTypes(contextModule);
}
final List<Type> filteredGenTypes = new ArrayList<>();
- for (Module m : modules) {
+ for (final Module m : modules) {
final ModuleContext ctx = checkNotNull(genCtx.get(m), "Module context not found for module %s", m);
filteredGenTypes.addAll(ctx.getGeneratedTypes());
final Set<Type> additionalTypes = ((TypeProviderImpl) typeProvider).getAdditionalTypes().get(m);
final List<TypeDefinition<?>> typeDefinitions = it.allTypedefs();
checkState(typeDefinitions != null, "Type Definitions for module «module.name» cannot be NULL.");
- for (TypeDefinition<?> typedef : typeDefinitions) {
+ for (final TypeDefinition<?> typedef : typeDefinitions) {
if (typedef != null) {
final Type type = ((TypeProviderImpl) typeProvider).generatedTypeForExtendedDefinitionType(typedef,
typedef);
genType.addImplementsType(identifiableMarker);
}
- for (DataSchemaNode schemaNode : node.getChildNodes()) {
+ for (final DataSchemaNode schemaNode : node.getChildNodes()) {
if (!schemaNode.isAugmenting()) {
addSchemaNodeToListBuilders(basePackageName, schemaNode, genType, genTOBuilder, listKeys, module);
}
private void processUsesAugments(final DataNodeContainer node, final Module module) {
final String basePackageName = BindingMapping.getRootPackageName(module.getQNameModule());
- for (UsesNode usesNode : node.getUses()) {
- for (AugmentationSchema augment : usesNode.getAugmentations()) {
+ for (final UsesNode usesNode : node.getUses()) {
+ for (final AugmentationSchema augment : usesNode.getAugmentations()) {
usesAugmentationToGenTypes(basePackageName, augment, module, usesNode, node);
processUsesAugments(augment, module);
}
final String basePackageName = BindingMapping.getRootPackageName(module.getQNameModule());
final List<AugmentationSchema> augmentations = resolveAugmentations(module);
- for (AugmentationSchema augment : augmentations) {
+ for (final AugmentationSchema augment : augmentations) {
augmentationToGenTypes(basePackageName, augment, module);
}
}
checkState(module.getAugmentations() != null, "Augmentations Set cannot be NULL.");
final Set<AugmentationSchema> augmentations = module.getAugmentations();
- List<AugmentationSchema> sortedAugmentations = new ArrayList<>(augmentations);
+ final List<AugmentationSchema> sortedAugmentations = new ArrayList<>(augmentations);
Collections.sort(sortedAugmentations, Comparators.AUGMENT_COMP);
return sortedAugmentations;
interfaceBuilder.addImplementsType(Types.typeForClass(RpcService.class));
interfaceBuilder.setDescription(createDescription(rpcDefinitions, module.getName(), module.getModuleSourcePath()));
- for (RpcDefinition rpc : rpcDefinitions) {
+ for (final RpcDefinition rpc : rpcDefinitions) {
if (rpc != null) {
final String rpcName = BindingMapping.getClassName(rpc.getQName());
final String rpcMethodName = BindingMapping.getPropertyName(rpcName);
- for (NotificationDefinition notification : notifications) {
+ for (final NotificationDefinition notification : notifications) {
if (notification != null) {
processUsesAugments(notification, module);
final String basePackageName = BindingMapping.getRootPackageName(module.getQNameModule());
if (schemaIdentities != null && !schemaIdentities.isEmpty()) {
- for (IdentitySchemaNode identity : schemaIdentities) {
+ for (final IdentitySchemaNode identity : schemaIdentities) {
identityToGenType(module, basePackageName, identity, context);
}
}
private static Constant qnameConstant(final GeneratedTypeBuilderBase<?> toBuilder, final String constantName,
final QName name) {
- StringBuilder sb = new StringBuilder("org.opendaylight.yangtools.yang.common.QName");
+ final StringBuilder sb = new StringBuilder("org.opendaylight.yangtools.yang.common.QName");
sb.append(".create(");
sb.append('"');
sb.append(name.getNamespace());
final String basePackageName = BindingMapping.getRootPackageName(module.getQNameModule());
final List<GroupingDefinition> groupingsSortedByDependencies = new GroupingDefinitionDependencySort()
.sort(groupings);
- for (GroupingDefinition grouping : groupingsSortedByDependencies) {
+ for (final GroupingDefinition grouping : groupingsSortedByDependencies) {
groupingToGenType(basePackageName, grouping, module);
}
}
}
if (!(targetSchemaNode instanceof ChoiceSchemaNode)) {
- String packageName = augmentPackageName;
+ final String packageName = augmentPackageName;
final Type targetType = new ReferencedTypeImpl(targetTypeBuilder.getPackageName(),
targetTypeBuilder.getName());
addRawAugmentGenTypeDefinition(module, packageName, augmentPackageName, targetType, augSchema);
processUsesAugments(augSchema, module);
final SchemaPath targetPath = augSchema.getTargetPath();
- SchemaNode targetSchemaNode = findOriginalTargetFromGrouping(targetPath, usesNode);
+ final SchemaNode targetSchemaNode = findOriginalTargetFromGrouping(targetPath, usesNode);
if (targetSchemaNode == null) {
throw new IllegalArgumentException("augment target not found: " + targetPath);
}
* @return node from its original location in grouping
*/
private DataSchemaNode findOriginalTargetFromGrouping(final SchemaPath targetPath, final UsesNode parentUsesNode) {
- SchemaNode targetGrouping = findNodeInSchemaContext(schemaContext, parentUsesNode.getGroupingPath()
+ final SchemaNode targetGrouping = findNodeInSchemaContext(schemaContext, parentUsesNode.getGroupingPath()
.getPathFromRoot());
if (!(targetGrouping instanceof GroupingDefinition)) {
throw new IllegalArgumentException("Failed to generate code for augment in " + parentUsesNode);
}
- GroupingDefinition grouping = (GroupingDefinition) targetGrouping;
+ final GroupingDefinition grouping = (GroupingDefinition) targetGrouping;
SchemaNode result = grouping;
- for (QName node : targetPath.getPathFromRoot()) {
+ for (final QName node : targetPath.getPathFromRoot()) {
// finding by local name is valid, grouping cannot contain nodes
// with same name and different namespace
if (result instanceof DataNodeContainer) {
}
boolean fromUses = ((DataSchemaNode) result).isAddedByUses();
- Iterator<UsesNode> groupingUses = grouping.getUses().iterator();
+ final Iterator<UsesNode> groupingUses = grouping.getUses().iterator();
while (groupingUses.hasNext() && fromUses) {
result = findOriginalTargetFromGrouping(targetPath, groupingUses.next());
if (result != null) {
* @return nodeParameter of UnknownSchemaNode
*/
private String getAugmentIdentifier(final List<UnknownSchemaNode> unknownSchemaNodes) {
- for (UnknownSchemaNode unknownSchemaNode : unknownSchemaNodes) {
+ for (final UnknownSchemaNode unknownSchemaNode : unknownSchemaNodes) {
final QName nodeType = unknownSchemaNode.getNodeType();
if (AUGMENT_IDENTIFIER_NAME.equals(nodeType.getLocalName())
&& YANG_EXT_NAMESPACE.equals(nodeType.getNamespace().toString())) {
private GeneratedTypeBuilder resolveDataSchemaNodes(final Module module, final String basePackageName,
final GeneratedTypeBuilder parent, final GeneratedTypeBuilder childOf, final Iterable<DataSchemaNode> schemaNodes) {
if (schemaNodes != null && parent != null) {
- for (DataSchemaNode schemaNode : schemaNodes) {
+ for (final DataSchemaNode schemaNode : schemaNodes) {
if (!schemaNode.isAugmenting() && !schemaNode.isAddedByUses()) {
addSchemaNodeToBuilderAsMethod(basePackageName, schemaNode, parent, childOf, module);
}
final GeneratedTypeBuilder typeBuilder, final GeneratedTypeBuilder childOf,
final Iterable<DataSchemaNode> schemaNodes) {
if ((schemaNodes != null) && (typeBuilder != null)) {
- for (DataSchemaNode schemaNode : schemaNodes) {
+ for (final DataSchemaNode schemaNode : schemaNodes) {
if (!schemaNode.isAugmenting()) {
addSchemaNodeToBuilderAsMethod(basePackageName, schemaNode, typeBuilder, childOf, module);
}
return;
}
- for (ChoiceCaseNode caseNode : caseNodes) {
+ for (final ChoiceCaseNode caseNode : caseNodes) {
if (caseNode != null && !caseNode.isAddedByUses() && !caseNode.isAugmenting()) {
final String packageName = packageNameForGeneratedType(basePackageName, caseNode.getPath());
final GeneratedTypeBuilder caseTypeBuilder = addDefaultInterfaceDefinition(packageName, caseNode, module);
checkArgument(targetType != null, "Referenced Choice Type cannot be NULL.");
checkArgument(augmentedNodes != null, "Set of Choice Case Nodes cannot be NULL.");
- for (DataSchemaNode caseNode : augmentedNodes) {
+ for (final DataSchemaNode caseNode : augmentedNodes) {
if (caseNode != null) {
final String packageName = packageNameForGeneratedType(basePackageName, caseNode.getPath());
final GeneratedTypeBuilder caseTypeBuilder = addDefaultInterfaceDefinition(packageName, caseNode, module);
private void processContextRefExtension(final LeafSchemaNode leaf, final MethodSignatureBuilder getter,
final Module module) {
- for (UnknownSchemaNode node : leaf.getUnknownSchemaNodes()) {
+ for (final UnknownSchemaNode node : leaf.getUnknownSchemaNodes()) {
final QName nodeType = node.getNodeType();
if ("context-reference".equals(nodeType.getLocalName())) {
final String nodeParam = node.getNodeParameter();
identity = findIdentityByName(module.getIdentities(), iterator.next());
basePackageName = BindingMapping.getRootPackageName(module.getQNameModule());
} else if (length == 2) {
- String prefix = iterator.next();
+ final String prefix = iterator.next();
final Module dependentModule = findModuleFromImports(module.getImports(), prefix);
if (dependentModule == null) {
throw new IllegalArgumentException("Failed to process context-reference: unknown prefix "
}
private IdentitySchemaNode findIdentityByName(final Set<IdentitySchemaNode> identities, final String name) {
- for (IdentitySchemaNode id : identities) {
+ for (final IdentitySchemaNode id : identities) {
if (id.getQName().getLocalName().equals(name)) {
return id;
}
}
private Module findModuleFromImports(final Set<ModuleImport> imports, final String prefix) {
- for (ModuleImport imp : imports) {
+ for (final ModuleImport imp : imports) {
if (imp.getPrefix().equals(prefix)) {
return schemaContext.findModuleByName(imp.getModuleName(), imp.getRevision());
}
if (typeDef instanceof UnionTypeDefinition) {
// GeneratedType for this type definition should be already
// created
- QName qname = typeDef.getQName();
- Module unionModule = schemaContext.findModuleByNamespaceAndRevision(qname.getNamespace(),
+ final QName qname = typeDef.getQName();
+ final Module unionModule = schemaContext.findModuleByNamespaceAndRevision(qname.getNamespace(),
qname.getRevision());
final ModuleContext mc = genCtx.get(unionModule);
returnType = mc.getTypedefs().get(typeDef.getPath());
genTOBuilder.setIsUnion(true);
((TypeProviderImpl) typeProvider).addUnitsToGenTO(genTOBuilder, typeDef.getUnits());
- // union builder
- final GeneratedTOBuilder unionBuilder = new GeneratedTOBuilderImpl(typeBuilder.getPackageName(),
- genTOBuilder.getName() + "Builder");
- unionBuilder.setIsUnionBuilder(true);
+
+
+ final GeneratedTOBuilder unionBuilder = createUnionBuilder(genTOBuilder,typeBuilder);
+
+
final MethodSignatureBuilder method = unionBuilder.addMethod("getDefaultInstance");
method.setReturnType(returnType);
method.addParameter(Types.STRING, "defaultValue");
return returnType.toInstance();
}
+ private GeneratedTOBuilder createUnionBuilder(final GeneratedTOBuilder genTOBuilder, final GeneratedTypeBuilder typeBuilder) {
+
+ final String outerCls = Types.getOuterClassName(genTOBuilder);
+ final StringBuilder name;
+ if(outerCls != null) {
+ name = new StringBuilder(outerCls);
+ } else {
+ name = new StringBuilder();
+ }
+ name.append(genTOBuilder.getName());
+ name.append("Builder");
+ final GeneratedTOBuilderImpl unionBuilder = new GeneratedTOBuilderImpl(typeBuilder.getPackageName(),name.toString());
+ unionBuilder.setIsUnionBuilder(true);
+ return unionBuilder;
+ }
+
private GeneratedTypeBuilder addDefaultInterfaceDefinition(final String packageName, final SchemaNode schemaNode,
final Module module) {
return addDefaultInterfaceDefinition(packageName, schemaNode, null, module);
} else {
method.append("get");
}
- String name = BindingMapping.toFirstUpper(BindingMapping.getPropertyName(localName));
+ final String name = BindingMapping.toFirstUpper(BindingMapping.getPropertyName(localName));
method.append(name);
return method.toString();
}
checkArgument(typeBuilder != null, "Generated Type Builder cannot be NULL.");
if (genTOBuilder != null) {
- GeneratedTransferObject genTO = genTOBuilder.toInstance();
+ final GeneratedTransferObject genTO = genTOBuilder.toInstance();
constructGetter(typeBuilder, "key", "Returns Primary Key of Yang List Type", genTO);
genCtx.get(module).addGeneratedTOBuilder(genTOBuilder);
}
private List<String> listKeys(final ListSchemaNode list) {
final List<String> listKeys = new ArrayList<>();
- List<QName> keyDefinition = list.getKeyDefinition();
+ final List<QName> keyDefinition = list.getKeyDefinition();
if (keyDefinition != null) {
- for (QName keyDef : keyDefinition) {
+ for (final QName keyDef : keyDefinition) {
listKeys.add(keyDef.getLocalName());
}
}
throw new IllegalStateException("No GeneratedTOBuilder objects generated from union " + typeDef);
}
resultTOBuilder = types.remove(0);
- for (GeneratedTOBuilder genTOBuilder : types) {
+ for (final GeneratedTOBuilder genTOBuilder : types) {
resultTOBuilder.addEnclosingTransferObject(genTOBuilder);
}
packageName, typeDef, classNameFromLeaf, parentModule.getName()));
}
if (genTOBuilders != null && !genTOBuilders.isEmpty()) {
- for (GeneratedTOBuilder genTOBuilder : genTOBuilders) {
+ for (final GeneratedTOBuilder genTOBuilder : genTOBuilders) {
typeBuilder.addEnclosingTransferObject(genTOBuilder);
}
return genTOBuilders.get(0);
*/
private GeneratedTypeBuilder addImplementedInterfaceFromUses(final DataNodeContainer dataNodeContainer,
final GeneratedTypeBuilder builder) {
- for (UsesNode usesNode : dataNodeContainer.getUses()) {
+ for (final UsesNode usesNode : dataNodeContainer.getUses()) {
if (usesNode.getGroupingPath() != null) {
final GeneratedType genType = findGroupingByPath(usesNode.getGroupingPath()).toInstance();
if (genType == null) {
final Module module = findParentModule(schemaContext, schemaNode);
final StringBuilder linkToBuilderClass = new StringBuilder();
final String[] namespace = Iterables.toArray(BSDOT_SPLITTER.split(fullyQualifiedName), String.class);
- String className = namespace[namespace.length - 1];
+ final String className = namespace[namespace.length - 1];
if (hasBuilderClass(schemaNode)) {
linkToBuilderClass.append(className);
}
private GeneratedTypeBuilder findChildNodeByPath(final SchemaPath path) {
- for (ModuleContext ctx : genCtx.values()) {
- GeneratedTypeBuilder result = ctx.getChildNode(path);
+ for (final ModuleContext ctx : genCtx.values()) {
+ final GeneratedTypeBuilder result = ctx.getChildNode(path);
if (result != null) {
return result;
}
}
private GeneratedTypeBuilder findGroupingByPath(final SchemaPath path) {
- for (ModuleContext ctx : genCtx.values()) {
- GeneratedTypeBuilder result = ctx.getGrouping(path);
+ for (final ModuleContext ctx : genCtx.values()) {
+ final GeneratedTypeBuilder result = ctx.getGrouping(path);
if (result != null) {
return result;
}
}
private GeneratedTypeBuilder findCaseByPath(final SchemaPath path) {
- for (ModuleContext ctx : genCtx.values()) {
- GeneratedTypeBuilder result = ctx.getCase(path);
+ for (final ModuleContext ctx : genCtx.values()) {
+ final GeneratedTypeBuilder result = ctx.getCase(path);
if (result != null) {
return result;
}
import static org.opendaylight.yangtools.sal.java.api.generator.test.CompilationTestUtils.cleanUp;
import static org.opendaylight.yangtools.sal.java.api.generator.test.CompilationTestUtils.getSourceFiles;
import static org.opendaylight.yangtools.sal.java.api.generator.test.CompilationTestUtils.testCompilation;
+
import com.google.common.base.Predicate;
import com.google.common.collect.Collections2;
import com.google.common.collect.ImmutableSet;
// Test if all sources are generated
File parent = new File(sourcesOutputDir, NS_TEST);
- File keyArgs = new File(parent, "KeyArgs.java");
- File links = new File(parent, "Links.java");
- File linksBuilder = new File(parent, "LinksBuilder.java");
- File linksKey = new File(parent, "LinksKey.java");
- File testData = new File(parent, "TestData.java");
+ final File keyArgs = new File(parent, "KeyArgs.java");
+ final File links = new File(parent, "Links.java");
+ final File linksBuilder = new File(parent, "LinksBuilder.java");
+ final File linksKey = new File(parent, "LinksKey.java");
+ final File testData = new File(parent, "TestData.java");
assertTrue(keyArgs.exists());
assertTrue(links.exists());
assertTrue(linksBuilder.exists());
assertFilesCount(parent, 6);
parent = new File(sourcesOutputDir, NS_TEST + FS + "links");
- File level = new File(parent, "Level.java");
- File linkGroup = new File(parent, "LinkGroup.java");
- File node = new File(parent, "Node.java");
- File nodeBuilder = new File(parent, "NodeBuilder.java");
- File nodeList = new File(parent, "NodeList.java");
- File nodeListBuilder = new File(parent, "NodeListBuilder.java");
- File nodesType = new File(parent, "NodesType.java");
+ final File level = new File(parent, "Level.java");
+ final File linkGroup = new File(parent, "LinkGroup.java");
+ final File node = new File(parent, "Node.java");
+ final File nodeBuilder = new File(parent, "NodeBuilder.java");
+ final File nodeList = new File(parent, "NodeList.java");
+ final File nodeListBuilder = new File(parent, "NodeListBuilder.java");
+ final File nodesType = new File(parent, "NodesType.java");
assertTrue(level.exists());
assertTrue(linkGroup.exists());
assertTrue(node.exists());
// Test if sources are compilable
testCompilation(sourcesOutputDir, compiledOutputDir);
- ClassLoader loader = new URLClassLoader(new URL[] { compiledOutputDir.toURI().toURL() });
- Class<?> keyArgsClass = Class.forName(BASE_PKG + ".urn.opendaylight.test.rev131008.KeyArgs", true, loader);
- Class<?> linksClass = Class.forName(BASE_PKG + ".urn.opendaylight.test.rev131008.Links", true, loader);
- Class<?> linksKeyClass = Class.forName(BASE_PKG + ".urn.opendaylight.test.rev131008.LinksKey", true, loader);
+ final ClassLoader loader = new URLClassLoader(new URL[] { compiledOutputDir.toURI().toURL() });
+ final Class<?> keyArgsClass = Class.forName(BASE_PKG + ".urn.opendaylight.test.rev131008.KeyArgs", true, loader);
+ final Class<?> linksClass = Class.forName(BASE_PKG + ".urn.opendaylight.test.rev131008.Links", true, loader);
+ final Class<?> linksKeyClass = Class.forName(BASE_PKG + ".urn.opendaylight.test.rev131008.LinksKey", true, loader);
// Test generated 'grouping key-args'
assertTrue(keyArgsClass.isInterface());
// Test list key constructor arguments ordering
assertContainsConstructor(linksKeyClass, Byte.class, String.class, Integer.class);
// Test serialVersionUID generation
- Field suid = assertContainsField(linksKeyClass, "serialVersionUID", Long.TYPE);
+ final Field suid = assertContainsField(linksKeyClass, "serialVersionUID", Long.TYPE);
suid.setAccessible(true);
assertEquals(-8829501012356283881L, suid.getLong(null));
// Test if all sources were generated from 'module foo'
File parent = new File(sourcesOutputDir, NS_FOO);
- File fooListener = new File(parent, "FooListener.java");
+ final File fooListener = new File(parent, "FooListener.java");
File pathAttributes = new File(parent, "PathAttributes.java");
- File update = new File(parent, "Update.java");
- File updateBuilder = new File(parent, "UpdateBuilder.java");
+ final File update = new File(parent, "Update.java");
+ final File updateBuilder = new File(parent, "UpdateBuilder.java");
assertTrue(fooListener.exists());
assertTrue(pathAttributes.exists());
assertTrue(update.exists());
assertFilesCount(parent, 1);
parent = new File(parent, "attributes");
assertFilesCount(parent, 2);
- File origin = new File(parent, "Origin.java");
- File originBuilder = new File(parent, "OriginBuilder.java");
+ final File origin = new File(parent, "Origin.java");
+ final File originBuilder = new File(parent, "OriginBuilder.java");
assertTrue(origin.exists());
assertTrue(originBuilder.exists());
parent = new File(sourcesOutputDir, NS_FOO + FS + "update");
assertFilesCount(parent, 2);
pathAttributes = new File(parent, "PathAttributes.java");
- File pathAttributesBuilder = new File(parent, "PathAttributesBuilder.java");
+ final File pathAttributesBuilder = new File(parent, "PathAttributesBuilder.java");
assertTrue(pathAttributes.exists());
assertTrue(pathAttributesBuilder.exists());
// Test if all sources were generated from 'module bar'
parent = new File(sourcesOutputDir, NS_BAR);
- File destination = new File(parent, "Destination.java");
- File pathAttributes1 = new File(parent, "PathAttributes1.java");
- File pathAttributes1Builder = new File(parent, "PathAttributes1Builder.java");
+ final File destination = new File(parent, "Destination.java");
+ final File pathAttributes1 = new File(parent, "PathAttributes1.java");
+ final File pathAttributes1Builder = new File(parent, "PathAttributes1Builder.java");
assertTrue(destination.exists());
assertTrue(pathAttributes1.exists());
assertTrue(pathAttributes1Builder.exists());
parent = new File(sourcesOutputDir, NS_BAR + FS + "destination");
assertFilesCount(parent, 2);
- File destinationType = new File(parent, "DestinationType.java");
+ final File destinationType = new File(parent, "DestinationType.java");
assertTrue(destinationType.exists());
parent = new File(parent, "destination");
assertFilesCount(parent, 1);
parent = new File(parent, "type");
assertFilesCount(parent, 2);
- File destinationIpv4 = new File(parent, "DestinationIp.java");
- File destinationIpv4Builder = new File(parent, "DestinationIpBuilder.java");
+ final File destinationIpv4 = new File(parent, "DestinationIp.java");
+ final File destinationIpv4Builder = new File(parent, "DestinationIpBuilder.java");
assertTrue(destinationIpv4.exists());
assertTrue(destinationIpv4Builder.exists());
parent = new File(parent, "path");
assertFilesCount(parent, 1);
parent = new File(parent, "attributes");
- File mpUnreachNlri = new File(parent, "MpUnreachNlri.java");
- File mpUnreachNlriBuilder = new File(parent, "MpUnreachNlriBuilder.java");
+ final File mpUnreachNlri = new File(parent, "MpUnreachNlri.java");
+ final File mpUnreachNlriBuilder = new File(parent, "MpUnreachNlriBuilder.java");
assertTrue(mpUnreachNlri.exists());
assertTrue(mpUnreachNlriBuilder.exists());
assertFilesCount(parent, 3);
parent = new File(parent, "unreach");
assertFilesCount(parent, 1);
parent = new File(parent, "nlri");
- File withdrawnRoutes = new File(parent, "WithdrawnRoutes.java");
- File withdrawnRoutesBuilder = new File(parent, "WithdrawnRoutesBuilder.java");
+ final File withdrawnRoutes = new File(parent, "WithdrawnRoutes.java");
+ final File withdrawnRoutesBuilder = new File(parent, "WithdrawnRoutesBuilder.java");
assertTrue(withdrawnRoutes.exists());
assertTrue(withdrawnRoutesBuilder.exists());
assertFilesCount(parent, 2);
// Test if all sources were generated from 'module baz'
parent = new File(sourcesOutputDir, NS_BAZ);
assertFilesCount(parent, 2);
- File linkstateDestination = new File(parent, "LinkstateDestination.java");
+ final File linkstateDestination = new File(parent, "LinkstateDestination.java");
assertTrue(linkstateDestination.exists());
parent = new File(sourcesOutputDir, NS_BAZ + FS + "update");
parent = new File(parent, "destination");
assertFilesCount(parent, 1);
parent = new File(parent, "type");
- File destinationLinkstate = new File(parent, "DestinationLinkstate.java");
- File destinationLinkstateBuilder = new File(parent, "DestinationLinkstateBuilder.java");
+ final File destinationLinkstate = new File(parent, "DestinationLinkstate.java");
+ final File destinationLinkstateBuilder = new File(parent, "DestinationLinkstateBuilder.java");
assertTrue(destinationLinkstate.exists());
assertTrue(destinationLinkstateBuilder.exists());
assertFilesCount(parent, 3);
parent = new File(parent, "destination");
assertFilesCount(parent, 1);
parent = new File(parent, "linkstate");
- File links = new File(parent, "Links.java");
- File linksBuilder = new File(parent, "LinksBuilder.java");
+ final File links = new File(parent, "Links.java");
+ final File linksBuilder = new File(parent, "LinksBuilder.java");
assertTrue(links.exists());
assertTrue(linksBuilder.exists());
assertFilesCount(parent, 3);
parent = new File(parent, "links");
- File source = new File(parent, "Source.java");
- File sourceBuilder = new File(parent, "SourceBuilder.java");
+ final File source = new File(parent, "Source.java");
+ final File sourceBuilder = new File(parent, "SourceBuilder.java");
assertTrue(source.exists());
assertTrue(sourceBuilder.exists());
assertFilesCount(parent, 3);
parent = new File(parent, "source");
- File address = new File(parent, "Address.java");
- File addressBuilder = new File(parent, "AddressBuilder.java");
+ final File address = new File(parent, "Address.java");
+ final File addressBuilder = new File(parent, "AddressBuilder.java");
assertTrue(address.exists());
assertTrue(addressBuilder.exists());
assertFilesCount(parent, 2);
generateTestSources("/compilation/leaf-return-types", sourcesOutputDir);
- File parent = new File(sourcesOutputDir, NS_TEST);
+ final File parent = new File(sourcesOutputDir, NS_TEST);
assertTrue(new File(parent, "TestData.java").exists());
assertTrue(new File(parent, "Nodes.java").exists());
assertTrue(new File(parent, "NodesBuilder.java").exists());
assertTrue(new File(parent, "Alg.java").exists());
- assertTrue(new File(parent, "IdUnionBuilder.java").exists());
+ assertTrue(new File(parent, "NodesIdUnionBuilder.java").exists());
assertFilesCount(parent, 5);
// Test if sources are compilable
testCompilation(sourcesOutputDir, compiledOutputDir);
- String pkg = BASE_PKG + ".urn.opendaylight.test.rev131008";
- ClassLoader loader = new URLClassLoader(new URL[] { compiledOutputDir.toURI().toURL() });
- Class<?> nodesClass = Class.forName(pkg + ".Nodes", true, loader);
- Class<?> builderClass = Class.forName(pkg + ".NodesBuilder", true, loader);
+ final String pkg = BASE_PKG + ".urn.opendaylight.test.rev131008";
+ final ClassLoader loader = new URLClassLoader(new URL[] { compiledOutputDir.toURI().toURL() });
+ final Class<?> nodesClass = Class.forName(pkg + ".Nodes", true, loader);
+ final Class<?> builderClass = Class.forName(pkg + ".NodesBuilder", true, loader);
// Test methods return type
- byte[] b = new byte[] {};
+ final byte[] b = new byte[] {};
assertContainsMethod(nodesClass, b.getClass(), "getIdBinary");
assertContainsMethod(nodesClass, pkg + ".Nodes$IdBits", "getIdBits", loader);
assertContainsMethod(nodesClass, Boolean.class, "isIdBoolean");
assertContainsMethod(nodesClass, BigInteger.class, "getIdU64");
assertContainsMethod(nodesClass, pkg + ".Nodes$IdUnion", "getIdUnion", loader);
- Object builderObj = builderClass.newInstance();
+ final Object builderObj = builderClass.newInstance();
Method m = assertContainsMethod(builderClass, builderClass, "setIdBinary", b.getClass());
- List<Range<Integer>> lengthConstraints = new ArrayList<>();
+ final List<Range<Integer>> lengthConstraints = new ArrayList<>();
lengthConstraints.add(Range.closed(1, 10));
Object arg = new byte[] {};
String expectedMsg = String.format("Invalid length: %s, expected: %s.", arg, lengthConstraints);
assertContainsRestrictionCheck(builderObj, m, expectedMsg, arg);
m = assertContainsMethod(builderClass, builderClass, "setIdDecimal64", BigDecimal.class);
- List<Range<BigDecimal>> rangeConstraints = new ArrayList<>();
+ final List<Range<BigDecimal>> rangeConstraints = new ArrayList<>();
rangeConstraints.add(Range.closed(new BigDecimal("1.5"), new BigDecimal("5.5")));
arg = new BigDecimal("1.4");
expectedMsg = String.format("Invalid range: %s, expected: %s.", arg, rangeConstraints);
generateTestSources("/compilation/context-reference", sourcesOutputDir);
// Test if all sources are generated
- File fooParent = new File(sourcesOutputDir, NS_FOO);
+ final File fooParent = new File(sourcesOutputDir, NS_FOO);
assertFilesCount(fooParent, 3);
assertTrue(new File(fooParent, "FooData.java").exists());
assertTrue(new File(fooParent, "Nodes.java").exists());
assertTrue(new File(fooParent, "NodesBuilder.java").exists());
- File barParent = new File(sourcesOutputDir, NS_BAR);
+ final File barParent = new File(sourcesOutputDir, NS_BAR);
assertFilesCount(barParent, 1);
assertTrue(new File(barParent, "IdentityClass.java").exists());
// Test if sources are compilable
testCompilation(sourcesOutputDir, compiledOutputDir);
- ClassLoader loader = new URLClassLoader(new URL[] { compiledOutputDir.toURI().toURL() });
- Class<?> nodesClass = Class.forName(BASE_PKG + ".urn.opendaylight.foo.rev131008.Nodes", true, loader);
- Class<?> identityClass = Class
+ final ClassLoader loader = new URLClassLoader(new URL[] { compiledOutputDir.toURI().toURL() });
+ final Class<?> nodesClass = Class.forName(BASE_PKG + ".urn.opendaylight.foo.rev131008.Nodes", true, loader);
+ final Class<?> identityClass = Class
.forName(BASE_PKG + ".urn.opendaylight.bar.rev131008.IdentityClass", true, loader);
// test identity
try {
identityClass.getConstructor();
- Class<?> baseIdentity = Class.forName("org.opendaylight.yangtools.yang.binding.BaseIdentity", true, loader);
+ final Class<?> baseIdentity = Class.forName("org.opendaylight.yangtools.yang.binding.BaseIdentity", true, loader);
assertEquals(baseIdentity, identityClass.getSuperclass());
- } catch (NoSuchMethodException e) {
+ } catch (final NoSuchMethodException e) {
throw new AssertionError("IdentityClass must have no-arg constructor");
}
// Test annotation
try {
- Method getId = nodesClass.getMethod("getId");
- Annotation[] annotations = getId.getAnnotations();
+ final Method getId = nodesClass.getMethod("getId");
+ final Annotation[] annotations = getId.getAnnotations();
assertEquals(1, annotations.length);
- Annotation routingContext = annotations[0];
+ final Annotation routingContext = annotations[0];
assertEquals(RoutingContext.class, routingContext.annotationType());
- } catch (NoSuchMethodException e) {
+ } catch (final NoSuchMethodException e) {
throw new AssertionError("Method getId() not found");
}
// Test if sources are compilable
testCompilation(sourcesOutputDir, compiledOutputDir);
- ClassLoader loader = new URLClassLoader(new URL[] { compiledOutputDir.toURI().toURL() });
- Class<?> outputActionClass = Class.forName(BASE_PKG
+ final ClassLoader loader = new URLClassLoader(new URL[] { compiledOutputDir.toURI().toURL() });
+ final Class<?> outputActionClass = Class.forName(BASE_PKG
+ ".urn.test.foo.rev140717.action.action.output.action._case.OutputAction", true, loader);
- Class<?> actionClass = Class.forName(BASE_PKG + ".urn.test.foo.rev140717.Action", true, loader);
+ final Class<?> actionClass = Class.forName(BASE_PKG + ".urn.test.foo.rev140717.Action", true, loader);
// Test generated 'container output-action'
assertTrue(outputActionClass.isInterface());
assertEquals(java.lang.Class.class, method.getReturnType());
returnType = method.getGenericReturnType();
assertTrue(returnType instanceof ParameterizedType);
- ParameterizedType pt = (ParameterizedType) returnType;
- java.lang.reflect.Type[] parameters = pt.getActualTypeArguments();
+ final ParameterizedType pt = (ParameterizedType) returnType;
+ final java.lang.reflect.Type[] parameters = pt.getActualTypeArguments();
assertEquals(1, parameters.length);
- java.lang.reflect.Type parameter = parameters[0];
+ final java.lang.reflect.Type parameter = parameters[0];
assertTrue(parameter instanceof WildcardType);
- WildcardType wildcardType = (WildcardType) parameter;
+ final WildcardType wildcardType = (WildcardType) parameter;
assertEquals("? extends " + returnTypeStr, wildcardType.toString());
- } catch (NoSuchMethodException e) {
+ } catch (final NoSuchMethodException e) {
throw new AssertionError("Method '" + methodName + "' not found");
}
}
assertEquals(rawReturnType, method.getReturnType());
returnType = method.getGenericReturnType();
assertTrue(returnType instanceof ParameterizedType);
- ParameterizedType pt = (ParameterizedType) returnType;
- java.lang.reflect.Type[] parameters = pt.getActualTypeArguments();
+ final ParameterizedType pt = (ParameterizedType) returnType;
+ final java.lang.reflect.Type[] parameters = pt.getActualTypeArguments();
assertEquals(1, parameters.length);
- java.lang.reflect.Type parameter = parameters[0];
+ final java.lang.reflect.Type parameter = parameters[0];
assertTrue(parameter instanceof WildcardType);
- WildcardType wildcardType = (WildcardType) parameter;
+ final WildcardType wildcardType = (WildcardType) parameter;
assertEquals("?", wildcardType.toString());
- } catch (NoSuchMethodException e) {
+ } catch (final NoSuchMethodException e) {
throw new AssertionError("Method '" + methodName + "' not found");
}
}