FAQ
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());
}

Search Discussions

  • Michael McCandless at Nov 4, 2009 at 10:09 am
    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, 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: java-user-unsubscribe@lucene.apache.org
    For additional commands, e-mail: java-user-help@lucene.apache.org
  • Uwe Schindler at Nov 4, 2009 at 3:52 pm
    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: uwe@thetaphi.de

    -----Original Message-----
    From: Michael McCandless
    Sent: Wednesday, November 04, 2009 2:09 AM
    To: java-user@lucene.apache.org
    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, 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: java-user-unsubscribe@lucene.apache.org
    For additional commands, e-mail: java-user-help@lucene.apache.org


    ---------------------------------------------------------------------
    To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
    For additional commands, e-mail: java-user-help@lucene.apache.org

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupjava-user @
categorieslucene
postedNov 4, '09 at 1:05a
activeNov 4, '09 at 3:52p
posts3
users3
websitelucene.apache.org

People

Translate

site design / logo © 2022 Grokbase