[ 
https://issues.apache.org/jira/browse/OFBIZ-11402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17051902#comment-17051902
 ] 

Nicolas Malin commented on OFBIZ-11402:
---------------------------------------

Thanks [~wpaetzold] , my remarks :

{code:java}
UtilValidate.is[Not]Empty{code}
are useless :
 * 'if (UtilValidate.isNotEmpty(parameters.purposeEnumId)) {' == 'if 
(parameters.purposeEnumId) {'
 * 'if (UtilValidate.isEmpty(parameters.defaultRoundingMode {' == 'if 
(!parameters.defaultRoundingMode) {'

{code:java}if(parameters.uomId.equals(parameters.uomIdTo)){code}
* can be replace by if '(parameters.uomId == parameters.uomIdTo)', .equals is 
useless in groovy


{code:java}
List uomConversions = 
from("UomConversionDated").where(condition).orderBy("-fromDate").cache().queryList()
uomConversion = uomConversions.get(0)
{code}
* you can do : uomConversion = 
from("UomConversionDated").where(condition).orderBy("-fromDate").cache().queryFirst()

{code:java}
 logVerbose("Uom conversion of ["+ parameters.originalValue + "] from ["+ 
parameters.uomId +"] to ["+ parameters.uomIdTo +"] using conversion factor ["+ 
uomConversion.conversionFactor +"], result is ["+ convertedValue +"]")
{code}
* You can GString to help readability

{code:java}
    List geoAssoc = from("GeoAssoc")
            .where(geoId: parameters.geoId, geoAssocTypeId: 
parameters.geoAssocTypeId)
            .queryList()
        ...
        for (GenericValue geo : geoAssoc){
            geoList << geo.geoIdTo
        }
{code}

* You can go fast : geoList = from("GeoAssoc").where(geoId: parameters.geoId, 
geoAssocTypeId: parameters.geoAssocTypeId).getFieldList('geoIdTo')


{code:java}
    GenericValue uomConversion = from("UomConversion")
            .where(uomId: parameters.uomId, uomIdTo: parameters.uomIdTo)
            .queryOne()
    if (UtilValidate.isNotEmpty(uomConversion)){
        exist = true
    }
    else {
        exist = false
    }
    result.exist = exist
{code}
* :) result.exist = from("UomConversion").where(uomId: parameters.uomId, 
uomIdTo: parameters.uomIdTo).queryCount() == 1


{code:java}
    EntityCondition condition = EntityCondition.makeCondition([
        EntityCondition.makeCondition("uomId", parameters.uomId),
        EntityCondition.makeCondition("uomIdTo", parameters.uomIdTo)
    ])
    if (UtilValidate.isNotEmpty(parameters.purposeEnumId)){
        condition = EntityCondition.makeCondition([
            EntityCondition.makeCondition("purposeEnumId", 
parameters.purposeEnumId),
            condition
        ])
    }
{code}
* you can use directly a Map, EntityCondition is useless


{code:java}
        if(UtilValidate.isNotEmpty(uomConversion.roundingMode)){
            roundingMode = uomConversion.roundingMode
        }
        else {
            roundingMode = parameters.defaultRoundingMode
        }
{code}
* you can do: roundingMode = uomConversion.roundingMode ?: 
parameters.defaultRoundingMode




> Convert CommonServices.xml from mini lang to groovy
> ---------------------------------------------------
>
>                 Key: OFBIZ-11402
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-11402
>             Project: OFBiz
>          Issue Type: Sub-task
>          Components: framework
>    Affects Versions: Trunk
>            Reporter: Michael Brohl
>            Assignee: Wiebke Pätzold
>            Priority: Minor
>              Labels: groovy, mini-lang, refactoring
>         Attachments: OFBIZ-11402.patch
>
>
> With the work on OFBIZ-11291 and OFBIZ-11357 parts of CommonServices.xml were 
> converted to Groovy. We should convert the whole into Groovy now.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to