Merge "Prevent stub and integrationtest plugins to go into the distribution of openda...
authorKalvin Hom <kahom@cisco.com>
Tue, 7 May 2013 17:58:49 +0000 (17:58 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 7 May 2013 17:58:49 +0000 (17:58 +0000)
opendaylight/sal/yang-prototype/code-generator/binding-generator-util/src/main/java/org/opendaylight/controller/binding/generator/util/generated/type/builder/GeneratedTOBuilderImpl.java
opendaylight/sal/yang-prototype/code-generator/binding-generator-util/src/main/java/org/opendaylight/controller/binding/generator/util/generated/type/builder/GeneratedTypeBuilderImpl.java
opendaylight/sal/yang-prototype/code-generator/binding-model-api/src/main/java/org/opendaylight/controller/sal/binding/model/api/GeneratedTransferObject.java
opendaylight/sal/yang-prototype/code-generator/binding-model-api/src/main/java/org/opendaylight/controller/sal/binding/model/api/GeneratedType.java
opendaylight/sal/yang-prototype/code-generator/binding-model-api/src/main/java/org/opendaylight/controller/sal/binding/model/api/type/builder/GeneratedTOBuilder.java
opendaylight/sal/yang-prototype/code-generator/binding-model-api/src/main/java/org/opendaylight/controller/sal/binding/model/api/type/builder/GeneratedTypeBuilder.java
opendaylight/sal/yang-prototype/yang/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/DataNodeIterator.java
opendaylight/sal/yang-prototype/yang/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/SchemaContextUtil.java

index e2cb0aa38133f43bca3adde8d539c7e6a9353d92..81104d244e769a9c3af593c4f466401a90f19312 100644 (file)
@@ -17,6 +17,7 @@ import org.opendaylight.controller.sal.binding.model.api.Constant;
 import org.opendaylight.controller.sal.binding.model.api.Enumeration;
 import org.opendaylight.controller.sal.binding.model.api.GeneratedProperty;
 import org.opendaylight.controller.sal.binding.model.api.GeneratedTransferObject;
+import org.opendaylight.controller.sal.binding.model.api.GeneratedType;
 import org.opendaylight.controller.sal.binding.model.api.MethodSignature;
 import org.opendaylight.controller.sal.binding.model.api.Type;
 import org.opendaylight.controller.sal.binding.model.api.type.builder.AnnotationTypeBuilder;
@@ -30,7 +31,9 @@ public final class GeneratedTOBuilderImpl implements GeneratedTOBuilder {
     private String packageName;
     private final String name;
     private String comment = "";
-
+    
+    private GeneratedTransferObject extendsType;
+    private final List<GeneratedType> implementsTypes = new ArrayList<GeneratedType>();
     private final List<EnumBuilder> enumerations = new ArrayList<EnumBuilder>();
     private final List<GeneratedPropertyBuilder> properties = new ArrayList<GeneratedPropertyBuilder>();
     private final List<GeneratedPropertyBuilder> equalsProperties = new ArrayList<GeneratedPropertyBuilder>();
@@ -79,7 +82,24 @@ public final class GeneratedTOBuilderImpl implements GeneratedTOBuilder {
         }
         return null;
     }
+    
+    @Override
+    public boolean addImplementsType(final GeneratedType genType) {
+        if (genType != null) {
+            return implementsTypes.add(genType);
+        }
+        return false;
+    }
 
+    @Override
+    public boolean addExtendsType(final GeneratedTransferObject genTransObj) {
+        if (genTransObj != null) {
+            extendsType = genTransObj;
+            return true;
+        }
+        return false;
+    }
+    
     @Override
     public EnumBuilder addEnumeration(String name) {
         final EnumBuilder builder = new EnumerationBuilderImpl(packageName,
@@ -130,7 +150,7 @@ public final class GeneratedTOBuilderImpl implements GeneratedTOBuilder {
     @Override
     public GeneratedTransferObject toInstance() {
         return new GeneratedTransferObjectImpl(packageName, name, comment, 
-                annotationBuilders, constantDefintions, enumerations,
+                annotationBuilders, extendsType, implementsTypes, constantDefintions, enumerations,
                 methodDefinitions, properties, equalsProperties,
                 hashProperties, toStringProperties);
     }
@@ -388,11 +408,15 @@ public final class GeneratedTOBuilderImpl implements GeneratedTOBuilder {
         private final List<GeneratedProperty> stringProperties;
         private final List<AnnotationType> annotations;
         private final List<MethodSignature> methods;
+        private final GeneratedTransferObject extendsType;
+        private final List<GeneratedType> implementsTypes;
 
         public GeneratedTransferObjectImpl(final String packageName,
                 final String name,
                 final String comment,
                 final List<AnnotationTypeBuilder> annotationBuilders,
+                final GeneratedTransferObject extendsType,
+                final List<GeneratedType> implementsTypes,
                 final List<ConstantBuilder> constantBuilders,
                 final List<EnumBuilder> enumBuilders,
                 final List<MethodSignatureBuilder> methodBuilders,
@@ -405,6 +429,8 @@ public final class GeneratedTOBuilderImpl implements GeneratedTOBuilder {
             this.name = name;
             this.comment = comment;
             this.annotations = toUnmodifiableAnnotations(annotationBuilders);
+            this.extendsType = extendsType;
+            this.implementsTypes = Collections.unmodifiableList(implementsTypes);
             this.constants = toUnmodifiableConstant(constantBuilders);
             this.enumerations = toUnmodifiableEnumerations(enumBuilders);
             this.properties = toUnmodifiableProperties(propBuilers);
@@ -483,7 +509,17 @@ public final class GeneratedTOBuilderImpl implements GeneratedTOBuilder {
         public List<AnnotationType> getAnnotations() {
             return annotations;
         }
+        
+        @Override
+        public List<GeneratedType> getImplements() {
+            return implementsTypes;
+        }
 
+        @Override
+        public GeneratedTransferObject getExtends() {
+            return extendsType;
+        }
+        
         @Override
         public List<Enumeration> getEnumDefintions() {
             return enumerations;
index deeda771b76b2abd3f45422f260ffb0771529877..46b5cf46a8141ca871ef3abbe1d0ddd70eecbdac 100644 (file)
@@ -29,10 +29,11 @@ public final class GeneratedTypeBuilderImpl implements GeneratedTypeBuilder {
     private String comment = "";
     private final String name;
     private final List<AnnotationTypeBuilder> annotationBuilders = new ArrayList<AnnotationTypeBuilder>();
+    private final List<GeneratedType> implementsTypes = new ArrayList<GeneratedType>();
     private final List<EnumBuilder> enumDefinitions = new ArrayList<EnumBuilder>();
     private final List<ConstantBuilder> constantDefintions = new ArrayList<ConstantBuilder>();
     private final List<MethodSignatureBuilder> methodDefinitions = new ArrayList<MethodSignatureBuilder>();
-
+    
     public GeneratedTypeBuilderImpl(final String packageName, final String name) {
         this.packageName = packageName;
         this.name = name;
@@ -95,13 +96,21 @@ public final class GeneratedTypeBuilderImpl implements GeneratedTypeBuilder {
         return builder;
     }
 
+    @Override
+    public boolean addImplementsType(final GeneratedType genType) {
+        if (genType != null) {
+            return implementsTypes.add(genType);
+        }
+        return false;
+    }
+    
     @Override
     public GeneratedType toInstance() {
         return new GeneratedTypeImpl(this, packageName, name, comment,
-                annotationBuilders, enumDefinitions, constantDefintions,
+                annotationBuilders, implementsTypes, enumDefinitions, constantDefintions,
                 methodDefinitions);
     }
-
+    
     private static final class GeneratedTypeImpl implements GeneratedType {
 
         private final Type parent;
@@ -109,6 +118,7 @@ public final class GeneratedTypeBuilderImpl implements GeneratedTypeBuilder {
         private final String name;
         private final String comment;
         private final List<AnnotationType> annotations;
+        private final List<GeneratedType> implementsTypes;
         private final List<Enumeration> enumDefinitions;
         private final List<Constant> constantDefintions;
         private final List<MethodSignature> methodDefinitions;
@@ -116,6 +126,7 @@ public final class GeneratedTypeBuilderImpl implements GeneratedTypeBuilder {
         public GeneratedTypeImpl(final Type parent, final String packageName,
                 final String name, final String comment,
                 final List<AnnotationTypeBuilder> annotationBuilders,
+                final List<GeneratedType> implementsTypes,
                 final List<EnumBuilder> enumBuilders,
                 final List<ConstantBuilder> constantBuilders,
                 final List<MethodSignatureBuilder> methodBuilders) {
@@ -125,6 +136,7 @@ public final class GeneratedTypeBuilderImpl implements GeneratedTypeBuilder {
             this.name = name;
             this.comment = comment;
             this.annotations = toUnmodifiableAnnotations(annotationBuilders);
+            this.implementsTypes = Collections.unmodifiableList(implementsTypes); 
             this.constantDefintions = toUnmodifiableConstants(constantBuilders);
             this.enumDefinitions = toUnmodifiableEnums(enumBuilders);
             this.methodDefinitions = toUnmodifiableMethods(methodBuilders);
@@ -190,7 +202,12 @@ public final class GeneratedTypeBuilderImpl implements GeneratedTypeBuilder {
         public List<AnnotationType> getAnnotations() {
             return annotations;
         }
-
+        
+        @Override
+        public List<GeneratedType> getImplements() {
+            return implementsTypes;
+        }
+        
         @Override
         public List<Enumeration> getEnumDefintions() {
             return enumDefinitions;
index 95a1ec9fb4483c4d8e3786a2b856cce1792faaa1..6fa551e82122095cdcc86d06d756b2526c011ee6 100644 (file)
@@ -11,6 +11,8 @@ import java.util.List;
 
 public interface GeneratedTransferObject extends GeneratedType {
     
+    public GeneratedTransferObject getExtends();
+    
     public List<GeneratedProperty> getProperties();
     
     public List<GeneratedProperty> getEqualsIdentifiers();
index 2f70ac5bf5183ef5d9a3347005b571fd98ad7dc4..f15d33bd685bc0281f006a017c62f742b411d71a 100644 (file)
@@ -36,6 +36,8 @@ public interface GeneratedType extends Type {
     
     public List<AnnotationType> getAnnotations();
     
+    public List<GeneratedType> getImplements();
+    
     /**
      * Returns Set of all Enumerator definitions associated with interface.
      * 
index 2fc4ccf02f61ff65739a36b378f7ea50bde955d0..c01425407d0248e9b38039004cbddef179adb6cc 100644 (file)
@@ -13,7 +13,9 @@ import org.opendaylight.controller.sal.binding.model.api.GeneratedTransferObject
 
  */
 public interface GeneratedTOBuilder extends GeneratedTypeBuilder {
-
+    
+    public boolean addExtendsType(final GeneratedTransferObject genTransObj);
+    
     public GeneratedPropertyBuilder addProperty(final String name);
 
     public boolean addEqualsIdentity(final GeneratedPropertyBuilder property);
index 55c6abca6e737ee18780c14aef4238d025519417..55da97a6eba9a0e52eb0dfd2f174fb0a83c0b163 100644 (file)
@@ -22,6 +22,8 @@ public interface GeneratedTypeBuilder extends Type {
     
     public AnnotationTypeBuilder addAnnotation(final String packageName, final String name);
     
+    public boolean addImplementsType(final GeneratedType genType);
+    
     public ConstantBuilder addConstant(final Type type, final String name,
             final Object value);
 
index ded4a75179113327683a084bf15425b7b3f91d8d..b4eaed775c7d6f24f905b51e559888fa9033b674 100644 (file)
@@ -61,6 +61,9 @@ public class DataNodeIterator implements Iterator<DataSchemaNode> {
         final Set<DataSchemaNode> childs = dataNode.getChildNodes();
         if (childs != null) {
             for (DataSchemaNode childNode : childs) {
+                if (childNode.isAugmenting()) {
+                    continue;
+                }
                 allChilds.add(childNode);
                 if (childNode instanceof ContainerSchemaNode) {
                     final ContainerSchemaNode container = (ContainerSchemaNode) childNode;
index ab50982f4f209dc89f6da8732cfecdfe86b209ee..8554f682198f73c95f78eb3f5cdf413131e4e2f9 100644 (file)
@@ -31,7 +31,23 @@ public final class SchemaContextUtil {
     public SchemaContextUtil(final SchemaContext context) {
         this.context = context;
     }
-
+    
+    public SchemaContext getContext() {
+        return context;
+    }
+    
+    public DataSchemaNode findDataSchemaNode(final SchemaPath schemaPath) {
+        if (schemaPath != null) {
+            final Module module = resolveModuleFromSchemaPath(schemaPath);
+            final Queue<String> prefixedPath = schemaPathToQueuedPath(schemaPath);
+            
+            if ((module != null) && (prefixedPath != null)) {
+                return findSchemaNodeForGivenPath(module, prefixedPath);
+            }
+        }
+        return null;
+    }
+    
     public DataSchemaNode findDataSchemaNode(final Module module,
             final RevisionAwareXPath nonCondXPath) {
         if (nonCondXPath != null) {
@@ -187,7 +203,30 @@ public final class SchemaContextUtil {
         }
         return retQueue;
     }
-
+    
+    private Queue<String> schemaPathToQueuedPath(final SchemaPath schemaPath) {
+        final Queue<String> retQueue = new LinkedList<String>();
+        if ((schemaPath != null) && (schemaPath.getPath() != null)) {
+            final List<QName> listPath = schemaPath.getPath();
+            
+            for (final QName qname : listPath) {
+                if (qname != null) {
+                    final String prefix = qname.getPrefix();
+                    final String localName = qname.getLocalName();
+                    
+                    final StringBuilder builder = new StringBuilder();
+                    if (prefix != null) {
+                        builder.append(prefix);
+                        builder.append(":");
+                    }
+                    builder.append(localName);
+                    retQueue.add(builder.toString());
+                }
+            }
+        }
+        return retQueue;
+    }
+    
     private Queue<String> resolveRelativeXPath(
             final RevisionAwareXPath relativeXPath,
             final SchemaPath leafrefSchemaPath) {