boolean oneFailed = false;
Result result = getInitializedResult();
ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
String value=null;
int count = 0;
try{
count = getCountNodeSet("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter");
if (count>0){
value = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter/resource-adapter-mid");
if(value==null || value.length()==0){
oneFailed=true;
result.addErrorDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.failed(smh.getLocalString
(getClass().getName() + ".failed1",
"FAILED [AS-EJB mdb-resource-adapter] : resource-adapter-mid cannot be empty.",
new Object[] {descriptor.getName()}));
}else{
result.addGoodDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.passed(smh.getLocalString(
getClass().getName() + ".passed1",
"PASSED [AS-EJB mdb-resource-adapter] : resource-adapter-mid is {1}",
new Object[] {descriptor.getName(),value}));
}
//activation-config
count = getCountNodeSet("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter/activation-config");
if (count>0){
count = getCountNodeSet("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter/activation-config/activation-config-property");
if (count>0){
for (int i=1;i<=count;i++){
value = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter/activation-config/activation-config-property/activation-config-property-name");
if(value==null || value.length()==0){
oneFailed=true;
result.addErrorDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.failed(smh.getLocalString
(getClass().getName() + ".failed2",
"FAILED [AS-EJB mdb-resource-adapter] : activation-config-property-name cannot be empty.",
new Object[] {descriptor.getName()}));
}else{
result.addGoodDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.passed(smh.getLocalString(
getClass().getName() + ".passed2",
"PASSED [AS-EJB mdb-resource-adapter] : activation-config-property-name is {1}",
new Object[] {descriptor.getName(),value}));
}
value = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter/activation-config/activation-config-property/activation-config-property-value");
if(value==null || value.length()==0){
oneFailed=true;
result.addErrorDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.failed(smh.getLocalString
(getClass().getName() + ".failed3",
"FAILED [AS-EJB mdb-resource-adapter] : activation-config-property-value cannot be empty.",
new Object[] {descriptor.getName()}));
}else{
result.addGoodDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.passed(smh.getLocalString(
getClass().getName() + ".passed3",
"PASSED [AS-EJB mdb-resource-adapter] : activation-config-property-value is {1}",
new Object[] {descriptor.getName(),value}));
}
}
}else{
oneFailed=true;
result.addErrorDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.failed(smh.getLocalString
(getClass().getName() + ".failed4",
"FAILED [AS-EJB mdb-resource-adapter] : activation-config-property is not defined",
new Object[] {descriptor.getName()}));
}
}
}else{
result.addNaDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
"NOT APPLICABLE [AS-EJB ejb] : mdb-resource-adapter is not defined."));
}
}catch(Exception ex){
oneFailed = true;
result.addErrorDetails(smh.getLocalString
(getClass().getName() + ".notRun",
"NOT RUN [AS-EJB] : Could not create descriptor object"));
}
if(oneFailed)
result.setStatus(Result.FAILED);
return result;