Author: amarkhel
Date: 2010-11-26 11:20:08 -0500 (Fri, 26 Nov 2010)
New Revision: 20181
Modified:
trunk/ui/input/ui/src/main/java/org/richfaces/component/AbstractCalendar.java
Log:
visitTree method was replaced.
Modified: trunk/ui/input/ui/src/main/java/org/richfaces/component/AbstractCalendar.java
===================================================================
---
trunk/ui/input/ui/src/main/java/org/richfaces/component/AbstractCalendar.java 2010-11-26
15:55:54 UTC (rev 20180)
+++
trunk/ui/input/ui/src/main/java/org/richfaces/component/AbstractCalendar.java 2010-11-26
16:20:08 UTC (rev 20181)
@@ -27,6 +27,7 @@
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.TimeZone;
@@ -478,21 +479,49 @@
@Override
public boolean visitTree(VisitContext context, VisitCallback callback) {
- if (context instanceof ExtendedVisitContext) {
- ExtendedVisitContext extendedVisitContext = (ExtendedVisitContext) context;
- if (extendedVisitContext.getVisitMode() == ExtendedVisitContextMode.RENDER)
{
+ if (!isVisitable(context)) {
+ return false;
+ }
- VisitResult result =
extendedVisitContext.invokeMetaComponentVisitCallback(this, callback,
- DAYSDATA_META_COMPONENT_ID);
- if (result == VisitResult.COMPLETE) {
- return true;
- } else if (result == VisitResult.REJECT) {
- return false;
+ FacesContext facesContext = context.getFacesContext();
+ pushComponentToEL(facesContext, null);
+
+ try {
+ VisitResult result = context.invokeVisitCallback(this, callback);
+
+ if (result == VisitResult.COMPLETE) {
+ return true;
+ }
+
+ if (result == VisitResult.ACCEPT) {
+ if (context instanceof ExtendedVisitContext) {
+ ExtendedVisitContext extendedVisitContext = (ExtendedVisitContext)
context;
+ if (extendedVisitContext.getVisitMode() ==
ExtendedVisitContextMode.RENDER) {
+
+ result =
extendedVisitContext.invokeMetaComponentVisitCallback(this, callback,
DAYSDATA_META_COMPONENT_ID);
+ if (result == VisitResult.COMPLETE) {
+ return true;
+ }
+ }
}
}
+
+ if (result == VisitResult.ACCEPT) {
+ Iterator<UIComponent> kids = this.getFacetsAndChildren();
+
+ while(kids.hasNext()) {
+ boolean done = kids.next().visitTree(context, callback);
+
+ if (done) {
+ return true;
+ }
+ }
+ }
+ } finally {
+ popComponentFromEL(facesContext);
}
- return super.visitTree(context, callback);
+ return false;
}
public void encodeMetaComponent(FacesContext context, String metaComponentId) throws
IOException {
Show replies by date