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;
}
/**