Author: jleroux
Date: Sun Dec 20 21:07:27 2015
New Revision: 1721066
URL: http://svn.apache.org/viewvc?rev=1721066&view=rev
Log:
A slightly modified patch from Supachai Chaima-ngua for <<Upload product image
does not work.>> https://issues.apache.org/jira/browse/OFBIZ-6769
Upload product image dose not working because "updateDataResource" require out
parameter name 'dataResourceId' but the service doesn't return by using
entity-auto engine and upload image function need delegator but do not sent to
upload image function.
jleroux: this was due to recent r1716271 so no needs to backport. The changes
in ImageManagementServices were not operationally needed (it worked as is) but
indeed better for a method like scaleImageMangementInAllSize to rely on
DispatchContext rather than service context when called from a service. Since
it's not a service I changed the scaleImageMangementInAllSize method to
private. I also removed the useless "ImageManagementServices." prefix.
Modified:
ofbiz/trunk/applications/content/servicedef/services_data.xml
ofbiz/trunk/applications/product/src/org/ofbiz/product/imagemanagement/ImageManagementServices.java
Modified: ofbiz/trunk/applications/content/servicedef/services_data.xml
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/servicedef/services_data.xml?rev=1721066&r1=1721065&r2=1721066&view=diff
==============================================================================
--- ofbiz/trunk/applications/content/servicedef/services_data.xml (original)
+++ ofbiz/trunk/applications/content/servicedef/services_data.xml Sun Dec 20
21:07:27 2015
@@ -52,7 +52,7 @@
<description>Update a DataResource</description>
<permission-service service-name="genericDataResourcePermission"
main-action="UPDATE"/>
<auto-attributes include="nonpk" mode="IN" optional="true"/>
- <attribute name="dataResourceId" type="String" mode="INOUT"
optional="false"/>
+ <attribute name="dataResourceId" type="String" mode="IN"
optional="false"/>
<override name="objectInfo" allow-html="any"/>
<override name="dataResourceName" allow-html="any"/>
</service>
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=1721066&r1=1721065&r2=1721066&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 Dec 20 21:07:27 2015
@@ -202,7 +202,7 @@ public class ImageManagementServices {
Map<String, Object> resultResize = new HashMap<String,
Object>();
try {
-
resultResize.putAll(ImageManagementServices.scaleImageMangementInAllSize(context,
imageName, sizeType, productId));
+ resultResize.putAll(scaleImageMangementInAllSize(dctx,
context, imageName, sizeType, productId));
} catch (IOException e) {
String errMsg = "Scale additional image in all different
sizes is impossible : " + e.toString();
Debug.logError(e, errMsg, module);
@@ -296,7 +296,7 @@ public class ImageManagementServices {
return ServiceUtil.returnSuccess();
}
- public static Map<String, Object> scaleImageMangementInAllSize(Map<String,
? extends Object> context, String filenameToUse, String resizeType, String
productId)
+ private static Map<String, Object>
scaleImageMangementInAllSize(DispatchContext dctx, Map<String, ? extends
Object> context, String filenameToUse, String resizeType, String productId)
throws IllegalArgumentException, ImagingOpException, IOException,
JDOMException {
/* VARIABLES */
@@ -577,7 +577,7 @@ public class ImageManagementServices {
Map<String, Object> resultResizeThumb = new HashMap<String, Object>();
try {
-
resultResizeThumb.putAll(ImageManagementServices.scaleImageMangementInAllSize(context,
filenameToUseThumb, "thumbnail", productId));
+ resultResizeThumb.putAll(scaleImageMangementInAllSize(dctx,
context, filenameToUseThumb, "thumbnail", productId));
} catch (IOException e) {
String errMsg = "Scale additional image in all different sizes is
impossible : " + e.toString();
Debug.logError(e, errMsg, module);
@@ -721,7 +721,7 @@ public class ImageManagementServices {
if (dataResourceName.length() > 3) {
String mimeType =
dataResourceName.substring(dataResourceName.length() - 3,
dataResourceName.length());
- Map<String, Object> resultResize =
ImageManagementServices.resizeImage(bufImg, imgHeight, imgWidth, resizeHeight,
resizeWidth);
+ Map<String, Object> resultResize = resizeImage(bufImg,
imgHeight, imgWidth, resizeHeight, resizeWidth);
ImageIO.write((RenderedImage)
resultResize.get("bufferedImage"), mimeType, new File(imageServerPath + "/" +
productId + "/" + filenameToUse));
Map<String, Object> contentThumb = new HashMap<String,
Object>();
@@ -737,7 +737,7 @@ public class ImageManagementServices {
String contentIdThumb = (String)
contentThumbResult.get("contentId");
String imageUrlThumb = imageServerUrl + "/" + productId + "/"
+ filenameToUse;
- ImageManagementServices.createContentAndDataResource(dctx,
userLogin, filenameToUse, imageUrlThumb, contentIdThumb, "image/jpeg");
+ createContentAndDataResource(dctx, userLogin, filenameToUse,
imageUrlThumb, contentIdThumb, "image/jpeg");
Map<String, Object> createContentAssocMap = new
HashMap<String, Object>();
createContentAssocMap.put("contentAssocTypeId",
"IMAGE_THUMBNAIL");
@@ -761,7 +761,7 @@ public class ImageManagementServices {
}
public static Map<String, Object> resizeImageOfProduct(DispatchContext
dctx, Map<String, ? extends Object> context) {
- Delegator delegator = dctx.getDelegator();
+ Delegator delegator = dctx.getDelegator();
String imageServerPath =
FlexibleStringExpander.expandString(EntityUtilProperties.getPropertyValue("catalog",
"image.management.path", delegator), context);
String productId = (String) context.get("productId");
String dataResourceName = (String) context.get("dataResourceName");
@@ -775,7 +775,7 @@ public class ImageManagementServices {
double imgWidth = bufImg.getWidth();
String filenameToUse = dataResourceName;
String mimeType =
dataResourceName.substring(dataResourceName.length() - 3,
dataResourceName.length());
- Map<String, Object> resultResize =
ImageManagementServices.resizeImage(bufImg, imgHeight, imgWidth, resizeHeight,
resizeWidth);
+ Map<String, Object> resultResize = resizeImage(bufImg, imgHeight,
imgWidth, resizeHeight, resizeWidth);
ImageIO.write((RenderedImage) resultResize.get("bufferedImage"),
mimeType, new File(imageServerPath + "/" + productId + "/" + filenameToUse));
} catch (Exception e) {
Debug.logError(e, module);