Author: mgrigorov
Date: Thu Dec  2 11:56:00 2010
New Revision: 1041340

URL: http://svn.apache.org/viewvc?rev=1041340&view=rev
Log:
Remove support for negative values in Bytes

Modified:
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/lang/Bytes.java
    wicket/trunk/wicket/src/test/java/org/apache/wicket/util/lang/BytesTest.java

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/lang/Bytes.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/lang/Bytes.java?rev=1041340&r1=1041339&r2=1041340&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/lang/Bytes.java 
(original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/lang/Bytes.java 
Thu Dec  2 11:56:00 2010
@@ -105,6 +105,11 @@ public final class Bytes extends LongVal
        private Bytes(final long bytes)
        {
                super(bytes);
+
+               if (bytes < 0)
+               {
+                       throw new IllegalArgumentException("'bytes' cannot be 
negative.");
+               }
        }
 
        /**
@@ -379,34 +384,27 @@ public final class Bytes extends LongVal
         */
        public String toString(final Locale locale)
        {
-               if (value >= 0)
+               if (terabytes() >= 1.0)
                {
-                       if (terabytes() >= 1.0)
-                       {
-                               return unitString(terabytes(), "T", locale);
-                       }
-
-                       if (gigabytes() >= 1.0)
-                       {
-                               return unitString(gigabytes(), "G", locale);
-                       }
-
-                       if (megabytes() >= 1.0)
-                       {
-                               return unitString(megabytes(), "M", locale);
-                       }
+                       return unitString(terabytes(), "T", locale);
+               }
 
-                       if (kilobytes() >= 1.0)
-                       {
-                               return unitString(kilobytes(), "K", locale);
-                       }
+               if (gigabytes() >= 1.0)
+               {
+                       return unitString(gigabytes(), "G", locale);
+               }
 
-                       return Long.toString(value) + " bytes";
+               if (megabytes() >= 1.0)
+               {
+                       return unitString(megabytes(), "M", locale);
                }
-               else
+
+               if (kilobytes() >= 1.0)
                {
-                       return "N/A";
+                       return unitString(kilobytes(), "K", locale);
                }
+
+               return Long.toString(value) + " bytes";
        }
 
        /**

Modified: 
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/lang/BytesTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/util/lang/BytesTest.java?rev=1041340&r1=1041339&r2=1041340&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/lang/BytesTest.java 
(original)
+++ 
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/lang/BytesTest.java 
Thu Dec  2 11:56:00 2010
@@ -143,8 +143,23 @@ public class BytesTest extends TestCase
                assertEquals("1G", Bytes.bytes(1024 * 1024 * 1024L).toString());
                assertEquals("1T", Bytes.bytes(1024 * 1024 * 1024 * 
1024L).toString());
                assertEquals("1.5K", Bytes.bytes(1024 * 1.5).toString());
-               assertEquals("N/A", Bytes.bytes(-1).toString());
 
                assertEquals("1 bytes", Bytes.bytes(1).toString(Locale.GERMAN));
        }
+
+       /**
+        * Negative values are not supported
+        */
+       public void testNegative()
+       {
+               try
+               {
+                       Bytes.bytes(-1);
+                       fail("Bytes should not support negative values!");
+               }
+               catch (IllegalArgumentException iax)
+               {
+                       ;
+               }
+       }
 }


Reply via email to