You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by bi...@apache.org on 2010/02/15 17:41:36 UTC
svn commit: r910256 - in /ofbiz/trunk/framework/common:
servicedef/services_test.xml src/org/ofbiz/common/CommonServices.java
Author: bibryam
Date: Mon Feb 15 16:41:35 2010
New Revision: 910256
URL: http://svn.apache.org/viewvc?rev=910256&view=rev
Log:
Revert cascadeDelete service after Adam and Adrian's feedback.
Modified:
ofbiz/trunk/framework/common/servicedef/services_test.xml
ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java
Modified: ofbiz/trunk/framework/common/servicedef/services_test.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/servicedef/services_test.xml?rev=910256&r1=910255&r2=910256&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/servicedef/services_test.xml (original)
+++ ofbiz/trunk/framework/common/servicedef/services_test.xml Mon Feb 15 16:41:35 2010
@@ -210,11 +210,4 @@
<description>Test Ping Service</description>
<attribute name="message" type="String" mode="INOUT" optional="true"/>
</service>
-
- <service name="cascadeDelete" engine="java"
- location="org.ofbiz.common.CommonServices" invoke="cascadeDelete">
- <description>Remove generic value and its related values</description>
- <attribute name="entityName" type="String" mode="IN"/>
- <attribute name="pkFields" type="Map" mode="IN"/>
- </service>
</services>
Modified: ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java?rev=910256&r1=910255&r2=910256&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java (original)
+++ ofbiz/trunk/framework/common/src/org/ofbiz/common/CommonServices.java Mon Feb 15 16:41:35 2010
@@ -45,7 +45,6 @@
import org.apache.log4j.Logger;
import org.ofbiz.base.util.Debug;
import org.ofbiz.base.util.UtilDateTime;
-import org.ofbiz.base.util.UtilGenerics;
import org.ofbiz.base.util.UtilValidate;
import static org.ofbiz.base.util.UtilGenerics.checkList;
@@ -55,8 +54,6 @@
import org.ofbiz.entity.GenericEntityException;
import org.ofbiz.entity.GenericValue;
import org.ofbiz.entity.model.ModelEntity;
-import org.ofbiz.entity.model.ModelRelation;
-import org.ofbiz.entity.model.ModelViewEntity;
import org.ofbiz.entity.transaction.TransactionUtil;
import org.ofbiz.service.DispatchContext;
import org.ofbiz.service.GenericServiceException;
@@ -537,42 +534,5 @@
return ServiceUtil.returnError("Invalid count returned from database");
}
}
-
- public static Map<String, Object> cascadeDelete(DispatchContext dctx, Map<String, Object> context) {
- Delegator delegator = dctx.getDelegator();
- String entityName = (String) context.get("entityName");
- Map<String, Object> pkFields = UtilGenerics.checkMap(context.get("pkFields"));
-
- try {
- GenericValue value = delegator.findByPrimaryKey(entityName, pkFields);
- ModelEntity modelEntity = delegator.getModelEntity(entityName);
- List<ModelRelation> relations = modelEntity.getRelationsManyList();
-
- if (value == null || modelEntity instanceof ModelViewEntity) {
- return ServiceUtil.returnSuccess();
- }
-
- for (ModelRelation relation : relations) {
- String combinedName = relation.getCombinedName();
- List<GenericValue> relatedValues = value.getRelated(combinedName);
- for (GenericValue relatedValue : relatedValues) {
- pkFields = relatedValue.getPrimaryKey().getAllFields();
- entityName = relatedValue.getEntityName();
- Map<String, Object> newContext = UtilMisc.toMap("entityName", entityName, "pkFields", pkFields);
- Map<String, Object>result = CommonServices.cascadeDelete(dctx, newContext);
- if (ServiceUtil.isError(result)) {
- return result;
- }
- }
- }
-
- Debug.logInfo("Removing value: " + value , module);
- delegator.removeValue(value);
- } catch (GenericEntityException e) {
- return ServiceUtil.returnError(e.getMessage());
- }
-
- return ServiceUtil.returnSuccess();
- }
}