You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@empire-db.apache.org by do...@apache.org on 2025/05/21 20:59:32 UTC

(empire-db) branch master updated: EMPIREDB-465 InputControl: replace addRemoveStyle with setInputStyleClass

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 d3348a43 EMPIREDB-465 InputControl: replace addRemoveStyle with setInputStyleClass
d3348a43 is described below

commit d3348a437abbd25b82b8cd34a6c9946681432083
Author: Rainer Döbele <rd...@users.noreply.github.com>
AuthorDate: Wed May 21 22:59:28 2025 +0200

    EMPIREDB-465
    InputControl: replace addRemoveStyle with setInputStyleClass
---
 .../empire/jakarta/components/SelectTag.java       | 29 ++++++---
 .../jakarta/controls/CheckboxInputControl.java     |  4 +-
 .../empire/jakarta/controls/InputControl.java      | 73 +++++++++++-----------
 .../empire/jakarta/controls/RadioInputControl.java | 11 ++--
 .../jakarta/controls/SelectInputControl.java       | 30 ++++-----
 .../jakarta/controls/TextAreaInputControl.java     |  5 +-
 .../empire/jakarta/controls/TextInputControl.java  | 24 +------
 .../empire/jakarta/utils/TagEncodingHelper.java    |  5 ++
 .../apache/empire/jsf2/components/SelectTag.java   | 29 ++++++---
 .../empire/jsf2/controls/CheckboxInputControl.java |  4 +-
 .../apache/empire/jsf2/controls/InputControl.java  | 73 +++++++++++-----------
 .../empire/jsf2/controls/RadioInputControl.java    | 11 ++--
 .../empire/jsf2/controls/SelectInputControl.java   | 16 ++---
 .../empire/jsf2/controls/TextAreaInputControl.java |  5 +-
 .../empire/jsf2/controls/TextInputControl.java     | 24 +------
 .../empire/jsf2/utils/TagEncodingHelper.java       |  5 ++
 16 files changed, 155 insertions(+), 193 deletions(-)

diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/SelectTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/SelectTag.java
index ca947745..2f87e397 100644
--- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/SelectTag.java
+++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/SelectTag.java
@@ -373,8 +373,9 @@ public class SelectTag extends UIInput implements NamingContainer
         // Options
         control.initOptions(input, textResolver, selectInputInfo);
         // disabled
-        boolean disabled = setInputDisabled(input, isDisabled());
-        control.addRemoveDisabledStyle(input, disabled);
+        setInputDisabled(input, isDisabled());
+        // set style class
+        setInputStyleClass(input);
         // input.setLabel(getLabelString());
         // input.setRequired(col.isRequired() && !col.isAutoGenerated());
         // input.setId(this.getId() + INPUT_SUFFIX);
@@ -382,6 +383,20 @@ public class SelectTag extends UIInput implements NamingContainer
         return input;
     }
 
+    protected final void setInputStyleClass(UISelectOne input)
+    {
+        // css style
+        String userStyle = StringUtils.toString(getAttributes().get(InputControl.CSS_STYLE_CLASS));
+        // additional style classes
+        if (isDisabled())
+        {   // disabled
+            userStyle = TagStyleClass.INPUT_DIS.addTo(userStyle);
+        }
+        // String cssStyle = TagEncodingHelper.assembleStyleClassString(TagStyleClass.SELECT.get(), null, null, userStyle);
+        String cssStyle = TagStyleClass.SELECT.append(userStyle);
+        input.getAttributes().put(InputControl.CSS_STYLE_CLASS, cssStyle);
+    }
+
     protected void setInputValue(UISelectOne input)
     {
         Object value = getValue();
@@ -411,14 +426,9 @@ public class SelectTag extends UIInput implements NamingContainer
         {   // always set to CompoentID
             input.setId(SELECT_COMPONENT_ID);
         }
-        
+        // the map
         Map<String, Object> tagMap = getAttributes();
         Map<String, Object> inputMap = input.getAttributes();
-        // css style
-        String userStyle = StringUtils.toString(tagMap.get(InputControl.CSS_STYLE_CLASS));
-        // String cssStyle = TagEncodingHelper.assembleStyleClassString(TagStyleClass.SELECT.get(), null, null, userStyle);
-        String cssStyle = TagStyleClass.SELECT.append(userStyle);
-        inputMap.put(InputControl.CSS_STYLE_CLASS, cssStyle);
         // other
         copyAttribute(inputMap, tagMap, "style");
         copyAttribute(inputMap, tagMap, "tabindex");
@@ -439,7 +449,7 @@ public class SelectTag extends UIInput implements NamingContainer
             aoh.updateAttachedObjects(this, context, null, inputComponent);
     }
     
-    protected boolean setInputDisabled(UISelectOne input, boolean disabled)
+    protected void setInputDisabled(UISelectOne input, boolean disabled)
     {
         if (input instanceof HtmlSelectOneMenu)
             ((HtmlSelectOneMenu)input).setDisabled(disabled);
@@ -447,7 +457,6 @@ public class SelectTag extends UIInput implements NamingContainer
             ((HtmlSelectOneListbox)input).setDisabled(disabled);
         else
             log.warn("Unable to set disabled attribute!");
-        return disabled;
     }
     
     protected void copyAttribute(Map<String, Object> inputMap, Map<String, Object> tagMap, String name)
diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/CheckboxInputControl.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/CheckboxInputControl.java
index 76e057ea..f3723e4a 100644
--- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/CheckboxInputControl.java
+++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/CheckboxInputControl.java
@@ -83,7 +83,7 @@ public class CheckboxInputControl extends InputControl
         // add
         compList.add(input);
         // set style and value
-        updateInputState(compList, ii, context, context.getCurrentPhaseId());
+        updateInputState(compList, ii, context, PhaseId.RENDER_RESPONSE);
     }
 
     @Override
@@ -101,7 +101,7 @@ public class CheckboxInputControl extends InputControl
         // check phase
         if (phaseId==PhaseId.RENDER_RESPONSE)
         {   // style
-            addRemoveDisabledStyle(input, disabled);
+            setInputStyleClass(ii, input);
             // set value
             setInputValue(input, ii);
         }
diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/InputControl.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/InputControl.java
index 5d16d6c6..39ca9b68 100644
--- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/InputControl.java
+++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/InputControl.java
@@ -675,17 +675,36 @@ public abstract class InputControl
         return inp;
     }
 
-    protected String getInputStyleClass(InputInfo ii, String additonalStyle)
+    protected void setInputStyleClass(UIInput input, String cssStyleClass)
     {
-        return ii.getStyleClass(additonalStyle);
+        input.getAttributes().put(InputControl.CSS_STYLE_CLASS, cssStyleClass);
     }
 
-    protected void setInputStyleClass(UIInput input, String cssStyleClass)
+    protected final void setInputStyleClass(InputInfo ii, UIInput input)
     {
-        input.getAttributes().put(InputControl.CSS_STYLE_CLASS, cssStyleClass);
+        String addlStyles = null;
+        if (ii.isRequired())
+        {   // required
+            addlStyles = TagStyleClass.INPUT_REQ.get();
+        }
+        if (ii.isModified()) 
+        {   // modified
+            addlStyles = TagStyleClass.INPUT_MOD.addTo(addlStyles);
+        }
+        if (ii.isDisabled())
+        {   // disabled
+            addlStyles = TagStyleClass.INPUT_DIS.addTo(addlStyles);
+        }
+        else if (ii.hasError())
+        {   // invalid
+            addlStyles = TagStyleClass.VALUE_INVALID.addTo(addlStyles);
+        }
+        // set style class
+        String styleClass = ii.getStyleClass(addlStyles);
+        setInputStyleClass(input, styleClass);
     }
 
-    protected void copyAttributes(UIComponent parent, InputInfo ii, UIInput input, String additonalStyle)
+    protected void copyAttributes(UIComponent parent, InputInfo ii, UIInput input)
     {
         String inputId = ii.getInputId();
         if (StringUtils.isNotEmpty(inputId))
@@ -693,10 +712,6 @@ public abstract class InputControl
             input.getAttributes().put("id", inputId);
         }
 
-        // set style class
-        String styleClass = getInputStyleClass(ii, additonalStyle);
-        setInputStyleClass(input, styleClass);
-
         // copy standard attributes
         copyAttribute(ii, input, "style");
         copyAttribute(ii, input, "tabindex");
@@ -719,18 +734,15 @@ public abstract class InputControl
         // input.addValidator(new ColumnValueValidator(ii.getColumn()));
     }
 
-    protected final void copyAttributes(UIComponent parent, InputInfo ii, UIInput input)
+    /**
+     * Do not use any more since CSS style is no longer set here
+     * Hence param "additonalStyle" is obsolete
+     * @param additonalStyle this parameter is obsolete
+     */
+    @Deprecated
+    protected final void copyAttributes(UIComponent parent, InputInfo ii, UIInput input, String additonalStyle)
     {
-        String addlStyles = null;
-        if (ii.isRequired())
-        {   // required
-            addlStyles = TagStyleClass.INPUT_REQ.get();
-        }
-        if (ii.isModified()) 
-        {   // modified
-            addlStyles = TagStyleClass.INPUT_MOD.addTo(addlStyles);
-        }
-        copyAttributes(parent, ii, input, addlStyles);
+        copyAttributes(parent, ii, input);
     }
 
     protected void copyAttribute(InputInfo ii, UIInput input, String name)
@@ -745,22 +757,12 @@ public abstract class InputControl
             input.getAttributes().put(name, String.valueOf(value));
     }
     
-    public void addRemoveValueNullStyle(UIInput input, boolean nullValue)
-    {
-        addRemoveStyle(input, TagStyleClass.VALUE_NULL, nullValue);
-    }
-
-    public void addRemoveDisabledStyle(UIInput input, boolean disabled)
-    {
-        addRemoveStyle(input, TagStyleClass.INPUT_DIS, disabled);
-    }
-
-    public void addRemoveInvalidStyle(UIInput input, boolean invalid)
+    protected void addRemoveValueNullStyle(UIInput input, boolean nullValue)
     {
-        addRemoveStyle(input, TagStyleClass.VALUE_INVALID, invalid);
+        addRemoveStyle(input, TagStyleClass.VALUE_NULL.get(), nullValue);
     }
     
-    public void addRemoveStyle(UIInput input, String styleName, boolean setStyle)
+    protected void addRemoveStyle(UIInput input, String styleName, boolean setStyle)
     {
         String styleClasses = StringUtils.toString(input.getAttributes().get(InputControl.CSS_STYLE_CLASS), "");
         boolean hasStyle = TagStyleClass.existsIn(styleClasses, styleName);
@@ -777,11 +779,6 @@ public abstract class InputControl
         // add Style
         setInputStyleClass(input, styleClasses);
     }
-
-    public final void addRemoveStyle(UIInput input, TagStyleClass style, boolean setStyle)
-    {
-        this.addRemoveStyle(input, style.get(), setStyle);
-    }
     
     /**
      * Returns the value formated as a string
diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/RadioInputControl.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/RadioInputControl.java
index b153f3c1..3cc434ac 100644
--- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/RadioInputControl.java
+++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/RadioInputControl.java
@@ -103,10 +103,9 @@ public class RadioInputControl extends InputControl
     }
     
     @Override
-    protected void copyAttributes(UIComponent parent, InputInfo ii, UIInput input, String additonalStyle)
+    protected void setInputStyleClass(UIInput input, String cssStyleClass)
     {
-        // copy
-        super.copyAttributes(parent, ii, input, TagStyleClass.RADIO.append(additonalStyle));
+        super.setInputStyleClass(input, TagStyleClass.RADIO.append(cssStyleClass));
     }
 
     @Override
@@ -132,8 +131,7 @@ public class RadioInputControl extends InputControl
         // add
         compList.add(input);
         // style
-        addRemoveDisabledStyle(input, disabled);
-        addRemoveInvalidStyle(input, ii.hasError());
+        setInputStyleClass(ii, input);
         // Set Value
         setInputValue(input, ii);
     }
@@ -160,8 +158,7 @@ public class RadioInputControl extends InputControl
         }
         if (phaseId==PhaseId.RENDER_RESPONSE)
         {   // style
-            addRemoveDisabledStyle(input, disabled);
-            addRemoveInvalidStyle(input, ii.hasError());
+            setInputStyleClass(ii, input);
             // set value
             setInputValue(input, ii);
         }
diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/SelectInputControl.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/SelectInputControl.java
index c75ebf5c..412b22e8 100644
--- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/SelectInputControl.java
+++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/SelectInputControl.java
@@ -32,7 +32,6 @@ import org.apache.empire.data.Column;
 import org.apache.empire.exceptions.InvalidArgumentException;
 import org.apache.empire.exceptions.UnexpectedReturnValueException;
 import org.apache.empire.jakarta.app.TextResolver;
-import org.apache.empire.jakarta.utils.TagStyleClass;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -115,14 +114,13 @@ public class SelectInputControl extends InputControl
         // copy Attributes
         copyAttributes(parent, ii, input);
         // disabled
-        boolean disabled = setDisabled(input, ii);
+        setDisabled(input, ii);
         // Options
         initOptions(input, ii.getTextResolver(), ii);
         // add
         compList.add(input);
         // style
-        addRemoveDisabledStyle(input, disabled);
-        addRemoveInvalidStyle(input, ii.hasError());
+        setInputStyleClass(ii, input);
         // Set Value
         setInputValue(input, ii);
     }
@@ -136,10 +134,8 @@ public class SelectInputControl extends InputControl
             throw new UnexpectedReturnValueException(comp.getClass().getName(), "parent.getChildren()");
         }
         UISelectOne input = (UISelectOne)comp;
-        // required
-        addRemoveStyle(input, TagStyleClass.INPUT_REQ, ii.isRequired());
         // disabled
-        boolean disabled = setDisabled(input, ii);
+        setDisabled(input, ii);
         // check phase
         if (phaseId!=PhaseId.APPLY_REQUEST_VALUES)
         {   // Options (sync)
@@ -147,14 +143,13 @@ public class SelectInputControl extends InputControl
         }
         if (phaseId==PhaseId.RENDER_RESPONSE)
         {   // style
-            addRemoveDisabledStyle(input, disabled);
-            addRemoveInvalidStyle(input, ii.hasError());
+            setInputStyleClass(ii, input);
             // set value
             setInputValue(input, ii);
         }
     }
     
-    protected boolean setDisabled(UISelectOne input, InputInfo ii)
+    protected void setDisabled(UISelectOne input, InputInfo ii)
     {
         boolean disabled = ii.isDisabled();
         if (input instanceof HtmlSelectOneMenu)
@@ -163,7 +158,6 @@ public class SelectInputControl extends InputControl
             ((HtmlSelectOneListbox)input).setDisabled(disabled);
         else
             log.warn("Unable to set disabled attribute!");
-        return disabled;
     }
 
     protected boolean isEmptyEntryRequired(UISelectOne input, Options options, InputInfo ii, Object currentValue)
@@ -286,13 +280,13 @@ public class SelectInputControl extends InputControl
     {
         // get the options
         Options options = ii.getOptions();
-        if (options == null)
-        { // clear or not?
-            if (ii.getValue(false) != null)
-                log.warn("No options have been set for column {}", ii.getColumn().getName());
+        if (options==null)
+        {   // invalid options
+            if (ii.getColumn()!=null)
+                log.warn("No options given for column {}", ii.getColumn().getName());
             else
-                input.getChildren().clear();
-            return;
+                log.warn("No options given for select tag {}", input.getClientId());
+            options = new Options();
         }
         
         // check grouping
@@ -352,7 +346,7 @@ public class SelectInputControl extends InputControl
                 continue;
             }
             // Not equal - do a full reload
-            input.getChildren().clear();
+            selectItemList.clear();
             if (hasEmpty)
             {   // add empty entry
                 addSelectItem(selectItemList, textResolver, new OptionEntry("", getNullText(ii)), exprType);
diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/TextAreaInputControl.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/TextAreaInputControl.java
index 6d8aaa8b..0506046b 100644
--- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/TextAreaInputControl.java
+++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/TextAreaInputControl.java
@@ -97,7 +97,7 @@ public class TextAreaInputControl extends InputControl
         // add
         compList.add(input);
         // update
-        updateInputState(compList, ii, context, context.getCurrentPhaseId());
+        updateInputState(compList, ii, context, PhaseId.RENDER_RESPONSE);
     }
     
     @Override
@@ -117,8 +117,7 @@ public class TextAreaInputControl extends InputControl
         // Set Value
         if (phaseId==PhaseId.RENDER_RESPONSE)
         {   // style
-            addRemoveDisabledStyle(input, (disabled!=null && disabled!=DisabledType.NO));
-            addRemoveInvalidStyle(input, ii.hasError());
+            setInputStyleClass(ii, input);
             // set value
             setInputValue(input, ii);
         }    
diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/TextInputControl.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/TextInputControl.java
index 22ba671c..9e51f5c7 100644
--- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/TextInputControl.java
+++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/controls/TextInputControl.java
@@ -223,7 +223,7 @@ public class TextInputControl extends InputControl
             compList.add(createUnitLabel(TagStyleClass.INPUT_HINT.get(), ii, hint));
         }
         // update
-        updateInputState(compList, ii, context, context.getCurrentPhaseId());
+        updateInputState(compList, ii, context, PhaseId.RENDER_RESPONSE);
     }
 
     @Override
@@ -235,34 +235,14 @@ public class TextInputControl extends InputControl
             throw new UnexpectedReturnValueException(comp.getClass().getName(), "compList.get(0)");
         }
         HtmlInputText input = (HtmlInputText) comp;
-        if (ii.isInsideUIData())
-        {   // always reset the style class inside UIData
-            String tagStyle = StringUtils.toString(ii.getAttribute(InputControl.CSS_STYLE_CLASS), null);
-            String cssStyle = getInputStyleClass(ii, tagStyle);
-            input.setStyleClass(cssStyle);
-            /*
-            String curStyle = input.getStyleClass();
-            if (curStyle==null || !curStyle.equals(cssStyle))
-            {   // log.info("{} ->  {} vs '{}'", ii.getColumn().getName(), inpStyle, reqStyle);
-                input.setStyleClass(cssStyle);
-            }
-            */
-        }
-        // required
-        addRemoveStyle(input, TagStyleClass.INPUT_REQ, ii.isRequired());
-        // modified
-        addRemoveStyle(input, TagStyleClass.INPUT_MOD, ii.isModified());
-
         // disabled
         DisabledType disabled = ii.getDisabled();
         input.setReadonly((disabled==DisabledType.READONLY));
         input.setDisabled((disabled==DisabledType.DISABLED));
-        
         // set value
         if (phaseId==PhaseId.RENDER_RESPONSE)
         {   // style
-            addRemoveDisabledStyle(input, (disabled!=null && disabled!=DisabledType.NO));
-            addRemoveInvalidStyle(input, ii.hasError());
+            setInputStyleClass(ii, input);
             // set value
             setInputValue(input, ii);
         }
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 0831dbb8..bfb2110b 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
@@ -1657,6 +1657,9 @@ public class TagEncodingHelper implements NamingContainer
     {
         if (!ControlRenderInfo.isRenderExtraWrapperStyles())
             return null;
+        /*
+         * Discarded due to missing use-case 
+         * 
         // input Wrapper Class
         String inputClass = (isControlTagElementValid() ? getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS, true) : getTagAttributeString("inputClass")); 
         // append input state
@@ -1664,6 +1667,8 @@ public class TagEncodingHelper implements NamingContainer
             inputClass = (inputClass!=null ? StringUtils.concat(inputClass, " ", TagStyleClass.INPUT_DIS.get()) : TagStyleClass.INPUT_DIS.get());
         // done
         return inputClass;
+        */
+        return null;
     }
     
     /**
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/SelectTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/SelectTag.java
index 06331bb2..0768aca1 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/SelectTag.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/SelectTag.java
@@ -373,8 +373,9 @@ public class SelectTag extends UIInput implements NamingContainer
         // Options
         control.initOptions(input, textResolver, selectInputInfo);
         // disabled
-        boolean disabled = setInputDisabled(input, isDisabled());
-        control.addRemoveDisabledStyle(input, disabled);
+        setInputDisabled(input, isDisabled());
+        // set style class
+        setInputStyleClass(input);
         // input.setLabel(getLabelString());
         // input.setRequired(col.isRequired() && !col.isAutoGenerated());
         // input.setId(this.getId() + INPUT_SUFFIX);
@@ -382,6 +383,20 @@ public class SelectTag extends UIInput implements NamingContainer
         return input;
     }
 
+    protected final void setInputStyleClass(UISelectOne input)
+    {
+        // css style
+        String userStyle = StringUtils.toString(getAttributes().get(InputControl.CSS_STYLE_CLASS));
+        // additional style classes
+        if (isDisabled())
+        {   // disabled
+            userStyle = TagStyleClass.INPUT_DIS.addTo(userStyle);
+        }
+        // String cssStyle = TagEncodingHelper.assembleStyleClassString(TagStyleClass.SELECT.get(), null, null, userStyle);
+        String cssStyle = TagStyleClass.SELECT.append(userStyle);
+        input.getAttributes().put(InputControl.CSS_STYLE_CLASS, cssStyle);
+    }
+
     protected void setInputValue(UISelectOne input)
     {
         Object value = getValue();
@@ -411,14 +426,9 @@ public class SelectTag extends UIInput implements NamingContainer
         {   // always set to CompoentID
             input.setId(SELECT_COMPONENT_ID);
         }
-        
+        // the map
         Map<String, Object> tagMap = getAttributes();
         Map<String, Object> inputMap = input.getAttributes();
-        // css style
-        String userStyle = StringUtils.toString(tagMap.get(InputControl.CSS_STYLE_CLASS));
-        // String cssStyle = TagEncodingHelper.assembleStyleClassString(TagStyleClass.SELECT.get(), null, null, userStyle);
-        String cssStyle = TagStyleClass.SELECT.append(userStyle);
-        inputMap.put(InputControl.CSS_STYLE_CLASS, cssStyle);
         // other
         copyAttribute(inputMap, tagMap, "style");
         copyAttribute(inputMap, tagMap, "tabindex");
@@ -439,7 +449,7 @@ public class SelectTag extends UIInput implements NamingContainer
             aoh.updateAttachedObjects(this, context, null, inputComponent);
     }
     
-    protected boolean setInputDisabled(UISelectOne input, boolean disabled)
+    protected void setInputDisabled(UISelectOne input, boolean disabled)
     {
         if (input instanceof HtmlSelectOneMenu)
             ((HtmlSelectOneMenu)input).setDisabled(disabled);
@@ -447,7 +457,6 @@ public class SelectTag extends UIInput implements NamingContainer
             ((HtmlSelectOneListbox)input).setDisabled(disabled);
         else
             log.warn("Unable to set disabled attribute!");
-        return disabled;
     }
     
     protected void copyAttribute(Map<String, Object> inputMap, Map<String, Object> tagMap, String name)
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/CheckboxInputControl.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/CheckboxInputControl.java
index ff75141e..3bd2a171 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/CheckboxInputControl.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/CheckboxInputControl.java
@@ -83,7 +83,7 @@ public class CheckboxInputControl extends InputControl
         // add
         compList.add(input);
         // set style and value
-        updateInputState(compList, ii, context, context.getCurrentPhaseId());
+        updateInputState(compList, ii, context, PhaseId.RENDER_RESPONSE);
     }
 
     @Override
@@ -101,7 +101,7 @@ public class CheckboxInputControl extends InputControl
         // check phase
         if (phaseId==PhaseId.RENDER_RESPONSE)
         {   // style
-            addRemoveDisabledStyle(input, disabled);
+            setInputStyleClass(ii, input);
             // set value
             setInputValue(input, ii);
         }
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/InputControl.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/InputControl.java
index e2a300a0..12cf1fb3 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/InputControl.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/InputControl.java
@@ -675,17 +675,36 @@ public abstract class InputControl
         return inp;
     }
 
-    protected String getInputStyleClass(InputInfo ii, String additonalStyle)
+    protected void setInputStyleClass(UIInput input, String cssStyleClass)
     {
-        return ii.getStyleClass(additonalStyle);
+        input.getAttributes().put(InputControl.CSS_STYLE_CLASS, cssStyleClass);
     }
 
-    protected void setInputStyleClass(UIInput input, String cssStyleClass)
+    protected void setInputStyleClass(InputInfo ii, UIInput input)
     {
-        input.getAttributes().put(InputControl.CSS_STYLE_CLASS, cssStyleClass);
+        String addlStyles = null;
+        if (ii.isRequired())
+        {   // required
+            addlStyles = TagStyleClass.INPUT_REQ.get();
+        }
+        if (ii.isModified()) 
+        {   // modified
+            addlStyles = TagStyleClass.INPUT_MOD.addTo(addlStyles);
+        }
+        if (ii.isDisabled())
+        {   // disabled
+            addlStyles = TagStyleClass.INPUT_DIS.addTo(addlStyles);
+        }
+        else if (ii.hasError())
+        {   // invalid
+            addlStyles = TagStyleClass.VALUE_INVALID.addTo(addlStyles);
+        }
+        // set style class
+        String styleClass = ii.getStyleClass(addlStyles);
+        setInputStyleClass(input, styleClass);
     }
 
-    protected void copyAttributes(UIComponent parent, InputInfo ii, UIInput input, String additonalStyle)
+    protected void copyAttributes(UIComponent parent, InputInfo ii, UIInput input)
     {
         String inputId = ii.getInputId();
         if (StringUtils.isNotEmpty(inputId))
@@ -693,10 +712,6 @@ public abstract class InputControl
             input.getAttributes().put("id", inputId);
         }
 
-        // set style class
-        String styleClass = getInputStyleClass(ii, additonalStyle);
-        setInputStyleClass(input, styleClass);
-
         // copy standard attributes
         copyAttribute(ii, input, "style");
         copyAttribute(ii, input, "tabindex");
@@ -719,18 +734,15 @@ public abstract class InputControl
         // input.addValidator(new ColumnValueValidator(ii.getColumn()));
     }
 
-    protected final void copyAttributes(UIComponent parent, InputInfo ii, UIInput input)
+    /**
+     * Do not use any more since CSS style is no longer set here
+     * Hence param "additonalStyle" is obsolete
+     * @param additonalStyle this parameter is obsolete
+     */
+    @Deprecated
+    protected final void copyAttributes(UIComponent parent, InputInfo ii, UIInput input, String additonalStyle)
     {
-        String addlStyles = null;
-        if (ii.isRequired())
-        {   // required
-            addlStyles = TagStyleClass.INPUT_REQ.get();
-        }
-        if (ii.isModified()) 
-        {   // modified
-            addlStyles = TagStyleClass.INPUT_MOD.addTo(addlStyles);
-        }
-        copyAttributes(parent, ii, input, addlStyles);
+        copyAttributes(parent, ii, input);
     }
 
     protected void copyAttribute(InputInfo ii, UIInput input, String name)
@@ -745,22 +757,12 @@ public abstract class InputControl
             input.getAttributes().put(name, String.valueOf(value));
     }
     
-    public void addRemoveValueNullStyle(UIInput input, boolean nullValue)
-    {
-        addRemoveStyle(input, TagStyleClass.VALUE_NULL, nullValue);
-    }
-
-    public void addRemoveDisabledStyle(UIInput input, boolean disabled)
-    {
-        addRemoveStyle(input, TagStyleClass.INPUT_DIS, disabled);
-    }
-
-    public void addRemoveInvalidStyle(UIInput input, boolean invalid)
+    protected void addRemoveValueNullStyle(UIInput input, boolean nullValue)
     {
-        addRemoveStyle(input, TagStyleClass.VALUE_INVALID, invalid);
+        addRemoveStyle(input, TagStyleClass.VALUE_NULL.get(), nullValue);
     }
     
-    public void addRemoveStyle(UIInput input, String styleName, boolean setStyle)
+    protected void addRemoveStyle(UIInput input, String styleName, boolean setStyle)
     {
         String styleClasses = StringUtils.toString(input.getAttributes().get(InputControl.CSS_STYLE_CLASS), "");
         boolean hasStyle = TagStyleClass.existsIn(styleClasses, styleName);
@@ -777,11 +779,6 @@ public abstract class InputControl
         // add Style
         setInputStyleClass(input, styleClasses);
     }
-
-    public final void addRemoveStyle(UIInput input, TagStyleClass style, boolean setStyle)
-    {
-        this.addRemoveStyle(input, style.get(), setStyle);
-    }
     
     /**
      * Returns the value formated as a string
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/RadioInputControl.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/RadioInputControl.java
index fb6c6702..4921db37 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/RadioInputControl.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/RadioInputControl.java
@@ -103,10 +103,9 @@ public class RadioInputControl extends InputControl
     }
     
     @Override
-    protected void copyAttributes(UIComponent parent, InputInfo ii, UIInput input, String additonalStyle)
+    protected void setInputStyleClass(UIInput input, String cssStyleClass)
     {
-        // copy
-        super.copyAttributes(parent, ii, input, TagStyleClass.RADIO.append(additonalStyle));
+        super.setInputStyleClass(input, TagStyleClass.RADIO.append(cssStyleClass));
     }
 
     @Override
@@ -132,8 +131,7 @@ public class RadioInputControl extends InputControl
         // add
         compList.add(input);
         // style
-        addRemoveDisabledStyle(input, disabled);
-        addRemoveInvalidStyle(input, ii.hasError());
+        setInputStyleClass(ii, input);
         // Set Value
         setInputValue(input, ii);
     }
@@ -160,8 +158,7 @@ public class RadioInputControl extends InputControl
         }
         if (phaseId==PhaseId.RENDER_RESPONSE)
         {   // style
-            addRemoveDisabledStyle(input, disabled);
-            addRemoveInvalidStyle(input, ii.hasError());
+            setInputStyleClass(ii, input);
             // set value
             setInputValue(input, ii);
         }
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/SelectInputControl.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/SelectInputControl.java
index dd9cfd63..6ea7b82a 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/SelectInputControl.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/SelectInputControl.java
@@ -44,7 +44,6 @@ import org.apache.empire.data.Column;
 import org.apache.empire.exceptions.InvalidArgumentException;
 import org.apache.empire.exceptions.UnexpectedReturnValueException;
 import org.apache.empire.jsf2.app.TextResolver;
-import org.apache.empire.jsf2.utils.TagStyleClass;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -115,14 +114,13 @@ public class SelectInputControl extends InputControl
         // copy Attributes
         copyAttributes(parent, ii, input);
         // disabled
-        boolean disabled = setDisabled(input, ii);
+        setDisabled(input, ii);
         // Options
         initOptions(input, ii.getTextResolver(), ii);
         // add
         compList.add(input);
         // style
-        addRemoveDisabledStyle(input, disabled);
-        addRemoveInvalidStyle(input, ii.hasError());
+        setInputStyleClass(ii, input);
         // Set Value
         setInputValue(input, ii);
     }
@@ -136,10 +134,8 @@ public class SelectInputControl extends InputControl
             throw new UnexpectedReturnValueException(comp.getClass().getName(), "parent.getChildren()");
         }
         UISelectOne input = (UISelectOne)comp;
-        // required
-        addRemoveStyle(input, TagStyleClass.INPUT_REQ, ii.isRequired());
         // disabled
-        boolean disabled = setDisabled(input, ii);
+        setDisabled(input, ii);
         // check phase
         if (phaseId!=PhaseId.APPLY_REQUEST_VALUES)
         {   // Options (sync)
@@ -147,14 +143,13 @@ public class SelectInputControl extends InputControl
         }
         if (phaseId==PhaseId.RENDER_RESPONSE)
         {   // style
-            addRemoveDisabledStyle(input, disabled);
-            addRemoveInvalidStyle(input, ii.hasError());
+            setInputStyleClass(ii, input);
             // set value
             setInputValue(input, ii);
         }
     }
     
-    protected boolean setDisabled(UISelectOne input, InputInfo ii)
+    protected void setDisabled(UISelectOne input, InputInfo ii)
     {
         boolean disabled = ii.isDisabled();
         if (input instanceof HtmlSelectOneMenu)
@@ -163,7 +158,6 @@ public class SelectInputControl extends InputControl
             ((HtmlSelectOneListbox)input).setDisabled(disabled);
         else
             log.warn("Unable to set disabled attribute!");
-        return disabled;
     }
 
     protected boolean isEmptyEntryRequired(UISelectOne input, Options options, InputInfo ii, Object currentValue)
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextAreaInputControl.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextAreaInputControl.java
index d2e3ed0b..7e2e73c8 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextAreaInputControl.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextAreaInputControl.java
@@ -97,7 +97,7 @@ public class TextAreaInputControl extends InputControl
         // add
         compList.add(input);
         // update
-        updateInputState(compList, ii, context, context.getCurrentPhaseId());
+        updateInputState(compList, ii, context, PhaseId.RENDER_RESPONSE);
     }
     
     @Override
@@ -117,8 +117,7 @@ public class TextAreaInputControl extends InputControl
         // Set Value
         if (phaseId==PhaseId.RENDER_RESPONSE)
         {   // style
-            addRemoveDisabledStyle(input, (disabled!=null && disabled!=DisabledType.NO));
-            addRemoveInvalidStyle(input, ii.hasError());
+            setInputStyleClass(ii, input);
             // set value
             setInputValue(input, ii);
         }    
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java
index 7ef8aa5d..8e457b0d 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java
@@ -223,7 +223,7 @@ public class TextInputControl extends InputControl
             compList.add(createUnitLabel(TagStyleClass.INPUT_HINT.get(), ii, hint));
         }
         // update
-        updateInputState(compList, ii, context, context.getCurrentPhaseId());
+        updateInputState(compList, ii, context, PhaseId.RENDER_RESPONSE);
     }
 
     @Override
@@ -235,34 +235,14 @@ public class TextInputControl extends InputControl
             throw new UnexpectedReturnValueException(comp.getClass().getName(), "compList.get(0)");
         }
         HtmlInputText input = (HtmlInputText) comp;
-        if (ii.isInsideUIData())
-        {   // always reset the style class inside UIData
-            String tagStyle = StringUtils.toString(ii.getAttribute(InputControl.CSS_STYLE_CLASS), null);
-            String cssStyle = getInputStyleClass(ii, tagStyle);
-            input.setStyleClass(cssStyle);
-            /*
-            String curStyle = input.getStyleClass();
-            if (curStyle==null || !curStyle.equals(cssStyle))
-            {   // log.info("{} ->  {} vs '{}'", ii.getColumn().getName(), inpStyle, reqStyle);
-                input.setStyleClass(cssStyle);
-            }
-            */
-        }
-        // required
-        addRemoveStyle(input, TagStyleClass.INPUT_REQ, ii.isRequired());
-        // modified
-        addRemoveStyle(input, TagStyleClass.INPUT_MOD, ii.isModified());
-
         // disabled
         DisabledType disabled = ii.getDisabled();
         input.setReadonly((disabled==DisabledType.READONLY));
         input.setDisabled((disabled==DisabledType.DISABLED));
-        
         // set value
         if (phaseId==PhaseId.RENDER_RESPONSE)
         {   // style
-            addRemoveDisabledStyle(input, (disabled!=null && disabled!=DisabledType.NO));
-            addRemoveInvalidStyle(input, ii.hasError());
+            setInputStyleClass(ii, input);
             // set value
             setInputValue(input, ii);
         }
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 52cb09dd..e6104739 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
@@ -1657,6 +1657,9 @@ public class TagEncodingHelper implements NamingContainer
     {
         if (!ControlRenderInfo.isRenderExtraWrapperStyles())
             return null;
+        /*
+         * Discarded due to missing use-case 
+         * 
         // input Wrapper Class
         String inputClass = (isControlTagElementValid() ? getTagAttributeStringEx(InputControl.CSS_STYLE_CLASS, true) : getTagAttributeString("inputClass")); 
         // append input state
@@ -1664,6 +1667,8 @@ public class TagEncodingHelper implements NamingContainer
             inputClass = (inputClass!=null ? StringUtils.concat(inputClass, " ", TagStyleClass.INPUT_DIS.get()) : TagStyleClass.INPUT_DIS.get());
         // done
         return inputClass;
+        */
+        return null;
     }
     
     /**