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 9cf0fd2  EMPIREDB-320 API-change for InputControl.updateInputState 
replacing parameter save (boolean) by phaseId. see JIRA Ticket for details.
9cf0fd2 is described below

commit 9cf0fd2e541c7a551825e45e7edc99fa74f04a54
Author: Rainer Döbele <[email protected]>
AuthorDate: Tue Jan 14 12:27:28 2020 +0100

    EMPIREDB-320
    API-change for InputControl.updateInputState replacing parameter save 
(boolean) by phaseId.
    see JIRA Ticket for details.
---
 .../empire/jsf2/custom/controls/FileInputControl.java |  9 ++++++---
 .../org/apache/empire/jsf2/components/ControlTag.java |  4 ++--
 .../org/apache/empire/jsf2/components/InputTag.java   |  4 ++--
 .../empire/jsf2/controls/CheckboxInputControl.java    | 15 +++++++++------
 .../org/apache/empire/jsf2/controls/InputControl.java |  7 ++++---
 .../empire/jsf2/controls/RadioInputControl.java       | 19 +++++++++++--------
 .../empire/jsf2/controls/SelectInputControl.java      | 13 ++++++++-----
 .../empire/jsf2/controls/TextAreaInputControl.java    |  7 ++++---
 .../apache/empire/jsf2/controls/TextInputControl.java |  7 ++++---
 9 files changed, 50 insertions(+), 35 deletions(-)

diff --git 
a/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/custom/controls/FileInputControl.java
 
b/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/custom/controls/FileInputControl.java
index 2b42e80..aef7ecb 100644
--- 
a/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/custom/controls/FileInputControl.java
+++ 
b/empire-db-examples/empire-db-example-jsf2/src/main/java/org/apache/empire/jsf2/custom/controls/FileInputControl.java
@@ -23,6 +23,7 @@ import java.util.List;
 import javax.faces.component.UIComponent;
 import javax.faces.component.html.HtmlInputText;
 import javax.faces.context.FacesContext;
+import javax.faces.event.PhaseId;
 
 import org.apache.empire.exceptions.InternalException;
 import org.apache.empire.exceptions.UnexpectedReturnValueException;
@@ -64,11 +65,11 @@ public class FileInputControl extends InputControl
         }
         compList.add(input);
         // update
-        updateInputState(compList, ii, context, true);
+        updateInputState(compList, ii, context, context.getCurrentPhaseId());
     }
 
     @Override
-    protected void updateInputState(List<UIComponent> compList, InputInfo ii, 
FacesContext context, boolean setValue)
+    protected void updateInputState(List<UIComponent> compList, InputInfo ii, 
FacesContext context, PhaseId phaseId)
     {
         UIComponent comp = compList.get(0);
         if (!(comp instanceof HtmlInputFile))
@@ -79,8 +80,10 @@ public class FileInputControl extends InputControl
         HtmlInputFile input = (HtmlInputFile) comp;
         input.setDisabled(ii.isDisabled());
         // set value
-        if (setValue)
+        if (phaseId==PhaseId.RENDER_RESPONSE)
+        {   // set value
             setInputValue(input, ii);
+        }
     }
 
     public class HtmlInputFile extends HtmlInputText
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 8c1698a..e89eb58 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
@@ -483,7 +483,7 @@ public class ControlTag extends UIInput implements 
NamingContainer
             }
             else
             {   // Update
-                control.updateInputState(parent, inpInfo, context, true);
+                control.updateInputState(parent, inpInfo, context, 
context.getCurrentPhaseId());
             }
             // set rendered
             boolean renderValue = helper.isRenderValueComponent();
@@ -665,7 +665,7 @@ public class ControlTag extends UIInput implements 
NamingContainer
         if (inpInfo==null)
             inpInfo = helper.getInputInfo(context);
         // update control
-        control.updateInputState(this, inpInfo, context, false);
+        control.updateInputState(this, inpInfo, context, 
context.getCurrentPhaseId());
     }
 
     protected void setRenderInput(boolean renderInput)
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 7736b92..c457cab 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
@@ -180,7 +180,7 @@ public class InputTag extends UIInput implements 
NamingContainer
         }
         else
         {   // update state
-            control.updateInputState(this, inpInfo, context, true);
+            control.updateInputState(this, inpInfo, context, 
context.getCurrentPhaseId());
         }
         
         // set readonly
@@ -376,7 +376,7 @@ public class InputTag extends UIInput implements 
NamingContainer
         if (inpInfo==null)
             inpInfo = helper.getInputInfo(context);
         // update control
-        control.updateInputState(this, inpInfo, context, false);
+        control.updateInputState(this, inpInfo, context, 
context.getCurrentPhaseId());
     }
 
     protected void setRenderInput(boolean renderInput)
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 1507703..ca3ac7f 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
@@ -25,6 +25,7 @@ import javax.faces.component.UIComponent;
 import javax.faces.component.html.HtmlSelectBooleanCheckbox;
 import javax.faces.context.FacesContext;
 import javax.faces.context.ResponseWriter;
+import javax.faces.event.PhaseId;
 
 import org.apache.empire.commons.ObjectUtils;
 import org.apache.empire.exceptions.InvalidArgumentException;
@@ -82,11 +83,11 @@ public class CheckboxInputControl extends InputControl
         // add
         compList.add(input);
         // set style and value
-        updateInputState(compList, ii, context, true);
+        updateInputState(compList, ii, context, context.getCurrentPhaseId());
     }
 
     @Override
-    protected void updateInputState(List<UIComponent> compList, InputInfo ii, 
FacesContext context, boolean setValue)
+    protected void updateInputState(List<UIComponent> compList, InputInfo ii, 
FacesContext context, PhaseId phaseId)
     {
         UIComponent comp = compList.get(0);
         if (!(comp instanceof HtmlSelectBooleanCheckbox))
@@ -97,11 +98,13 @@ public class CheckboxInputControl extends InputControl
         // disabled
         boolean disabled = ii.isDisabled();
         input.setDisabled(disabled);
-        // style
-        addRemoveDisabledStyle(input, input.isDisabled());
-        // set value
-        if (setValue)
+        // check phase
+        if (phaseId==PhaseId.RENDER_RESPONSE)
+        {   // style
+            addRemoveDisabledStyle(input, input.isDisabled());
+            // set value
             setInputValue(input, ii);
+        }
     }
 
     @Override
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 c3d7397..03b7815 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
@@ -31,6 +31,7 @@ import javax.faces.component.UIInput;
 import javax.faces.component.behavior.ClientBehaviorHolder;
 import javax.faces.context.FacesContext;
 import javax.faces.context.ResponseWriter;
+import javax.faces.event.PhaseId;
 
 import org.apache.empire.commons.ObjectUtils;
 import org.apache.empire.commons.Options;
@@ -283,12 +284,12 @@ public abstract class InputControl
         }
     }
     
-    public void updateInputState(UIComponent parent, InputInfo ii, 
FacesContext context, boolean setValue)
+    public void updateInputState(UIComponent parent, InputInfo ii, 
FacesContext context, PhaseId phaseId)
     {
         List<UIComponent> cl = parent.getChildren(); 
         if (cl.isEmpty())
             return;
-        updateInputState(cl, ii, context, setValue);
+        updateInputState(cl, ii, context, phaseId);
         // update attached objects
         List<UIComponent> children = parent.getChildren();
         while (!(parent instanceof UIInput))
@@ -542,7 +543,7 @@ public abstract class InputControl
     /* Input helpers */
     protected abstract void createInputComponents(UIComponent parent, 
InputInfo ii, FacesContext context, List<UIComponent> compList);
 
-    protected abstract void updateInputState(List<UIComponent> compList, 
InputInfo ii, FacesContext context, boolean setValue);
+    protected abstract void updateInputState(List<UIComponent> compList, 
InputInfo ii, FacesContext context, PhaseId phaseId);
     
     protected UIInput getInputComponent(UIComponent parent)
     {
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 955f981..97e0af7 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
@@ -29,6 +29,7 @@ import javax.faces.component.UISelectItem;
 import javax.faces.component.html.HtmlSelectOneRadio;
 import javax.faces.context.FacesContext;
 import javax.faces.context.ResponseWriter;
+import javax.faces.event.PhaseId;
 
 import org.apache.empire.commons.ObjectUtils;
 import org.apache.empire.commons.OptionEntry;
@@ -143,7 +144,7 @@ public class RadioInputControl extends InputControl
     }
     
     @Override
-    protected void updateInputState(List<UIComponent> compList, InputInfo ii, 
FacesContext context, boolean setValue)
+    protected void updateInputState(List<UIComponent> compList, InputInfo ii, 
FacesContext context, PhaseId phaseId)
     {
         UIComponent comp = compList.get(0);
         if (!(comp instanceof HtmlSelectOneRadio))
@@ -154,13 +155,15 @@ public class RadioInputControl extends InputControl
         // disabled
         boolean disabled = ii.isDisabled();
         input.setDisabled(disabled);
-        // Options (sync)
-        Options options = ii.getOptions();
-        boolean addEmpty = getEmptyEntryRequired(ii, disabled) && 
!options.containsNull();
-        String nullText = (addEmpty) ? getNullText(ii) : "";
-        syncOptions(input, ii.getTextResolver(), options, addEmpty, nullText);
-        // Set Value
-        if (setValue)
+        // check phase
+        if (phaseId!=PhaseId.APPLY_REQUEST_VALUES)
+        {   // Options (sync)
+            Options options = ii.getOptions();
+            boolean addEmpty = getEmptyEntryRequired(ii, disabled) && 
!options.containsNull();
+            String nullText = (addEmpty) ? getNullText(ii) : "";
+            syncOptions(input, ii.getTextResolver(), options, addEmpty, 
nullText);
+        }
+        if (phaseId==PhaseId.RENDER_RESPONSE)
         {   // style
             addRemoveDisabledStyle(input, input.isDisabled());
             addRemoveInvalidStyle(input, ii.hasError());
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 2a06c40..c9021c3 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
@@ -26,6 +26,7 @@ import javax.faces.component.UIComponent;
 import javax.faces.component.UISelectItem;
 import javax.faces.component.html.HtmlSelectOneMenu;
 import javax.faces.context.FacesContext;
+import javax.faces.event.PhaseId;
 
 import org.apache.empire.commons.ObjectUtils;
 import org.apache.empire.commons.OptionEntry;
@@ -95,7 +96,7 @@ public class SelectInputControl extends InputControl
     }
     
     @Override
-    protected void updateInputState(List<UIComponent> compList, InputInfo ii, 
FacesContext context, boolean setValue)
+    protected void updateInputState(List<UIComponent> compList, InputInfo ii, 
FacesContext context, PhaseId phaseId)
     {
         UIComponent comp = compList.get(0);
         if (!(comp instanceof HtmlSelectOneMenu))
@@ -108,10 +109,12 @@ public class SelectInputControl extends InputControl
         // disabled
         boolean disabled = ii.isDisabled();
         input.setDisabled(disabled);
-        // Options (sync)
-        syncOptions(input, ii.getTextResolver(), ii);
-        // set value
-        if (setValue)
+        // check phase
+        if (phaseId!=PhaseId.APPLY_REQUEST_VALUES)
+        {   // Options (sync)
+            syncOptions(input, ii.getTextResolver(), ii);
+        }
+        if (phaseId==PhaseId.RENDER_RESPONSE)
         {   // style
             addRemoveDisabledStyle(input, input.isDisabled());
             addRemoveInvalidStyle(input, ii.hasError());
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 d313ea5..ae7aceb 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
@@ -23,6 +23,7 @@ import java.util.List;
 import javax.faces.component.UIComponent;
 import javax.faces.component.html.HtmlInputTextarea;
 import javax.faces.context.FacesContext;
+import javax.faces.event.PhaseId;
 
 import org.apache.empire.commons.ObjectUtils;
 import org.apache.empire.commons.StringUtils;
@@ -75,11 +76,11 @@ public class TextAreaInputControl extends InputControl
         // add
         compList.add(input);
         // update
-        updateInputState(compList, ii, context, true);
+        updateInputState(compList, ii, context, context.getCurrentPhaseId());
     }
     
     @Override
-    protected void updateInputState(List<UIComponent> compList, InputInfo ii, 
FacesContext context, boolean setValue)
+    protected void updateInputState(List<UIComponent> compList, InputInfo ii, 
FacesContext context, PhaseId phaseId)
     {
         UIComponent comp = compList.get(0);
         if (!(comp instanceof HtmlInputTextarea))
@@ -95,7 +96,7 @@ public class TextAreaInputControl extends InputControl
         if (ObjectUtils.getBoolean(dis)==false)
             input.setReadonly(ii.isFieldReadOnly());
         // Set Value
-        if (setValue)
+        if (phaseId==PhaseId.RENDER_RESPONSE)
         {   // style
             addRemoveDisabledStyle(input, (input.isDisabled() || 
input.isReadonly()));
             addRemoveInvalidStyle(input, ii.hasError());
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 cdef3b1..2491ec8 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
@@ -34,6 +34,7 @@ import javax.faces.component.html.HtmlOutputText;
 import javax.faces.component.html.HtmlPanelGroup;
 import javax.faces.context.FacesContext;
 import javax.faces.context.ResponseWriter;
+import javax.faces.event.PhaseId;
 
 import org.apache.empire.commons.ObjectUtils;
 import org.apache.empire.commons.Options;
@@ -108,11 +109,11 @@ public class TextInputControl extends InputControl
             compList.add(createUnitLabel("eInputHint", ii, hint));
         }
         // update
-        updateInputState(compList, ii, context, true);
+        updateInputState(compList, ii, context, context.getCurrentPhaseId());
     }
 
     @Override
-    protected void updateInputState(List<UIComponent> compList, InputInfo ii, 
FacesContext context, boolean setValue)
+    protected void updateInputState(List<UIComponent> compList, InputInfo ii, 
FacesContext context, PhaseId phaseId)
     {
         UIComponent comp = compList.get(0);
         if (!(comp instanceof HtmlInputText))
@@ -132,7 +133,7 @@ public class TextInputControl extends InputControl
             input.setReadonly(ii.isFieldReadOnly());
         }
         // set value
-        if (setValue)
+        if (phaseId==PhaseId.RENDER_RESPONSE)
         {   // style
             addRemoveDisabledStyle(input, (input.isDisabled() || 
input.isReadonly()));
             addRemoveInvalidStyle(input, ii.hasError());

Reply via email to