Author: jleroux
Date: Sun Jun 22 09:18:39 2014
New Revision: 1604554
URL:
http://svn.apache.org/r1604554Log:
A proposed fix by chunlinyao for "checkExistsImage method in ImageManagementServices" at
https://issues.apache.org/jira/browse/OFBIZ-5658I think indexOf(".") in these code should be lastIndexOf(".").
From CATALOG -> Image Management -> Upload view. upload some Images it will call this method. This method is intended to add (count) to the image name, when the file name was already exist. I debugged in it, the imagePath was the absolute path of the image file. So If any parent folder name contains "." , it will not works correctly.
chunlinyao's Note: And after review the whole ImageManagementServices.java file. I found it use static variables (ex. imageCount imagePath). It is not thread safe.
Modified:
ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ImageManagementServices.java
Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ImageManagementServices.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ImageManagementServices.java?rev=1604554&r1=1604553&r2=1604554&view=diff==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ImageManagementServices.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ImageManagementServices.java Sun Jun 22 09:18:39 2014
@@ -780,8 +780,8 @@ public class ImageManagementServices {
return file;
}
imageCount++;
- String filePath = imagePath.substring(0, imagePath.indexOf("."));
- String type = imagePath.substring(imagePath.indexOf(".") + 1);
+ String filePath = imagePath.substring(0, imagePath.lastIndexOf("."));
+ String type = imagePath.substring(imagePath.lastIndexOf(".") + 1);
file = new File(filePath + "(" + imageCount + ")." + type);
return checkExistsImage(file);
}