[gatein-commits] gatein SVN: r2042 - in components/common/trunk/common/src: test/java/org/gatein/common/net and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Mar 8 20:51:36 EST 2010


Author: chris.laprun at jboss.com
Date: 2010-03-08 20:51:35 -0500 (Mon, 08 Mar 2010)
New Revision: 2042

Modified:
   components/common/trunk/common/src/main/java/org/gatein/common/net/URLTools.java
   components/common/trunk/common/src/test/java/org/gatein/common/net/URLToolsTestCase.java
Log:
- Added getFileExtensionOrNullFrom method and associated test cases.

Modified: components/common/trunk/common/src/main/java/org/gatein/common/net/URLTools.java
===================================================================
--- components/common/trunk/common/src/main/java/org/gatein/common/net/URLTools.java	2010-03-08 22:30:43 UTC (rev 2041)
+++ components/common/trunk/common/src/main/java/org/gatein/common/net/URLTools.java	2010-03-09 01:51:35 UTC (rev 2042)
@@ -86,6 +86,31 @@
       return scheme + SCH_END + host + PORT_END + port;
    }
 
+   public static String getFileExtensionOrNullFrom(URL url)
+   {
+      if (url == null)
+      {
+         return null;
+      }
+
+      String file = url.getPath();
+      if (file == null)
+      {
+         return null;
+      }
+
+      int periodIndex = file.indexOf('.');
+      if (periodIndex != -1)
+      {
+         String extension = file.substring(periodIndex + 1);
+         return extension.length() > 0 ? extension : null;
+      }
+      else
+      {
+         return null;
+      }
+   }
+
    /**
     * Fetches content from of the URL as a byte array or <code>null</code> if a problem occurred. The timeout values
     * must not be negative integers, when it is equals to zero it means that it does not setup a timeout and use the

Modified: components/common/trunk/common/src/test/java/org/gatein/common/net/URLToolsTestCase.java
===================================================================
--- components/common/trunk/common/src/test/java/org/gatein/common/net/URLToolsTestCase.java	2010-03-08 22:30:43 UTC (rev 2041)
+++ components/common/trunk/common/src/test/java/org/gatein/common/net/URLToolsTestCase.java	2010-03-09 01:51:35 UTC (rev 2042)
@@ -26,7 +26,6 @@
 import org.gatein.common.ExtendedAssert;
 import org.gatein.common.logging.Logger;
 import org.gatein.common.logging.LoggerFactory;
-import org.gatein.common.net.URLTools;
 
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -271,4 +270,21 @@
       //
       server.performInteraction();
    }
+
+   public void testGetFileExtensionOrNullFrom() throws MalformedURLException
+   {
+      assertNull(URLTools.getFileExtensionOrNullFrom(null));
+
+      URL url = new URL("http://localhost:8080");
+      assertNull(URLTools.getFileExtensionOrNullFrom(url));
+
+      url = new URL("http://localhost:8080/portal");
+      assertNull(URLTools.getFileExtensionOrNullFrom(url));
+
+      url = new URL("http://localhost:8080/portal/file.txt");
+      assertEquals("txt", URLTools.getFileExtensionOrNullFrom(url));
+
+      url = new URL("http://localhost:8080/portal/file.");
+      assertNull(URLTools.getFileExtensionOrNullFrom(url));
+   }
 }



More information about the gatein-commits mailing list