[ 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)