diff --git a/src/main/java/org/jboss/netty/handler/codec/compression/ZlibDecoder.java b/src/main/java/org/jboss/netty/handler/codec/compression/ZlibDecoder.java index e50d686de5..a95b888677 100644 --- a/src/main/java/org/jboss/netty/handler/codec/compression/ZlibDecoder.java +++ b/src/main/java/org/jboss/netty/handler/codec/compression/ZlibDecoder.java @@ -48,7 +48,7 @@ public class ZlibDecoder extends OneToOneDecoder { public ZlibDecoder() throws ZStreamException { int resultCode = z.inflateInit(); if (resultCode != JZlib.Z_OK) { - ZlibEncoder.fail(z, "initialization failure", resultCode); + ZlibUtil.fail(z, "initialization failure", resultCode); } } @@ -65,11 +65,11 @@ public class ZlibDecoder extends OneToOneDecoder { int resultCode; resultCode = z.inflateInit(); if (resultCode != JZlib.Z_OK) { - ZlibEncoder.fail(z, "initialization failure", resultCode); + ZlibUtil.fail(z, "initialization failure", resultCode); } else { resultCode = z.inflateSetDictionary(dictionary, dictionary.length); if (resultCode != JZlib.Z_OK) { - ZlibEncoder.fail(z, "failed to set the dictionary", resultCode); + ZlibUtil.fail(z, "failed to set the dictionary", resultCode); } } } @@ -111,9 +111,7 @@ public class ZlibDecoder extends OneToOneDecoder { z.avail_out = out.length; break; default: - throw new ZStreamException( - "decompression failure (" + resultCode + ")" + - (z.msg != null? ": " + z.msg : "")); + ZlibUtil.fail(z, "decompression failure", resultCode); } } while (z.avail_in > 0); diff --git a/src/main/java/org/jboss/netty/handler/codec/compression/ZlibEncoder.java b/src/main/java/org/jboss/netty/handler/codec/compression/ZlibEncoder.java index 01a41179eb..4e4760d89c 100644 --- a/src/main/java/org/jboss/netty/handler/codec/compression/ZlibEncoder.java +++ b/src/main/java/org/jboss/netty/handler/codec/compression/ZlibEncoder.java @@ -79,7 +79,7 @@ public class ZlibEncoder extends OneToOneEncoder { public ZlibEncoder(int compressionLevel) throws ZStreamException { int resultCode = z.deflateInit(compressionLevel, false); // Default: ZLIB format if (resultCode != JZlib.Z_OK) { - fail(z, "initialization failure", resultCode); + ZlibUtil.fail(z, "initialization failure", resultCode); } } @@ -119,11 +119,11 @@ public class ZlibEncoder extends OneToOneEncoder { int resultCode; resultCode = z.deflateInit(compressionLevel, false); // Default: ZLIB format if (resultCode != JZlib.Z_OK) { - fail(z, "initialization failure", resultCode); + ZlibUtil.fail(z, "initialization failure", resultCode); } else { resultCode = z.deflateSetDictionary(dictionary, dictionary.length); if (resultCode != JZlib.Z_OK){ - fail(z, "failed to set the dictionary", resultCode); + ZlibUtil.fail(z, "failed to set the dictionary", resultCode); } } } @@ -152,7 +152,7 @@ public class ZlibEncoder extends OneToOneEncoder { // Note that Z_PARTIAL_FLUSH has been deprecated. int resultCode = z.deflate(JZlib.Z_SYNC_FLUSH); if (resultCode != JZlib.Z_OK) { - fail(z, "compression failure", resultCode); + ZlibUtil.fail(z, "compression failure", resultCode); } if (z.next_out_index != 0) { @@ -216,7 +216,7 @@ public class ZlibEncoder extends OneToOneEncoder { if (resultCode != JZlib.Z_OK && resultCode != JZlib.Z_STREAM_END) { future = Channels.failedFuture( ctx.getChannel(), - exception(z, "compression failure", resultCode)); + ZlibUtil.exception(z, "compression failure", resultCode)); } else if (z.next_out_index != 0) { future = Channels.future(ctx.getChannel()); Channels.write( @@ -250,13 +250,4 @@ public class ZlibEncoder extends OneToOneEncoder { z.next_out = null; } } - - static void fail(ZStream z, String message, int resultCode) throws ZStreamException { - throw exception(z, message, resultCode); - } - - static ZStreamException exception(ZStream z, String message, int resultCode) { - return new ZStreamException(message + " (" + resultCode + ")" + - (z.msg != null? ": " + z.msg : "")); - } } diff --git a/src/main/java/org/jboss/netty/handler/codec/compression/ZlibUtil.java b/src/main/java/org/jboss/netty/handler/codec/compression/ZlibUtil.java new file mode 100644 index 0000000000..3983b21660 --- /dev/null +++ b/src/main/java/org/jboss/netty/handler/codec/compression/ZlibUtil.java @@ -0,0 +1,42 @@ +/* + * Copyright 2009 Red Hat, Inc. + * + * Red Hat licenses this file to you under the Apache License, version 2.0 + * (the "License"); you may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + */ +package org.jboss.netty.handler.codec.compression; + +import com.jcraft.jzlib.ZStream; +import com.jcraft.jzlib.ZStreamException; + +/** + * Utility methods used by {@link ZlibEncoder} and {@link ZlibDecoder}. + * + * @author The Netty Project (netty-dev@lists.jboss.org) + * @author Trustin Lee (tlee@redhat.com) + * @version $Rev$, $Date$ + */ +class ZlibUtil { + + static void fail(ZStream z, String message, int resultCode) throws ZStreamException { + throw exception(z, message, resultCode); + } + + static ZStreamException exception(ZStream z, String message, int resultCode) { + return new ZStreamException(message + " (" + resultCode + ")" + + (z.msg != null? ": " + z.msg : "")); + } + + private ZlibUtil() { + super(); + } +}