Author: mgrigorov
Date: Wed Dec  1 18:39:22 2010
New Revision: 1041121

URL: http://svn.apache.org/viewvc?rev=1041121&view=rev
Log:
Change the return type of IResourceStream#length() from Long to Bytes
'null' means 'unknown length'

Modified:
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractResourceStream.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractStringResourceStream.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/FileResourceStream.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/IResourceStream.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/XSLTResourceStream.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/ResourceStreamResource.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/AbstractResourceStreamWriter.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/PackageResourceStream.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/UrlResourceStream.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java
    
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/resource/UrlResourceStreamTest.java

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractResourceStream.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractResourceStream.java?rev=1041121&r1=1041120&r2=1041121&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractResourceStream.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractResourceStream.java
 Wed Dec  1 18:39:22 2010
@@ -18,6 +18,7 @@ package org.apache.wicket.util.resource;
 
 import java.util.Locale;
 
+import org.apache.wicket.util.lang.Bytes;
 import org.apache.wicket.util.time.Time;
 
 
@@ -85,9 +86,9 @@ public abstract class AbstractResourceSt
        /**
         * @see org.apache.wicket.util.resource.IResourceStream#length()
         */
-       public long length()
+       public Bytes length()
        {
-               return -1;
+               return null;
        }
 
        /**

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractStringResourceStream.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractStringResourceStream.java?rev=1041121&r1=1041120&r2=1041121&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractStringResourceStream.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/AbstractStringResourceStream.java
 Wed Dec  1 18:39:22 2010
@@ -26,6 +26,7 @@ import java.nio.charset.Charset;
 
 import org.apache.wicket.util.io.IOUtils;
 import org.apache.wicket.util.io.Streams;
+import org.apache.wicket.util.lang.Bytes;
 import org.apache.wicket.util.string.Strings;
 import org.apache.wicket.util.time.Time;
 
@@ -193,8 +194,9 @@ public abstract class AbstractStringReso
        protected abstract String getString();
 
        @Override
-       public final long length()
+       public final Bytes length()
        {
-               return Strings.lengthInBytes(getString(), getCharset());
+               int lengthInBytes = Strings.lengthInBytes(getString(), 
getCharset());
+               return Bytes.bytes(lengthInBytes);
        }
 }

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/FileResourceStream.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/FileResourceStream.java?rev=1041121&r1=1041120&r2=1041121&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/FileResourceStream.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/FileResourceStream.java
 Wed Dec  1 18:39:22 2010
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.io.InputStream;
 
 import org.apache.wicket.util.file.File;
+import org.apache.wicket.util.lang.Bytes;
 import org.apache.wicket.util.time.Time;
 
 
@@ -153,13 +154,13 @@ public class FileResourceStream extends 
         * @see org.apache.wicket.util.resource.IResourceStream#length()
         */
        @Override
-       public long length()
+       public Bytes length()
        {
                if (file != null)
                {
-                       return file.length();
+                       return Bytes.bytes(file.length());
                }
-               return 0;
+               return Bytes.bytes(0);
        }
 
        /**

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/IResourceStream.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/IResourceStream.java?rev=1041121&r1=1041120&r2=1041121&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/IResourceStream.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/IResourceStream.java
 Wed Dec  1 18:39:22 2010
@@ -22,6 +22,7 @@ import java.io.InputStream;
 import java.util.Locale;
 
 import org.apache.wicket.IClusterable;
+import org.apache.wicket.util.lang.Bytes;
 import org.apache.wicket.util.watch.IModifiable;
 
 
@@ -49,13 +50,11 @@ public interface IResourceStream extends
        String getContentType();
 
        /**
-        * Gets the size of this resource in bytes
+        * Gets the size of this resource
         * 
-        * TODO 1.5: rename to lengthInBytes() or let it return some sort of 
size object
-        * 
-        * @return The size of this resource in the number of bytes, or -1 if 
unknown
+        * @return The size of this resource in the number of bytes, or 
<code>null</code> if unknown
         */
-       long length();
+       Bytes length();
 
        /**
         * Gets the resource stream. You should not directly close this stream. 
Instead call the close()

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/XSLTResourceStream.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/XSLTResourceStream.java?rev=1041121&r1=1041120&r2=1041121&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/XSLTResourceStream.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/XSLTResourceStream.java
 Wed Dec  1 18:39:22 2010
@@ -24,6 +24,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 
 import org.apache.wicket.util.io.IOUtils;
+import org.apache.wicket.util.lang.Bytes;
 import org.apache.wicket.util.time.Time;
 
 /**
@@ -132,9 +133,9 @@ public class XSLTResourceStream extends 
         * @see org.apache.wicket.util.resource.IResourceStream#length()
         */
        @Override
-       public long length()
+       public Bytes length()
        {
-               return out.size();
+               return Bytes.bytes(out.size());
        }
 
        /**

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java?rev=1041121&r1=1041120&r2=1041121&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java
 Wed Dec  1 18:39:22 2010
@@ -26,6 +26,7 @@ import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
 
 import org.apache.wicket.util.file.File;
+import org.apache.wicket.util.lang.Bytes;
 import org.apache.wicket.util.time.Time;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -190,9 +191,9 @@ public class ZipResourceStream extends A
         * @see org.apache.wicket.util.resource.AbstractResourceStream#length()
         */
        @Override
-       public long length()
+       public Bytes length()
        {
-               return bytearray.size();
+               return Bytes.bytes(bytearray.size());
        }
 
        /**

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java?rev=1041121&r1=1041120&r2=1041121&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/MarkupResourceStream.java
 Wed Dec  1 18:39:22 2010
@@ -21,6 +21,7 @@ import java.io.InputStream;
 import java.util.Locale;
 
 import org.apache.wicket.Component;
+import org.apache.wicket.util.lang.Bytes;
 import org.apache.wicket.util.lang.WicketObjects;
 import org.apache.wicket.util.resource.IFixedLocationResourceStream;
 import org.apache.wicket.util.resource.IResourceStream;
@@ -167,7 +168,7 @@ public class MarkupResourceStream implem
         * 
         * @see org.apache.wicket.util.resource.IResourceStream#length()
         */
-       public long length()
+       public Bytes length()
        {
                return resourceStream.length();
        }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/ResourceStreamResource.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/ResourceStreamResource.java?rev=1041121&r1=1041120&r2=1041121&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/ResourceStreamResource.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/ResourceStreamResource.java
 Wed Dec  1 18:39:22 2010
@@ -22,6 +22,7 @@ import java.io.InputStream;
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.wicket.util.lang.Args;
+import org.apache.wicket.util.lang.Bytes;
 import org.apache.wicket.util.resource.IResourceStream;
 import org.apache.wicket.util.resource.IResourceStreamWriter;
 import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
@@ -89,7 +90,11 @@ public class ResourceStreamResource exte
                        }
 
                        data.setContentDisposition(contentDisposition);
-                       data.setContentLength(stream.length());
+                       Bytes length = stream.length();
+                       if (length != null)
+                       {
+                               data.setContentLength(length.bytes());
+                       }
                        data.setFileName(fileName);
                        data.setContentType(stream.getContentType());
                        data.setTextEncoding(textEncoding);

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/AbstractResourceStreamWriter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/AbstractResourceStreamWriter.java?rev=1041121&r1=1041120&r2=1041121&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/AbstractResourceStreamWriter.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/AbstractResourceStreamWriter.java
 Wed Dec  1 18:39:22 2010
@@ -20,6 +20,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.Locale;
 
+import org.apache.wicket.util.lang.Bytes;
 import org.apache.wicket.util.time.Time;
 
 /**
@@ -40,9 +41,9 @@ public abstract class AbstractResourceSt
         * 
         * @see org.apache.wicket.util.resource.IResourceStream#length()
         */
-       public long length()
+       public Bytes length()
        {
-               return -1;
+               return null;
        }
 
        /**

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/PackageResourceStream.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/PackageResourceStream.java?rev=1041121&r1=1041120&r2=1041121&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/PackageResourceStream.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/PackageResourceStream.java
 Wed Dec  1 18:39:22 2010
@@ -21,6 +21,7 @@ import java.io.InputStream;
 
 import org.apache.wicket.Application;
 import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.util.lang.Bytes;
 import org.apache.wicket.util.lang.Packages;
 import org.apache.wicket.util.resource.locator.IResourceStreamLocator;
 import org.apache.wicket.util.time.Time;
@@ -83,7 +84,7 @@ public class PackageResourceStream exten
        }
 
        @Override
-       public long length()
+       public Bytes length()
        {
                return resourceStream.length();
        }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/UrlResourceStream.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/UrlResourceStream.java?rev=1041121&r1=1041120&r2=1041121&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/UrlResourceStream.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/UrlResourceStream.java
 Wed Dec  1 18:39:22 2010
@@ -26,6 +26,7 @@ import java.net.URLConnection;
 import org.apache.wicket.Application;
 import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.util.io.Connections;
+import org.apache.wicket.util.lang.Bytes;
 import org.apache.wicket.util.time.Time;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -33,13 +34,15 @@ import org.slf4j.LoggerFactory;
 
 /**
  * UrlResourceStream implements IResource for URLs.
- *
+ * 
  * @see org.apache.wicket.util.resource.IResourceStream
  * @see org.apache.wicket.util.watch.IModifiable
  * @author Jonathan Locke
  * @author Igor Vaynberg
  */
-public class UrlResourceStream extends AbstractResourceStream implements 
IFixedLocationResourceStream
+public class UrlResourceStream extends AbstractResourceStream
+       implements
+               IFixedLocationResourceStream
 {
        private static final long serialVersionUID = 1L;
 
@@ -56,7 +59,7 @@ public class UrlResourceStream extends A
        private File file;
 
        /** Length of stream. */
-       private int contentLength;
+       private Bytes contentLength;
 
        /** Content type for stream. */
        private String contentType;
@@ -66,7 +69,7 @@ public class UrlResourceStream extends A
 
        /**
         * Construct.
-        *
+        * 
         * @param url
         *            URL of resource
         */
@@ -80,7 +83,7 @@ public class UrlResourceStream extends A
                try
                {
                        connection = url.openConnection();
-                       contentLength = connection.getContentLength();
+                       contentLength = 
Bytes.bytes(connection.getContentLength());
                        contentType = connection.getContentType();
                }
                catch (IOException ex)
@@ -111,7 +114,7 @@ public class UrlResourceStream extends A
 
        /**
         * Closes this resource.
-        *
+        * 
         * @throws IOException
         */
        public void close() throws IOException
@@ -252,7 +255,7 @@ public class UrlResourceStream extends A
        private void setContentLength() throws IOException
        {
                URLConnection connection = url.openConnection();
-               contentLength = connection.getContentLength();
+               contentLength = Bytes.bytes(connection.getContentLength());
                Connections.close(connection);
        }
 
@@ -269,7 +272,7 @@ public class UrlResourceStream extends A
         * @see org.apache.wicket.util.resource.IResourceStream#length()
         */
        @Override
-       public long length()
+       public Bytes length()
        {
                return contentLength;
        }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java?rev=1041121&r1=1041120&r2=1041121&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java
 Wed Dec  1 18:39:22 2010
@@ -22,9 +22,9 @@ import java.io.InputStream;
 import javax.servlet.ServletContext;
 
 import org.apache.wicket.Application;
-import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.util.io.IOUtils;
+import org.apache.wicket.util.lang.Bytes;
 import org.apache.wicket.util.time.Time;
 
 /**
@@ -58,14 +58,12 @@ public class WebExternalResourceStream e
        }
 
        /**
-        * Not implemented, throws {...@link WicketRuntimeException}
-        * 
         * @see org.apache.wicket.util.resource.IResourceStream#length()
         */
        @Override
-       public long length()
+       public Bytes length()
        {
-               return -1;
+               return null;
        }
 
        public void close() throws IOException

Modified: 
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/resource/UrlResourceStreamTest.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/util/resource/UrlResourceStreamTest.java?rev=1041121&r1=1041120&r2=1041121&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/resource/UrlResourceStreamTest.java
 (original)
+++ 
wicket/trunk/wicket/src/test/java/org/apache/wicket/util/resource/UrlResourceStreamTest.java
 Wed Dec  1 18:39:22 2010
@@ -21,6 +21,8 @@ import java.net.URL;
 
 import junit.framework.TestCase;
 
+import org.apache.wicket.util.lang.Bytes;
+
 /**
  * 
  * @author Kent Tong
@@ -37,7 +39,7 @@ public class UrlResourceStreamTest exten
                String anyClassInJarFile = "/java/lang/String.class";
                URL url = getClass().getResource(anyClassInJarFile);
                UrlResourceStream stream = new UrlResourceStream(url);
-               long length = stream.length();
+               Bytes length = stream.length();
                stream.lastModifiedTime();
                assertEquals(stream.length(), length);
                stream.close();


Reply via email to