1 23 24 package com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool; 25 26 import com.sun.enterprise.deployment.EjbDescriptor; 27 import com.sun.enterprise.tools.verifier.Verifier; 28 import com.sun.enterprise.tools.verifier.Result; 29 import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor; 30 31 47 public class ASEjbBPSteadyPoolSize extends ASEjbBeanPool 48 { 49 50 public Result check(EjbDescriptor descriptor) 51 { 52 Result result = getInitializedResult(); 53 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 54 String pool = null; 55 String steadyPoolSize=null; 56 String maxPoolSize = null; 57 58 try{ 59 pool = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool"); 60 if (pool!=null) 61 { 62 steadyPoolSize = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool/steady-pool-size"); 63 if (steadyPoolSize!=null){ 64 steadyPoolSize = steadyPoolSize.trim(); 65 if (steadyPoolSize.length()==0) 66 { 67 addErrorDetails(result, compName); 68 result.failed(smh.getLocalString(getClass().getName()+".failed", 69 "FAILED [AS-EJB bean-pool] : steady-pool-size cannot be empty")); 70 }else 71 { 72 try 73 { 74 int value = Integer.valueOf(steadyPoolSize).intValue(); 75 if(value < 0 || value > Integer.MAX_VALUE) 76 { 77 addErrorDetails(result, compName); 78 result.failed(smh.getLocalString(getClass().getName()+".failed1", 79 "FAILED [AS-EJB bean-pool] : steady-pool-size cannot be {0}. It should be between 0 and {1}", 80 new Object []{new Integer (value),new Integer (Integer.MAX_VALUE)})); 81 }else 82 { 83 maxPoolSize = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool/max-pool-size"); 84 int maxPool = 0; 85 if(maxPoolSize != null) 86 { 87 try{ 88 maxPool = Integer.parseInt(maxPoolSize); 89 }catch(NumberFormatException nfe){ 90 addErrorDetails(result, compName); 91 result.failed(smh.getLocalString(getClass().getName()+".failed2", 92 "FAILED [AS-EJB bean-pool] : The value {0} for max-pool-size is not a valid Integer number",new Object []{maxPoolSize})); 93 return result; 94 } 95 if(value <= maxPool) 96 { 97 addGoodDetails(result, compName); 98 result.passed(smh.getLocalString(getClass().getName()+".passed", 99 "PASSED [AS-EJB bean-pool] : steady-pool-size is {0} and is less-than/equal-to max-pool-size [{1}]", 100 new Object []{new Integer (value), new Integer (maxPool)})); 101 }else 102 { 103 addWarningDetails(result, compName); 104 result.warning(smh.getLocalString(getClass().getName()+".warning","WARNING [AS-EJB bean-pool] : steady-pool-size [{0}] is greater than max-pool-size[{1}]", new Object []{new Integer (value), new Integer (maxPool)})); 105 } 106 }else 107 { 108 addGoodDetails(result, compName); 109 result.passed(smh.getLocalString(getClass().getName()+".passed1", 110 "PASSED [AS-EJB bean-pool] : steady-pool-size is {0}",new Object [] { new Integer (value)})); 111 } 112 } 113 }catch(NumberFormatException nfex) 114 { 115 Verifier.debug(nfex); 116 addErrorDetails(result, compName); 117 result.failed(smh.getLocalString(getClass().getName()+".failed3", 118 "FAILED [AS-EJB bean-pool] : The value {0} for steady-pool-size is not a valid Integer number", 119 new Object []{steadyPoolSize})); 120 } 121 } 122 }else { 124 addNaDetails(result, compName); 125 result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable", 126 "NOT APPLICABLE [AS-EJB bean-pool] : steady-pool-size element not defined")); 127 } 128 }else { 130 addNaDetails(result, compName); 131 result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1", 132 "NOT APPLICABLE [AS-EJB] : bean-pool element not defined")); 133 } 134 }catch(Exception ex){ 135 addErrorDetails(result, compName); 136 result.addErrorDetails(smh.getLocalString 137 (getClass().getName() + ".notRun", 138 "NOT RUN [AS-EJB] : Could not create an descriptor object")); 139 } 140 return result; 141 } 142 } | Popular Tags |