X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fconfig%2Fyang-jmx-generator-plugin%2Fsrc%2Fmain%2Fresources%2FfreeMarker%2Fmodule_abs_template_new.ftl;h=848fcfe5fc4808bf1bf260a0022dcd98cf3b1c2a;hb=26cb66156fe0e1f533d0e6a7dd39040c7423999f;hp=7192ac661f8a6a362c84fec6f52c66ac6b5747ac;hpb=9212fed678702583f4a555641208cf1c7b45b829;p=controller.git 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)) {