1 23 24 25 package com.sun.enterprise.tools.verifier.tests.web.runtime; 26 27 28 import com.sun.enterprise.tools.verifier.tests.web.WebTest; 29 import com.sun.enterprise.tools.verifier.tests.web.WebCheck; 30 import java.util.*; 31 import com.sun.enterprise.deployment.*; 32 import com.sun.enterprise.tools.verifier.*; 33 import com.sun.enterprise.tools.verifier.tests.*; 34 import com.sun.enterprise.deployment.runtime.web.*; 35 36 41 42 public class ASServlet extends WebTest implements WebCheck { 43 44 public Result check(WebBundleDescriptor descriptor) { 45 46 Result result = getInitializedResult(); 47 ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor(); 48 49 String servletName; 51 String prinName; 52 boolean oneFailed = false; 53 54 try{ 55 Float runtimeSpecVersion = getRuntimeSpecVersion(); 56 Servlet[] servlets = (descriptor.getSunDescriptor()).getServlet(); 57 if (servlets !=null && servlets.length > 0){ 58 for (int rep=0; rep<servlets.length; rep++ ){ 59 servletName=servlets[rep].getServletName(); 65 if(validServletName(servletName,descriptor)){ 66 67 addGoodDetails(result, compName); 68 result.passed(smh.getLocalString 69 (getClass().getName() + ".passed", 70 "PASSED [AS-WEB servlet] servlet-name [ {0} ] properly defined in the war file.", 71 new Object [] {servletName})); 72 73 }else{ 74 75 addErrorDetails(result, compName); 76 result.failed(smh.getLocalString 77 (getClass().getName() + ".failed", 78 "FAILED [AS-WEB servlet] servlet-name [ {0} ] is not a valid, either empty or not defined in web.xml.", 79 new Object [] {servletName})); 80 oneFailed = true; 81 82 } 83 prinName=servlets[rep].getPrincipalName(); 84 if(prinName != null && ! "".equals(prinName)){ 85 addGoodDetails(result, compName); 86 result.passed(smh.getLocalString 87 (getClass().getName() + ".passed1", 88 "PASSED [AS-WEB servlet] principal-name [ {0} ] properly defined in the war file.", 89 new Object [] {prinName})); 90 }else{ 91 if (runtimeSpecVersion.compareTo(new Float ("2.4")) <0 ){ 92 result.failed(smh.getLocalString 93 (getClass().getName() + ".failed1", 94 "FAILED [AS-WEB servlet ] principal-name [ {0} ] cannot be an empty string.", 95 new Object [] {prinName})); 96 oneFailed = true; 97 }else{ 98 addNaDetails(result, compName); 99 result.notApplicable(smh.getLocalString 100 (getClass().getName() + ".notApplicable1", 101 "NOT APPLICABLE [AS-WEB servlet] principal-name not defined", 102 new Object [] {descriptor.getName()})); 103 } 104 105 } 106 107 } 108 }else{ 109 addNaDetails(result, compName); 110 result.notApplicable(smh.getLocalString 111 (getClass().getName() + ".notApplicable", 112 "NOT APPLICABLE [AS-WEB sun-web-app] servlet element(s) not defined in the web archive [ {0} ].", 113 new Object [] {descriptor.getName()})); 114 return result; 115 } 116 117 if (oneFailed) 118 { 119 result.setStatus(Result.FAILED); 120 } else { 121 addGoodDetails(result, compName); 122 result.passed 123 (smh.getLocalString 124 (getClass().getName() + ".passed2", 125 "PASSED [AS-WEB sun-web-app] servlet element(s) are valid within the web archive [ {0} ] .", 126 new Object [] {descriptor.getName()} )); 127 } 128 }catch(Exception ex){ 129 oneFailed = true; 130 addErrorDetails(result, compName); 131 result.failed(smh.getLocalString 132 (getClass().getName() + ".failed2", 133 "FAILED [AS-WEB sun-web-app] could not create the servlet object")); 134 } 135 return result; 136 } 137 138 boolean validServletName(String servletName, WebBundleDescriptor descriptor){ 139 boolean valid=false; 140 if (servletName != null && servletName.length() != 0) { 141 Set servlets = descriptor.getServletDescriptors(); 142 Iterator itr = servlets.iterator(); 143 while (itr.hasNext()) { 145 WebComponentDescriptor servlet = (WebComponentDescriptor) itr.next(); 147 String thisServletName = servlet.getCanonicalName(); 148 if (servletName.equals(thisServletName)) { 149 valid = true; 150 break; 151 } 152 } 153 154 } 155 return valid; 156 } 157 } 158 | Popular Tags |