Re: cvs commit: jakarta-commons/jelly project.xml

2004-11-22 Thread Brett Porter

I've never understood removing the ability to use a standard XML
feature. I understand why it would be discouraged, but removing seems
wrong.
 

It'll be optional. The parser used without it, I'm told, is an order of 
magnitude faster with it turned off. This becomes an issue when things 
like transitive dependencies are enabled because there are quite a 
number of POMs to parse traversing the dependency tree.

Still, nothing is set in stone.
Sounds good.
I've reverted to using 1.0.1 anyway as 1.1-SNAPSHOT of maven has issues ATM.
 

Yep, well it's fairly early in the dev. cycle and a few things in there 
are proof of concept as much as anything and there is some cleaning up 
to do. Still, feel free to file issues if there are blocking problems so 
they can be sorted earlier rather than later.

Do you want me to adjust the build, or shall I leave it with you?
Cheers,
Brett
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: jakarta-commons/jelly project.xml

2004-11-22 Thread Paul Libbrecht
I may have been the one doing this.
It is related to the fact that, at least at the time, maven had no way 
to specify to digester the system-ID of the parsed document which made 
it that the parser was only able to resolve the entities wrt to the 
working directory which broke in... jelly-tags/xxx/...
I think it has been fixed in Digester and this may have changed in 
maven, but I think it was still in the 1.0.

paul
Le 22 nov. 04, à 06:38, Dion Gillard a écrit :
I've never understood removing the ability to use a standard XML
feature. I understand why it would be discouraged, but removing seems
wrong.

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


Re: [transaction][VOTE] Release 1.0-RC1

2004-11-22 Thread Stefan Lützkendorf
+1
Stefan
Oliver Zeigermann wrote:
Dear community,
I would like to see a 1.0 release candidate. The code is stable, junt
tests pass, document exists and the scripts are in good shape. Still
we should check that everything looks the way we expect before
releasing a final 1.0.
I already created the distributions calling 'ant package'. They are
ready for inspection here:
http://www.apache.org/~ozeigermann/
So, I am +1 for a release.
Oliver
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Stefan Lützkendorf  --  [EMAIL PROTECTED]
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [VOTE] Release Chain 1.0

2004-11-22 Thread Vic
Not to jump all over you, but Chain was there for a year, and I too used 
it in prouduction. Alternative interfaces would mean redesign and maybe 
even problems for current users, it is not backwards compatible.

A key to its power is the Map. I realy think that if you got a chance to 
use it it would come to you.

I too agree that WebContext caries to much info. Also... the point of 
the map is to add what you need. I can think of 100 Contexts (Portlet, 
Hessian, Soap, JSF, JMS, Jabber,  ).
Maybe in the 1.1 release those things are marked for deprecation.

.V
Matt Sgarlata wrote:
Before a 1.0 release, I would like to suggest an alternative Context 
interface.  Sorry, I realize I'm getting to the game a little late ;)  I 
think it is inappropriate for Context to extend from Map, because a 
Context as defined in the Chain package isn't really a Map.  Maps are 
great, but for what the Chain package is trying to do they're probably 
overkill.  One testament to this fact is the incredible difficulty of 
implementing the ServletWebContext class.  Implementing methods like 
entrySet(), keySet(), and values() are a real pain, and the 
implementations are all O(n)... ouch.

Below is my suggested alternative interface.  It's simple by design, to 
make it easy to implement.

public interface Context {
   public String[] getPropertyNames() throws ContextException;
   public Object get(String propertyName) throws ContextException;
   public void set(String propertyName, Object propertyValue)
   throws ContextException;
}
I also am concerned that the ServletWebContext class exposes too much 
information that is specific to the presentation tier.  Even if a 
business object were to depend only on the Context interface, if a 
ServletWebContext was passed in, the business object would be tied to 
HTTP symantics with calls such as 
context.get(sessionScope.myBean.myProperty).  I would recommend a 
context simliar to the one available to the JST: let request attributes 
be a scratchpad and let session and application items be visible so long 
as they aren't blocked by a lower level.

For full javadoc on my ideas behind contexts, please see the 
net.sf.morph.Context class and the net.sf.morph.context.* package.  
Also, take a look at net.sf.morph.context.ServletWebContext.  Here's a 
link to the Morph homepage where you can access the Morph API:
http://www.crystalcognition.com/sgarlatm/morph

I'm not on SourceForge yet but I applied on Friday so hopefully I'll be 
there soon!

Matt
- Original Message - From: Martin Cooper [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Sunday, November 21, 2004 6:01 PM
Subject: [VOTE] Release Chain 1.0

I believe Chain is now sufficiently complete and stable to warrant an 
official 1.0 release. There are no outstanding bug reports, and the 
component is already in use in a number of projects.

The plan is to release HEAD as Commons Chain 1.0 on completion of a 
successful vote. I will be the release manager.

---
 [ ] +1  I support this release and am willing to help
 [ ] +0  I support this release but am unable to help
 [ ] -0  I do not support this release
 [ ] -1  I do not support this release, and here are my reasons
---
Here is my own +1.
--
Martin Cooper
-
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: [VOTE] Promote Resources to Commons Proper

2004-11-22 Thread Stephen Colebourne
-0

I haven't been involved with this project at all,
however I haven't had any impression of there being an
active community working with the component. In fact,
I can't remember seeing any emails about [resources]
except for lots of failed gump reports (which
indicates a lack of maintainance to me).

If I get time, I may research to see if my memory is
accurate, because if so I may change my vote to -1.
Perhaps you could clarify who the users of this are,
and why now is the time to promote it?

Stephen

 --- Martin Cooper [EMAIL PROTECTED] wrote: 
 The Resources project has been in the sandbox for
 quite some time, and is 
 essentially complete and almost ready for a release.
 Several projects are 
 using it already, and others are ready to pick it up
 once it is released.
 
 Therefore I propose that we promote Resources out of
 the sandbox and into 
 Commons Proper, in preparation for a 1.0 release in
 the near future.
 

---
   [ ] +1  I support this proposal and am willing to
 help
   [ ] +0  I support this proposal but am unable to
 help
   [ ] -0  I do not support this proposal
   [ ] -1  I do not support this propsal, and here
 are my reasons

---
 
 Here is my own +1.
 
 --
 Martin Cooper
 
 

-
 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: [VOTE] Release Chain 1.0

2004-11-22 Thread Shapira, Yoav

Hi,

---
  [ X ] +1  I support this release and am willing to help
  [ ] +0  I support this release but am unable to help
  [ ] -0  I do not support this release
  [ ] -1  I do not support this release, and here are my reasons
---

The design discussions have merit, but they should be deferred to
version 1.1 or later, and should not hold up the 1.0 release.

Yoav



This e-mail, including any attachments, is a confidential business 
communication, and may contain information that is confidential, proprietary 
and/or privileged.  This e-mail is intended only for the individual(s) to whom 
it is addressed, and may not be saved, copied, printed, disclosed or used by 
anyone else.  If you are not the(an) intended recipient, please immediately 
delete this e-mail from your computer system and notify the sender.  Thank you.


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



Re: [VOTE] Promote Resources to Commons Proper

2004-11-22 Thread James Mitchell
- Original Message - 
From: Stephen Colebourne [EMAIL PROTECTED]
To: Jakarta Commons Developers List [EMAIL PROTECTED]
Sent: Monday, November 22, 2004 8:09 AM
Subject: Re: [VOTE] Promote Resources to Commons Proper


-0
I haven't been involved with this project at all,
however I haven't had any impression of there being an
active community working with the component.
Well, that's because this effort is mostly complete.  Trust me, activity 
level will explode as soon as resources becomes a core dependency in Struts. 
We are almost there.  I have already begun work on a plugin that let's 
people use the existing commons-resources with previous Struts versions 1.1 
and 1.2.x as well as several DBMS-based impls hosted on sf.net due to 
licensing (and now, build) issues.

In fact, I can't remember seeing any emails about [resources]
except for lots of failed gump reports (which
indicates a lack of maintainance to me).
No, actually the failed gump reports were due to the fact that someone 
changed something in the gump environment that this project depended on, but 
was either unaware or unconcerned enough to realize they broke it.  I'm 
talking about the dependency on an iBatis jar that was moved or deleted. 
So, since noone answered my plea for help, I removed the files that needed 
them and I will release them separately under sf.net (as mentioned above). 
After doing that, gump stopped puking to the list.

I am aware of what gump is and why we use it.   But the 2 main build 
processes I happen to care about are Ant and Maven.  Commons Resources has 
always built fine with both, and the fairly complete tests always pass 
without issue.  Sorry if this seems like a rant, but I am actually more 
pissed off at myself for being helpless when it comes to gump than I am 
about someone affecting the build.

If I get time, I may research to see if my memory is
accurate, because if so I may change my vote to -1.
Perhaps you could clarify who the users of this are,
and why now is the time to promote it?
Right at this moment, there is a very small user base.  However, if you 
consider the thousands of existing and future users of Apache Struts as a 
good number, then you might change your mind about that -1.

Commons Resources is slated (and has been for quite some time) to be used by 
Struts just as digester, logging, beanutils, etc are now.  The home page for 
resources should have spelled that out for you.

http://jakarta.apache.org/commons/sandbox/resources/

Stephen


--
James Mitchell
Software Engineer / Open Source Evangelist
EdgeTech, Inc.
678.910.8017
AIM: jmitchtx

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


DO NOT REPLY [Bug 32347] New: - bean.propertyName does not evaluate correctly if the bean implements java.util.List

2004-11-22 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32347.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32347

   Summary: bean.propertyName does not evaluate correctly if the
bean implements java.util.List
   Product: Commons
   Version: 1.0 Final
  Platform: PC
OS/Version: Windows 2000
Status: NEW
  Severity: normal
  Priority: P2
 Component: EL
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


I was using EL in a choose tag and could not get it to work at all on a 
particular page.  It worked on other pages, but on one particular page I kept 
getting errors no matter what I tried.  I would get errors like the following:

${VistaTreeModelProxy.empty == false} contains invalid expression(s): 
javax.servlet.jsp.el.ELException: Encountered empty, expected one of 
[IDENTIFIER]
at org.apache.jasper.compiler.DefaultErrorHandler.jspError
(DefaultErrorHandler.java:39)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch
(ErrorDispatcher.java:409)

After trying many different syntaxes, I got a trace of:
2004-11-22 09:28:16 ApplicationDispatcher[/JSF] Servlet.service() for servlet 
jsp threw exception
javax.servlet.jsp.el.ELException: The . operator was supplied with an index 
value of type java.lang.String to be applied to a List or array, but that 
value cannot be converted to an integer.
at org.apache.commons.el.Logger.logError(Logger.java:481)
at org.apache.commons.el.Logger.logError(Logger.java:498)
at org.apache.commons.el.Logger.logError(Logger.java:566)
at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:227)
at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)


I downloaded the source and followed the stack-trace.  It looks as though the 
fact that my bean implemented java.util.List was causing the problem.  (This is 
the only difference I could really find from my identical use of the choose 
tag in other pages.)

From what I have read, the dot-syntax should always try for a bean property, 
but this doesn't seem to work in the case of a List.  Also, using the 
[property] syntax will also always try to coerce property into an integer.  
I am not sure if this is correct either, although what I have read is a bit 
ambiguous.

To work-around this, just don't use EL when it gets confused. The syntax below 
works:
c:when test=%= VistaTreeModelProxy.isEmpty() == false %

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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



DO NOT REPLY [Bug 32347] - bean.propertyName does not evaluate correctly if the bean implements java.util.List

2004-11-22 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32347.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32347





--- Additional Comments From [EMAIL PROTECTED]  2004-11-22 17:06 ---
Try using
c:when test=${fn:length(VistaTreeModelProxy)  0 %
You will need JSTL functions library. 

The behaviour you describe is meant to be used this way:

c:out value=${VistaTreeModelProxy[0]}/

and it will write the first element from your list!


-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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



RE: [VOTE] Promote Email to Commons Proper

2004-11-22 Thread Matthias Wessendorf
cool, thanks Emmanuel.

Eric will this be the last step
for leaving sandbox?

Regards,
Matthias

 -Original Message-
 From: Emmanuel Venisse [mailto:[EMAIL PROTECTED] 
 Sent: Sunday, November 21, 2004 3:48 PM
 To: Jakarta Commons Developers List; Henri Yandell
 Subject: Re: [VOTE] Promote Email to Commons Proper
 
 
 I prepared a bundle for dumbster on codehaus. It will be 
 synchronize with ibiblio in few hours.
 
 Emmanuel
 
 - Original Message - 
 From: Henri Yandell [EMAIL PROTECTED]
 To: Jakarta Commons Developers List [EMAIL PROTECTED]
 Sent: Friday, November 19, 2004 5:26 AM
 Subject: Re: [VOTE] Promote Email to Commons Proper
 
 
  Impressively, Jason has now updated the SF site, the 
 Dumbster site and 
  released a new version under the ASL 2.0.
 
  All that remains is to get it into Maven, and I figure that 
 one of the 
  [email] guys can happily do that (there are instructions on 
 the Maven 
  site for it).
 
  So nothing looks likely to slow down a release, and many kudos to 
  Jason Kitchen for being so responsive to our legal particulars.
 
  Hen
 
  On Thu, 18 Nov 2004 19:57:09 +, robert burrell donkin 
  [EMAIL PROTECTED] wrote:
  
  
  
   On 18 Nov 2004, at 11:39, Eric Pugh wrote:
  
Alright..   This thread has somewhat gotton away from me.  Since
Dumbster is
now licensed as ASL (despite the website being out of 
 date), can 
we move to a conclusion on this thread?
   
If we consider that [email] hasn't materially changed, and 
therefore a new vote isn't required, then I currently tally:
   
+1 Eric Pugh
+1 Matthias Wessendorf
+1 Yoav Shapira
   
Robert, you raised the original lgpl issue which I hope is now 
sorted out. While you didn't specifically put a -1 
 down, I think 
it was implied. Would
you be willing to change that to something else?
  
   i'm now +1 to promotion (and like henri -1 to release 
 until all the 
   loose ends concerning the dumbster license)
  
   i would like to see a note added to the web site recommending the 
   latest (ASF licensed) dumbster. i'd also like to see a 
 new version 
   of dumbster (with an ASL license) uploaded to the maven java 
   repository and the project.xml updated to reflect that.
  
   - robert
  
  
  
  
   
 
   -
   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]
 
 
 
 
 -
 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: [VOTE] Promote Resources to Commons Proper

2004-11-22 Thread Shapira, Yoav

Hi,

Perhaps you could clarify who the users of this are,
and why now is the time to promote it?

That was exactly my question too before voting ;)  ?

Yoav




This e-mail, including any attachments, is a confidential business 
communication, and may contain information that is confidential, proprietary 
and/or privileged.  This e-mail is intended only for the individual(s) to whom 
it is addressed, and may not be saved, copied, printed, disclosed or used by 
anyone else.  If you are not the(an) intended recipient, please immediately 
delete this e-mail from your computer system and notify the sender.  Thank you.


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



DO NOT REPLY [Bug 32347] - bean.propertyName does not evaluate correctly if the bean implements java.util.List

2004-11-22 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32347.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32347





--- Additional Comments From [EMAIL PROTECTED]  2004-11-22 17:53 ---
I appreciate the additional options!

Background
---
I am using JSF and a component by a 3rd party.  The isEmpty() method is a 
method in their TreeModel interface.  I need to use HTML frames to display the 
page, since I need HTML frame's resizing ability.  However, using frames can 
cause the pages in the frames to load in the wrong order.  This causes NPEs, 
which I solved by refreshing quick pages after the slower pages load.

Oh, what a complicated web we weave...
--
Their TreeModelImpl (which my TreeModelProxy extends) implements List, but my 
TreeModelProxy has a Map that holds the different tree models I will be using.  

My TreeModel proxy overrides *all* the TreeModel methods to return the correct 
value based on the selected model in the map.  On initialization there are no 
complete models to load, so in my TreeModelProxy isEmpty() returns true if 
there are no complete models.  I never use the List object that backs my 
TreeModelProxy.

So, why does TreeModelProxy extend their TreeModelImpl (which implements List) 
at all?  Good question.  This is because in the component library I am using, 
their is another bug where they mistakenly cast the model to their 
TreeModelImpl 
class, and not just to their TreeModel interface.  If it was not for the JSF 
component cast issue, I would never have ran into this since my TreeModelProxy 
would have extended Object and only implemented their TreeModel.



-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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



Re: [VOTE] Release Chain 1.0

2004-11-22 Thread Matt Sgarlata
Hi everyone, thanks for your feedback.  Sounds like my ideas for a different 
Context are an enhancement request for Chain 1.1 or Chain 2.0.

As for the Context vs. Map issue, I think the approach I'll take in the 
Morph framework is to have the DelegatingContext class implement Map.  That 
way, in most situations the Map interface will be very easily accessible. 
Also, to create a new Context implementation, only the methods defined in 
the BeanReflector interface will have to be implemented, which is a lot 
easier than implementing the entire Map contract.

Just to give you an idea how easy the BeanReflector interface is to 
implement, the entire implementation is only 45 lines for a reflector that 
exposes HTTP request parameters.  That's in contrast to 121 lines in 
org.apache.commons.chain.web.servlet.ServletParamMap.  (Note, these counts 
start at the line of code that contains the opening brace for the class... 
for example, at the line 'final class ServletParamMap implements Map {')

Matt
- Original Message - 
From: Shapira, Yoav [EMAIL PROTECTED]
To: Jakarta Commons Developers List [EMAIL PROTECTED]
Sent: Monday, November 22, 2004 8:47 AM
Subject: RE: [VOTE] Release Chain 1.0


Hi,
---
 [ X ] +1  I support this release and am willing to help
 [ ] +0  I support this release but am unable to help
 [ ] -0  I do not support this release
 [ ] -1  I do not support this release, and here are my reasons
---
The design discussions have merit, but they should be deferred to
version 1.1 or later, and should not hold up the 1.0 release.
Yoav

This e-mail, including any attachments, is a confidential business 
communication, and may contain information that is confidential, proprietary 
and/or privileged.  This e-mail is intended only for the individual(s) to 
whom it is addressed, and may not be saved, copied, printed, disclosed or 
used by anyone else.  If you are not the(an) intended recipient, please 
immediately delete this e-mail from your computer system and notify the 
sender.  Thank you.

-
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: [VOTE] Promote Resources to Commons Proper

2004-11-22 Thread Craig McClanahan
On Sun, 21 Nov 2004 18:20:33 -0800 (PST), Martin Cooper
[EMAIL PROTECTED] wrote:
 The Resources project has been in the sandbox for quite some time, and is
 essentially complete and almost ready for a release. Several projects are
 using it already, and others are ready to pick it up once it is released.
 
 Therefore I propose that we promote Resources out of the sandbox and into
 Commons Proper, in preparation for a 1.0 release in the near future.
 
 ---
   [X] +1  I support this proposal and am willing to help
   [ ] +0  I support this proposal but am unable to help
   [ ] -0  I do not support this proposal
   [ ] -1  I do not support this propsal, and here are my reasons
 ---
 

Craig

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



Re: [VOTE] Promote Resources to Commons Proper

2004-11-22 Thread Craig McClanahan
On Mon, 22 Nov 2004 13:09:41 + (GMT), Stephen Colebourne
[EMAIL PROTECTED] wrote:
 -0
 
 I haven't been involved with this project at all,
 however I haven't had any impression of there being an
 active community working with the component. In fact,
 I can't remember seeing any emails about [resources]
 except for lots of failed gump reports (which
 indicates a lack of maintainance to me).

I've observed that 99% of the failed Gump reports have been due to
failures in the builds of the downstream dependencies -- the last time
that Resources build was broken because of a problem in it's own
source was a long time ago.

Craig

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



Re: [VOTE] Release Chain 1.0

2004-11-22 Thread Craig McClanahan
On Sun, 21 Nov 2004 15:01:02 -0800 (PST), Martin Cooper
[EMAIL PROTECTED] wrote:
 I believe Chain is now sufficiently complete and stable to warrant an
 official 1.0 release. There are no outstanding bug reports, and the
 component is already in use in a number of projects.
 
 The plan is to release HEAD as Commons Chain 1.0 on completion of a
 successful vote. I will be the release manager.
 
 ---
   [X] +1  I support this release and am willing to help
   [ ] +0  I support this release but am unable to help
   [ ] -0  I do not support this release
   [ ] -1  I do not support this release, and here are my reasons
 ---

Craig

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



Re: [VOTE] Release Chain 1.0

2004-11-22 Thread Simon Kitching
Hi Martin,

On Mon, 2004-11-22 at 20:39, Martin Cooper wrote:
 This sounds like an enhancement request to me. Are you really
 suggesting that Chain should not be released until your specific
 enhancement is endorsed and incorporated into the component? I'm
 afraid I, for one, can't sign up for that.

I think Matt's comment was entirely reasonable. The whole point of a 1.0
release is to freeze the API. If the API isn't right, then people
certainly should speak up *before* the API freeze.

Of course it is better to speak up well before then if possible, but a
release proposal is bound to prompt people to get around to voicing that
concern they have had kicking around in the back of their mind for a
while. Anyone raising the prospect of a release should be expecting this
sort of thing.

It looks to me, as an outsider, like the concensus is that the existing
interface *is* ok, but as a commons committer I hope that everyone will
give it serious consideration, and not ignore it as too late. It is
perfectly valid to change APIs before 1.0 (keeping compatibility is
*desirable* but not mandatory). It's certainly better than being stuck
with the wrong API post-1.0.

Regards,

Simon



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



Re: [VOTE] Release Chain 1.0

2004-11-22 Thread Matt Sgarlata
Sorry, one more comment for ServletWebContext, below...
- Original Message - 
From: Don Brown [EMAIL PROTECTED]
To: Jakarta Commons Developers List [EMAIL PROTECTED]
Sent: Sunday, November 21, 2004 11:11 PM
Subject: Re: [VOTE] Release Chain 1.0


As for ServletWebContext, I see your point, but I'd argue that
business classes would never see the actual ServletWebContext, but
rather get passed an application-specific context, which may or may
not contain ServletWebContext.  For Struts, I'm thinking we'd use an
ActionContext, which would look for objects in the scope hierarchy on
a get() as you suggest, if it detected a WebContext.  Otherwise, the
value would come right out of the ActionContext.  I could see the
value in bringing that scope logic to WebContext, however.
OK, assuming we like ServletWebContext as it currently stands, wouldn't it 
make more sense for getRequestScope(), getSessionScope(), etc. to return 
Context instead of Map?

Don
Matt 


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


Re: [VOTE] Release Chain 1.0

2004-11-22 Thread Martin Cooper
On Tue, 23 Nov 2004 09:37:27 +1300, Simon Kitching
[EMAIL PROTECTED] wrote:
 Hi Martin,
 
 On Mon, 2004-11-22 at 20:39, Martin Cooper wrote:
  This sounds like an enhancement request to me. Are you really
  suggesting that Chain should not be released until your specific
  enhancement is endorsed and incorporated into the component? I'm
  afraid I, for one, can't sign up for that.
 
 I think Matt's comment was entirely reasonable. The whole point of a 1.0
 release is to freeze the API. If the API isn't right, then people
 certainly should speak up *before* the API freeze.

You're right, of course.

 Of course it is better to speak up well before then if possible, but a
 release proposal is bound to prompt people to get around to voicing that
 concern they have had kicking around in the back of their mind for a
 while. Anyone raising the prospect of a release should be expecting this
 sort of thing.

I was (over)reacting to exactly that. Chain was promoted out of the
sandbox almost 6 months ago, so seeing such a fundamental change being
proposed at this point was a bit like a bolt from the blue.

Matt, I apologise for jumping down your throat.

 It looks to me, as an outsider, like the concensus is that the existing
 interface *is* ok, but as a commons committer I hope that everyone will
 give it serious consideration, and not ignore it as too late. It is
 perfectly valid to change APIs before 1.0 (keeping compatibility is
 *desirable* but not mandatory). It's certainly better than being stuck
 with the wrong API post-1.0.

Agreed. I have first hand experience of dealing with a poor API being
exposed in a release...

--
Martin Cooper


 Regards,
 
 Simon
 
 -
 
 
 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: [VOTE] Promote Resources to Commons Proper

2004-11-22 Thread Martin Cooper
On Mon, 22 Nov 2004 13:09:41 + (GMT), Stephen Colebourne
[EMAIL PROTECTED] wrote:
 -0
 
 I haven't been involved with this project at all,
 however I haven't had any impression of there being an
 active community working with the component. In fact,
 I can't remember seeing any emails about [resources]
 except for lots of failed gump reports (which
 indicates a lack of maintainance to me).

The core functionality in Resources was complete some time ago, with
properties file and XML implementations. We (meaning James Mitchell ;)
started to add database implementations, but fell foul of the LGPL /
Java issues, so those implementations were moved out of the ASF. Since
the core implementation was completed, I suspect there has actually
been more discussion of this component on the Struts mailing lists
than here, since the core is really just done. Being done, it really
should be published as such, so that other projects and users who need
a release can rely on one. Promoting Resources out of the sandbox is
the first step in that process.

 If I get time, I may research to see if my memory is
 accurate, because if so I may change my vote to -1.
 Perhaps you could clarify who the users of this are,
 and why now is the time to promote it?

The immediate user of Resources will be Struts 1.3. The Struts
community has been discussing switching to this component for a long
time. We just branched our 1.2 development so that we can start on
1.3, hence the renewed push to bring Resources to the world.

In the meantime, I am aware that a number of people have picked up
Resources independent of Struts and are using it in production. I'm
assuming it just works for them, since, as you noted, there isn't
much traffic on the lists.

I do believe that there will be more direct interest in this component
once it is in use in Struts, but Struts is by no means the sole
consumer for a component such as this.

--
Martin Cooper


 
 Stephen
 
 
 
 --- Martin Cooper [EMAIL PROTECTED] wrote:
  The Resources project has been in the sandbox for
  quite some time, and is
  essentially complete and almost ready for a release.
  Several projects are
  using it already, and others are ready to pick it up
  once it is released.
 
  Therefore I propose that we promote Resources out of
  the sandbox and into
  Commons Proper, in preparation for a 1.0 release in
  the near future.
 
 
 ---
[ ] +1  I support this proposal and am willing to
  help
[ ] +0  I support this proposal but am unable to
  help
[ ] -0  I do not support this proposal
[ ] -1  I do not support this propsal, and here
  are my reasons
 
 ---
 
  Here is my own +1.
 
  --
  Martin Cooper
 
 
 
 -
  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]
 


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



Re: [VOTE] Promote Resources to Commons Proper

2004-11-22 Thread Stephen Colebourne
OK, I'm going to leave my vote as -0.

I do believe that there should be some signs of life in a component before
promotion, rather than seeing a vote thread appear from thin air.

I am not going to try to actively block the component however. Instead, I
trust that you and the other struts committers will prove good guardians of
the code if and when it needs maintaining.

Stephen


 - Original Message -
 From: Stephen Colebourne [EMAIL PROTECTED]
  -0
 
  I haven't been involved with this project at all,
  however I haven't had any impression of there being an
  active community working with the component.

 Well, that's because this effort is mostly complete.  Trust me, activity
 level will explode as soon as resources becomes a core dependency in
Struts.
 We are almost there.  I have already begun work on a plugin that let's
 people use the existing commons-resources with previous Struts versions
1.1
 and 1.2.x as well as several DBMS-based impls hosted on sf.net due to
 licensing (and now, build) issues.

  In fact, I can't remember seeing any emails about [resources]
  except for lots of failed gump reports (which
  indicates a lack of maintainance to me).

 No, actually the failed gump reports were due to the fact that someone
 changed something in the gump environment that this project depended on,
but
 was either unaware or unconcerned enough to realize they broke it.  I'm
 talking about the dependency on an iBatis jar that was moved or deleted.
 So, since noone answered my plea for help, I removed the files that needed
 them and I will release them separately under sf.net (as mentioned above).
 After doing that, gump stopped puking to the list.

 I am aware of what gump is and why we use it.   But the 2 main build
 processes I happen to care about are Ant and Maven.  Commons Resources has
 always built fine with both, and the fairly complete tests always pass
 without issue.  Sorry if this seems like a rant, but I am actually more
 pissed off at myself for being helpless when it comes to gump than I am
 about someone affecting the build.

 
  If I get time, I may research to see if my memory is
  accurate, because if so I may change my vote to -1.
  Perhaps you could clarify who the users of this are,
  and why now is the time to promote it?

 Right at this moment, there is a very small user base.  However, if you
 consider the thousands of existing and future users of Apache Struts as a
 good number, then you might change your mind about that -1.

 Commons Resources is slated (and has been for quite some time) to be used
by
 Struts just as digester, logging, beanutils, etc are now.  The home page
for
 resources should have spelled that out for you.

 http://jakarta.apache.org/commons/sandbox/resources/




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



Re: logging: WeakHashtable

2004-11-22 Thread robert burrell donkin
On 18 Nov 2004, at 21:41, Brian Stansberry wrote:
custom LogFactory implementations are not very
useful at the moment and
so i'd be happy just to live with a note in the
documentation about
this limitation.
Sounds good.  I'll put some thought to a good note,
although it might be a few days.  Were you thinking in
the Javadoc, or somewhere else?
a good note for the javadocs would be excellent. (the content will 
probably end up in the main documentation but where exactly needs a 
little thought.)

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


cvs commit: jakarta-commons/logging/optional/src/test/org/apache/commons/logging LogFactoryTest.java

2004-11-22 Thread rdonkin
rdonkin 2004/11/22 14:50:07

  Modified:logging/optional/src/test/org/apache/commons/logging
LogFactoryTest.java
  Log:
  Improved test cases for WeakHashMap classloading. Contributed by Brian 
Stansberry.
  
  Revision  ChangesPath
  1.3   +146 -96   
jakarta-commons/logging/optional/src/test/org/apache/commons/logging/LogFactoryTest.java
  
  Index: LogFactoryTest.java
  ===
  RCS file: 
/home/cvs/jakarta-commons/logging/optional/src/test/org/apache/commons/logging/LogFactoryTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- LogFactoryTest.java   17 Nov 2004 23:23:21 -  1.2
  +++ LogFactoryTest.java   22 Nov 2004 22:50:07 -  1.3
  @@ -17,8 +17,11 @@
   
   package org.apache.commons.logging;
   
  +import java.io.ByteArrayOutputStream;
  +import java.io.FileNotFoundException;
  +import java.io.IOException;
  +import java.io.InputStream;
   import java.lang.ref.WeakReference;
  -import java.util.Hashtable;
   
   import junit.framework.TestCase;
   
  @@ -46,119 +49,97 @@
* Tests that LogFactories are not removed from the map
* if their creating ClassLoader is still alive.
*/ 
  -public void testHoldFactories()
  -{ 
  -// Get a factory and create a WeakReference to it that
  -// we can check to see if the factory has been removed
  -// from LogFactory.properties
  -LogFactory factory = LogFactory.getFactory();
  -WeakReference weakFactory = new WeakReference(factory);
  -
  -// Remove any hard reference to the factory
  -factory = null; 
  +public void testHoldFactories() throws Exception
  +{
  +// 1) Basic test
   
  -// Run the gc, confirming that the original factory
  +// Get a weak reference to the factory using the classloader.
  +// When this reference is cleared we know the factory has been 
  +// cleared from LogFactory.factories as well
  +WeakReference weakFactory = loadFactoryFromContextClassLoader();
  +// Run the gc, confirming that the factory
   // is not dropped from the map even though there are 
  -// no other references to it
  -int iterations = 0;
  -int bytz = 2;
  -while(iterations++  MAX_GC_ITERATIONS) {
  -System.gc();
  -
  -assertNotNull(LogFactory released while ClassLoader still 
active.,
  -  weakFactory.get());
  -
  -// create garbage:
  -byte[] b;
  -try {
  -  b  =  new byte[bytz];
  -  bytz = bytz * 2;
  -}
  -catch (OutOfMemoryError oom) {
  -// This error means the test passed, as it means the 
LogFactory
  -// was never released.  So, we have to catch and deal with it
  -
  -// Doing this is probably a no-no, but it seems to work ;-)
  -b = null;
  -System.gc();
  -break;
  -}
  -}
  +// no other references to it
  +checkRelease(weakFactory, true);
  +
  +// 2) Test using an isolated classloader a la a web app
  +
  +// Create a classloader that isolates commons-logging
  +ClassLoader childLoader = new IsolatedClassLoader(origLoader);
  +Thread.currentThread().setContextClassLoader(childLoader);
  +weakFactory = loadFactoryFromContextClassLoader();
  +Thread.currentThread().setContextClassLoader(origLoader);  
  +// At this point we still have a reference to childLoader,
  +// so the factory should not be cleared
  +
  +checkRelease(weakFactory, true);
   }
  -
  +
   /**
  - * Tests that a LogFactory is eventually removed from the map
  - * after its creating ClassLoader is garbage collected. 
  + * Tests that a ClassLoader is eventually removed from the map
  + * after all hard references to it are removed. 
*/
  -public void testReleaseFactories()
  +public void testReleaseClassLoader() throws Exception
   {
  -// Create a temporary classloader
  -ClassLoader childLoader = new ClassLoader() {};
  +// 1) Test of a child classloader that follows the Java2
  +//delegation model (e.g. an EJB module classloader)
  +
  +// Create a classloader that delegates to its parent
  +ClassLoader childLoader = new ClassLoader() {};   
  +// Get a weak reference to the factory using the classloader.
  +// When this reference is cleared we know the factory has been 
  +// cleared from LogFactory.factories as well
   

cvs commit: jakarta-commons/logging/optional/src/test/org/apache/commons/logging SubDeploymentClass.java

2004-11-22 Thread rdonkin
rdonkin 2004/11/22 14:50:25

  Added:   logging/optional/src/test/org/apache/commons/logging
SubDeploymentClass.java
  Log:
  Improved test cases for WeakHashMap classloading. Contributed by Brian 
Stansberry.
  
  Revision  ChangesPath
  1.1  
jakarta-commons/logging/optional/src/test/org/apache/commons/logging/SubDeploymentClass.java
  
  Index: SubDeploymentClass.java
  ===
  /*
   * Copyright 2004 The Apache Software Foundation.
   * 
   * Licensed under the Apache License, Version 2.0 (the License);
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *  http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an AS IS BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.commons.logging;
  
  import java.lang.ref.WeakReference;
  
  /**
   * Class that mocks a user class deployed in a sub-deployment that
   * interacts with LogFactory.
   * 
   * @author bstansberry
   * 
   * @see LogFactoryTest
   */
  public class SubDeploymentClass implements IFactoryCreator {
  
  private WeakReference weakFactory = null;
  
  public SubDeploymentClass() {
  LogFactory factory = LogFactory.getFactory();
  weakFactory= new WeakReference(factory);
  }
  
  public WeakReference getWeakFactory() {
  return weakFactory;
  }
  
  }
  
  
  

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



cvs commit: jakarta-commons/logging/optional/src/test/org/apache/commons/logging IFactoryCreator.java

2004-11-22 Thread rdonkin
rdonkin 2004/11/22 14:50:51

  Added:   logging/optional/src/test/org/apache/commons/logging
IFactoryCreator.java
  Log:
  Improved test cases for WeakHashMap classloading. Contributed by Brian 
Stansberry.
  
  Revision  ChangesPath
  1.1  
jakarta-commons/logging/optional/src/test/org/apache/commons/logging/IFactoryCreator.java
  
  Index: IFactoryCreator.java
  ===
  /*
   * Copyright 2004 The Apache Software Foundation.
   * 
   * Licensed under the Apache License, Version 2.0 (the License);
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   * 
   *  http://www.apache.org/licenses/LICENSE-2.0
   * 
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an AS IS BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.commons.logging;
  
  import java.lang.ref.WeakReference;
  
  
  
  /**
   * Interface implemented by SubDeploymentClass.  The LogFactoryTest's 
   * IsolatedClassLoader will delegate loading of this interface to the 
   * test runner's classloader, so the test can interact with 
   * SubDeploymentClass via this interface.
   * 
   * @author bstansberry
   * 
   * @see LogFactoryTest
   */
  public interface IFactoryCreator {
  
  WeakReference getWeakFactory();
  
  }
  
  
  

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



DO NOT REPLY [Bug 31286] - Memory leaks in JBoss due to LogFactory cache

2004-11-22 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=31286.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=31286





--- Additional Comments From [EMAIL PROTECTED]  2004-11-22 23:52 ---
Nice work. Committed. Many Thanks.

I'm happy that this bug can be closed but I will leave it open for a while yet 
just in case Brian (or anyone 
else) wants to attach improvements.

Robert

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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



Re: [VOTE] Promote Transaction to Commons Proper

2004-11-22 Thread robert burrell donkin
On 19 Nov 2004, at 16:35, Oliver Zeigermann wrote:
OK, do not know why but after a while I was just convinced: I will
start a vote for a release candicate :)
generally, the combination of a noisy, high volume list together with 
committers who are involved in a variety of projects means that a 
little bit more formality can help the communication process.

the release candidate is also a dry run for the real release. i can 
definitely recommend fixing showstoppers just before a release than 
just after :)

P.S.: Robert do you have any telepathic skills? ;)
sadly, i only look as if i should ;)
- robert
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: jakarta-commons/jelly project.xml

2004-11-22 Thread robert burrell donkin
On 22 Nov 2004, at 05:38, Dion Gillard wrote:
On Mon, 22 Nov 2004 13:00:47 +0800, Brett Porter [EMAIL PROTECTED] 
wrote:
Is there any reason not to modify the inheritence to remove the 
entity?
Just the history of inheritance not quite working.
since the commons moved to maven for documentation (and many build), 
there's been quite a history of pain associated with getting the 
inheritance to work as we'd like.

i think i was probably one of the initiators of the entity based 
approach as a way round the problems but i've always thought that 
inheritance was more elegant.

brett: if you're around and you think that it should be possible to get 
the inheritance based approach to work now then maybe we could start 
looking at moving the commons in general back onto it.

(my other pet maven peeve is that every release i have to fiddle around 
for ages trying to get commit history related stuff to work correctly 
with an ssh agent.)

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


Re: cvs commit: jakarta-commons/jelly project.xml

2004-11-22 Thread Brett Porter
 since the commons moved to maven for documentation (and many build), 
 there's been quite a history of pain associated with getting the 
 inheritance to work as we'd like.

Yep - a lot of work was needed in this through the 1.0 release candidates.

Is it ok to assume Maven 1.0+ for building?

 brett: if you're around and you think that it should be possible to get 
 the inheritance based approach to work now then maybe we could start 
 looking at moving the commons in general back onto it.

Sure, I'll try this on Jelly as soon as I get a chance, and look at the broader
commons if everyone is happy with it.

 (my other pet maven peeve is that every release i have to fiddle around 
 for ages trying to get commit history related stuff to work correctly 
 with an ssh agent.)

This is probably a matter of having changelog use developerConnection (ssh)
instead of connection (pserver) when specified and somehow you tell it you are a
developer.

Cheers,
Brett

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



Re: cvs commit: jakarta-commons/jelly project.xml

2004-11-22 Thread Dion Gillard
On Tue, 23 Nov 2004 07:30:26 +0800, Brett Porter [EMAIL PROTECTED] wrote:
  since the commons moved to maven for documentation (and many build),
  there's been quite a history of pain associated with getting the
  inheritance to work as we'd like.
 
 Yep - a lot of work was needed in this through the 1.0 release candidates.
 
 Is it ok to assume Maven 1.0+ for building?

My only addition would be a 1.0.x release only, no CVS builds.

 Sure, I'll try this on Jelly as soon as I get a chance, and look at the 
 broader
 commons if everyone is happy with it.

That'd be great.

-- 
http://www.multitask.com.au/people/dion/

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



Re: cvs commit: jakarta-commons/jelly project.xml

2004-11-22 Thread Brett Porter
  Is it ok to assume Maven 1.0+ for building?
 
 My only addition would be a 1.0.x release only, no CVS builds.

Absolutely.

  Sure, I'll try this on Jelly as soon as I get a chance, and look at the
 broader
  commons if everyone is happy with it.
 
 That'd be great.

Ok, hopefully should be able to find some time this week.

Cheers,
Brett

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



Re: [VOTE] Release Chain 1.0

2004-11-22 Thread Joe Germuska
At 3:01 PM -0800 11/21/04, Martin Cooper wrote:
I believe Chain is now sufficiently complete and stable to warrant 
an official 1.0 release. There are no outstanding bug reports, and 
the component is already in use in a number of projects.
Just now, running maven java:install-snapshot from CVS HEAD, I had 
one test failure:

Testsuite: org.apache.commons.chain.impl.CatalogFactoryBaseTestCase
Tests run: 3, Failures: 1, Errors: 0, Time elapsed: 1.141 sec
Testcase: 
testPristine(org.apache.commons.chain.impl.CatalogFactoryBaseTestCase): 
	FAILED
null
junit.framework.AssertionFailedError
	at 
org.apache.commons.chain.impl.CatalogFactoryBaseTestCase.testPristine(CatalogFactoryBaseTestCase.java:107)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

This is probably not critical, as it seems only to be a side effect 
of the unpredictable order in which JUnit test cases are executed 
when the suite is created by reflection-- it's not as pristine as the 
test would have you believe.

This can be fixed by replacing the suite() method with this:
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(new CatalogFactoryBaseTestCase(testPristine));
suite.addTest(new CatalogFactoryBaseTestCase(testDefaultCatalog));
suite.addTest(new CatalogFactoryBaseTestCase(testSpecificCatalog));
return suite;
}
Still, it would be nice for the release itself to be pristine -- 
maybe someone can fix this before cutting the release?

Joe
--
Joe Germuska
[EMAIL PROTECTED]  
http://blog.germuska.com
Narrow minds are weapons made for mass destruction  -The Ex

cvs commit: jakarta-commons/io/src/java/org/apache/commons/io FilenameUtils.java

2004-11-22 Thread scolebourne
scolebourne2004/11/22 16:04:29

  Modified:io/src/test/org/apache/commons/io FilenameUtilsTestCase.java
   io/src/java/org/apache/commons/io FilenameUtils.java
  Log:
  Add methods to handle filename prefixes
  
  Revision  ChangesPath
  1.20  +166 -6
jakarta-commons/io/src/test/org/apache/commons/io/FilenameUtilsTestCase.java
  
  Index: FilenameUtilsTestCase.java
  ===
  RCS file: 
/home/cvs/jakarta-commons/io/src/test/org/apache/commons/io/FilenameUtilsTestCase.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- FilenameUtilsTestCase.java31 Oct 2004 00:03:03 -  1.19
  +++ FilenameUtilsTestCase.java23 Nov 2004 00:04:29 -  1.20
  @@ -113,6 +113,7 @@
   public void testNormalize() throws Exception {
   String[] src =
   {
  +null,
   ,
   /,
   ///,
  @@ -129,10 +130,14 @@
   /foo/.././bar/,
   //foo//./bar,
   /../,
  -/foo/../../ };
  +/foo/../../,
  +../foo,
  +foo/../../bar,
  +foo/../bar };
   
   String[] dest =
   {
  +null,
   ,
   /,
   /,
  @@ -149,15 +154,19 @@
   /bar/,
   /foo/bar,
   null,
  -null };
  +null,
  +null,
  +null,
  +bar };
   
   assertEquals(Oops, test writer goofed, src.length, dest.length);
   
   for (int i = 0; i  src.length; i++) {
  +String destStr = FilenameUtils.separatorsToSystem(dest[i]);
  +String resultStr = FilenameUtils.normalize(src[i]);
   assertEquals(
  -Check if ' + src[i] + ' normalized to ' + dest[i] + ',
  -dest[i],
  -FilenameUtils.normalize(src[i]));
  +Check if ' + src[i] + ' normalized to ' + destStr + ', 
was ' + resultStr + ',
  +destStr, resultStr);
   }
   }
   
  @@ -214,6 +223,46 @@
   }
   
   //---
  +public void testGetPrefixLength() {
  +assertEquals(-1, FilenameUtils.getPrefixLength(null));
  +if (WINDOWS) {
  +assertEquals(-1, 
FilenameUtils.getPrefixLength(1:\\a\\b\\c.txt));
  +assertEquals(-1, FilenameUtils.getPrefixLength(1:));
  +assertEquals(-1, FilenameUtils.getPrefixLength(1:a));
  +assertEquals(-1, 
FilenameUtils.getPrefixLength(\\a\\b\\c.txt));
  +assertEquals(-1, FilenameUtils.getPrefixLength(a));
  +
  +assertEquals(0, FilenameUtils.getPrefixLength(a\\b\\c.txt));
  +assertEquals(1, FilenameUtils.getPrefixLength(\\a\\b\\c.txt));
  +assertEquals(3, 
FilenameUtils.getPrefixLength(C:\\a\\b\\c.txt));
  +assertEquals(9, 
FilenameUtils.getPrefixLength(server\\a\\b\\c.txt));
  +
  +assertEquals(0, FilenameUtils.getPrefixLength(a/b/c.txt));
  +assertEquals(1, FilenameUtils.getPrefixLength(/a/b/c.txt));
  +assertEquals(3, FilenameUtils.getPrefixLength(C:/a/b/c.txt));
  +assertEquals(9, 
FilenameUtils.getPrefixLength(//server/a/b/c.txt));
  +
  +assertEquals(0, FilenameUtils.getPrefixLength(~/a/b/c.txt));
  +assertEquals(0, 
FilenameUtils.getPrefixLength(~user/a/b/c.txt));
  +} else {
  +assertEquals(-1, FilenameUtils.getPrefixLength(~));
  +assertEquals(-1, FilenameUtils.getPrefixLength(~user));
  +
  +assertEquals(0, FilenameUtils.getPrefixLength(a/b/c.txt));
  +assertEquals(1, FilenameUtils.getPrefixLength(/a/b/c.txt));
  +assertEquals(2, FilenameUtils.getPrefixLength(~/a/b/c.txt));
  +assertEquals(6, 
FilenameUtils.getPrefixLength(~user/a/b/c.txt));
  +
  +assertEquals(0, FilenameUtils.getPrefixLength(a\\b\\c.txt));
  +assertEquals(1, FilenameUtils.getPrefixLength(\\a\\b\\c.txt));
  +assertEquals(2, FilenameUtils.getPrefixLength(~\\a\\b\\c.txt));
  +assertEquals(6, 
FilenameUtils.getPrefixLength(~user\\a\\b\\c.txt));
  +
  +assertEquals(0, 
FilenameUtils.getPrefixLength(C:\\a\\b\\c.txt));
  +assertEquals(1, 
FilenameUtils.getPrefixLength(server\\a\\b\\c.txt));
  +}
  +}
  +
   public void testIndexOfLastSeparator() {
   assertEquals(-1, FilenameUtils.indexOfLastSeparator(null));
   assertEquals(-1, 
FilenameUtils.indexOfLastSeparator(noseperator.inthispath));
  @@ 

Re: [io] Filename prefixes

2004-11-22 Thread Stephen Colebourne
From: Tim O'Brien [EMAIL PROTECTED]
 What happens to getExtension() when there is no . character?
Then there is no extension, returns .

 what is there are multiple ., are you thinking name.substring(
name.lastIndexOf( . ) + 1 )?
Yes

 What does getPrefix() return on Unix? Nothing?
absolute paths have a prefix of /
user directory paths are also a prefix (see lower down email)


The basic code is now checked in. I am currently only looking for windows
prefixes on windows, and unix prefixes on unix. Should this be
extended/simplified to look for all prefixes in all cases???

ie. on a PC running windows, should ~user/ be matched as a prefix

I think it probably should now I've coded it the other way...

Stephen


 -Original Message-
 From: Stephen Colebourne [mailto:[EMAIL PROTECTED]
 Sent: Sunday, November 21, 2004 7:18 PM
 To: Jakarta Commons Developers List
 Subject: Re: [io] Filename prefixes

 Basically it looks like we'll need:

 getPrefix()  - C:\
 getPath()  - dev\project
 getFullPath()  - C:\dev\project
 getName()  - file.txt
 getExtension()  - txt
 (input  C:\dev\project\file.txt)

 Normalize/catPath can then use the other methods to stitch
 together a result.

 Naming:
 catPath() should be renamed to concat()
 getFullPath()/getPath() - are these logical names?

 Stephen

 - Original Message -
 From: Martin Cooper [EMAIL PROTECTED]
  On Mon, 22 Nov 2004 01:03:28 -, Stephen Colebourne
  [EMAIL PROTECTED] wrote:
   In order to write the normalize() method properly, I
 realised that
   we
 have
   to deal with filename prefixes properly. The point being that you
   can't
 ..
   up into a filename prefix.
  
   Here's the javadoc for the method I'm writing. Does this cover the
 cases?
 
  Looks good to me. I can't think of any other options, at least for
  Windows and Unix.
 
  --
  Martin Cooper
 
 
  
  /**
   * Returns the length of the filename prefix, such as
 codeC://code
   or code~//code.
   * p
   * This method will handle a file in either Unix or
 Windows format.
   * The prefix includes the first slash in the full filename.
   * pre
   * Windows:
   * a\b\c.txt   --   -- relative
   * \a\b\c.txt  -- \ -- drive relative
   * C:\a\b\c.txt-- C:\   -- absolute
   * \\server\a\b\c.txt  -- \\server\ -- UNC
   *
   * Unix:
   * a/b/c.txt   --   -- relative
   * /a/b/c.txt  -- / -- absolute
   * ~/a/b/c.txt -- ~/-- current
 user relative
   * ~user/a/b/c.txt -- ~user/-- named user relative
   * /pre
   *
   * @param filename  the filename to find the prefix in, null
 returns -1
   * @return the length of the prefix, -1 if invalid or null
   */
  
   Stephen
  
  
 
   - 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]
 


 -
 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]



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



DO NOT REPLY [Bug 32350] New: - [chain] Consider making lookup commands default to same chain

2004-11-22 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32350.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32350

   Summary: [chain] Consider making lookup commands default to same
chain
   Product: Commons
   Version: unspecified
  Platform: All
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: chain
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


I've just now started looking at some of the changes related to the
CatalogFactory implementations.  I find the need to specify a catalog in the
lookup commands clumsy and counter-intuitive.  It seems to me one should be able
to assume that lookups would be relative to other commands -- specifically for
the LookupCommand, but in struts-chain the ExceptionCatcher command would also
benefit.

Yes, you have the issue then of how one specifies that the command to be looked
up is in the default catalog, but I suspect that in reality the annoyance of
someone forgetting to specify the catalogName until there's an error will happen
much more than the need to specify look this up in an entirely different
catalog and specifically the one-which-has-no-name  Perhaps a boolean property
defaultCatalog or a reserved catalog name like DEFAULT_CATALOG ?  

I'd be happy to provide a patch, but first -- will people support this change or
veto it?

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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



Re: [VOTE] Release Chain 1.0

2004-11-22 Thread Jean-Francois Arcand

Martin Cooper wrote:
I believe Chain is now sufficiently complete and stable to warrant an 
official 1.0 release. There are no outstanding bug reports, and the 
component is already in use in a number of projects.

The plan is to release HEAD as Commons Chain 1.0 on completion of a 
successful vote. I will be the release manager.

---
 [X] +1  I support this release and am willing to help
 [ ] +0  I support this release but am unable to help
 [ ] -0  I do not support this release
 [ ] -1  I do not support this release, and here are my reasons
---
Here is my own +1.
--
Martin Cooper
-
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]


DO NOT REPLY [Bug 32350] - [chain] Consider making lookup commands default to same chain

2004-11-22 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32350.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32350





--- Additional Comments From [EMAIL PROTECTED]  2004-11-23 02:12 ---
I like the thinking behind this idea (avoid mistakes, and avoid double
specification of things :-) -- but how would a given Lookup command instance
know what catalog it, or its owning chain, was looked up in (if any)?  I don't
think we have any API for that at the moment.


-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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



DO NOT REPLY [Bug 32350] - [chain] Consider making lookup commands default to same chain

2004-11-22 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32350.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32350





--- Additional Comments From [EMAIL PROTECTED]  2004-11-23 03:45 ---
Well, I suppose to do it right would involve a few more changes than I thought
at first:
Command: public void setCatalog(Catalog)
Command: public void release()
Catalog: public void release()
CatalogFactory: public void release()

Then the CatalogFactory.clear() method would call release on all its catalogs
before clearing the map, giving the command a chance to clear the circular
reference back to its catalog.

Not as lightweight as it first seemed.  Is it worth it?

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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



[ANN] Commons Jelly 1.0 Release Candidate 1 released.

2004-11-22 Thread Dion Gillard
The commons-jelly team is pleased to announce the commons-jelly 1.0-RC1 
release! 

http://jakarta.apache.org/commons/jelly/

Jelly is a Java and XML based scripting engine. Jelly combines the best ideas 
from JSTL, Velocity, DVSL, Ant and Cocoon all together in a simple yet 
powerful scripting engine. 

Changes in this version include:

  New Features:

o Add Regexp taglib Issue: JELLY-49. 

  Fixed bugs:

o Huge memory leak resulting from the use of ThreadLocal. Issue: JELLY-148. 
  Thanks to Hans Gilde. 
o Character data is flushed by XMLOuput while XML data isn't. Issue: 
  JELLY-138. 
o Scripts set the context URL when executing so that resources are found 
  relative to the current script. Issue: JELLY-45. 

  Changes:

o Move to beanutils 1.7.0.  

-- 
http://www.multitask.com.au/people/dion/

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



DO NOT REPLY [Bug 32350] - [chain] Consider making lookup commands default to same chain

2004-11-22 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=32350.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=32350





--- Additional Comments From [EMAIL PROTECTED]  2004-11-23 05:25 ---
I don't think so ... especially given that we currently don't require separate
Command instances to be used in different chains either :-(.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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



RE: [jira] Created: (JELLY-163) Allow Expressions to throw exceptions

2004-11-22 Thread Hans Gilde
Paul,

For most tags, expressions are evaluated at runtime, but immediately before
the tag itself becomes aware of them. They're evaluated by the enclosing
TagScript (a Script that runs a Tag) immediately before the tag itself is
run. The tag just knows about the result of the expression, not the actual
evaluation.

An exception at this time could be caught by the enclosing tag, but not by
the tag that should have received the expression. So, there's currently no
generic way to have a tag say don't worry about expression evaluation
failures, just show me the contents/null/whatever.

Your example would work fine, the exception would be thrown out of the
script or could be caught by an enclosing tag.

Hans

-Original Message-
From: Paul Libbrecht [mailto:[EMAIL PROTECTED] 
Sent: Monday, November 15, 2004 5:14 AM
To: Jakarta Commons Developers List
Subject: Re: [jira] Created: (JELLY-163) Allow Expressions to throw
exceptions

Hans,

I think this is exactly what made me stumble... I don't really get 
this...
(I'm again about my fuzzyness of understanding jelly lifecycle... sorry 
for this!). I see two times where such an exception can occur:
- at compilation time. This should be the same when a tag would meet 
unknown attributes or a (strict) taglib would meet an unknown tag.
- at execution time, when the expression should return something 
(maybe).
In both cases, the exception should be thrown and wrapped into some 
generic exception which should include location information.

My current attempt was the script:
j:jelly xmlns:j=jelly:core
 j:set var=b value=blop/
 ${b-'b'}
/j:jelly
Which did throw me an exception (as I instructed it) but which was not 
caught, or wrapped...

In which of the two phases should such a thing be caught ?
Are there other phases ?

thanks

paul


Le 15 nov. 04, à 02:32, Hans Gilde (JIRA) a écrit :

 Expressions are evaluated before the tag is run, so it normally 
 wouldn't know anything about them.


-
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]



DO NOT REPLY [Bug 31286] - Memory leaks in JBoss due to LogFactory cache

2004-11-22 Thread bugzilla
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
http://issues.apache.org/bugzilla/show_bug.cgi?id=31286.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=31286





--- Additional Comments From [EMAIL PROTECTED]  2004-11-23 07:45 ---
Created an attachment (id=13519)
 -- (http://issues.apache.org/bugzilla/attachment.cgi?id=13519action=view)
Javadoc for WeakHashtable

Attached adds some class level Javadoc to WeakHashtable that tries to explain
the classloading situation where a call to release() is still needed.

There's some other stuff that I'd like to do on this (perhaps use simple strong
references for values in WeakHashtable; refactor LogFactoryTest and LoadTest to
avoid code duplication), but they don't affect the functionality, and it will
probably be a while before a can get to them.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.

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