1 23 24 package com.sun.enterprise.tools.verifier.tests.web.runtime; 25 26 27 import com.sun.enterprise.tools.verifier.tests.web.WebTest; 28 import com.sun.enterprise.tools.verifier.tests.web.WebCheck; 29 import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor; 30 import com.sun.enterprise.tools.verifier.Result; 31 import com.sun.enterprise.deployment.runtime.common.EjbRef; 32 import com.sun.enterprise.deployment.WebBundleDescriptor; 33 34 37 39 public class ASWebEjbRef extends WebTest implements WebCheck { 40 41 public Result check(WebBundleDescriptor descriptor) { 42 Result result = getInitializedResult(); 43 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 44 boolean oneFailed = false; 45 String refName; 46 EjbRef[] ejbRefs = (descriptor.getSunDescriptor()).getEjbRef(); 47 if (ejbRefs!=null && ejbRefs.length > 0) { 48 for (int rep=0; rep<ejbRefs.length; rep++ ) { 49 refName = ejbRefs[rep].getEjbRefName(); 50 if (validEjbRefName(refName,descriptor)) { 51 addGoodDetails(result, compName); 52 result.passed(smh.getLocalString 53 (getClass().getName() + ".passed", 54 "PASSED [AS-WEB ejb-ref] ejb-ref-name [ {0} ] properly defined in the war file.", 55 new Object [] {refName})); 56 } else { 57 oneFailed = true; 58 addErrorDetails(result, compName); 59 result.failed(smh.getLocalString 60 (getClass().getName() + ".failed", 61 "FAILED [AS-WEB ejb-ref] ejb-ref-name [ {0} ] is not valid, either empty or not defined in web.xml.", 62 new Object [] {refName})); 63 } 64 } 65 } else { 66 addNaDetails(result, compName); 67 result.notApplicable(smh.getLocalString 68 (getClass().getName() + ".notApplicable", 69 "NOT APPLICABLE [AS-WEB sun-web-app] ejb-ref element(s) not defined in the web archive [ {0} ].", 70 new Object [] {descriptor.getName()})); 71 return result; 72 } 73 if (oneFailed) 74 { 75 result.setStatus(Result.FAILED); 76 } else { 77 addGoodDetails(result, compName); 78 result.passed 79 (smh.getLocalString 80 (getClass().getName() + ".passed2", 81 "PASSED [AS-WEB sun-web-app] ejb-ref element(s) defined are valid within the web archive [ {0} ].", 82 new Object [] {descriptor.getName()} )); 83 } 84 return result; 85 } 86 87 boolean validEjbRefName(String name,WebBundleDescriptor descriptor){ 88 boolean valid =true; 89 if(name !=null && name.length()!=0) { 90 try{ 91 descriptor.getEjbReferenceByName(name); 92 } 93 catch(IllegalArgumentException e){ 94 valid=false; 95 } 96 }else{ 97 valid=false; 98 } 99 return valid; 100 } 101 } 102 | Popular Tags |