You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2009/12/23 09:15:59 UTC
svn commit: r893424 -
/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/internal/taglib/TobagoTag.java
Author: bommel
Date: Wed Dec 23 08:15:58 2009
New Revision: 893424
URL: http://svn.apache.org/viewvc?rev=893424&view=rev
Log:
(TOBAGO-810) ensure layoutmanager for UIPage in jsf 1.1
Modified:
myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/internal/taglib/TobagoTag.java
Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/internal/taglib/TobagoTag.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/internal/taglib/TobagoTag.java?rev=893424&r1=893423&r2=893424&view=diff
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/internal/taglib/TobagoTag.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/internal/taglib/TobagoTag.java Wed Dec 23 08:15:58 2009
@@ -18,12 +18,16 @@
*/
import org.apache.commons.lang.StringUtils;
+import org.apache.myfaces.tobago.component.AbstractUIPage;
import org.apache.myfaces.tobago.component.OnComponentCreated;
import org.apache.myfaces.tobago.component.OnComponentPopulated;
+import org.apache.myfaces.tobago.util.FacesVersion;
import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
import javax.faces.webapp.UIComponentTag;
import javax.servlet.jsp.JspException;
+import java.io.IOException;
public abstract class TobagoTag extends UIComponentTag {
@@ -40,15 +44,32 @@
}
@Override
+ protected void encodeBegin() throws IOException {
+ // in jsf 1.1 the method component.encodeBegin is called in doEndTag ensure a LayoutManager for UIPage
+ if (getComponentInstance() instanceof AbstractUIPage && !FacesVersion.supports12()) {
+ onComponentPopulated(getComponentInstance());
+ }
+ super.encodeBegin();
+ }
+
+ @Override
public int doEndTag() throws JspException {
UIComponent component = getComponentInstance();
int result = super.doEndTag();
+ // in jsf 1.1 the method component.encodeBegin is called in doEndTag ensure a LayoutManager for UIPage
+ if (!(component instanceof AbstractUIPage && !FacesVersion.supports12())) {
+ onComponentPopulated(component);
+ }
+ return result;
+ }
+
+ private void onComponentPopulated(UIComponent component) {
if (component instanceof OnComponentPopulated
&& component.getAttributes().get(OnComponentPopulated.MARKER) == null) {
component.getAttributes().put(OnComponentPopulated.MARKER, Boolean.TRUE);
- ((OnComponentPopulated) component).onComponentPopulated(getFacesContext());
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ ((OnComponentPopulated) component).onComponentPopulated(facesContext);
}
- return result;
}
public String[] splitList(String renderers) {