X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fbinding-generator-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fbinding%2Fgenerator%2Futil%2FBindingGeneratorUtil.java;h=ef65a0e8f03add4a1653406c6069ed18e6c3f148;hp=1fb862291f19700b673a153112bf6f4352d02553;hb=37ff82351675cc5c279dfe88c6daf10cbbf9f48b;hpb=b571c5f3e6e9b2dcf2cff2314537c7b1c61533b4 diff --git a/opendaylight/sal/yang-prototype/code-generator/binding-generator-util/src/main/java/org/opendaylight/controller/binding/generator/util/BindingGeneratorUtil.java b/opendaylight/sal/yang-prototype/code-generator/binding-generator-util/src/main/java/org/opendaylight/controller/binding/generator/util/BindingGeneratorUtil.java index 1fb862291f..ef65a0e8f0 100644 --- a/opendaylight/sal/yang-prototype/code-generator/binding-generator-util/src/main/java/org/opendaylight/controller/binding/generator/util/BindingGeneratorUtil.java +++ b/opendaylight/sal/yang-prototype/code-generator/binding-generator-util/src/main/java/org/opendaylight/controller/binding/generator/util/BindingGeneratorUtil.java @@ -3,11 +3,14 @@ package org.opendaylight.controller.binding.generator.util; import org.opendaylight.controller.binding.generator.util.generated.type.builder.GeneratedTOBuilderImpl; import org.opendaylight.controller.sal.binding.model.api.type.builder.GeneratedTOBuilder; import org.opendaylight.controller.yang.common.QName; -import org.opendaylight.controller.yang.model.api.*; +import org.opendaylight.controller.yang.model.api.Module; +import org.opendaylight.controller.yang.model.api.SchemaNode; +import org.opendaylight.controller.yang.model.api.SchemaPath; +import org.opendaylight.controller.yang.model.api.TypeDefinition; import java.util.*; -public class BindingGeneratorUtil { +public final class BindingGeneratorUtil { private static final String[] SET_VALUES = new String[]{"abstract", "assert", "boolean", "break", "byte", "case", "catch", "char", @@ -19,7 +22,8 @@ public class BindingGeneratorUtil { "super", "switch", "synchronized", "this", "throw", "throws", "transient", "true", "try", "void", "volatile", "while"}; - private BindingGeneratorUtil() {} + private BindingGeneratorUtil() { + } public static final Set JAVA_RESERVED_WORDS = new HashSet( Arrays.asList(SET_VALUES)); @@ -110,22 +114,43 @@ public class BindingGeneratorUtil { public static String packageNameForGeneratedType( final String basePackageName, final SchemaPath schemaPath) { + if (basePackageName == null) { + throw new IllegalArgumentException("Base Package Name cannot be " + + "NULL!"); + } + if (schemaPath == null) { + throw new IllegalArgumentException("Schema Path cannot be NULL!"); + } + final StringBuilder builder = new StringBuilder(); builder.append(basePackageName); - if ((schemaPath != null) && (schemaPath.getPath() != null)) { - final List pathToNode = schemaPath.getPath(); - final int traversalSteps = (pathToNode.size() - 1); - for (int i = 0; i < traversalSteps; ++i) { - builder.append("."); - String nodeLocalName = pathToNode.get(i).getLocalName(); - - nodeLocalName = nodeLocalName.replace(":", "."); - nodeLocalName = nodeLocalName.replace("-", "."); - builder.append(nodeLocalName); - } - return validateJavaPackage(builder.toString()); + final List pathToNode = schemaPath.getPath(); + final int traversalSteps = (pathToNode.size() - 1); + for (int i = 0; i < traversalSteps; ++i) { + builder.append("."); + String nodeLocalName = pathToNode.get(i).getLocalName(); + + nodeLocalName = nodeLocalName.replace(":", "."); + nodeLocalName = nodeLocalName.replace("-", "."); + builder.append(nodeLocalName); } - return null; + return validateJavaPackage(builder.toString()); + } + + public static String packageNameForTypeDefinition( + final String basePackageName, final TypeDefinition typeDefinition) { + if (basePackageName == null) { + throw new IllegalArgumentException("Base Package Name cannot be " + + "NULL!"); + } + if (typeDefinition == null) { + throw new IllegalArgumentException("Type Definition reference " + + "cannot be NULL!"); + } + + final StringBuilder builder = new StringBuilder(); + builder.append(basePackageName); + return validateJavaPackage(builder.toString()); } public static String parseToClassName(String token) {