From struts-dev-kaitlin41@example.org Fri Feb 01 08:19:04 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 94494 invoked from network); 1 Feb 2002 08:19:03 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 08:19:03 -0000 Received: (qmail 29777 invoked by uid 97); 1 Feb 2002 08:19:09 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 29754 invoked by uid 97); 1 Feb 2002 08:19:08 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 29743 invoked from network); 1 Feb 2002 08:19:07 -0000 X-SMTP-Peer: miro.comm2000.it [83.161.120.155] Message-ID: <002901c1aaf9$22c307b0$25010104@Ivan> From: "Ivan Siviero" <kaitlin41@example.org> To: "Struts Developers List" <kaitlin41@example.org> References: <kaitlin41@example.org> <p05100311b87f8502de39@[83.161.120.155]> Subject: Re: Adapting the O'Reilly servlet classes for Struts upload Date: Fri, 1 Feb 2002 09:19:13 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N > >I found a post to struts-dev where Mike wishes he had the time to replace > >the existing upload code with O'Reilly's implementation -- or at least this > >is my understanding, correct me if I'm wrong. > > Is this a recent post? (Can you send the URL?) > I'm also interested in the upload bug fixing. I heard it is suffice to download the mod_webapp and recompile it. I'd like to know if there is a Linux 7.2 compiled version of it. Thanks Ivan -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Fri Feb 01 15:40:44 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 99525 invoked from network); 1 Feb 2002 15:40:44 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 15:40:44 -0000 Received: (qmail 16693 invoked by uid 97); 1 Feb 2002 15:40:32 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 16616 invoked by uid 97); 1 Feb 2002 15:40:31 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 16532 invoked by uid 50); 1 Feb 2002 15:40:30 -0000 Date: 1 Feb 2002 15:40:30 -0000 Message-ID: <kaitlin41@example.org> From: kaitlin41@example.org To: kaitlin41@example.org Cc: Subject: DO NOT REPLY [Bug 4427] - Lost bytes on upload of larger files (multipart/form-data) X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N 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=4427>. 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=4427 Lost bytes on upload of larger files (multipart/form-data) kaitlin41@example.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED ------- Additional Comments From kaitlin41@example.org 2002-02-01 15:40 ------- Should be fixed as of 1.0.1 -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Fri Feb 01 15:42:34 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 833 invoked from network); 1 Feb 2002 15:42:34 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 15:42:34 -0000 Received: (qmail 21844 invoked by uid 97); 1 Feb 2002 15:42:28 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 21780 invoked by uid 97); 1 Feb 2002 15:42:27 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 21762 invoked by uid 50); 1 Feb 2002 15:42:26 -0000 Date: 1 Feb 2002 15:42:26 -0000 Message-ID: <kaitlin41@example.org> From: kaitlin41@example.org To: kaitlin41@example.org Cc: Subject: DO NOT REPLY [Bug 4701] - NullPointerException in MultipartIterator X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N 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=4701>. 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=4701 NullPointerException in MultipartIterator kaitlin41@example.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Fri Feb 01 15:56:07 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 9393 invoked from network); 1 Feb 2002 15:56:06 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 15:56:06 -0000 Received: (qmail 19285 invoked by uid 97); 1 Feb 2002 15:55:59 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 19269 invoked by uid 97); 1 Feb 2002 15:55:58 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 19258 invoked by uid 50); 1 Feb 2002 15:55:58 -0000 Date: 1 Feb 2002 15:55:58 -0000 Message-ID: <kaitlin41@example.org> From: kaitlin41@example.org To: kaitlin41@example.org Cc: Subject: DO NOT REPLY [Bug 6142] - Need a label form bean for the html set. X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N 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=6142>. 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=6142 Need a label form bean for the html set. kaitlin41@example.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|INVALID | ------- Additional Comments From kaitlin41@example.org 2002-02-01 15:55 ------- Yes, thats what I'm doing, but the whole point of using the beans like this is to simplify for the non-programmer while privide a powerful backend for the developers to link to... In order to do it this way, you need to implement *two* different beans from *two* different taglibs. Adding a label bean would be a *very* simple matter and would remove a whole lot of extra processing. The only argument that I can see to not providing a label tag, is that it's not part of the <form/> tree, however I don't think that should stop us from implementing it (in fact there are already a few enhancments/modifications to make things simple, e.g. the Reset button tag.) -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Fri Feb 01 15:58:45 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 10612 invoked from network); 1 Feb 2002 15:58:45 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 15:58:45 -0000 Received: (qmail 25731 invoked by uid 97); 1 Feb 2002 15:58:33 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 25715 invoked by uid 97); 1 Feb 2002 15:58:33 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 25647 invoked from network); 1 Feb 2002 15:58:32 -0000 Message-ID: <kaitlin41@example.org> From: "SCHACHTER,MICHAEL (HP-NewJersey,ex2)" <kaitlin41@example.org> To: 'Struts Developers List' <kaitlin41@example.org> Subject: RE: Adapting the O'Reilly servlet classes for Struts upload Date: Fri, 1 Feb 2002 07:58:14 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Renaud, >My company is using Struts pretty extensively, the upload module in >particular, and we've come across some pretty serious bugs that have >prompted an internal discussion about its deficiencies. ;) >I found a post to struts-dev where Mike wishes he had the time to replace >the existing upload code with O'Reilly's implementation -- or at least this >is my understanding, correct me if I'm wrong. Hmm. I think I was trying to make an implementation of struts upload that used the O'Rielly upload package. Replacing the existing upload code isn't really necessary, but fixing some bugs in the existing package is. >As my company has a business interest in getting the upload module working >perfectly, they may be willing to do the work and donate it to the Struts >project. But first I'd like to hear from you what the current status of the >Struts upload is like; is it in your opinion stable and production quality? >Is integrating the O'Reilly upload stuff in Struts a good idea? A quick link to the list of bugs for File Upload: http://nagoya.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSI GNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&em ail2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&change din=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Struts&componen t=File+Upload&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_des c_type=allwordssubstr&bug_file_loc=&bug_file_loc_type=allwordssubstr&keyword s=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype =doit&order=%27Importance%27 There are 10 outstanding issues for file upload in Struts, some minor, some not so minor. I'm almost at the point where I can devote some time to addressing these issues, and maybe even do a partial re-write of the MultipartIterator class if necessary. It would definately be worth your time, if you're willing to work on it, to address these bugs. I'll be a bit more vigilant about email and help out as much as I can. To start you really want to look at the DiskMultipartRequestHandler and MultipartIterator class, thats where all the trouble starts. There's a few ways it could be improved, and in further emails I'd be happy about going into detail. The overall architecture of file upload is not too bad in my opinion, and doesn't need changing. Just the implementation. I bet there might be some performance issues too, which I think I'm much more capable of handling now than when I first wrote it. So, how about we do this "extreme programming" style, where we figure out what needs to be done to get stuff running as optimally as possible through email, break up the things into small tasks, and take on the tasks one by one. I'd be more than happy to make the struts upload work as well as possible, it's been bothering me for a while and I haven't had time. >Thank you for your answers, >--Renaud Thank you for helping, Mike -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Fri Feb 01 16:00:31 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 12672 invoked from network); 1 Feb 2002 16:00:31 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 16:00:31 -0000 Received: (qmail 29928 invoked by uid 97); 1 Feb 2002 16:00:05 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 29890 invoked by uid 97); 1 Feb 2002 16:00:05 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 29845 invoked from network); 1 Feb 2002 16:00:04 -0000 Message-ID: <kaitlin41@example.org> From: "Marty Rose" <kaitlin41@example.org> To: <kaitlin41@example.org> Subject: Iterating over primitives Date: Fri, 1 Feb 2002 09:59:46 -0600 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0042_01C1AB07.2E093280" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N ------=_NextPart_000_0042_01C1AB07.2E093280 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit While developing a struts application I found it extremely useful to be able to iterate over an array of primitives without sending the array through wrapper functions every time first. I developed a very localized, obvious, and short patch to IterateTag which allows this functionality. (below & attached). I'd welcome any comments/suggestions as to better ways to do this patch, and if appropriate, information from a maintainer on how to get it merged into the main struts source tree. --- jakarta-struts-1.0.1-src/src/share/org/apache/struts/taglib/logic/IterateTag .java Wed Jun 13 22:24:28 2001 +++ jakarta-struts-1.0.1-src-mfr/src/share/org/apache/struts/taglib/logic/Iterat eTag.java Thu Jan 31 09:31:30 2002 @@ -310,9 +310,15 @@ // Construct an iterator for this collection - if (collection.getClass().isArray()) - collection = Arrays.asList((Object[]) collection); - if (collection instanceof Collection) + if (collection.getClass().isArray()) { + int length = java.lang.reflect.Array.getLength(collection); + Collection c = new ArrayList(); + for(int i=0; i<length; i++) { + c.add(java.lang.reflect.Array.get(collection, i)); + } + iterator = c.iterator(); + } + else if (collection instanceof Collection) iterator = ((Collection) collection).iterator(); else if (collection instanceof Iterator) iterator = (Iterator) collection; Thanks, Marty =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Martin Rose kaitlin41@example.org Interactive Developer JGSullivan Interactive 320 W. Ohio Suite 3E Chicago IL 60610 508-709-1184 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ------=_NextPart_000_0042_01C1AB07.2E093280 Content-Type: application/octet-stream; name="primitiveIterate.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="primitiveIterate.diff" --- = jakarta-struts-1.0.1-src/src/share/org/apache/struts/taglib/logic/Iterate= Tag.java Wed Jun 13 22:24:28 2001 +++ = jakarta-struts-1.0.1-src-mfr/src/share/org/apache/struts/taglib/logic/Ite= rateTag.java Thu Jan 31 09:31:30 2002 @@ -310,9 +310,15 @@ // Construct an iterator for this collection - if (collection.getClass().isArray()) - collection =3D Arrays.asList((Object[]) collection); - if (collection instanceof Collection) + if (collection.getClass().isArray()) { + int length =3D = java.lang.reflect.Array.getLength(collection); + Collection c =3D new ArrayList(); + for(int i=3D0; i<length; i++) { + c.add(java.lang.reflect.Array.get(collection, = i)); + } + iterator =3D c.iterator(); + } + else if (collection instanceof Collection) iterator =3D ((Collection) collection).iterator(); else if (collection instanceof Iterator) iterator =3D (Iterator) collection; ------=_NextPart_000_0042_01C1AB07.2E093280 Content-Type: text/plain; charset=us-ascii -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> ------=_NextPart_000_0042_01C1AB07.2E093280-- From struts-dev-kaitlin41@example.org Fri Feb 01 16:26:25 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 33679 invoked from network); 1 Feb 2002 16:26:25 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 16:26:25 -0000 Received: (qmail 19213 invoked by uid 97); 1 Feb 2002 16:25:58 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 19171 invoked by uid 97); 1 Feb 2002 16:25:56 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 19145 invoked by uid 50); 1 Feb 2002 16:25:55 -0000 Date: 1 Feb 2002 16:25:55 -0000 Message-ID: <kaitlin41@example.org> From: kaitlin41@example.org To: kaitlin41@example.org Cc: Subject: DO NOT REPLY [Bug 6183] New: - Example variable name confusing X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N 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=6183>. 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=6183 Example variable name confusing Summary: Example variable name confusing Product: Struts Version: 1.0.1 Final Platform: All URL: //http://jakarta.apache.org/struts/userGuide/building_co ntroller.html OS/Version: Other Status: NEW Severity: Minor Priority: Other Component: Documentation AssignedTo: kaitlin41@example.org ReportedBy: kaitlin41@example.org The use of "actionMappingInstace" as a variable name (under the discussion of global forward) in section 4,4 is confusing -- looking at example application and the declarations of the perform method under section 4.2 maybe it should be renamed "mapping"? -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Fri Feb 01 16:47:16 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 47313 invoked from network); 1 Feb 2002 16:47:16 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 16:47:16 -0000 Received: (qmail 24467 invoked by uid 97); 1 Feb 2002 16:46:39 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 24355 invoked by uid 97); 1 Feb 2002 16:46:37 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 11694 invoked from network); 1 Feb 2002 16:36:29 -0000 Message-ID: <kaitlin41@example.org> From: Andre Beskrowni <kaitlin41@example.org> To: 'Struts Developers List' <kaitlin41@example.org> Subject: declarative exception handling/resource bundle access Date: Fri, 1 Feb 2002 11:36:10 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N so i finally got around to playing with the new exception handling features and it occurred to me that it would be really nice if you could specify the bundle that a resource is stored in. i don't think it would be too big of a headache to do this (simple change to ExceptionHandler, and an addition to the struts-config and its parsing logic), but it might lead to a more general inconsistency in struts in that resource string keys are always associated with bundle specified for the action servlet. (i.e., you don't get to specify the bundle anywhere else.) is there some a general philosophy on this? maybe sometime long ago someone decided "all resource strings will be retrieved from one resource bundle..." also, i just want to make sure i know what's what... the purpose of AppException is just to provide a localizable form of exception, right? if so, (and i'm being really nitpicky) why not call it LocalizableException or something a little more descriptive. and just to be even more nitpicky, is there a reason that AppException's constructor doesn't take an Object array instead of AppException(key, val0, val1, val2, ...)? just so i don't get accused of being nothing but critical, i really am *very* keen on this feature. what's not to love? it's wonderfully simple and elegant, not to mention quite useful. ok, enough gushing... thanks in advance, ab -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Fri Feb 01 17:09:40 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 63703 invoked from network); 1 Feb 2002 17:09:40 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 17:09:40 -0000 Received: (qmail 23884 invoked by uid 97); 1 Feb 2002 17:09:36 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 23874 invoked by uid 97); 1 Feb 2002 17:09:35 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 18477 invoked from network); 1 Feb 2002 17:05:48 -0000 Content-Class: urn:content-classes:message Subject: [ANNONCE] Chiki version 0.24 Released MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Date: Fri, 1 Feb 2002 16:59:38 -0000 X-MimeOLE: Produced By Microsoft Exchange V6.0.4417.0 Message-ID: <kaitlin41@example.org> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [ANNONCE] Chiki version 0.24 Released thread-index: AcGrQdUKKfrMiI1fQWupRkyR/9OT0w== From: "Emaho, Ghoot" <kaitlin41@example.org> To: "Chiki-Dev (E-mail)" <kaitlin41@example.org>, "Alex N. MacLeod (E-mail)" <kaitlin41@example.org>, "Allan Adams (E-mail)" <kaitlin41@example.org>, "Amitkumar J Malhotra" <kaitlin41@example.org>, "Andreas Schoter (E-mail)" <kaitlin41@example.org>, "Andy Noble" <kaitlin41@example.org>, "Barrett" <kaitlin41@example.org>, "Chris Buzzetta" <kaitlin41@example.org>, "Chris Livingston (E-mail)" <kaitlin41@example.org>, "Dan (E-mail)" <kaitlin41@example.org>, "Darius Clayton (E-mail)" <kaitlin41@example.org>, "Dene Mahoney (E-mail)" <kaitlin41@example.org>, "Development" <kaitlin41@example.org>, "Fleur Spencer (E-mail)" <kaitlin41@example.org>, "Gabriel Sidler" <kaitlin41@example.org>, "Gavin Berry (E-mail)" <kaitlin41@example.org>, "Gayle Berry (E-mail)" <kaitlin41@example.org>, "Georgina Porteous (E-mail)" <kaitlin41@example.org>, "Gordon Berry" <kaitlin41@example.org>, "Hugh O'Donnell (E-mail)" <kaitlin41@example.org>, "Ian Douglas (E-mail)" <kaitlin41@example.org>, "Ian Frampton (E-mail)" <kaitlin41@example.org>, "Jackie + Margaret Adams (E-mail)" <kaitlin41@example.org>, "Jim Downing" <kaitlin41@example.org>, "Joseph R. Kiniry" <kaitlin41@example.org>, "Kin Leung" <kaitlin41@example.org>, "Laird, Brian" <kaitlin41@example.org>, "Markus Neiderman" <kaitlin41@example.org>, "Matt Raible" <kaitlin41@example.org>, "Michael Quinn" <kaitlin41@example.org>, "Nick Bailey (E-mail)" <kaitlin41@example.org>, "Peter Cheney (E-mail)" <kaitlin41@example.org>, "Philip Aston" <kaitlin41@example.org>, "Rakesh " <kaitlin41@example.org>, "Ringo Desmet" <kaitlin41@example.org>, "Robert McKenzie (E-mail)" <kaitlin41@example.org>, "Sophie Brigstocke (E-mail)" <kaitlin41@example.org>, "Steve Gentle (E-mail)" <kaitlin41@example.org>, "Struts User List" <kaitlin41@example.org>, "Stuart Low (E-mail)" <kaitlin41@example.org>, "Ulrich, Tom" <kaitlin41@example.org>, "Victor Volle" <kaitlin41@example.org> Cc: <kaitlin41@example.org> X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Version 0.24 Released and available for download - see http://chiki.emaho.org <http://chiki.emaho.org> for full details. =20 This release includes: =20 - now works on Tomcat 4.0 (and is in fact running now on tomcat 4) - Xml Binding of all persisted objects - Extracted Repository giving more control over where content is persisted too (and allowing it to work on other servers that dont extract war files) - Some minor bug fixes and UI updates - Password and email validation - see the full list at the website =20 Those who previously registered at the Chiki website, will have to register again - including me - with this release, as the persistence mechanism has changed quite a bit. However, this is the only time you will have to do this. Updates from now on will not require this - thanks to the wonders of Xml ! =20 Many thanks to all those who have contributed feedback, time and effort so far. Keep it coming ! =20 There has been over 100 downloads of Chiki so far in the first week ! Those who have downloaded Chiki, but not yet got in touch, please do and tell us how you are getting on. All feedback is greatly appreciated. =20 One final reminder - there are some of you who are emailing me re Chiki Development and are not yet on the mailing list - please subscribe to the mailing list, as this keeps it simpler for communicating announcements and progress amongst all involved. =20 Thanks =20 Ghoot Emaho Development Team Leader Petrotechnics <http://www.petrotechnics.co.uk/> Ltd =20 -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Fri Feb 01 17:15:43 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 67102 invoked from network); 1 Feb 2002 17:15:43 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 17:15:43 -0000 Received: (qmail 3167 invoked by uid 97); 1 Feb 2002 17:15:30 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 3121 invoked by uid 97); 1 Feb 2002 17:15:29 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 3071 invoked from network); 1 Feb 2002 17:15:28 -0000 MIME-Version: 1.0 Date: Fri, 1 Feb 2002 17:23 +0100 Message-Id: <200202011623.MJoP@memorvi> From: SIROLLI PIERRE <kaitlin41@example.org> To: kaitlin41@example.org Subject: Multiple Config Files Content-Type: text/plain;charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N --- Re=E7u de RVIDOI.SIROLLPI 62607 01/02/02 = 17.23 Is it possible to integrate the patch that allows multiple config files = in an official release of Struts ? http://www.ejcenter.com/struts/ Thanks in adance Pierre ---- 01/02/02 17.23 ---- Envoy=E9 =E0 -----------------------------= ------- -> struts-dev(a)jakarta.apache.org -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Fri Feb 01 18:05:03 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 5060 invoked from network); 1 Feb 2002 18:05:03 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 18:05:03 -0000 Received: (qmail 4724 invoked by uid 97); 1 Feb 2002 18:04:20 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 4676 invoked by uid 97); 1 Feb 2002 18:04:19 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 212 invoked from network); 1 Feb 2002 18:00:32 -0000 Message-ID: <kaitlin41@example.org> From: Andre Beskrowni <kaitlin41@example.org> To: 'Struts Developers List' <kaitlin41@example.org> Subject: RE: declarative exception handling/resource bundle access Date: Fri, 1 Feb 2002 13:00:17 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N oh yeah, another thing... ExceptionHandler needs to have a corresponding interface. the struts-config allows you to specify an different exception handler for each configured exception, but RequestProcessor always casts whatever you specify here as ExceptionHandler, so if you did override it, you'd get a ClassCastException. ab -----Original Message----- From: Andre Beskrowni Sent: Friday, February 01, 2002 11:36 AM To: 'Struts Developers List' Subject: declarative exception handling/resource bundle access so i finally got around to playing with the new exception handling features and it occurred to me that it would be really nice if you could specify the bundle that a resource is stored in. i don't think it would be too big of a headache to do this (simple change to ExceptionHandler, and an addition to the struts-config and its parsing logic), but it might lead to a more general inconsistency in struts in that resource string keys are always associated with bundle specified for the action servlet. (i.e., you don't get to specify the bundle anywhere else.) is there some a general philosophy on this? maybe sometime long ago someone decided "all resource strings will be retrieved from one resource bundle..." also, i just want to make sure i know what's what... the purpose of AppException is just to provide a localizable form of exception, right? if so, (and i'm being really nitpicky) why not call it LocalizableException or something a little more descriptive. and just to be even more nitpicky, is there a reason that AppException's constructor doesn't take an Object array instead of AppException(key, val0, val1, val2, ...)? just so i don't get accused of being nothing but critical, i really am *very* keen on this feature. what's not to love? it's wonderfully simple and elegant, not to mention quite useful. ok, enough gushing... thanks in advance, ab -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Fri Feb 01 23:02:31 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 85120 invoked from network); 1 Feb 2002 23:02:31 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 23:02:31 -0000 Received: (qmail 29018 invoked by uid 97); 1 Feb 2002 22:59:20 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 28997 invoked by uid 97); 1 Feb 2002 22:59:19 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 23607 invoked from network); 1 Feb 2002 22:23:55 -0000 Message-ID: <kaitlin41@example.org> From: Andre Beskrowni <kaitlin41@example.org> To: 'Struts Developers List' <kaitlin41@example.org> Subject: dynaforms & checkboxes Date: Fri, 1 Feb 2002 17:23:35 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N i've been testing the dynaform stuff and i'm trying to use a checkbox element in my form with a default value of "true". (just for the sake of reference, the form property is called "booleanValue".) however, if i uncheck the checkbox and submit, the dynaform is always set to "true". i'm not sure if there's a workaround for this or not. i think the issue is that when you submit an unchecked checkbox, no request parameter is sent for it. so rather than sending booleanValue="false", request.getParameter("booleanValue")=null. as a result, when processPopulate() in RequestProcessor calls RequestUtils.populate(), the HttpRequest has no value for booleanValue and (i guess) just leaves it with its initialized value of "true". is this a case where RequestUtils.populate() needs a special case for setting null Boolean values to "false", or should the DynaActionForm logic somehow take care of this? finally, let me know if this is something i should submit to bugzilla. i wasn't sure of the policy for nightly build stuff. ab -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Fri Feb 01 23:16:46 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 98486 invoked from network); 1 Feb 2002 23:16:46 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 23:16:46 -0000 Received: (qmail 2989 invoked by uid 97); 1 Feb 2002 23:15:59 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 2961 invoked by uid 97); 1 Feb 2002 23:15:58 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 2928 invoked from network); 1 Feb 2002 23:15:58 -0000 From: "Renaud Waldura" <kaitlin41@example.org> To: <kaitlin41@example.org> Cc: "struts dev" <kaitlin41@example.org> Subject: Re: Adapting the O'Reilly servlet classes for Struts upload Date: Fri, 1 Feb 2002 15:15:42 -0800 Message-ID: <kaitlin41@example.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) X-MIMEOLE: Produced By Microsoft MimeOLE V5.50.4807.1700 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Hi Mike, > Hmm. I think I was trying to make an implementation of struts upload that > used the O'Reilly upload package. Replacing the existing upload code isn't > really necessary, but fixing some bugs in the existing package is. I see. > It would definately be worth your time, if you're willing to work on it, > to address these bugs. I'll be a bit more vigilant about email and Our customer had decided this may be worth to him, so at this point I'm exploring, trying to draw an estimate on how much time either option would take (XP style, see below). Either fix the bugs in the existing Struts upload module, or adapt O'Reilly's. How much time do you think it would take you? > into detail. The overall architecture of file upload is not > too bad in my opinion, and doesn't need changing. Just the > implementation. I bet there might be some performance issues Talking architecture, I never understood how I could handle the MaxLengthExceededException raised when someone attempts to upload a file bigger than the maximum size. See http://marc.theaimsgroup.com/?l=struts-user&m=100682691032695 Is this something that sould be entered in the bug database, as feature request maybe? How can this be solved? > So, how about we do this "extreme programming" style My company works in full XP mode already. I think it's a great idea. Thank you for being so responsive, --Renaud -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Fri Feb 01 23:25:05 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 37977 invoked from network); 1 Feb 2002 23:25:05 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 23:25:05 -0000 Received: (qmail 14555 invoked by uid 97); 1 Feb 2002 23:24:59 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 14539 invoked by uid 97); 1 Feb 2002 23:24:58 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 14528 invoked from network); 1 Feb 2002 23:24:58 -0000 Date: Fri, 1 Feb 2002 15:24:35 -0800 (PST) From: "Craig R. McClanahan" <kaitlin41@example.org> To: Struts Developers List <kaitlin41@example.org> Subject: Re: dynaforms & checkboxes In-Reply-To: <kaitlin41@example.org> Message-ID: <kaitlin41@example.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Rating: localhost 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N On Fri, 1 Feb 2002, Andre Beskrowni wrote: > Date: Fri, 1 Feb 2002 17:23:35 -0500 > From: Andre Beskrowni <kaitlin41@example.org> > Reply-To: Struts Developers List <kaitlin41@example.org> > To: 'Struts Developers List' <kaitlin41@example.org> > Subject: dynaforms & checkboxes > > i've been testing the dynaform stuff and i'm trying to use a checkbox > element in my form with a default value of "true". (just for the sake of > reference, the form property is called "booleanValue".) however, if i > uncheck the checkbox and submit, the dynaform is always set to "true". i'm > not sure if there's a workaround for this or not. i think the issue is that > when you submit an unchecked checkbox, no request parameter is sent for it. > so rather than sending booleanValue="false", > request.getParameter("booleanValue")=null. as a result, when > processPopulate() in RequestProcessor calls RequestUtils.populate(), the > HttpRequest has no value for booleanValue and (i guess) just leaves it with > its initialized value of "true". > > is this a case where RequestUtils.populate() needs a special case for > setting null Boolean values to "false", This is what the ActionForm.reset() method is for. You cannot really do it in the populate() method -- how do you decide that *every* boolean property in the underlying bean should be reset? It would also be a horrendous breach of backwards compatibility to change something like this now. > or should the DynaActionForm logic > somehow take care of this? > The default implementation of DynaActionForm.reset() does, in fact, reset all booleans to false. But this assumption is one of the reasons I made it possible for you to subclass DynaActionForm and override this decision. > finally, let me know if this is something i should submit to bugzilla. i > wasn't sure of the policy for nightly build stuff. > Bugzilla is still the right place, even on nightly builds -- there's an option "Nightly" in the version number field for this purpose. > ab > > -- > To unsubscribe, e-mail: <mailto:kaitlin41@example.org> > For additional commands, e-mail: <mailto:kaitlin41@example.org> > > Craig -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Fri Feb 01 23:37:28 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 47043 invoked from network); 1 Feb 2002 23:37:28 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 1 Feb 2002 23:37:28 -0000 Received: (qmail 21667 invoked by uid 97); 1 Feb 2002 23:37:27 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 21651 invoked by uid 97); 1 Feb 2002 23:37:26 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 21640 invoked from network); 1 Feb 2002 23:37:25 -0000 X-Server-Uuid: 6E802067-ECFC-4FC2-A617-DD5220DD9CBB Message-ID: <kaitlin41@example.org> X-Sender: stealth\martin\kaitlin41@example.org X-Mailer: QUALCOMM Windows Eudora Version 4.3.2 Date: Fri, 01 Feb 2002 15:37:26 -0800 To: "Struts Developers List" <kaitlin41@example.org> From: kaitlin41@example.org Subject: Re: Adapting the O'Reilly servlet classes for Struts upload cc: kaitlin41@example.org In-Reply-To: <kaitlin41@example.org> MIME-Version: 1.0 X-WSS-ID: 1045F893410527-01-01 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N At 03:15 PM 2/1/02, Renaud Waldura wrote: <... snip ...> > > It would definately be worth your time, if you're willing to work on it, > > to address these bugs. I'll be a bit more vigilant about email and > >Our customer had decided this may be worth to him, so at this point I'm >exploring, trying to draw an estimate on how much time either option would >take (XP style, see below). Either fix the bugs in the existing Struts >upload module, or adapt O'Reilly's. How much time do you think it would take >you? Just as a point of reference, some time ago I wrote an adaptor from Resin's built-in multipart mechanism to the MultipartRequestHandler interface. It only took me a few hours. I'm not familiar with the O'Reilly implementation, but I'd be surprised if it took much longer to write an adaptor for that. Of course, I'd rather see the bugs in the Struts implementation fixed! ;-) -- Martin Cooper > > into detail. The overall architecture of file upload is not > > too bad in my opinion, and doesn't need changing. Just the > > implementation. I bet there might be some performance issues > >Talking architecture, I never understood how I could handle the >MaxLengthExceededException raised when someone attempts to upload a file >bigger than the maximum size. See >http://marc.theaimsgroup.com/?l=struts-user&m=100682691032695 > >Is this something that sould be entered in the bug database, as feature >request maybe? >How can this be solved? > > > > So, how about we do this "extreme programming" style > >My company works in full XP mode already. I think it's a great idea. > > >Thank you for being so responsive, > >--Renaud > > >-- >To unsubscribe, e-mail: <mailto:kaitlin41@example.org> >For additional commands, e-mail: <mailto:kaitlin41@example.org> -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Sat Feb 02 05:46:56 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 81386 invoked from network); 2 Feb 2002 05:46:55 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 2 Feb 2002 05:46:55 -0000 Received: (qmail 12078 invoked by uid 97); 2 Feb 2002 05:46:58 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 12042 invoked by uid 97); 2 Feb 2002 05:46:57 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 12031 invoked from network); 2 Feb 2002 05:46:57 -0000 Message-ID: <kaitlin41@example.org> From: "Martin Cooper" <kaitlin41@example.org> To: "Struts Developers List" <kaitlin41@example.org> References: <200202011623.MJoP@memorvi> Subject: Re: Multiple Config Files Date: Fri, 1 Feb 2002 21:49:40 -0800 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N You probably want to look at the recently introduced support for multiple sub-apps, which may provide what you are looking for, although perhaps in a slightly different manner. -- Martin Cooper ----- Original Message ----- From: "SIROLLI PIERRE" <kaitlin41@example.org> To: <kaitlin41@example.org> Sent: Friday, February 01, 2002 8:23 AM Subject: Multiple Config Files --- Reçu de RVIDOI.SIROLLPI 62607 01/02/02 17.23 Is it possible to integrate the patch that allows multiple config files in an official release of Struts ? http://www.ejcenter.com/struts/ Thanks in adance Pierre ---- 01/02/02 17.23 ---- Envoyé à ------------------------------------ -> struts-dev(a)jakarta.apache.org -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> -- To unsubscribe, e-mail: <mailto:kaitlin41@example.org> For additional commands, e-mail: <mailto:kaitlin41@example.org> From struts-dev-kaitlin41@example.org Sat Feb 02 11:52:06 2002 Return-Path: <struts-dev-kaitlin41@example.org> Delivered-To: kaitlin41@example.org Received: (qmail 56540 invoked from network); 2 Feb 2002 11:52:05 -0000 Received: from unknown (HELO nagoya.betaversion.org) (83.161.120.155) by daedalus.apache.org with SMTP; 2 Feb 2002 11:52:05 -0000 Received: (qmail 1158 invoked by uid 97); 2 Feb 2002 11:51:45 -0000 Delivered-To: kaitlin41@example.org Received: (qmail 1129 invoked by uid 97); 2 Feb 2002 11:51:44 -0000 Mailing-List: contact kaitlin41@example.org; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:kaitlin41@example.org> List-Subscribe: <mailto:kaitlin41@example.org> List-Help: <mailto:kaitlin41@example.org> List-Post: <mailto:kaitlin41@example.org> List-Id: "Struts Developers List" <struts-dev.jakarta.apache.org> Reply-To: "Struts Developers List" <kaitlin41@example.org> Delivered-To: mailing list kaitlin41@example.org Received: (qmail 3104 invoked from network); 2 Feb 2002 03:57:05 -0000 Message-Id: <83.161.120.155.2.20020201225327.023ff390@mailserver> X-Sender: gerard@mailserver (Unverified) X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Fri, 01 Feb 2002 22:56:47 -0500 To: "Struts Developers List" <kaitlin41@example.org> From: Gerard Weatherby <kaitlin41@example.org> Subject: struts.action.Action comment fix In-Reply-To: <kaitlin41@example.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=====================_109986890==_" X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N --=====================_109986890==_ Content-Type: text/plain; charset="us-ascii"; format=flowed The overloaded method of execute which doesn't take HTTP servlets and requests says it processes HTTP. Revision attached. (Is that how this is done?) diff -r1.36 Action.java 325c325 < * Process the specified HTTP request, and create the corresponding HTTP --- > * Process the specified request, and create the corresponding Gerard Weatherby Voice: 508-709-1184 Charles Consulting, LLC Fax : 508-709-1184 http://www.charlesconsulting.com --=====================_109986890==_ Content-Type: text/plain; charset="us-ascii" Content-Disposition: attachment; filename="Action.java" /* * $Header: /home/cvspublic/jakarta-struts/src/share/org/apache/struts/action/Action.java,v 1.36 2002/01/22 01:18:07 craigmcc Exp $ * $Revision: 1.36 $ * $Date: 2002/01/22 01:18:07 $ * * ==================================================================== * * The Apache Software License, Version 1.1 * * Copyright (c) 1999-2001 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, if * any, must include the following acknowlegement: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowlegement may appear in the software itself, * if and wherever such third-party acknowlegements normally appear. * * 4. The names "The Jakarta Project", "Struts", and "Apache Software * Foundation" must not be used to endorse or promote products derived * from this software without prior written permission. For written * permission, please contact kaitlin41@example.org. * * 5. Products derived from this software may not be called "Apache" * nor may "Apache" appear in their names without prior written * permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. * */ package org.apache.struts.action; import java.io.IOException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Locale; import java.util.Hashtable; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.taglib.html.Constants; import org.apache.struts.util.MessageResources; import org.apache.struts.upload.MultipartRequestHandler; /** * An <strong>Action</strong> is an adapter between the contents of an incoming * HTTP request and the corresponding business logic that should be executed to * process this request. The controller (ActionServlet) will select an * appropriate Action for each request, create an instance (if necessary), * and call the <code>perform</code> method.</p> * * <p>Actions must be programmed in a thread-safe manner, because the * controller will share the same instance for multiple simultaneous * requests. This means you should design with the following items in mind: * </p> * <ul> * <li>Instance and static variables MUST NOT be used to store information * related to the state of a particular request. They MAY be used to * share global resources across requests for the same action.</li> * <li>Access to other resources (JavaBeans, session variables, etc.) MUST * be synchronized if those resources require protection. (Generally, * however, resource classes should be designed to provide their own * protection where necessary.</li> * </ul> * * <p>When an <code>Action</code> instance is first created, the controller * servlet will call <code>setServlet()</code> with a non-null argument to * identify the controller servlet instance to which this Action is attached. * When the controller servlet is to be shut down (or restarted), the * <code>setServlet()</code> method will be called with a <code>null</code> * argument, which can be used to clean up any allocated resources in use * by this Action.</p> * * @author Craig R. McClanahan * @version $Revision: 1.36 $ $Date: 2002/01/22 01:18:07 $ */ public class Action { // ----------------------------------------------------- Manifest Constants /** * The context attributes key under which our <code>ActionServlet</code> * instance will be stored. */ public static final String ACTION_SERVLET_KEY = "org.apache.struts.action.ACTION_SERVLET"; /** * <p>The base of the context attributes key under which our * <code>ApplicationConfig</code> data structure will be stored. This * will be suffixed with the actual application prefix (including the * leading "/" character) to form the actual attributes key.</p> * * <p>For each request processed by the controller servlet, the * <code>ApplicationConfig</code> object for the application selected by * the request URI currently being processed will also be exposed under * this key as a request attribute.</p> */ public static final String APPLICATION_KEY = "org.apache.struts.action.APPLICATION"; /** * The context attributes key under which our <strong>default</strong> * configured data source (which must implement * <code>javax.sql.DataSource</code>) is stored, * if one is configured for this application. */ public static final String DATA_SOURCE_KEY = "org.apache.struts.action.DATA_SOURCE"; /** * The request attributes key under which your action should store an * <code>org.apache.struts.action.ActionErrors</code> object, if you * are using the corresponding custom tag library elements. */ public static final String ERROR_KEY = "org.apache.struts.action.ERROR"; /** * The request attributes key under which Struts custom tags might store a * <code>Throwable</code> that caused them to report a JspException at * runtime. This value can be used on an error page to provide more * detailed information about what really went wrong. */ public static final String EXCEPTION_KEY = "org.apache.struts.action.EXCEPTION"; /** * The context attributes key under which our * <code>org.apache.struts.action.ActionFormBeans</code> collection * is normally stored, unless overridden when initializing our * ActionServlet. * * @deprecated Replaced by collection in ApplicationConfig */ public static final String FORM_BEANS_KEY = "org.apache.struts.action.FORM_BEANS"; /** * The context attributes key under which our * <code>org.apache.struts.action.ActionForwards</code> collection * is normally stored, unless overridden when initializing our * ActionServlet. * * @deprecated Replaced by collection in ApplicationConfig. */ public static final String FORWARDS_KEY = "org.apache.struts.action.FORWARDS"; /** * The session attributes key under which the user's selected * <code>java.util.Locale</code> is stored, if any. If no such * attribute is found, the system default locale * will be used when retrieving internationalized messages. If used, this * attribute is typically set during user login processing. */ public static final String LOCALE_KEY = "org.apache.struts.action.LOCALE"; /** * The request attributes key under which our * <code>org.apache.struts.ActionMapping</code> instance * is passed. */ public static final String MAPPING_KEY = "org.apache.struts.action.mapping.instance"; /** * The context attributes key under which our * <code>org.apache.struts.action.ActionMappings</code> collection * is normally stored, unless overridden when initializing our * ActionServlet. * * @deprecated Replaced by collection in ApplicationConfig */ public static final String MAPPINGS_KEY = "org.apache.struts.action.MAPPINGS"; /** * The request attributes key under which your action should store an * <code>org.apache.struts.action.ActionMessages</code> object, if you * are using the corresponding custom tag library elements. */ public static final String MESSAGE_KEY = "org.apache.struts.action.ACTION_MESSAGE"; /** * <p>The base of the context attributes key under which our * application <code>MessageResources</code> will be stored. This * will be suffixed with the actual application prefix (including the * leading "/" character) to form the actual resources key.</p> * * <p>For each request processed by the controller servlet, the * <code>MessageResources</code> object for the application selected by * the request URI currently being processed will also be exposed under * this key as a request attribute.</p> */ public static final String MESSAGES_KEY = "org.apache.struts.action.MESSAGE"; /** * The request attributes key under which our multipart class is stored. */ public static final String MULTIPART_KEY = "org.apache.struts.action.mapping.multipartclass"; /** * The context attributes key under which we store the mapping defined * for our controller serlet, which will be either a path-mapped pattern * (<code>/action/*</code>) or an extension mapped pattern * (<code>*.do</code>). */ public static final String SERVLET_KEY = "org.apache.struts.action.SERVLET_MAPPING"; /** * The session attributes key under which our transaction token is * stored, if it is used. */ public static final String TRANSACTION_TOKEN_KEY = "org.apache.struts.action.TOKEN"; // ----------------------------------------------------- Instance Variables /** * The system default Locale. */ protected static Locale defaultLocale = Locale.getDefault(); /** * The controller servlet to which we are attached. */ protected ActionServlet servlet = null; // ------------------------------------------------------------- Properties /** * Return the controller servlet instance to which we are attached. */ public ActionServlet getServlet() { return (this.servlet); } /** * Set the controller servlet instance to which we are attached (if * <code>servlet</code> is non-null), or release any allocated resources * (if <code>servlet</code> is null). * * @param servlet The new controller servlet, if any */ public void setServlet(ActionServlet servlet) { this.servlet = servlet; } // --------------------------------------------------------- Public Methods /** * Process the specified request, and create the corresponding * response (or forward to another web component that will create it), * with provision for handling exceptions thrown by the business logic. * * @param mapping The ActionMapping used to select this instance * @param form The optional ActionForm bean for this request (if any) * @param request The non-HTTP request we are processing * @param response The non-HTTP response we are creating * * @exception Exception if the application business logic throws * an exception */ public ActionForward execute(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response) throws Exception { // Call the deprecated method for backwards compatibility return (perform(mapping, form, request, response)); } /** * Process the specified HTTP request, and create the corresponding HTTP * response (or forward to another web component that will create it), * with provision for handling exceptions thrown by the business logic. * * @param mapping The ActionMapping used to select this instance * @param form The optional ActionForm bean for this request (if any) * @param request The HTTP request we are processing * @param response The HTTP response we are creating * * @exception Exception if the application business logic throws * an exception */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // Call the deprecated method for backwards compatibility return (perform(mapping, form, request, response)); } /** * Process the specified non-HTTP request, and create the corresponding * non-HTTP response (or forward to another web component that will create * it). Return an <code>ActionForward</code> instance describing where * and how control should be forwarded, or <code>null</code> if the * response has already been completed. * <p> * The default implementation attempts to forward to the HTTP version of * this method. * * @param mapping The ActionMapping used to select this instance * @param actionForm The optional ActionForm bean for this request (if any) * @param request The non-HTTP request we are processing * @param response The non-HTTP response we are creating * * @exception IOException if an input/output error occurs * @exception ServletException if a servlet exception occurs * * @deprecated Use the <code>execute()</code> method instead */ public ActionForward perform(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response) throws IOException, ServletException { try { return (perform(mapping, form, (HttpServletRequest) request, (HttpServletResponse) response)); } catch (ClassCastException e) { return (null); } } /** * Process the specified HTTP request, and create the corresponding HTTP * response (or forward to another web component that will create it). * Return an <code>ActionForward</code> instance describing where and how * control should be forwarded, or <code>null</code> if the response has * already been completed. * * @param mapping The ActionMapping used to select this instance * @param actionForm The optional ActionForm bean for this request (if any) * @param request The HTTP request we are processing * @param response The HTTP response we are creating * * @exception IOException if an input/output error occurs * @exception ServletException if a servlet exception occurs * * @deprecated Use the <code>execute()</code> method instead */ public ActionForward perform(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { return (null); // Override this method to provide functionality } // ---------------------------------------------------- Protected Methods /** * Generate a new transaction token, to be used for enforcing a single * request for a particular transaction. * * @param request The request we are processing */ protected String generateToken(HttpServletRequest request) { HttpSession session = request.getSession(); try { byte id[] = session.getId().getBytes(); byte now[] = new Long(System.currentTimeMillis()).toString().getBytes(); MessageDigest md = MessageDigest.getInstance("MD5"); md.update(id); md.update(now); return (toHex(md.digest())); } catch (IllegalStateException e) { return (null); } catch (NoSuchAlgorithmException e) { return (null); } } /**
{'source': 'Apache Software Foundation Public Mail Archives'}