Re: DBCP status?

2003-06-30 Thread Juozas Baliuka

 ResultSet rs;
 try {
 con = magicGetConnection();
 //stuff
 } catch(...) {
 } finally {
try {if (rs!=null){ rs.close(); rs=null; } } catch(Throwable ignore){}
try {if (ps!=null){ ps.close(); ps=null; } } catch(Throwable ignore){}
try {if (ps!=null){ con.close(); con=null; } } catch(Throwable
ignore){}
 }

 In the above code - I try to use the good practice of try-catch-finally.
My
 code works great in the testing environment (of course it should fail in
 stress testing in cases it can be done).

There are a lot of good ways to manage resources, but I think it is out of
DBCP scope.
Workarounds in pool can not help in this case too (try {if (ps!=null){
con.close(); con=null; } } catch(Throwable ignore){})
 maxConnections = 1 can better help to find this kind of problems.
Let handle this stuff for JDBC frontends. Is is very easy to implement JDBC
resource management.

I use JDBC API this way at this time:

void method( String arg1,  ){

   JdbcUtils.executeSQL( SELECT ., new Object[]{ arg1 , ...},

new Callback(){

   public void handle( ResultSet rs ){
 handle results 
   }
   }
  );

}


There are a lot of opensource frameworks like IBATIS, Voruta,
SpringFramework, ...  DbUtils in sandbox is a minimalist tool for JDBC API
too. It is very easy to learn and use this kind of frameworks, just add
links  to JDBC frontends and it will solve database progamming problems
better.
I prefer pools without workarounds, it can help to find and fix problem. Do
not to hide problems, it solves nothing.






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



Re: [SURVEY] Commons-URI or not?

2003-06-30 Thread Anton Tagunov
Hello Sung-Gu!

SG I suggest that jakarta-commons provides flexible URI issue implementations
SG as a package.

Looking forward to see it appear in jakarta-commons. :-)

BTW, do you think that (char[] data, int start, int len)
versions of methods should be included?

(Something that I'm probably doing in now for myself)

A recent test that I have carried out showed that .charAt() is
1.8 - 1.9 times slower then [] on a char array, just in case I attach
the test case. This happens because with char[] I believe each char
takes two bytes, while with String they have UTF8 and probably
have to travel the whole string from the beginning to find charAt(i).

It will be true if someone here will say that it will be premature
optimization, but if someone is mad enough :) launch a new project
for URI-s why not think of this also?

Then, it would probably be worth looking into Tomcat internals.
I believe they should some code of that kind internally too
(they have to parse URI-s). I believe they should be using
the char[] versions. Indeed some documentation even on Tomcat 3 said
that they have found the .stratsWith() and co functions to be
to slow. This means they've found found a way to speed it up.
How? I believe they have switched to char[] (don't see other way
to speed up).

Is this project going to be to ambitious to become a dependency
both for HttpClient and for Tomcat? :-))

Anyway, even if it does not become one, it would be good to
a code of equal quality in it.

WBR, Anton

P.S. Just a side-note (the overall ideal of the subproject
is very much welcomed :) is there going to be any overlap with
the code project in coding/decoding the uri-s?

HttpClient have just donated something there..

And there are some
EscapeUtils in lang, aren't there?


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



Re[2]: DBCP status?

2003-06-30 Thread Anton Tagunov
Hi, All!

1) A side-note

It would be really more easy if this discussion was
held somewhere on db-commons, really :-)

2)

PS The EAI or network infrastructure, for example, behind one of the
PS apps could cause it to grind to a halt, effectively orphaning any
PS connections that it has open, depriving the other apps of these
PS resources.

Hey, there's one more solution!

So far we have discussed two possible actions if a connection
has not been returned to a pool too long:

a) just log it as an error and do nothing
b) forcibly bring it back to the pool

But we can have c) here:

c) log this as an error and no longer consider the connection
   as part of the pool!

   That is, if
   * the pool is configured to have 10 connections max
   * our too long not returned time out is configured to be 60 seconds
   * all 10 connections have been taken out
   * one of them has not been returned for over 60 seconds

   We just forget about the too long not returned connection
   and consider that our pool now has only 9 connections.
   This allows us to create one new connection and give it
   to the waiting clients.

   If afterwards the offending connection is returned after all
   there are two ways IMO to handle it
   i)  not put back to pull at all, just close it uncoditionally
   ii) see how many connections we have in the pool, if we have
   bellow 10, add it to the pool, if we have all 10 already,
   close it as being excessive

   This solution leaves the abandoned connections to be reclaimed
   but the regular database timeout (8 hours for the standard
   MySQL setup) which is not that bad.

   This of course won't work too well if the database limits
   the number of connections available to, say 10, by the license,
   but I propose the following criteria:

   ***
   The situation when the pool is applied shouldn't be worse
   then it would be if we had no pool.
   ***

   Of course if maxActive is non-zero this criteria is not obeyed
   anyway, so my solution best applies if maxActive is 0.

   What to do if maxActive is positive I'm at a loss

- Anton

P.S. The following note by David Graham probably makes
this behavior unnecessary, still I wanted to propose it.

DG If your environment has the above characteristics, each
DG application would have its own separate connection pool
DG so a failure in one app would not affect another.


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



Re: DBCP status?

2003-06-30 Thread Ken Horn

I'm in the don't reclaim camp, but am thinking, IF somebody really wants it, then 
the solution would be to rollback and close the real connection -- this:
* emulates a legal timeout from the database server
* ensures any further action on by the rogue app will get a suitable exception
* provides database side cleanup as a failure condition
* won't impact performance of the pool, since the connection timeout is bound (?) to 
be way higher than the overhead of opening a new connection.

I think this would alleviate much of the force-back-to-the-pool angst - force it to be 
closed for proper clean up while not hogging resources



   

  Anton Tagunov

  [EMAIL PROTECTED]To:   Jakarta Commons Developers 
List [EMAIL PROTECTED]
  t.rucc: 

   Subject:  Re[2]: DBCP status?   

  30/06/2003 07:31 

  Please respond to

  Jakarta Commons 

  Developers List 

   

   





Hi, All!

1) A side-note

It would be really more easy if this discussion was
held somewhere on db-commons, really :-)

2)

PS The EAI or network infrastructure, for example, behind one of the
PS apps could cause it to grind to a halt, effectively orphaning any
PS connections that it has open, depriving the other apps of these
PS resources.

Hey, there's one more solution!

So far we have discussed two possible actions if a connection
has not been returned to a pool too long:

a) just log it as an error and do nothing
b) forcibly bring it back to the pool

But we can have c) here:

c) log this as an error and no longer consider the connection
   as part of the pool!

   That is, if
   * the pool is configured to have 10 connections max
   * our too long not returned time out is configured to be 60 seconds
   * all 10 connections have been taken out
   * one of them has not been returned for over 60 seconds

   We just forget about the too long not returned connection
   and consider that our pool now has only 9 connections.
   This allows us to create one new connection and give it
   to the waiting clients.

   If afterwards the offending connection is returned after all
   there are two ways IMO to handle it
   i)  not put back to pull at all, just close it uncoditionally
   ii) see how many connections we have in the pool, if we have
   bellow 10, add it to the pool, if we have all 10 already,
   close it as being excessive

   This solution leaves the abandoned connections to be reclaimed
   but the regular database timeout (8 hours for the standard
   MySQL setup) which is not that bad.

   This of course won't work too well if the database limits
   the number of connections available to, say 10, by the license,
   but I propose the following criteria:

   ***
   The situation when the pool is applied shouldn't be worse
   then it would be if we had no pool.
   ***

   Of course if maxActive is non-zero this criteria is not obeyed
   anyway, so my solution best applies if maxActive is 0.

   What to do if maxActive is positive I'm at a loss

- Anton

P.S. The following note by David Graham probably makes
this behavior unnecessary, still I wanted to propose it.

DG If your environment has the above characteristics, each
DG application would have its own separate connection pool
DG so a failure in one app would not affect another.


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

[jira] Commented: (JELLY-26) xml:file produces very bad output

2003-06-30 Thread jira
The following comment has been added to this issue:

 Author: Paul Libbrecht
Created: Mon, 30 Jun 2003 5:00 AM
   Body:
Thanks for that, a cvs-update has solved my issue in the precise case I was seeing the 
bug!

Thanks.

Paul
-
View the issue:

  http://jira.codehaus.org/secure/ViewIssue.jspa?key=JELLY-26


Here is an overview of the issue:
-
Key: JELLY-26
Summary: xml:file produces very bad output
   Type: Bug

 Status: Resolved
   Priority: Critical
 Resolution: FIXED

 Time Spent: Unknown
   Estimate: 1 day

Project: jelly
 Components: 
 tags

   Assignee: peter royal
   Reporter: Paul Libbrecht

Created: Tue, 28 Jan 2003 6:51 PM
Updated: Sun, 22 Jun 2003 9:24 PM
Environment: Running the XML tag-library using org.apache.commons.jelly.Jelly command 
with XML content of any kind. Outputting in XML or HTML format.

Description:
xml:file elements has the following two majors bugs:
- namespace declarations, at least at the end of an element declaration, have an 
opening quote but no closing one !
- when choosing the prettyPrint = yes... the words get cut in the middle!

The work-around for the first is currently to run:
sed 's/xmlns\([^=]*\)=\([^]*\)/xmlns\1=\2/g'  bad  ok

Is it a dom4j bug ?? Not sure !

PS: don't trust my time estimate... I have not gone inside dom4j to know it.


-
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


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



Re: [VFS] Add close() method to FileSystemManager

2003-06-30 Thread Morten Primdahl
Thanks for the update Adam. I've been using the VFS for a couple of
weeks now, it's such a nice piece of software - both to use and to view
the source of :) I'm happy to hear that you still have intentions with
this project, and I hope to someday be confident enough in it to be able
to contribute.
Morten



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


DO NOT REPLY [Bug 21181] New: - [logging] Broken link report (eight 404s)

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21181

[logging] Broken link report (eight 404s)

   Summary: [logging] Broken link report (eight 404s)
   Product: Commons
   Version: Nightly Builds
  Platform: All
   URL: http://jakarta.apache.org/commons/logging/
OS/Version: All
Status: NEW
  Severity: Enhancement
  Priority: Other
 Component: Logging
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


ht://Check (http://htcheck.sf.net/) detected 8 broken links in the logging
section. These broken links are listed below in this format:

Referencing URL
Referenced URL (Broken link)

http://jakarta.apache.org/commons/logging/userguide.html
http://jakarta.apache.org/commons/logging/impl/Log4JLogger.html

http://jakarta.apache.org/commons/logging/userguide.html
http://jakarta.apache.org/commons/logging/impl/Jdk14Logger.html

http://jakarta.apache.org/commons/logging/userguide.html
http://jakarta.apache.org/commons/logging/impl/SimpleLog.html

http://jakarta.apache.org/commons/logging/
http://jakarta.apache.org/commons/logging/images/logo.jpg

http://jakarta.apache.org/commons/logging/
http://jakarta.apache.org/commons/logging/$context.toolbox.devProcess

http://jakarta.apache.org/commons/logging/maven-reports.html
http://jakarta.apache.org/commons/logging/changes.html

http://jakarta.apache.org/commons/logging/maven-reports.html
http://jakarta.apache.org/commons/logging/tasks.html

http://jakarta.apache.org/commons/logging/maven-reports.html
http://jakarta.apache.org/commons/logging/task-list.html

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



RE: DBCP status?

2003-06-30 Thread Danny Angus
I think we've had this discussion before.

But I'll weigh in with my 2c again because I still feel strongly about it..

Craig says:

 I do not believe there is any fundamentally sound algorithm that a
 connection pool can use to detect when a connection has truly been
 abandoned and is thereby suitable for recovery.  And, grabbing back
 connections that are actually in use is *much* worse than leaking them,
 because you immediately break an application that is currenty executing,
 in ways that are very unpredictable, hard to reproduce, and basically
 impossible to recover from.


I agree. 

IMO It is fundamentally better to let leaks result in the problems associated with 
leaks (run out of connections) than to replace a set of known, quantifiable and 
understood symptoms with Mystery and Confusion.

d.



Re[2]: Nightly builds?

2003-06-30 Thread Anton Tagunov
Hello Craig!

CRM I haven't been able
CRM to re-establish my SSH based automatic authentication so that uploading to
CRM the website can happen without requiring a login.  Has anyone else had
CRM that issue on icarus (a.k.a cvs.apache.org)?

Me too, but maybe I'm lameristic :)
In fact I use windows port of SSH (by Gorden Chaffee, ssh-1.2.14-win32bin.zip)
with windows port of cvs. CVS and ssh work fine but I fail to do scp.
But I have been failing this for a long time already. Maybe the reason
is that with scp I did not find a way to specify my cvs.apache.org
username (atagunov), while my login name here at Win2K is different.

So, I do not think I have tremendously helped you, sorry :-)

- Anton


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



Re[2]: [SURVEY] Commons-csv or not?

2003-06-30 Thread Anton Tagunov
Hello All!

Just lurkering your discussion..

JM I agree. IMHO the focus should be on any type of legacy, structured
JM ASCII files containing some notion of record.

Does not this give the new name to the project (not only the scope)
  ascii
  import-ascii

oh wait, and if it is not ASCII? if it is KOI8-R?

what about

  texteater ? :-)commons-texteater

or

  eattxt
  txteat
  txtfood
  txtfuel

  txtpower
  txtpowered
  textpowerd
  textpow

  textpaw (is pow a  part of an animal's leg?)

  txtpaw   commons-textpaw
  textpaws commons-textpaws

  txtstep
  steptext commons-steptext

- Anton


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



Re[2]: [SURVEY] Commons-URI or not?

2003-06-30 Thread Anton Tagunov
Hi, All!


AT A recent test that I have carried out showed that .charAt() is
AT 1.8 - 1.9 times slower then [] on a char array, just in case I attach
AT the test case.

Oopps, have fogotten the test, here it is in this mail.
And here are the results I got

Results for 'abcdefghijk'
string version: 426.6
array version: 242.4
coeff = 1.75990099009901
Results for 'ab?defghijk'
string version: 441.6
array version: 233.3
coeff = 1.8928418345477926
Results for '??aaa'
string version: 510.8
array version: 272.4
coeff = 1.8751835535976504


public class B
{
public final static String STR1 = abcdefghijk;
public final static String STR2 = ab\u1234defghijk;
public final static String STR3 = 
\u0401\u0402\u0403\u1234\u1234\u1234aaa;
public final static int AVG = 10;
public final static long ITER = 100l;
private static int sum;

public static final void test( final String str, final int avg,
final long iter )
{
final int len = str.length();
final char[] arr = str.toCharArray();

final long t1 = System.currentTimeMillis();

for ( int a = 0; a  avg; ++a )
{

sum = 0;

for ( long i = 0; i  iter; ++i )
{
for ( int j = 0; j  len; ++j )
{
sum += str.charAt( j );
}
}
}

final long t2 = System.currentTimeMillis();

for ( int a = 0; a  avg; ++a )
{

sum = 0;

for ( long i = 0; i  iter; ++i )
{
for ( int j = 0; j  len; ++j )
{
sum += arr[ j ];
}
}
}

final long t3 = System.currentTimeMillis();

System.out.println( Results for ' + str + '\n +
string version:  + ((double)( t2 - t1 ) / avg ) + \n +
array version:   + ((double)( t3 - t2 ) / avg ) + \n +
coeff =  + ((double)( t2 - t1 )/(double)( t3 - t2 )) );
}

public static void main( String args[] )
{
test( STR1, AVG, ITER );
test( STR2, AVG, ITER );
test( STR3, AVG, ITER );
}
}


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



[codec] CRLF in jakarta-commons/codec/src/java/org/apache/commons/codec/binary/Hex.java

2003-06-30 Thread Anton Tagunov
Hi, All!

You've got CRLF broken in
jakarta-commons/codec/src/java/org/apache/commons/codec/binary/Hex.java

WBR, Anton


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



Re: Logging packaging questions

2003-06-30 Thread Anton Tagunov
Hello Nicolas!

NM 2. we'd like the build-in backends split from the main jar so we can
NM made them optional and allow people not to install them if they already
NM have log4j or a 1.4 jvm.

Lurker's opinion :)

I want to say I like your ideas very much.

war-s are great too, but putting _all_ into the main server classpath,
be it Tomcat or JBoss generally works too; I used to work in this
style.. And if it was a bit more manageable (what your project is
struggling for) it would be just fine.

I guess problems will come if part of the jars are in WEB-INF/lib
and part on the main classpath, but if you put all on the classpath
it will generally work, I believe.

And yes, I've heard that you simlink to WEB-INF-s too.

Now, did I get it right that _despite_ jakarta-logging will be shipped
as a single jar all your stuff _will_ work okay since jakarta-logging
will detect what is available on the classpath and what is not?

-Anton


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



cvs commit: jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/generator - New directory

2003-06-30 Thread rwaldhoff
rwaldhoff2003/06/30 03:59:12

  jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/generator - New 
directory

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



cvs commit: jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/generator/io - New directory

2003-06-30 Thread rwaldhoff
rwaldhoff2003/06/30 03:59:13

  jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/generator/io - 
New directory

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



cvs commit: jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/generator/util - New directory

2003-06-30 Thread rwaldhoff
rwaldhoff2003/06/30 03:59:13

  jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/generator/util - 
New directory

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



cvs commit: jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/generator - New directory

2003-06-30 Thread rwaldhoff
rwaldhoff2003/06/30 03:59:13

  jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/generator - New 
directory

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



cvs commit: jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/generator/io - New directory

2003-06-30 Thread rwaldhoff
rwaldhoff2003/06/30 03:59:14

  jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/generator/io - 
New directory

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



cvs commit: jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/generator/util - New directory

2003-06-30 Thread rwaldhoff
rwaldhoff2003/06/30 03:59:14

  jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/generator/util - 
New directory

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



DO NOT REPLY [Bug 21182] New: - [dbcp] removing a webapp does not force connections closed

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21182

[dbcp] removing a webapp does not force connections closed

   Summary: [dbcp] removing a webapp does not force connections
closed
   Product: Commons
   Version: 1.0 Alpha
  Platform: Other
OS/Version: Other
Status: NEW
  Severity: Normal
  Priority: Other
 Component: Dbcp
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


as reported by Michael Holly [EMAIL PROTECTED] and Tony Locke [EMAIL PROTECTED] 
on [EMAIL PROTECTED] removing a Tomcat webapp does not force connections 
present in DBCP pool be closed.

In fact even if the webapp is unloaded and dbcp is unloaded 
there is nobody to call BasicDataSource.close().

Probably some context listener would 
solve this problem but I fear not to have enough competence to say how to hook it in.

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



Re: DBCP status?

2003-06-30 Thread Juozas Baliuka

It is possible to detect abandoned connection with Thread.isAlive() (if
thread pool is not used or maxConnections = maxThreads),
 but it is not a good way for performance ( iterate owners and chech
isAlive )





- Original Message -
From: Danny Angus [EMAIL PROTECTED]
To: Jakarta Commons Developers List [EMAIL PROTECTED]
Sent: Monday, June 30, 2003 12:47 PM
Subject: RE: DBCP status?


 I think we've had this discussion before.

 But I'll weigh in with my 2c again because I still feel strongly about
it..

 Craig says:

  I do not believe there is any fundamentally sound algorithm that a
  connection pool can use to detect when a connection has truly been
  abandoned and is thereby suitable for recovery.  And, grabbing back
  connections that are actually in use is *much* worse than leaking them,
  because you immediately break an application that is currenty executing,
  in ways that are very unpredictable, hard to reproduce, and basically
  impossible to recover from.


 I agree.

 IMO It is fundamentally better to let leaks result in the problems
associated with leaks (run out of connections) than to replace a set of
known, quantifiable and understood symptoms with Mystery and Confusion.

 d.




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



Re: [PATH]FileUpload fix for filename for msiexplorer

2003-06-30 Thread Will Stranathan
On any *nix system, try the following:

ehco 'hi'with\\backslash
ls
You should see (in addition to any other files)
with\backslash
I'm not sure if it's a valid character in systems like iso9660 (I think it's 
very restrictive).  I'm also not sure about OLD Mac - new Mac's are just 
BSD, so the above ought to work there, too.

Furthermore, even if that WEREN'T the case, if FileUpload were being used in 
a known environment, where a developer KNEW the clients would only have 
IE, that feature might be useful - it might be important for a developer 
to know where on the filesystem the file came from.  I know the 
circumstances would be rare, but there is still the possibility that certain 
developers would be counting on that.

Regards,
Will

From: [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: Re: [PATH]FileUpload fix for filename for msiexplorer
Date: Sat, 28 Jun 2003 14:08:59 -0400 (EDT)
Could you please give me an example of a valid filename with -\\ character
specifying also the filesystem.
Cheers,
Maciej
 Umm...unfortunately you can't really do that - \\ is a completely valid
 character in filenames on other types of filesystems - so it's probably
 still better to leave it up to the developer to determine what to do
 with  the file.

 Regards,
 Will Stranathan


From: maciek [EMAIL PROTECTED]
Reply-To: Jakarta Commons Developers List
[EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Subject: [PATH]FileUpload fix for filename for msiexplorer
Date: 28 Jun 2003 13:46:31 -0400

Method getName() in DefaultFileItem.java class when used with
msiexplorer 5/6 returns a filename with the whole client's filesystem
 path which creates a problem when you want to save the file on a
server's filesystem. I have chanaged the implementation of the
 getName() method to strip the path information from the filename.Below
 is my proposed implementation for getName() method:

public String getName()
 {

  if(fileName.lastIndexOf(\\) != -1){

   return fileName.substring(fileName.lastIndexOf(\\) +
 1);

  }else{

   return fileName;
  }
 }

I have attached the fileName_fix_forMSIE.txt patch file.

I have rebuild the entire source code to create a new jar and tested it
 with Tomcat and Resin. It works now with MSIE. A simple call to
item.getName() returns only filename where item is of type FileItem.

I think that it would be a better idea to change the implementation of
 the method without breaking of the FileUpload component interface than
 letting web developers to take care of the problem inside a jsp file. I
 think users of the component should use the method transparently
 without worrying about the possible problem with MSIE with the
 guarantee that ONLY filename will be returned from getName() method.
Regards,
Maciej Brodala


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

 _
 Tired of spam? Get advanced junk mail protection with MSN 8.
 http://join.msn.com/?page=features/junkmail


 - 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]
_
Add photos to your messages with MSN 8. Get 2 months FREE*.  
http://join.msn.com/?page=features/featuredemail

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


RE: [PATH]FileUpload fix for filename for msiexplorer

2003-06-30 Thread Will Stranathan
Perhaps a more robust solution in your environment might be to extend 
DiskFileUpload - and just make sure you only use it in an environment where:

1) the backslash is a separator - not a valid filename character.
2) users of your extended DiskFileUpload have no need for the preceding path 
information.

Regards,
Will

From: maciek [EMAIL PROTECTED]
Reply-To: Jakarta Commons Developers List 
[EMAIL PROTECTED]
To: Jakarta Commons Developers List [EMAIL PROTECTED]
Subject: RE: [PATH]FileUpload fix for filename for msiexplorer
Date: 28 Jun 2003 16:46:51 -0400

My problem came out when I was working on an administration module with
the ability to upload files to client's directory on a linux server, to
be more specific mostly images to be displayed on a client's web site.
FileUpload component when used with netscape uploaded only the file
which was what I wanted, but with MSIE the whole path was saved as, for
example : /home/clientA/C:\Documents\myImages\test.jpg and was not
usable. Then I tested for user-agent in a jsp file and parse a return
String from getName() accordingly stripping the path info if it was MSIE
client.This quick/simplistic and not robust solution worked for my
administration module requirements and
I do understand that there may not be the need to implement this
functionality in the component like Martin Cooper explained making a
strong point for it and leave it to web developers and their
applications requirements.
Regards,
maciej
ps.I would like to thank everybody for valuable insights so far to help
me look at the issue from different points of view.
On Sat, 2003-06-28 at 16:05, Noel J. Bergman wrote:
  FileUpload should not be in the business of deciding, on behalf of its
  client, how to interpret the content of fields uploaded by the 
browser.

 +1

   Method getName() in DefaultFileItem.java class when used with
   msiexplorer 5/6 returns a filename with the whole client's
   filesystem path which creates a problem when you want to save
   the file on a server's filesystem.

 What if I were storing information in a database, and wanted to preserve 
the
 client's fields, or had some other need for the path?

 What guarantee is there that the filename, even without the path, is 
valid
 for the server?  What if the client OS uses a different set of allowable
 symbols?  What if I already have a file of that name from another user?
 What if ... ?  Simply stripping the path from the name isn't going to
 address the problem.

 Besides which, this functionality is already in java.io.File:

   import java.io.File;
   public class filename {
   public static void main(String[] args) {
   System.out.println(new File(args[0]).getPath());
   System.out.println(new File(args[0]).getParent());
   System.out.println(new File(args[0]).getName());
   }
   }

   $ /usr/local/java/bin/java -cp . filename ~noel/filename.java
   ~noel/filename.java
   ~noel
   filename.java
   $ /usr/local/java/bin/java -cp . filename c:/frodo/filename.java
   c:/frodo/filename.java
   c:/frodo
   filename.java
   $ /usr/local/java/bin/java -cp . filename share:/frodo/filename.java
   share:/frodo/filename.java
   share:/frodo
   filename.java
   $ /usr/local/java/bin/java -cp . filename
 //myserve/share/frodo/filename.java
   /myserve/share/frodo/filename.java
   /myserve/share/frodo
   filename.java
   $ /usr/local/java/bin/java -cp . filename
 \\myserve/share/frodo/filename.java
   \myserve/share/frodo/filename.java
   \myserve/share/frodo
   filename.java

 OK, so java.io.File has some issues with UNC names on linux.  Let's 
check
 Windows:

java -cp . filename //myserve/share/frodo/filename.java
   \\myserve\share\frodo\filename.java
   \\myserve\share\frodo
   filename.java

java -cp . filename \\myserve\share\frodo\filename.java
   \\myserve\share\frodo\filename.java
   \\myserve\share\frodo
   filename.java

 Works fine.

 	--- Noel


 -
 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]
_
Protect your PC - get McAfee.com VirusScan Online  
http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963

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


Re[2]: [SURVEY] Commons-URI or not?

2003-06-30 Thread Anton Tagunov
AT is there going to be any overlap with
AT the code project in coding/decoding the uri-s?

I meant will there be a clash in scope with

* codec
* lang//EscapeUtils

- Anton


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



Re[2]: DBCP status?

2003-06-30 Thread Anton Tagunov
Hello Ken!

There have been very strongly argumented opinions
that the pool should do nothing of the sort, but
I'd like to go to the bottom of discussing other
alternatives too.

KH * emulates a legal timeout from the database server

I have been stricken with the beauty of approach
you have proposed, indeed its nice to emulate
a server timeout :-))

I still have one reservation: its synchronization.
Does this proposition mean that we have to make
all the normal operations on the connections
synchronized?

I'm afraid something nasty may happen if while
the user is executing a lengthy query another
thread close()-s the connection.

(I'm not concerned that we shall kill legitimate
client operation - after all the client should
have specified a longer timeout then, I'm concerned
that we may upset the driver or something.)

Another synchronization issue is that theoretically
w/o a synchronization the fact that we have
called close() on the connection is not guaranteed
to be propagated to the other thread that is probably
holding the connection. Unless the db driver does
synchronization somewhere underneath of course.

What do you think of this synchronization overhead?
Negligible?

- Anton


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



DO NOT REPLY [Bug 21182] - [dbcp] removing a webapp does not force connections closed

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21182

[dbcp] removing a webapp does not force connections closed





--- Additional Comments From [EMAIL PROTECTED]  2003-06-30 12:20 ---
Tony Locke [EMAIL PROTECTED] does it like this, but I still do not see a general 
solution

if (ds instanceof org.apache.commons.dbcp.BasicDataSource) {

((org.apache.commons.dbcp.BasicDataSource) ds).close();
}

in the contextDestroyed 
method of the context listener class of my web
app.

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



Re: Re[2]: DBCP status?

2003-06-30 Thread Juozas Baliuka


Pool doe's not need locks on connection objects, synchronized can be used
for wait/notifyAll,
but it needs monitor of some global object. Pool must never return the
same connection
for different threads, but connection can be fail-fast itself,
it is  not a very big overhead for connection objects to call
if(owner != Thread.currentThread())
 throw new ConcurrentModificationException();
and to set owner at getConnection time. owner can be used for
automagic, but I am a very big enemy for this kind of workarounds myself.

 Hello Ken!

 There have been very strongly argumented opinions
 that the pool should do nothing of the sort, but
 I'd like to go to the bottom of discussing other
 alternatives too.

 KH * emulates a legal timeout from the database server

 I have been stricken with the beauty of approach
 you have proposed, indeed its nice to emulate
 a server timeout :-))

 I still have one reservation: its synchronization.
 Does this proposition mean that we have to make
 all the normal operations on the connections
 synchronized?

 I'm afraid something nasty may happen if while
 the user is executing a lengthy query another
 thread close()-s the connection.

 (I'm not concerned that we shall kill legitimate
 client operation - after all the client should
 have specified a longer timeout then, I'm concerned
 that we may upset the driver or something.)

 Another synchronization issue is that theoretically
 w/o a synchronization the fact that we have
 called close() on the connection is not guaranteed
 to be propagated to the other thread that is probably
 holding the connection. Unless the db driver does
 synchronization somewhere underneath of course.

 What do you think of this synchronization overhead?
 Negligible?

 - Anton


 -
 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: Re[2]: DBCP status?

2003-06-30 Thread Ken Horn

I wouldn't bother with the synchronization -- closing the socket (which would 
(probably) be the effect of con.close()) would propagate the event. Obviously this 
would be driver dependent, and at best is still a bad thing to do -- to re-iterate, 
I'd only want DBCP to, at most, log abandoned connections. Re-claiming isstill asking 
for trouble.



--

This e-mail may contain confidential and/or privileged information. If you are not the 
intended recipient (or have received this e-mail in error) please notify the sender 
immediately and destroy this e-mail. Any unauthorized copying, disclosure or 
distribution of the material in this e-mail is strictly forbidden.



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



Re[2]: [SURVEY] Commons-URI or not?

2003-06-30 Thread Anton Tagunov
Hello, All!

AT A recent test that I have carried out

Thanks to Dick Zetterberg [EMAIL PROTECTED]

DZ I do not doubt that charAt is slower but I think your test
DZ should be modified slightly.
DZ First a question though:
DZ What JDK version and what platform are you using?

java version 1.4.1
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-b21)
Java HotSpot(TM) Client VM (build 1.4.1-b21, mixed mode)

Win2K SP3, Celeron around 700-800, 512Mb RAM

DZ Then for the tests it would be better if you ran each test
DZ one round first (say 1000 iterations or something) in order
DZ to warm up the hotstop compiler. And then you run it again
DZ and this time you time the result.

No problem, I was interested myself :)

Essentially the results did not change 1.83 - 1.95
I also added mixed test, when I do not do charAt(0), charAt(1),
charAt(2) sequentially, but

charAt(0), charAt(5), charAt(1), charAt(4), ...

For this the slow down was 2.02 - 2.22.
The reason I added this test was because there is an obvious
optimization possible in String for the sequential string scan,
that is remembering one or several last chatAt() requests and the
positions in UTF8 that they corresponded to. I wanted to see
what happens if we're a bit less linear and the quotient really
increased a bit.

So, here are the new test results

Results for 'abcdefghijk'
string version: 421
array version: 230
string mixed version: 731
array mixed version: 361
coeff = 1.8304347826086957
mixed coeff = 2.0249307479224377

Results for 'abcdefghijklmnopqrstuvwxyz'
string version: 941
array version: 481
string mixed version: 1652
array mixed version: 741
coeff = 1.9563409563409564
mixed coeff = 2.229419703103914

Results for 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz'
string version: 1843
array version: 941
string mixed version: 3265
array mixed version: 1462
coeff = 1.9585547290116896
mixed coeff = 2.2332421340629276

Results for 
'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz'
string version: 3635
array version: 1853
string mixed version: 6470
array mixed version: 2884
coeff = 1.961683756071236
mixed coeff = 2.2434119278779474

Results for 'ab?defghijk'
string version: 410
array version: 251
string mixed version: 711
array mixed version: 360
coeff = 1.6334661354581674
mixed coeff = 1.975

Results for 'ab?defghijkab?defghijk'
string version: 801
array version: 411
string mixed version: 1392
array mixed version: 651
coeff = 1.948905109489051
mixed coeff = 2.1382488479262673

Results for 'ab?defghijkab?defghijkab?defghijkab?defghijk'
string version: 1572
array version: 791
string mixed version: 2764
array mixed version: 1242
coeff = 1.9873577749683944
mixed coeff = 2.2254428341384864

Results for '???aaa'
string version: 511
array version: 260
string mixed version: 852
array mixed version: 410
coeff = 1.9653846153846153
mixed coeff = 2.078048780487805

Results for '???aaa???aaa???aaa???aaa???aaa'
string version: 2273
array version: 1162
string mixed version: 4046
array mixed version: 1823
coeff = 1.9561101549053357
mixed coeff = 2.219418540866703

And here is the new test

public class B
{
public final static String STR[] = 
{
abcdefghijk,
abcdefghijklmnopqrstuvwxyz,
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz,

abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz +
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz,

ab\u1234defghijk,

ab\u1234defghijk +
ab\u1234defghijk,

ab\u1234defghijk +
ab\u1234defghijk +
ab\u1234defghijk +
ab\u1234defghijk,

\u0401\u0402\u0403\u1234\u1234\u1234aaa,

\u0401\u0402\u0403\u1234\u1234\u1234aaa +
\u0401\u0402\u0403\u1234\u1234\u1234aaa +
\u0401\u0402\u0403\u1234\u1234\u1234aaa +
\u0401\u0402\u0403\u1234\u1234\u1234aaa +
\u0401\u0402\u0403\u1234\u1234\u1234aaa,
};

public final static int WARMUP1 = 1000;
public final static int WARMUP2 = 10;
public final static int ITER = 100;
private static int sum;

private static long testCharAt( final String str, final int iter )
{
final int len = str.length();
sum = 0;

final long t1 = System.currentTimeMillis();

for ( int i = 0; i  iter; ++i )
{
for ( int j = 0; j  len; ++j )
{
sum += str.charAt( j );
}
}

final long t2 = System.currentTimeMillis();
  
return t2 - t1;
}

private static long testMixedCharAt( final String str, final int iter )
{
final int len = str.length();
final int len1 = len - 1;
  

Re: [VOTE] Serge Knystautas as a commons committer

2003-06-30 Thread Scott Sanders
On Tue, Jun 24, 2003 at 04:05:42PM +1000, dion gillard wrote:
+1

Scott

 Serge,
 
 along with Noel, if you're not already a commons committer, here's my +1.
 
 If you just need karma, lets get it happening.
 
 Serge Knystautas wrote:
 
 David Graham wrote:
 
 I took a crack at fixing DBCP for Struts 1.1 and decided it was in 
 such bad shape that we (Struts) should just drop it.  If other people 
 are willing to fix and support it, I'm +1 on moving to db-commons.
 
 Here is my wish list for DBCP in no particular order:
 
 
 Thanks David.  I'll add these to the list of changes I posted and will 
 get it done shortly.  They all seem very reasonable and helped confirm 
 that there was unnecessary duplication in the codebase.
 
 
 
 -- 
 dIon Gillard, Multitask Consulting
 Blog:  http://blogs.codehaus.org/people/dion/
 Work:  http://www.multitask.com.au
 
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 

-- 
Scott Sanders - [EMAIL PROTECTED]

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



Re: [VOTE] Martin Poeschl as commons committer

2003-06-30 Thread Scott Sanders
On Sat, Jun 28, 2003 at 10:41:43AM -0700, David Graham wrote:
 Martin is currently a committer on Turbine, Torque, and OJB and has
 expressed an interest in maintaining the commons-dbcp project (which is in
 need of new developers).  I suggest we add him as a commons committer.
 

+1
-- 
Scott Sanders - [EMAIL PROTECTED]

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



Re[4]: DBCP status?

2003-06-30 Thread Anton Tagunov
Hello Juozas!

JB Pool doe's not need locks on connection objects, synchronized can be used
JB for wait/notifyAll,
JB but it needs monitor of some global object. Pool must never return the
JB same connection
JB for different threads, but connection can be fail-fast itself,
JB it is  not a very big overhead for connection objects to call
JB if(owner != Thread.currentThread())
JB  throw new ConcurrentModificationException();
JB and to set owner at getConnection time. owner can be used for
JB automagic, but I am a very big enemy for this kind of workarounds myself.

Very pleased to see your mail :)
It really has nice ideas in it!

But, I've got a feeling that we're talking different languages here!
In fact I was discussing Ken Horn's idea that the pool could
* after a connection has been grabbed but not released,
  for say 10 minutes
* forcibly close the underlying real connection
  (thus freeing db server's resources)
  or forcibly return the real connection to the pool
* emulate a database server timeout for that connection by
  throwing an exception on any further client's call on
  the wrapping connection obtained from the pool

It is a way to handle reclaiming lost connections.
To do this we need a monitor thread that would track
connections that have not been released too long.
And for it to tear the real connection away from the
wrapping connection after our 10 minutes timeout we
synchronization as here we have two threads (client's
and monitor's) possibly competing for access to the
wrapping and real connections.

That's what I have been talking about :-)

-Anton


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



RE: Re[2]: DBCP status?

2003-06-30 Thread Danny Angus
 I have been stricken with the beauty of approach
 you have proposed, indeed its nice to emulate
 a server timeout :-))


I can see how this would appeal, allowing DBCP to impose its own timeout, however IMO 
it would still not allow DBCP be able to reclaim the connection, 
Rather it would have instead to mimic the servers response to a timeout, which might 
only become apparent when the connection is used, and not have any affect if the 
routine holding the connection is accessing properties and methods of the connection 
which are handled offline.

In this event it would therefore appear to be almost impossible to achieve any real 
advantage for the pool, in that it would still not be able to legitimately reclaim the 
connection or close it, unless that can be done without breaking existing ResultSet's, 
StoredProcedures and so on.

For example connecting to MySQL using JDBC it is possible to attempt to use a 
connection which no longer exists, and only on the execution of  an SQL query does the 
driver return an error. This is because the instance of Connection is not closed, it 
is simply no longer capable of contacting the RDBMS. Even when that error is issued it 
is *still* the responsibility of the user to call close(), JDBC doesn't reclaim the 
object and garbage collect it for you.

Therefore I contend that it would be inconsistent for DBCP to behave otherwise, and it 
would also be of little use for preventing leaks as leaked connections will most 
likely never be used again, and so never be seen to timeout.

 I'm afraid something nasty may happen if while
 the user is executing a lengthy query another
 thread close()-s the connection.

This is one of my primary reasons for siding against intervention by the pool, it is 
not within the remit of a pool to dictate how the resources should be used. In use, 
IMO, any pool or cache should intervene between programme and resource in a manner 
which is completely transparent. It should never be the case that a pool or cache can 
cause the failure of the resource where the resource is being used legitimately 
according to its specification, JDBC makes no restriction on the length of time 
connections can be held for and therfore neither should any JDBC connection pool. If 
this causes problems for the user it is because they are either using the pool 
inapropriately or their code is broken. In neither situation has the case been well 
argued that the pool should attempt to correct this in preference to the developers of 
the software.

d.

Re: Re[4]: DBCP status?

2003-06-30 Thread Juozas Baliuka

 But, I've got a feeling that we're talking different languages here!
 In fact I was discussing Ken Horn's idea that the pool could
 * after a connection has been grabbed but not released,
   for say 10 minutes
 * forcibly close the underlying real connection
   (thus freeing db server's resources)
   or forcibly return the real connection to the pool

Sorry, it is a crap and needs no discussions.

 * emulate a database server timeout for that connection by
   throwing an exception on any further client's call on
   the wrapping connection obtained from the pool

  I understand it and  I see meaning in the last option only throwing an
exception, it needs no synchronization.
  I will be very happy if nobody will  add more workarounds to DBCP.

 That's what I have been talking about :-)



 -Anton


 -
 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: Re[2]: Nightly builds?

2003-06-30 Thread Noel J. Bergman
 I use windows port of SSH (by Gorden Chaffee, ssh-1.2.14-win32bin.zip)
 with windows port of cvs. CVS and ssh work fine but I fail to do scp.


I'm not familiar with that port, but from the little that I have found it
seems to be ancient and out-of-date.  Have you considered installing the
cygwin port of OpenSSH?  Personally, I use either MindTerm or SSH.

 Maybe the reason is that with scp I did not find a way to specify my
 cvs.apache.org username (atagunov), while my login name here at Win2K
 is different.

  scp -i path-to-private-key ...

or

  scp file [EMAIL PROTECTED]:file

In Craig's case, it turn out to be a file permissions issue.

--- Noel


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



RE: Re[2]: Nightly builds?

2003-06-30 Thread Danny Angus

 Me too, but maybe I'm lameristic :)
 In fact I use windows port of SSH (by Gorden Chaffee, 
 ssh-1.2.14-win32bin.zip)
 with windows port of cvs. CVS and ssh work fine but I fail to do scp.
 But I have been failing this for a long time already. Maybe the reason
 is that with scp I did not find a way to specify my cvs.apache.org
 username (atagunov), while my login name here at Win2K is different.


Try using putty on windows, it has implementations of scp sftp ssh and agent, has a 
good ssh terminal GUI or you can use a commandline version. 

http://www.chiark.greenend.org.uk/~sgtatham/putty/



[math] Supplying new files in patches

2003-06-30 Thread Mark R. Diggory
After some research done by Phil and I, we've come to the conclusion 
that its quite difficult to generate cvs diff patches that add new files 
when applied. This is because of a Catch-22 where one would need to do a 
'cvs add' prior to 'cvs diff' to capture the new file state in the 
/CVS/Entries file. To do this 'cvs add' you need to have commit rights 
to the cvs tree, 90% of those individuals providing patches do not have 
such commit rights and can't complete the process. There are workarounds 
for this, but too complex to be of worth really.

With this in mind, I want everyone to feel entirely free about adding 
new files as attachments (compressed or not) in the bug/enhancment 
requests. This appears to be the easiest overall solution for both 
patcher and patchee.

-Mark

--
Mark Diggory
Software Developer
Harvard MIT Data Center
http://www.hmdc.harvard.edu


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


Re[4]: Nightly builds?

2003-06-30 Thread Anton Tagunov
Hello Noel!

AT I use windows port of SSH (by Gorden Chaffee, ssh-1.2.14-win32bin.zip)
AT with windows port of cvs. CVS and ssh work fine but I fail to do scp.

Noel J. Bergman:
NJB I'm not familiar with that port, but from the little that I have found it
NJB seems to be ancient and out-of-date.  Have you considered installing the
NJB cygwin port of OpenSSH?  Personally, I use either MindTerm or SSH.

Danny Angus:
DA Try using putty on windows, it has implementations of scp sftp
DA ssh and agent, has a good ssh terminal GUI or you can use
DA a commandline version.

DA http://www.chiark.greenend.org.uk/~sgtatham/putty/

Thank you, Noel and Danny!
In fact Gorden Chaffee's ssh is has only a dumb terminal so it would
be a nightmare to use for real ssh access. I do have SSH 3.2.0
http://www.ssh.com

But, with that program I have another kind of difficulty:
by itself it generates keys of some format not recognized
by ssh server running on cvs.apache.org. The keys of this
format look like

 BEGIN SSH2 PUBLIC KEY 
Comment: [2048-bit dsa, [EMAIL PROTECTED], Sat Jun 07 2003 17:13:22]
...
 END SSH2 PUBLIC KEY 

 BEGIN SSH2 ENCRYPTED PRIVATE KEY 
Comment: [2048-bit dsa, [EMAIL PROTECTED], Sat Jun 07 2003 17:13:22]
...
 END SSH2 ENCRYPTED PRIVATE KEY 


In its turn keygen.exe supplied with Gorden Chaffee's port generates
keys that look like

public:
1024 35 13916.283 [EMAIL PROTECTED]

private:
SSH PRIVATE KEY FILE FORMAT 1.1



Maybe keygen.exe generates some ssh 1.1 keys while SSH 3.2.0 generates
ssh 2 keys. In fact icarus only likes ssh 1.1 keys.

For some reason I failed to make SSH 3.2.0 submit ssh 1.1 key
generated with keygen.exe, that's why I have to login with SSH 3.2.0,
but that's not that bad, that is the full story.

Yup, I have seen Putty once, I even have the distribution somewhere
in my archs. A real nice program, all setup on one screen, but I like
SSH 3.2.0 better :-)

It looks like Gorden Chaffee's port of ssh is the only thing that
works with native windows port of cvs available from their official
site, and it works okay.

AT Maybe the reason is that with scp I did not find a way to specify my
AT cvs.apache.org username (atagunov), while my login name here at Win2K
AT is different.

NJB   scp file [EMAIL PROTECTED]:file

WOW! it worked!  Thanks, Noel very much! :-))
So the port of ssh is not that bad as it fuels both scp and cvs :-)

And I used that because I did not want to pay for the traffic to
get the real huge Cygwin.

-Anton


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



Re: [math][functor] More Design Concerns

2003-06-30 Thread J.Pietschmann
Phil Steitz wrote:
I agree. My preference would be to eliminate the original 
RootFinding.java and refactor the distribution inversion methods to use 
the new framework.  Before taking that step, however, I would like to 
hear Brent's opinion on what might be improved in the new framework.
I've taken a look at this and the other problems.
If nobody objects until wendesday or so, I'll ask
for karma and hopefully start work on it on weekend.
Is this ok?

J.Pietschmann



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


Re: [VOTE] Martin Poeschl as commons committer

2003-06-30 Thread robert burrell donkin
+1

- robert

On Saturday, June 28, 2003, at 06:41 PM, David Graham wrote:

Martin is currently a committer on Turbine, Torque, and OJB and has
expressed an interest in maintaining the commons-dbcp project (which is in
need of new developers).  I suggest we add him as a commons committer.
Here's my +1.

David

__
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com
-
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: Re[4]: Nightly builds?

2003-06-30 Thread Danny Angus

 But, with that program I have another kind of difficulty:
 by itself it generates keys of some format not recognized
 by ssh server running on cvs.apache.org. The keys of this
 format look like

Top tip .. I find it often avoids pain if you generate your keys on the server you're 
connecting to rather on your own desktop.
Particularly if the former is *nix and the latter isn't.

d.

DO NOT REPLY [Bug 21205] New: - [PATCH] [codec] change Hex to implement BinaryEncoder/BinaryDecoder

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21205

[PATCH] [codec] change Hex to implement BinaryEncoder/BinaryDecoder

   Summary: [PATCH] [codec] change Hex to implement
BinaryEncoder/BinaryDecoder
   Product: Commons
   Version: unspecified
  Platform: All
OS/Version: All
Status: NEW
  Severity: Enhancement
  Priority: Other
 Component: Codec
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


Here's a simple patch to allow Hex to be used as a BinaryEncoder and BinaryDecoder.

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



DO NOT REPLY [Bug 21205] - [PATCH] [codec] change Hex to implement BinaryEncoder/BinaryDecoder

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21205

[PATCH] [codec] change Hex to implement BinaryEncoder/BinaryDecoder





--- Additional Comments From [EMAIL PROTECTED]  2003-06-30 21:49 ---
Created an attachment (id=7031)
diff -u Hex.java.~1.2.~ Hex.java

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



SSH access (was Nightly builds?)

2003-06-30 Thread Noel J. Bergman
 I do have SSH 3.2.0 http://www.ssh.com

 But, with that program I have another kind of difficulty:
 by itself it generates keys of some format not recognized
 by ssh server running on cvs.apache.org.

See: http://www.ices.utexas.edu/adminworld/sshinterop.html#5

I had to do the same thing, since I use SSH 3.1.1.

 In fact icarus only likes ssh 1.1 keys.

Not true.  I use SSH protocol 2 with the ASF servers, and public key
authentication.  Here is mine:

 $ cd .ssh
 $ ls -l
  total 2
  -rw-r--r--  1 noel  noel  606 Oct 30  2002 authorized_keys2
  -rw-r--r--  1 noel  noel  936 Feb 22 23:22 known_hosts
  $ cat auth*
  ssh-dss [clip] [EMAIL PROTECTED]

Let me know if that helps.

--- Noel


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



cvs commit: jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor TestAll.java

2003-06-30 Thread rwaldhoff
rwaldhoff2003/06/30 15:40:08

  Modified:functor/src/test/org/apache/commons/functor TestAll.java
  Log:
  enable tests
  
  Revision  ChangesPath
  1.5   +3 -2  
jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/TestAll.java
  
  Index: TestAll.java
  ===
  RCS file: 
/home/cvs/jakarta-commons-sandbox/functor/src/test/org/apache/commons/functor/TestAll.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TestAll.java  30 Jun 2003 11:00:18 -  1.4
  +++ TestAll.java  30 Jun 2003 22:40:08 -  1.5
  @@ -73,6 +73,7 @@
   TestSuite suite = new TestSuite();
   
   // functor package
  +suite.addTest(TestAlgorithms.suite());
   
   // sub-packages
   suite.addTest(org.apache.commons.functor.adapter.TestAll.suite());
  
  
  

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



cvs commit: jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor Algorithms.java

2003-06-30 Thread rwaldhoff
rwaldhoff2003/06/30 15:40:53

  Modified:functor/src/java/org/apache/commons/functor Algorithms.java
  Log:
  refactor slightly to avoid inline assignment
  
  Revision  ChangesPath
  1.4   +10 -4 
jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/Algorithms.java
  
  Index: Algorithms.java
  ===
  RCS file: 
/home/cvs/jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/Algorithms.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Algorithms.java   30 Jun 2003 11:00:16 -  1.3
  +++ Algorithms.java   30 Jun 2003 22:40:53 -  1.4
  @@ -355,8 +355,14 @@
   
   // if the function returns another function, execute it. stop executing
   // when the function doesn't return another function of the same type.
  -while(recursiveFunctionClass.isInstance(result = function.evaluate())) {
  -function = (Function)result;
  +while(true) {
  +result = function.evaluate();
  +if(recursiveFunctionClass.isInstance(result)) {
  +function = (Function)result;
  +continue;
  +} else {
  +break;
  +}
   }
   
   return result;
  
  
  

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



cvs commit: jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/generator IteratorToGeneratorAdapter.java Generator.java

2003-06-30 Thread rwaldhoff
rwaldhoff2003/06/30 16:36:14

  Modified:functor/src/java/org/apache/commons/functor/generator
IteratorToGeneratorAdapter.java Generator.java
  Log:
  use braces
  
  Revision  ChangesPath
  1.2   +3 -3  
jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/generator/IteratorToGeneratorAdapter.java
  
  Index: IteratorToGeneratorAdapter.java
  ===
  RCS file: 
/home/cvs/jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/generator/IteratorToGeneratorAdapter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- IteratorToGeneratorAdapter.java   30 Jun 2003 11:00:13 -  1.1
  +++ IteratorToGeneratorAdapter.java   30 Jun 2003 23:36:13 -  1.2
  @@ -92,7 +92,7 @@
   public void run(UnaryProcedure proc) {
   while(iter.hasNext()) {
   proc.run(iter.next());
  -if (isStopped()) break;
  +if (isStopped()) { break; } 
   }
   }
   
  
  
  
  1.2   +4 -5  
jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/generator/Generator.java
  
  Index: Generator.java
  ===
  RCS file: 
/home/cvs/jakarta-commons-sandbox/functor/src/java/org/apache/commons/functor/generator/Generator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Generator.java30 Jun 2003 11:00:13 -  1.1
  +++ Generator.java30 Jun 2003 23:36:14 -  1.2
  @@ -82,7 +82,6 @@
   
   /** Create a new generator. */
   public Generator() {
  -
   }
   
   /**
  @@ -95,7 +94,7 @@
   }
   
   /** Get the generator that is being wrapped. */
  -public Generator getWrappedGenerator() {
  +protected Generator getWrappedGenerator() {
   return wrappedGenerator;
   }
   
  @@ -104,7 +103,7 @@
   
   /** Stop the generator. Will stop the wrapped generator if one was set. */
   public void stop() {
  -if (wrappedGenerator != null) wrappedGenerator.stop();
  +if (wrappedGenerator != null) { wrappedGenerator.stop(); } 
   stopped = true;
   }
   
  
  
  

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



cvs commit: jakarta-commons/httpclient/src/java/org/apache/commons/httpclient URI.java

2003-06-30 Thread mbecke
mbecke  2003/06/30 18:12:29

  Modified:httpclient/src/java/org/apache/commons/httpclient URI.java
  Log:
  The URI is now correctly rebuilt after calling normalize().  This patch also 
includes a couple
of style violations.
  PR: 21201
  
  Revision  ChangesPath
  1.36  +17 -15
jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/URI.java
  
  Index: URI.java
  ===
  RCS file: 
/home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/URI.java,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- URI.java  19 Jun 2003 23:28:19 -  1.35
  +++ URI.java  1 Jul 2003 01:12:29 -   1.36
  @@ -1982,16 +1982,16 @@
   next = tmp.length();
   }
   if (!_is_abs_path) {
  -if (!escaped  prevalidate(tmp.substring(from, next),
  -disallowed_rel_path) || escaped 
  -validate(tmp.substring(from, next).toCharArray(),
  -rel_path)) {
  +if (!escaped 
  + prevalidate(tmp.substring(from, next), disallowed_rel_path) 
  +|| escaped 
  + validate(tmp.substring(from, next).toCharArray(), rel_path)) 
{
   // Set flag
   _is_rel_path = true;
  -} else if (!escaped  prevalidate(tmp.substring(from, next),
  -disallowed_opaque_part) || escaped 
  -validate(tmp.substring(from, next).toCharArray(),
  -opaque_part)) {
  +} else if (!escaped 
  + prevalidate(tmp.substring(from, next), 
disallowed_opaque_part) 
  +|| escaped 
  + validate(tmp.substring(from, next).toCharArray(), 
opaque_part)) {
   // Set flag
   _is_opaque_part = true;
   } else {
  @@ -2492,7 +2492,7 @@
* And each application should remember its own charset to support.
*
* @param charset the default charset for each protocol
  - * @throws DefaultDefaultCharsetChanged default charset changed
  + * @throws DefaultCharsetChanged default charset changed
*/
   public static void setDefaultProtocolCharset(String charset) 
   throws DefaultCharsetChanged {
  @@ -2531,8 +2531,9 @@
* @see #getDefaultProtocolCharset
*/
   public String getProtocolCharset() {
  -return (protocolCharset != null) ? protocolCharset :
  -defaultProtocolCharset;
  +return (protocolCharset != null) 
  +? protocolCharset 
  +: defaultProtocolCharset;
   }
   
   
  @@ -3490,6 +3491,7 @@
*/
   public void normalize() throws URIException {
   _path = normalize(_path);
  +setURI();
   }
   
   
  
  
  

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



Re: DBCP status?

2003-06-30 Thread Serge Knystautas
David Graham wrote:
The problem was that DBCP was trying to track and recover abandoned
connections.  This isn't just an implementation problem, it's a philosophy
problem.  Pool semantics dictate that client applications behave properly
when checking out and returning pool resources.  The pool is absolutely
not responsible for fixing poorly behaving applications.  This led to
bugs, questions, convoluted inheritance hierachies/code, and promoted the
idea that users didn't have to bother writing their applications properly
because the pool would fix their apps for them.
The pool should keep track of how long a connection has been checked out
and log a message when it passes some configurable threshold but it should
never try to grab the connection back from the application.
I agree trying to recover connections is bad.  I've found it leads to 
problems that don't show up during a test phase become very confusing 
and challenging problems in production once under high-load.

The approach I took was this
a) support an optional max-active time threshold, which means there is a 
time limit to how long a connection can be marked as in use.
b) if this threshold is exceeded, you close the connection.  The value 
of trying to return it to the pool is minimal, while the downside of 
returning a mid-transaction/statement connection to a pool is very bad 
and nearly impossible to track down.
c) support an optional debug step that will create a Throwable when 
getConnection is called.  Then if the max-active threshold is hit, we 
can print the stack trace of where the aged connection was grabbed, and 
in development/testing, quickly resolve the errant connection.

Does this seem reasonable?

--
Serge Knystautas
President
Lokitech  software . strategy . design  http://www.lokitech.com
p. 301.656.5501
e. [EMAIL PROTECTED]
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


RE: [math][functor] More Design Concerns

2003-06-30 Thread Brent Worden
Sorry for my non-response on any part of this thread.  I've been away on
vacation.

 -Original Message-
 From: Phil Steitz [mailto:[EMAIL PROTECTED]
 Sent: Friday, June 27, 2003 7:20 PM
 To: Jakarta Commons Developers List
 Subject: Re: [math][functor] More Design Concerns


 J.Pietschmann wrote:
  Mark R. Diggory wrote:
 

 
  Further comments:
  1 Now there are two root finding frameworks in place. I think
 this should
be unified.

 I agree. My preference would be to eliminate the original
 RootFinding.java and refactor the distribution inversion methods to use
 the new framework.  Before taking that step, however, I would like to
 hear Brent's opinion on what might be improved in the new framework.

The only issues I have are with the UnivariateRealSolverFactory class.  I
feel there should be a separation of the factory method and the solve
methods.  I don't think the solve method belong on a factory.  They are more
appropriately placed (do I dare say) in a SolverUtils utility type class.

Also, for the factory to provide its intended flexibility, I would
reimplement it using the abstract factory design pattern.  This allows the
factory to be swapped in and out at the user's leisure.

As it stands the factory can only create one product even though there are
several products that could be created.  If a user wants/needs to create a
specific solver, they must circumvent the factory and use the constructor.
This defeats the whole purpose of the factory which is to control product
creation.  I would suggest adding factory methods that enable the creation
of the other products.


  2 Either derive ConvergenceException from MathException and use it in
BrentSolver and SecantSolver too for indicating convergence problems,
or replace it in or somewhere near Gamma.java with a MathException.

 I agree.  My vote would be to leave MathException in math and derive
 ConvergenceException in analysis from it.


That makes sense.  I would suggest moving ConvergenceException out of
org.apache.commons.math.analysis because I think we'll eventually have a
cyclical package dependency with org.apache.commons.math.util as
ContinuedFraction depends on ConvergenceException.


  6 Factorials and binominal coefficients are classical classroom
 examples,
but I never saw them in any real world implementation of a numerical
algorithm. Well, with the possible exception of number theory related
stuff. In fact, encountering these is usually an indication that the
algorithm could be sped up by at least an order of magnitude.

 Interesting perspective.  The uses that I had in mind were for discrete
 probability distributions (and yes, maybe some number-theoretic or
 purely combinatorial stuff).  I have from time to time needed to compute
 binomial coefficients and/or probabilities in testing or simulation
 applications. Now that we have the Gamma function, binomial
 probablilities don't really need binomial coefficients.  If others agree
 that these will have limited practical application, I would be OK with
 dropping them.

1) limited practical application implies some practical application.
2) They are already coded, tested, and working.
Therefore, I would suggest leaving them in.

Brent Worden
http://www.brent.worden.org


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



[PROPOSAL] 2.1 release plan

2003-06-30 Thread Kalnichevski, Oleg
All,
I have taken the liberty of compiling a draft 2.1 release plan that incorporates 
various ideas tossed around recently (special thanks go to Eric Johnson). I feel we 
ought to clearly articulate our short- to mid-term development plans before 2.0 goes 
RC1. 

Comments, ideas, critique welcome 

Cheers

Oleg



$Id$

Release Plan for HttpClient 2.1
-

Administrivia:

This document describes a plan for a 2.1 release of the
Jakarta-Commons HttpClient component (for the remainder
of this document, simply HttpClient).  Per the
Jakarta/ASF guidelines
(http://jakarta.apache.org/site/decisions.html), this
document doesn't mean anything until accepted by the
relevant committer community via a lazy majority vote
(hereafter, simply lazy majority).  Once accepted, it may
be replaced by an alternative plan, again subject to lazy
majority approval.

Non-binding votes (votes cast by those outside the relevant
committer community) are welcome, but only binding votes
are significant for decision making purposes.

Objective:

The objective of the 2.1 release of HttpClient is to build upon 
the foundation laid with the previous release while addressing 
those  architectural shortcomings and flaws identified during 2.0 
development process. Several well known and much complained about 
problems could not be resolved without sacrificing API stability. 
The primary motivation behind the 2.1 is to fix those design 
limitations, breaking 2.0 API compatibility where absolutely 
unavoidable, while preserving overall compatibility with 2.0
use patterns.  

Planned fixes and modifications:

 1. Better exception handling framework (Bug #19868).

 2. Cross-site redirect fix. Authentication, redirect  retry logic
to be moved from HttpMethodBase to HttpClient (Bug #20089,
#16729).

 3. New configuration architecture that includes plug-in mechanism 
for cookie policies  authentication schemes (Bug #15435, 
#10790, #10790, #15297, #21151).

 4. More reliable header parser (Bug #11240).

 5. Ability to abort requests (Bug #20288).

 6. A better test framework than SimpleHttpConnectionManager, that 
allows to more closely mimic real  HttpConnection behavior, 
thus enabling more tests without actually requiring a real 
connection. 

 7. Decision on new external dependencies: commons-lang, commons-codec
(Bug #16881)

 8. Removal of functions  classes deprecated in 2.0


Release Manager:

  Jeff Jandalf Dever (Starting July 31, 2002)


Voting:
  Please return this portion with your vote 
[ ] +1I am in favor of this plan and I will help
[ ] +0I am in favor of this plan, but I am unable to help
[ ] -0I am not in favor of this plan
[ ] -1I am opposed to this plan being executed, and my reason is:
  /Please return this portion with your vote 

 
Feature/Fault Tracking:

BugZilla will be the mechanism for tracking features and faults
(ie: bugs).  When the new Scarab system becomes available, Scarab
will replace BugZilla in this role.

Milestone development will begin immediately on approval
of this release plan.  All repository changes that are non-trivial 
will require a bugzilla bug or feature enhancement request.
It will be the responsibility of the release manager to categorize
bugs/features into release versions, but will always remain
subject to the will of the majority.  In order to declare that a
release has been reached, all bugs/features categorized into 
that target release must be completed and a vote must pass 
subject to lazy approval.

The following procedure will be followed:
1) All changes must be motivated by a bugzilla change request.
2) Patches constructed according to standard practice should be 
attached to the relevant BugZilla bug.
3) A committer can then commit the patch to the repository.


Milestone Development Phases:

2.1 Alpha development
Designations: 2.1A1, 2.1A2
During the previous period of development, many new features
were added, dependencies were changes, interfaces were impacted.
During Milestone development, the nature of the changes will
focus on:
a) interface changes
b) functionality additions
c) fault fixing

2.0 Beta development
Designations: 2.1B1, 2.1B2
Development will be focused on quality and stability.  No new
major features will be added, with the following change types
being the most prelevent:
a) fix faults with accompanying test cases
b) additional test cases to improve functionality
c) improve documentation

2.0 Release development
Designations: 2.1RC1, 2.1RC2, 2.1
When all features are complete and all reported bugs have been fixed,
a release candidate (RC) build will be released.  Any reported bugs
that are targeted for the 2.1 release will be fixed and a new RC
build will be released.  After a week of no changes, the last RC
build will become the 2.1 release with the following changes only:
release version, aside from:
a) change the release tag in the build.xml/project.xml
b) update 

RE: Continue - 100

2003-06-30 Thread George Gastaldi
Hi !

I am already using the BETA-1 and the 100-continue error continues.
What should I do ?

Thanks 

-Original Message-
From: Kalnichevski, Oleg [mailto:[EMAIL PROTECTED]
Sent: Friday, June 27, 2003 11:36 AM
To: Commons HttpClient Project
Subject: RE: Continue - 100


Upgrade to BETA-1 or current CVS snapshot. I suppose you are using on of the
ALPHA releases, as since BETA-1 HttpClient never returns 100 (continue)
status code to the caller.

http://jakarta.apache.org/commons/httpclient/downloads.html

Cheers

Oleg


-Original Message-
From:   George Gastaldi [mailto:[EMAIL PROTECTED]
Sent:   Fri 6/27/2003 16:35
To: Commons HttpClient Project (E-mail)
Cc: 
Subject:Continue - 100
Hello Everybody !

I have a problem regarding HTTPClient when I do a POST. In some
situations, the code returned is 100 - Continue. 
What should I do ? I don't know what to do. 

byte[] message = ...;
HttpClient hc = new HttpClient();
PostMethod pm = new PostMethod('...url... );
hc.getHostConfiguration().setProxy(proxyHost,123);
Credentials cr = new UsernamePasswordCredentials(xx,xx);
 hc.getState().setProxyCredentials(null,cr);
 pm.setDoAuthentication(true);
 pm.setRequestHeader(Cache-Control,no-store); //HTTP 1.1
 pm.setRequestHeader(Pragma,no-cache); //HTTP 1.0
 pm.setRequestHeader(Content-type,text/xml);
 
  pm.setRequestBody(new ByteArrayInputStream(message));
  // Must set length to -1 to use Chunked. (BUG when content-length is
0).
  int len = (message.length == 0) ? -1 : message.length;
  pm.setRequestContentLength(len);
  int rc = hc.executeMethod(pm);
  // The rc == 100
  if (rc == 200) {
contents = pm.getResponseBody();
  }







RE: Continue - 100

2003-06-30 Thread Kalnichevski, Oleg
Please follow the logging guide below and produce the wire log of the HTTP session 
that exhibits the problem. 

http://jakarta.apache.org/commons/httpclient/logging.html

Oleg


-Original Message-
From:   George Gastaldi [mailto:[EMAIL PROTECTED]
Sent:   Mon 6/30/2003 16:48
To: Commons HttpClient Project
Cc: 
Subject:RE: Continue - 100
Hi !

I am already using the BETA-1 and the 100-continue error continues.
What should I do ?

Thanks 

-Original Message-
From: Kalnichevski, Oleg [mailto:[EMAIL PROTECTED]
Sent: Friday, June 27, 2003 11:36 AM
To: Commons HttpClient Project
Subject: RE: Continue - 100


Upgrade to BETA-1 or current CVS snapshot. I suppose you are using on of the
ALPHA releases, as since BETA-1 HttpClient never returns 100 (continue)
status code to the caller.

http://jakarta.apache.org/commons/httpclient/downloads.html

Cheers

Oleg


-Original Message-
From:   George Gastaldi [mailto:[EMAIL PROTECTED]
Sent:   Fri 6/27/2003 16:35
To: Commons HttpClient Project (E-mail)
Cc: 
Subject:Continue - 100
Hello Everybody !

I have a problem regarding HTTPClient when I do a POST. In some
situations, the code returned is 100 - Continue. 
What should I do ? I don't know what to do. 

byte[] message = ...;
HttpClient hc = new HttpClient();
PostMethod pm = new PostMethod('...url... );
hc.getHostConfiguration().setProxy(proxyHost,123);
Credentials cr = new UsernamePasswordCredentials(xx,xx);
 hc.getState().setProxyCredentials(null,cr);
 pm.setDoAuthentication(true);
 pm.setRequestHeader(Cache-Control,no-store); //HTTP 1.1
 pm.setRequestHeader(Pragma,no-cache); //HTTP 1.0
 pm.setRequestHeader(Content-type,text/xml);
 
  pm.setRequestBody(new ByteArrayInputStream(message));
  // Must set length to -1 to use Chunked. (BUG when content-length is
0).
  int len = (message.length == 0) ? -1 : message.length;
  pm.setRequestContentLength(len);
  int rc = hc.executeMethod(pm);
  // The rc == 100
  if (rc == 200) {
contents = pm.getResponseBody();
  }









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

RE: Cookie Issues

2003-06-30 Thread ross_r
Well it has changed my problem.  Here what happens now, I still do not get
the post results that I want.  Here's the proxy trace with a browser:

POST /JobSeeker/Jobs/JobQuery.asp?ch=al HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
application/vnd.ms-excel, application/vnd.ms-powerpoint,
application/msword, */*
Referer:
http://www.careerbuilder.com/JobSeeker/Jobs/JobQuery.asp?ch=al
Accept-Language: en-us
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; YComp
5.0.0.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322)
Host: www.careerbuilder.com
Content-Length: 191
Pragma: no-cache
Cookie:
BID=X1AF7F150CF82DEEBA4E03DAF0F931A1314C4A2FA0C33F3DC0A204C3B55F8553AF  ;
bJobSeeker=True;
CB%5FSID=e81477595a9e4a5b9d9e386d618e0b15%2D110294498%2Drh%2D1; PU=0
Connection: keep-alive
Accept-encoding: gzip, deflate
Browser reload detected...
Posting 191 bytes...
st=a
Words=java
Use=All
Town=new+york
states=NY%2C+US
Freshness=
EdLevel=DR3
EdExc=YES
EmpType=JTFT
EmpType=JTCT
EmpType=JTIN
minsalary=0
maxsalary=gt120
vt=title
submit1=Search
sname=
jrdid=
Continue ignored...

+++RESP 12+++
HTTP/1.1 302 Found
Server: Microsoft-IIS/5.0
Date: Mon, 30 Jun 2003 17:23:37 GMT
X-Powered-By: ASP.NET
Connection: close
Set-Cookie:
BID=X1AF7F150CF82DEEBA4E03DAF0F931A131AE9ACC050B2FDB88D31C12A6193198AB  ;
domain=.careerbuilder.com; expires=Tue, 29-Jun-2004 15:00:00 GMT;
path=/
Location:
/JobSeeker/Jobs/JobResults.asp?jrdid=strCrit=QID%3DA3846750832018%3Bs
t%3Da%3Buse%3DAll%3BrawWords%3Djava%3BTID%3D13938%3BBID%3DD2J8%3BCTY%3
DNew+York%3BSID%3DNY%3BCID%3DUS%3BENR%3DNO%3BDTP%3DDR3%3BYDI%3DYES%3BI
ND%3DAll%3BPDQ%3DAll%3BJN%3DAll%3BPAYL%3D0%3BPAYH%3Dgt120%3BPOY%3DNO%3
BETD%3DJTFT%3BETD%3DJTCT%3BETD%3DJTIN%3BRE%3DALL%3BMGT%3DDC%3BSUP%3DDC
%3BFRE%3D30%3BCHL%3Dal%3BQS%3Dhhr%5FJobQuery%2Easp%3BSS%3DNO%3BTITL%3D
0%3BVT%3DtitleCiBookMark=1sname=
Connection: close
P3P: CP=CAO CURa IVAa HISa OUR IND UNI COM NAV INT
STA,policyref=http://img.icbdr.com/images/CBP3P.xml;
Content-Length: 0
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: bJobSeeker=True; expires=Wed, 30-Jun-2004 17:23:36 GMT;
domain=.careerbuilder.com; path=/

Note the 302 result with the page location I would need to get.
However when I do a Post with the HTTPClient the trace shows I get a 200 OK
back and the location in that header is the same post location I just posted
to so I get the form back again.  Any Ideas??

Ross

PS: here's the relevant trace:

2003/06/30 13:34:23:889 EDT [DEBUG] wire - - POST
/JobSeeker/Jobs/jobfindall.asp?ch=al HTTP/1.0[\r][\n]
2003/06/30 13:34:23:919 EDT [DEBUG] wire - - Referer:
http://www.careerbuilder.com/JobSeeker/Jobs/JobQuery.asp?ch=al[
\r][\n]
2003/06/30 13:34:23:989 EDT [DEBUG] wire - - User-Agent: Jakarta
Commons-HttpClient/2.0beta1[\r][\n]
2003/06/30 13:34:23:989 EDT [DEBUG] wire - - Host:
www.careerbuilder.com[\r][\n]
2003/06/30 13:34:23:989 EDT [DEBUG] wire - - Cookie:
CB%5FSID=94254f4c05dc49409a412b4aa0d6b6df%2D110295211%2Drs%2D1;
BID=X1F973B11E6FB9EE790A13B8953372A922546BBBFACB72F0CFCC4162D2A3951A01;
PU=0; bJobSeeker=True[\r][\n]
2003/06/30 13:34:24:009 EDT [DEBUG] wire - - Content-Length: 192[\r][\n]
2003/06/30 13:34:24:009 EDT [DEBUG] wire - - Content-Type:
application/x-www-form-urlencoded[\r][\n]
2003/06/30 13:34:24:009 EDT [DEBUG] wire - - [\r][\n]
2003/06/30 13:34:24:029 EDT [DEBUG] wire - -
st=aWords=javaUse=AllTown=New+Yorkstates=NY%2C+USFreshness=EdLevel
=DR3EdExec=YESEmpType=JTFTEmpType=JTCTEmpType=JTINminsalary=0maxsalary
=gt120vt=titlesubmit1=Searchsname=jrdid=

2003/06/30 13:34:24:169 EDT [DEBUG] wire - - HTTP/1.1 200 OK[\r][\n]
2003/06/30 13:34:24:209 EDT [DEBUG] wire - - Server:
Microsoft-IIS/5.0[\r][\n]
2003/06/30 13:34:24:209 EDT [DEBUG] wire - - Date: Mon, 30 Jun 2003
17:33:36 GMT[\r][\n]
2003/06/30 13:34:24:209 EDT [DEBUG] wire - - X-Powered-By:
ASP.NET[\r][\n]
2003/06/30 13:34:24:239 EDT [DEBUG] wire - - Set-Cookie:
BID=X1F973B11E6FB9EE790A13B8953372A922496B935C637EB6873BC4EA
56DCD426B2; domain=.careerbuilder.com; expires=Tue, 29-Jun-2004 15:00:00
GMT; path=/[\r][\n]
2003/06/30 13:34:24:239 EDT [DEBUG] wire - - P3P: CP=CAO CURa IVAa HISa
OUR IND UNI COM NAV INT STA,policyref=http
://img.icbdr.com/images/CBP3P.xml[\r][\n]
2003/06/30 13:34:24:239 EDT [DEBUG] wire - - Connection:
Keep-Alive[\r][\n]
2003/06/30 13:34:24:259 EDT [DEBUG] wire - - Content-Length:
29610[\r][\n]
2003/06/30 13:34:24:259 EDT [DEBUG] wire - - Content-Type: text/html;
charset=ISO-8859-1[\r][\n]
2003/06/30 13:34:24:259 EDT [DEBUG] wire - - Set-Cookie: bJobSeeker=True;
expires=Wed, 30-Jun-2004 17:33:36 GMT; doma

DO NOT REPLY [Bug 21201] - URI.normalize() error

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21201

URI.normalize() error

[EMAIL PROTECTED] changed:

   What|Removed |Added

   Priority|Other   |Low
Version|1.0 Alpha   |2.0 Beta 1



--- Additional Comments From [EMAIL PROTECTED]  2003-06-30 20:43 ---
I forgot to set proper version -- 2.0 beta 1.

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



DO NOT REPLY [Bug 21201] - URI.normalize() error

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21201

URI.normalize() error





--- Additional Comments From [EMAIL PROTECTED]  2003-06-30 20:55 ---
It looks like normalize() is doing the correct thing, but URI.toString() does
not use the normalized path.  Try this:

   URI uri = new URI(http, null, host, -1, /tmp/../yo, null, null);
   uri.normalize();
   System.out.println(uri);
   System.out.println(uri.getPath());

I will look into toString() and get back to you.

Mike

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



DO NOT REPLY [Bug 21201] - URI.normalize() error

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21201

URI.normalize() error





--- Additional Comments From [EMAIL PROTECTED]  2003-06-30 20:59 ---
Created an attachment (id=7030)
fix 1

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



DO NOT REPLY [Bug 21201] - URI.normalize() error

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21201

URI.normalize() error





--- Additional Comments From [EMAIL PROTECTED]  2003-06-30 21:01 ---
I think this patch should take care of the problem.

Mike

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



DO NOT REPLY [Bug 21202] - wire logger skips empty line

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21202

wire logger skips empty line





--- Additional Comments From [EMAIL PROTECTED]  2003-06-30 23:16 ---
Created an attachment (id=7032)
possible fix 1

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



DO NOT REPLY [Bug 21201] - URI.normalize() error

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

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21201

URI.normalize() error

[EMAIL PROTECTED] changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED



--- Additional Comments From [EMAIL PROTECTED]  2003-07-01 01:17 ---
Patch applied.

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



[VOTE][RESULT] beta2 release

2003-06-30 Thread Michael Becke
The results are 3 +1s and no other votes.  Unless I hear something to 
the contrary I will proceed with the tag/release tomorrow morning 
(about 10 hours from now).  Most likely I will be able to complete all 
of the necessary pieces by tomorrow night.

Please let me know if there is anything that needs to be taken care of 
pre beta-2.  The only outstanding code change that I see for inclusion 
in beta-2 is bug #21202.

Mike

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