X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fbinding-java-api-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fjava%2Fapi%2Fgenerator%2FCompositeKeyGenerator.java;h=cc7bffa86cda171f7e6f25459f52858547192e2a;hp=4e50f6028c74686591de966d235e7970e07b57bb;hb=e028e5b6177c47d08f4f2da677759c4665da3f84;hpb=e2ef18c530a0bb668d7806c419fea95edd5aae53 diff --git a/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/CompositeKeyGenerator.java b/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/CompositeKeyGenerator.java index 4e50f6028c..cc7bffa86c 100644 --- a/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/CompositeKeyGenerator.java +++ b/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/CompositeKeyGenerator.java @@ -7,7 +7,9 @@ */ package org.opendaylight.controller.sal.java.api.generator; -import static org.opendaylight.controller.sal.java.api.generator.Constants.*; +import static org.opendaylight.controller.sal.java.api.generator.Constants.NL; +import static org.opendaylight.controller.sal.java.api.generator.Constants.RCB; +import static org.opendaylight.controller.sal.java.api.generator.Constants.TAB; import java.io.IOException; import java.io.StringWriter; @@ -15,39 +17,43 @@ import java.io.Writer; import java.util.List; import org.opendaylight.controller.sal.binding.model.api.CodeGenerator; -import org.opendaylight.controller.sal.binding.model.api.Constant; -import org.opendaylight.controller.sal.binding.model.api.GeneratedType; +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.Type; public class CompositeKeyGenerator implements CodeGenerator { @Override - public Writer generate(GeneratedType type) throws IOException { + public Writer generate(Type type) throws IOException { final Writer writer = new StringWriter(); - final List fields = type.getConstantDefinitions(); + if (type instanceof GeneratedTransferObject) { + GeneratedTransferObject genTO = (GeneratedTransferObject)type; + final List fields = genTO.getProperties(); - writer.write(GeneratorUtil.createClassDeclarationWithPkgName( - type.getPackageName(), type.getName(), "")); - writer.write(NL); - writer.write(NL); - - if (fields != null) { - for (Constant field : fields) { - writer.write(GeneratorUtil.createField(field, TAB) + NL); - } + writer.write(GeneratorUtil.createClassDeclarationWithPkgName( + type.getPackageName(), type.getName(), "")); writer.write(NL); - - for (Constant field : fields) { - writer.write(GeneratorUtil.createGetter(field, TAB) + NL); - } writer.write(NL); - - writer.write(GeneratorUtil.createHashCode(fields, TAB) + NL); - writer.write(GeneratorUtil.createEquals(type, fields, TAB) + NL); - writer.write(GeneratorUtil.createToString(type, fields, TAB) + NL); - - writer.write(RCB); + + if (fields != null) { + for (GeneratedProperty field : fields) { + writer.write(GeneratorUtil.createField(field, TAB) + NL); + } + writer.write(NL); + writer.write(GeneratorUtil.createConstructor(genTO, TAB) + NL); + writer.write(NL); + for (GeneratedProperty field : fields) { + writer.write(GeneratorUtil.createGetter(field, TAB) + NL); + } + writer.write(NL); + + writer.write(GeneratorUtil.createHashCode(genTO.getHashCodeIdentifiers(), TAB) + NL); + writer.write(GeneratorUtil.createEquals(genTO, genTO.getEqualsIdentifiers(), TAB) + NL); + writer.write(GeneratorUtil.createToString(genTO, genTO.getToStringIdentifiers(), TAB) + NL); + + writer.write(RCB); + } } - return writer; }