public void validate(){
<#list moduleFields as field>
<#if field.dependent==true && field.dependency.mandatory==true>
+ <#if field.type?starts_with("java.util.List")>
+ for(javax.management.ObjectName dep : ${field.name}) {
+ dependencyResolver.validateDependency(${field.dependency.sie.fullyQualifiedName}.class, dep, ${field.name}JmxAttribute);
+ }
+ <#else>
dependencyResolver.validateDependency(${field.dependency.sie.fullyQualifiedName}.class, ${field.name}, ${field.name}JmxAttribute);
</#if>
+ </#if>
</#list>
customValidation();
}
// caches of resolved dependencies
<#list moduleFields as field>
<#if field.dependent==true>
+ <#if field.type?starts_with("java.util.List")>
+ private java.util.List<${field.dependency.sie.exportedOsgiClassName}> ${field.name}Dependency = new java.util.ArrayList<${field.dependency.sie.exportedOsgiClassName}>();
+ protected final java.util.List<${field.dependency.sie.exportedOsgiClassName}> get${field.attributeName}Dependency(){
+ return ${field.name}Dependency;
+ }
+ <#else>
private ${field.dependency.sie.exportedOsgiClassName} ${field.name}Dependency;
protected final ${field.dependency.sie.exportedOsgiClassName} get${field.attributeName}Dependency(){
return ${field.name}Dependency;
}
+ </#if>
</#if>
</#list>
<#list moduleFields as field>
<#if field.dependent==true>
-
<#if field.dependency.mandatory==false>
if(${field.name}!=null) {
</#if>
- ${field.name}Dependency = dependencyResolver.resolveInstance(${field.dependency.sie.exportedOsgiClassName}.class, ${field.name}, ${field.name}JmxAttribute);
+ <#if field.type?starts_with("java.util.List")>
+ ${field.name}Dependency = new java.util.ArrayList<${field.dependency.sie.exportedOsgiClassName}>();
+ for(javax.management.ObjectName dep : ${field.name}) {
+ ${field.name}Dependency.add(dependencyResolver.resolveInstance(${field.dependency.sie.exportedOsgiClassName}.class, dep, ${field.name}JmxAttribute));
+ }
+ <#else>
+ ${field.name}Dependency = dependencyResolver.resolveInstance(${field.dependency.sie.exportedOsgiClassName}.class, ${field.name}, ${field.name}JmxAttribute);
+ </#if>
<#if field.dependency.mandatory==false>
}
}
<#list moduleFields as field>
<#if field.dependent==true>
- if (${field.name}Dependency == null) {
- if (other.${field.name}Dependency != null)
- return false;
- } else if (!${field.name}Dependency.equals(other.${field.name}Dependency)) {
+ if (${field.name}Dependency != other.${field.name}Dependency) { // reference to dependency must be same
return false;
}
<#else>