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();