Result result = getInitializedResult();
ComponentNameConstructor compName = new ComponentNameConstructor(descriptor);
boolean oneFailed = false;
SunConnector sc = descriptor.getSunDescriptor();
if(sc == null)
{
result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
"NOT APPLICABLE [ASCONNECTOR]: sun-ra.xml descriptor object could not be obtained"));
}
else{
ResourceAdapter ra = sc.getResourceAdapter();
if( ra == null)
{
result.addErrorDetails(smh.getLocalString
("tests.componentNameConstructor",
"For [ {0} ]",
new Object[] {compName.toString()}));
result.addErrorDetails(smh.getLocalString
(getClass().getName() + ".notRun",
"NOT RUN [AS-EJB] : Could not create an SunEjbJar object"));
}
String steadyPoolSize = ra.getAttributeValue("steady-pool-size");
if(steadyPoolSize.length()==0)
{
result.failed(smh.getLocalString(getClass().getName()+".failed1",
"FAILED [AS-CONNECTOR resource-adapter] : steady-pool-size cannot be empty"));
}
else
{
try
{
int value = Integer.valueOf(steadyPoolSize).intValue();
if(value < 0 || value > Integer.MAX_VALUE)
{
result.failed(smh.getLocalString(getClass().getName()+".failed2",
"FAILED [AS-CONNECTOR resource-adapter] : steady-pool-size cannot be {0}. It should be between 0 and {1}",
new Object[]{new Integer(value),new Integer(Integer.MAX_VALUE)}));
}
else
{
String maxPool = ra.getAttributeValue("max-pool-size");
int maxPoolSize = 0;
try{
maxPoolSize = Integer.valueOf(maxPool).intValue();
}catch(NumberFormatException nfe){
result.failed(smh.getLocalString(getClass().getName()+".failed3","FAILED [AS-CONNECTOR resource-adapter] : steady-pool-size should be less than max-pool-size and the value {0} for max-pool-size is not a valid Integer number",new Object[]{maxPool}));
return result;
}
if(value <= maxPoolSize)
result.passed(smh.getLocalString(getClass().getName()+".passed",
"PASSED [AS-CONNECTOR resource-adapter] : steady-pool-size is {0}",
new Object[]{new Integer(value)}));
else{
result.failed(smh.getLocalString(getClass().getName()+".failed4","FAILED [AS-CONNECTOR resource-adapter] : steady-pool-size {0} should not be greater than max-pool-size {1}", new Object[]{steadyPoolSize,maxPool}));
}
}
}
catch(NumberFormatException nfex)
{
Verifier.debug(nfex);
result.failed(smh.getLocalString(getClass().getName()+".failed5",
"FAILED [AS-CONNECTOR resource-adapter] : The value {0} for steady-pool-size is not a valid Integer number",new Object[]{steadyPoolSize}));
}
}
}
return result;