This is an automated email from the ASF dual-hosted git repository.

dixitdeepak pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 57caab6f06 Move EntityPermissionChecker from framework/entityext to 
application/content (OFBIZ-13393) (#1235)
57caab6f06 is described below

commit 57caab6f063d163d2bae498ffb4706bec191ccf8
Author: Deepak Dixit <[email protected]>
AuthorDate: Mon May 25 10:24:18 2026 +0530

    Move EntityPermissionChecker from framework/entityext to 
application/content (OFBIZ-13393) (#1235)
    
    Relocated EntityPermissionChecker from framework/entityext to
    application/content due to its strong dependency on the Content data
    model.
    - Moved EntityPermissionChecker implementation to applications/content
    - Removed framework-level dependencies related to
    EntityPermissionChecker
    - Removed if-entity-permission handling from framework code
    - Reduced framework coupling with Content application entities
    - Improved separation between framework and application-specific
    functionality
---
 .../ofbiz/content/ContentManagementWorker.java     |  2 +-
 .../content/content/ContentPermissionServices.java |  2 +-
 .../permission/EntityPermissionChecker.java        |  2 +-
 .../webapp/ftl/CheckPermissionTransform.java       |  2 +-
 framework/widget/dtd/widget-common.xsd             | 23 -----------------
 framework/widget/dtd/widget-screen.xsd             |  1 -
 .../ofbiz/widget/model/AbstractModelCondition.java | 30 ----------------------
 .../ofbiz/widget/model/ModelConditionVisitor.java  |  3 ---
 .../ofbiz/widget/model/ModelWidgetCondition.java   | 21 ---------------
 .../widget/model/XmlWidgetConditionVisitor.java    |  8 ------
 10 files changed, 4 insertions(+), 90 deletions(-)

diff --git 
a/applications/content/src/main/java/org/apache/ofbiz/content/ContentManagementWorker.java
 
b/applications/content/src/main/java/org/apache/ofbiz/content/ContentManagementWorker.java
index 651335a9f2..092907f809 100644
--- 
a/applications/content/src/main/java/org/apache/ofbiz/content/ContentManagementWorker.java
+++ 
b/applications/content/src/main/java/org/apache/ofbiz/content/ContentManagementWorker.java
@@ -49,7 +49,7 @@ import org.apache.ofbiz.entity.condition.EntityCondition;
 import org.apache.ofbiz.entity.condition.EntityOperator;
 import org.apache.ofbiz.entity.util.EntityQuery;
 import org.apache.ofbiz.entity.util.EntityUtil;
-import org.apache.ofbiz.entityext.permission.EntityPermissionChecker;
+import org.apache.ofbiz.content.permission.EntityPermissionChecker;
 import org.apache.ofbiz.minilang.MiniLangException;
 import org.apache.ofbiz.security.Security;
 
diff --git 
a/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentPermissionServices.java
 
b/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentPermissionServices.java
index 85767d382c..ec17dbc7f5 100644
--- 
a/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentPermissionServices.java
+++ 
b/applications/content/src/main/java/org/apache/ofbiz/content/content/ContentPermissionServices.java
@@ -34,7 +34,7 @@ import org.apache.ofbiz.entity.Delegator;
 import org.apache.ofbiz.entity.GenericEntityException;
 import org.apache.ofbiz.entity.GenericValue;
 import org.apache.ofbiz.entity.util.EntityQuery;
-import org.apache.ofbiz.entityext.permission.EntityPermissionChecker;
+import org.apache.ofbiz.content.permission.EntityPermissionChecker;
 import org.apache.ofbiz.security.Security;
 import org.apache.ofbiz.service.DispatchContext;
 import org.apache.ofbiz.service.GenericServiceException;
diff --git 
a/framework/entityext/src/main/java/org/apache/ofbiz/entityext/permission/EntityPermissionChecker.java
 
b/applications/content/src/main/java/org/apache/ofbiz/content/permission/EntityPermissionChecker.java
similarity index 99%
rename from 
framework/entityext/src/main/java/org/apache/ofbiz/entityext/permission/EntityPermissionChecker.java
rename to 
applications/content/src/main/java/org/apache/ofbiz/content/permission/EntityPermissionChecker.java
index b86b4c8b6e..5a55041573 100644
--- 
a/framework/entityext/src/main/java/org/apache/ofbiz/entityext/permission/EntityPermissionChecker.java
+++ 
b/applications/content/src/main/java/org/apache/ofbiz/content/permission/EntityPermissionChecker.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  
*******************************************************************************/
-package org.apache.ofbiz.entityext.permission;
+package org.apache.ofbiz.content.permission;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git 
a/applications/content/src/main/java/org/apache/ofbiz/content/webapp/ftl/CheckPermissionTransform.java
 
b/applications/content/src/main/java/org/apache/ofbiz/content/webapp/ftl/CheckPermissionTransform.java
index f25f04662a..5a13ee840c 100644
--- 
a/applications/content/src/main/java/org/apache/ofbiz/content/webapp/ftl/CheckPermissionTransform.java
+++ 
b/applications/content/src/main/java/org/apache/ofbiz/content/webapp/ftl/CheckPermissionTransform.java
@@ -36,7 +36,7 @@ import org.apache.ofbiz.content.content.ContentWorker;
 import org.apache.ofbiz.content.content.PermissionRecorder;
 import org.apache.ofbiz.entity.Delegator;
 import org.apache.ofbiz.entity.GenericValue;
-import org.apache.ofbiz.entityext.permission.EntityPermissionChecker;
+import org.apache.ofbiz.content.permission.EntityPermissionChecker;
 import org.apache.ofbiz.security.Security;
 import org.apache.ofbiz.service.ModelService;
 import org.apache.ofbiz.webapp.ftl.LoopWriter;
diff --git a/framework/widget/dtd/widget-common.xsd 
b/framework/widget/dtd/widget-common.xsd
index 6b52429040..7efc8a83a0 100644
--- a/framework/widget/dtd/widget-common.xsd
+++ b/framework/widget/dtd/widget-common.xsd
@@ -27,7 +27,6 @@ under the License.
             <xs:element ref="not" />
             <xs:element ref="if-service-permission" />
             <xs:element ref="if-has-permission" />
-            <xs:element ref="if-entity-permission" />
             <xs:element ref="if-validate-method" />
             <xs:element ref="if-compare" />
             <xs:element ref="if-compare-field" />
@@ -87,28 +86,6 @@ under the License.
             <xs:attribute type="xs:string" name="action" />
         </xs:complexType>
     </xs:element>
-    <xs:element name="if-entity-permission" 
substitutionGroup="AllConditionals">
-        <xs:complexType>
-            <xs:choice minOccurs="0">
-                <xs:element minOccurs="0" maxOccurs="1" 
ref="permission-condition-getter" />
-                <xs:element minOccurs="0" maxOccurs="1" 
ref="related-role-getter" />
-                <xs:element minOccurs="0" maxOccurs="1" 
ref="auxiliary-value-getter" />
-            </xs:choice>
-            <xs:attribute type="xs:string" name="entity-name" use="required" />
-            <xs:attribute type="xs:string" name="entity-id" use="required">
-                <xs:annotation>
-                    <xs:documentation>Can have multiple pipe separated values, 
but don't use spaces.</xs:documentation>
-                </xs:annotation>
-            </xs:attribute>
-            <xs:attribute type="xs:string" name="target-operation" 
use="required">
-                <xs:annotation>
-                    <xs:documentation>Can have multiple pipe separated values, 
but don't use spaces.</xs:documentation>
-                </xs:annotation>
-            </xs:attribute>
-            <xs:attribute name="display-fail-cond" type="xs:boolean"
-                          default="false"/>
-        </xs:complexType>
-    </xs:element>
     <xs:element name="permission-condition-getter">
         <xs:complexType>
             <xs:attribute type="xs:string" name="entity-name" />
diff --git a/framework/widget/dtd/widget-screen.xsd 
b/framework/widget/dtd/widget-screen.xsd
index 3774d9a7f0..a75606732a 100644
--- a/framework/widget/dtd/widget-screen.xsd
+++ b/framework/widget/dtd/widget-screen.xsd
@@ -63,7 +63,6 @@ under the License.
             <xs:element ref="not" />
             <xs:element ref="if-service-permission" />
             <xs:element ref="if-has-permission" />
-            <xs:element ref="if-entity-permission" />
             <xs:element ref="if-validate-method" />
             <xs:element ref="if-compare" />
             <xs:element ref="if-compare-field" />
diff --git 
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/AbstractModelCondition.java
 
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/AbstractModelCondition.java
index 33cabd685a..99022b3736 100644
--- 
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/AbstractModelCondition.java
+++ 
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/AbstractModelCondition.java
@@ -38,7 +38,6 @@ import org.apache.ofbiz.base.util.UtilXml;
 import org.apache.ofbiz.base.util.collections.FlexibleMapAccessor;
 import org.apache.ofbiz.base.util.string.FlexibleStringExpander;
 import org.apache.ofbiz.entity.GenericValue;
-import org.apache.ofbiz.entityext.permission.EntityPermissionChecker;
 import org.apache.ofbiz.minilang.operation.BaseCompare;
 import org.apache.ofbiz.security.Security;
 import org.apache.ofbiz.service.DispatchContext;
@@ -209,8 +208,6 @@ public abstract class AbstractModelCondition implements 
Serializable, ModelCondi
                 return new IfRegexp(factory, modelWidget, conditionElement);
             } else if ("if-empty".equals(nodeName)) {
                 return new IfEmpty(factory, modelWidget, conditionElement);
-            } else if ("if-entity-permission".equals(nodeName)) {
-                return new IfEntityPermission(factory, modelWidget, 
conditionElement);
             } else {
                 throw new IllegalArgumentException("Condition element not 
supported with name: " + conditionElement.getNodeName());
             }
@@ -406,33 +403,6 @@ public abstract class AbstractModelCondition implements 
Serializable, ModelCondi
 
     }
 
-    /**
-     * Models the &lt;if-entity-permission&gt; element.
-     * @see <code>widget-common.xsd</code>
-     */
-    public static final class IfEntityPermission extends 
AbstractModelCondition {
-        private final EntityPermissionChecker permissionChecker;
-
-        private IfEntityPermission(ModelConditionFactory factory, ModelWidget 
modelWidget, Element condElement) {
-            super(factory, modelWidget, condElement);
-            this.permissionChecker = new EntityPermissionChecker(condElement);
-        }
-
-        @Override
-        public void accept(ModelConditionVisitor visitor) throws Exception {
-            visitor.visit(this);
-        }
-
-        @Override
-        public boolean eval(Map<String, Object> context) {
-            return permissionChecker.runPermissionCheck(context);
-        }
-
-        public EntityPermissionChecker getPermissionChecker() {
-            return permissionChecker;
-        }
-    }
-
     /**
      * Models the &lt;if-has-permission&gt; element.
      * @see <code>widget-common.xsd</code>
diff --git 
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelConditionVisitor.java
 
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelConditionVisitor.java
index fd3934d249..37a5990117 100644
--- 
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelConditionVisitor.java
+++ 
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelConditionVisitor.java
@@ -22,7 +22,6 @@ import 
org.apache.ofbiz.widget.model.AbstractModelCondition.And;
 import org.apache.ofbiz.widget.model.AbstractModelCondition.IfCompare;
 import org.apache.ofbiz.widget.model.AbstractModelCondition.IfCompareField;
 import org.apache.ofbiz.widget.model.AbstractModelCondition.IfEmpty;
-import org.apache.ofbiz.widget.model.AbstractModelCondition.IfEntityPermission;
 import org.apache.ofbiz.widget.model.AbstractModelCondition.IfHasPermission;
 import org.apache.ofbiz.widget.model.AbstractModelCondition.IfRegexp;
 import 
org.apache.ofbiz.widget.model.AbstractModelCondition.IfServicePermission;
@@ -45,8 +44,6 @@ public interface ModelConditionVisitor {
 
     void visit(IfEmpty ifEmpty) throws Exception;
 
-    void visit(IfEntityPermission ifEntityPermission) throws Exception;
-
     void visit(IfHasPermission ifHasPermission) throws Exception;
 
     void visit(IfRegexp ifRegexp) throws Exception;
diff --git 
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelWidgetCondition.java
 
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelWidgetCondition.java
index 73e514c8dd..0aad39f6f7 100644
--- 
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelWidgetCondition.java
+++ 
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelWidgetCondition.java
@@ -38,7 +38,6 @@ import org.apache.ofbiz.base.util.UtilXml;
 import org.apache.ofbiz.base.util.collections.FlexibleMapAccessor;
 import org.apache.ofbiz.base.util.string.FlexibleStringExpander;
 import org.apache.ofbiz.entity.GenericValue;
-import org.apache.ofbiz.entityext.permission.EntityPermissionChecker;
 import org.apache.ofbiz.minilang.operation.BaseCompare;
 import org.apache.ofbiz.security.Security;
 import org.apache.ofbiz.service.DispatchContext;
@@ -181,8 +180,6 @@ public abstract class ModelWidgetCondition implements 
Serializable {
                 return new IfRegexp(this, modelWidget, conditionElement);
             } else if ("if-empty".equals(nodeName)) {
                 return new IfEmpty(this, modelWidget, conditionElement);
-            } else if ("if-entity-permission".equals(nodeName)) {
-                return new IfEntityPermission(this, modelWidget, 
conditionElement);
             } else {
                 throw new IllegalArgumentException("Condition element not 
supported with name: " + nodeName);
             }
@@ -318,24 +315,6 @@ public abstract class ModelWidgetCondition implements 
Serializable {
         }
     }
 
-    /**
-     * Models the &lt;if-entity-permission&gt; element.
-     * @see <code>widget-common.xsd</code>
-     */
-    public static final class IfEntityPermission extends ModelWidgetCondition 
implements Condition {
-        private final EntityPermissionChecker permissionChecker;
-
-        private IfEntityPermission(ConditionFactory factory, ModelWidget 
modelWidget, Element condElement) {
-            super(factory, modelWidget, condElement);
-            this.permissionChecker = new EntityPermissionChecker(condElement);
-        }
-
-        @Override
-        public boolean eval(Map<String, Object> context) {
-            return permissionChecker.runPermissionCheck(context);
-        }
-    }
-
     /**
      * Models the &lt;if-has-permission&gt; element.
      * @see <code>widget-common.xsd</code>
diff --git 
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/XmlWidgetConditionVisitor.java
 
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/XmlWidgetConditionVisitor.java
index 4e7f6fd0c6..bb081cf2de 100644
--- 
a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/XmlWidgetConditionVisitor.java
+++ 
b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/XmlWidgetConditionVisitor.java
@@ -24,7 +24,6 @@ import 
org.apache.ofbiz.widget.model.AbstractModelCondition.And;
 import org.apache.ofbiz.widget.model.AbstractModelCondition.IfCompare;
 import org.apache.ofbiz.widget.model.AbstractModelCondition.IfCompareField;
 import org.apache.ofbiz.widget.model.AbstractModelCondition.IfEmpty;
-import org.apache.ofbiz.widget.model.AbstractModelCondition.IfEntityPermission;
 import org.apache.ofbiz.widget.model.AbstractModelCondition.IfHasPermission;
 import org.apache.ofbiz.widget.model.AbstractModelCondition.IfRegexp;
 import 
org.apache.ofbiz.widget.model.AbstractModelCondition.IfServicePermission;
@@ -91,13 +90,6 @@ public class XmlWidgetConditionVisitor extends 
XmlAbstractWidgetVisitor implemen
         writer.append("/>");
     }
 
-    @Override
-    public void visit(IfEntityPermission ifEntityPermission) throws Exception {
-        writer.append("<if-entity-permission");
-        // TODO: Create EntityPermissionChecker visitor
-        writer.append("/>");
-    }
-
     @Override
     public void visit(IfHasPermission ifHasPermission) throws Exception {
         writer.append("<if-has-permission");

Reply via email to