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, [email protected] 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, [email protected] 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);
> > 
> > 
> > 
> 

-- 
Ofbiz on twitter: http://twitter.com/apache_ofbiz
Myself on twitter: http://twitter.com/hansbak
Antwebsystems.com: Quality services for competitive rates.

Reply via email to