Yes, try/catching errors there is a good idea. I will fix it, and log the exception.
musachy On Sat, Jun 7, 2008 at 1:58 PM, Dale Newfield <[EMAIL PROTECTED]> wrote: > Struts Two wrote: >> >> Hi: >> I think this is because an existing bug in struts 2. I have been >> experienceing the same issue for sometime. There are two JIRA issues opened >> for this. You can refer to : WW-2633 and WW-2642 . > > My problem appears to be related to yours, but with a different source. > Both are due to urls that this code can't handle, but those urls have > different sources. The following patch both extends Musachy's detection to > detect my issue as well, and adds a try/catch block so that any exception > thrown because of a URI that File cannot handle is swallowed and the > processing continues. I would like to find the source of the bad url, but > this patch to xwork will at least prevent that bad url from being a > showstopper for me. > > So, should I just add this patch to WW-2633, or should I open a new issue? > > -Dale > > Index: > src/java/com/opensymphony/xwork2/validator/DefaultValidatorFactory.java > =================================================================== > --- src/java/com/opensymphony/xwork2/validator/DefaultValidatorFactory.java > (revision 1783) > +++ src/java/com/opensymphony/xwork2/validator/DefaultValidatorFactory.java > (working copy) > @@ -98,8 +98,9 @@ > Iterator<URL> urls = ClassLoaderUtil.getResources("", > DefaultValidatorFactory.class, false); > while (urls.hasNext()) { > URL u = urls.next(); > + try { > URI uri = new URI(u.toExternalForm().replaceAll(" ", > "%20")); > - if ("file".equalsIgnoreCase(uri.getScheme())) { > + if (!uri.isOpaque() && > "file".equalsIgnoreCase(uri.getScheme())) { > File f = new File(uri); > FilenameFilter filter = new FilenameFilter() { > public boolean accept(File file, String fileName) { > @@ -108,6 +109,10 @@ > }; > files.addAll(Arrays.asList(f.listFiles(filter))); > } > + } catch (IllegalArgumentException e) { > + e.printStackTrace(); > + // swallow > + } > } > } catch (URISyntaxException e) { > e.printStackTrace(); > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- "Hey you! Would you help me to carry the stone?" Pink Floyd --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]