You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2012/12/08 02:25:54 UTC
svn commit: r1418587 -
/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java
Author: lu4242
Date: Sat Dec 8 01:25:53 2012
New Revision: 1418587
URL: http://svn.apache.org/viewvc?rev=1418587&view=rev
Log:
small refactor, more some inner classes out of restoreState method.
Modified:
myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java
Modified: myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java?rev=1418587&r1=1418586&r2=1418587&view=diff
==============================================================================
--- myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java (original)
+++ myfaces/core/branches/2.0.x/impl/src/main/java/org/apache/myfaces/view/facelets/DefaultFaceletsStateManagementStrategy.java Sat Dec 8 01:25:53 2012
@@ -355,36 +355,7 @@ public class DefaultFaceletsStateManagem
String clientId = clientIdsRemoved.get(i);
if (!idsRemovedSet.contains(clientId))
{
- view.invokeOnComponent(context, clientId, new ContextCallback()
- {
- public void invokeContextCallback(FacesContext context,
- UIComponent target)
- {
- if (target.getParent() != null)
- {
- if (!target.getParent().getChildren().remove(target))
- {
- String key = null;
- if (target.getParent().getFacetCount() > 0)
- {
- for (Map.Entry<String, UIComponent> entry :
- target.getParent().getFacets().entrySet())
- {
- if (entry.getValue()==target)
- {
- key = entry.getKey();
- break;
- }
- }
- }
- if (key != null)
- {
- target.getParent().getFacets().remove(key);
- }
- }
- }
- }
- });
+ view.invokeOnComponent(context, clientId, new RemoveComponentCallback());
idsRemovedSet.add(clientId);
}
}
@@ -422,40 +393,8 @@ public class DefaultFaceletsStateManagem
else
{
final String parentClientId = (String) addedState[0];
- view.invokeOnComponent(context, parentClientId, new ContextCallback()
- {
- public void invokeContextCallback(FacesContext context,
- UIComponent target)
- {
- if (addedState[1] != null)
- {
- String facetName = (String) addedState[1];
- UIComponent child
- = internalRestoreTreeStructure((TreeStructComponent)
- addedState[3]);
- child.processRestoreState(context, addedState[4]);
- target.getFacets().put(facetName,child);
- }
- else
- {
- Integer childIndex = (Integer) addedState[2];
- UIComponent child
- = internalRestoreTreeStructure((TreeStructComponent)
- addedState[3]);
- child.processRestoreState(context, addedState[4]);
- try
- {
- target.getChildren().add(childIndex, child);
- }
- catch (IndexOutOfBoundsException e)
- {
- // We can't be sure about where should be this
- // item, so just add it.
- target.getChildren().add(child);
- }
- }
- }
- });
+ view.invokeOnComponent(context, parentClientId,
+ new AddComponentCallback(addedState));
}
}
}
@@ -489,7 +428,79 @@ public class DefaultFaceletsStateManagem
//}
return view;
}
-
+
+ public static class RemoveComponentCallback implements ContextCallback
+ {
+ public void invokeContextCallback(FacesContext context,
+ UIComponent target)
+ {
+ if (target.getParent() != null)
+ {
+ if (!target.getParent().getChildren().remove(target))
+ {
+ String key = null;
+ if (target.getParent().getFacetCount() > 0)
+ {
+ for (Map.Entry<String, UIComponent> entry :
+ target.getParent().getFacets().entrySet())
+ {
+ if (entry.getValue()==target)
+ {
+ key = entry.getKey();
+ break;
+ }
+ }
+ }
+ if (key != null)
+ {
+ target.getParent().getFacets().remove(key);
+ }
+ }
+ }
+ }
+ }
+
+ public static class AddComponentCallback implements ContextCallback
+ {
+ private final Object[] addedState;
+
+ public AddComponentCallback(Object[] addedState)
+ {
+ this.addedState = addedState;
+ }
+
+ public void invokeContextCallback(FacesContext context,
+ UIComponent target)
+ {
+ if (addedState[1] != null)
+ {
+ String facetName = (String) addedState[1];
+ UIComponent child
+ = internalRestoreTreeStructure((TreeStructComponent)
+ addedState[3]);
+ child.processRestoreState(context, addedState[4]);
+ target.getFacets().put(facetName,child);
+ }
+ else
+ {
+ Integer childIndex = (Integer) addedState[2];
+ UIComponent child
+ = internalRestoreTreeStructure((TreeStructComponent)
+ addedState[3]);
+ child.processRestoreState(context, addedState[4]);
+ try
+ {
+ target.getChildren().add(childIndex, child);
+ }
+ catch (IndexOutOfBoundsException e)
+ {
+ // We can't be sure about where should be this
+ // item, so just add it.
+ target.getChildren().add(child);
+ }
+ }
+ }
+ }
@Override
public Object saveView (FacesContext context)
@@ -1208,7 +1219,7 @@ public class DefaultFaceletsStateManagem
}
}
- private TreeStructComponent internalBuildTreeStructureToSave(UIComponent component)
+ private static TreeStructComponent internalBuildTreeStructureToSave(UIComponent component)
{
TreeStructComponent structComp = new TreeStructComponent(component.getClass().getName(),
component.getId());
@@ -1255,7 +1266,7 @@ public class DefaultFaceletsStateManagem
return structComp;
}
- private UIComponent internalRestoreTreeStructure(TreeStructComponent treeStructComp)
+ private static UIComponent internalRestoreTreeStructure(TreeStructComponent treeStructComp)
{
String compClass = treeStructComp.getComponentClass();
String compId = treeStructComp.getComponentId();