diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractDiskHttpData.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractDiskHttpData.java index 69a2e01518..0e018131c5 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractDiskHttpData.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractDiskHttpData.java @@ -94,6 +94,7 @@ public abstract class AbstractDiskHttpData extends AbstractHttpData { return tmpFile; } + @Override public void setContent(ByteBuf buffer) throws IOException { if (buffer == null) { throw new NullPointerException("buffer"); @@ -124,6 +125,7 @@ public abstract class AbstractDiskHttpData extends AbstractHttpData { completed = true; } + @Override public void addContent(ByteBuf buffer, boolean last) throws IOException { if (buffer != null) { @@ -166,6 +168,7 @@ public abstract class AbstractDiskHttpData extends AbstractHttpData { } } + @Override public void setContent(File file) throws IOException { if (this.file != null) { delete(); @@ -176,6 +179,7 @@ public abstract class AbstractDiskHttpData extends AbstractHttpData { completed = true; } + @Override public void setContent(InputStream inputStream) throws IOException { if (inputStream == null) { throw new NullPointerException("inputStream"); @@ -207,6 +211,7 @@ public abstract class AbstractDiskHttpData extends AbstractHttpData { completed = true; } + @Override public void delete() { if (! isRenamed) { if (file != null) { @@ -215,6 +220,7 @@ public abstract class AbstractDiskHttpData extends AbstractHttpData { } } + @Override public byte[] get() throws IOException { if (file == null) { return new byte[0]; @@ -222,6 +228,7 @@ public abstract class AbstractDiskHttpData extends AbstractHttpData { return readFrom(file); } + @Override public ByteBuf getByteBuf() throws IOException { if (file == null) { return EMPTY_BUFFER; @@ -230,6 +237,7 @@ public abstract class AbstractDiskHttpData extends AbstractHttpData { return wrappedBuffer(array); } + @Override public ByteBuf getChunk(int length) throws IOException { if (file == null || length == 0) { return EMPTY_BUFFER; @@ -260,10 +268,12 @@ public abstract class AbstractDiskHttpData extends AbstractHttpData { return buffer; } + @Override public String getString() throws IOException { return getString(HttpConstants.DEFAULT_CHARSET); } + @Override public String getString(Charset encoding) throws IOException { if (file == null) { return ""; @@ -276,10 +286,12 @@ public abstract class AbstractDiskHttpData extends AbstractHttpData { return new String(array, encoding.name()); } + @Override public boolean isInMemory() { return false; } + @Override public boolean renameTo(File dest) throws IOException { if (dest == null) { throw new NullPointerException("dest"); @@ -339,6 +351,7 @@ public abstract class AbstractDiskHttpData extends AbstractHttpData { return array; } + @Override public File getFile() throws IOException { return file; } diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractHttpData.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractHttpData.java index 92dcdfb2e2..cf7d70fe6f 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractHttpData.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractHttpData.java @@ -69,18 +69,22 @@ public abstract class AbstractHttpData implements HttpData { definedSize = size; } + @Override public String getName() { return name; } + @Override public boolean isCompleted() { return completed; } + @Override public Charset getCharset() { return charset; } + @Override public void setCharset(Charset charset) { if (charset == null) { throw new NullPointerException("charset"); @@ -88,6 +92,7 @@ public abstract class AbstractHttpData implements HttpData { this.charset = charset; } + @Override public long length() { return size; } diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractMemoryHttpData.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractMemoryHttpData.java index c02d5f5680..6ff0cb941e 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractMemoryHttpData.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/AbstractMemoryHttpData.java @@ -43,6 +43,7 @@ public abstract class AbstractMemoryHttpData extends AbstractHttpData { super(name, charset, size); } + @Override public void setContent(ByteBuf buffer) throws IOException { if (buffer == null) { throw new NullPointerException("buffer"); @@ -57,6 +58,7 @@ public abstract class AbstractMemoryHttpData extends AbstractHttpData { completed = true; } + @Override public void setContent(InputStream inputStream) throws IOException { if (inputStream == null) { throw new NullPointerException("inputStream"); @@ -78,6 +80,7 @@ public abstract class AbstractMemoryHttpData extends AbstractHttpData { completed = true; } + @Override public void addContent(ByteBuf buffer, boolean last) throws IOException { if (buffer != null) { @@ -102,6 +105,7 @@ public abstract class AbstractMemoryHttpData extends AbstractHttpData { } } + @Override public void setContent(File file) throws IOException { if (file == null) { throw new NullPointerException("file"); @@ -127,10 +131,12 @@ public abstract class AbstractMemoryHttpData extends AbstractHttpData { completed = true; } + @Override public void delete() { // nothing to do } + @Override public byte[] get() { if (byteBuf == null) { return new byte[0]; @@ -140,10 +146,12 @@ public abstract class AbstractMemoryHttpData extends AbstractHttpData { return array; } + @Override public String getString() { return getString(HttpConstants.DEFAULT_CHARSET); } + @Override public String getString(Charset encoding) { if (byteBuf == null) { return ""; @@ -159,10 +167,12 @@ public abstract class AbstractMemoryHttpData extends AbstractHttpData { * to a Disk (or another implementation) FileUpload * @return the attached ByteBuf containing the actual bytes */ + @Override public ByteBuf getByteBuf() { return byteBuf; } + @Override public ByteBuf getChunk(int length) throws IOException { if (byteBuf == null || length == 0 || byteBuf.readableBytes() == 0) { chunkPosition = 0; @@ -182,10 +192,12 @@ public abstract class AbstractMemoryHttpData extends AbstractHttpData { return chunk; } + @Override public boolean isInMemory() { return true; } + @Override public boolean renameTo(File dest) throws IOException { if (dest == null) { throw new NullPointerException("dest"); @@ -211,6 +223,7 @@ public abstract class AbstractMemoryHttpData extends AbstractHttpData { return written == length; } + @Override public File getFile() throws IOException { throw new IOException("Not represented by a file"); } diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/CaseIgnoringComparator.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/CaseIgnoringComparator.java index 830627e004..ef86ef0de1 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/CaseIgnoringComparator.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/CaseIgnoringComparator.java @@ -28,6 +28,7 @@ public final class CaseIgnoringComparator implements Comparator, Seriali super(); } + @Override public int compare(String o1, String o2) { return o1.compareToIgnoreCase(o2); } diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/DefaultHttpDataFactory.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/DefaultHttpDataFactory.java index 40dd566a8f..b25ecac29b 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/DefaultHttpDataFactory.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/DefaultHttpDataFactory.java @@ -92,6 +92,7 @@ public class DefaultHttpDataFactory implements HttpDataFactory { return list; } + @Override public Attribute createAttribute(HttpRequest request, String name) { if (useDisk) { Attribute attribute = new DiskAttribute(name); @@ -107,6 +108,7 @@ public class DefaultHttpDataFactory implements HttpDataFactory { return new MemoryAttribute(name); } + @Override public Attribute createAttribute(HttpRequest request, String name, String value) { if (useDisk) { Attribute attribute; @@ -132,6 +134,7 @@ public class DefaultHttpDataFactory implements HttpDataFactory { } } + @Override public FileUpload createFileUpload(HttpRequest request, String name, String filename, String contentType, String contentTransferEncoding, Charset charset, long size) { @@ -152,6 +155,7 @@ public class DefaultHttpDataFactory implements HttpDataFactory { contentTransferEncoding, charset, size); } + @Override public void removeHttpDataFromClean(HttpRequest request, InterfaceHttpData data) { if (data instanceof HttpData) { List fileToDelete = getList(request); @@ -159,6 +163,7 @@ public class DefaultHttpDataFactory implements HttpDataFactory { } } + @Override public void cleanRequestHttpDatas(HttpRequest request) { List fileToDelete = requestFileDeleteMap.remove(request); if (fileToDelete != null) { @@ -169,6 +174,7 @@ public class DefaultHttpDataFactory implements HttpDataFactory { } } + @Override public void cleanAllHttpDatas() { for (HttpRequest request : requestFileDeleteMap.keySet()) { List fileToDelete = requestFileDeleteMap.get(request); diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/DiskAttribute.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/DiskAttribute.java index 2c3aff2db7..76d313ee5e 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/DiskAttribute.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/DiskAttribute.java @@ -53,15 +53,18 @@ public class DiskAttribute extends AbstractDiskHttpData implements Attribute { setValue(value); } + @Override public HttpDataType getHttpDataType() { return HttpDataType.Attribute; } + @Override public String getValue() throws IOException { byte [] bytes = get(); return new String(bytes, charset.name()); } + @Override public void setValue(String value) throws IOException { if (value == null) { throw new NullPointerException("value"); @@ -96,6 +99,7 @@ public class DiskAttribute extends AbstractDiskHttpData implements Attribute { return getName().equalsIgnoreCase(attribute.getName()); } + @Override public int compareTo(InterfaceHttpData arg0) { if (!(arg0 instanceof Attribute)) { throw new ClassCastException("Cannot compare " + getHttpDataType() + diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/DiskFileUpload.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/DiskFileUpload.java index ebca0acf3c..26c67295b0 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/DiskFileUpload.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/DiskFileUpload.java @@ -46,14 +46,17 @@ public class DiskFileUpload extends AbstractDiskHttpData implements FileUpload { setContentTransferEncoding(contentTransferEncoding); } + @Override public HttpDataType getHttpDataType() { return HttpDataType.FileUpload; } + @Override public String getFilename() { return filename; } + @Override public void setFilename(String filename) { if (filename == null) { throw new NullPointerException("filename"); @@ -75,6 +78,7 @@ public class DiskFileUpload extends AbstractDiskHttpData implements FileUpload { return getName().equalsIgnoreCase(attribute.getName()); } + @Override public int compareTo(InterfaceHttpData arg0) { if (!(arg0 instanceof FileUpload)) { throw new ClassCastException("Cannot compare " + getHttpDataType() + @@ -93,6 +97,7 @@ public class DiskFileUpload extends AbstractDiskHttpData implements FileUpload { return v; } + @Override public void setContentType(String contentType) { if (contentType == null) { throw new NullPointerException("contentType"); @@ -100,14 +105,17 @@ public class DiskFileUpload extends AbstractDiskHttpData implements FileUpload { this.contentType = contentType; } + @Override public String getContentType() { return contentType; } + @Override public String getContentTransferEncoding() { return contentTransferEncoding; } + @Override public void setContentTransferEncoding(String contentTransferEncoding) { this.contentTransferEncoding = contentTransferEncoding; } diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestEncoder.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestEncoder.java index 8bb4d43cc3..427a242419 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestEncoder.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/HttpPostRequestEncoder.java @@ -885,6 +885,7 @@ public class HttpPostRequestEncoder implements ChunkedMessageInput { return new DefaultHttpChunk(buffer); } + @Override public void close() throws Exception { // NO since the user can want to reuse (broadcast for instance) // cleanFiles(); @@ -898,6 +899,7 @@ public class HttpPostRequestEncoder implements ChunkedMessageInput { * @throws ErrorDataEncoderException * if the encoding is in error */ + @Override public boolean readChunk(MessageBuf buffer) throws ErrorDataEncoderException { if (isLastChunkSent) { return false; @@ -984,6 +986,7 @@ public class HttpPostRequestEncoder implements ChunkedMessageInput { return new DefaultHttpChunk(buffer); } + @Override public boolean isEndOfInput() throws Exception { return isLastChunkSent; } diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/InternalAttribute.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/InternalAttribute.java index eb35ec884d..4256152038 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/InternalAttribute.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/InternalAttribute.java @@ -25,6 +25,7 @@ import java.util.List; public class InternalAttribute implements InterfaceHttpData { protected List value = new ArrayList(); + @Override public HttpDataType getHttpDataType() { return HttpDataType.InternalAttribute; } @@ -68,6 +69,7 @@ public class InternalAttribute implements InterfaceHttpData { return getName().equalsIgnoreCase(attribute.getName()); } + @Override public int compareTo(InterfaceHttpData arg0) { if (!(arg0 instanceof InternalAttribute)) { throw new ClassCastException("Cannot compare " + getHttpDataType() + @@ -96,6 +98,7 @@ public class InternalAttribute implements InterfaceHttpData { return result.toString(); } + @Override public String getName() { return "InternalAttribute"; } diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MemoryAttribute.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MemoryAttribute.java index ba26cb64dd..045acbab9e 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MemoryAttribute.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MemoryAttribute.java @@ -42,14 +42,17 @@ public class MemoryAttribute extends AbstractMemoryHttpData implements Attribute setValue(value); } + @Override public HttpDataType getHttpDataType() { return HttpDataType.Attribute; } + @Override public String getValue() { return getByteBuf().toString(charset); } + @Override public void setValue(String value) throws IOException { if (value == null) { throw new NullPointerException("value"); @@ -85,6 +88,7 @@ public class MemoryAttribute extends AbstractMemoryHttpData implements Attribute return getName().equalsIgnoreCase(attribute.getName()); } + @Override public int compareTo(InterfaceHttpData arg0) { if (!(arg0 instanceof Attribute)) { throw new ClassCastException("Cannot compare " + getHttpDataType() + diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MemoryFileUpload.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MemoryFileUpload.java index a7e3b4c342..0dc3074304 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MemoryFileUpload.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MemoryFileUpload.java @@ -40,14 +40,17 @@ public class MemoryFileUpload extends AbstractMemoryHttpData implements FileUplo setContentTransferEncoding(contentTransferEncoding); } + @Override public HttpDataType getHttpDataType() { return HttpDataType.FileUpload; } + @Override public String getFilename() { return filename; } + @Override public void setFilename(String filename) { if (filename == null) { throw new NullPointerException("filename"); @@ -69,6 +72,7 @@ public class MemoryFileUpload extends AbstractMemoryHttpData implements FileUplo return getName().equalsIgnoreCase(attribute.getName()); } + @Override public int compareTo(InterfaceHttpData arg0) { if (!(arg0 instanceof FileUpload)) { throw new ClassCastException("Cannot compare " + getHttpDataType() + @@ -87,6 +91,7 @@ public class MemoryFileUpload extends AbstractMemoryHttpData implements FileUplo return v; } + @Override public void setContentType(String contentType) { if (contentType == null) { throw new NullPointerException("contentType"); @@ -94,14 +99,17 @@ public class MemoryFileUpload extends AbstractMemoryHttpData implements FileUplo this.contentType = contentType; } + @Override public String getContentType() { return contentType; } + @Override public String getContentTransferEncoding() { return contentTransferEncoding; } + @Override public void setContentTransferEncoding(String contentTransferEncoding) { this.contentTransferEncoding = contentTransferEncoding; } diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MixedAttribute.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MixedAttribute.java index dd5fd27abe..404053fe2c 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MixedAttribute.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MixedAttribute.java @@ -57,6 +57,7 @@ public class MixedAttribute implements Attribute { } } + @Override public void addContent(ByteBuf buffer, boolean last) throws IOException { if (attribute instanceof MemoryAttribute) { if (attribute.length() + buffer.readableBytes() > limitSize) { @@ -72,50 +73,62 @@ public class MixedAttribute implements Attribute { attribute.addContent(buffer, last); } + @Override public void delete() { attribute.delete(); } + @Override public byte[] get() throws IOException { return attribute.get(); } + @Override public ByteBuf getByteBuf() throws IOException { return attribute.getByteBuf(); } + @Override public Charset getCharset() { return attribute.getCharset(); } + @Override public String getString() throws IOException { return attribute.getString(); } + @Override public String getString(Charset encoding) throws IOException { return attribute.getString(encoding); } + @Override public boolean isCompleted() { return attribute.isCompleted(); } + @Override public boolean isInMemory() { return attribute.isInMemory(); } + @Override public long length() { return attribute.length(); } + @Override public boolean renameTo(File dest) throws IOException { return attribute.renameTo(dest); } + @Override public void setCharset(Charset charset) { attribute.setCharset(charset); } + @Override public void setContent(ByteBuf buffer) throws IOException { if (buffer.readableBytes() > limitSize) { if (attribute instanceof MemoryAttribute) { @@ -126,6 +139,7 @@ public class MixedAttribute implements Attribute { attribute.setContent(buffer); } + @Override public void setContent(File file) throws IOException { if (file.length() > limitSize) { if (attribute instanceof MemoryAttribute) { @@ -136,6 +150,7 @@ public class MixedAttribute implements Attribute { attribute.setContent(file); } + @Override public void setContent(InputStream inputStream) throws IOException { if (attribute instanceof MemoryAttribute) { // change to Disk even if we don't know the size @@ -144,14 +159,17 @@ public class MixedAttribute implements Attribute { attribute.setContent(inputStream); } + @Override public HttpDataType getHttpDataType() { return attribute.getHttpDataType(); } + @Override public String getName() { return attribute.getName(); } + @Override public int compareTo(InterfaceHttpData o) { return attribute.compareTo(o); } @@ -161,18 +179,22 @@ public class MixedAttribute implements Attribute { return "Mixed: " + attribute.toString(); } + @Override public String getValue() throws IOException { return attribute.getValue(); } + @Override public void setValue(String value) throws IOException { attribute.setValue(value); } + @Override public ByteBuf getChunk(int length) throws IOException { return attribute.getChunk(length); } + @Override public File getFile() throws IOException { return attribute.getFile(); } diff --git a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MixedFileUpload.java b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MixedFileUpload.java index e0d6de5dfd..73f94caa78 100644 --- a/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MixedFileUpload.java +++ b/codec-http/src/main/java/io/netty/handler/codec/http/multipart/MixedFileUpload.java @@ -46,6 +46,7 @@ public class MixedFileUpload implements FileUpload { definedSize = size; } + @Override public void addContent(ByteBuf buffer, boolean last) throws IOException { if (fileUpload instanceof MemoryFileUpload) { @@ -65,62 +66,77 @@ public class MixedFileUpload implements FileUpload { fileUpload.addContent(buffer, last); } + @Override public void delete() { fileUpload.delete(); } + @Override public byte[] get() throws IOException { return fileUpload.get(); } + @Override public ByteBuf getByteBuf() throws IOException { return fileUpload.getByteBuf(); } + @Override public Charset getCharset() { return fileUpload.getCharset(); } + @Override public String getContentType() { return fileUpload.getContentType(); } + @Override public String getContentTransferEncoding() { return fileUpload.getContentTransferEncoding(); } + @Override public String getFilename() { return fileUpload.getFilename(); } + @Override public String getString() throws IOException { return fileUpload.getString(); } + @Override public String getString(Charset encoding) throws IOException { return fileUpload.getString(encoding); } + @Override public boolean isCompleted() { return fileUpload.isCompleted(); } + @Override public boolean isInMemory() { return fileUpload.isInMemory(); } + @Override public long length() { return fileUpload.length(); } + @Override public boolean renameTo(File dest) throws IOException { return fileUpload.renameTo(dest); } + @Override public void setCharset(Charset charset) { fileUpload.setCharset(charset); } + @Override public void setContent(ByteBuf buffer) throws IOException { if (buffer.readableBytes() > limitSize) { if (fileUpload instanceof MemoryFileUpload) { @@ -135,6 +151,7 @@ public class MixedFileUpload implements FileUpload { fileUpload.setContent(buffer); } + @Override public void setContent(File file) throws IOException { if (file.length() > limitSize) { if (fileUpload instanceof MemoryFileUpload) { @@ -149,6 +166,7 @@ public class MixedFileUpload implements FileUpload { fileUpload.setContent(file); } + @Override public void setContent(InputStream inputStream) throws IOException { if (fileUpload instanceof MemoryFileUpload) { // change to Disk @@ -161,26 +179,32 @@ public class MixedFileUpload implements FileUpload { fileUpload.setContent(inputStream); } + @Override public void setContentType(String contentType) { fileUpload.setContentType(contentType); } + @Override public void setContentTransferEncoding(String contentTransferEncoding) { fileUpload.setContentTransferEncoding(contentTransferEncoding); } + @Override public void setFilename(String filename) { fileUpload.setFilename(filename); } + @Override public HttpDataType getHttpDataType() { return fileUpload.getHttpDataType(); } + @Override public String getName() { return fileUpload.getName(); } + @Override public int compareTo(InterfaceHttpData o) { return fileUpload.compareTo(o); } @@ -190,10 +214,12 @@ public class MixedFileUpload implements FileUpload { return "Mixed: " + fileUpload.toString(); } + @Override public ByteBuf getChunk(int length) throws IOException { return fileUpload.getChunk(length); } + @Override public File getFile() throws IOException { return fileUpload.getFile(); }