KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > ejb > base > sfsb > util > EJBServerConfigLookup


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  * EJBServerConfigLookup.java
26  *
27  * Created on January 5, 2004, 4:13 PM
28  */

29
30 package com.sun.ejb.base.sfsb.util;
31
32 import java.util.logging.Logger JavaDoc;
33 import java.util.Properties JavaDoc;
34 import com.sun.logging.LogDomains;
35
36 import com.sun.enterprise.config.ConfigContext;
37 import com.sun.enterprise.config.ConfigException;
38
39 import com.sun.enterprise.config.serverbeans.Applications;
40 import com.sun.enterprise.config.serverbeans.AvailabilityService;
41 import com.sun.enterprise.config.serverbeans.Cluster;
42 import com.sun.enterprise.config.serverbeans.ClusterHelper;
43 import com.sun.enterprise.config.serverbeans.Config;
44 import com.sun.enterprise.config.serverbeans.Domain;
45 import com.sun.enterprise.config.serverbeans.EjbContainerAvailability;
46 import com.sun.enterprise.config.serverbeans.EjbModule;
47 import com.sun.enterprise.config.serverbeans.J2eeApplication;
48 import com.sun.enterprise.config.serverbeans.Server;
49 import com.sun.enterprise.config.serverbeans.ServerHelper;
50 import com.sun.enterprise.config.serverbeans.ServerBeansFactory;
51
52 import com.sun.enterprise.deployment.Application;
53 import com.sun.enterprise.deployment.EjbDescriptor;
54 import com.sun.enterprise.deployment.runtime.IASEjbExtraDescriptors;
55
56 import com.sun.enterprise.server.ApplicationServer;
57 import com.sun.enterprise.server.ServerContext;
58
59 /**
60  *
61  * @author lwhite
62  */

63 public class EJBServerConfigLookup {
64     
65     /**
66     * The default store-pool-jndi-name (used by Ejb Container for
67     * Stateful Session Bean checkpointing and passivation to HADB
68     */

69     protected final String JavaDoc DEFAULT_STORE_POOL_JNDI_NAME = "jdbc/hastore";
70     
71     /**
72     * The default sfsb-ha-persistence-type (used by Ejb Container for
73     * Stateful Session Bean checkpointing and passivation to HADB
74     */

75     protected final String JavaDoc DEFAULT_SFSB_HA_PERSISTENCE_TYPE = "file";
76
77     /**
78     * The default sfsb-non-ha-persistence-type (used by Ejb Container for
79     * Stateful Session Bean checkpointing and passivation to HADB
80     */

81     protected final String JavaDoc DEFAULT_SFSB_NON_HA_PERSISTENCE_TYPE = "file";
82     
83     /**
84     * The ejbDescriptor
85     */

86     protected EjbDescriptor _ejbDescriptor = null;
87     protected boolean _haEnabled = false;
88     
89     /**
90     * The config context passed in via constructor
91     * used when a dynamic config context is needed
92     * rather than usual run-time config context e.g. deployment
93     */

94     protected ConfigContext _configContext = null;
95
96     /** Creates a new instance of EJBServerConfigLookup */
97     public EJBServerConfigLookup() {
98         if (_logger == null) {
99             _logger = LogDomains.getLogger(LogDomains.EJB_LOGGER);
100         }
101     }
102         
103     /** Creates a new instance of EJBServerConfigLookup */
104     public EJBServerConfigLookup(EjbDescriptor ejbDescriptor) {
105         this();
106         _ejbDescriptor = ejbDescriptor;
107     }
108     
109     /** Creates a new instance of EJBServerConfigLookup */
110     public EJBServerConfigLookup(EjbDescriptor ejbDescriptor, ConfigContext configContext) {
111         this(ejbDescriptor);
112         _configContext = configContext;
113     }
114     
115     /**
116      * is monitoring enabled
117      */

118     protected static boolean _isDebugMonitoringEnabled = false;
119     
120     static
121     {
122             _isDebugMonitoringEnabled = checkDebugMonitoringEnabled();
123     }
124     
125     /**
126      * Is (any) monitoring enabled -- private or public
127      * Statistics gathering is based on this value
128      */

129     public static boolean isMonitoringEnabled() {
130         //return (isDebugMonitoringEnabled() || isPublicMonitoringEnabled());
131
return isDebugMonitoringEnabled();
132     }
133     
134     /**
135      * Is private (internal) monitoring enabled
136      */

137     public static boolean isDebugMonitoringEnabled() {
138         return _isDebugMonitoringEnabled;
139     }
140     
141     /**
142     * Get the availability-enabled from domain.xml.
143     * return false if not found
144     */

145     public boolean getAvailabilityEnabledFromConfig() {
146         _logger.finest("in EJBServerConfigLookup>>getAvailabilityEnabledFromConfig");
147         AvailabilityService as = this.getAvailabilityService();
148         if(as == null) {
149             _logger.fine("AvailabilityService was not defined - check domain.xml");
150             return false;
151         }
152         return as.isAvailabilityEnabled();
153     }
154     
155     /**
156     * Get the availability-service element from domain.xml.
157     * return null if not found
158     */

159     protected AvailabilityService getAvailabilityService() {
160         Config configBean = this.getConfigBean();
161         if(configBean == null) {
162             return null;
163         }
164         return configBean.getAvailabilityService();
165     }
166     
167     /**
168     * Get the ServerContext for this server
169     * return null if not found
170     */

171     protected ServerContext getServerContext() {
172         return ApplicationServer.getServerContext();
173     }
174
175     /**
176     * Get the ConfigContext for this server
177     * return null if not found
178     */

179     protected ConfigContext getConfigContext() {
180         ServerContext serverCtx = this.getServerContext();
181         if(serverCtx == null) {
182             return null;
183         }
184         return serverCtx.getConfigContext();
185     }
186     
187     /**
188     * Get the ConfigContext for this server
189     * return null if not found
190     */

191     protected ConfigContext getConfigContextDynamic() {
192         if (_configContext != null) {
193             return _configContext;
194         } else {
195             return getConfigContext();
196         }
197     }
198
199     /**
200     * Get the config element from domain.xml.
201     * return null if not found
202     */

203     private Config getConfigBean() {
204         Config configBean = null;
205         ServerContext serverCtx = ApplicationServer.getServerContext();
206         ConfigContext configCtx = serverCtx.getConfigContext();
207         try {
208             configBean = ServerBeansFactory.getConfigBean(configCtx);
209         } catch (ConfigException ex) {}
210
211         return configBean;
212     }
213     
214     /**
215     * Get the applications element from domain.xml.
216     * return null if not found
217     */

218     private Applications getApplicationsBean() {
219         Applications applicationsBean = null;
220         Domain domainBean = null;
221         /*
222         ServerContext serverCtx = ApplicationServer.getServerContext();
223         ConfigContext configCtx = serverCtx.getConfigContext();
224          */

225         ConfigContext configCtx = this.getConfigContext();
226         try {
227             domainBean = ServerBeansFactory.getDomainBean(configCtx);
228             if(domainBean != null) {
229                 applicationsBean = domainBean.getApplications();
230             }
231         } catch (ConfigException ex) {}
232
233         return applicationsBean;
234     }
235     
236     /**
237     * Get the applications element from domain.xml.
238     * return null if not found
239     */

240     private Applications getApplicationsBeanDynamic() {
241         Applications applicationsBean = null;
242         Domain domainBean = null;
243         ConfigContext configCtx = this.getConfigContextDynamic();
244         try {
245             domainBean = ServerBeansFactory.getDomainBean(configCtx);
246             if(domainBean != null) {
247                 applicationsBean = domainBean.getApplications();
248             }
249         } catch (ConfigException ex) {}
250
251         return applicationsBean;
252     }
253     
254     /**
255     * Get the server element from domain.xml.
256     * return null if not found
257     */

258     private Server getServerBean() {
259         Server serverBean = null;
260         /*
261         ServerContext serverCtx = ApplicationServer.getServerContext();
262         ConfigContext configCtx = serverCtx.getConfigContext();
263          */

264         ConfigContext configCtx = this.getConfigContext();
265         try {
266             serverBean = ServerBeansFactory.getServerBean(configCtx);
267         } catch (ConfigException ex) {}
268
269         return serverBean;
270     }
271     
272     /**
273     * Get the server name from domain.xml.
274     * return null if not found
275     */

276     private String JavaDoc getServerName() {
277         String JavaDoc result = null;
278         Server serverBean = this.getServerBean();
279         if(serverBean != null) {
280             result = serverBean.getName();
281         }
282         return result;
283     }
284     
285     /**
286     * Get the cluster name from domain.xml for this server.
287     * return null if not found
288     */

289     public String JavaDoc getClusterName() {
290         String JavaDoc result = null;
291         /*
292         ServerContext serverCtx = ApplicationServer.getServerContext();
293         ConfigContext configCtx = serverCtx.getConfigContext();
294          */

295         ConfigContext configCtx = this.getConfigContext();
296         
297         String JavaDoc serverName = this.getServerName();
298         if(serverName == null) {
299             return result;
300         }
301         boolean isClustered = false;
302         try {
303             isClustered = ServerHelper.isServerClustered(configCtx, serverName);
304         } catch (ConfigException ex) {}
305         if(!isClustered) {
306             result = serverName + "_nc"; //non-clustered example: server1_nc
307
return result;
308         }
309         Cluster cluster = null;
310         try {
311             cluster = ClusterHelper.getClusterForInstance(configCtx, serverName);
312         } catch (ConfigException ex) {}
313         if(cluster != null) {
314             result = cluster.getName();
315         }
316         return result;
317     }
318     
319     /**
320     * Get the availability-enabled from domain.xml.
321     * This takes into account:
322     * global
323     * ejb-container-availability
324     * j2ee app if not stand-alone
325     * ejb-module (if stand-alone)
326     * return false if not found
327     * FIXME: need to add taking the availability-enabled of the bean itself
328     */

329     public boolean calculateEjbAvailabilityEnabledFromConfig() {
330         _logger.finest("in EJBServerConfigLookup>>calculateEjbAvailabilityEnabledFromConfig");
331         boolean isVirtual = this.isVirtualApplication();
332         String JavaDoc appName = this.getApplicationName();
333         
334         boolean globalAvailability =
335             this.getAvailabilityEnabledFromConfig();
336         boolean ejbContainerAvailability =
337             this.getEjbContainerAvailabilityEnabledFromConfig(globalAvailability);
338         boolean ejbDescriptorAvailability = true;
339 //System.out.println("EJBServerConfigLookup: app isVirtual=" + isVirtual);
340
if (isVirtual) {
341             boolean ejbModuleAvailability =
342                 this.getEjbModuleAvailability(appName, ejbContainerAvailability);
343             ejbDescriptorAvailability =
344                 this.getAvailabilityEnabledFromEjbDescriptor(ejbModuleAvailability);
345 //System.out.println("virtual: ejbModuleAvailability= " + ejbModuleAvailability);
346
//System.out.println("virtual: ejbDescriptorAvailability= " + ejbDescriptorAvailability);
347
_haEnabled = globalAvailability
348                 && ejbContainerAvailability
349                 && ejbModuleAvailability
350                 && ejbDescriptorAvailability;
351         } else {
352             boolean j2eeApplicationAvailability =
353                 this.getJ2eeApplicationAvailability(appName, ejbContainerAvailability);
354             ejbDescriptorAvailability =
355                 this.getAvailabilityEnabledFromEjbDescriptor(j2eeApplicationAvailability);
356 //System.out.println("non-virtual: j2eeApplicationAvailability= " + j2eeApplicationAvailability);
357
//System.out.println("non-virtual: ejbDescriptorAvailability= " + ejbDescriptorAvailability);
358
_haEnabled = globalAvailability
359                 && ejbContainerAvailability
360                 && j2eeApplicationAvailability
361                 && ejbDescriptorAvailability;
362         }
363 //System.out.println("_haEnabled returned = " + _haEnabled);
364
return _haEnabled;
365     }
366
367     public String JavaDoc getPersistenceStoreType() {
368     return (_haEnabled)
369         ? getSfsbHaPersistenceTypeFromConfig()
370         : getSfsbNonHaPersistenceTypeFromConfig();
371     }
372
373     /**
374     * return whether the bean is a "virtual" app - i.e. a stand-alone
375     * ejb module
376     */

377     private boolean isVirtualApplication() {
378         Application application = _ejbDescriptor.getApplication();
379         return application.isVirtual();
380     }
381     
382     /**
383     * return the name of the application to which the bean belongs
384     * it will be the j2ee app name if the bean is part of a j2ee app
385     * it will be the ejb module name if the bean is a stand-alone ejb module
386     */

387     private String JavaDoc getApplicationName() {
388         Application application = _ejbDescriptor.getApplication();
389         return application.getRegistrationName();
390     }
391     
392     /**
393     * Get the availability-enabled for the ejb container from domain.xml.
394     * return inherited global availability-enabled if not found
395     */

396     public boolean getEjbContainerAvailabilityEnabledFromConfig() {
397         boolean globalAvailabilityEnabled = this.getAvailabilityEnabledFromConfig();
398         _logger.finest("in EJBServerConfigLookup>>getEjbContainerAvailabilityEnabledFromConfig");
399         EjbContainerAvailability eas = this.getEjbContainerAvailability();
400         if(eas == null) {
401             _logger.fine("EjbContainerAvailability was not defined - check domain.xml");
402             return globalAvailabilityEnabled;
403         }
404         
405         String JavaDoc easString = eas.getAvailabilityEnabled();
406         Boolean JavaDoc bool = this.toBoolean(easString);
407         if(bool == null) {
408             return globalAvailabilityEnabled;
409         } else {
410             return bool.booleanValue();
411         }
412     }
413     
414     /**
415     * Get the availability-enabled for the ejb container from domain.xml.
416     * return inherited global availability-enabled if not found
417     */

418     public boolean getEjbContainerAvailabilityEnabledFromConfig(boolean inheritedValue) {
419         _logger.finest("in EJBServerConfigLookup>>getEjbContainerAvailabilityEnabledFromConfig");
420         EjbContainerAvailability eas = this.getEjbContainerAvailability();
421         if(eas == null) {
422             _logger.fine("EjbContainerAvailability was not defined - check domain.xml");
423             return inheritedValue;
424         }
425         
426         String JavaDoc easString = eas.getAvailabilityEnabled();
427         Boolean JavaDoc bool = this.toBoolean(easString);
428         if(bool == null) {
429             return inheritedValue;
430         } else {
431             return bool.booleanValue();
432         }
433     }
434
435     /**
436     * Get the deployed ejb module from domain.xml based on the name
437     * return null if not found
438     * @param name
439     */

440     private EjbModule getEjbModuleByName(String JavaDoc name) {
441         EjbModule result = null;
442         Applications applicationsBean = this.getApplicationsBeanDynamic();
443         if(applicationsBean == null) {
444             return null;
445         }
446         return applicationsBean.getEjbModuleByName(name);
447     }
448     
449     /**
450     * return availability-enabled for the deployed ejb module
451     * from domain.xml based on the name
452     * return inheritedValue if module not found or module availability
453     * is not defined
454     * @param name
455     * @param inheritedValue
456     */

457     private boolean getEjbModuleAvailability(String JavaDoc name, boolean inheritedValue) {
458         EjbModule ejbModule =
459             this.getEjbModuleByName(name);
460     //FIXME remove after testing
461
//System.out.println("EJBServerConfigLookup>>getEjbModuleAvailability ejbModule = " + ejbModule);
462
if(ejbModule == null) {
463             return false;
464             //FIXME remove after testing
465
//return inheritedValue;
466
}
467         /* FIXME: remove after testing
468         String moduleString = ejbModule.getAvailabilityEnabled();
469         Boolean bool = this.toBoolean(moduleString);
470         if(bool == null) {
471             return inheritedValue;
472         } else {
473             return bool.booleanValue();
474         }
475          */

476         return ejbModule.isAvailabilityEnabled();
477     }
478
479     /**
480     * Get the deployed j2ee application from domain.xml based on the appName
481     * return null if not found
482     * @param appName
483     */

484     private J2eeApplication getJ2eeApplicationByName(String JavaDoc appName) {
485         J2eeApplication result = null;
486         Applications applicationsBean = this.getApplicationsBeanDynamic();
487         if(applicationsBean == null) {
488             return null;
489         }
490         return applicationsBean.getJ2eeApplicationByName(appName);
491     }
492     
493     /**
494     * return availability-enabled for the deployed j2ee application
495     * from domain.xml based on the app name
496     * return inheritedValue if module not found or j2ee application
497     * availability is not defined
498     * @param appName
499     * @param inheritedValue
500     */

501     private boolean getJ2eeApplicationAvailability(String JavaDoc appName, boolean inheritedValue) {
502         J2eeApplication j2eeApp =
503             this.getJ2eeApplicationByName(appName);
504 //FIXME remove after testing
505
//System.out.println("EJBServerConfigLookup>>getJ2eeApplicationAvailability j2eeApp = " + j2eeApp);
506
if(j2eeApp == null) {
507             return false;
508             //FIXME remove after testing
509
//return inheritedValue;
510
}
511         /* FIXME remove after testing
512         String appString = j2eeApp.getAvailabilityEnabled();
513         Boolean bool = this.toBoolean(appString);
514         if(bool == null) {
515             return inheritedValue;
516         } else {
517             return bool.booleanValue();
518         }
519          */

520         return j2eeApp.isAvailabilityEnabled();
521     }
522
523     /**
524     * return the ejb-container-availability element from domain.xml
525     */

526     private EjbContainerAvailability getEjbContainerAvailability() {
527         AvailabilityService availabilityServiceBean = this.getAvailabilityService();
528         if(availabilityServiceBean == null) {
529             return null;
530         }
531         return availabilityServiceBean.getEjbContainerAvailability();
532     }
533     
534     /**
535     * Get the availability-enabled for the bean from sun-ejb-jar.xml.
536     * return true if not found
537     */

538     public boolean getAvailabilityEnabledFromEjbDescriptor() {
539         _logger.finest("in EJBServerConfigLookup>>getAvailabilityEnabledFromEjbDescriptor");
540         IASEjbExtraDescriptors extraDescriptors =
541             _ejbDescriptor.getIASEjbExtraDescriptors();
542         if(extraDescriptors == null) {
543             return true;
544         }
545         String JavaDoc availabilityEnabledString =
546             extraDescriptors.getAttributeValue(extraDescriptors.AVAILABILITY_ENABLED);
547         
548         Boolean JavaDoc bool = this.toBoolean(availabilityEnabledString);
549         if(bool == null) {
550             return true;
551         } else {
552             return bool.booleanValue();
553         }
554         
555     }
556     
557     /**
558     * Get the availability-enabled for the bean from sun-ejb-jar.xml.
559     * return defaultValue if not found
560     */

561     public boolean getAvailabilityEnabledFromEjbDescriptor(boolean inheritedValue) {
562         _logger.finest("in EJBServerConfigLookup>>getAvailabilityEnabledFromEjbDescriptor");
563         IASEjbExtraDescriptors extraDescriptors =
564             _ejbDescriptor.getIASEjbExtraDescriptors();
565         if(extraDescriptors == null) {
566             return inheritedValue;
567         }
568         String JavaDoc availabilityEnabledString =
569             extraDescriptors.getAttributeValue(extraDescriptors.AVAILABILITY_ENABLED);
570         
571         Boolean JavaDoc bool = this.toBoolean(availabilityEnabledString);
572         if(bool == null) {
573             return inheritedValue;
574         } else {
575             return bool.booleanValue();
576         }
577         
578     }
579     
580     /**
581     * Get the store-pool-jndi-name from domain.xml.
582     * This is the store-pool-name in <availability-service> element
583     * it represents the default for both web & ejb container
584     * return DEFAULT_STORE_POOL_JNDI_NAME if not found
585     */

586     public String JavaDoc getStorePoolJndiNameFromConfig() {
587         _logger.finest("in ServerConfigLookup>>getStorePoolJndiNameFromConfig");
588         String JavaDoc result = DEFAULT_STORE_POOL_JNDI_NAME;
589         AvailabilityService as = this.getAvailabilityService();
590         if(as == null) {
591             return result;
592         }
593         String JavaDoc storePoolJndiName = as.getStorePoolName();
594         if(storePoolJndiName != null) {
595             result = storePoolJndiName;
596         }
597         return result;
598     }
599     
600     /**
601     * Get the sfsb-store-pool-name from domain.xml.
602     * return DEFAULT_STORE_POOL_JNDI_NAME if not found
603     */

604     public String JavaDoc getHaStorePoolJndiNameFromConfig() {
605         _logger.finest("in EJBServerConfigLookup>>getHaStorePoolJndiNameFromConfig");
606         //String result = DEFAULT_STORE_POOL_JNDI_NAME;
607
String JavaDoc result = this.getStorePoolJndiNameFromConfig();
608         EjbContainerAvailability ejbContainerAvailabilityBean =
609             this.getEjbContainerAvailability();
610         if(ejbContainerAvailabilityBean == null) {
611             return result;
612         }
613         String JavaDoc result2 = ejbContainerAvailabilityBean.getSfsbStorePoolName();
614         if(result2 != null) {
615             result = result2;
616         }
617         return result;
618     }
619     
620     /**
621     * Get the sfsb-ha-persistence-type from domain.xml.
622     * return DEFAULT_SFSB_HA_PERSISTENCE_TYPE if not found
623     */

624     public String JavaDoc getSfsbHaPersistenceTypeFromConfig() {
625         _logger.finest("in EJBServerConfigLookup>>getSfsbHaPersistenceTypeFromConfig");
626         String JavaDoc result = DEFAULT_SFSB_HA_PERSISTENCE_TYPE;
627         EjbContainerAvailability ejbContainerAvailabilityBean =
628             this.getEjbContainerAvailability();
629         if(ejbContainerAvailabilityBean == null) {
630             return result;
631         }
632         String JavaDoc result2 = ejbContainerAvailabilityBean.getSfsbHaPersistenceType();
633         if(result2 != null) {
634             result = result2;
635         }
636         return result;
637     }
638     
639     /**
640     * Get the sfsb-non-ha-persistence-type from domain.xml.
641     * return DEFAULT_SFSB_NON_HA_PERSISTENCE_TYPE if not found
642     */

643     public String JavaDoc getSfsbNonHaPersistenceTypeFromConfig() {
644         _logger.finest("in EJBServerConfigLookup>>getSfsbNonHaPersistenceTypeFromConfig");
645         String JavaDoc result = DEFAULT_SFSB_NON_HA_PERSISTENCE_TYPE;
646         EjbContainerAvailability ejbContainerAvailabilityBean =
647             this.getEjbContainerAvailability();
648         if(ejbContainerAvailabilityBean == null) {
649             return result;
650         }
651         //String result2 = ejbContainerAvailabilityBean.getSfsbNonHaPersistenceType();
652
String JavaDoc result2 = ejbContainerAvailabilityBean.getSfsbPersistenceType();
653         if(result2 != null) {
654             result = result2;
655         }
656         return result;
657     }
658     
659     public static boolean checkDebugMonitoringEnabled() {
660         boolean result = false;
661     try
662         {
663             Properties JavaDoc props = System.getProperties();
664             String JavaDoc str=props.getProperty("MONITOR_EJB_CONTAINER");
665             if(null!=str) {
666                 if( str.equalsIgnoreCase("TRUE"))
667                     result=true;
668             }
669         } catch(Exception JavaDoc e)
670         {
671             //do nothing just return false
672
}
673         return result;
674     }
675
676     /**
677     * convert the input value to the appropriate Boolean value
678     * if input value is null, return null
679     */

680     protected Boolean JavaDoc toBoolean(String JavaDoc value){
681         if(value == null) return null;
682         
683         if (value.equalsIgnoreCase("true"))
684             return Boolean.TRUE;
685         if (value.equalsIgnoreCase("yes"))
686             return Boolean.TRUE;
687         if (value.equalsIgnoreCase("on") )
688             return Boolean.TRUE;
689         if (value.equalsIgnoreCase("1"))
690             return Boolean.TRUE;
691     
692         return Boolean.FALSE;
693     }
694     
695     /**
696      * The logger to use for logging ALL web container related messages.
697      */

698     private static Logger JavaDoc _logger = null;
699     
700 }
701
Popular Tags