Author: michiel
Date: 2010-05-17 14:49:31 +0200 (Mon, 17 May 2010)
New Revision: 42188

Modified:
   
mmbase/branches/MMBase-1_9/applications/resources/src/main/java/org/mmbase/module/builders/ImageCaches.java
Log:
MMB-1957

Modified: 
mmbase/branches/MMBase-1_9/applications/resources/src/main/java/org/mmbase/module/builders/ImageCaches.java
===================================================================
--- 
mmbase/branches/MMBase-1_9/applications/resources/src/main/java/org/mmbase/module/builders/ImageCaches.java
 2010-05-17 12:39:47 UTC (rev 42187)
+++ 
mmbase/branches/MMBase-1_9/applications/resources/src/main/java/org/mmbase/module/builders/ImageCaches.java
 2010-05-17 12:49:31 UTC (rev 42188)
@@ -70,6 +70,19 @@
         return getNode(node.getIntValue(FIELD_ID));
     }
 
+    /**
+     * @since MMBase-1.9.4
+     */
+    protected void appendExtension(StringBuilder buf, String ext) {
+        int extensionIndex = buf.lastIndexOf(".");
+        if (extensionIndex > 0) {
+            buf.replace(extensionIndex + 1, buf.length(), ext);
+        } else {
+            buf.append('.').append(ext);
+        }
+    }
+
+    @Override
     public StringBuilder getFileName(MMObjectNode node, StringBuilder buf) {
         MMObjectNode originalImage = originalImage(node);
         ImagesInterface images = (ImagesInterface) originalImage.getBuilder();
@@ -77,13 +90,14 @@
         String ext = getImageFormat(node);
         if (! (images instanceof Images) || ((Images) 
images).storesImageType()) { // otherwise too expensive
             if (! ext.equals(images.getImageFormat(originalImage))) {
-                buf.append('.').append(ext);
+                appendExtension(buf, ext);
             }
         } else {
-            buf.append('.').append(ext);
+            appendExtension(buf, ext);
         }
         return buf;
     }
+
     protected boolean addFileName(MMObjectNode node, String servlet) {
         if (super.addFileName(node, servlet)) return true;
         MMObjectNode originalImage = originalImage(node);

_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to