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 b0e0e926 EMPIREDB-439 InputTag: set auto component id according to 
FormGridTag
b0e0e926 is described below

commit b0e0e9269af1275c467d47baf4b679c971f129dd
Author: Rainer Döbele <[email protected]>
AuthorDate: Sun Oct 20 13:14:57 2024 +0200

    EMPIREDB-439
    InputTag: set auto component id according to FormGridTag
---
 .../empire/jakarta/components/ControlTag.java      | 22 ++++++++++------------
 .../apache/empire/jakarta/components/InputTag.java | 20 ++++++++++++++++++++
 .../java/org/apache/empire/jakarta/pages/Page.java |  4 ++--
 .../empire/jakarta/utils/TagEncodingHelper.java    | 12 +++++++++---
 .../apache/empire/jsf2/components/ControlTag.java  | 22 ++++++++++------------
 .../apache/empire/jsf2/components/InputTag.java    | 20 ++++++++++++++++++++
 .../java/org/apache/empire/jsf2/pages/Page.java    |  4 ++--
 .../empire/jsf2/utils/TagEncodingHelper.java       | 12 +++++++++---
 8 files changed, 82 insertions(+), 34 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 f32cd6a5..4d87ed5f 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
@@ -310,20 +310,18 @@ public class ControlTag extends UIInput implements 
NamingContainer
     public void setParent(UIComponent parent)
     {
         super.setParent(parent);
-        // check
+        // check whether already set
         if (helper.hasComponentId())
             return;
-        if (this.renderInfo==null) {
-            /*
-             * Attention: Only works if FormGrid is a direct parent of the 
Control.
-             * Does not work, if other components are between the Control and 
the FormGrid.
-             */
-            this.renderInfo=helper.getControlRenderInfo();
-            if (this.renderInfo!=null && 
this.renderInfo.AUTO_CONTROL_ID!=null) {
-                // Auto set component Id
-                setId(this.renderInfo.AUTO_CONTROL_ID.toString());
-                log.warn("Auto-Setting compontent id for control to {}", 
this.getId());
-            }
+        /*
+         * Attention: Only works if FormGrid is a direct parent of the Control.
+         * Does not work, if other components are between the Control and the 
FormGrid.
+         */
+        this.renderInfo = helper.getControlRenderInfo();
+        if (this.renderInfo!=null && this.renderInfo.AUTO_CONTROL_ID!=null) {
+            // Auto set component Id
+            setId(this.renderInfo.AUTO_CONTROL_ID.toString());
+            log.debug("Auto-Setting compontent id for Control to {}", 
this.getId());
         }
     }
 
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 e9a297b3..9502549b 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
@@ -23,6 +23,7 @@ import java.util.List;
 
 import org.apache.empire.data.Column;
 import org.apache.empire.jakarta.controls.InputControl;
+import org.apache.empire.jakarta.utils.ControlRenderInfo;
 import org.apache.empire.jakarta.utils.TagEncodingHelper;
 import org.apache.empire.jakarta.utils.TagEncodingHelperFactory;
 import org.apache.empire.jakarta.utils.TagStyleClass;
@@ -232,6 +233,25 @@ public class InputTag extends UIInput implements 
NamingContainer
         super.setId(id);
     }
 
+    @Override
+    public void setParent(UIComponent parent)
+    {
+        super.setParent(parent);
+        // check whether already set
+        if (helper.hasComponentId())
+            return;
+        /*
+         * Attention: Only works if FormGrid is a direct parent of the Control.
+         * Does not work, if other components are between the Control and the 
FormGrid.
+         */
+        ControlRenderInfo renderInfo = helper.getControlRenderInfo();
+        if (renderInfo!=null && renderInfo.AUTO_CONTROL_ID!=null) {
+            // Auto set component Id
+            setId(renderInfo.AUTO_CONTROL_ID.toString());
+            log.debug("Auto-Setting compontent id for Input to {}", 
this.getId());
+        }
+    }
+
     @Override
     public Object getValue()
     {
diff --git 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/pages/Page.java
 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/pages/Page.java
index f2e087bc..4810d53f 100644
--- 
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/pages/Page.java
+++ 
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/pages/Page.java
@@ -190,7 +190,7 @@ public abstract class Page // *Deprecated* implements 
Serializable
         {   // process action
             try
             {   log.debug("Processing action {} on page {}.", action, 
getPageName());
-                processAction(action, context);
+                executeAction(action, context);
             } finally {
                 // Clear action
                 this.action = null;
@@ -215,7 +215,7 @@ public abstract class Page // *Deprecated* implements 
Serializable
         this.initialized = (context.getResponseComplete() ? (short)-1 : 1);
     }
     
-    protected void processAction(String action, FacesContext context)
+    protected void executeAction(String action, FacesContext context)
     {
         try
         {   // Process action
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 8f8e86f4..91628e3f 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
@@ -532,9 +532,7 @@ public class TagEncodingHelper implements NamingContainer
         }
         else if ((idx=id.indexOf(PH_COLUMN_SMART))>=0)
         {   // column name only
-            name = getColumnName();
-            if (SMART_COLUMN_NAME_SET.contains(name))
-                name= getColumnFullName();
+            name = getColumnSmartName();
         }
         else if ((idx=id.indexOf(PH_COLUMN_FULL))>=0) 
         {   // column full name including table
@@ -715,6 +713,14 @@ public class TagEncodingHelper implements NamingContainer
         // No Entity
         return column.getName();
     }
+    
+    public String getColumnSmartName()
+    {
+        String name = getColumnName();
+        if (SMART_COLUMN_NAME_SET.contains(name))
+            name= getColumnFullName();
+        return name;
+    }
 
     public void setColumn(Column column)
     {
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 3b60a1b0..f19b7d7c 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
@@ -310,20 +310,18 @@ public class ControlTag extends UIInput implements 
NamingContainer
     public void setParent(UIComponent parent)
     {
         super.setParent(parent);
-        // check
+        // check whether already set
         if (helper.hasComponentId())
             return;
-        if (this.renderInfo==null) {
-            /*
-             * Attention: Only works if FormGrid is a direct parent of the 
Control.
-             * Does not work, if other components are between the Control and 
the FormGrid.
-             */
-            this.renderInfo=helper.getControlRenderInfo();
-            if (this.renderInfo!=null && 
this.renderInfo.AUTO_CONTROL_ID!=null) {
-                // Auto set component Id
-                setId(this.renderInfo.AUTO_CONTROL_ID.toString());
-                log.warn("Auto-Setting compontent id for control to {}", 
this.getId());
-            }
+        /*
+         * Attention: Only works if FormGrid is a direct parent of the Control.
+         * Does not work, if other components are between the Control and the 
FormGrid.
+         */
+        this.renderInfo = helper.getControlRenderInfo();
+        if (this.renderInfo!=null && this.renderInfo.AUTO_CONTROL_ID!=null) {
+            // Auto set component Id
+            setId(this.renderInfo.AUTO_CONTROL_ID.toString());
+            log.debug("Auto-Setting compontent id for Control to {}", 
this.getId());
         }
     }
 
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 20e481f4..960eabfe 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
@@ -34,6 +34,7 @@ import javax.faces.view.AttachedObjectHandler;
 
 import org.apache.empire.data.Column;
 import org.apache.empire.jsf2.controls.InputControl;
+import org.apache.empire.jsf2.utils.ControlRenderInfo;
 import org.apache.empire.jsf2.utils.TagEncodingHelper;
 import org.apache.empire.jsf2.utils.TagEncodingHelperFactory;
 import org.apache.empire.jsf2.utils.TagStyleClass;
@@ -232,6 +233,25 @@ public class InputTag extends UIInput implements 
NamingContainer
         super.setId(id);
     }
 
+    @Override
+    public void setParent(UIComponent parent)
+    {
+        super.setParent(parent);
+        // check whether already set
+        if (helper.hasComponentId())
+            return;
+        /*
+         * Attention: Only works if FormGrid is a direct parent of the Control.
+         * Does not work, if other components are between the Control and the 
FormGrid.
+         */
+        ControlRenderInfo renderInfo = helper.getControlRenderInfo();
+        if (renderInfo!=null && renderInfo.AUTO_CONTROL_ID!=null) {
+            // Auto set component Id
+            setId(renderInfo.AUTO_CONTROL_ID.toString());
+            log.debug("Auto-Setting compontent id for Input to {}", 
this.getId());
+        }
+    }
+
     @Override
     public Object getValue()
     {
diff --git 
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/Page.java 
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/Page.java
index c2a62ee8..31fa7cb7 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/Page.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/Page.java
@@ -190,7 +190,7 @@ public abstract class Page // *Deprecated* implements 
Serializable
         {   // process action
             try
             {   log.debug("Processing action {} on page {}.", action, 
getPageName());
-                processAction(action, context);
+                executeAction(action, context);
             } finally {
                 // Clear action
                 this.action = null;
@@ -215,7 +215,7 @@ public abstract class Page // *Deprecated* implements 
Serializable
         this.initialized = (context.getResponseComplete() ? (short)-1 : 1);
     }
     
-    protected void processAction(String action, FacesContext context)
+    protected void executeAction(String action, FacesContext context)
     {
         try
         {   // Process action
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 03a06d84..d7e370c4 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
@@ -532,9 +532,7 @@ public class TagEncodingHelper implements NamingContainer
         }
         else if ((idx=id.indexOf(PH_COLUMN_SMART))>=0)
         {   // column name only
-            name = getColumnName();
-            if (SMART_COLUMN_NAME_SET.contains(name))
-                name= getColumnFullName();
+            name = getColumnSmartName();
         }
         else if ((idx=id.indexOf(PH_COLUMN_FULL))>=0) 
         {   // column full name including table
@@ -715,6 +713,14 @@ public class TagEncodingHelper implements NamingContainer
         // No Entity
         return column.getName();
     }
+    
+    public String getColumnSmartName()
+    {
+        String name = getColumnName();
+        if (SMART_COLUMN_NAME_SET.contains(name))
+            name= getColumnFullName();
+        return name;
+    }
 
     public void setColumn(Column column)
     {

Reply via email to