Hello,

Currently I continue the conversion on shipment crud service and I detected that many service use the same mini-lang call to check if the shipment status is ok for editing "checkCanChangeShipmentStatusPacked"

I convert it on service to call it directly by the permission-service like that :

<service name="createShipmentPackageContent" default-entity-name="ShipmentPackageContent" engine="entity-auto" invoke="create" auth="true">... <permission-service service-name="checkCanChangeShipmentStatusPacked" main-action="CREATE"/>
        <auto-attributes include="pk" mode="IN" optional="false"/>...
    </service>

The problem with this change that when I run the unit tests, I have some failed to due database lock on shipment. After some analyse I founded that the permission service wasn't call on the same service's transaction.
I a realize this change :

Index: framework/service/src/org/ofbiz/service/ModelService.java
===================================================================
--- framework/service/src/org/ofbiz/service/ModelService.java (révision 1737860) +++ framework/service/src/org/ofbiz/service/ModelService.java (copie de travail)
@@ -985,7 +985,7 @@
                 LocalDispatcher dispatcher = dctx.getDispatcher();
                 Map<String, Object> resp;
                 try {
- resp = dispatcher.runSync(permission.name, ctx, 300, true);
+                    resp = dispatcher.runSync(permission.name, ctx);
                 } catch (GenericServiceException e) {
                     Debug.logError(e, module);
Map<String, Object> result = ServiceUtil.returnSuccess();

All unit test pass.
Anyone know the reason to call the permission service on a new transaction ?
I couldn't spot any valid reason.

Thnaks for help ;)

Nicolas

--
#jeSuisCharlie
logoNrd <http://nereide.fr/>
        Nicolas Malin
Ingénieur d'étude. Dernier sujet : "Les vaches portant un prénom pouvent trouver la sortie d'un labyrinthe en cas de toxoplasmose
informat...@nereide.fr
8 rue des Déportés 37000 TOURS, 02 47 50 30 54

Apache OFBiz <http://ofbiz.apache.org/> | ofbiz-fr <http://www.ofbiz-fr.org/> | | réseau LE <http://www.libre-entreprise.org/>

Reply via email to