Update the API generation code and code generation sample
[controller.git] / opendaylight / sal / yang-prototype / code-generator / binding-java-api-generator / src / main / java / org / opendaylight / controller / sal / java / api / generator / CompositeKeyGenerator.java
index 4e50f6028c74686591de966d235e7970e07b57bb..cc7bffa86cda171f7e6f25459f52858547192e2a 100644 (file)
@@ -7,7 +7,9 @@
  */\r
 package org.opendaylight.controller.sal.java.api.generator;\r
 \r
  */\r
 package org.opendaylight.controller.sal.java.api.generator;\r
 \r
-import static org.opendaylight.controller.sal.java.api.generator.Constants.*;\r
+import static org.opendaylight.controller.sal.java.api.generator.Constants.NL;\r
+import static org.opendaylight.controller.sal.java.api.generator.Constants.RCB;\r
+import static org.opendaylight.controller.sal.java.api.generator.Constants.TAB;\r
 \r
 import java.io.IOException;\r
 import java.io.StringWriter;\r
 \r
 import java.io.IOException;\r
 import java.io.StringWriter;\r
@@ -15,39 +17,43 @@ import java.io.Writer;
 import java.util.List;\r
 \r
 import org.opendaylight.controller.sal.binding.model.api.CodeGenerator;\r
 import java.util.List;\r
 \r
 import org.opendaylight.controller.sal.binding.model.api.CodeGenerator;\r
-import org.opendaylight.controller.sal.binding.model.api.Constant;\r
-import org.opendaylight.controller.sal.binding.model.api.GeneratedType;\r
+import org.opendaylight.controller.sal.binding.model.api.GeneratedProperty;\r
+import org.opendaylight.controller.sal.binding.model.api.GeneratedTransferObject;\r
+import org.opendaylight.controller.sal.binding.model.api.Type;\r
 \r
 public class CompositeKeyGenerator implements CodeGenerator {\r
 \r
     @Override\r
 \r
 public class CompositeKeyGenerator implements CodeGenerator {\r
 \r
     @Override\r
-    public Writer generate(GeneratedType type) throws IOException {\r
+    public Writer generate(Type type) throws IOException {\r
         final Writer writer = new StringWriter();\r
         final Writer writer = new StringWriter();\r
-        final List<Constant> fields = type.getConstantDefinitions();\r
+        if (type instanceof GeneratedTransferObject) {\r
+            GeneratedTransferObject genTO = (GeneratedTransferObject)type;\r
+            final List<GeneratedProperty> fields = genTO.getProperties();\r
 \r
 \r
-        writer.write(GeneratorUtil.createClassDeclarationWithPkgName(\r
-                type.getPackageName(), type.getName(), ""));\r
-        writer.write(NL);\r
-        writer.write(NL);\r
-\r
-        if (fields != null) {\r
-            for (Constant field : fields) {\r
-                writer.write(GeneratorUtil.createField(field, TAB) + NL);\r
-            }\r
+            writer.write(GeneratorUtil.createClassDeclarationWithPkgName(\r
+                    type.getPackageName(), type.getName(), ""));\r
             writer.write(NL);\r
             writer.write(NL);\r
-\r
-            for (Constant field : fields) {\r
-                writer.write(GeneratorUtil.createGetter(field, TAB) + NL);\r
-            }\r
             writer.write(NL);\r
             writer.write(NL);\r
-\r
-            writer.write(GeneratorUtil.createHashCode(fields, TAB) + NL);\r
-            writer.write(GeneratorUtil.createEquals(type, fields, TAB) + NL);\r
-            writer.write(GeneratorUtil.createToString(type, fields, TAB) + NL);\r
-\r
-            writer.write(RCB);\r
+            \r
+            if (fields != null) {\r
+                for (GeneratedProperty field : fields) {\r
+                    writer.write(GeneratorUtil.createField(field, TAB) + NL);\r
+                }\r
+                writer.write(NL);\r
+                writer.write(GeneratorUtil.createConstructor(genTO, TAB) + NL);\r
+                writer.write(NL);\r
+                for (GeneratedProperty field : fields) {\r
+                    writer.write(GeneratorUtil.createGetter(field, TAB) + NL);\r
+                }\r
+                writer.write(NL);\r
+\r
+                writer.write(GeneratorUtil.createHashCode(genTO.getHashCodeIdentifiers(), TAB) + NL);\r
+                writer.write(GeneratorUtil.createEquals(genTO, genTO.getEqualsIdentifiers(), TAB) + NL);\r
+                writer.write(GeneratorUtil.createToString(genTO, genTO.getToStringIdentifiers(), TAB) + NL);\r
+\r
+                writer.write(RCB);\r
+            }\r
         }\r
         }\r
-\r
         return writer;\r
     }\r
 \r
         return writer;\r
     }\r
 \r