import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import java.io.Serializable;
-import java.net.URI;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Date;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.Set;
import java.util.TreeMap;
import org.apache.commons.lang3.StringEscapeUtils;
import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.GeneratedTOBuilder;
import org.opendaylight.mdsal.binding.javav2.spec.runtime.BindingNamespaceType;
import org.opendaylight.mdsal.binding.javav2.util.BindingMapping;
-import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.common.Revision;
import org.opendaylight.yangtools.yang.model.api.ActionDefinition;
import org.opendaylight.yangtools.yang.model.api.ActionNodeContainer;
-import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode;
+import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
@SuppressWarnings({ "rawtypes", "unchecked" })
static GeneratedTransferObject provideGeneratedTOFromExtendedType(final TypeDefinition<?> typedef, final
TypeDefinition<?> innerExtendedType, final String basePackageName, final String moduleName, final SchemaContext
- schemaContext, final Map<String, Map<Date, Map<String, Type>>> genTypeDefsContextMap,
- ModuleContext context) {
+ schemaContext, final Map<String, Map<Optional<Revision>, Map<String, Type>>> genTypeDefsContextMap,
+ final ModuleContext context) {
Preconditions.checkArgument(innerExtendedType != null, "Extended type cannot be NULL!");
Preconditions.checkArgument(basePackageName != null, "String with base package name cannot be NULL!");
final String typedefName = typedef.getQName().getLocalName();
final String innerTypeDef = innerExtendedType.getQName().getLocalName();
final GeneratedTOBuilderImpl genTOBuilder = new GeneratedTOBuilderImpl(basePackageName, typedefName, context);
- final String typedefDescription = encodeAngleBrackets(typedef.getDescription());
+ final String typedefDescription = encodeAngleBrackets(typedef.getDescription().orElse(null));
genTOBuilder.setDescription(typedefDescription);
- genTOBuilder.setReference(typedef.getReference());
+ genTOBuilder.setReference(typedef.getReference().orElse(null));
genTOBuilder.setSchemaPath((List) typedef.getPath().getPathFromRoot());
genTOBuilder.setModuleName(moduleName);
genTOBuilder.setTypedef(true);
genTOBuilder.setIsUnion(true);
}
- Map<Date, Map<String, Type>> modulesByDate = null;
+ Map<Optional<Revision>, Map<String, Type>> modulesByDate = null;
Map<String, Type> typeMap = null;
final Module parentModule = findParentModule(schemaContext, innerExtendedType);
if (parentModule != null) {
genTOBuilder.setExtendsType((GeneratedTransferObject) type);
}
}
- addUnitsToGenTO(genTOBuilder, typedef.getUnits());
+ addUnitsToGenTO(genTOBuilder, typedef.getUnits().orElse(null));
makeSerializable(genTOBuilder);
return genTOBuilder.toInstance();
* @return generated transfer object which represent<code>javaType</code>
*/
static GeneratedTransferObject wrapJavaTypeIntoTO(final String basePackageName, final TypeDefinition<?> typedef,
- final Type javaType, final String moduleName, ModuleContext context) {
+ final Type javaType, final String moduleName, final ModuleContext context) {
Preconditions.checkNotNull(javaType, "javaType cannot be null");
final String propertyName = "value";
final List<String> regExps = resolveRegExpressionsFromTypedef(typedef);
addStringRegExAsConstant(genTOBuilder, regExps);
}
- addUnitsToGenTO(genTOBuilder, typedef.getUnits());
+ addUnitsToGenTO(genTOBuilder, typedef.getUnits().orElse(null));
genTOBuilder.setTypedef(true);
makeSerializable((GeneratedTOBuilderImpl) genTOBuilder);
return genTOBuilder.toInstance();
final List<String> regExps = new ArrayList<>(patternConstraints.size());
for (final PatternConstraint patternConstraint : patternConstraints) {
- final String regEx = patternConstraint.getRegularExpression();
+ final String regEx = patternConstraint.getJavaPatternString();
final String modifiedRegEx = StringEscapeUtils.escapeJava(regEx);
regExps.add(modifiedRegEx);
}
} else if (childNode instanceof ListSchemaNode) {
fillRecursively(list, (ListSchemaNode) childNode);
} else if (childNode instanceof ChoiceSchemaNode) {
- final Set<ChoiceCaseNode> cases = ((ChoiceSchemaNode) childNode).getCases();
- if (cases != null) {
- for (final ChoiceCaseNode caseNode : cases) {
- fillRecursively(list, caseNode);
- }
+ for (final CaseSchemaNode caseNode : ((ChoiceSchemaNode) childNode).getCases().values()) {
+ fillRecursively(list, caseNode);
}
}
});
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
static Enumeration provideTypeForEnum(final EnumTypeDefinition enumTypeDef, final String enumName,
- final SchemaNode parentNode, final SchemaContext schemaContext, ModuleContext context) {
+ final SchemaNode parentNode, final SchemaContext schemaContext, final ModuleContext context) {
Preconditions.checkArgument(enumTypeDef != null, "EnumTypeDefinition reference cannot be NULL!");
Preconditions.checkArgument(enumTypeDef.getQName().getLocalName() != null,
"Local Name in EnumTypeDefinition QName cannot be NULL!");
}
final EnumerationBuilderImpl enumBuilder = new EnumerationBuilderImpl(packageName, enumName, context);
- final String enumTypedefDescription = encodeAngleBrackets(enumTypeDef.getDescription());
+ final String enumTypedefDescription = encodeAngleBrackets(enumTypeDef.getDescription().orElse(null));
enumBuilder.setDescription(enumTypedefDescription);
- enumBuilder.setReference(enumTypeDef.getReference());
+ enumBuilder.setReference(enumTypeDef.getReference().orElse(null));
enumBuilder.setModuleName(module.getName());
enumBuilder.setSchemaPath((List) enumTypeDef.getPath().getPathFromRoot());
enumBuilder.updateEnumPairsFromEnumTypeDef(enumTypeDef);
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
private static GeneratedTOBuilderImpl typedefToTransferObject(final String basePackageName,
- final TypeDefinition<?> typedef, final String moduleName, ModuleContext context) {
+ final TypeDefinition<?> typedef, final String moduleName, final ModuleContext context) {
final String typeDefTOName = typedef.getQName().getLocalName();
- if ((basePackageName != null) && (typeDefTOName != null)) {
+ if (basePackageName != null && typeDefTOName != null) {
final GeneratedTOBuilderImpl newType = new GeneratedTOBuilderImpl(basePackageName, typeDefTOName, context);
- final String typedefDescription = encodeAngleBrackets(typedef.getDescription());
+ final String typedefDescription = encodeAngleBrackets(typedef.getDescription().orElse(null));
newType.setDescription(typedefDescription);
- newType.setReference(typedef.getReference());
+ newType.setReference(typedef.getReference().orElse(null));
newType.setSchemaPath((List) typedef.getPath().getPathFromRoot());
newType.setModuleName(moduleName);
}
static Module getParentModule(final SchemaNode node, final SchemaContext schemaContext) {
- final QName qname = node.getPath().getPathFromRoot().iterator().next();
- final URI namespace = qname.getNamespace();
- final Date revision = qname.getRevision();
- return schemaContext.findModuleByNamespaceAndRevision(namespace, revision);
+ return schemaContext.findModule(node.getPath().getPathFromRoot().iterator().next().getModule()).orElse(null);
}
}