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 77a3c91 EMPIREDB-317 Bugfix e:input inside ui:repeat
77a3c91 is described below
commit 77a3c91854fb7cd58e2789dfb8fb013e09baf33e
Author: Rainer Döbele <[email protected]>
AuthorDate: Wed Nov 27 19:44:13 2019 +0100
EMPIREDB-317
Bugfix e:input inside ui:repeat
---
.../org/apache/empire/jsf2/components/InputTag.java | 2 +-
.../org/apache/empire/jsf2/utils/TagEncodingHelper.java | 17 ++++++++++++-----
2 files changed, 13 insertions(+), 6 deletions(-)
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 f38208e..cec5a1f 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
@@ -88,6 +88,7 @@ public class InputTag extends UIInput implements
NamingContainer
protected boolean initState(FacesContext context)
{
// Check visibility
+ helper.prepareData();
if (helper.isVisible() == false)
return false; // not visible
// Read only State
@@ -100,7 +101,6 @@ public class InputTag extends UIInput implements
NamingContainer
return false;
}
// Init Control and inputInfo;
- helper.prepareData();
control = helper.getInputControl();
inpInfo = helper.getInputInfo(context);
return (control != null && inpInfo != null);
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 ae83f15..9b9af08 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
@@ -644,8 +644,8 @@ public class TagEncodingHelper implements NamingContainer
public Object getRecord()
{
- if (record == null)
- record = findRecord();
+ if (record == null && (record=findRecord())!=null)
+ setRecord(record);
return record;
}
@@ -830,11 +830,18 @@ public class TagEncodingHelper implements NamingContainer
public boolean isVisible()
{
// reset record
- if (this.record!=null && (getTagAttributeValue("record") instanceof
Record))
- this.record=null;
+ if (this.record!=null)
+ { // Check attribute
+ Object recordTagValue = getTagAttributeValue("record");
+ if ((recordTagValue instanceof DBRecord) &&
this.record!=recordTagValue)
+ { // shoud not come here
+ log.warn("Record in call to IsVisible has unexpectedly
changed!");
+ this.record=null;
+ }
+ }
// Check Record
if ((getRecord() instanceof Record))
- { // Ask Record
+ { // Ask Record
Record r = (Record) record;
return r.isFieldVisible(getColumn());
}