[jira] [Commented] (OFBIZ-5853) The createPartyRole service does not check a duplicate key.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (OFBIZ-5853) The createPartyRole service does not check a duplicate key.

Nicolas Malin (Jira)

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

Nicolas Malin commented on OFBIZ-5853:
--------------------------------------

Hi Hans I understand that on old time it was more easier to call a create service with test presence to sure they was no error on creation. But as says Leon now we are more than 100 createPartyRole calling. After a quick check :
~50 are present on party creation service, so it's good using.
~40 are present on with a check sequence like this :
{code}
<entity-one entity-name="partyRole">
<if-empty field="partyRole">
    <call-service service-name="createPartyRole"/>
</if-empty>
{code}
only five call directly createPartyRole without check and have a pk conflict possibility. My apologize I don't detected them during my control.

After that we have some code like this :
{code}
    <eca service="createBillingAccountRole" event="invoke">
        <condition field-name="roleTypeId" operator="is-not-empty"/>
        <condition field-name="partyId" operator="is-not-empty"/>
        <action service="ensurePartyRole" mode="sync"/>
    </eca>
{code}
Like you says we have many entities that use partyRole as pk and we have different management. I don't search to change create by ensure just I prefer it (I admit when I drink my coffee I remember that it's a better name :) ) but to increase the using coherence.

In the other way, the crud service have generally this naming convention create${EntityName}, update${EntityName} and remove${EntityName}. At a crossroads, use createPartyRole for creation only and ensurePartyRole to create a party role only if not exist would be appear that a real good compromise.

It's the reason that I don't jump to revert createPartyRole, simply that we lost some coherence and I think isn't a good way.

> The createPartyRole service does not check a duplicate key.
> -----------------------------------------------------------
>
>                 Key: OFBIZ-5853
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-5853
>             Project: OFBiz
>          Issue Type: Bug
>          Components: party
>    Affects Versions: Trunk
>            Reporter: Supatthra Nawicha
>            Assignee: Nicolas Malin
>            Priority: Minor
>             Fix For: Trunk
>
>         Attachments: OFBIZ-5853.patch, OFBIZ-5853.patch, ofbizbug_CreatePartyroleService.diff
>
>
> The createPartyRole service is changed from minilang to entity-auto which does not check a duplicate key. It effect to the createPartyRelationshipContactAccount service which call the createPartyRole service without check a duplicate key. And it might effect to other code that call the createPartyRole service as well.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)