Re: [VOTE] Lang 2.3 RC1

2007-02-03 Thread Stephen Colebourne

Rahul Akolkar wrote:

On 2/2/07, Niall Pemberton [EMAIL PROTECTED] wrote:

On 2/1/07, Henri Yandell [EMAIL PROTECTED] wrote:
 What do people think - update PROPOSALs or delete them?

Neither - leave it unchanged. It is historical and I think it is
obvious it is, many (most?) components have them and I've never seen
it raised as a cause for confusion.


snap/

Archival is good, I read proposals. But from trunk. One way to avoid
potential confusion is to not make it part of the distros, if indeed
it is added there.


I think the proposal should no longer be part of the website or distro, 
but left unchanged in SVN. There may be a case for an updated scope doc 
on the website (ie. a new xdoc).


Stephen

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[EMAIL PROTECTED]: Project commons-jelly-tags-soap (in module commons-jelly) failed

2007-02-03 Thread commons-jelly-tags-soap development
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project commons-jelly-tags-soap has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 82 runs.
The current state of this project is 'Failed', with reason 'Configuration 
Failed'.
For reference only, the following projects are affected by this:
- commons-jelly-tags-soap :  Commons Jelly


Full details are available at:

http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-soap/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Sole output [commons-jelly-tags-soap-03022007.jar] identifier set to 
project name
 -ERROR- No such project [ws-jaxme] for property.
 -ERROR- Cannot resolve output/outputpath of *unknown* [ws-jaxme]
 -ERROR- Unhandled Property: maven.jar.jaxme-api on: Maven on 
Project:commons-jelly-tags-soap
 -DEBUG- Dependency on ws-axis exists, no need to add for property 
maven.jar.axis.
 -DEBUG- Dependency on ws-axis exists, no need to add for property 
maven.jar.jaxrpc-api.
 -DEBUG- Dependency on ws-axis exists, no need to add for property 
maven.jar.saaj-api.
 -DEBUG- Dependency on jakarta-servletapi-5-servlet exists, no need to add for 
property maven.jar.servletapi.
 -DEBUG- Dependency on xml-xerces exists, no need to add for property 
maven.jar.xerces.
 -INFO- Failed with reason configuration failed
 -ERROR- Bad Dependency. Project: ws-jaxme unknown to *this* workspace
 -INFO- Failed to extract fallback artifacts from Gump Repository

To subscribe to this information via syndicated feeds:
- RSS: 
http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-soap/rss.xml
- Atom: 
http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-soap/atom.xml

== Gump Tracking Only ===
Produced by Gump version 2.2.
Gump Run 2303022007, vmgump.apache.org:vmgump-public:2303022007
Gump E-mail Identifier (unique within run) #39.

--
Apache Gump
http://gump.apache.org/ [Instance: vmgump]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[EMAIL PROTECTED]: Project commons-jelly-tags-soap (in module commons-jelly) failed

2007-02-03 Thread commons-jelly-tags-soap development
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project commons-jelly-tags-soap has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 82 runs.
The current state of this project is 'Failed', with reason 'Configuration 
Failed'.
For reference only, the following projects are affected by this:
- commons-jelly-tags-soap :  Commons Jelly


Full details are available at:

http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-soap/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Sole output [commons-jelly-tags-soap-03022007.jar] identifier set to 
project name
 -ERROR- No such project [ws-jaxme] for property.
 -ERROR- Cannot resolve output/outputpath of *unknown* [ws-jaxme]
 -ERROR- Unhandled Property: maven.jar.jaxme-api on: Maven on 
Project:commons-jelly-tags-soap
 -DEBUG- Dependency on ws-axis exists, no need to add for property 
maven.jar.axis.
 -DEBUG- Dependency on ws-axis exists, no need to add for property 
maven.jar.jaxrpc-api.
 -DEBUG- Dependency on ws-axis exists, no need to add for property 
maven.jar.saaj-api.
 -DEBUG- Dependency on jakarta-servletapi-5-servlet exists, no need to add for 
property maven.jar.servletapi.
 -DEBUG- Dependency on xml-xerces exists, no need to add for property 
maven.jar.xerces.
 -INFO- Failed with reason configuration failed
 -ERROR- Bad Dependency. Project: ws-jaxme unknown to *this* workspace
 -INFO- Failed to extract fallback artifacts from Gump Repository

To subscribe to this information via syndicated feeds:
- RSS: 
http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-soap/rss.xml
- Atom: 
http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-soap/atom.xml

== Gump Tracking Only ===
Produced by Gump version 2.2.
Gump Run 2303022007, vmgump.apache.org:vmgump-public:2303022007
Gump E-mail Identifier (unique within run) #39.

--
Apache Gump
http://gump.apache.org/ [Instance: vmgump]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[EMAIL PROTECTED]: Project commons-jelly-tags-jaxme (in module commons-jelly) failed

2007-02-03 Thread commons-jelly-tags-jaxme development
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project commons-jelly-tags-jaxme has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 82 runs.
The current state of this project is 'Failed', with reason 'Configuration 
Failed'.
For reference only, the following projects are affected by this:
- commons-jelly-tags-jaxme :  Commons Jelly


Full details are available at:

http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-jaxme/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Sole output [commons-jelly-tags-jaxme-03022007.jar] identifier set to 
project name
 -ERROR- No such project [ws-jaxme] for property.
 -ERROR- No such project [ws-jaxme] for property.
 -ERROR- No such project [ws-jaxme] for property.
 -ERROR- No such project [ws-jaxme] for property.
 -ERROR- Cannot resolve output/outputpath of *unknown* [ws-jaxme]
 -ERROR- Unhandled Property: maven.jar.jaxme-js on: Maven on 
Project:commons-jelly-tags-jaxme
 -ERROR- Cannot resolve output/outputpath of *unknown* [ws-jaxme]
 -ERROR- Unhandled Property: maven.jar.jaxme on: Maven on 
Project:commons-jelly-tags-jaxme
 -ERROR- Cannot resolve output/outputpath of *unknown* [ws-jaxme]
 -ERROR- Unhandled Property: maven.jar.jaxme-api on: Maven on 
Project:commons-jelly-tags-jaxme
 -ERROR- Cannot resolve output/outputpath of *unknown* [ws-jaxme]
 -ERROR- Unhandled Property: maven.jar.jaxme-xs on: Maven on 
Project:commons-jelly-tags-jaxme
 -DEBUG- Dependency on xml-xerces exists, no need to add for property 
maven.jar.xerces.
 -INFO- Failed with reason configuration failed
 -ERROR- Bad Dependency. Project: ws-jaxme unknown to *this* workspace
 -INFO- Failed to extract fallback artifacts from Gump Repository

To subscribe to this information via syndicated feeds:
- RSS: 
http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-jaxme/rss.xml
- Atom: 
http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-jaxme/atom.xml

== Gump Tracking Only ===
Produced by Gump version 2.2.
Gump Run 2303022007, vmgump.apache.org:vmgump-public:2303022007
Gump E-mail Identifier (unique within run) #42.

--
Apache Gump
http://gump.apache.org/ [Instance: vmgump]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[EMAIL PROTECTED]: Project commons-jelly-tags-jaxme (in module commons-jelly) failed

2007-02-03 Thread commons-jelly-tags-jaxme development
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project commons-jelly-tags-jaxme has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 82 runs.
The current state of this project is 'Failed', with reason 'Configuration 
Failed'.
For reference only, the following projects are affected by this:
- commons-jelly-tags-jaxme :  Commons Jelly


Full details are available at:

http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-jaxme/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Sole output [commons-jelly-tags-jaxme-03022007.jar] identifier set to 
project name
 -ERROR- No such project [ws-jaxme] for property.
 -ERROR- No such project [ws-jaxme] for property.
 -ERROR- No such project [ws-jaxme] for property.
 -ERROR- No such project [ws-jaxme] for property.
 -ERROR- Cannot resolve output/outputpath of *unknown* [ws-jaxme]
 -ERROR- Unhandled Property: maven.jar.jaxme-js on: Maven on 
Project:commons-jelly-tags-jaxme
 -ERROR- Cannot resolve output/outputpath of *unknown* [ws-jaxme]
 -ERROR- Unhandled Property: maven.jar.jaxme on: Maven on 
Project:commons-jelly-tags-jaxme
 -ERROR- Cannot resolve output/outputpath of *unknown* [ws-jaxme]
 -ERROR- Unhandled Property: maven.jar.jaxme-api on: Maven on 
Project:commons-jelly-tags-jaxme
 -ERROR- Cannot resolve output/outputpath of *unknown* [ws-jaxme]
 -ERROR- Unhandled Property: maven.jar.jaxme-xs on: Maven on 
Project:commons-jelly-tags-jaxme
 -DEBUG- Dependency on xml-xerces exists, no need to add for property 
maven.jar.xerces.
 -INFO- Failed with reason configuration failed
 -ERROR- Bad Dependency. Project: ws-jaxme unknown to *this* workspace
 -INFO- Failed to extract fallback artifacts from Gump Repository

To subscribe to this information via syndicated feeds:
- RSS: 
http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-jaxme/rss.xml
- Atom: 
http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-jaxme/atom.xml

== Gump Tracking Only ===
Produced by Gump version 2.2.
Gump Run 2303022007, vmgump.apache.org:vmgump-public:2303022007
Gump E-mail Identifier (unique within run) #42.

--
Apache Gump
http://gump.apache.org/ [Instance: vmgump]

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



svn commit: r503227 - in /jakarta/commons/proper/configuration/trunk: src/java/org/apache/commons/configuration/ConfigurationUtils.java src/test/org/apache/commons/configuration/TestConfigurationUtils

2007-02-03 Thread oheger
Author: oheger
Date: Sat Feb  3 08:19:15 2007
New Revision: 503227

URL: http://svn.apache.org/viewvc?view=revrev=503227
Log:
CONFIGURATION-252: ConfigurationUtils.getFile() now always checks first whether 
the passed in file name is absolute.

Modified:

jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/ConfigurationUtils.java

jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestConfigurationUtils.java
jakarta/commons/proper/configuration/trunk/xdocs/changes.xml

Modified: 
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/ConfigurationUtils.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/ConfigurationUtils.java?view=diffrev=503227r1=503226r2=503227
==
--- 
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/ConfigurationUtils.java
 (original)
+++ 
jakarta/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/ConfigurationUtils.java
 Sat Feb  3 08:19:15 2007
@@ -595,7 +595,22 @@
  * Tries to convert the specified base path and file name into a file 
object.
  * This method is called e.g. by the save() methods of file based
  * configurations. The parameter strings can be relative files, absolute
- * files and URLs as well.
+ * files and URLs as well. This implementation checks first whether the 
passed in
+ * file name is absolute. If this is the case, it is returned. Otherwise
+ * further checks are performed whether the base path and file name can be
+ * combined to a valid URL or a valid file name. emNote:/em The test
+ * if the passed in file name is absolute is performed using
+ * codejava.io.File.isAbsolute()/code. If the file name starts with a
+ * slash, this method will return btrue/b on Unix, but bfalse/b on
+ * Windows. So to ensure correct behavior for relative file names on all
+ * platforms you should never let relative paths start with a slash. E.g.
+ * in a configuration definition file do not use something like that:
+ * pre
+ * lt;properties fileName=/subdir/my.properties/gt;
+ * /pre
+ * Under Windows this path would be resolved relative to the configuration
+ * definition file. Under Unix this would be treated as an absolute path
+ * name.
  *
  * @param basePath the base path
  * @param fileName the file name
@@ -603,6 +618,13 @@
  */
 public static File getFile(String basePath, String fileName)
 {
+// Check if the file name is absolute
+File f = new File(fileName);
+if (f.isAbsolute())
+{
+return f;
+}
+
 // Check if URLs are involved
 URL url;
 try

Modified: 
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestConfigurationUtils.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestConfigurationUtils.java?view=diffrev=503227r1=503226r2=503227
==
--- 
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestConfigurationUtils.java
 (original)
+++ 
jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestConfigurationUtils.java
 Sat Feb  3 08:19:15 2007
@@ -175,7 +175,7 @@
 expected.add(value2);
 ListAssert.assertEquals('key2' property, expected, 
conf2.getList(key2));
 }
-
+
 public void testGetFile() throws Exception
 {
 File directory = new File(target);
@@ -186,6 +186,9 @@
 assertEquals(reference, 
ConfigurationUtils.getFile(directory.getAbsolutePath(), reference.getName()));  
  
 assertEquals(reference, 
ConfigurationUtils.getFile(directory.toURL().toString(), reference.getName()));
 assertEquals(reference, ConfigurationUtils.getFile(invalid, 
reference.toURL().toString()));
+assertEquals(reference, ConfigurationUtils.getFile(
+jar:file:/C:/myjar.jar!/my-config.xml/someprops.properties,
+reference.getAbsolutePath()));
 }
 
 public void testLocateWithNullTCCL() throws Exception

Modified: jakarta/commons/proper/configuration/trunk/xdocs/changes.xml
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/xdocs/changes.xml?view=diffrev=503227r1=503226r2=503227
==
--- jakarta/commons/proper/configuration/trunk/xdocs/changes.xml (original)
+++ jakarta/commons/proper/configuration/trunk/xdocs/changes.xml Sat Feb  3 
08:19:15 2007
@@ -26,6 +26,12 @@
   action dev=oheger type=add
 A pom for maven 2 was added.
   

[jira] Resolved: (CONFIGURATION-252) Detection of absolute fileNames when configuration sources are defined in a JAR file

2007-02-03 Thread Oliver Heger (JIRA)

 [ 
https://issues.apache.org/jira/browse/CONFIGURATION-252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Oliver Heger resolved CONFIGURATION-252.


   Resolution: Fixed
Fix Version/s: 1.4

The getFile() method now checks first whether an absolute file name is passed 
in. A note about the behavior of File.isAbsolute() on Windows and Unix was also 
added to the Javadocs.

 Detection of absolute fileNames when configuration sources are defined in a 
 JAR file
 

 Key: CONFIGURATION-252
 URL: https://issues.apache.org/jira/browse/CONFIGURATION-252
 Project: Commons Configuration
  Issue Type: Bug
Affects Versions: 1.3
 Environment: Linux
Reporter: Heiko Seebach
 Assigned To: Oliver Heger
 Fix For: 1.4

 Attachments: support-for-jar-protocol.patch.txt


 When using several configuration sources, the sources are defined in a an xml 
 attribute like 
 fileName=usergui.properties
 The method org.apache.commons.configuration.ConfigurationUtils.getFile(String 
 basePath, String fileName) converts the basePath and fileName into a File.
 The JavaDoc says: The parameter strings can be relative files, absolute 
 files and URLs as well.
 The file containing the definition of the configuration sources will become 
 the basePath of this method.
 After a log of debugging I found, that if the basePath start with jar: the 
 method assumes that the fileName is relative, evene if it's absolute. This 
 happens, because there's a ProtocolHandler for Jar files and jar: is a 
 valid protocol. So the statement new URL(new URL(basePath), fileName) 
 doesn't throw a MalformedUrlException.
 Since the URL is valid, it's never checked, if the fileName may be absolute. 
 Attention: this is only the case on Unix/Linux, since this is a valid URL
 jar:file:/C:/myjar.jar!/my-config.xml/someprops.properties
 while under Windows, a MalformedUrlException will be thrown, when the 
 fileName is absolute: 
 jar:file:/C:/myjar.jar!/my-config.xml/c:/someprops.properties
 I attached a patch that checks, whether the URL protocol is jar and the 
 fileName is absolute. If so, the absolute file will be used.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[EMAIL PROTECTED]: Project commons-jelly-tags-jsl-test (in module commons-jelly) failed

2007-02-03 Thread commons-jelly-tags-jsl development
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project commons-jelly-tags-jsl-test has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 11 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- commons-jelly-tags-jsl-test :  Commons Jelly


Full details are available at:

http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-jsl-test/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Dependency on ant exists, no need to add for property 
maven.jar.ant-optional.
 -DEBUG- Dependency on xml-xerces exists, no need to add for property 
maven.jar.xerces.
 -WARNING- Overriding Maven properties: 
[/usr/local/gump/public/workspace/commons-jelly/jelly-tags/jsl/build.properties]
 -DEBUG- (Gump generated) Maven Properties in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/jsl/build.properties
 -INFO- Failed with reason build failed
 -DEBUG- Maven POM in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/jsl/project.xml
 -DEBUG- Maven project properties in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/jsl/project.properties
 -INFO- Project Reports in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/jsl/target/test-reports



The following work was performed:
http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-jsl-test/gump_work/build_commons-jelly_commons-jelly-tags-jsl-test.html
Work Name: build_commons-jelly_commons-jelly-tags-jsl-test (Type: Build)
Work ended in a state of : Failed
Elapsed: 25 secs
Command Line: maven --offline jar 
[Working Directory: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/jsl]
CLASSPATH: 
/opt/jdk1.5/lib/tools.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-swing.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-trax.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-junit.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-nodeps.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant.jar:/usr/local/gump/public/workspace/jakarta-commons/beanutils/dist/commons-beanutils-core.jar:/usr/local/gump/public/workspace/commons-cli-1.0.x/target/commons-cli-03022007.jar:/usr/local/gump/public/workspace/jakarta-commons/collections/build/commons-collections-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/target/commons-jelly-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/ant/target/commons-jelly-tags-ant-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/junit/target/commons-jelly-tags-junit-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/log/target/commons-jelly-tags-log-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/xml/target/commons-jelly-tags-xml-03022007.jar:/usr/local/gump/public/workspace/jakarta-commons/jexl/dist/commons-jexl-03022007.jar:/usr/local/gump/public/workspace/jakarta-commons/logging/target/commons-logging-03022007.jar:/usr/local/gump/public/workspace/jakarta-commons/logging/target/commons-logging-api-03022007.jar:/usr/local/gump/public/workspace/dom4j/build/dom4j.jar:/usr/local/gump/public/workspace/jaxen/target/jaxen-03022007.jar:/usr/local/gump/public/workspace/xml-commons/java/external/build/xml-apis-ext.jar
-
[junit] at 
org.apache.commons.jelly.tags.junit.AssertTagSupport.fail(AssertTagSupport.java:64)
[junit] at 
org.apache.commons.jelly.tags.junit.AssertTag.doTag(AssertTag.java:59)
[junit] at 
org.apache.commons.jelly.impl.TagScript.run(TagScript.java:263)
[junit] at 
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:96)
[junit] at 
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:187)
[junit] at 
org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:66)
[junit] at 
org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:113)
[junit] at 
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:96)
[junit] at 
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:187)
[junit] at 
org.apache.commons.jelly.tags.jsl.TemplateTag$1.run(TemplateTag.java:161)
[junit] at org.dom4j.rule.Mode.fireRule(Mode.java:59)
[junit] at org.dom4j.rule.Mode.applyTemplates(Mode.java:80)
[junit] at org.dom4j.rule.RuleManager$1.run(RuleManager.java:171)
[junit] 

[EMAIL PROTECTED]: Project commons-jelly-tags-jsl-test (in module commons-jelly) failed

2007-02-03 Thread commons-jelly-tags-jsl development
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project commons-jelly-tags-jsl-test has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 11 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- commons-jelly-tags-jsl-test :  Commons Jelly


Full details are available at:

http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-jsl-test/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Dependency on ant exists, no need to add for property 
maven.jar.ant-optional.
 -DEBUG- Dependency on xml-xerces exists, no need to add for property 
maven.jar.xerces.
 -WARNING- Overriding Maven properties: 
[/usr/local/gump/public/workspace/commons-jelly/jelly-tags/jsl/build.properties]
 -DEBUG- (Gump generated) Maven Properties in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/jsl/build.properties
 -INFO- Failed with reason build failed
 -DEBUG- Maven POM in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/jsl/project.xml
 -DEBUG- Maven project properties in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/jsl/project.properties
 -INFO- Project Reports in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/jsl/target/test-reports



The following work was performed:
http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-jsl-test/gump_work/build_commons-jelly_commons-jelly-tags-jsl-test.html
Work Name: build_commons-jelly_commons-jelly-tags-jsl-test (Type: Build)
Work ended in a state of : Failed
Elapsed: 25 secs
Command Line: maven --offline jar 
[Working Directory: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/jsl]
CLASSPATH: 
/opt/jdk1.5/lib/tools.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-swing.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-trax.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-junit.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-nodeps.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant.jar:/usr/local/gump/public/workspace/jakarta-commons/beanutils/dist/commons-beanutils-core.jar:/usr/local/gump/public/workspace/commons-cli-1.0.x/target/commons-cli-03022007.jar:/usr/local/gump/public/workspace/jakarta-commons/collections/build/commons-collections-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/target/commons-jelly-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/ant/target/commons-jelly-tags-ant-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/junit/target/commons-jelly-tags-junit-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/log/target/commons-jelly-tags-log-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/xml/target/commons-jelly-tags-xml-03022007.jar:/usr/local/gump/public/workspace/jakarta-commons/jexl/dist/commons-jexl-03022007.jar:/usr/local/gump/public/workspace/jakarta-commons/logging/target/commons-logging-03022007.jar:/usr/local/gump/public/workspace/jakarta-commons/logging/target/commons-logging-api-03022007.jar:/usr/local/gump/public/workspace/dom4j/build/dom4j.jar:/usr/local/gump/public/workspace/jaxen/target/jaxen-03022007.jar:/usr/local/gump/public/workspace/xml-commons/java/external/build/xml-apis-ext.jar
-
[junit] at 
org.apache.commons.jelly.tags.junit.AssertTagSupport.fail(AssertTagSupport.java:64)
[junit] at 
org.apache.commons.jelly.tags.junit.AssertTag.doTag(AssertTag.java:59)
[junit] at 
org.apache.commons.jelly.impl.TagScript.run(TagScript.java:263)
[junit] at 
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:96)
[junit] at 
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:187)
[junit] at 
org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:66)
[junit] at 
org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:113)
[junit] at 
org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:96)
[junit] at 
org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:187)
[junit] at 
org.apache.commons.jelly.tags.jsl.TemplateTag$1.run(TemplateTag.java:161)
[junit] at org.dom4j.rule.Mode.fireRule(Mode.java:59)
[junit] at org.dom4j.rule.Mode.applyTemplates(Mode.java:80)
[junit] at org.dom4j.rule.RuleManager$1.run(RuleManager.java:171)
[junit] 

[EMAIL PROTECTED]: Project commons-jelly-tags-fmt-test (in module commons-jelly) failed

2007-02-03 Thread commons-jelly-tags-fmt development
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project commons-jelly-tags-fmt-test has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 11 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- commons-jelly-tags-fmt-test :  Commons Jelly


Full details are available at:

http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-fmt-test/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Dependency on xml-xerces exists, no need to add for property 
maven.jar.xerces.
 -WARNING- Overriding Maven properties: 
[/usr/local/gump/public/workspace/commons-jelly/jelly-tags/fmt/build.properties]
 -DEBUG- (Gump generated) Maven Properties in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/fmt/build.properties
 -INFO- Failed with reason build failed
 -DEBUG- Maven POM in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/fmt/project.xml
 -DEBUG- Maven project properties in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/fmt/project.properties
 -INFO- Project Reports in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/fmt/target/test-reports



The following work was performed:
http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-fmt-test/gump_work/build_commons-jelly_commons-jelly-tags-fmt-test.html
Work Name: build_commons-jelly_commons-jelly-tags-fmt-test (Type: Build)
Work ended in a state of : Failed
Elapsed: 17 secs
Command Line: maven --offline jar 
[Working Directory: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/fmt]
CLASSPATH: 
/opt/jdk1.5/lib/tools.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-swing.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-trax.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-junit.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-nodeps.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant.jar:/usr/local/gump/packages/bsh-2.0b4/bsh-commands-2.0b4.jar:/usr/local/gump/packages/bsh-2.0b4/bsh-classpath-2.0b4.jar:/usr/local/gump/packages/bsh-2.0b4/bsh-core-2.0b4.jar:/usr/local/gump/packages/bsh-2.0b4/bsh-bsf-2.0b4.jar:/usr/local/gump/packages/bsh-2.0b4/bsh-2.0b4.jar:/usr/local/gump/packages/bsh-2.0b4/bsh-reflect-2.0b4.jar:/usr/local/gump/packages/bsh-2.0b4/bsh-util-2.0b4.jar:/usr/local/gump/public/workspace/jakarta-commons/beanutils/dist/commons-beanutils-core.jar:/usr/local/gump/public/workspace/jakarta-commons/collections/build/commons-collections-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/target/commons-jelly-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/ant/target/commons-jelly-tags-ant-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/beanshell/target/commons-jelly-tags-beanshell-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/junit/target/commons-jelly-tags-junit-03022007.jar:/usr/local/gump/public/workspace/jakarta-commons/jexl/dist/commons-jexl-03022007.jar:/usr/local/gump/public/workspace/jakarta-commons/logging/target/commons-logging-03022007.jar:/usr/local/gump/public/workspace/jakarta-commons/logging/target/commons-logging-api-03022007.jar:/usr/local/gump/public/workspace/dom4j/build/dom4j.jar:/usr/local/gump/public/workspace/jaxen/target/jaxen-03022007.jar:/usr/local/gump/public/workspace/xml-commons/java/external/build/xml-apis-ext.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/fmt/target/commons-jelly-tags-fmt-03022007.jar
-
[junit] at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
[junit] at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
[junit] at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
[junit] at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
[junit] at java.security.AccessController.doPrivileged(Native Method)
[junit] at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
[junit] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
[junit] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
[junit] at 
org.apache.commons.jelly.tags.ant.AntTagLibrary.createProject(AntTagLibrary.java:128)

[EMAIL PROTECTED]: Project commons-jelly-tags-fmt-test (in module commons-jelly) failed

2007-02-03 Thread commons-jelly-tags-fmt development
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at [EMAIL PROTECTED]

Project commons-jelly-tags-fmt-test has an issue affecting its community 
integration.
This issue affects 1 projects,
 and has been outstanding for 11 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- commons-jelly-tags-fmt-test :  Commons Jelly


Full details are available at:

http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-fmt-test/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Dependency on xml-xerces exists, no need to add for property 
maven.jar.xerces.
 -WARNING- Overriding Maven properties: 
[/usr/local/gump/public/workspace/commons-jelly/jelly-tags/fmt/build.properties]
 -DEBUG- (Gump generated) Maven Properties in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/fmt/build.properties
 -INFO- Failed with reason build failed
 -DEBUG- Maven POM in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/fmt/project.xml
 -DEBUG- Maven project properties in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/fmt/project.properties
 -INFO- Project Reports in: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/fmt/target/test-reports



The following work was performed:
http://vmgump.apache.org/gump/public/commons-jelly/commons-jelly-tags-fmt-test/gump_work/build_commons-jelly_commons-jelly-tags-fmt-test.html
Work Name: build_commons-jelly_commons-jelly-tags-fmt-test (Type: Build)
Work ended in a state of : Failed
Elapsed: 17 secs
Command Line: maven --offline jar 
[Working Directory: 
/usr/local/gump/public/workspace/commons-jelly/jelly-tags/fmt]
CLASSPATH: 
/opt/jdk1.5/lib/tools.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-swing.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-trax.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-junit.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant-nodeps.jar:/usr/local/gump/public/workspace/ant/dist/lib/ant.jar:/usr/local/gump/packages/bsh-2.0b4/bsh-commands-2.0b4.jar:/usr/local/gump/packages/bsh-2.0b4/bsh-classpath-2.0b4.jar:/usr/local/gump/packages/bsh-2.0b4/bsh-core-2.0b4.jar:/usr/local/gump/packages/bsh-2.0b4/bsh-bsf-2.0b4.jar:/usr/local/gump/packages/bsh-2.0b4/bsh-2.0b4.jar:/usr/local/gump/packages/bsh-2.0b4/bsh-reflect-2.0b4.jar:/usr/local/gump/packages/bsh-2.0b4/bsh-util-2.0b4.jar:/usr/local/gump/public/workspace/jakarta-commons/beanutils/dist/commons-beanutils-core.jar:/usr/local/gump/public/workspace/jakarta-commons/collections/build/commons-collections-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/target/commons-jelly-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/ant/target/commons-jelly-tags-ant-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/beanshell/target/commons-jelly-tags-beanshell-03022007.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/junit/target/commons-jelly-tags-junit-03022007.jar:/usr/local/gump/public/workspace/jakarta-commons/jexl/dist/commons-jexl-03022007.jar:/usr/local/gump/public/workspace/jakarta-commons/logging/target/commons-logging-03022007.jar:/usr/local/gump/public/workspace/jakarta-commons/logging/target/commons-logging-api-03022007.jar:/usr/local/gump/public/workspace/dom4j/build/dom4j.jar:/usr/local/gump/public/workspace/jaxen/target/jaxen-03022007.jar:/usr/local/gump/public/workspace/xml-commons/java/external/build/xml-apis-ext.jar:/usr/local/gump/public/workspace/commons-jelly/jelly-tags/fmt/target/commons-jelly-tags-fmt-03022007.jar
-
[junit] at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
[junit] at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
[junit] at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
[junit] at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
[junit] at java.security.AccessController.doPrivileged(Native Method)
[junit] at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
[junit] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
[junit] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
[junit] at 
org.apache.commons.jelly.tags.ant.AntTagLibrary.createProject(AntTagLibrary.java:128)

Re: [all] exceptions and localization

2007-02-03 Thread Phil Steitz

On 1/30/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:


Craig McClanahan wrote:


 I'm late to the table on this thread, and only care about the Commons
 libraries I care about :-)

Thanks for your interest in this thread.

 but you should be aware that this attitude will
 disqualify the use of such libraries from use within code from
organizations
 that have strict rules about implementing localization.  I work for such
an
 organization (Sun) ... the key rules are that any message that might be
 visible to users *must* be localizable.

I agree with you and thought localization should be provided by the layer
which
provides the message. Other people think this should be done at
application
level, if done at all.

 For log messages, that tends to translate into a straightforward policy
that
 DEBUG and TRACE type messages do not need to be localized, but anything
from
 INFO level above must be.  The issue for exception messages is a bit
more
 interesting.  How does the library developer know whether or not the
message
 part of the exception will be displayed to end users?  From a pragmatic
 viewpoint, you can pretty much assume this will happen with exceptions
in
 webapps, while many Swing apps will hide that sort of stuff to some
degree.

I think that since low level components may be used almost anywhere, their
messages *may* be displayed and this sole possibility is enough to justify
a
localized version should be made available. If the application gets an
error it
really doesn't know about, it can simply display it.

 But, as a bottom line, if I'm interested in maximum adoption of a
Commons
 library I work on, I will diligently ensure that exception messages are
 localizable :-).

When I first started this long thread, I thought the need for localized
error
messages as provided by exceptions was acknowledged by everyone and asked
for
the way to implement it, starting from a simple one which already works. I
was
wrong. The disagreement started about the need itself and slipped to the
level
at which implementation should be done.

I would really like to reach a compromise on this issue, something that
could by
accepted by everybody. I don't want to get banned with a -1 on a commit,
but at
least a few people would like localized error messages that can be simply
forwarded upward from lower layers to upper layer for display without
processing. Standard java already provides Throwable.getLocalizedMessage()
since
JDK 1.1. I could set up for [math] only an exception hierarchy that only
add a
few constructors and an implementation of this method without any change
in the
Throwable.getMessage() behaviour. Does this sound reasonable ?



Sorry  I was  out of pocket this week and could not reiterate my personal +1
for moving forward as you suggest, Luc.  I will add a few of more comments
below.  If anyone still has serious reservations - especially those who now
or in the future may contribute to [math] - pls speak up;  otherwise we can
move on.  Thanks to all who provided comments.

1) My initial +1 was based on the fact that the error management that you
need to support this approach is in fact there in Mantissa and if you
*don't* support localization when text is being generated, you either need
to get into nonsense like parsing and translating error messages,
complicating your exceptions hierarchy, or losing/hiding information at
higher levels.  If you do the work to localize when the string is generated,
that gives a choice at higher levels, which to me is goodness (assuming you
are prepared to do the work and the implementation is robust against missing
bundles, etc.).

2) Commons math generates error messages now, and should generate better
messages (as Mantissa does) in the future that using applications may want
to display to end users or in application logs.  I would like for those
messages to be localizable.  If one of our solvers does not converge because
initial values do not bracket a root, for example,  I would like the
developer of a localized client application that uses the solver to be able
to display that message directly in a log or to the user.  Whether or not
logging is good or bad is completely irrelevant to this discussion.

3) Apache is a do-ocracy and we have a proposal before us to significantly
improve exception management and error reporting in [math] by extending and
leveraging the framework in Mantissa.  Luc is volunteering to do this and
the only other active contributor to [math] who has chimed in (yours truly)
is also in favor.  The arguments against are either it is too much work to
implement exception error message localization or it may not be robust.  Luc
is stepping up to *do* the work (actually, leverage work already mostly done
in Mantissa) and I don't see robustness or performance risk in what he has
implemented.  Pls speak up if I am missing something in the latter case.
Therefore, appreciating the feedback from others and reservations about
applying across commons, for 

Re: [all] exceptions and localization

2007-02-03 Thread James Carman

So, nobody liked my idea of just providing the data?

On 1/30/07, James Carman [EMAIL PROTECTED] wrote:

How about if we give the data for the localized message instead of
localizing it ourselves?  I've done this for a class I call
BusinessLogicException (used for when a user breaks a business rule
like already a user with that name in the system since you would
want to display that error message to the user).  What I did was
create a message class like this:

public class BusinessLogicException extends Exception
{
  private final String messageKey;
  private final Object[] arguments;  // May have been called parameters?
  // Constructors and getters here...
}

So, if an application wants to localize the message, they can use
their own localization paradigm (i18n, resource bundles, Tapestry
messages, etc.).

On 1/30/07, Craig McClanahan [EMAIL PROTECTED] wrote:
 On 1/28/07, Stephen Colebourne [EMAIL PROTECTED] wrote:
 
  Phil Steitz wrote:
   I am interested in what others have to
   say about this as a general practice for commons.  For [math]
  specifically,
   I think it is important that we can fit seamlessly into localized
   applications, and we are refactoring our exceptions hierarchy anyway, so
  I
   say go for it.
 
  I disagree strongly with the whole concept of localized exception
  messages. Localization for users yes, but developers no.
 
   On 1/28/07, Luc Maisonobe [EMAIL PROTECTED] wrote:
   As a non-native english speaker, I am quite eager to provide users
   with libraries that can be embedded seemlessly into localized
   applications.
 
  IMO, a localized application actually means localization for users, and
  implies nothing for developers.
 
  Adding localized error messages is another place for the application to
  go wrong, so you're going to have to test this fully. After all, if you
  get it wrong, you could lose the real exception and just get a
  meaningless failed to localize exception. And thats a terrible outcome.
 
  For the record, I would -1 any code commit to add localized error
  messages to a component I actively commit to.


 I'm late to the table on this thread, and only care about the Commons
 libraries I care about :-), but you should be aware that this attitude will
 disqualify the use of such libraries from use within code from organizations
 that have strict rules about implementing localization.  I work for such an
 organization (Sun) ... the key rules are that any message that might be
 visible to users *must* be localizable.

 For log messages, that tends to translate into a straightforward policy that
 DEBUG and TRACE type messages do not need to be localized, but anything from
 INFO level above must be.  The issue for exception messages is a bit more
 interesting.  How does the library developer know whether or not the message
 part of the exception will be displayed to end users?  From a pragmatic
 viewpoint, you can pretty much assume this will happen with exceptions in
 webapps, while many Swing apps will hide that sort of stuff to some degree.

 But, as a bottom line, if I'm interested in maximum adoption of a Commons
 library I work on, I will diligently ensure that exception messages are
 localizable :-).

 Stephen


 Craig


 -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]
 
 





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [all] exceptions and localization

2007-02-03 Thread Niall Pemberton

On 2/3/07, Phil Steitz [EMAIL PROTECTED] wrote:

On 1/30/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:

 Craig McClanahan wrote:


  I'm late to the table on this thread, and only care about the Commons
  libraries I care about :-)

 Thanks for your interest in this thread.

  but you should be aware that this attitude will
  disqualify the use of such libraries from use within code from
 organizations
  that have strict rules about implementing localization.  I work for such
 an
  organization (Sun) ... the key rules are that any message that might be
  visible to users *must* be localizable.

 I agree with you and thought localization should be provided by the layer
 which
 provides the message. Other people think this should be done at
 application
 level, if done at all.

  For log messages, that tends to translate into a straightforward policy
 that
  DEBUG and TRACE type messages do not need to be localized, but anything
 from
  INFO level above must be.  The issue for exception messages is a bit
 more
  interesting.  How does the library developer know whether or not the
 message
  part of the exception will be displayed to end users?  From a pragmatic
  viewpoint, you can pretty much assume this will happen with exceptions
 in
  webapps, while many Swing apps will hide that sort of stuff to some
 degree.

 I think that since low level components may be used almost anywhere, their
 messages *may* be displayed and this sole possibility is enough to justify
 a
 localized version should be made available. If the application gets an
 error it
 really doesn't know about, it can simply display it.

  But, as a bottom line, if I'm interested in maximum adoption of a
 Commons
  library I work on, I will diligently ensure that exception messages are
  localizable :-).

 When I first started this long thread, I thought the need for localized
 error
 messages as provided by exceptions was acknowledged by everyone and asked
 for
 the way to implement it, starting from a simple one which already works. I
 was
 wrong. The disagreement started about the need itself and slipped to the
 level
 at which implementation should be done.

 I would really like to reach a compromise on this issue, something that
 could by
 accepted by everybody. I don't want to get banned with a -1 on a commit,
 but at
 least a few people would like localized error messages that can be simply
 forwarded upward from lower layers to upper layer for display without
 processing. Standard java already provides Throwable.getLocalizedMessage()
 since
 JDK 1.1. I could set up for [math] only an exception hierarchy that only
 add a
 few constructors and an implementation of this method without any change
 in the
 Throwable.getMessage() behaviour. Does this sound reasonable ?


Sorry  I was  out of pocket this week and could not reiterate my personal +1
for moving forward as you suggest, Luc.  I will add a few of more comments
below.  If anyone still has serious reservations - especially those who now
or in the future may contribute to [math] - pls speak up;  otherwise we can
move on.  Thanks to all who provided comments.

1) My initial +1 was based on the fact that the error management that you
need to support this approach is in fact there in Mantissa and if you
*don't* support localization when text is being generated, you either need
to get into nonsense like parsing and translating error messages,
complicating your exceptions hierarchy, or losing/hiding information at
higher levels.  If you do the work to localize when the string is generated,
that gives a choice at higher levels, which to me is goodness (assuming you
are prepared to do the work and the implementation is robust against missing
bundles, etc.).

2) Commons math generates error messages now, and should generate better
messages (as Mantissa does) in the future that using applications may want
to display to end users or in application logs.  I would like for those
messages to be localizable.  If one of our solvers does not converge because
initial values do not bracket a root, for example,  I would like the
developer of a localized client application that uses the solver to be able
to display that message directly in a log or to the user.  Whether or not
logging is good or bad is completely irrelevant to this discussion.

3) Apache is a do-ocracy and we have a proposal before us to significantly
improve exception management and error reporting in [math] by extending and
leveraging the framework in Mantissa.  Luc is volunteering to do this and
the only other active contributor to [math] who has chimed in (yours truly)
is also in favor.  The arguments against are either it is too much work to
implement exception error message localization or it may not be robust.  Luc
is stepping up to *do* the work (actually, leverage work already mostly done
in Mantissa) and I don't see robustness or performance risk in what he has
implemented.  Pls speak up if I am missing something in the 

Re: [all] exceptions and localization

2007-02-03 Thread James Carman

Well, I wouldn't even provide a getMessage(Locale).  I'd leave it up
to the running application to resolve the message.  For instance, in
Tapestry, it doesn't use resource bundles to localize messages, at
least not directly in application code.  It uses a special Messages
object.  So, I would provide getKey()/getParameters() methods only and
leave it up to the containing application to localize the text.  That
way, they can give some context to the error message instead of
relying upon us to be general enough.

On 2/3/07, Niall Pemberton [EMAIL PROTECTED] wrote:

On 2/3/07, Phil Steitz [EMAIL PROTECTED] wrote:
 On 1/30/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 
  Craig McClanahan wrote:
 
 
   I'm late to the table on this thread, and only care about the Commons
   libraries I care about :-)
 
  Thanks for your interest in this thread.
 
   but you should be aware that this attitude will
   disqualify the use of such libraries from use within code from
  organizations
   that have strict rules about implementing localization.  I work for such
  an
   organization (Sun) ... the key rules are that any message that might be
   visible to users *must* be localizable.
 
  I agree with you and thought localization should be provided by the layer
  which
  provides the message. Other people think this should be done at
  application
  level, if done at all.
 
   For log messages, that tends to translate into a straightforward policy
  that
   DEBUG and TRACE type messages do not need to be localized, but anything
  from
   INFO level above must be.  The issue for exception messages is a bit
  more
   interesting.  How does the library developer know whether or not the
  message
   part of the exception will be displayed to end users?  From a pragmatic
   viewpoint, you can pretty much assume this will happen with exceptions
  in
   webapps, while many Swing apps will hide that sort of stuff to some
  degree.
 
  I think that since low level components may be used almost anywhere, their
  messages *may* be displayed and this sole possibility is enough to justify
  a
  localized version should be made available. If the application gets an
  error it
  really doesn't know about, it can simply display it.
 
   But, as a bottom line, if I'm interested in maximum adoption of a
  Commons
   library I work on, I will diligently ensure that exception messages are
   localizable :-).
 
  When I first started this long thread, I thought the need for localized
  error
  messages as provided by exceptions was acknowledged by everyone and asked
  for
  the way to implement it, starting from a simple one which already works. I
  was
  wrong. The disagreement started about the need itself and slipped to the
  level
  at which implementation should be done.
 
  I would really like to reach a compromise on this issue, something that
  could by
  accepted by everybody. I don't want to get banned with a -1 on a commit,
  but at
  least a few people would like localized error messages that can be simply
  forwarded upward from lower layers to upper layer for display without
  processing. Standard java already provides Throwable.getLocalizedMessage()
  since
  JDK 1.1. I could set up for [math] only an exception hierarchy that only
  add a
  few constructors and an implementation of this method without any change
  in the
  Throwable.getMessage() behaviour. Does this sound reasonable ?


 Sorry  I was  out of pocket this week and could not reiterate my personal +1
 for moving forward as you suggest, Luc.  I will add a few of more comments
 below.  If anyone still has serious reservations - especially those who now
 or in the future may contribute to [math] - pls speak up;  otherwise we can
 move on.  Thanks to all who provided comments.

 1) My initial +1 was based on the fact that the error management that you
 need to support this approach is in fact there in Mantissa and if you
 *don't* support localization when text is being generated, you either need
 to get into nonsense like parsing and translating error messages,
 complicating your exceptions hierarchy, or losing/hiding information at
 higher levels.  If you do the work to localize when the string is generated,
 that gives a choice at higher levels, which to me is goodness (assuming you
 are prepared to do the work and the implementation is robust against missing
 bundles, etc.).

 2) Commons math generates error messages now, and should generate better
 messages (as Mantissa does) in the future that using applications may want
 to display to end users or in application logs.  I would like for those
 messages to be localizable.  If one of our solvers does not converge because
 initial values do not bracket a root, for example,  I would like the
 developer of a localized client application that uses the solver to be able
 to display that message directly in a log or to the user.  Whether or not
 logging is good or bad is completely irrelevant to this discussion.

 3) 

Re: [all] exceptions and localization

2007-02-03 Thread Phil Steitz

On 2/3/07, James Carman [EMAIL PROTECTED] wrote:


Well, I wouldn't even provide a getMessage(Locale).  I'd leave it up
to the running application to resolve the message.  For instance, in
Tapestry, it doesn't use resource bundles to localize messages, at
least not directly in application code.  It uses a special Messages
object.  So, I would provide getKey()/getParameters() methods only and
leave it up to the containing application to localize the text.  That
way, they can give some context to the error message instead of
relying upon us to be general enough.



The problem with that is that generic handlers that display messages would
not work. I like the idea of carrying the data along, though and exposing
it, as well as providing translate (see
http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/MantissaException.java?view=markup
)
and getMessage(Locale) methods.  That gives client apps the most
flexibility.  What do you think, Luc?

Phil

On 2/3/07, Niall Pemberton [EMAIL PROTECTED] wrote:

 On 2/3/07, Phil Steitz [EMAIL PROTECTED] wrote:
  On 1/30/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
  
   Craig McClanahan wrote:
  
  
I'm late to the table on this thread, and only care about the
Commons
libraries I care about :-)
  
   Thanks for your interest in this thread.
  
but you should be aware that this attitude will
disqualify the use of such libraries from use within code from
   organizations
that have strict rules about implementing localization.  I work
for such
   an
organization (Sun) ... the key rules are that any message that
might be
visible to users *must* be localizable.
  
   I agree with you and thought localization should be provided by the
layer
   which
   provides the message. Other people think this should be done at
   application
   level, if done at all.
  
For log messages, that tends to translate into a straightforward
policy
   that
DEBUG and TRACE type messages do not need to be localized, but
anything
   from
INFO level above must be.  The issue for exception messages is a
bit
   more
interesting.  How does the library developer know whether or not
the
   message
part of the exception will be displayed to end users?  From a
pragmatic
viewpoint, you can pretty much assume this will happen with
exceptions
   in
webapps, while many Swing apps will hide that sort of stuff to
some
   degree.
  
   I think that since low level components may be used almost anywhere,
their
   messages *may* be displayed and this sole possibility is enough to
justify
   a
   localized version should be made available. If the application gets
an
   error it
   really doesn't know about, it can simply display it.
  
But, as a bottom line, if I'm interested in maximum adoption of a
   Commons
library I work on, I will diligently ensure that exception
messages are
localizable :-).
  
   When I first started this long thread, I thought the need for
localized
   error
   messages as provided by exceptions was acknowledged by everyone and
asked
   for
   the way to implement it, starting from a simple one which already
works. I
   was
   wrong. The disagreement started about the need itself and slipped to
the
   level
   at which implementation should be done.
  
   I would really like to reach a compromise on this issue, something
that
   could by
   accepted by everybody. I don't want to get banned with a -1 on a
commit,
   but at
   least a few people would like localized error messages that can be
simply
   forwarded upward from lower layers to upper layer for display
without
   processing. Standard java already provides
Throwable.getLocalizedMessage()
   since
   JDK 1.1. I could set up for [math] only an exception hierarchy that
only
   add a
   few constructors and an implementation of this method without any
change
   in the
   Throwable.getMessage() behaviour. Does this sound reasonable ?
 
 
  Sorry  I was  out of pocket this week and could not reiterate my
personal +1
  for moving forward as you suggest, Luc.  I will add a few of more
comments
  below.  If anyone still has serious reservations - especially those
who now
  or in the future may contribute to [math] - pls speak up;  otherwise
we can
  move on.  Thanks to all who provided comments.
 
  1) My initial +1 was based on the fact that the error management that
you
  need to support this approach is in fact there in Mantissa and if you
  *don't* support localization when text is being generated, you either
need
  to get into nonsense like parsing and translating error messages,
  complicating your exceptions hierarchy, or losing/hiding information
at
  higher levels.  If you do the work to localize when the string is
generated,
  that gives a choice at higher levels, which to me is goodness
(assuming you
  are prepared to do the work and the implementation is robust against
missing
  bundles, etc.).
 
  2) Commons 

Re: [all] exceptions and localization

2007-02-03 Thread James Carman

How does a calling application override the message, if they wish?

On 2/3/07, Phil Steitz [EMAIL PROTECTED] wrote:

On 2/3/07, James Carman [EMAIL PROTECTED] wrote:

 Well, I wouldn't even provide a getMessage(Locale).  I'd leave it up
 to the running application to resolve the message.  For instance, in
 Tapestry, it doesn't use resource bundles to localize messages, at
 least not directly in application code.  It uses a special Messages
 object.  So, I would provide getKey()/getParameters() methods only and
 leave it up to the containing application to localize the text.  That
 way, they can give some context to the error message instead of
 relying upon us to be general enough.


The problem with that is that generic handlers that display messages would
not work. I like the idea of carrying the data along, though and exposing
it, as well as providing translate (see
http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/MantissaException.java?view=markup
)
and getMessage(Locale) methods.  That gives client apps the most
flexibility.  What do you think, Luc?

Phil

On 2/3/07, Niall Pemberton [EMAIL PROTECTED] wrote:
  On 2/3/07, Phil Steitz [EMAIL PROTECTED] wrote:
   On 1/30/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
   
Craig McClanahan wrote:
   
   
 I'm late to the table on this thread, and only care about the
 Commons
 libraries I care about :-)
   
Thanks for your interest in this thread.
   
 but you should be aware that this attitude will
 disqualify the use of such libraries from use within code from
organizations
 that have strict rules about implementing localization.  I work
 for such
an
 organization (Sun) ... the key rules are that any message that
 might be
 visible to users *must* be localizable.
   
I agree with you and thought localization should be provided by the
 layer
which
provides the message. Other people think this should be done at
application
level, if done at all.
   
 For log messages, that tends to translate into a straightforward
 policy
that
 DEBUG and TRACE type messages do not need to be localized, but
 anything
from
 INFO level above must be.  The issue for exception messages is a
 bit
more
 interesting.  How does the library developer know whether or not
 the
message
 part of the exception will be displayed to end users?  From a
 pragmatic
 viewpoint, you can pretty much assume this will happen with
 exceptions
in
 webapps, while many Swing apps will hide that sort of stuff to
 some
degree.
   
I think that since low level components may be used almost anywhere,
 their
messages *may* be displayed and this sole possibility is enough to
 justify
a
localized version should be made available. If the application gets
 an
error it
really doesn't know about, it can simply display it.
   
 But, as a bottom line, if I'm interested in maximum adoption of a
Commons
 library I work on, I will diligently ensure that exception
 messages are
 localizable :-).
   
When I first started this long thread, I thought the need for
 localized
error
messages as provided by exceptions was acknowledged by everyone and
 asked
for
the way to implement it, starting from a simple one which already
 works. I
was
wrong. The disagreement started about the need itself and slipped to
 the
level
at which implementation should be done.
   
I would really like to reach a compromise on this issue, something
 that
could by
accepted by everybody. I don't want to get banned with a -1 on a
 commit,
but at
least a few people would like localized error messages that can be
 simply
forwarded upward from lower layers to upper layer for display
 without
processing. Standard java already provides
 Throwable.getLocalizedMessage()
since
JDK 1.1. I could set up for [math] only an exception hierarchy that
 only
add a
few constructors and an implementation of this method without any
 change
in the
Throwable.getMessage() behaviour. Does this sound reasonable ?
  
  
   Sorry  I was  out of pocket this week and could not reiterate my
 personal +1
   for moving forward as you suggest, Luc.  I will add a few of more
 comments
   below.  If anyone still has serious reservations - especially those
 who now
   or in the future may contribute to [math] - pls speak up;  otherwise
 we can
   move on.  Thanks to all who provided comments.
  
   1) My initial +1 was based on the fact that the error management that
 you
   need to support this approach is in fact there in Mantissa and if you
   *don't* support localization when text is being generated, you either
 need
   to get into nonsense like parsing and translating error messages,
   complicating your exceptions hierarchy, or losing/hiding information
 at
   higher levels.  If you do 

Re: [all] exceptions and localization

2007-02-03 Thread Phil Steitz

On 2/3/07, James Carman [EMAIL PROTECTED] wrote:


How does a calling application override the message, if they wish?



They could subclass and override translate() or, assuming we take your
suggestion and carry the data along, they could access the data and do
whatever they want with it.  I agree that it is a good idea to persist and
expose the key and parts.  I just also think it is good for getMessage() and
getMessage(Locale) to provide default localization out of the box.

Phil


Re: [all] exceptions and localization

2007-02-03 Thread James Carman

Why not getMessage(ResourceBundle) so that the client apps can use
their own resource bundle if they wish?  Or, provide a common
interface and adaptors that adapt different i18n mechanisms to your
paradigm.  So, you'd have:

String getMessage( MessageSource src );

And, you'd have different flavors of MessageSource, one for
ResourceBundles, one for HiveMind messages, one for commons i18n, etc.

On 2/3/07, Phil Steitz [EMAIL PROTECTED] wrote:

On 2/3/07, James Carman [EMAIL PROTECTED] wrote:

 Well, I wouldn't even provide a getMessage(Locale).  I'd leave it up
 to the running application to resolve the message.  For instance, in
 Tapestry, it doesn't use resource bundles to localize messages, at
 least not directly in application code.  It uses a special Messages
 object.  So, I would provide getKey()/getParameters() methods only and
 leave it up to the containing application to localize the text.  That
 way, they can give some context to the error message instead of
 relying upon us to be general enough.


The problem with that is that generic handlers that display messages would
not work. I like the idea of carrying the data along, though and exposing
it, as well as providing translate (see
http://svn.apache.org/viewvc/jakarta/commons/proper/math/trunk/src/mantissa/src/org/spaceroots/mantissa/MantissaException.java?view=markup
)
and getMessage(Locale) methods.  That gives client apps the most
flexibility.  What do you think, Luc?

Phil

On 2/3/07, Niall Pemberton [EMAIL PROTECTED] wrote:
  On 2/3/07, Phil Steitz [EMAIL PROTECTED] wrote:
   On 1/30/07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
   
Craig McClanahan wrote:
   
   
 I'm late to the table on this thread, and only care about the
 Commons
 libraries I care about :-)
   
Thanks for your interest in this thread.
   
 but you should be aware that this attitude will
 disqualify the use of such libraries from use within code from
organizations
 that have strict rules about implementing localization.  I work
 for such
an
 organization (Sun) ... the key rules are that any message that
 might be
 visible to users *must* be localizable.
   
I agree with you and thought localization should be provided by the
 layer
which
provides the message. Other people think this should be done at
application
level, if done at all.
   
 For log messages, that tends to translate into a straightforward
 policy
that
 DEBUG and TRACE type messages do not need to be localized, but
 anything
from
 INFO level above must be.  The issue for exception messages is a
 bit
more
 interesting.  How does the library developer know whether or not
 the
message
 part of the exception will be displayed to end users?  From a
 pragmatic
 viewpoint, you can pretty much assume this will happen with
 exceptions
in
 webapps, while many Swing apps will hide that sort of stuff to
 some
degree.
   
I think that since low level components may be used almost anywhere,
 their
messages *may* be displayed and this sole possibility is enough to
 justify
a
localized version should be made available. If the application gets
 an
error it
really doesn't know about, it can simply display it.
   
 But, as a bottom line, if I'm interested in maximum adoption of a
Commons
 library I work on, I will diligently ensure that exception
 messages are
 localizable :-).
   
When I first started this long thread, I thought the need for
 localized
error
messages as provided by exceptions was acknowledged by everyone and
 asked
for
the way to implement it, starting from a simple one which already
 works. I
was
wrong. The disagreement started about the need itself and slipped to
 the
level
at which implementation should be done.
   
I would really like to reach a compromise on this issue, something
 that
could by
accepted by everybody. I don't want to get banned with a -1 on a
 commit,
but at
least a few people would like localized error messages that can be
 simply
forwarded upward from lower layers to upper layer for display
 without
processing. Standard java already provides
 Throwable.getLocalizedMessage()
since
JDK 1.1. I could set up for [math] only an exception hierarchy that
 only
add a
few constructors and an implementation of this method without any
 change
in the
Throwable.getMessage() behaviour. Does this sound reasonable ?
  
  
   Sorry  I was  out of pocket this week and could not reiterate my
 personal +1
   for moving forward as you suggest, Luc.  I will add a few of more
 comments
   below.  If anyone still has serious reservations - especially those
 who now
   or in the future may contribute to [math] - pls speak up;  otherwise
 we can
   move on.  Thanks to all who provided comments.
  
   1) My initial +1 was based on the fact that the error management that
 

Re: [all] exceptions and localization

2007-02-03 Thread James Carman

How would they subclass?  The commons math code will be throwing these
exceptions themselves, no?  They wouldn't be able to tell commons math
to throw a specific type of exception class that they wrote.

I agree that the default case (the JDK's getMessage() method) should
work so that nobody has to know about the special i18n facilities.
But, if you're truly looking to provide a rich i18n framework for
exceptions, you need to make it extensible/adaptable.

On 2/3/07, Phil Steitz [EMAIL PROTECTED] wrote:

On 2/3/07, James Carman [EMAIL PROTECTED] wrote:

 How does a calling application override the message, if they wish?


They could subclass and override translate() or, assuming we take your
suggestion and carry the data along, they could access the data and do
whatever they want with it.  I agree that it is a good idea to persist and
expose the key and parts.  I just also think it is good for getMessage() and
getMessage(Locale) to provide default localization out of the box.

Phil




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [all] exceptions and localization

2007-02-03 Thread Phil Steitz

On 2/3/07, James Carman [EMAIL PROTECTED] wrote:


How would they subclass?  The commons math code will be throwing these
exceptions themselves, no?  They wouldn't be able to tell commons math
to throw a specific type of exception class that they wrote.



Yes, you're right.

I agree that the default case (the JDK's getMessage() method) should

work so that nobody has to know about the special i18n facilities.
But, if you're truly looking to provide a rich i18n framework for
exceptions, you need to make it extensible/adaptable.



I think exposing the key and parts and adding getMessage(Locale) is probably
good enough.

Phil