You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ar...@apache.org on 2013/02/21 22:57:30 UTC
svn commit: r1448822 -
/myfaces/trinidad/branches/arobinson74_jira1940/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/ForEachTag.java
Author: arobinson74
Date: Thu Feb 21 21:57:30 2013
New Revision: 1448822
URL: http://svn.apache.org/r1448822
Log:
TRINIDAD-1940
Use the view root attributes to make a back-port to JSF 1.2 easier
Modified:
myfaces/trinidad/branches/arobinson74_jira1940/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/ForEachTag.java
Modified: myfaces/trinidad/branches/arobinson74_jira1940/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/ForEachTag.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/arobinson74_jira1940/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/ForEachTag.java?rev=1448822&r1=1448821&r2=1448822&view=diff
==============================================================================
--- myfaces/trinidad/branches/arobinson74_jira1940/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/ForEachTag.java (original)
+++ myfaces/trinidad/branches/arobinson74_jira1940/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/ForEachTag.java Thu Feb 21 21:57:30 2013
@@ -699,7 +699,7 @@ public class ForEachTag
IterationStatus status = null;
Map<IterationId, IterationStatus> map =
- IterationUtils.getIterationStatusMap(viewRoot.getViewMap(), false);
+ IterationUtils.getIterationStatusMap(viewRoot.getAttributes(), false);
if (map != null)
{
@@ -1225,13 +1225,13 @@ public class ForEachTag
UIViewRoot viewRoot = facesContext.getViewRoot();
// See if the phase listener has already been added (only add it once)
- Map<String, Object> viewMap = viewRoot.getViewMap(true);
- if (!viewMap.containsKey(_PL_KEY))
+ Map<String, Object> viewAttrs = viewRoot.getAttributes();
+ if (!viewAttrs.containsKey(_PL_KEY))
{
PhaseListener newPhaseListener = new CleanupPhaseListener();
viewRoot.addPhaseListener(newPhaseListener);
- viewMap.put(_PL_KEY, Boolean.TRUE);
+ viewAttrs.put(_PL_KEY, Boolean.TRUE);
_LOG.finer("Cleanup phase listener has been installed");
}
@@ -1250,67 +1250,64 @@ public class ForEachTag
_LOG.finest("Running the iteration status cleanup code");
FacesContext facesContext = event.getFacesContext();
UIViewRoot viewRoot = facesContext.getViewRoot();
- Map<String, Object> viewMap = viewRoot.getViewMap(false);
- if (viewMap != null)
- {
- Set<IterationId> usedIterationIds = IterationUtils.getUsedIterationIds(
- facesContext.getExternalContext().getRequestMap(), false);
- Map<IterationId, IterationStatus> iterStatusMap = IterationUtils.getIterationStatusMap(
- viewMap, false);
+ Map<String, Object> viewAttrs = viewRoot.getAttributes();
+ Set<IterationId> usedIterationIds = IterationUtils.getUsedIterationIds(
+ facesContext.getExternalContext().getRequestMap(), false);
+ Map<IterationId, IterationStatus> iterStatusMap = IterationUtils.getIterationStatusMap(
+ viewAttrs, false);
- if (iterStatusMap != null)
+ if (iterStatusMap != null)
+ {
+ if (_LOG.isFinest())
{
- if (_LOG.isFinest())
+ if (usedIterationIds == null)
{
- if (usedIterationIds == null)
- {
- _LOG.finest("No used iteration IDs, all iteration data will be removed");
- }
- else
- {
- HashSet<IterationId> removeIds = new HashSet<IterationId>(iterStatusMap.keySet());
+ _LOG.finest("No used iteration IDs, all iteration data will be removed");
+ }
+ else
+ {
+ HashSet<IterationId> removeIds = new HashSet<IterationId>(iterStatusMap.keySet());
- removeIds.removeAll(usedIterationIds);
- if (removeIds.size() > 0)
+ removeIds.removeAll(usedIterationIds);
+ if (removeIds.size() > 0)
+ {
+ StringBuilder sb = new StringBuilder();
+ for (IterationId id : removeIds)
{
- StringBuilder sb = new StringBuilder();
- for (IterationId id : removeIds)
+ if (sb.length() > 0)
{
- if (sb.length() > 0)
- {
- sb.append(", ");
- }
- sb.append(id);
+ sb.append(", ");
}
- _LOG.finest("Removing {0} iteration IDs. IDs: {1}",
- new Object[] { removeIds.size(), sb });
- }
- else
- {
- _LOG.finest("No iteration IDs to remove");
+ sb.append(id);
}
+ _LOG.finest("Removing {0} iteration IDs. IDs: {1}",
+ new Object[] { removeIds.size(), sb });
}
- }
-
- int size = iterStatusMap.size();
- if (usedIterationIds == null)
- {
- iterStatusMap.clear();
- _LOG.finer("All {0} iteration IDs have been removed", size);
- }
- else if (iterStatusMap.keySet().retainAll(usedIterationIds))
- {
- if (_LOG.isFiner())
+ else
{
- _LOG.finer("Iteration IDs have been removed. Previous count: {0}, current count: {1}",
- new Object[] { size, iterStatusMap.size() });
+ _LOG.finest("No iteration IDs to remove");
}
}
- else
+ }
+
+ int size = iterStatusMap.size();
+ if (usedIterationIds == null)
+ {
+ iterStatusMap.clear();
+ _LOG.finer("All {0} iteration IDs have been removed", size);
+ }
+ else if (iterStatusMap.keySet().retainAll(usedIterationIds))
+ {
+ if (_LOG.isFiner())
{
- _LOG.finer("No iteration IDs were removed this request");
+ _LOG.finer("Iteration IDs have been removed. Previous count: {0}, current count: {1}",
+ new Object[] { size, iterStatusMap.size() });
}
}
+ else
+ {
+ _LOG.finer("No iteration IDs were removed this request");
+ }
}
}
@@ -1337,20 +1334,20 @@ public class ForEachTag
{
/**
* Retrieve or create the iteration status map from the view map
- * @param viewMap the view map
+ * @param viewAttrs the view root attributes
* @param create create the map if it does not exist
* @return the iteration status map
*/
static Map<IterationId, IterationStatus> getIterationStatusMap(
- Map<String, Object> viewMap,
+ Map<String, Object> viewAttrs,
boolean create)
{
Map<IterationId, IterationStatus> iterationStatusMap = (Map<IterationId, IterationStatus>)
- viewMap.get(_ITERATION_MAP_KEY);
- if (iterationStatusMap == null)
+ viewAttrs.get(_ITERATION_MAP_KEY);
+ if (iterationStatusMap == null && create)
{
iterationStatusMap = new HashMap<IterationId, IterationStatus>();
- viewMap.put(_ITERATION_MAP_KEY, iterationStatusMap);
+ viewAttrs.put(_ITERATION_MAP_KEY, iterationStatusMap);
}
return iterationStatusMap;
@@ -1375,8 +1372,8 @@ public class ForEachTag
String parentComponentScopedId,
String jspId)
{
- Map<String, Object> viewMap = facesContext.getViewRoot().getViewMap();
- _iterationStatusMap = getIterationStatusMap(viewMap, true);
+ Map<String, Object> viewAttrs = facesContext.getViewRoot().getAttributes();
+ _iterationStatusMap = getIterationStatusMap(viewAttrs, true);
Map<String, Object> reqMap = facesContext.getExternalContext().getRequestMap();
Deque<IterationState> queue = (Deque<IterationState>)reqMap.get(