You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by bu...@apache.org on 2002/08/24 08:22:19 UTC
DO NOT REPLY [Bug 12006] New: -
Boolean.getBoolean() should be Boolean.valueOf()
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12006>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12006
Boolean.getBoolean() should be Boolean.valueOf()
Summary: Boolean.getBoolean() should be Boolean.valueOf()
Product: Cocoon 2
Version: 2.0.3
Platform: All
OS/Version: All
Status: NEW
Severity: Minor
Priority: Other
Component: sitemap components
AssignedTo: cocoon-dev@xml.apache.org
ReportedBy: per@onclave.com
CC: per@onclave.com
SUMMARY:
Cocoon2 uses Boolean.getBoolean(String) in lots of places where it should be
using Boolean.valueOf(String).
DETAILS:
All the classes listed below try to use the function Boolean.getBoolean(String
name) to 'convert' the value of the <reloadable> setting from a string to a
boolean.
Except that's not what the function does. What is does is look up a system
property with the given name and return boolean true iff the value of that
named system property is the string "true". E.g., it looks up the
strings "true" or "false" as system properties and returns boolean true iff the
property exists and its value was "true".
Boolean.valueOf(String) is the right way to do what was intended.
SYMPTOMS:
Actions that keep their configuration in an external file, often use a
parameter like <reloadable> to state whether or not Cocoon should detect
changes and reload the configuration.
There are two places to set <reloadable>: in the <map:action> component
definition, or in the <map:act> element that uses it. If you set it on the
<map:action> component definition, that setting is supposed to be the default
value for any <map:act> that uses that component.
But with this bug, <reloadable> is _always_ false if <reloadable> is declared
as a default in the component <map:action> definition of the Actions.
MITIGATING FACTORS:
It only affected sitemaps where <reloadable> was set on the <map:action>
component definition (if you set <reloadable> on <map:act>, it works as
expected).
The default sitemap doesn't use <reloadable> at all. Which means the default
value of <reloadable> is set from the value as defined in Constants.java.
AFFECTED (list is from 2.0.3, probably more errors in 2.1):
AbstractComplementaryConfigurableAction.java
DatabaseAddAction.java
DatabaseAuthenticatorAction.java
DatabaseDeleteAction.java
DatabaseSelectAction.java
DatabaseUpdateAction.java
FormValidatorAction.java
SessionValidatorAction.java
[scratchpad]
CookieValidatorAction.java
DatabaseCookieAuthenticatorAction.java
DbXMLAuthenticatorAction.java
DatabaseAction.java
Searching for Boolean.getBoolean works to find all cases.
Per
---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org