Re: svn commit: r1081272 - in /ofbiz/trunk/applications/product/src/org/ofbiz/product: image/ScaleImage.java product/ProductServices.java

Posted by Jacques Le Roux on
URL: http://ofbiz.116.s1.nabble.com/Re-svn-commit-r1081272-in-ofbiz-trunk-applications-product-src-org-ofbiz-product-image-ScaleImage-jaa-tp3354799p3356819.html

./ant is enough and warning should show in terminal

Jacques

From: "Eric de Maulde" <[hidden email]>

> Where can I see compilation warnings ?
>
> My OS is Debian and my command "./ant build"
>
> Thanks
>
> Eric
>
> On Tue, 2011-03-15 at 10:08 +0700, Hans Bakker wrote:
>
>> Sure marco, you are right, i should watch this more.
>>
>> Your resulting code however i do not understand, within the if statement
>> is a statement which does not do anything, or do i miss something?
>>
>> rev: 1081531
>> statements after the change:
>> if("PRODUCT_URL".equals(productContentAndInfo.getString("productContentTypeId")))
>>    electronicText.getString("textData");
>> }
>>
>> Wasn't it better to these 3 lines alltogether?
>>
>>
>> rev: 1081526
>> statements after the change:
>> if (fileLocation.lastIndexOf("/") != -1) {
>>    fileLocation.substring(0, fileLocation.lastIndexOf("/") + 1);
>> }
>>
>> should these statements be completely removed?
>>
>> Regards,
>> Hans
>>
>>
>> On Mon, 2011-03-14 at 20:33 +0100, [hidden email] wrote:
>> > Hi Hans,
>> >
>> > if it's possible it could be better to do not introduce new compile warning into OFBiz now that we have completed to remove it.
>> >
>> > Thanks
>> > Marco
>> >
>> > Il giorno 14/mar/2011, alle ore 08.16, [hidden email] ha scritto:
>> >
>> > > Author: hansbak
>> > > Date: Mon Mar 14 07:16:36 2011
>> > > New Revision: 1081272
>> > >
>> > > URL: http://svn.apache.org/viewvc?rev=1081272&view=rev
>> > > Log:
>> > > patch to scale main image product content and additional image product content: a contribution by Eric de Maulde:
>> > > https://issues.apache.org/jira/browse/OFBIZ-4212
>> > >
>> > > Modified:
>> > >    ofbiz/trunk/applications/product/src/org/ofbiz/product/image/ScaleImage.java
>> > >    ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductServices.java
>> > >
>> > > Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/image/ScaleImage.java
>> > > URL:
>> > > http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/image/ScaleImage.java?rev=1081272&r1=1081271&r2=1081272&view=diff
>> > > ==============================================================================
>> > > --- ofbiz/trunk/applications/product/src/org/ofbiz/product/image/ScaleImage.java (original)
>> > > +++ ofbiz/trunk/applications/product/src/org/ofbiz/product/image/ScaleImage.java Mon Mar 14 07:16:36 2011
>> > > @@ -107,35 +107,41 @@ public class ScaleImage {
>> > >         String imgName = filenameToUse.substring(0, index - 1);
>> > >         String imgExtension = filenameToUse.substring(index + 1);
>> > >         // paths
>> > > -        String mainFilenameFormat = UtilProperties.getPropertyValue("catalog", "image.filename.format");
>> > >         String imageServerPath = FlexibleStringExpander.expandString(UtilProperties.getPropertyValue("catalog",
>> > > "image.server.path"), context);
>> > >         String imageUrlPrefix = UtilProperties.getPropertyValue("catalog", "image.url.prefix");
>> > > -
>> > > -        String id = null;
>> > > +
>> > > +        FlexibleStringExpander filenameExpander;
>> > > +        String fileLocation = null;
>> > >         String type = null;
>> > > +        String id = null;
>> > >         if (viewType.toLowerCase().contains("main")) {
>> > > -            type = "original";
>> > > +            String filenameFormat = UtilProperties.getPropertyValue("catalog", "image.filename.format");
>> > > +            filenameExpander = FlexibleStringExpander.getInstance(filenameFormat);
>> > >             id = (String) context.get("productId");
>> > > +            fileLocation = filenameExpander.expandString(UtilMisc.toMap("location", "products", "id", id, "type",
>> > > "original"));
>> > > +            Debug.logWarning("fileLocation for view type = MAIN : " + fileLocation,module);
>> > >         } else if (viewType.toLowerCase().contains("additional") && viewNumber != null && !viewNumber.equals("0")) {
>> > > -            type = "additional";
>> > > -            id = imgName + "_View_" + viewNumber;
>> > > +            String filenameFormat = UtilProperties.getPropertyValue("catalog", "image.filename.additionalviewsize.format");
>> > > +            filenameExpander = FlexibleStringExpander.getInstance(filenameFormat);
>> > > +            id = (String) context.get("productId");
>> > > +            if (filenameFormat.endsWith("${id}")) {
>> > > +                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", type), locale));
>> > > +            return ServiceUtil.returnError(UtilProperties.getMessage(resource, "ProductImageViewType",
>> > > UtilMisc.toMap("viewType", type), locale));
>> > >         }
>> > > -        FlexibleStringExpander mainFilenameExpander = FlexibleStringExpander.getInstance(mainFilenameFormat);
>> > > -        String fileLocation = mainFilenameExpander.expandString(UtilMisc.toMap("location", "products", "id",
>> > > context.get("productId"), "type", type));
>> > > +
>> > >         String filePathPrefix = "";
>> > >         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));
>> > > -        }
>> > > +        /* get original BUFFERED IMAGE */
>> > > +            resultBufImgMap.putAll(ImageTransform.getBufferedImage(imageServerPath + "/" + fileLocation + "." +
>> > > imgExtension, locale));
>> > > +
>> > >         if (resultBufImgMap.containsKey("responseMessage") && resultBufImgMap.get("responseMessage").equals("success")) {
>> > >             bufImg = (BufferedImage) resultBufImgMap.get("bufferedImage");
>> > >
>> > > @@ -149,13 +155,6 @@ public class ScaleImage {
>> > >                 return result;
>> > >             }
>> > >
>> > > -            // new Filename Format
>> > > -            FlexibleStringExpander addFilenameExpander = mainFilenameExpander;
>> > > -            if (viewType.toLowerCase().contains("additional")) {
>> > > -                String addFilenameFormat = UtilProperties.getPropertyValue("catalog",
>> > > "image.filename.additionalviewsize.format");
>> > > -                addFilenameExpander = FlexibleStringExpander.getInstance(addFilenameFormat);
>> > > -            }
>> > > -
>> > >             /* scale Image for each Size Type */
>> > >             Iterator<String> sizeIter = sizeTypeList.iterator();
>> > >             while (sizeIter.hasNext()) {
>> > > @@ -169,10 +168,11 @@ public class ScaleImage {
>> > >                     String newFileLocation = null;
>> > >                     filenameToUse = sizeType + filenameToUse.substring(filenameToUse.lastIndexOf("."));
>> > >                     if (viewType.toLowerCase().contains("main")) {
>> > > -                        newFileLocation = mainFilenameExpander.expandString(UtilMisc.toMap("location", "products", "id", id,
>> > > "type", sizeType));
>> > > +                        newFileLocation = filenameExpander.expandString(UtilMisc.toMap("location", "products", "id", id,
>> > > "type", sizeType));
>> > >                     } else if (viewType.toLowerCase().contains("additional")) {
>> > > -                        newFileLocation = addFilenameExpander.expandString(UtilMisc.toMap("location", "products", "id", id,
>> > > "viewtype", viewType, "sizetype", sizeType));
>> > > +                        newFileLocation = filenameExpander.expandString(UtilMisc.toMap("location", "products", "id", id,
>> > > "viewtype", viewType, "sizetype", sizeType));
>> > >                     }
>> > > +
>> > >                     String newFilePathPrefix = "";
>> > >                     if (newFileLocation.lastIndexOf("/") != -1) {
>> > >                         newFilePathPrefix = newFileLocation.substring(0, newFileLocation.lastIndexOf("/") + 1); // adding 1
>> > > to include the trailing slash
>> > > @@ -191,7 +191,7 @@ public class ScaleImage {
>> > >
>> > >                     // write new image
>> > >                     try {
>> > > -                        ImageIO.write(bufNewImg, imgExtension, new File(imageServerPath + "/" + newFilePathPrefix +
>> > > filenameToUse));
>> > > +                        ImageIO.write(bufNewImg, imgExtension, new File(imageServerPath + "/" + newFileLocation + "." +
>> > > imgExtension));
>> > >                     } catch (IllegalArgumentException e) {
>> > >                         String errMsg = UtilProperties.getMessage(resource, "ScaleImage.one_parameter_is_null", locale) +
>> > > e.toString();
>> > >                         Debug.logError(errMsg, module);
>> > > @@ -205,7 +205,7 @@ public class ScaleImage {
>> > >                     }
>> > >
>> > >                     /* write Return Result */
>> > > -                    String imageUrl = imageUrlPrefix + "/" + newFilePathPrefix + filenameToUse;
>> > > +                    String imageUrl = imageUrlPrefix + "/" + newFileLocation + "." + imgExtension;
>> > >                     imgUrlMap.put(sizeType, imageUrl);
>> > >
>> > >                 } // scaleImgMap
>> > >
>> > > Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductServices.java
>> > > URL:
>> > > http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductServices.java?rev=1081272&r1=1081271&r2=1081272&view=diff
>> > > ==============================================================================
>> > > --- ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductServices.java (original)
>> > > +++ ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductServices.java Mon Mar 14 07:16:36 2011
>> > > @@ -980,13 +980,19 @@ public class ProductServices {
>> > >         Locale locale = (Locale) context.get("locale");
>> > >
>> > >         if (UtilValidate.isNotEmpty(context.get("_uploadedFile_fileName"))) {
>> > > -            String imageFilenameFormat = UtilProperties.getPropertyValue("catalog", "image.filename.format");
>> > > +            String imageFilenameFormat = UtilProperties.getPropertyValue("catalog",
>> > > "image.filename.additionalviewsize.format");
>> > >             String imageServerPath = FlexibleStringExpander.expandString(UtilProperties.getPropertyValue("catalog",
>> > > "image.server.path"), context);
>> > >             String imageUrlPrefix = UtilProperties.getPropertyValue("catalog", "image.url.prefix");
>> > >
>> > >             FlexibleStringExpander filenameExpander = FlexibleStringExpander.getInstance(imageFilenameFormat);
>> > > -            String id = productId + "_View_" + productContentTypeId.charAt(productContentTypeId.length() - 1);
>> > > -            String fileLocation = filenameExpander.expandString(UtilMisc.toMap("location", "products", "type", "additional",
>> > > "id", id));
>> > > +            String viewNumber = String.valueOf(productContentTypeId.charAt(productContentTypeId.length() - 1));
>> > > +            String viewType = "additional" + viewNumber;
>> > > +            String id = productId;
>> > > +            if (imageFilenameFormat.endsWith("${id}")) {
>> > > +                id = productId + "_View_" + viewNumber;
>> > > +                viewType = "additional";
>> > > +            }
>> > > +            String fileLocation = filenameExpander.expandString(UtilMisc.toMap("location", "products", "id", id, "viewtype",
>> > > viewType, "sizetype", "original"));
>> > >             String filePathPrefix = "";
>> > >             String filenameToUse = fileLocation;
>> > >             if (fileLocation.lastIndexOf("/") != -1) {
>> > > @@ -1007,8 +1013,18 @@ public class ProductServices {
>> > >                 filenameToUse += "." + extension.getString("fileExtensionId");
>> > >             }
>> > >
>> > > -            File file = new File(imageServerPath + "/" + filePathPrefix + filenameToUse);
>> > > -
>> > > +            /* Write the new image file */
>> > > +            String targetDirectory = imageServerPath + "/" + filePathPrefix;
>> > > +            File targetDir = new File(targetDirectory);
>> > > +            if (!targetDir.exists()) {
>> > > +                boolean created = targetDir.mkdirs();
>> > > +                if (!created) {
>> > > +                    String errMsg = UtilProperties.getMessage(resource, "ScaleImage.unable_to_create_target_directory",
>> > > locale) + " - " + targetDirectory;
>> > > +                    Debug.logFatal(errMsg, module);
>> > > +                    return ServiceUtil.returnError(errMsg);
>> > > +                }
>> > > +            }
>> > > +            File file = new File(imageServerPath + "/" + fileLocation + "." +  extension.getString("fileExtensionId"));
>> > >             try {
>> > >                 RandomAccessFile out = new RandomAccessFile(file, "rw");
>> > >                 out.write(imageData.array());
>> > > @@ -1024,7 +1040,6 @@ public class ProductServices {
>> > >             }
>> > >
>> > >             /* scale Image in different sizes */
>> > > -            String viewNumber = String.valueOf(productContentTypeId.charAt(productContentTypeId.length() - 1));
>> > >             Map<String, Object> resultResize = FastMap.newInstance();
>> > >             try {
>> > >                 resultResize.putAll(ScaleImage.scaleImageInAllSize(context, filenameToUse, "additional", viewNumber));
>> > > @@ -1038,7 +1053,7 @@ public class ProductServices {
>> > >                         "ProductImageViewParsingError", UtilMisc.toMap("errorString", e.toString()), locale));
>> > >             }
>> > >
>> > > -            String imageUrl = imageUrlPrefix + "/" + filePathPrefix + filenameToUse;
>> > > +            String imageUrl = imageUrlPrefix + "/" + fileLocation + "." +  extension.getString("fileExtensionId");
>> > >             /* store the imageUrl version of the image, for backwards compatibility with code that does not use scaled
>> > > versions */
>> > >             Map<String, Object> result = addImageResource(dispatcher, delegator, context, imageUrl, productContentTypeId);
>> > >
>> > >
>> > >
>> >
>>
>
>
>