KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > enterprise > tools > verifier > tests > web > runtime > ASServlet


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the License). You may not use this file except in
5  * compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * https://glassfish.dev.java.net/public/CDDLv1.0.html or
9  * glassfish/bootstrap/legal/CDDLv1.0.txt.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * Header Notice in each file and include the License file
15  * at glassfish/bootstrap/legal/CDDLv1.0.txt.
16  * If applicable, add the following below the CDDL Header,
17  * with the fields enclosed by brackets [] replaced by
18  * you own identifying information:
19  * "Portions Copyrighted [year] [name of copyright owner]"
20  *
21  * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
22  */

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 /* servlet
37  * servlet-name
38  * principal-name ?
39  * webservice-endpoint *
40  */

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[] servlets=null;//######
50
String JavaDoc servletName;
51         String JavaDoc prinName;
52     boolean oneFailed = false;
53
54         try{
55             Float JavaDoc 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();//######
60
// <addition> srini@sun.com Bug : 4699658
61
//prinName=servlets[rep].getPrincipalName();//######
62
// prinName=servlets[rep].getPrincipalName().trim();//######
63
// </addition> Bug : 4699658
64

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 JavaDoc[] {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 JavaDoc[] {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 JavaDoc[] {prinName}));
90                       }else{
91                           if (runtimeSpecVersion.compareTo(new Float JavaDoc("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 JavaDoc[] {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 JavaDoc[] {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 JavaDoc[] {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 JavaDoc[] {descriptor.getName()} ));
127         }
128        }catch(Exception JavaDoc 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 JavaDoc 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                     // test the servlets in this .war
144
while (itr.hasNext()) {
145                         //ServletDescriptor servlet = (ServletDescriptor) itr.next();
146
WebComponentDescriptor servlet = (WebComponentDescriptor) itr.next();
147                         String JavaDoc 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