You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gc...@apache.org on 2009/11/11 21:56:53 UTC

svn commit: r835063 - in /myfaces/trinidad/branches/trinidad-2.0.x: trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/ trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/ trinidad-api/src/main/java/org/apache/myfaces/trinidad/co...

Author: gcrawford
Date: Wed Nov 11 20:56:52 2009
New Revision: 835063

URL: http://svn.apache.org/viewvc?rev=835063&view=rev
Log:
TRINIDAD-1630 Trinidad 2 - add methods clearInitialState and initialStateMarked to facesBean and PropertyMap

Modified:
    myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBean.java
    myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBeanImpl.java
    myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/PropertyMap.java
    myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/FlaggedPropertyMap.java
    myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/PropertyArrayMap.java
    myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/PropertyHashMap.java
    myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/FacesBeanWrapper.java
    myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java
    myfaces/trinidad/branches/trinidad-2.0.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/htmlBasic/ComponentFacesBean.java

Modified: myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBean.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBean.java?rev=835063&r1=835062&r2=835063&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBean.java (original)
+++ myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBean.java Wed Nov 11 20:56:52 2009
@@ -198,8 +198,21 @@
    */
   public Set<PropertyKey> bindingKeySet();
 
+  /**
+   * use a delta tracking state going forward
+   */
   public void markInitialState();
 
+  /** 
+   * @return true if delta state changes are being tracked, otherwise false
+   */
+  public boolean initialStateMarked();
+
+  /** 
+   * Reset to a non-delta tracking state.
+   */
+  public void clearInitialState();     
+
   /**
    * Saves the state of a FacesBean.
    */

Modified: myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBeanImpl.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBeanImpl.java?rev=835063&r1=835062&r2=835063&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBeanImpl.java (original)
+++ myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/FacesBeanImpl.java Wed Nov 11 20:56:52 2009
@@ -330,6 +330,23 @@
       _expressions.markInitialState();
   }
 
+
+  public void clearInitialState()
+  {
+    _initialStateMarked = false;
+
+    if (_properties != null)
+      _properties.clearInitialState();
+
+    if (_expressions != null)
+      _expressions.clearInitialState();
+  }
+
+  public boolean initialStateMarked()
+  {
+    return _initialStateMarked;
+  }
+
   public void restoreState(FacesContext context, Object state)
   {
     if (_LOG.isFiner())
@@ -509,4 +526,5 @@
   private transient boolean  _initialStateMarked;
 
   static private final TrinidadLogger _LOG = TrinidadLogger.createTrinidadLogger(FacesBeanImpl.class);
+
 }

Modified: myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/PropertyMap.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/PropertyMap.java?rev=835063&r1=835062&r2=835063&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/PropertyMap.java (original)
+++ myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/PropertyMap.java Wed Nov 11 20:56:52 2009
@@ -27,6 +27,16 @@
 public interface PropertyMap extends Map<PropertyKey,Object>
 {
   public void markInitialState();
+  
+  /** 
+   * @return true if delta state changes are being tracked, otherwise false
+   */
+  public boolean initialStateMarked();
+
+  /** 
+   * Reset to a non-delta tracking state.
+   */
+  public void clearInitialState();     
   public Object saveState(FacesContext context);
   public void restoreState(FacesContext context, FacesBean.Type type, Object state);
 }

Modified: myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/FlaggedPropertyMap.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/FlaggedPropertyMap.java?rev=835063&r1=835062&r2=835063&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/FlaggedPropertyMap.java (original)
+++ myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/FlaggedPropertyMap.java Wed Nov 11 20:56:52 2009
@@ -176,6 +176,25 @@
       map.markInitialState();
   }
 
+
+  public void clearInitialState()
+  {
+    PropertyMap map = getPropertyMap(false);
+    if (map != null)
+      map.clearInitialState();
+  }
+
+  public boolean initialStateMarked()
+  {
+    PropertyMap map = getPropertyMap(false);
+    
+    if (map != null)
+      return map.initialStateMarked();
+    
+    // TODO gcrawford - do something better?
+    return false;
+  }
+
   public Object saveState(FacesContext context)
   {
     PropertyMap map = getPropertyMap(false);

Modified: myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/PropertyArrayMap.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/PropertyArrayMap.java?rev=835063&r1=835062&r2=835063&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/PropertyArrayMap.java (original)
+++ myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/PropertyArrayMap.java Wed Nov 11 20:56:52 2009
@@ -141,6 +141,17 @@
   }
 
 
+  public void clearInitialState()
+  {
+    _initialStateMarked = false;
+    _deltas = null;
+  }
+
+  public boolean initialStateMarked()
+  {
+    return _initialStateMarked;
+  }
+
   private boolean _createDeltas()
   {
     if (_initialStateMarked)

Modified: myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/PropertyHashMap.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/PropertyHashMap.java?rev=835063&r1=835062&r2=835063&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/PropertyHashMap.java (original)
+++ myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/bean/util/PropertyHashMap.java Wed Nov 11 20:56:52 2009
@@ -145,6 +145,16 @@
     _initialStateMarked = true;
   }
 
+  public void clearInitialState()
+  {
+    _initialStateMarked = false;
+    _deltas = null;
+  }
+
+  public boolean initialStateMarked()
+  {
+    return _initialStateMarked;
+  }
 
   private boolean _createDeltas()
   {
@@ -177,4 +187,5 @@
   private boolean      _useStateHolder;
 
   private static final long serialVersionUID = 1L;
+
 }

Modified: myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/FacesBeanWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/FacesBeanWrapper.java?rev=835063&r1=835062&r2=835063&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/FacesBeanWrapper.java (original)
+++ myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/FacesBeanWrapper.java Wed Nov 11 20:56:52 2009
@@ -136,10 +136,6 @@
     return _wrapped.bindingKeySet();
   }
 
-  public void markInitialState()
-  {
-    _wrapped.markInitialState();
-  }
 
   public Object saveState(FacesContext context)
   {
@@ -150,4 +146,19 @@
   {
     _wrapped.restoreState(context, state);
   }
+
+  public void clearInitialState()
+  {
+    _wrapped.clearInitialState();
+  }
+
+  public void markInitialState()
+  {
+    _wrapped.markInitialState();
+  }
+  
+  public boolean initialStateMarked()
+  {
+    return _wrapped.initialStateMarked();
+  }
 }

Modified: myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java?rev=835063&r1=835062&r2=835063&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java (original)
+++ myfaces/trinidad/branches/trinidad-2.0.x/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java Wed Nov 11 20:56:52 2009
@@ -636,7 +636,7 @@
       if (_children == null)
         return _facets.values().iterator();
     }
-    
+
     return new CompositeIterator<UIComponent>(_children.iterator(), _facets.values().iterator());
   }
 
@@ -837,9 +837,9 @@
 
     if (_LOG.isFiner())
       _LOG.finer("processSaveState() on " + this);
-    
+
     Object state = null;
-    
+
     try
     {
       if (((_children == null) || _children.isEmpty()) &&
@@ -853,17 +853,17 @@
         treeState.saveState(context, this);
         if (treeState.isEmpty())
           state = null;
-  
+
         state = treeState;
       }
     }
     catch (RuntimeException e)
     {
       _LOG.warning(_LOG.getMessage("COMPONENT_CHILDREN_SAVED_STATE_FAILED", this));
-      
+
       throw e;
     }
-    
+
     // if component state serialization checking is on, attempt to Serialize the
     // component state immediately in order to determine which component's state
     // failed state saving.  Note that since our parent will attempt this same
@@ -874,7 +874,7 @@
     {
       try
       {
-        new ObjectOutputStream(new ByteArrayOutputStream()).writeObject(state);  
+        new ObjectOutputStream(new ByteArrayOutputStream()).writeObject(state);
       }
       catch (IOException e)
       {
@@ -920,6 +920,18 @@
     getFacesBean().markInitialState();
   }
 
+  @Override
+  public void clearInitialState()
+  {
+    getFacesBean().clearInitialState();
+  }
+
+  @Override
+  public boolean initialStateMarked()
+  {
+    return getFacesBean().initialStateMarked();
+  }
+
   public Object saveState(FacesContext context)
   {
     return getFacesBean().saveState(context);
@@ -1311,14 +1323,14 @@
     throws FacesException
   {
     Iterator<UIComponent> children = getFacetsAndChildren();
-    
+
     boolean found = false;
-    
+
     while (children.hasNext() && !found)
     {
       found = children.next().invokeOnComponent(context, clientId, callback);
     }
-    
+
     return found;
   }
 
@@ -1338,7 +1350,7 @@
     throws FacesException
   {
     assert this instanceof NamingContainer : "Only use invokeOnNamingContainerComponent on NamingContainers";
-    
+
     String thisClientId = getClientId(context);
 
     if (clientId.equals(thisClientId))
@@ -1358,10 +1370,10 @@
       }
 
       boolean invokedComponent = false;
-      
+
       // set up the context for visiting the children
       setupVisitingContext(context);
-            
+
       try
       {
         // iterate through children. We inline this code instead of calling super in order
@@ -1373,11 +1385,11 @@
         // teardown the context now that we have visited the children
         tearDownVisitingContext(context);
       }
-      
+
       return invokedComponent;
     }
   }
-  
+
 
   /**
    * Override to calls the hooks for setting up and tearing down the
@@ -1391,7 +1403,7 @@
     String clientId,
     ContextCallback callback)
     throws FacesException
-  {    
+  {
     String thisClientId = getClientId(context);
 
     if (clientId.equals(thisClientId))
@@ -1402,10 +1414,10 @@
     else
     {
       boolean invokedComponent = false;
-      
+
       // set up the context for visiting the children
       setupVisitingContext(context);
-            
+
       try
       {
         // iterate through children. We inline this code instead of calling super in order
@@ -1417,7 +1429,7 @@
         // teardown the context now that we have visited the children
         tearDownVisitingContext(context);
       }
-      
+
       return invokedComponent;
     }
   }

Modified: myfaces/trinidad/branches/trinidad-2.0.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/htmlBasic/ComponentFacesBean.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/trinidad-2.0.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/htmlBasic/ComponentFacesBean.java?rev=835063&r1=835062&r2=835063&view=diff
==============================================================================
--- myfaces/trinidad/branches/trinidad-2.0.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/htmlBasic/ComponentFacesBean.java (original)
+++ myfaces/trinidad/branches/trinidad-2.0.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/htmlBasic/ComponentFacesBean.java Wed Nov 11 20:56:52 2009
@@ -6,9 +6,9 @@
  *  to you under the Apache License, Version 2.0 (the
  *  "License"); you may not use this file except in compliance
  *  with the License.  You may obtain a copy of the License at
- * 
+ *
  *  http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  *  Unless required by applicable law or agreed to in writing,
  *  software distributed under the License is distributed on an
  *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -31,11 +31,11 @@
 import org.apache.myfaces.trinidad.bean.PropertyKey;
 
 /**
- * Implementation of FacesBean that purely passes through 
+ * Implementation of FacesBean that purely passes through
  * back to a UIComponent.  This exists so that we can
  * reuse existing rendering code to render on a non-FacesBean-based
  * component.  It's also completely immutable.
- * 
+ *
  */
 public class ComponentFacesBean implements FacesBean
 {
@@ -130,7 +130,7 @@
   {
     throw new UnsupportedOperationException();
   }
-  
+
 
   final public Set<PropertyKey> keySet()
   {
@@ -147,6 +147,16 @@
     throw new UnsupportedOperationException();
   }
 
+  public boolean initialStateMarked()
+  {
+    throw new UnsupportedOperationException();
+  }
+
+  public void clearInitialState()
+  {
+    throw new UnsupportedOperationException();
+  }
+
   public void restoreState(FacesContext context, Object state)
   {
     throw new UnsupportedOperationException();