X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fyang-jmx-generator-plugin%2Fsrc%2Fmain%2Fresources%2FfreeMarker%2Fmodule_abs_template_new.ftl;h=848fcfe5fc4808bf1bf260a0022dcd98cf3b1c2a;hp=7192ac661f8a6a362c84fec6f52c66ac6b5747ac;hb=20500c9eb46d1ceb99d742d1c110dcb7c558dc2b;hpb=6f4a8592f47de9cce38fc7778bea9429b81e28b7 diff --git a/opendaylight/config/yang-jmx-generator-plugin/src/main/resources/freeMarker/module_abs_template_new.ftl b/opendaylight/config/yang-jmx-generator-plugin/src/main/resources/freeMarker/module_abs_template_new.ftl index 7192ac661f..848fcfe5fc 100644 --- a/opendaylight/config/yang-jmx-generator-plugin/src/main/resources/freeMarker/module_abs_template_new.ftl +++ b/opendaylight/config/yang-jmx-generator-plugin/src/main/resources/freeMarker/module_abs_template_new.ftl @@ -85,6 +85,12 @@ package ${packageName}; + // caches of resolved IdentityRefs + <#list moduleFields as field> + <#if field.identityRef==true> + private ${field.identityClassType} ${field.identityClassName}; + + @Override public final ${instanceType} getInstance(){ @@ -109,6 +115,24 @@ package ${packageName}; } + + <#if field.needsDepResolver==true> + if(${field.name} != null) { + <#if field.type?starts_with("java.util.List")> + for(${field.type?substring(field.type?index_of("<") + 1, field.type?index_of(">"))} candidate : ${field.name}) { + candidate.injectDependencyResolver(dependencyResolver); + } + <#else> + ${field.name}.injectDependencyResolver(dependencyResolver); + + } + + + <#if field.identityRef==true> + if(${field.name} != null) { + set${field.attributeName}(${field.name}.resolveIdentity(dependencyResolver, ${field.identityBaseClass}.class)); + } + if(oldInstance!=null && canReuseInstance(oldModule)) {