Author: gagan
Date: Thu Oct 14 04:29:36 2010
New Revision: 1022374

URL: http://svn.apache.org/viewvc?rev=1022374&view=rev
Log:
patch by satya3656 | Issue 2319044: BugFix - optimizer config is not respecting 
the compression ratio specified | http://codereview.appspot.com/2319044/

Added:
    
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/image/OptimizerConfigTest.java
   (with props)
Modified:
    shindig/trunk/java/common/conf/shindig.properties
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/OptimizerConfig.java

Modified: shindig/trunk/java/common/conf/shindig.properties
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/common/conf/shindig.properties?rev=1022374&r1=1022373&r2=1022374&view=diff
==============================================================================
--- shindig/trunk/java/common/conf/shindig.properties (original)
+++ shindig/trunk/java/common/conf/shindig.properties Thu Oct 14 04:29:36 2010
@@ -70,7 +70,7 @@ shindig.gadget-rewrite.externalize-featu
 shindig.image-rewrite.max-inmem-bytes = 1048576
 shindig.image-rewrite.max-palette-size = 256
 shindig.image-rewrite.allow-jpeg-conversion = true
-shindig.image-rewrite.jpeg-compression = 0.75
+shindig.image-rewrite.jpeg-compression = 0.90
 shindig.image-rewrite.min-threshold-bytes = 200
 
 # Configuration for the os:Flash tag

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/OptimizerConfig.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/OptimizerConfig.java?rev=1022374&r1=1022373&r2=1022374&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/OptimizerConfig.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/rewrite/image/OptimizerConfig.java
 Thu Oct 14 04:29:36 2010
@@ -43,15 +43,15 @@ public class OptimizerConfig {
     this.jpegConversionAllowed = jpegConversionAllowed;
     // Constrain jpeg compression to between 0.9 and 0.5 so its not pointless
     // to attempt nor is it too lossy.
-    this.jpegCompression = Math.max(0.9f,Math.min(0.5f, jpegCompression));
+    this.jpegCompression = Math.min(0.9f,Math.max(0.5f, jpegCompression));
     this.minThresholdBytes = minThresholdBytes;
   }
 
   /**
-   * Defaults
+   * Defaults for usuage in tests.
    */
   public OptimizerConfig() {
-    this(1024 * 1024, 256, true, 0.75f, 200);
+    this(1024 * 1024, 256, true, 0.90f, 200);
   }
 
   /**

Added: 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/image/OptimizerConfigTest.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/image/OptimizerConfigTest.java?rev=1022374&view=auto
==============================================================================
--- 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/image/OptimizerConfigTest.java
 (added)
+++ 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/image/OptimizerConfigTest.java
 Thu Oct 14 04:29:36 2010
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF 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.apache.shindig.gadgets.rewrite.image;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+/**
+ * Tests for {...@code OptimizerConfig}
+ */
+public class OptimizerConfigTest {
+
+  @Test
+  public void testForHighJpegCompression() {
+    OptimizerConfig config = new OptimizerConfig(1024 * 1024, 256, true, 
1.00f, 200);
+    assertEquals(0.9f, config.getJpegCompression(), 0.0001);
+  }
+
+  @Test
+  public void testForLowJpegCompression() {
+    OptimizerConfig config = new OptimizerConfig(1024 * 1024, 256, true, 
0.10f, 200);
+    assertEquals(0.5f, config.getJpegCompression() , 0.0001);
+  }
+
+  @Test
+  public void testForAcceptableJpegCompression() {
+    OptimizerConfig config = new OptimizerConfig(1024 * 1024, 256, true, 
0.85f, 200);
+    assertEquals(0.85f, config.getJpegCompression(), 0.0001);
+  }
+}

Propchange: 
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/image/OptimizerConfigTest.java
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to