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 ASEjbBPPoolResizeQty 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 poolResizeQty = null; 56 String maxPoolSize = null; 57 boolean oneFailed = false; 58 59 try{ 60 pool = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool"); 61 if (pool!=null) 62 { 63 poolResizeQty = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool/resize-quantity"); 64 try{ 65 if (poolResizeQty!=null) 66 { 67 poolResizeQty = poolResizeQty.trim(); 68 if (poolResizeQty.length()==0) 69 { 70 addErrorDetails(result, compName); 71 result.failed(smh.getLocalString(getClass().getName()+".failed", 72 "FAILED [AS-EJB bean-pool] : resize-quantity cannot be empty")); 73 }else 74 { 75 int resizeQtyVal = Integer.valueOf(poolResizeQty).intValue(); 76 if (resizeQtyVal < 0 || resizeQtyVal > Integer.MAX_VALUE) 77 { 78 addErrorDetails(result, compName); 79 result.failed(smh.getLocalString(getClass().getName()+".failed1", 80 "FAILED [AS-EJB bean-pool] : resize-quantity cannot be [ {0} ]. It should be between 0 and {1}", 81 new Object []{new Integer (poolResizeQty),new Integer (Integer.MAX_VALUE)})); 82 }else 83 { 84 int poolSizeVal=0; 85 maxPoolSize = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool/max-pool-size"); 86 if (maxPoolSize!=null) 87 { 88 try{ 89 poolSizeVal = Integer.valueOf(maxPoolSize).intValue(); 90 }catch(NumberFormatException nfe){ 91 oneFailed = true; 92 addErrorDetails(result, compName); 93 result.failed(smh.getLocalString(getClass().getName()+".failed2", 94 "FAILED [AS-EJB bean-pool] : The value [ {0} ] for max-pool-size is not a valid Integer number",new Object []{maxPoolSize})); 95 96 } 97 if (!oneFailed){ 98 if (resizeQtyVal <= poolSizeVal) 99 { 100 addGoodDetails(result, compName); 101 result.passed(smh.getLocalString(getClass().getName()+".passed", 102 "PASSED [AS-EJB bean-pool] : resize-quantity is [ {0} ] and is less-than/equal to max-pool-size[{1}]", 103 new Object []{new Integer (poolResizeQty), new Integer (maxPoolSize)})); 104 } 105 else 106 { 107 addWarningDetails(result, compName); 108 result.warning(smh.getLocalString(getClass().getName()+".warning", 109 "WARNING [AS-EJB bean-pool] : resize-quantity [ {0} ] is greater than max-pool-size [{1}]",new Object []{new Integer (poolResizeQty), new Integer (maxPoolSize)})); 110 } 111 } 112 }else 113 { 114 addGoodDetails(result, compName); 115 result.passed(smh.getLocalString(getClass().getName()+".passed1", 116 "PASSED [AS-EJB bean-pool] : resize-quantity is [ {0} ]", new Object []{new Integer (poolResizeQty)})); 117 } 118 } 119 } 120 }else { 122 addNaDetails(result, compName); 123 result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable", 124 "NOT APPLICABLE [AS-EJB bean-pool] : resize-quantity element not defined")); 125 } 126 }catch(NumberFormatException nfex){ 127 Verifier.debug(nfex); 128 addErrorDetails(result, compName); 129 result.failed(smh.getLocalString(getClass().getName()+".failed3", 130 "FAILED [AS-EJB bean-pool] : The value [ {0} ] for resize-quantity is not a valid Integer number", 131 new Object []{poolResizeQty})); 132 } 133 }else { 135 addNaDetails(result, compName); 136 result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1", 137 "NOT APPLICABLE [AS-EJB] : bean-pool element not defined")); 138 } 139 }catch(Exception ex) 140 { 141 addErrorDetails(result, compName); 142 result.addErrorDetails(smh.getLocalString 143 (getClass().getName() + ".notRun", 144 "NOT RUN [AS-EJB] : Could not create the descriptor object")); 145 } 146 return result; 147 } 148 } 149 | Popular Tags |