[ 
https://issues.apache.org/jira/browse/OFBIZ-9773?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Leichert updated OFBIZ-9773:
-----------------------------------
    Attachment: OFBIZ-9773_org.apache.ofbiz.product.category.ftl_bugfixes.patch

class CatalogAltUrlSeoTransform
 - line 147,149 : changed "" to '' to increase perfromance
 - line 169 : removed redundant toString()

class CataloUrlSeoTransform
 - line 529, 640 : changed keySet to entrySet to increase performance
 - line 699, 781 : changed parameter trail to null, because it' always null 
(better visibility)

class OfbizCatalogAltUrlTransform
 - line 143 : removed useless toString()
 
class SeoTransform
 - added multicatch

class UrlRegexpTransform
- added multicatch

> [FB] Package org.apache.ofbiz.product.category.ftl
> --------------------------------------------------
>
>                 Key: OFBIZ-9773
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-9773
>             Project: OFBiz
>          Issue Type: Sub-task
>          Components: product
>    Affects Versions: Trunk
>            Reporter: Julian Leichert
>            Priority: Minor
>         Attachments: 
> OFBIZ-9773_org.apache.ofbiz.product.category.ftl_bugfixes.patch
>
>
> CatalogAltUrlSeoTransform.java:169, DM_STRING_TOSTRING
> - Dm: 
> org.apache.ofbiz.product.category.ftl.CatalogAltUrlSeoTransform$1.close() 
> invokes toString() method on a String
> Calling String.toString() is just a redundant operation. Just use the String.
> CatalogUrlSeoTransform.java:531, WMI_WRONG_MAP_ITERATOR
> - WMI: 
> org.apache.ofbiz.product.category.ftl.CatalogUrlSeoTransform.forwardUri(HttpServletRequest,
>  HttpServletResponse, Delegator, String) makes inefficient use of keySet 
> iterator instead of entrySet iterator
> This method accesses the value of a Map entry, using a key that was retrieved 
> from a keySet iterator. It is more efficient to use an iterator on the 
> entrySet of the map, to avoid the Map.get(key) lookup.
> CatalogUrlSeoTransform.java:642, WMI_WRONG_MAP_ITERATOR
> - WMI: 
> org.apache.ofbiz.product.category.ftl.CatalogUrlSeoTransform.forwardCategoryUri(HttpServletRequest,
>  HttpServletResponse, Delegator, String) makes inefficient use of keySet 
> iterator instead of entrySet iterator
> This method accesses the value of a Map entry, using a key that was retrieved 
> from a keySet iterator. It is more efficient to use an iterator on the 
> entrySet of the map, to avoid the Map.get(key) lookup.
> CatalogUrlSeoTransform.java:699, NP_LOAD_OF_KNOWN_NULL_VALUE
> - NP: Load of known null value in 
> org.apache.ofbiz.product.category.ftl.CatalogUrlSeoTransform.makeProductUrl(Delegator,
>  ProductContentWrapper, String, String, String, String, String)
> The variable referenced at this point is known to be null due to an earlier 
> check against null. Although this is valid, it might be a mistake (perhaps 
> you intended to refer to a different variable, or perhaps the earlier check 
> to see if the variable is null should have been a check to see if it was 
> non-null).
> CatalogUrlSeoTransform.java:707, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
> - RCN: Redundant nullcheck of trail, which is known to be non-null in 
> org.apache.ofbiz.product.category.ftl.CatalogUrlSeoTransform.makeProductUrl(Delegator,
>  ProductContentWrapper, String, String, String, String, String)
> This method contains a redundant check of a known non-null value against the 
> constant null.
> CatalogUrlSeoTransform.java:781, NP_LOAD_OF_KNOWN_NULL_VALUE
> - NP: Load of known null value in 
> org.apache.ofbiz.product.category.ftl.CatalogUrlSeoTransform.makeCategoryUrl(Delegator,
>  CategoryContentWrapper, String, String, String, String, String, String, 
> String, String)
> The variable referenced at this point is known to be null due to an earlier 
> check against null. Although this is valid, it might be a mistake (perhaps 
> you intended to refer to a different variable, or perhaps the earlier check 
> to see if the variable is null should have been a check to see if it was 
> non-null).
> CatalogUrlSeoTransform.java:782, RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE
> - RCN: Redundant nullcheck of trail, which is known to be non-null in 
> org.apache.ofbiz.product.category.ftl.CatalogUrlSeoTransform.makeCategoryUrl(Delegator,
>  CategoryContentWrapper, String, String, String, String, String, String, 
> String, String)
> This method contains a redundant check of a known non-null value against the 
> constant null.
> OfbizCatalogAltUrlTransform.java:143, DM_STRING_TOSTRING
> - Dm: 
> org.apache.ofbiz.product.category.ftl.OfbizCatalogAltUrlTransform$1.close() 
> invokes toString() method on a String
> Calling String.toString() is just a redundant operation. Just use the String.
> SeoTransform.java:71, SIC_INNER_SHOULD_BE_STATIC_ANON
> - SIC: The class org.apache.ofbiz.product.category.ftl.SeoTransform$1 could 
> be refactored into a named _static_ inner class
> This class is an inner class, but does not use its embedded reference to the 
> object which created it.  This reference makes the instances of the class 
> larger, and may keep the reference to the creator object alive longer than 
> necessary.  If possible, the class should be made into a static inner class. 
> Since anonymous inner classes cannot be marked as static, doing this will 
> require refactoring the inner class so that it is a named inner class.
> SeoTransform.java:121, REC_CATCH_EXCEPTION
> - REC: Exception is caught when Exception is not thrown in 
> org.apache.ofbiz.product.category.ftl.SeoTransform$1.close()
> This method uses a try-catch block that catches Exception objects, but 
> Exception is not thrown within the try block, and RuntimeException is not 
> explicitly caught. It is a common bug pattern to say try { ... } catch 
> (Exception e) { something } as a shorthand for catching a number of types of 
> exception each of whose catch blocks is identical, but this construct also 
> accidentally catches RuntimeException as well, masking potential bugs.
> A better approach is to either explicitly catch the specific exceptions that 
> are thrown, or to explicitly catch RuntimeException exception, rethrow it, 
> and then catch all non-Runtime Exceptions, as shown below:
>   try {
>     ...
>   } catch (RuntimeException e) {
>     throw e;
>   } catch (Exception e) {
>     ... deal with all non-runtime exceptions ...
>   }
> UrlRegexpTransform.java:71, SIC_INNER_SHOULD_BE_STATIC_ANON
> - SIC: The class org.apache.ofbiz.product.category.ftl.UrlRegexpTransform$1 
> could be refactored into a named _static_ inner class
> This class is an inner class, but does not use its embedded reference to the 
> object which created it.  This reference makes the instances of the class 
> larger, and may keep the reference to the creator object alive longer than 
> necessary.  If possible, the class should be made into a static inner class. 
> Since anonymous inner classes cannot be marked as static, doing this will 
> require refactoring the inner class so that it is a named inner class.
> UrlRegexpTransform.java:121, REC_CATCH_EXCEPTION
> - REC: Exception is caught when Exception is not thrown in 
> org.apache.ofbiz.product.category.ftl.UrlRegexpTransform$1.close()
> This method uses a try-catch block that catches Exception objects, but 
> Exception is not thrown within the try block, and RuntimeException is not 
> explicitly caught. It is a common bug pattern to say try { ... } catch 
> (Exception e) { something } as a shorthand for catching a number of types of 
> exception each of whose catch blocks is identical, but this construct also 
> accidentally catches RuntimeException as well, masking potential bugs.
> A better approach is to either explicitly catch the specific exceptions that 
> are thrown, or to explicitly catch RuntimeException exception, rethrow it, 
> and then catch all non-Runtime Exceptions, as shown below:
>   try {
>     ...
>   } catch (RuntimeException e) {
>     throw e;
>   } catch (Exception e) {
>     ... deal with all non-runtime exceptions ...
>   }



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to