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/11/02 10:20:11 UTC
svn commit: r831832 -
/myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/component/UIViewRoot.java
Author: bommel
Date: Mon Nov 2 09:20:00 2009
New Revision: 831832
URL: http://svn.apache.org/viewvc?rev=831832&view=rev
Log:
(TOBAGO-811) Dublicate id excepiton in ri 1.1
Modified:
myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/component/UIViewRoot.java
Modified: myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/component/UIViewRoot.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/component/UIViewRoot.java?rev=831832&r1=831831&r2=831832&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/component/UIViewRoot.java (original)
+++ myfaces/tobago/branches/tobago-1.0.x/core/src/main/java/org/apache/myfaces/tobago/component/UIViewRoot.java Mon Nov 2 09:20:00 2009
@@ -21,8 +21,10 @@
import org.apache.myfaces.tobago.context.ResourceManagerImpl;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.myfaces.tobago.util.FacesVersion;
import javax.faces.component.UIComponent;
+import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.event.AbortProcessingException;
import javax.faces.event.FacesEvent;
@@ -48,6 +50,8 @@
private ClientProperties clientProperties;
+ private int nextUniqueId;
+
public static final int ANY_PHASE_ORDINAL = PhaseId.ANY_PHASE.getOrdinal();
@@ -219,4 +223,33 @@
}
return events;
}
+
+ public Object saveState(FacesContext facesContext) {
+ if (FacesVersion.supports12()) {
+ return super.saveState(facesContext);
+ } else {
+ Object[] state = new Object[2];
+ state[0] = super.saveState(facesContext);
+ state[1] = nextUniqueId;
+ return state;
+ }
+ }
+
+ public void restoreState(FacesContext facesContext, Object o) {
+ Object[] state = (Object[]) o;
+ super.restoreState(facesContext, state[0]);
+ if (!FacesVersion.supports12()) {
+ nextUniqueId = (Integer) state[1];
+ }
+ }
+
+ public String createUniqueId() {
+ if (FacesVersion.supports12()) {
+ return super.createUniqueId();
+ } else {
+ ExternalContext extCtx = FacesContext.getCurrentInstance().getExternalContext();
+ return extCtx.encodeNamespace(UNIQUE_ID_PREFIX + nextUniqueId++);
+ }
+ }
+
}