You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mb...@apache.org on 2017/12/16 14:12:18 UTC
svn commit: r1818412 -
/ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/image/ScaleImage.java
Author: mbrohl
Date: Sat Dec 16 14:12:17 2017
New Revision: 1818412
URL: http://svn.apache.org/viewvc?rev=1818412&view=rev
Log:
Improved: General refactoring and code improvements, package
org.apache.ofbiz.product.image.
(OFBIZ-10070)
Thanks Julian Leichert for reporting and providing the patch.
Modified:
ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/image/ScaleImage.java
Modified: ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/image/ScaleImage.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/image/ScaleImage.java?rev=1818412&r1=1818411&r2=1818412&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/image/ScaleImage.java (original)
+++ ofbiz/ofbiz-framework/trunk/applications/product/src/main/java/org/apache/ofbiz/product/image/ScaleImage.java Sat Dec 16 14:12:17 2017
@@ -79,16 +79,16 @@ public class ScaleImage {
/* VARIABLES */
Locale locale = (Locale) context.get("locale");
-
+
int index;
- Map<String, Map<String, String>> imgPropertyMap = new HashMap<String, Map<String,String>>();
+ Map<String, Map<String, String>> imgPropertyMap = new HashMap<>();
BufferedImage bufImg, bufNewImg;
double imgHeight, imgWidth;
- Map<String, String> imgUrlMap = new HashMap<String, String>();
- Map<String, Object> resultXMLMap = new HashMap<String, Object>();
- Map<String, Object> resultBufImgMap = new HashMap<String, Object>();
- Map<String, Object> resultScaleImgMap = new HashMap<String, Object>();
- Map<String, Object> result = new HashMap<String, Object>();
+ Map<String, String> imgUrlMap = new HashMap<>();
+ Map<String, Object> resultXMLMap = new HashMap<>();
+ Map<String, Object> resultBufImgMap = new HashMap<>();
+ Map<String, Object> resultScaleImgMap = new HashMap<>();
+ Map<String, Object> result = new HashMap<>();
/* ImageProperties.xml */
String fileName = "component://product/config/ImageProperties.xml";
@@ -108,8 +108,8 @@ public class ScaleImage {
index = filenameToUse.lastIndexOf('.');
String imgExtension = filenameToUse.substring(index + 1);
// paths
-
- Map<String, Object> imageContext = new HashMap<String, Object>();
+
+ Map<String, Object> imageContext = new HashMap<>();
imageContext.putAll(context);
imageContext.put("tenantId",((Delegator)context.get("delegator")).getDelegatorTenantId());
String imageServerPath = FlexibleStringExpander.expandString(EntityUtilProperties.getPropertyValue("catalog", "image.server.path", (Delegator)context.get("delegator")), imageContext);
@@ -132,7 +132,7 @@ public class ScaleImage {
id = id + "_View_" + viewNumber;
} else {
viewType = "additional" + viewNumber;
- }
+ }
fileLocation = filenameExpander.expandString(UtilMisc.toMap("location", "products", "id", id, "viewtype", viewType, "sizetype", "original"));
} else {
return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ProductImageViewType", UtilMisc.toMap("viewType", viewType), locale));
@@ -141,7 +141,7 @@ public class ScaleImage {
if (fileLocation.lastIndexOf('/') != -1) {
fileLocation = fileLocation.substring(0, fileLocation.lastIndexOf('/') + 1); // adding 1 to include the trailing slash
}
-
+
/* get original BUFFERED IMAGE */
resultBufImgMap.putAll(ImageTransform.getBufferedImage(imageServerPath + "/" + fileLocation + "." + imgExtension, locale));
@@ -161,7 +161,7 @@ public class ScaleImage {
/* Scale image for each size from ImageProperties.xml */
for (Map.Entry<String, Map<String, String>> entry : imgPropertyMap.entrySet()) {
String sizeType = entry.getKey();
-
+
// Scale
resultScaleImgMap.putAll(ImageTransform.scaleImage(bufImg, imgHeight, imgWidth, imgPropertyMap, sizeType, locale));
@@ -180,7 +180,7 @@ public class ScaleImage {
String newFilePathPrefix = "";
if (newFileLocation != null && newFileLocation.lastIndexOf('/') != -1) {
newFilePathPrefix = newFileLocation.substring(0, newFileLocation.lastIndexOf('/') + 1); // adding 1 to include the trailing slash
- }
+ }
// Directory
String targetDirectory = imageServerPath + "/" + newFilePathPrefix;
try {
@@ -197,11 +197,12 @@ public class ScaleImage {
// Images aren't ordered by productId (${location}/${viewtype}/${sizetype}/${id}) !!! BE CAREFUL !!!
} else if (newFileLocation.endsWith("/" + id)) {
try {
- File[] files = targetDir.listFiles();
+ File[] files = targetDir.listFiles();
for (File file : files) {
if (file.isFile() && file.getName().startsWith(id)) {
- if (!file.delete())
+ if (!file.delete()) {
Debug.logError("File :" + file.getName() + ", couldn't be deleted", module);
+ }
}
}
} catch (SecurityException e) {
@@ -260,16 +261,16 @@ public class ScaleImage {
} else {
sizeTypeList = UtilMisc.toList("small", "medium", "large", "detail");
}
-
+
int index;
- Map<String, Map<String, String>> imgPropertyMap = new HashMap<String, Map<String, String>>();
+ Map<String, Map<String, String>> imgPropertyMap = new HashMap<>();
BufferedImage bufImg, bufNewImg;
double imgHeight, imgWidth;
- Map<String, String> imgUrlMap = new HashMap<String, String>();
- Map<String, Object> resultXMLMap = new HashMap<String, Object>();
- Map<String, Object> resultBufImgMap = new HashMap<String, Object>();
- Map<String, Object> resultScaleImgMap = new HashMap<String, Object>();
- Map<String, Object> result = new HashMap<String, Object>();
+ Map<String, String> imgUrlMap = new HashMap<>();
+ Map<String, Object> resultXMLMap = new HashMap<>();
+ Map<String, Object> resultBufImgMap = new HashMap<>();
+ Map<String, Object> resultScaleImgMap = new HashMap<>();
+ Map<String, Object> result = new HashMap<>();
/* ImageProperties.xml */
String fileName = "component://product/config/ImageProperties.xml";
@@ -290,7 +291,7 @@ public class ScaleImage {
String imgName = filenameToUse.substring(0, index - 1);
String imgExtension = filenameToUse.substring(index + 1);
// paths
- Map<String, Object> imageContext = new HashMap<String, Object>();
+ Map<String, Object> imageContext = new HashMap<>();
imageContext.putAll(context);
imageContext.put("tenantId",((Delegator)context.get("delegator")).getDelegatorTenantId());
String mainFilenameFormat = EntityUtilProperties.getPropertyValue("catalog", "image.filename.format", (Delegator) context.get("delegator"));
@@ -308,7 +309,7 @@ public class ScaleImage {
type = "additional";
id = imgName + "_View_" + viewNumber;
} else {
- return ServiceUtil.returnError(UtilProperties.getMessage(resource,
+ return ServiceUtil.returnError(UtilProperties.getMessage(resource,
"ProductImageViewType", UtilMisc.toMap("viewType", type), locale));
}
FlexibleStringExpander mainFilenameExpander = FlexibleStringExpander.getInstance(mainFilenameFormat);
@@ -317,14 +318,14 @@ public class ScaleImage {
if (fileLocation.lastIndexOf('/') != -1) {
filePathPrefix = fileLocation.substring(0, fileLocation.lastIndexOf('/') + 1); // adding 1 to include the trailing slash
}
-
+
if (context.get("contentId") != null){
resultBufImgMap.putAll(ImageTransform.getBufferedImage(imageServerPath + "/" + context.get("productId") + "/" + context.get("clientFileName"), locale));
} else {
/* get original BUFFERED IMAGE */
resultBufImgMap.putAll(ImageTransform.getBufferedImage(imageServerPath + "/" + filePathPrefix + filenameToUse, locale));
}
-
+
if (resultBufImgMap.containsKey("responseMessage") && "success".equals(resultBufImgMap.get("responseMessage"))) {
bufImg = (BufferedImage) resultBufImgMap.get("bufferedImage");
@@ -402,11 +403,10 @@ public class ScaleImage {
result.put("original", resultBufImgMap);
return result;
- } else {
- String errMsg = UtilProperties.getMessage(resource, "ScaleImage.unable_to_scale_original_image", locale) + " : " + filenameToUse;
- Debug.logError(errMsg, module);
- result.put(ModelService.ERROR_MESSAGE, errMsg);
- return ServiceUtil.returnError(errMsg);
}
+ String errMsg = UtilProperties.getMessage(resource, "ScaleImage.unable_to_scale_original_image", locale) + " : " + filenameToUse;
+ Debug.logError(errMsg, module);
+ result.put(ModelService.ERROR_MESSAGE, errMsg);
+ return ServiceUtil.returnError(errMsg);
}
}