Return-Path: Delivered-To: apmail-incubator-abdera-commits-archive@locus.apache.org Received: (qmail 59730 invoked from network); 26 Jul 2007 18:22:55 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 26 Jul 2007 18:22:55 -0000 Received: (qmail 32041 invoked by uid 500); 26 Jul 2007 18:22:56 -0000 Delivered-To: apmail-incubator-abdera-commits-archive@incubator.apache.org Received: (qmail 32009 invoked by uid 500); 26 Jul 2007 18:22:56 -0000 Mailing-List: contact abdera-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: abdera-dev@incubator.apache.org Delivered-To: mailing list abdera-commits@incubator.apache.org Received: (qmail 31998 invoked by uid 99); 26 Jul 2007 18:22:56 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 Jul 2007 11:22:56 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 Jul 2007 11:22:55 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id BADB51A981A; Thu, 26 Jul 2007 11:22:34 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r559923 - in /incubator/abdera/java/trunk: core/src/main/java/org/apache/abdera/util/ server/src/main/java/org/apache/abdera/protocol/server/servlet/ Date: Thu, 26 Jul 2007 18:22:34 -0000 To: abdera-commits@incubator.apache.org From: jmsnell@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070726182234.BADB51A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jmsnell Date: Thu Jul 26 11:22:33 2007 New Revision: 559923 URL: http://svn.apache.org/viewvc?view=rev&rev=559923 Log: Use the new CompressionUtil for the CompressionFilter Modified: incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/CompressionUtil.java incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/servlet/AbstractFilter.java incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/servlet/CompressionFilter.java Modified: incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/CompressionUtil.java URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/CompressionUtil.java?view=diff&rev=559923&r1=559922&r2=559923 ============================================================================== --- incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/CompressionUtil.java (original) +++ incubator/abdera/java/trunk/core/src/main/java/org/apache/abdera/util/CompressionUtil.java Thu Jul 26 11:22:33 2007 @@ -29,6 +29,15 @@ public enum CompressionCodec { GZIP, XGZIP, DEFLATE } + public static CompressionCodec getCodec(String name) { + CompressionCodec codec = null; + if (name == null) return null; + try { + codec = CompressionCodec.valueOf(name.toUpperCase().trim()); + } catch (Exception e) {} + return codec; + } + public static OutputStream getEncodedOutputStream( OutputStream out, CompressionCodec encoding) Modified: incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/servlet/AbstractFilter.java URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/servlet/AbstractFilter.java?view=diff&rev=559923&r1=559922&r2=559923 ============================================================================== --- incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/servlet/AbstractFilter.java (original) +++ incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/servlet/AbstractFilter.java Thu Jul 26 11:22:33 2007 @@ -23,11 +23,11 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.Reader; import java.util.zip.DeflaterOutputStream; -import java.util.zip.GZIPOutputStream; import javax.servlet.Filter; import javax.servlet.FilterConfig; @@ -40,6 +40,8 @@ import javax.servlet.http.HttpServletResponseWrapper; import org.apache.abdera.i18n.io.RewindableInputStream; +import org.apache.abdera.util.CompressionUtil; +import org.apache.abdera.util.CompressionUtil.CompressionCodec; /** * Utility class that serves as the basis for a variety of Filter implementations @@ -72,11 +74,11 @@ public CompressingResponseWrapper( HttpServletResponse response, - String method) + CompressionCodec codec) throws IOException { super(response); out = new CompressingServletOutputStream( - method, response.getOutputStream()); + codec, response.getOutputStream()); } @Override @@ -112,14 +114,11 @@ public static class CompressingServletOutputStream extends ServletOutputStream { - private DeflaterOutputStream dout; + private OutputStream dout; - public CompressingServletOutputStream(String method, ServletOutputStream out) { + public CompressingServletOutputStream(CompressionCodec codec, ServletOutputStream out) { try { - if ("gzip".equalsIgnoreCase(method)) - dout = new GZIPOutputStream(out); - if ("compress".equalsIgnoreCase(method)) - dout = new DeflaterOutputStream(out); + dout = CompressionUtil.getEncodedOutputStream(out,codec); } catch (IOException e) {} } Modified: incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/servlet/CompressionFilter.java URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/servlet/CompressionFilter.java?view=diff&rev=559923&r1=559922&r2=559923 ============================================================================== --- incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/servlet/CompressionFilter.java (original) +++ incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/servlet/CompressionFilter.java Thu Jul 26 11:22:33 2007 @@ -28,6 +28,8 @@ import javax.servlet.http.HttpServletResponse; import org.apache.abdera.protocol.server.util.ServerUtils; +import org.apache.abdera.util.CompressionUtil; +import org.apache.abdera.util.CompressionUtil.CompressionCodec; /** * A filter that applies either GZip or Compress encoding on a response @@ -53,9 +55,10 @@ new String[0]; for (String enc : encodings) { if (CompressingResponseWrapper.canHandle(enc)) { + CompressionCodec codec = CompressionUtil.getCodec(enc); CompressingResponseWrapper resp = new CompressingResponseWrapper( - (HttpServletResponse) response, enc); + (HttpServletResponse) response, codec); chain.doFilter(request, response); resp.finish(); return;