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

doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git


The following commit(s) were added to refs/heads/master by this push:
     new 302b3adc EMPIREDB-439 ControlTag InputTag: don't validate disabled 
controls.
302b3adc is described below

commit 302b3adc55144703896e75414fae5df8504f93ce
Author: Rainer Döbele <[email protected]>
AuthorDate: Fri Oct 25 21:05:40 2024 +0200

    EMPIREDB-439
    ControlTag InputTag: don't validate disabled controls.
---
 .../apache/empire/jakarta/components/ControlTag.java   |  2 +-
 .../org/apache/empire/jakarta/components/InputTag.java |  2 +-
 .../apache/empire/jakarta/utils/TagEncodingHelper.java | 18 +++++++++++++++---
 .../org/apache/empire/jsf2/components/ControlTag.java  |  2 +-
 .../org/apache/empire/jsf2/components/InputTag.java    |  2 +-
 .../apache/empire/jsf2/utils/TagEncodingHelper.java    | 18 +++++++++++++++---
 6 files changed, 34 insertions(+), 10 deletions(-)

diff --git 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java
 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java
index 4d87ed5f..b754c54a 100644
--- 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java
+++ 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java
@@ -744,7 +744,7 @@ public class ControlTag extends UIInput implements 
NamingContainer
         this.valueValidated = false;
         super.validate(context);
         // post check
-        if (!this.valueValidated && !helper.isReadOnly())
+        if (!this.valueValidated && !helper.isReadOnly() && 
!helper.isDisabled())
         {   // New since 2024-04-04
             // Validate Record value
             Object value = helper.getDataValue(true);
diff --git 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/InputTag.java
 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/InputTag.java
index 9502549b..63072ae5 100644
--- 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/InputTag.java
+++ 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/InputTag.java
@@ -348,7 +348,7 @@ public class InputTag extends UIInput implements 
NamingContainer
         this.valueValidated = false;
         super.validate(context);
         // post check
-        if (!this.valueValidated && !helper.isReadOnly())
+        if (!this.valueValidated && !helper.isReadOnly() && 
!helper.isDisabled())
         {   // New since 2024-04-04
             // Validate Record value
             Object value = helper.getDataValue(true);
diff --git 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagEncodingHelper.java
 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagEncodingHelper.java
index c26c08cd..7f0f1f34 100644
--- 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagEncodingHelper.java
+++ 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagEncodingHelper.java
@@ -385,8 +385,7 @@ public class TagEncodingHelper implements NamingContainer
         @Override
         public boolean isDisabled()
         {
-            DisabledType disabled = TagEncodingHelper.this.getDisabled(); 
-            return (disabled!=null && disabled!=DisabledType.NO);
+            return TagEncodingHelper.this.isDisabled();
         }
         
         @Override
@@ -820,7 +819,14 @@ public class TagEncodingHelper implements NamingContainer
         else
         {   // Get from tag
             if (evalExpression)
-                return component.getValue();
+            {   
+                Object value = component.getValue();
+                /* Do we need to convert the value?
+                if (value!=null && (valueInfo instanceof InputInfo))
+                    value = getInputControl().getConvertedValue(component, 
(InputInfo)valueInfo, value);
+                */    
+                return value;
+            }
             else
             {   // Check LocalValue and ValueExpression
                 Object value = component.getLocalValue();
@@ -1039,6 +1045,12 @@ public class TagEncodingHelper implements NamingContainer
         // Required
         return getColumn().isRequired();
     }
+
+    public final boolean isDisabled()
+    {
+        DisabledType disabled = TagEncodingHelper.this.getDisabled(); 
+        return (disabled!=null && disabled!=DisabledType.NO);
+    }
     
     public DisabledType getDisabled()
     {
diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
index f19b7d7c..ece7a01c 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ControlTag.java
@@ -744,7 +744,7 @@ public class ControlTag extends UIInput implements 
NamingContainer
         this.valueValidated = false;
         super.validate(context);
         // post check
-        if (!this.valueValidated && !helper.isReadOnly())
+        if (!this.valueValidated && !helper.isReadOnly() && 
!helper.isDisabled())
         {   // New since 2024-04-04
             // Validate Record value
             Object value = helper.getDataValue(true);
diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java
index 960eabfe..2f584932 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/InputTag.java
@@ -348,7 +348,7 @@ public class InputTag extends UIInput implements 
NamingContainer
         this.valueValidated = false;
         super.validate(context);
         // post check
-        if (!this.valueValidated && !helper.isReadOnly())
+        if (!this.valueValidated && !helper.isReadOnly() && 
!helper.isDisabled())
         {   // New since 2024-04-04
             // Validate Record value
             Object value = helper.getDataValue(true);
diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
index 2ef35f63..9d2d6816 100644
--- 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
+++ 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelper.java
@@ -385,8 +385,7 @@ public class TagEncodingHelper implements NamingContainer
         @Override
         public boolean isDisabled()
         {
-            DisabledType disabled = TagEncodingHelper.this.getDisabled(); 
-            return (disabled!=null && disabled!=DisabledType.NO);
+            return TagEncodingHelper.this.isDisabled();
         }
         
         @Override
@@ -820,7 +819,14 @@ public class TagEncodingHelper implements NamingContainer
         else
         {   // Get from tag
             if (evalExpression)
-                return component.getValue();
+            {   
+                Object value = component.getValue();
+                /* Do we need to convert the value?
+                if (value!=null && (valueInfo instanceof InputInfo))
+                    value = getInputControl().getConvertedValue(component, 
(InputInfo)valueInfo, value);
+                */    
+                return value;
+            }
             else
             {   // Check LocalValue and ValueExpression
                 Object value = component.getLocalValue();
@@ -1039,6 +1045,12 @@ public class TagEncodingHelper implements NamingContainer
         // Required
         return getColumn().isRequired();
     }
+
+    public final boolean isDisabled()
+    {
+        DisabledType disabled = TagEncodingHelper.this.getDisabled(); 
+        return (disabled!=null && disabled!=DisabledType.NO);
+    }
     
     public DisabledType getDisabled()
     {

Reply via email to