Update of 
/cvsroot/xdoclet/xdoclet/modules/ibm/src/xdoclet/modules/ibm/websphere/web
In directory 
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9590/xdoclet/modules/ibm/src/xdoclet/modules/ibm/websphere/web

Modified Files:
        WebSphereWebXmlSubTask.java 
Log Message:
Documentation and ”old code” updated. Some old tags are marked as deprecated 
but kept in the code for backward compatibility. 
The new websphere tag attributes “websphere.bean.listenerPort” and 
“websphere.persistence.datasource” has changed names to 
“websphere.mdb.listenerPort” and “websphere.cmp.datasource” to better reflect 
their intended use.

Index: WebSphereWebXmlSubTask.java
===================================================================
RCS file: 
/cvsroot/xdoclet/xdoclet/modules/ibm/src/xdoclet/modules/ibm/websphere/web/WebSphereWebXmlSubTask.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** WebSphereWebXmlSubTask.java 7 Nov 2004 18:01:10 -0000       1.6
--- WebSphereWebXmlSubTask.java 15 Nov 2004 00:19:34 -0000      1.7
***************
*** 11,78 ****
  
  /**
!  * This class is responsible for generating the WebSphere specific deployment 
descriptors. It generates <i>
!  * ibm-web-bnd.xmi</i> and <i>ibm-web-ext.xmi</i> . The id attributes of 
various elements in the deployment descriptors
!  * and the <i>web.xml</i> file must be applied as a seperate step with the 
task &lt;WebSphereWebXmlIds/&gt; after the
!  * deployement descriptors have been generated. <p>
   *
!  * <i>ibm-web-bnd.xmi</i> is responsible for:</p>
!  * <ul>
!  *   <li> Binding EJB references in <code>web.xml</code> to a JNDI name in 
the local namespace</li>
!  *   <li> Binding resource references in <code>web.xml</code> to a JNDI name 
in the local namespace</li>
!  * </ul>
!  * <p>
   *
!  * <i>ibm-web-ext.xmi</i> contains IBM specific extensions to the web.xml 
file and is responsible for specifying the
!  * following:</p>
   * <ul>
!  *   <li> A <i>Reload Interval</i> . Every 'reload interval' seconds, the web 
application's files are checked and
!  *   reloaded if they have been modified</li>
!  *   <li> A flag specifying whether <i>Reloading</i> is enabled</li>
!  *   <li> The URI of an error page</li>
!  *   <li> Enabling or disabling <i>File Serving</i> . If enabled, the 
application is allowed to serve static file types
!  *   such as HTML and GIF. File serving can be disabled if, for example, the 
application contains only dynamic
!  *   components. The default value is true.</li>
!  *   <li> Enabling or disabling <i>Directory Browsing</i> . If enabled, the 
application may browse disk directories.
!  *   Directory browsing can be disabled if, for example, you want to protect 
data. The default value is true.</li>
!  *   <li> Enabling or disabling the serving of servlets by their classname. 
The default value is true</li>
!  *   <li> Association of responses with a given MIME type to a given target 
(servlet?); the idea being to either
!  *   transform or filter a response.</li>
!  *   <li> <i>Page List</i> configuration. Page lists allow servlets, which 
have been configured to utilise page list
!  *   support, to refer to resources by names which map onto URIs.</li>
!  *   <li> <i>JSP Attribute</i> configuration. To quote the IBM documentation 
"<i>JSP attributes are used by the servlet
!  *   that implements JSP processing behavior.</i> ". No doubt IBM have lots 
of undocumented parameters to the JSP
!  *   processing engine that can passed using this feature.</li>
!  *   <li> <i>File Serving Attribute</i> configuration. To quote the IBM 
documentation "<i>File-serving attributes are
!  *   used by the servlet that implements file-serving behavior.</i> ". 
Another means to pass undocumented parameters,
!  *   this time to the file serving servlet.</li>
!  *   <li> <i>Invoker Attribute</i> configuration. To quote the IBM 
documentation "<i>Invoker attributes are used by the
!  *   servlet that implements the invocation behavior.</i> ". <span style= 
"font-size: 70%">(I wonder if anyone at IBM
!  *   knows what can be configured here)</span> </li>
!  *   <li> <i>Servlet Cache</i> configuration.</li>
!  *   <li> An <i>Additional ClassPath</i> that will be used to reference 
resources outside of those specified in the
!  *   archive. <p>
!  *
!  *   The following help is taken from the IBM documentation:</p> <p>
!  *
!  *   <i>Specify the values relative to the root of the EAR file and separate 
the values with spaces. Absolute values
!  *   that reference files or directories on the hard drive are ignored. To 
specify classes that are not in JAR files but
!  *   are in the root of the EAR file, use a period and forward slash (./). 
Consider the following example directory
!  *   structure in which the file myapp.ear contains a Web module named 
mywebapp.war. Additional classes reside in
!  *   class1.jar and class2.zip. A class named xyz.class is not packaged in a 
JAR file but is in the root of the EAR
!  *   file.</i> </p> <p>
!  *
!  *   <i>myapp.ear/mywebapp.war<br/>
!  *   myapp.ear/class1.jar<br/>
!  *   myapp.ear/class2.zip<br/>
!  *   myapp.ear/xyz.class<br/>
!  *   </i> </p> <p>
!  *
!  *   <i>Specify <tt>class1.jar class2.zip ./</tt> as the value of the 
Additional classpath property. (Name only the
!  *   directory for .class files.)</i> </p> </li>
   * </ul>
!  *
   *
   * @author        <a href="mailto:[EMAIL PROTECTED]">Ed Ward</a>
!  * @author        <a href="mailto:magnuslarsson at 
users.sourceforge.net">Magnus Larsson</a>
   * @created       22 August 2002
   * @version       $Revision$
--- 11,42 ----
  
  /**
!  * Generates WebSphere specific deployment descriptors for Web modules. The 
following files are generated:
!  * ibm-web-bnd.xmi and ibm-web-ext.xmi. <p>
   *
!  * NOTE: Since the WebSphere specific deployment descriptors depend on that 
id's are set in the web.xml file you must
!  * genererate it with useIds set to true, e.g. <code>&lt;deploymentdescriptor 
useIds="true"/&gt;</code>. </p> <p>
   *
!  * This Ant task defines the following attributes (the rest of the attributes 
in the list below comes from its
!  * baseclass):
   * <ul>
!  *   <li> virtualHostName</li>
!  *   <li> reloadInterval</li>
!  *   <li> reloadingEnabled</li>
!  *   <li> defaultErrorPage</li>
!  *   <li> additionalClassPath</li>
!  *   <li> fileServingEnabled</li>
!  *   <li> directoryBrowsingEnabled</li>
!  *   <li> serveServletsByClassnameEnabled</li>
!  *   <li> preCompileJSPs</li>
!  *   <li> autoRequestEncoding</li>
!  *   <li> autoResponseEncoding</li>
!  *   <li> autoLoadFilters</li>
   * </ul>
!  * </p> NOTE: All attributes except "virtualHostName" are IBM specific 
WebSphere extensions to the web.xml file and are
!  * the same as the attributes that can be found in the IBM WSAD wizard 
(v5.1.2) for Web Deployment Descriptors (see tab
!  * "Extensions" and section "General")
   *
   * @author        <a href="mailto:[EMAIL PROTECTED]">Ed Ward</a>
!  * @author        <a href="mailto:ml at callista.se">Magnus Larsson</a>
   * @created       22 August 2002
   * @version       $Revision$
***************
*** 123,184 ****
  
      /**
!      * The virtual host name. Used by the container to locate external 
resources and EJBs required by a module or
!      * application. The value is not mandatory. "A virtual host is a 
configuration enabling a single host machine to
!      * resemble multiple host machines. This property allows you to bind the 
application to a virtual host in order to
!      * enable execution on that virtual host."
       */
!     private String  virtualHostName = "";
  
      /**
!      * A Reload Interval . Every 'reload interval' seconds, the web 
application's files are checked and reloaded if they
!      * have been modified. Specifying a value indicates that reloading is 
enabled and the reloadingEnabled flag in the
!      * deployment descriptor will be set 'true' accordingly.
       */
!     private String  reloadInterval = "";
  
      /**
!      * Specifies a file name for the default error page. If no other error 
page is specified in the application, this
!      * error page is used.
       */
      private String  defaultErrorPage = "";
  
      /**
!      * Specifies whether file serving is enabled. File serving allows the 
application to serve static file types, such
!      * as HTML and GIF. File serving can be disabled if, for example, the 
application contains only dynamic components.
!      * The default value is true.
       */
      private String  fileServingEnabled = "true";
  
      /**
!      * Specifies whether directory browsing is enabled. Directory browsing 
allows the application to browse disk
!      * directories. Directory browsing can be disabled if, for example, you 
want to protect data. The default value is
!      * true.
       */
      private String  directoryBrowsingEnabled = "true";
  
      /**
!      * Specifies whether a servlet can be served by requesting its class 
name. Usually, servlets are served only through
!      * a URI reference. The class name is the actual name of the servlet on 
disk. For example, a file named
!      * SnoopServlet.java compiles into SnoopServlet.class. (This is the class 
name.) SnoopServlet.class is normally
!      * invoked by specifying snoop in the URI. However, if Serve Servlets by 
Classname is enabled, the servlet is
!      * invoked by specifying SnoopServlet. The default value is true.
       */
      private String  serveServletsByClassnameEnabled = "true";
  
      /**
!      * Specifies an additional class path that will be used to reference 
resources outside of those specified in the
!      * archive.
       */
!     private String  additionalClassPath = "";
  
      public WebSphereWebXmlSubTask()
      {
      }
  
      /**
!      * Returns the virtual host name configuration paramater.
!      *
!      * @return
!      * @see      #virtualHostName
       */
      public String getVirtualHostName()
--- 87,157 ----
  
      /**
!      * @see   #setVirtualHostName()
       */
!     private String  virtualHostName = "default_host";
  
      /**
!      * @see   #setReloadInterval()
       */
!     private String  reloadInterval = "3";
  
      /**
!      * @see   #setReloadingEnabled()
!      */
!     private String  reloadingEnabled = "true";
! 
!     /**
!      * @see   #setDefaultErrorPage()
       */
      private String  defaultErrorPage = "";
  
      /**
!      * @see   #setAdditionalClassPath()
!      */
!     private String  additionalClassPath = "";
! 
!     /**
!      * @see   #setFileServingEnabled()
       */
      private String  fileServingEnabled = "true";
  
      /**
!      * @see   #setDirectoryBrowsingEnabled()
       */
      private String  directoryBrowsingEnabled = "true";
  
      /**
!      * @see   #setServeServletsByClassnameEnabled()
       */
      private String  serveServletsByClassnameEnabled = "true";
  
      /**
!      * @see   #setPreCompileJSPs()
       */
!     private String  preCompileJSPs = "true";
! 
!     /**
!      * @see   #setAutoRequestEncoding()
!      */
!     private String  autoRequestEncoding = "false";
! 
!     /**
!      * @see   #setAutoResponseEncoding()
!      */
!     private String  autoResponseEncoding = "false";
! 
!     /**
!      * @see   #setAutoLoadFilters()
!      */
!     private String  autoLoadFilters = "false";
  
      public WebSphereWebXmlSubTask()
      {
+         setUseIds(true);
      }
  
      /**
!      * @return   the virtual host name
!      * @see      #setVirtualHostName()
       */
      public String getVirtualHostName()
***************
*** 189,193 ****
      /**
       * @return   the reload interval
!      * @see      #reloadInterval
       */
      public String getReloadInterval()
--- 162,166 ----
      /**
       * @return   the reload interval
!      * @see      #setReloadInterval()
       */
      public String getReloadInterval()
***************
*** 197,217 ****
  
      /**
-      * Returns 'true' if we have a reload interval specified, else 'false' is 
returned.
-      *
       * @return
!      * @see      #reloadInterval
       */
      public String getReloadingEnabled()
      {
!         if ("".equals(reloadInterval)) {
!             return FALSE;
!         }
! 
!         return TRUE;
      }
  
      /**
       * @return
!      * @see      #defaultErrorPage
       */
      public String getDefaultErrorPage()
--- 170,184 ----
  
      /**
       * @return
!      * @see      #setReloadEnabled()
       */
      public String getReloadingEnabled()
      {
!         return reloadingEnabled;
      }
  
      /**
       * @return
!      * @see      #setDefaultErrorPage()
       */
      public String getDefaultErrorPage()
***************
*** 222,226 ****
      /**
       * @return
!      * @see      #fileServingEnabled
       */
      public String getFileServingEnabled()
--- 189,202 ----
      /**
       * @return
!      * @see      #setAdditionalClassPath()
!      */
!     public String getAdditionalClassPath()
!     {
!         return additionalClassPath;
!     }
! 
!     /**
!      * @return
!      * @see      #setFileServingEnabled()
       */
      public String getFileServingEnabled()
***************
*** 231,235 ****
      /**
       * @return
!      * @see      #directoryBrowsingEnabled
       */
      public String getDirectoryBrowsingEnabled()
--- 207,211 ----
      /**
       * @return
!      * @see      #setDirectoryBrowsingEnabled()
       */
      public String getDirectoryBrowsingEnabled()
***************
*** 240,244 ****
      /**
       * @return
!      * @see      #serveServletsByClassnameEnabled
       */
      public String getServeServletsByClassnameEnabled()
--- 216,220 ----
      /**
       * @return
!      * @see      #setServeServletsByClassnameEnabled()
       */
      public String getServeServletsByClassnameEnabled()
***************
*** 249,264 ****
      /**
       * @return
!      * @see      #additionalClassPath
       */
!     public String getAdditionalClassPath()
      {
!         return additionalClassPath;
      }
  
      /**
!      * Sets the virtual host name configuration parameter.
       *
!      * @param name  the virtual host name
!      * @see         #virtualHostName
       */
      public void setVirtualHostName(String name)
--- 225,269 ----
      /**
       * @return
!      * @see      #setPreCompileJSPs()
       */
!     public String getPreCompileJSPs()
      {
!         return preCompileJSPs;
      }
  
      /**
!      * @return
!      * @see      #setAutoRequestEncoding()
!      */
!     public String getAutoRequestEncoding()
!     {
!         return autoRequestEncoding;
!     }
! 
!     /**
!      * @return
!      * @see      #setAutoResponseEncoding()
!      */
!     public String getAutoResponseEncoding()
!     {
!         return autoResponseEncoding;
!     }
! 
!     /**
!      * @return
!      * @see      #setAutoLoadFilters()
!      */
!     public String getAutoLoadFilters()
!     {
!         return autoLoadFilters;
!     }
! 
!     /**
!      * The virtual host name. "A virtual host is a configuration enabling a 
single host machine to resemble multiple
!      * host machines. This property allows you to bind the application to a 
virtual host in order to enable execution on
!      * that virtual host."
       *
!      * @param name         the virtual host name
!      * @ant.not-required   No. Default is "default_host"
       */
      public void setVirtualHostName(String name)
***************
*** 268,302 ****
  
      /**
       * @param reloadInterval
!      * @see                   #reloadInterval
       */
      public void setReloadInterval(String reloadInterval)
      {
!         try {
!             Integer.parseInt(reloadInterval);
!             this.reloadInterval = reloadInterval;
!         }
!         catch (NumberFormatException e) {
!             throw new NumberFormatException(
!                 
Translator.getString(XDocletModulesIbmWebsphereWebMessages.class,
!                 XDocletModulesIbmWebsphereWebMessages.INVALID_CONFIG_VALUE,
!                 new String[]{reloadInterval, "reloadInterval"}));
!         }
      }
  
      /**
!      * We need an implementation of this method else the framework does not 
see 'reloadingEnabled' as a java bean
!      * property (ie. read-only properties don't seem to work).
       *
       * @param reloadingEnabled
!      * @see                     #reloadInterval
       */
      public void setReloadingEnabled(String reloadingEnabled)
      {
      }
  
      /**
       * @param defaultErrorPage
!      * @see                     #defaultErrorPage
       */
      public void setDefaultErrorPage(String defaultErrorPage)
--- 273,305 ----
  
      /**
+      * A Reload Interval. Every 'reload interval' seconds, the web 
application's files are checked and reloaded if they
+      * have been modified. Requires that reloadingEnabled is set to true.
+      *
       * @param reloadInterval
!      * @see                   #setReloadingEnabled()
!      * @ant.not-required      No. Default is "3"
       */
      public void setReloadInterval(String reloadInterval)
      {
!         this.reloadInterval = validateIntegerValue(reloadInterval, 
"reloadInterval");
      }
  
      /**
!      * Specifies whether reloading is enabled.
       *
       * @param reloadingEnabled
!      * @ant.not-required        No. Default is "true"
       */
      public void setReloadingEnabled(String reloadingEnabled)
      {
+         this.reloadingEnabled = reloadingEnabled;
      }
  
      /**
+      * Specifies a file name for the default error page. If no other error 
page is specified in the application, this
+      * error page is used.
+      *
       * @param defaultErrorPage
!      * @ant.not-required        No. Default is ""
       */
      public void setDefaultErrorPage(String defaultErrorPage)
***************
*** 306,387 ****
  
      /**
       * @param fileServingEnabled
!      * @see                       #fileServingEnabled
       */
      public void setFileServingEnabled(String fileServingEnabled)
      {
!         if (fileServingEnabled == null) {
!             fileServingEnabled = "";
!         }
! 
!         if (TRUE.equals(fileServingEnabled) ||
!             FALSE.equals(fileServingEnabled) ||
!             "".equals(fileServingEnabled)) {
!             this.fileServingEnabled = fileServingEnabled;
!         }
!         else {
!             throw new RuntimeException(
!                 Translator.getString(
!                 XDocletModulesIbmWebsphereWebMessages.class,
!                 XDocletModulesIbmWebsphereWebMessages.INVALID_CONFIG_VALUE,
!                 new String[]{fileServingEnabled, "fileServingEnabled"}));
!         }
      }
  
      /**
       * @param directoryBrowsingEnabled
!      * @see                             #directoryBrowsingEnabled
       */
      public void setDirectoryBrowsingEnabled(String directoryBrowsingEnabled)
      {
!         if (directoryBrowsingEnabled == null) {
!             directoryBrowsingEnabled = "";
!         }
! 
!         if (TRUE.equals(directoryBrowsingEnabled) ||
!             FALSE.equals(directoryBrowsingEnabled) ||
!             "".equals(directoryBrowsingEnabled)) {
!             this.directoryBrowsingEnabled = directoryBrowsingEnabled;
!         }
!         else {
!             throw new RuntimeException(
!                 Translator.getString(
!                 XDocletModulesIbmWebsphereWebMessages.class,
!                 XDocletModulesIbmWebsphereWebMessages.INVALID_CONFIG_VALUE,
!                 new String[]{directoryBrowsingEnabled, 
"directoryBrowsingEnabled"}));
!         }
      }
  
      /**
       * @param serveServletsByClassnameEnabled
!      * @see                                    
#serveServletsByClassnameEnabled
       */
      public void setServeServletsByClassnameEnabled(String 
serveServletsByClassnameEnabled)
      {
!         if (serveServletsByClassnameEnabled == null) {
!             serveServletsByClassnameEnabled = "";
!         }
  
!         if (TRUE.equals(serveServletsByClassnameEnabled) ||
!             FALSE.equals(serveServletsByClassnameEnabled) ||
!             "".equals(serveServletsByClassnameEnabled)) {
!             this.serveServletsByClassnameEnabled = 
serveServletsByClassnameEnabled;
!         }
!         else {
!             throw new RuntimeException(
!                 Translator.getString(
!                 XDocletModulesIbmWebsphereWebMessages.class,
!                 XDocletModulesIbmWebsphereWebMessages.INVALID_CONFIG_VALUE,
!                 new String[]{serveServletsByClassnameEnabled, 
"serveServletsByClassnameEnabled"}));
!         }
      }
  
      /**
!      * @param additionalClassPath
!      * @see                        #additionalClassPath
       */
!     public void setAdditionalClassPath(String additionalClassPath)
      {
!         this.additionalClassPath = additionalClassPath;
      }
  
--- 309,404 ----
  
      /**
+      * Specifies an additional class path that will be used to reference 
resources outside of those specified in the
+      * archive.
+      *
+      * @param additionalClassPath
+      * @ant.not-required           No. Default is ""
+      */
+     public void setAdditionalClassPath(String additionalClassPath)
+     {
+         this.additionalClassPath = additionalClassPath;
+     }
+ 
+     /**
+      * Specifies whether file serving is enabled. File serving allows the 
application to serve static file types, such
+      * as HTML and GIF. File serving can be disabled if, for example, the 
application contains only dynamic components.
+      *
       * @param fileServingEnabled
!      * @ant.not-required          No. Default is "true"
       */
      public void setFileServingEnabled(String fileServingEnabled)
      {
!         this.fileServingEnabled = validateBooleanValue(fileServingEnabled, 
"fileServingEnabled");
      }
  
      /**
+      * Specifies whether directory browsing is enabled. Directory browsing 
allows the application to browse disk
+      * directories. Directory browsing can be disabled if, for example, you 
want to protect data.
+      *
       * @param directoryBrowsingEnabled
!      * @ant.not-required                No. Default is "true"
       */
      public void setDirectoryBrowsingEnabled(String directoryBrowsingEnabled)
      {
!         this.directoryBrowsingEnabled = 
validateBooleanValue(directoryBrowsingEnabled, "directoryBrowsingEnabled");
      }
  
      /**
+      * Specifies whether a servlet can be served by requesting its class 
name. Usually, servlets are served only through
+      * a URI reference. The class name is the actual name of the servlet on 
disk. For example, a file named
+      * SnoopServlet.java compiles into SnoopServlet.class. (This is the class 
name.) SnoopServlet.class is normally
+      * invoked by specifying snoop in the URI. However, if Serve Servlets by 
Classname is enabled, the servlet is
+      * invoked by specifying SnoopServlet.
+      *
       * @param serveServletsByClassnameEnabled
!      * @ant.not-required                       No. Default is "true"
       */
      public void setServeServletsByClassnameEnabled(String 
serveServletsByClassnameEnabled)
      {
!         this.serveServletsByClassnameEnabled = 
validateBooleanValue(serveServletsByClassnameEnabled, 
"serveServletsByClassnameEnabled");
!     }
  
!     /**
!      * Specifies wheter JSP pages will be precompiled at deploy time or not.
!      *
!      * @param preCompileJSPs
!      * @ant.not-required      No. Default is "true"
!      */
!     public void setPreCompileJSPs(String preCompileJSPs)
!     {
!         this.preCompileJSPs = validateBooleanValue(preCompileJSPs, 
"preCompileJSPs");
      }
  
      /**
!      * See IBM WebSphere documentation regarding this attribute.
!      *
!      * @param autoRequestEncoding
!      * @ant.not-required           No. Default is "false"
       */
!     public void setAutoRequestEncoding(String autoRequestEncoding)
      {
!         this.autoRequestEncoding = validateBooleanValue(autoRequestEncoding, 
"autoRequestEncoding");
!     }
! 
!     /**
!      * See IBM WebSphere documentation regarding this attribute.
!      *
!      * @param autoResponseEncoding
!      * @ant.not-required            No. Default is "false"
!      */
!     public void setAutoResponseEncoding(String autoResponseEncoding)
!     {
!         this.autoResponseEncoding = 
validateBooleanValue(autoResponseEncoding, "autoResponseEncoding");
!     }
! 
!     /**
!      * See IBM WebSphere documentation regarding this attribute.
!      *
!      * @param autoLoadFilters
!      * @ant.not-required       No. Default is "false"
!      */
!     public void setAutoLoadFilters(String autoLoadFilters)
!     {
!         this.autoLoadFilters = validateBooleanValue(autoLoadFilters, 
"autoLoadFilters");
      }
  
***************
*** 416,425 ****
  
      /**
!      * Describe what the method does
       *
!      * @exception XDocletException  Describe the exception
       */
      protected void engineStarted() throws XDocletException
      {
      }
  }
--- 433,498 ----
  
      /**
!      * TODO: Describe what the method does
       *
!      * @exception XDocletException
       */
      protected void engineStarted() throws XDocletException
      {
      }
+ 
+     /**
+      * Helper method that validates if a value can be interpreted as an 
integer
+      *
+      * @param integerValue
+      * @param name
+      * @return              the value if it is ok or else throws an runtime 
exception
+      */
+     private String validateIntegerValue(String integerValue, String name)
+     {
+         try {
+             Integer.parseInt(integerValue);
+         }
+         catch (NumberFormatException e) {
+             throwInvalidConfigValueException(integerValue, name);
+         }
+ 
+         return integerValue;
+     }
+ 
+     /**
+      * Helper method that validates if a value can be interpreted as a boolean
+      *
+      * @param booleanValue
+      * @param name
+      * @return              the value if it is ok or else throws an runtime 
exception
+      */
+     private String validateBooleanValue(String booleanValue, String name)
+     {
+         if (booleanValue == null) {
+             booleanValue = "";
+         }
+ 
+         if (!(TRUE.equals(booleanValue) ||
+             FALSE.equals(booleanValue) ||
+             "".equals(booleanValue))) {
+             throwInvalidConfigValueException(booleanValue, name);
+         }
+ 
+         return booleanValue;
+     }
+ 
+     /**
+      * Helper method for throwing an exception indicating that an 
configuration attribute was set incorect.
+      *
+      * @param value
+      * @param name
+      */
+     private void throwInvalidConfigValueException(String value, String name)
+     {
+         throw new RuntimeException(
+             Translator.getString(
+             XDocletModulesIbmWebsphereWebMessages.class,
+             XDocletModulesIbmWebsphereWebMessages.INVALID_CONFIG_VALUE,
+             new String[]{value, name}));
+     }
  }



-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
_______________________________________________
xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to