return additionalTypes;
}
- /**
- *
- * Converts basic YANG type <code>type</code> to JAVA <code>Type</code>.
- *
- * @param type
- * string with YANG name of type
- * @return JAVA <code>Type</code> for YANG type <code>type</code>
- * @see TypeProvider#javaTypeForYangType(String)
- */
- @Override
- @Deprecated
- public Type javaTypeForYangType(final String type) {
- return BaseYangTypes.BASE_YANG_TYPES_PROVIDER.javaTypeForYangType(type);
- }
-
@Override
public Type javaTypeForSchemaDefinitionType(final TypeDefinition<?> typeDefinition, final SchemaNode parentNode) {
return javaTypeForSchemaDefinitionType(typeDefinition, parentNode, null);
}
// FIXME: it looks as though we could be using the same codepath as above...
- ret = BaseYangTypes.BASE_YANG_TYPES_PROVIDER.javaTypeForYangType(typeDefinition.getQName().getLocalName());
+ ret = BaseYangTypes.javaTypeForYangType(typeDefinition.getQName().getLocalName());
if (ret == null) {
LOG.debug("Failed to resolve Java type for {}", typeDefinition);
}
Preconditions.checkArgument(dataNode != null, "Failed to find leafref target: %s in module %s (%s)",
strXPath, this.getParentModule(parentNode).getName(), parentNode.getQName().getModule());
+ // FIXME: this block seems to be some weird magic hack. Analyze and refactor it.
if (leafContainsEnumDefinition(dataNode)) {
returnType = referencedTypes.get(dataNode.getPath());
} else if (leafListContainsEnumDefinition(dataNode)) {
returnType = Types.listTypeFor(referencedTypes.get(dataNode.getPath()));
- } else {
+ }
+ if (returnType == null) {
returnType = resolveTypeFromDataSchemaNode(dataNode);
}
} else {
private GeneratedTransferObject wrapJavaTypeIntoTO(final String basePackageName, final TypeDefinition<?> typedef,
final Type javaType, final String moduleName) {
Preconditions.checkNotNull(javaType, "javaType cannot be null");
- final String propertyName = "value";
final GeneratedTOBuilder genTOBuilder = typedefToTransferObject(basePackageName, typedef, moduleName);
genTOBuilder.setRestrictions(BindingGeneratorUtil.getRestrictions(typedef));
- final GeneratedPropertyBuilder genPropBuilder = genTOBuilder.addProperty(propertyName);
+ final GeneratedPropertyBuilder genPropBuilder = genTOBuilder.addProperty("value");
genPropBuilder.setReturnType(javaType);
genTOBuilder.addEqualsIdentity(genPropBuilder);
genTOBuilder.addHashIdentity(genPropBuilder);
final Module module = findParentModule(schemaContext, parentNode);
final GeneratedTOBuilder unionGenTOBuilder = newGeneratedTOBuilder(typeName);
+ unionGenTOBuilder.setIsUnion(true);
unionGenTOBuilder.setSchemaPath(typedef.getPath());
unionGenTOBuilder.setModuleName(module.getName());
addCodegenInformation(unionGenTOBuilder, typedef);
-
generatedTOBuilders.add(unionGenTOBuilder);
- unionGenTOBuilder.setIsUnion(true);
// Pattern string is the key, XSD regex is the value. The reason for this choice is that the pattern carries
// also negation information and hence guarantees uniqueness.
final GeneratedPropertyBuilder propertyBuilder;
propertyBuilder = parentUnionGenTOBuilder.addProperty(BindingMapping.getPropertyName(
newTOBuilderName.simpleName()));
- propertyBuilder.setReturnType(subUnionGenTOBUilders.get(0));
+ propertyBuilder.setReturnType(subUnionGenTOBUilders.get(0).build());
parentUnionGenTOBuilder.addEqualsIdentity(propertyBuilder);
parentUnionGenTOBuilder.addToStringProperty(propertyBuilder);
final Map<Integer, List<TypeDefinition<?>>> typeDefinitionsDepths = new TreeMap<>();
for (TypeDefinition<?> unsortedTypeDefinition : unsortedTypeDefinitions) {
final Integer depth = getTypeDefinitionDepth(unsortedTypeDefinition);
- List<TypeDefinition<?>> typeDefinitionsConcreteDepth = typeDefinitionsDepths.get(depth);
- if (typeDefinitionsConcreteDepth == null) {
- typeDefinitionsConcreteDepth = new ArrayList<>();
- typeDefinitionsDepths.put(depth, typeDefinitionsConcreteDepth);
- }
+ List<TypeDefinition<?>> typeDefinitionsConcreteDepth =
+ typeDefinitionsDepths.computeIfAbsent(depth, k -> new ArrayList<>());
typeDefinitionsConcreteDepth.add(unsortedTypeDefinition);
}
return sb.toString();
}
- private static final Comparator<Bit> BIT_NAME_COMPARATOR = (o1, o2) -> o1.getName().compareTo(o2.getName());
+ private static final Comparator<Bit> BIT_NAME_COMPARATOR = Comparator.comparing(Bit::getName);
private static String bitsToDef(final BitsTypeDefinition type, final String className, final String defaultValue, final boolean isExt) {
final List<Bit> bits = new ArrayList<>(type.getBits());
- Collections.sort(bits, BIT_NAME_COMPARATOR);
+ bits.sort(BIT_NAME_COMPARATOR);
final StringBuilder sb = new StringBuilder();
if (!isExt) {
sb.append("new ");
}
if (module == null) {
final List<Module> modulesList = new ArrayList<>(modules);
- Collections.sort(modulesList, (o1, o2) -> Revision.compare(o1.getRevision(), o2.getRevision()));
+ modulesList.sort((o1, o2) -> Revision.compare(o1.getRevision(), o2.getRevision()));
module = modulesList.get(0);
}
} else {