This is my first post, so I'm not sure of the proper procedure for posting a
patch.


Please see attached file. I also supplied the test cases tested against the
updated method.



David Leangen

package org.apache.avalon.repository.util;

import java.io.File;

public class LoaderUtils
{
    
    private static boolean isSnapshot( File file )
    {
        if(file == null)
            return false;
        
        return file.getName().matches( ".*-SNAPSHOT(\\.?|\\..*)" );
    }

}
package org.apache.avalon.repository.util;

import junit.framework.TestCase;
import java.io.File;

public class LoaderUtilsTest extends TestCase
{

    public LoaderUtilsTest(String name)
    {
        super(name);
    }
    
    public void testIsSnapshot()
    {
        // First, try without file extension
        assertTrue(LoaderUtils.isSnapshot(new File("some-file-SNAPSHOT")));
        assertTrue(LoaderUtils.isSnapshot(new File(".some-file-SNAPSHOT")));
        assertTrue(LoaderUtils.isSnapshot(new 
File("/home/usr/some/path/some-file-SNAPSHOT")));
        assertTrue(LoaderUtils.isSnapshot(new 
File("C:\\home\\usr\\some\\parh\\some-file-SNAPSHOT")));
        
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-snapshot")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-SAPSHOT")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-fileSNAPSHOT")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-SNAPSHOT1")));
        assertFalse(LoaderUtils.isSnapshot(null));

        // With 0-char file extensions
        assertTrue(LoaderUtils.isSnapshot(new File("some-file-SNAPSHOT.")));
        assertTrue(LoaderUtils.isSnapshot(new File(".some-file-SNAPSHOT.")));
        assertTrue(LoaderUtils.isSnapshot(new 
File("/home/usr/some/path/some-file-SNAPSHOT.")));
        assertTrue(LoaderUtils.isSnapshot(new 
File("C:\\home\\usr\\some\\parh\\some-file-SNAPSHOT.")));
        
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-snapshot.")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-SAPSHOT.")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-fileSNAPSHOT.")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-SNAPSHOT1.")));

        // With 1-char file extensions
        assertTrue(LoaderUtils.isSnapshot(new File("some-file-SNAPSHOT.a")));
        assertTrue(LoaderUtils.isSnapshot(new File(".some-file-SNAPSHOT.a")));
        assertTrue(LoaderUtils.isSnapshot(new 
File("/home/usr/some/path/some-file-SNAPSHOT.a")));
        assertTrue(LoaderUtils.isSnapshot(new 
File("C:\\home\\usr\\some\\parh\\some-file-SNAPSHOT.a")));
        
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-snapshot.a")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-SAPSHOT.a")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-fileSNAPSHOT.a")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-SNAPSHOT1.a")));

        // With 2-char file extensions
        assertTrue(LoaderUtils.isSnapshot(new File("some-file-SNAPSHOT.ab")));
        assertTrue(LoaderUtils.isSnapshot(new File(".some-file-SNAPSHOT.ab")));
        assertTrue(LoaderUtils.isSnapshot(new 
File("/home/usr/some/path/some-file-SNAPSHOT.ab")));
        assertTrue(LoaderUtils.isSnapshot(new 
File("C:\\home\\usr\\some\\parh\\some-file-SNAPSHOT.ab")));
        
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-snapshot.ab")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-SAPSHOT.ab")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-fileSNAPSHOT.ab")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-SNAPSHOT1.ab")));

        // With 3-char file extensions
        assertTrue(LoaderUtils.isSnapshot(new File("some-file-SNAPSHOT.abc")));
        assertTrue(LoaderUtils.isSnapshot(new File(".some-file-SNAPSHOT.abc")));
        assertTrue(LoaderUtils.isSnapshot(new 
File("/home/usr/some/path/some-file-SNAPSHOT.abc")));
        assertTrue(LoaderUtils.isSnapshot(new 
File("C:\\home\\usr\\some\\parh\\some-file-SNAPSHOT.abc")));
        
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-snapshot.abc")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-SAPSHOT.abc")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-fileSNAPSHOT.abc")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-SNAPSHOT1.abc")));

        // With 4-char file extensions
        assertTrue(LoaderUtils.isSnapshot(new File("some-file-SNAPSHOT.abcd")));
        assertTrue(LoaderUtils.isSnapshot(new File(".some-file-SNAPSHOT.abcd")));
        assertTrue(LoaderUtils.isSnapshot(new 
File("/home/usr/some/path/some-file-SNAPSHOT.abcd")));
        assertTrue(LoaderUtils.isSnapshot(new 
File("C:\\home\\usr\\some\\parh\\some-file-SNAPSHOT.abcd")));
        
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-snapshot.abcd")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-SAPSHOT.abcd")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-fileSNAPSHOT.abcd")));
        assertFalse(LoaderUtils.isSnapshot(new File("some-file-SNAPSHOT1.abcd")));

        // We'll assume that it will pass for n-char file extensions
        
    }

}

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

Reply via email to