import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.doReturn;
+import com.google.common.collect.Range;
import java.util.List;
+import java.util.Optional;
import java.util.Set;
import org.junit.Before;
import org.junit.Ignore;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.opendaylight.mdsal.binding.generator.spi.TypeProvider;
-import org.opendaylight.mdsal.binding.generator.util.BindingGeneratorUtil;
-import org.opendaylight.mdsal.binding.generator.util.ReferencedTypeImpl;
-import org.opendaylight.mdsal.binding.generator.util.generated.type.builder.GeneratedTOBuilderImpl;
import org.opendaylight.mdsal.binding.model.api.ConcreteType;
import org.opendaylight.mdsal.binding.model.api.Enumeration;
import org.opendaylight.mdsal.binding.model.api.GeneratedTransferObject;
+import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
import org.opendaylight.mdsal.binding.model.api.ParameterizedType;
import org.opendaylight.mdsal.binding.model.api.Restrictions;
import org.opendaylight.mdsal.binding.model.api.Type;
import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTOBuilder;
+import org.opendaylight.mdsal.binding.model.util.BindingGeneratorUtil;
+import org.opendaylight.mdsal.binding.model.util.ReferencedTypeImpl;
+import org.opendaylight.mdsal.binding.model.util.generated.type.builder.CodegenGeneratedTOBuilder;
+import org.opendaylight.yangtools.yang.binding.BindingMapping;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
@Test(expected = IllegalArgumentException.class)
public void typeProviderInstanceWithNullSchemaContextTest() {
- final TypeProvider provider = new TypeProviderImpl(null);
+ new RuntimeTypeProvider(null);
}
@Test(expected = IllegalArgumentException.class)
public void putReferencedTypeWithNullSchemaPathParamTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
- ((TypeProviderImpl) provider).putReferencedType(null, null);
- ((TypeProviderImpl) provider).putReferencedType(this.schemaPath, null);
+ provider.putReferencedType(null, null);
+ provider.putReferencedType(this.schemaPath, null);
}
@Test(expected = IllegalArgumentException.class)
public void putReferencedTypeWithNullRefTypeParamTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
- ((TypeProviderImpl) provider).putReferencedType(this.schemaPath, null);
+ provider.putReferencedType(this.schemaPath, null);
}
@Test
public void getAdditionalTypesTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
- assertNotNull(((TypeProviderImpl) provider).getAdditionalTypes());
+ assertNotNull(provider.getAdditionalTypes());
}
@Test(expected = IllegalArgumentException.class)
public void javaTypeForSchemaDefinitionTypeNullTypedefTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
provider.javaTypeForSchemaDefinitionType(null, null, null);
}
@Test(expected = IllegalArgumentException.class)
public void javaTypeForSchemaDefinitionTypeTypedefNullQNameTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final TestIntegerTypeDefinition testTypedef = new TestIntegerTypeDefinition();
provider.javaTypeForSchemaDefinitionType(testTypedef, null, null);
@Test
public void javaTypeForSchemaDefinitionExtTypeTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final TypeProvider provider = new CodegenTypeProvider(this.schemaContext);
final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "yang-int8-type");
final TypeDefinition<?> leafType = leaf.getType();
assertEquals("base-yang-types", genTO.getModuleName());
assertEquals("org.opendaylight.yang.gen.v1.urn.opendaylight.org.test.base.yang.types.rev140914", genTO.getPackageName());
assertEquals("YangInt8", genTO.getName());
- assertTrue(genTO.getProperties().size() == 1);
+ assertEquals(1, genTO.getProperties().size());
}
@Test
public void javaTypeForSchemaDefinitionRestrictedExtTypeTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final TypeProvider provider = new CodegenTypeProvider(this.schemaContext);
final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "restricted-int8-type");
final TypeDefinition<?> leafType = leaf.getType();
final GeneratedTransferObject genTO = (GeneratedTransferObject) result;
assertEquals("org.opendaylight.yang.gen.v1.urn.opendaylight.org.test.base.yang.types.rev140914", genTO.getPackageName());
assertEquals("YangInt8Restricted", genTO.getName());
- assertTrue(genTO.getProperties().size() == 1);
- final List<RangeConstraint> rangeConstraints = genTO.getRestrictions().getRangeConstraints();
+ assertEquals(1, genTO.getProperties().size());
+ final Optional<? extends RangeConstraint<?>> rangeConstraints = genTO.getRestrictions().getRangeConstraint();
- assertTrue(!rangeConstraints.isEmpty());
- final RangeConstraint constraint = rangeConstraints.get(0);
- assertEquals(1, constraint.getMin().intValue());
- assertEquals(100, constraint.getMax().intValue());
+ assertTrue(rangeConstraints.isPresent());
+ final Range<?> constraint = rangeConstraints.get().getAllowedRanges().asRanges().iterator().next();
+ assertEquals((byte) 1, constraint.lowerEndpoint());
+ assertEquals((byte) 100, constraint.upperEndpoint());
}
@Test
public void javaTypeForSchemaDefinitionEmptyStringPatternTypeTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final Module testTypeProvider = resolveModule("test-type-provider");
final TypeDefinition<?> emptyPatternString = resolveTypeDefinitionFromModule(testTypeProvider, "empty-pattern-string");
@Ignore
@Test
public void bug1862RestrictedTypedefTransformationTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
- final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "bug-1862-restricted-typedef");
+ final TypeProvider provider = new CodegenTypeProvider(this.schemaContext);
+ final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo",
+ "bug-1862-restricted-typedef");
final TypeDefinition<?> leafType = leaf.getType();
final Restrictions restrictions = BindingGeneratorUtil.getRestrictions(leafType);
@Test
public void javaTypeForSchemaDefinitionEnumExtTypeTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
- LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "resolve-enum-leaf");
+ final TypeProvider provider = new CodegenTypeProvider(this.schemaContext);
+ LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo",
+ "resolve-enum-leaf");
TypeDefinition<?> leafType = leaf.getType();
Type result = provider.javaTypeForSchemaDefinitionType(leafType, leaf);
assertNotNull(result);
@Test
public void javaTypeForSchemaDefinitionLeafrefExtTypeTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final TypeProvider provider = new CodegenTypeProvider(this.schemaContext);
LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "bar", "leafref-value");
TypeDefinition<?> leafType = leaf.getType();
final Type leafrefResolvedType1 = provider.javaTypeForSchemaDefinitionType(leafType, leaf);
@Test
public void javaTypeForSchemaDefinitionLeafrefToEnumTypeTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new CodegenTypeProvider(this.schemaContext);
setReferencedTypeForTypeProvider(provider);
final QName leafListNode = QName.create(module.getQNameModule(), "enums");
final DataSchemaNode enumListNode = module.getDataChildByName(leafListNode);
- assertNotNull("leaf-list enums is not present in root of module "+ module.getName(), enumNode);
+ assertNotNull("leaf-list enums is not present in root of module " + module.getName(), enumNode);
assertTrue(enumListNode instanceof LeafListSchemaNode);
final LeafListSchemaNode leafList = (LeafListSchemaNode) enumListNode;
final TypeDefinition<?> leafListType = leafList.getType();
assertTrue(leafrefResolvedType2 instanceof ParameterizedType);
}
- private void setReferencedTypeForTypeProvider(final TypeProvider provider) {
+ private void setReferencedTypeForTypeProvider(final AbstractTypeProvider provider) {
final LeafSchemaNode enumLeafNode = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo",
"resolve-direct-use-of-enum");
final TypeDefinition<?> enumLeafTypedef = enumLeafNode.getType();
Type enumType = provider.javaTypeForSchemaDefinitionType(enumLeafTypedef, enumLeafNode);
- Type refType = new ReferencedTypeImpl(enumType.getPackageName(), enumType.getName());
- ((TypeProviderImpl) provider).putReferencedType(enumLeafNode.getPath(), refType);
+ Type refType = new ReferencedTypeImpl(enumType.getIdentifier());
+ provider.putReferencedType(enumLeafNode.getPath(), refType);
- final LeafListSchemaNode enumListNode = provideLeafListNodeFromTopLevelContainer(this.testTypeProviderModule, "foo",
- "list-of-enums");
+ final LeafListSchemaNode enumListNode = provideLeafListNodeFromTopLevelContainer(this.testTypeProviderModule,
+ "foo", "list-of-enums");
final TypeDefinition<?> enumLeafListTypedef = enumListNode.getType();
enumType = provider.javaTypeForSchemaDefinitionType(enumLeafListTypedef, enumListNode);
- refType = new ReferencedTypeImpl(enumType.getPackageName(), enumType.getPackageName());
- ((TypeProviderImpl) provider).putReferencedType(enumListNode.getPath(), refType);
+ refType = new ReferencedTypeImpl(enumType.getIdentifier());
+ provider.putReferencedType(enumListNode.getPath(), refType);
}
@Test
public void javaTypeForSchemaDefinitionConditionalLeafrefTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final TypeProvider provider = new CodegenTypeProvider(this.schemaContext);
final Module module = resolveModule("test-type-provider-b");
final QName leafrefNode = QName.create(module.getQNameModule(), "conditional-leafref");
@Test(expected = IllegalArgumentException.class)
public void javaTypeForSchemaDefinitionInvalidLeafrefPathTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final TypeProvider provider = new CodegenTypeProvider(this.schemaContext);
final Module module = resolveModule("test-type-provider-b");
final QName leafrefNode = QName.create(module.getQNameModule(), "unreslovable-leafref");
@Test(expected = IllegalArgumentException.class)
public void provideTypeForLeafrefWithNullLeafrefTypeTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
provider.provideTypeForLeafref(null, null);
}
@Test(expected = IllegalArgumentException.class)
public void provideTypeForLeafrefWithNullLeafrefTypePathStatementTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final LeafrefTypeWithNullXpath leafrePath = new LeafrefTypeWithNullXpath();
provider.provideTypeForLeafref(leafrePath, this.schemaNode);
@Test(expected = IllegalStateException.class)
public void provideTypeForLeafrefWithNullParentModuleTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
- final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "bar", "leafref-value");
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
+ final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "bar",
+ "leafref-value");
final TypeDefinition<?> leafType = leaf.getType();
assertTrue(leafType instanceof LeafrefTypeDefinition);
doReturn(null).when(this.schemaNode).getPath();
@Test
public void javaTypeForSchemaDefinitionIdentityrefExtTypeTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "crypto");
final TypeDefinition<?> leafType = leaf.getType();
@Test
public void javaTypeForSchemaDefinitionForExtUnionWithSimpleTypesTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "use-of-unions", "simple-int-types-union");
final TypeDefinition<?> leafType = leaf.getType();
@Test
public void javaTypeForSchemaDefinitionForExtComplexUnionWithInnerUnionTypesTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "use-of-unions", "complex-union");
final TypeDefinition<?> leafType = leaf.getType();
@Test
public void javaTypeForSchemaDefinitionForExtUnionWithInnerUnionAndSimpleTypeTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "use-of-unions", "complex-string-int-union");
final TypeDefinition<?> leafType = leaf.getType();
@Test
public void provideGeneratedTOBuilderForUnionTypeDefWithInnerUnionTypesTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final Module testTypeProvider = resolveModule("test-type-provider");
final TypeDefinition<?> unionTypeDef = resolveTypeDefinitionFromModule(testTypeProvider, "complex-union");
assertNotNull(unionTypeDef);
assertTrue(unionTypeDef.getBaseType() instanceof UnionTypeDefinition);
- GeneratedTOBuilder unionTypeBuilder = provider.provideGeneratedTOBuilderForUnionTypeDef("test.package.name",
- (UnionTypeDefinition)unionTypeDef.getBaseType(), "ComplexUnionType", unionTypeDef);
+ GeneratedTOBuilder unionTypeBuilder = provider.provideGeneratedTOBuilderForUnionTypeDef(
+ JavaTypeName.create("test.package.name", BindingMapping.getClassName(unionTypeDef.getQName())),
+ (UnionTypeDefinition)unionTypeDef.getBaseType(), unionTypeDef);
assertNotNull(unionTypeBuilder);
- GeneratedTransferObject unionType = unionTypeBuilder.toInstance();
- assertEquals("ComplexUnionType", unionType.getName());
-
- unionTypeBuilder = provider.provideGeneratedTOBuilderForUnionTypeDef("test.package.name",
- (UnionTypeDefinition)unionTypeDef.getBaseType(), "", unionTypeDef);
-
- assertNotNull(unionTypeBuilder);
-
- unionType = unionTypeBuilder.toInstance();
- assertEquals("Union", unionType.getName());
-
- unionTypeBuilder = provider.provideGeneratedTOBuilderForUnionTypeDef("test.package.name",
- (UnionTypeDefinition)unionTypeDef.getBaseType(), null, unionTypeDef);
-
- assertNotNull(unionTypeBuilder);
-
- unionType = unionTypeBuilder.toInstance();
- assertEquals("Union", unionType.getName());
+ GeneratedTransferObject unionType = unionTypeBuilder.build();
+ assertEquals("ComplexUnion", unionType.getName());
}
@Test
public void provideGeneratedTOBuilderForUnionTypeDefWithInnerUnionAndSimpleTypeTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final Module testTypeProvider = resolveModule("test-type-provider");
- final TypeDefinition<?> unionTypeDef = resolveTypeDefinitionFromModule(testTypeProvider, "complex-string-int-union");
+ final TypeDefinition<?> unionTypeDef = resolveTypeDefinitionFromModule(testTypeProvider,
+ "complex-string-int-union");
assertNotNull(unionTypeDef);
assertTrue(unionTypeDef.getBaseType() instanceof UnionTypeDefinition);
- final GeneratedTOBuilder unionTypeBuilder = provider.provideGeneratedTOBuilderForUnionTypeDef("test.package.name",
- (UnionTypeDefinition)unionTypeDef.getBaseType(), "ComplexStringIntUnionType", unionTypeDef);
+ final GeneratedTOBuilder unionTypeBuilder = provider.provideGeneratedTOBuilderForUnionTypeDef(
+ JavaTypeName.create("test.package.name", BindingMapping.getClassName(unionTypeDef.getQName())),
+ (UnionTypeDefinition)unionTypeDef.getBaseType(), unionTypeDef);
assertNotNull(unionTypeBuilder);
- final GeneratedTransferObject unionType = unionTypeBuilder.toInstance();
- assertEquals("ComplexStringIntUnionType", unionType.getName());
+ final GeneratedTransferObject unionType = unionTypeBuilder.build();
+ assertEquals("ComplexStringIntUnion", unionType.getName());
}
@Test
public void generatedTypeForExtendedDefinitionTypeTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new CodegenTypeProvider(this.schemaContext);
final Module baseYangTypes = resolveModule("base-yang-types");
final Set<TypeDefinition<?>> typeDefs = baseYangTypes.getTypeDefinitions();
@Test(expected = IllegalArgumentException.class)
public void generatedTypeForExtendedDefinitionTypeWithTypedefNullTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
provider.generatedTypeForExtendedDefinitionType(null, null);
}
@Test(expected = IllegalArgumentException.class)
public void generatedTypeForExtendedDefinitionTypeWithTypedefQNameNullTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final TestIntegerTypeDefinition testInt = new TestIntegerTypeDefinition();
provider.generatedTypeForExtendedDefinitionType(testInt, testInt);
}
@Test
public void generatedTypeForExtendedDefinitionTypeWithInnerExtendedTypeTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final Module baseYangTypes = resolveModule("test-type-provider");
- final TypeDefinition<?> extYangInt8Typedef = resolveTypeDefinitionFromModule(baseYangTypes, "extended-yang-int8");
+ final TypeDefinition<?> extYangInt8Typedef = resolveTypeDefinitionFromModule(baseYangTypes,
+ "extended-yang-int8");
assertNotNull(extYangInt8Typedef);
final Type extType = provider.generatedTypeForExtendedDefinitionType(extYangInt8Typedef, extYangInt8Typedef);
assertNotNull(extType);
@Test
public void generatedTypeForExtendedDefinitionTypeWithLeafrefBaseTypeTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final Module baseYangTypes = resolveModule("test-type-provider");
final TypeDefinition<?> barItemLeafrefId = resolveTypeDefinitionFromModule(baseYangTypes, "bar-item-leafref-id");
@Test
public void generatedTypeForExtendedDefinitionTypeWithIdentityrefBaseTypeTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final Module baseYangTypes = resolveModule("test-type-provider");
- final TypeDefinition<?> aesIdentityrefType = resolveTypeDefinitionFromModule(baseYangTypes, "aes-identityref-type");
+ final TypeDefinition<?> aesIdentityrefType = resolveTypeDefinitionFromModule(baseYangTypes,
+ "aes-identityref-type");
assertNotNull(aesIdentityrefType);
final Type extType = provider.generatedTypeForExtendedDefinitionType(aesIdentityrefType, aesIdentityrefType);
assertEquals(null, extType);
}
- @Test(expected = IllegalArgumentException.class)
+ @Test(expected = NullPointerException.class)
public void provideGeneratedTOBuilderForBitsTypeDefinitionWithNullTypedefTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
- provider.provideGeneratedTOBuilderForBitsTypeDefinition("", null, "", "");
- }
-
- @Test(expected = IllegalArgumentException.class)
- public void provideGeneratedTOBuilderForBitsTypeDefinitionWithBasePackageNullTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
- final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "yang-int8-type");
- final TypeDefinition<?> leafType = leaf.getType();
- provider.provideGeneratedTOBuilderForBitsTypeDefinition(null, leafType, "", "");
- }
-
- @Test
- public void provideGeneratedTOBuilderForBitsTypeDefinitionWithNonBitsTypedefTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
-
- final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "yang-int8-type");
- final TypeDefinition<?> leafType = leaf.getType();
- final Type type = provider.provideGeneratedTOBuilderForBitsTypeDefinition("", leafType, "", "");
-
- assertEquals(null, type);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
+ provider.provideGeneratedTOBuilderForBitsTypeDefinition(JavaTypeName.create("foo", "foo"), null, "foo");
}
@Test
public void getConstructorPropertyNameTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
- final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "yang-int8-type");
+ final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo",
+ "yang-int8-type");
final TypeDefinition<?> leafType = leaf.getType();
final String ctorPropertyName = provider.getConstructorPropertyName(leafType);
@Test
public void getParamNameFromTypeTest() {
- final TypeProvider provider = new TypeProviderImpl(this.schemaContext);
+ final TypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
- final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo", "yang-int8-type");
+ final LeafSchemaNode leaf = provideLeafNodeFromTopLevelContainer(this.testTypeProviderModule, "foo",
+ "yang-int8-type");
final TypeDefinition<?> leafType = leaf.getType();
final String paramName = provider.getParamNameFromType(leafType);
@Test
public void addUnitsToGenTOTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
-
- final GeneratedTOBuilder builder = new GeneratedTOBuilderImpl("test.package", "TestBuilder");
+ final GeneratedTOBuilder builder = new CodegenGeneratedTOBuilder(
+ JavaTypeName.create("test.package", "TestBuilder"));
- TypeProviderImpl.addUnitsToGenTO(builder, null);
- GeneratedTransferObject genTO = builder.toInstance();
+ CodegenTypeProvider.addUnitsToGenTO(builder, null);
+ GeneratedTransferObject genTO = builder.build();
assertTrue(genTO.getConstantDefinitions().isEmpty());
- TypeProviderImpl.addUnitsToGenTO(builder, "");
- genTO = builder.toInstance();
+ CodegenTypeProvider.addUnitsToGenTO(builder, "");
+ genTO = builder.build();
assertTrue(genTO.getConstantDefinitions().isEmpty());
- TypeProviderImpl.addUnitsToGenTO(builder, "125");
- genTO = builder.toInstance();
+ CodegenTypeProvider.addUnitsToGenTO(builder, "125");
+ genTO = builder.build();
assertTrue(!genTO.getConstantDefinitions().isEmpty());
assertEquals(1, genTO.getConstantDefinitions().size());
assertEquals("_UNITS", genTO.getConstantDefinitions().get(0).getName());
@Test(expected = NullPointerException.class)
public void getTypeDefaultConstructionLeafTypeNullTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final TestLeafSchemaNode leafSchemaNode = new TestLeafSchemaNode();
provider.getTypeDefaultConstruction(leafSchemaNode, null);
}
@Test(expected = NullPointerException.class)
public void getTypeDefaultConstructionDefaultValueNullTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final LeafSchemaNode leaf = provideLeafForGetDefaultConstructionTestCase("yang-boolean");
provider.getTypeDefaultConstruction(leaf, null);
}
@Test(expected = UnsupportedOperationException.class)
public void getTypeDefaultConstructionDefaultValueForInstanceIdentifierTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final LeafSchemaNode leaf = provideLeafForGetDefaultConstructionTestCase("foo-container-id");
provider.getTypeDefaultConstruction(leaf, "NAN");
}
@Test(expected = UnsupportedOperationException.class)
public void getTypeDefaultConstructionDefaultValueForIdentityrefTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
final LeafSchemaNode leaf = provideLeafForGetDefaultConstructionTestCase("aes-identityref-type");
provider.getTypeDefaultConstruction(leaf, "NAN");
}
@Test
public void getTypeDefaultConstructionDefaultValueTest() {
- final TypeProviderImpl provider = new TypeProviderImpl(this.schemaContext);
+ final AbstractTypeProvider provider = new RuntimeTypeProvider(this.schemaContext);
LeafSchemaNode leaf = provideLeafForGetDefaultConstructionTestCase("yang-boolean");
String result = provider.getTypeDefaultConstruction(leaf, "true");
result = provider.getTypeDefaultConstruction(leaf);
assertNotNull(result);
assertTrue(!result.isEmpty());
- assertEquals("new org.opendaylight.yang.gen.v1.urn.opendaylight.org.test.type.provider.model.rev140912.TestTypeProviderData.RootBitsLeaf(false, true, false)",
+ assertEquals("new org.opendaylight.yang.gen.v1.urn.opendaylight.org.test.type.provider.model.rev140912.TestTypeProviderData.RootBitsLeaf(true, false, false)",
result);
leaf = provideLeafForGetDefaultConstructionTestCase("yang-bits");
- result = provider.getTypeDefaultConstruction(leaf, "10-Mb-only");
+ result = provider.getTypeDefaultConstruction(leaf, "only-10-Mb");
assertNotNull(result);
assertTrue(!result.isEmpty());
- assertEquals("new org.opendaylight.yang.gen.v1.urn.opendaylight.org.test.base.yang.types.rev140914.YangBits(true, false, false)",
+ assertEquals("new org.opendaylight.yang.gen.v1.urn.opendaylight.org.test.base.yang.types.rev140914.YangBits(false, false, true)",
result);
leaf = provideLeafForGetDefaultConstructionTestCase("bar-id");