We discussed about this method yesterday in the evening. The abstract base
class defines the method as throwing an IOException. So the correct
behaviour would be to throw an IOException if setLastModified returns false
(which happens according to the docs, if the date cannot be changed because
of an IO/FS prob).

Uwe

-----
Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen
http://www.thetaphi.de
eMail: [email protected]


> -----Original Message-----
> From: Michael McCandless [mailto:[email protected]]
> Sent: Wednesday, November 04, 2009 2:09 AM
> To: [email protected]
> Subject: Re: void touchFile() should return the boolean result of the
> setLastModified
> 
> I agree it's not great that touchFile swallows the return status from
> File.setLastModified, but, technically changing it would break our jar
> drop-in back compat.
> 
> Actually, I think instead, we should deprecate the method?  As best I
> can tell, Lucene does not use this anywhere.
> 
> I'll open an issue, but I think we have to wait for 3.1 (we're trying
> not to add new deprecations in 3.0).
> 
> Mike
> 
> On Tue, Nov 3, 2009 at 8:05 PM,  <[email protected]> wrote:
> > This is an issue found by Findbugs.
> > In the file FSDirectory the method void touchFile() should return the
> boolean result of the setLastModified method call.
> >
> >
> > public abstract class FSDirectory extends Directory {
> >
> >
> > @Override
> >  public void touchFile(String name) {
> >    ensureOpen();
> >    File file = new File(directory, name);
> >    file.setLastModified(System.currentTimeMillis());
> >  }
> >
> > Because this class is abstract this method may be overridden, and this
> may create an upward compatibility issue.
> >
> >
> > Suggested change
> >
> > @Override
> >  public Boolean touchFile(String name) {
> >    ensureOpen();
> >    File file = new File(directory, name);
> >    Return file.setLastModified(System.currentTimeMillis());
> >  }
> >
> >
> >
> 
> ---------------------------------------------------------------------
> 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]

Reply via email to