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 aa0841ac EMPIREDB-456 TagEncodingHelper: allow column reset aa0841ac is described below commit aa0841acb905a420022dcfd262c4253090efbfc0 Author: Rainer Döbele <doeb...@apache.org> AuthorDate: Wed Jul 23 15:26:11 2025 +0200 EMPIREDB-456 TagEncodingHelper: allow column reset --- .../apache/empire/jakarta/components/ControlTag.java | 12 ++++++++++-- .../apache/empire/jakarta/components/FormGridTag.java | 12 +++++++++--- .../apache/empire/jakarta/components/InputTag.java | 12 ++++++++++-- .../apache/empire/jakarta/components/LabelTag.java | 11 +++++++++-- .../org/apache/empire/jakarta/components/LinkTag.java | 12 +++++++++--- .../apache/empire/jakarta/components/MenuItemTag.java | 3 +-- .../apache/empire/jakarta/components/MenuListTag.java | 12 +++++++++--- .../org/apache/empire/jakarta/components/NbspTag.java | 8 ++++---- .../apache/empire/jakarta/components/RecordTag.java | 5 +++-- .../apache/empire/jakarta/components/SelectTag.java | 4 +++- .../apache/empire/jakarta/components/TabPageTag.java | 13 ++++++++++--- .../apache/empire/jakarta/components/TabViewTag.java | 12 +++++++++--- .../apache/empire/jakarta/components/TitleTag.java | 11 +++++++++-- .../org/apache/empire/jakarta/components/UnitTag.java | 19 +++++++++++++------ .../apache/empire/jakarta/components/ValueTag.java | 11 +++++++++-- .../empire/jakarta/utils/TagEncodingHelper.java | 9 +++++++++ .../jakarta/utils/TagEncodingHelperFactory.java | 8 ++++++++ .../org/apache/empire/jsf2/components/ControlTag.java | 12 ++++++++++-- .../apache/empire/jsf2/components/FormGridTag.java | 12 +++++++++--- .../org/apache/empire/jsf2/components/InputTag.java | 12 ++++++++++-- .../org/apache/empire/jsf2/components/LabelTag.java | 11 +++++++++-- .../org/apache/empire/jsf2/components/LinkTag.java | 12 +++++++++--- .../apache/empire/jsf2/components/MenuItemTag.java | 3 +-- .../apache/empire/jsf2/components/MenuListTag.java | 12 +++++++++--- .../org/apache/empire/jsf2/components/NbspTag.java | 4 ++-- .../org/apache/empire/jsf2/components/RecordTag.java | 5 +++-- .../org/apache/empire/jsf2/components/SelectTag.java | 4 +++- .../org/apache/empire/jsf2/components/TabPageTag.java | 13 ++++++++++--- .../org/apache/empire/jsf2/components/TabViewTag.java | 12 +++++++++--- .../org/apache/empire/jsf2/components/TitleTag.java | 11 +++++++++-- .../org/apache/empire/jsf2/components/UnitTag.java | 11 +++++++++-- .../org/apache/empire/jsf2/components/ValueTag.java | 11 +++++++++-- .../apache/empire/jsf2/utils/TagEncodingHelper.java | 11 ++++++++++- .../empire/jsf2/utils/TagEncodingHelperFactory.java | 8 ++++++++ 34 files changed, 263 insertions(+), 75 deletions(-) diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java index 654fbbcf..003a1308 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ControlTag.java @@ -28,6 +28,7 @@ import org.apache.empire.jakarta.utils.ControlRenderInfo; import org.apache.empire.jakarta.utils.StyleClass; import org.apache.empire.jakarta.utils.TagEncodingHelper; import org.apache.empire.jakarta.utils.TagEncodingHelperFactory; +import org.apache.empire.jakarta.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jakarta.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,7 +46,7 @@ import jakarta.faces.context.FacesContext; import jakarta.faces.context.ResponseWriter; import jakarta.faces.convert.ConverterException; -public class ControlTag extends UIInput implements NamingContainer +public class ControlTag extends UIInput implements NamingContainer, TagEncodingHolder { /** * ControlSeparatorComponent @@ -258,7 +259,14 @@ public class ControlTag extends UIInput implements NamingContainer @Override public String getFamily() { - return "jakarta.faces.NamingContainer"; + // return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } protected void saveState() diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/FormGridTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/FormGridTag.java index 4e61c233..2df24105 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/FormGridTag.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/FormGridTag.java @@ -25,17 +25,17 @@ import org.apache.empire.jakarta.controls.InputControl; import org.apache.empire.jakarta.utils.ControlRenderInfo; import org.apache.empire.jakarta.utils.TagEncodingHelper; import org.apache.empire.jakarta.utils.TagEncodingHelperFactory; +import org.apache.empire.jakarta.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jakarta.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import jakarta.faces.component.UIComponent; -import jakarta.faces.component.UINamingContainer; import jakarta.faces.component.UIOutput; import jakarta.faces.context.FacesContext; import jakarta.faces.context.ResponseWriter; -public class FormGridTag extends UIOutput // implements NamingContainer +public class FormGridTag extends UIOutput implements TagEncodingHolder { // Logger private static final Logger log = LoggerFactory.getLogger(FormGridTag.class); @@ -142,7 +142,13 @@ public class FormGridTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } @Override diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/InputTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/InputTag.java index e8bdb8ba..a805e036 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/InputTag.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/InputTag.java @@ -27,6 +27,7 @@ import org.apache.empire.jakarta.utils.ControlRenderInfo; import org.apache.empire.jakarta.utils.StyleClass; import org.apache.empire.jakarta.utils.TagEncodingHelper; import org.apache.empire.jakarta.utils.TagEncodingHelperFactory; +import org.apache.empire.jakarta.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jakarta.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,7 +43,7 @@ import jakarta.faces.context.ResponseWriter; import jakarta.faces.convert.ConverterException; import jakarta.faces.view.AttachedObjectHandler; -public class InputTag extends UIInput implements NamingContainer +public class InputTag extends UIInput implements NamingContainer, TagEncodingHolder { // Logger private static final Logger log = LoggerFactory.getLogger(InputTag.class); @@ -78,7 +79,14 @@ public class InputTag extends UIInput implements NamingContainer @Override public String getFamily() { - return "jakarta.faces.NamingContainer"; + // return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } protected void saveState() diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/LabelTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/LabelTag.java index e237290e..7c5e6ac6 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/LabelTag.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/LabelTag.java @@ -25,6 +25,7 @@ import org.apache.empire.jakarta.controls.InputControl; import org.apache.empire.jakarta.utils.StyleClass; import org.apache.empire.jakarta.utils.TagEncodingHelper; import org.apache.empire.jakarta.utils.TagEncodingHelperFactory; +import org.apache.empire.jakarta.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jakarta.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,7 +36,7 @@ import jakarta.faces.component.visit.VisitCallback; import jakarta.faces.component.visit.VisitContext; import jakarta.faces.context.FacesContext; -public class LabelTag extends UIOutput // implements NamingContainer +public class LabelTag extends UIOutput implements TagEncodingHolder { // Logger private static final Logger log = LoggerFactory.getLogger(LabelTag.class); @@ -52,7 +53,13 @@ public class LabelTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return "jakarta.faces.NamingContainer"; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } /** diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/LinkTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/LinkTag.java index 9f9c7869..f4f4ae01 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/LinkTag.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/LinkTag.java @@ -33,12 +33,12 @@ import org.apache.empire.jakarta.utils.ParameterMap; import org.apache.empire.jakarta.utils.StyleClass; import org.apache.empire.jakarta.utils.TagEncodingHelper; import org.apache.empire.jakarta.utils.TagEncodingHelperFactory; +import org.apache.empire.jakarta.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jakarta.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import jakarta.faces.component.UIComponent; -import jakarta.faces.component.UINamingContainer; import jakarta.faces.component.UIOutput; import jakarta.faces.component.UIPanel; import jakarta.faces.component.UIParameter; @@ -49,7 +49,7 @@ import jakarta.faces.component.visit.VisitContext; import jakarta.faces.context.FacesContext; import jakarta.faces.context.ResponseWriter; -public class LinkTag extends UIOutput // implements NamingContainer +public class LinkTag extends UIOutput implements TagEncodingHolder { // or HtmlOutcomeTargetLink // or HtmlOutputLink @@ -83,7 +83,13 @@ public class LinkTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } /** diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/MenuItemTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/MenuItemTag.java index 550beb15..1d0bb5b0 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/MenuItemTag.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/MenuItemTag.java @@ -28,7 +28,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import jakarta.faces.component.UIComponent; -import jakarta.faces.component.UINamingContainer; import jakarta.faces.component.html.HtmlOutcomeTargetLink; import jakarta.faces.context.FacesContext; import jakarta.faces.context.ResponseWriter; @@ -49,7 +48,7 @@ public class MenuItemTag extends LinkTag @Override public String getFamily() { - return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; } /* diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/MenuListTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/MenuListTag.java index 5e3303b2..51257ae2 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/MenuListTag.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/MenuListTag.java @@ -24,15 +24,15 @@ import org.apache.empire.commons.StringUtils; import org.apache.empire.jakarta.controls.InputControl; import org.apache.empire.jakarta.utils.TagEncodingHelper; import org.apache.empire.jakarta.utils.TagEncodingHelperFactory; +import org.apache.empire.jakarta.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jakarta.utils.TagStyleClass; import jakarta.faces.component.UIComponent; -import jakarta.faces.component.UINamingContainer; import jakarta.faces.component.UIOutput; import jakarta.faces.context.FacesContext; import jakarta.faces.context.ResponseWriter; -public class MenuListTag extends UIOutput // implements NamingContainer +public class MenuListTag extends UIOutput implements TagEncodingHolder { // Logger // private static final Logger log = LoggerFactory.getLogger(MenuListTag.class); @@ -64,7 +64,13 @@ public class MenuListTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } @Override diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/NbspTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/NbspTag.java index d3953dd6..8eefd8a2 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/NbspTag.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/NbspTag.java @@ -20,13 +20,13 @@ package org.apache.empire.jakarta.components; import java.io.IOException; -import jakarta.faces.component.UINamingContainer; +import org.apache.empire.commons.ObjectUtils; +import org.apache.empire.jakarta.utils.TagEncodingHelper; + import jakarta.faces.component.UIOutput; import jakarta.faces.context.FacesContext; import jakarta.faces.context.ResponseWriter; -import org.apache.empire.commons.ObjectUtils; - public class NbspTag extends UIOutput // implements NamingContainer { // private int count = 1; @@ -34,7 +34,7 @@ public class NbspTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; } @Override diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/RecordTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/RecordTag.java index 98992d4e..f5c9db48 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/RecordTag.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/RecordTag.java @@ -23,10 +23,11 @@ import jakarta.faces.component.UIComponentBase; import org.apache.empire.commons.ObjectUtils; import org.apache.empire.data.Record; import org.apache.empire.data.RecordData; +import org.apache.empire.jakarta.utils.TagEncodingHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class RecordTag extends UIComponentBase // implements NamingContainer +public class RecordTag extends UIComponentBase { // Logger private static final Logger log = LoggerFactory.getLogger(RecordTag.class); @@ -39,7 +40,7 @@ public class RecordTag extends UIComponentBase // implements NamingContainer @Override public String getFamily() { - return "jakarta.faces.NamingContainer"; + return TagEncodingHelper.COMPONENT_FAMILY; } public Object getRecord() 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 1b777db6..65462316 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 @@ -38,6 +38,7 @@ import org.apache.empire.jakarta.controls.InputControl.InputInfo; import org.apache.empire.jakarta.controls.InputControlManager; import org.apache.empire.jakarta.controls.SelectInputControl; import org.apache.empire.jakarta.utils.StyleClass; +import org.apache.empire.jakarta.utils.TagEncodingHelper; import org.apache.empire.jakarta.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -201,7 +202,8 @@ public class SelectTag extends UIInput implements NamingContainer @Override public String getFamily() { - return "jakarta.faces.NamingContainer"; + // return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; } /** diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TabPageTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TabPageTag.java index 4e56f2c4..909f8c25 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TabPageTag.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TabPageTag.java @@ -25,19 +25,19 @@ import org.apache.empire.jakarta.components.TabViewTag.TabViewMode; import org.apache.empire.jakarta.controls.InputControl; import org.apache.empire.jakarta.utils.TagEncodingHelper; import org.apache.empire.jakarta.utils.TagEncodingHelperFactory; +import org.apache.empire.jakarta.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jakarta.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import jakarta.faces.component.NamingContainer; import jakarta.faces.component.UIComponent; -import jakarta.faces.component.UINamingContainer; import jakarta.faces.component.UIOutput; import jakarta.faces.component.UIPanel; import jakarta.faces.context.FacesContext; import jakarta.faces.context.ResponseWriter; -public class TabPageTag extends UIOutput implements NamingContainer +public class TabPageTag extends UIOutput implements NamingContainer, TagEncodingHolder { // Logger private static final Logger log = LoggerFactory.getLogger(TabPageTag.class); @@ -51,7 +51,14 @@ public class TabPageTag extends UIOutput implements NamingContainer @Override public String getFamily() { - return UINamingContainer.COMPONENT_FAMILY; + // return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } @Override diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TabViewTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TabViewTag.java index a9bcefd4..51a65bca 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TabViewTag.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TabViewTag.java @@ -31,6 +31,7 @@ import org.apache.empire.jakarta.controls.InputControlManager; import org.apache.empire.jakarta.utils.StyleClass; import org.apache.empire.jakarta.utils.TagEncodingHelper; import org.apache.empire.jakarta.utils.TagEncodingHelperFactory; +import org.apache.empire.jakarta.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jakarta.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,7 +39,6 @@ import org.slf4j.LoggerFactory; import jakarta.el.MethodExpression; import jakarta.el.ValueExpression; import jakarta.faces.component.UIComponent; -import jakarta.faces.component.UINamingContainer; import jakarta.faces.component.UIOutput; import jakarta.faces.component.html.HtmlCommandLink; import jakarta.faces.context.FacesContext; @@ -47,7 +47,7 @@ import jakarta.faces.event.AbortProcessingException; import jakarta.faces.event.ActionEvent; import jakarta.faces.event.ActionListener; -public class TabViewTag extends UIOutput // implements NamingContainer +public class TabViewTag extends UIOutput implements TagEncodingHolder { // Logger private static final Logger log = LoggerFactory.getLogger(TabViewTag.class); @@ -153,7 +153,13 @@ public class TabViewTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } public TabViewMode getViewMode() diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TitleTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TitleTag.java index f66c705f..5001e764 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TitleTag.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TitleTag.java @@ -28,6 +28,7 @@ import org.apache.empire.jakarta.controls.InputControl; import org.apache.empire.jakarta.utils.StyleClass; import org.apache.empire.jakarta.utils.TagEncodingHelper; import org.apache.empire.jakarta.utils.TagEncodingHelperFactory; +import org.apache.empire.jakarta.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jakarta.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,7 +37,7 @@ import jakarta.faces.component.UIOutput; import jakarta.faces.context.FacesContext; import jakarta.faces.context.ResponseWriter; -public class TitleTag extends UIOutput // implements NamingContainer +public class TitleTag extends UIOutput implements TagEncodingHolder { // Logger private static final Logger log = LoggerFactory.getLogger(TitleTag.class); @@ -51,7 +52,13 @@ public class TitleTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return "jakarta.faces.NamingContainer"; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } @Override diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/UnitTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/UnitTag.java index cc6625c4..3c4c99b6 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/UnitTag.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/UnitTag.java @@ -20,20 +20,21 @@ package org.apache.empire.jakarta.components; import java.io.IOException; -import jakarta.faces.component.UIOutput; -import jakarta.faces.context.FacesContext; -import jakarta.faces.context.ResponseWriter; - import org.apache.empire.commons.StringUtils; import org.apache.empire.data.Column; import org.apache.empire.exceptions.InvalidArgumentException; import org.apache.empire.jakarta.controls.TextInputControl; import org.apache.empire.jakarta.utils.TagEncodingHelper; import org.apache.empire.jakarta.utils.TagEncodingHelperFactory; +import org.apache.empire.jakarta.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class UnitTag extends UIOutput // implements NamingContainer +import jakarta.faces.component.UIOutput; +import jakarta.faces.context.FacesContext; +import jakarta.faces.context.ResponseWriter; + +public class UnitTag extends UIOutput implements TagEncodingHolder { // Logger private static final Logger log = LoggerFactory.getLogger(UnitTag.class); @@ -50,7 +51,13 @@ public class UnitTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return "jakarta.faces.NamingContainer"; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } @Override diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ValueTag.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ValueTag.java index 57fac671..894cccac 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ValueTag.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/ValueTag.java @@ -25,6 +25,7 @@ import org.apache.empire.jakarta.controls.InputControl; import org.apache.empire.jakarta.utils.StyleClass; import org.apache.empire.jakarta.utils.TagEncodingHelper; import org.apache.empire.jakarta.utils.TagEncodingHelperFactory; +import org.apache.empire.jakarta.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jakarta.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -33,7 +34,7 @@ import jakarta.faces.component.UIOutput; import jakarta.faces.context.FacesContext; import jakarta.faces.context.ResponseWriter; -public class ValueTag extends UIOutput // implements NamingContainer +public class ValueTag extends UIOutput implements TagEncodingHolder { // Logger @@ -49,7 +50,13 @@ public class ValueTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return "jakarta.faces.NamingContainer"; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } @Override 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 fa010462..f765dbdf 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 @@ -77,6 +77,7 @@ import jakarta.faces.component.NamingContainer; import jakarta.faces.component.UIComponent; import jakarta.faces.component.UIData; import jakarta.faces.component.UIInput; +import jakarta.faces.component.UINamingContainer; import jakarta.faces.component.UIOutput; import jakarta.faces.component.html.HtmlOutputLabel; import jakarta.faces.component.html.HtmlOutputText; @@ -90,6 +91,8 @@ import jakarta.faces.context.ResponseWriter; */ public class TagEncodingHelper implements NamingContainer { + public static final String COMPONENT_FAMILY = UINamingContainer.COMPONENT_FAMILY; + public static final String FACES_ID_PREFIX = "j_id"; // Standard Faces ID Prefix public static boolean CSS_STYLE_USE_INPUT_TYPE_INSTEAD_OF_DATA_TYPE = true; @@ -745,6 +748,12 @@ public class TagEncodingHelper implements NamingContainer if (this.valueInfo!=null) ((ValueInfoImpl)this.valueInfo).reset(); } + + public void resetColumn() + { + this.column = null; + reset(); + } public Object findRecordComponent() { diff --git a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagEncodingHelperFactory.java b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagEncodingHelperFactory.java index c065c324..c66d4c2e 100644 --- a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagEncodingHelperFactory.java +++ b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/utils/TagEncodingHelperFactory.java @@ -22,6 +22,14 @@ import jakarta.faces.component.UIOutput; public abstract class TagEncodingHelperFactory { + /** + * TagEncodingHolder + */ + public static interface TagEncodingHolder + { + TagEncodingHelper getEncodingHelper(); + } + /** * DefaultTagEncodingHelperFactory * Factory creating instances of TagEncodingHelper 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 d4d5eadd..23f1e6e9 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 @@ -42,10 +42,11 @@ import org.apache.empire.jsf2.utils.StyleClass; import org.apache.empire.jsf2.utils.TagEncodingHelper; import org.apache.empire.jsf2.utils.TagEncodingHelperFactory; import org.apache.empire.jsf2.utils.TagStyleClass; +import org.apache.empire.jsf2.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class ControlTag extends UIInput implements NamingContainer +public class ControlTag extends UIInput implements NamingContainer, TagEncodingHolder { /** * ControlSeparatorComponent @@ -258,7 +259,14 @@ public class ControlTag extends UIInput implements NamingContainer @Override public String getFamily() { - return "javax.faces.NamingContainer"; + // return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } protected void saveState() diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/FormGridTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/FormGridTag.java index 4155b6be..e52d2e67 100644 --- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/FormGridTag.java +++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/FormGridTag.java @@ -21,7 +21,6 @@ package org.apache.empire.jsf2.components; import java.io.IOException; import javax.faces.component.UIComponent; -import javax.faces.component.UINamingContainer; import javax.faces.component.UIOutput; import javax.faces.context.FacesContext; import javax.faces.context.ResponseWriter; @@ -31,11 +30,12 @@ import org.apache.empire.jsf2.controls.InputControl; import org.apache.empire.jsf2.utils.ControlRenderInfo; import org.apache.empire.jsf2.utils.TagEncodingHelper; import org.apache.empire.jsf2.utils.TagEncodingHelperFactory; +import org.apache.empire.jsf2.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jsf2.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class FormGridTag extends UIOutput // implements NamingContainer +public class FormGridTag extends UIOutput implements TagEncodingHolder { // Logger private static final Logger log = LoggerFactory.getLogger(FormGridTag.class); @@ -142,7 +142,13 @@ public class FormGridTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } @Override 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 a700efaa..75af3264 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 @@ -38,11 +38,12 @@ import org.apache.empire.jsf2.utils.ControlRenderInfo; import org.apache.empire.jsf2.utils.StyleClass; import org.apache.empire.jsf2.utils.TagEncodingHelper; import org.apache.empire.jsf2.utils.TagEncodingHelperFactory; +import org.apache.empire.jsf2.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jsf2.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class InputTag extends UIInput implements NamingContainer +public class InputTag extends UIInput implements NamingContainer, TagEncodingHolder { // Logger private static final Logger log = LoggerFactory.getLogger(InputTag.class); @@ -78,7 +79,14 @@ public class InputTag extends UIInput implements NamingContainer @Override public String getFamily() { - return "javax.faces.NamingContainer"; + // return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } protected void saveState() diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/LabelTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/LabelTag.java index 86204e46..4593cd9b 100644 --- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/LabelTag.java +++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/LabelTag.java @@ -32,10 +32,11 @@ import org.apache.empire.jsf2.utils.StyleClass; import org.apache.empire.jsf2.utils.TagEncodingHelper; import org.apache.empire.jsf2.utils.TagEncodingHelperFactory; import org.apache.empire.jsf2.utils.TagStyleClass; +import org.apache.empire.jsf2.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class LabelTag extends UIOutput // implements NamingContainer +public class LabelTag extends UIOutput implements TagEncodingHolder { // Logger private static final Logger log = LoggerFactory.getLogger(LabelTag.class); @@ -52,7 +53,13 @@ public class LabelTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return "javax.faces.NamingContainer"; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } /** diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/LinkTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/LinkTag.java index 20dee572..e48ea718 100644 --- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/LinkTag.java +++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/LinkTag.java @@ -23,7 +23,6 @@ import java.util.List; import java.util.Map; import javax.faces.component.UIComponent; -import javax.faces.component.UINamingContainer; import javax.faces.component.UIOutput; import javax.faces.component.UIPanel; import javax.faces.component.UIParameter; @@ -45,11 +44,12 @@ import org.apache.empire.jsf2.utils.ParameterMap; import org.apache.empire.jsf2.utils.StyleClass; import org.apache.empire.jsf2.utils.TagEncodingHelper; import org.apache.empire.jsf2.utils.TagEncodingHelperFactory; +import org.apache.empire.jsf2.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jsf2.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class LinkTag extends UIOutput // implements NamingContainer +public class LinkTag extends UIOutput implements TagEncodingHolder { // or HtmlOutcomeTargetLink // or HtmlOutputLink @@ -83,7 +83,13 @@ public class LinkTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } /** diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/MenuItemTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/MenuItemTag.java index b8023c4f..c2f122d4 100644 --- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/MenuItemTag.java +++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/MenuItemTag.java @@ -21,7 +21,6 @@ package org.apache.empire.jsf2.components; import java.io.IOException; import javax.faces.component.UIComponent; -import javax.faces.component.UINamingContainer; import javax.faces.component.html.HtmlOutcomeTargetLink; import javax.faces.context.FacesContext; import javax.faces.context.ResponseWriter; @@ -49,7 +48,7 @@ public class MenuItemTag extends LinkTag @Override public String getFamily() { - return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; } /* diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/MenuListTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/MenuListTag.java index 43914247..c4cc2393 100644 --- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/MenuListTag.java +++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/MenuListTag.java @@ -21,7 +21,6 @@ package org.apache.empire.jsf2.components; import java.io.IOException; import javax.faces.component.UIComponent; -import javax.faces.component.UINamingContainer; import javax.faces.component.UIOutput; import javax.faces.context.FacesContext; import javax.faces.context.ResponseWriter; @@ -30,9 +29,10 @@ import org.apache.empire.commons.StringUtils; import org.apache.empire.jsf2.controls.InputControl; import org.apache.empire.jsf2.utils.TagEncodingHelper; import org.apache.empire.jsf2.utils.TagEncodingHelperFactory; +import org.apache.empire.jsf2.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jsf2.utils.TagStyleClass; -public class MenuListTag extends UIOutput // implements NamingContainer +public class MenuListTag extends UIOutput implements TagEncodingHolder { // Logger // private static final Logger log = LoggerFactory.getLogger(MenuListTag.class); @@ -64,7 +64,13 @@ public class MenuListTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } @Override diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/NbspTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/NbspTag.java index 00cad899..552a976d 100644 --- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/NbspTag.java +++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/NbspTag.java @@ -20,12 +20,12 @@ package org.apache.empire.jsf2.components; import java.io.IOException; -import javax.faces.component.UINamingContainer; import javax.faces.component.UIOutput; import javax.faces.context.FacesContext; import javax.faces.context.ResponseWriter; import org.apache.empire.commons.ObjectUtils; +import org.apache.empire.jsf2.utils.TagEncodingHelper; public class NbspTag extends UIOutput // implements NamingContainer { @@ -34,7 +34,7 @@ public class NbspTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; } @Override diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/RecordTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/RecordTag.java index 0d8052ff..82fea04b 100644 --- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/RecordTag.java +++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/RecordTag.java @@ -23,10 +23,11 @@ import javax.faces.component.UIComponentBase; import org.apache.empire.commons.ObjectUtils; import org.apache.empire.data.Record; import org.apache.empire.data.RecordData; +import org.apache.empire.jsf2.utils.TagEncodingHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class RecordTag extends UIComponentBase // implements NamingContainer +public class RecordTag extends UIComponentBase { // Logger private static final Logger log = LoggerFactory.getLogger(RecordTag.class); @@ -39,7 +40,7 @@ public class RecordTag extends UIComponentBase // implements NamingContainer @Override public String getFamily() { - return "javax.faces.NamingContainer"; + return TagEncodingHelper.COMPONENT_FAMILY; } public Object getRecord() 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 9f673947..580fe001 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 @@ -47,6 +47,7 @@ import org.apache.empire.jsf2.controls.InputControl.InputInfo; import org.apache.empire.jsf2.controls.InputControlManager; import org.apache.empire.jsf2.controls.SelectInputControl; import org.apache.empire.jsf2.utils.StyleClass; +import org.apache.empire.jsf2.utils.TagEncodingHelper; import org.apache.empire.jsf2.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -201,7 +202,8 @@ public class SelectTag extends UIInput implements NamingContainer @Override public String getFamily() { - return "javax.faces.NamingContainer"; + // return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; } /** diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabPageTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabPageTag.java index 56b7ee02..ec1bcc49 100644 --- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabPageTag.java +++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabPageTag.java @@ -22,7 +22,6 @@ import java.io.IOException; import javax.faces.component.NamingContainer; import javax.faces.component.UIComponent; -import javax.faces.component.UINamingContainer; import javax.faces.component.UIOutput; import javax.faces.component.UIPanel; import javax.faces.context.FacesContext; @@ -33,11 +32,12 @@ import org.apache.empire.jsf2.components.TabViewTag.TabViewMode; import org.apache.empire.jsf2.controls.InputControl; import org.apache.empire.jsf2.utils.TagEncodingHelper; import org.apache.empire.jsf2.utils.TagEncodingHelperFactory; +import org.apache.empire.jsf2.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jsf2.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class TabPageTag extends UIOutput implements NamingContainer +public class TabPageTag extends UIOutput implements NamingContainer, TagEncodingHolder { // Logger private static final Logger log = LoggerFactory.getLogger(TabPageTag.class); @@ -51,7 +51,14 @@ public class TabPageTag extends UIOutput implements NamingContainer @Override public String getFamily() { - return UINamingContainer.COMPONENT_FAMILY; + // return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } @Override diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabViewTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabViewTag.java index 9b2187d4..76db3887 100644 --- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabViewTag.java +++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabViewTag.java @@ -25,7 +25,6 @@ import java.util.List; import javax.el.MethodExpression; import javax.el.ValueExpression; import javax.faces.component.UIComponent; -import javax.faces.component.UINamingContainer; import javax.faces.component.UIOutput; import javax.faces.component.html.HtmlCommandLink; import javax.faces.context.FacesContext; @@ -43,11 +42,12 @@ import org.apache.empire.jsf2.controls.InputControlManager; import org.apache.empire.jsf2.utils.StyleClass; import org.apache.empire.jsf2.utils.TagEncodingHelper; import org.apache.empire.jsf2.utils.TagEncodingHelperFactory; +import org.apache.empire.jsf2.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.apache.empire.jsf2.utils.TagStyleClass; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class TabViewTag extends UIOutput // implements NamingContainer +public class TabViewTag extends UIOutput implements TagEncodingHolder { // Logger private static final Logger log = LoggerFactory.getLogger(TabViewTag.class); @@ -153,7 +153,13 @@ public class TabViewTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return UINamingContainer.COMPONENT_FAMILY; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } public TabViewMode getViewMode() diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TitleTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TitleTag.java index 4e7c0de8..5850938a 100644 --- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TitleTag.java +++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TitleTag.java @@ -33,10 +33,11 @@ import org.apache.empire.jsf2.utils.StyleClass; import org.apache.empire.jsf2.utils.TagEncodingHelper; import org.apache.empire.jsf2.utils.TagEncodingHelperFactory; import org.apache.empire.jsf2.utils.TagStyleClass; +import org.apache.empire.jsf2.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class TitleTag extends UIOutput // implements NamingContainer +public class TitleTag extends UIOutput implements TagEncodingHolder { // Logger private static final Logger log = LoggerFactory.getLogger(TitleTag.class); @@ -51,7 +52,13 @@ public class TitleTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return "javax.faces.NamingContainer"; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } @Override diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/UnitTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/UnitTag.java index 0a03dbbc..1ee5b7e8 100644 --- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/UnitTag.java +++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/UnitTag.java @@ -30,10 +30,11 @@ import org.apache.empire.exceptions.InvalidArgumentException; import org.apache.empire.jsf2.controls.TextInputControl; import org.apache.empire.jsf2.utils.TagEncodingHelper; import org.apache.empire.jsf2.utils.TagEncodingHelperFactory; +import org.apache.empire.jsf2.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class UnitTag extends UIOutput // implements NamingContainer +public class UnitTag extends UIOutput implements TagEncodingHolder { // Logger private static final Logger log = LoggerFactory.getLogger(UnitTag.class); @@ -50,7 +51,13 @@ public class UnitTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return "javax.faces.NamingContainer"; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } @Override diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ValueTag.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ValueTag.java index 005bfaab..6954b460 100644 --- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ValueTag.java +++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/ValueTag.java @@ -30,10 +30,11 @@ import org.apache.empire.jsf2.utils.StyleClass; import org.apache.empire.jsf2.utils.TagEncodingHelper; import org.apache.empire.jsf2.utils.TagEncodingHelperFactory; import org.apache.empire.jsf2.utils.TagStyleClass; +import org.apache.empire.jsf2.utils.TagEncodingHelperFactory.TagEncodingHolder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class ValueTag extends UIOutput // implements NamingContainer +public class ValueTag extends UIOutput implements TagEncodingHolder { // Logger @@ -49,7 +50,13 @@ public class ValueTag extends UIOutput // implements NamingContainer @Override public String getFamily() { - return "javax.faces.NamingContainer"; + return TagEncodingHelper.COMPONENT_FAMILY; + } + + @Override + public TagEncodingHelper getEncodingHelper() + { + return helper; } @Override 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 05e0c778..1c594fda 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 @@ -34,6 +34,7 @@ import javax.faces.component.NamingContainer; import javax.faces.component.UIComponent; import javax.faces.component.UIData; import javax.faces.component.UIInput; +import javax.faces.component.UINamingContainer; import javax.faces.component.UIOutput; import javax.faces.component.html.HtmlOutputLabel; import javax.faces.component.html.HtmlOutputText; @@ -90,6 +91,8 @@ import org.slf4j.LoggerFactory; */ public class TagEncodingHelper implements NamingContainer { + public static final String COMPONENT_FAMILY = UINamingContainer.COMPONENT_FAMILY; + public static final String FACES_ID_PREFIX = "j_id"; // Standard Faces ID Prefix public static boolean CSS_STYLE_USE_INPUT_TYPE_INSTEAD_OF_DATA_TYPE = true; @@ -458,7 +461,7 @@ public class TagEncodingHelper implements NamingContainer protected TagEncodingHelper(UIOutput component, String cssStyleClass) { this.component = component; - this.cssStyleClass = cssStyleClass; + this.cssStyleClass = cssStyleClass; } /** @@ -745,6 +748,12 @@ public class TagEncodingHelper implements NamingContainer if (this.valueInfo!=null) ((ValueInfoImpl)this.valueInfo).reset(); } + + public void resetColumn() + { + this.column = null; + reset(); + } public Object findRecordComponent() { diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelperFactory.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelperFactory.java index 5aa9f534..cf122b58 100644 --- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelperFactory.java +++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/utils/TagEncodingHelperFactory.java @@ -22,6 +22,14 @@ import javax.faces.component.UIOutput; public abstract class TagEncodingHelperFactory { + /** + * TagEncodingHolder + */ + public static interface TagEncodingHolder + { + TagEncodingHelper getEncodingHelper(); + } + /** * DefaultTagEncodingHelperFactory * Factory creating instances of TagEncodingHelper