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