Author: julien(a)jboss.com
Date: 2008-07-06 11:11:34 -0400 (Sun, 06 Jul 2008)
New Revision: 11302
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ChildrenVisit.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/CreateDiffPhase.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/CreateUpdatePhase.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ObjectVisit.java
Log:
improvement
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ChildrenVisit.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ChildrenVisit.java 2008-07-04
15:32:27 UTC (rev 11301)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ChildrenVisit.java 2008-07-06
15:11:34 UTC (rev 11302)
@@ -42,7 +42,7 @@
final Collection<ObjectVisit> staleObjects = new
ArrayList<ObjectVisit>();
/** . */
- final Collection<String> removedObjects = new ArrayList<String>();
+ final Collection<ObjectVisit> removedObjects = new
ArrayList<ObjectVisit>();
ChildrenVisit()
{
@@ -53,7 +53,7 @@
return addedObjects;
}
- public Collection<String> getRemovedObjects()
+ public Collection<ObjectVisit> getRemovedObjects()
{
return removedObjects;
}
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/CreateDiffPhase.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/CreateDiffPhase.java 2008-07-04
15:32:27 UTC (rev 11301)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/CreateDiffPhase.java 2008-07-06
15:11:34 UTC (rev 11302)
@@ -30,6 +30,9 @@
import org.jboss.portal.presentation.state.structural.StructuralStateContext;
import org.jboss.portal.presentation.impl.model.ui.UIObjectImpl;
+import java.util.Collection;
+import java.util.ArrayList;
+
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
* @version $Revision: 630 $
@@ -98,6 +101,40 @@
}
}
+ private ObjectVisit.Evict createEvict(UIObjectImpl object)
+ {
+
+ //
+ Collection<ObjectVisit.Evict> evictedChildren =
createEvictedChildren(object);
+
+ //
+ return ObjectVisit.createEvict(object, evictedChildren);
+ }
+
+ private Collection<ObjectVisit.Evict> createEvictedChildren(UIObjectImpl
object)
+ {
+ Collection<ObjectVisit.Evict> evictedChildren = new
ArrayList<ObjectVisit.Evict>();
+
+ //
+ InternalObjectContext objectContext = (InternalObjectContext)object.getContext();
+
+ //
+ if (objectContext.childRefs != null)
+ {
+ for (UIObjectRef removedChildRef : objectContext.childRefs.values())
+ {
+ if (removedChildRef.loaded)
+ {
+ UIObjectImpl child =
(UIObjectImpl)context.getObject(removedChildRef.getId());
+
+ //
+ evictedChildren.add(createEvict(child));
+ }
+ }
+ }
+ return evictedChildren;
+ }
+
private ObjectVisit diff(UIObjectImpl object)
{
ObjectTraversalType traversalType = scope.enterObject(object);
@@ -107,17 +144,16 @@
{
if (traversalType == ObjectTraversalType.SKIP)
{
- return ObjectVisit.createEvict(object);
+ return createEvict(object);
}
else
{
StructuralObject.Refresh refresh =
structuralStateContext.refresh(object.getStructuralObject());
//
- ChildrenVisit childrenVisit = null;
if (traversalType == ObjectTraversalType.RECURSIVE)
{
- childrenVisit = new ChildrenVisit();
+ ChildrenVisit childrenVisit = new ChildrenVisit();
//
for (StructuralObject addedStructuralChild : refresh.getAddedChildren())
@@ -141,16 +177,34 @@
}
//
- childrenVisit.removedObjects.addAll(refresh.getRemovedChildren());
+ for (String removedChildId : refresh.getRemovedChildren())
+ {
+ UIObjectImpl removedChild =
(UIObjectImpl)context.getObject(removedChildId);
+ ObjectVisit childVisit = createEvict(removedChild);
+ childrenVisit.removedObjects.add(childVisit);
+ }
+
+ //
+ return ObjectVisit.createRecursiveUpdate(
+ object,
+ refresh.getRemovedProperties(),
+ refresh.getUpdatedProperties(),
+ refresh.getAddedProperties(),
+ childrenVisit);
}
+ else
+ {
- //
- return ObjectVisit.createUpdate(
- object,
- refresh.getRemovedProperties(),
- refresh.getUpdatedProperties(),
- refresh.getAddedProperties(),
- childrenVisit);
+ Collection<ObjectVisit.Evict> evictedChildren =
createEvictedChildren(object);
+
+ //
+ return ObjectVisit.createSingleUpdate(
+ object,
+ refresh.getRemovedProperties(),
+ refresh.getUpdatedProperties(),
+ refresh.getAddedProperties(),
+ evictedChildren);
+ }
}
}
finally
@@ -186,10 +240,12 @@
ObjectVisit childVisit = load(structuralChild);
childrenVisit.addedObjects.add(childVisit);
}
+ return ObjectVisit.createRecursiveLoad(object, childrenVisit);
}
-
- //
- return ObjectVisit.createLoad(object, childrenVisit);
+ else
+ {
+ return ObjectVisit.createLoad(object);
+ }
}
}
finally
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/CreateUpdatePhase.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/CreateUpdatePhase.java 2008-07-04
15:32:27 UTC (rev 11301)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/CreateUpdatePhase.java 2008-07-06
15:11:34 UTC (rev 11302)
@@ -84,9 +84,9 @@
{
UIObjectImpl object = (UIObjectImpl)context.getObject(visit.getObjectId());
- if (visit instanceof ObjectVisit.Load || visit instanceof ObjectVisit.Update)
+ if (visit instanceof ObjectVisit.RecursiveLoad || visit instanceof
ObjectVisit.RecursiveUpdate)
{
- ChildrenVisit childrenVisit = visit instanceof ObjectVisit.Load ?
((ObjectVisit.Load)visit).getChildrenVisit() :
((ObjectVisit.Update)visit).getChildrenVisit();
+ ChildrenVisit childrenVisit = visit instanceof ObjectVisit.Load ?
((ObjectVisit.RecursiveLoad)visit).getChildrenVisit() :
((ObjectVisit.RecursiveUpdate)visit).getChildrenVisit();
//
if (object != null)
@@ -98,170 +98,151 @@
}
//
- if (childrenVisit != null)
+ Map<String, Boolean> childrenStatus = new HashMap<String,
Boolean>();
+ List<ObjectUpdate.AddChild> addedChildrenUpdates = new
ArrayList<ObjectUpdate.AddChild>();
+ List<ObjectUpdate.RemoveChild> removedChildrenUpdates = new
ArrayList<ObjectUpdate.RemoveChild>();
+ List<ObjectUpdate.UpdateObject> updateChildrenUpdates = new
ArrayList<ObjectUpdate.UpdateObject>();
+
+ //
+ for (ObjectVisit addedObjectVisit : childrenVisit.getAddedObjects())
{
- Map<String, Boolean> childrenStatus = new HashMap<String,
Boolean>();
- List<ObjectUpdate.AddChild> addedChildrenUpdates = new
ArrayList<ObjectUpdate.AddChild>();
- List<ObjectUpdate.RemoveChild> removedChildrenUpdates = new
ArrayList<ObjectUpdate.RemoveChild>();
- List<ObjectUpdate.UpdateObject> updateChildrenUpdates = new
ArrayList<ObjectUpdate.UpdateObject>();
+ ObjectUpdate childUpdate = createUpdate(addedObjectVisit);
//
- for (ObjectVisit addedObjectVisit : childrenVisit.getAddedObjects())
+ if (childUpdate instanceof ObjectUpdate.AddObject)
{
- ObjectUpdate childUpdate = createUpdate(addedObjectVisit);
+ addedChildrenUpdates.add(new ObjectUpdate.AddChild(visit.getObjectId(),
(ObjectUpdate.AddObject)childUpdate));
+ childrenStatus.put(addedObjectVisit.getObjectId(), true);
+ }
+ else if (childUpdate == null)
+ {
+ childrenStatus.put(addedObjectVisit.getObjectId(), false);
+ }
+ else if (childUpdate instanceof ObjectUpdate.UpdateObject)
+ {
+ // This is 'the' trick becaue this is likely a 'move'
operation that we may need
+ // to handle differently as a deferred add child
+ ObjectUpdate.UpdateObject updateChildUpdate =
(ObjectUpdate.UpdateObject)childUpdate;
//
- if (childUpdate instanceof ObjectUpdate.AddObject)
+ ObjectUpdate.AddObject addObjectUpdate = new ObjectUpdate.AddObject(
+ addedObjectVisit.getObject(),
+ updateChildUpdate.childrenStatus,
+ updateChildUpdate.addedChildrenUpdates,
+ updateChildUpdate.removedChildrenUpdates,
+ updateChildUpdate.updateChildrenUpdates);
+
+ //
+ ObjectUpdate.AddChild addChildUpdate = new
ObjectUpdate.AddChild(visit.getObjectId(), addObjectUpdate);
+
+ //
+ if (removedChildren.contains(addedObjectVisit.getObjectId()))
{
- addedChildrenUpdates.add(new ObjectUpdate.AddChild(visit.getObjectId(),
(ObjectUpdate.AddObject)childUpdate));
- childrenStatus.put(addedObjectVisit.getObjectId(), true);
+ addedChildrenUpdates.add(addChildUpdate);
}
- else if (childUpdate == null)
+ else
{
- childrenStatus.put(addedObjectVisit.getObjectId(), false);
+ deferredAddChildUpdates.put(addedObjectVisit.getObjectId(),
addChildUpdate);
}
- else if (childUpdate instanceof ObjectUpdate.UpdateObject)
- {
- // This is 'the' trick becaue this is likely a 'move'
operation that we may need
- // to handle differently as a deferred add child
- ObjectUpdate.UpdateObject updateChildUpdate =
(ObjectUpdate.UpdateObject)childUpdate;
- //
- ObjectUpdate.AddObject addObjectUpdate = new ObjectUpdate.AddObject(
- addedObjectVisit.getObject(),
- updateChildUpdate.childrenStatus,
- updateChildUpdate.addedChildrenUpdates,
- updateChildUpdate.removedChildrenUpdates,
- updateChildUpdate.updateChildrenUpdates);
+ //
+ childrenStatus.put(addedObjectVisit.getObjectId(), true);
+ }
+ else
+ {
+ throw new UnsupportedOperationException("Was not expecting update of
type " + childUpdate.getClass().getSimpleName());
+ }
+ }
- //
- ObjectUpdate.AddChild addChildUpdate = new
ObjectUpdate.AddChild(visit.getObjectId(), addObjectUpdate);
+ //
+ for (ObjectVisit removedChildVisit : childrenVisit.getRemovedObjects())
+ {
+ removedChildrenUpdates.add(new ObjectUpdate.RemoveChild(visit.getObjectId(),
createRemove((ObjectVisit.Evict)removedChildVisit)));
+ }
- //
- if (removedChildren.contains(addedObjectVisit.getObjectId()))
- {
- addedChildrenUpdates.add(addChildUpdate);
- }
- else
- {
- deferredAddChildUpdates.put(addedObjectVisit.getObjectId(),
addChildUpdate);
- }
+ List<ObjectVisit> existingObjectVisits = new
ArrayList<ObjectVisit>();
+ existingObjectVisits.addAll(childrenVisit.getValidObjects());
+ existingObjectVisits.addAll(childrenVisit.getStaleObjects());
- //
- childrenStatus.put(addedObjectVisit.getObjectId(), true);
- }
- else
- {
- throw new UnsupportedOperationException("Was not expecting update
of type " + childUpdate.getClass().getSimpleName());
- }
- }
+ //
+ for (ObjectVisit validObjectVisit : existingObjectVisits)
+ {
+ ObjectUpdate childUpdate = createUpdate(validObjectVisit);
//
- for (String removeObjectId : childrenVisit.getRemovedObjects())
+ if (childUpdate == null)
{
- UIObjectImpl child = (UIObjectImpl)context.getObject(removeObjectId);
- removedChildrenUpdates.add(new
ObjectUpdate.RemoveChild(visit.getObjectId(), createRemove(child)));
+ childrenStatus.put(validObjectVisit.getObjectId(), false);
}
-
- List<ObjectVisit> existingObjectVisits = new
ArrayList<ObjectVisit>();
- existingObjectVisits.addAll(childrenVisit.getValidObjects());
- existingObjectVisits.addAll(childrenVisit.getStaleObjects());
-
- //
- for (ObjectVisit validObjectVisit : existingObjectVisits)
+ else if (childUpdate instanceof ObjectUpdate.UpdateObject)
{
- ObjectUpdate childUpdate = createUpdate(validObjectVisit);
-
- //
- if (childUpdate == null)
- {
- childrenStatus.put(validObjectVisit.getObjectId(), false);
- }
- else if (childUpdate instanceof ObjectUpdate.UpdateObject)
- {
- updateChildrenUpdates.add((ObjectUpdate.UpdateObject)childUpdate);
- childrenStatus.put(validObjectVisit.getObjectId(), true);
- }
- else if (childUpdate instanceof ObjectUpdate.RemoveObject)
- {
- removedChildrenUpdates.add(new
ObjectUpdate.RemoveChild(visit.getObjectId(), (ObjectUpdate.RemoveObject)childUpdate));
- childrenStatus.put(validObjectVisit.getObjectId(), false);
- }
- else if (childUpdate instanceof ObjectUpdate.AddObject)
- {
- addedChildrenUpdates.add(new ObjectUpdate.AddChild(visit.getObjectId(),
(ObjectUpdate.AddObject)childUpdate));
- childrenStatus.put(validObjectVisit.getObjectId(), true);
- }
- else
- {
- throw new UnsupportedOperationException("Was not expecting update
of type " + childUpdate.getClass().getSimpleName());
- }
+ updateChildrenUpdates.add((ObjectUpdate.UpdateObject)childUpdate);
+ childrenStatus.put(validObjectVisit.getObjectId(), true);
}
-
- //
- for (ObjectUpdate.RemoveChild removeChildUpdate : removedChildrenUpdates)
+ else if (childUpdate instanceof ObjectUpdate.RemoveObject)
{
- removedChildren.add(removeChildUpdate.removedObjectUpdate.objectId);
+ removedChildrenUpdates.add(new
ObjectUpdate.RemoveChild(visit.getObjectId(), (ObjectUpdate.RemoveObject)childUpdate));
+ childrenStatus.put(validObjectVisit.getObjectId(), false);
}
-
- //
- if (object != null)
+ else if (childUpdate instanceof ObjectUpdate.AddObject)
{
- return new ObjectUpdate.UpdateObject(
- object.getStructuralObject(),
- childrenStatus,
- addedChildrenUpdates,
- removedChildrenUpdates,
- updateChildrenUpdates);
+ addedChildrenUpdates.add(new ObjectUpdate.AddChild(visit.getObjectId(),
(ObjectUpdate.AddObject)childUpdate));
+ childrenStatus.put(validObjectVisit.getObjectId(), true);
}
else
{
- return new ObjectUpdate.AddObject(
- visit.getObject(),
- childrenStatus,
- addedChildrenUpdates,
- removedChildrenUpdates,
- updateChildrenUpdates);
+ throw new UnsupportedOperationException("Was not expecting update of
type " + childUpdate.getClass().getSimpleName());
}
}
+
+ //
+ for (ObjectUpdate.RemoveChild removeChildUpdate : removedChildrenUpdates)
+ {
+ removedChildren.add(removeChildUpdate.removedObjectUpdate.objectId);
+ }
+
+ //
+ if (object != null)
+ {
+ return new ObjectUpdate.UpdateObject(
+ object.getStructuralObject(),
+ childrenStatus,
+ addedChildrenUpdates,
+ removedChildrenUpdates,
+ updateChildrenUpdates);
+ }
else
{
- if (object != null)
- {
- List<ObjectUpdate.RemoveChild> removedChildrenUpdates = new
ArrayList<ObjectUpdate.RemoveChild>();
+ return new ObjectUpdate.AddObject(
+ visit.getObject(),
+ childrenStatus,
+ addedChildrenUpdates,
+ removedChildrenUpdates,
+ updateChildrenUpdates);
+ }
+ }
+ else if (visit instanceof ObjectVisit.Load)
+ {
+ return new ObjectUpdate.AddObject(visit.getObject());
+ }
+ else if (visit instanceof ObjectVisit.SingleUpdate)
+ {
+ List<ObjectUpdate.RemoveChild> removedChildrenUpdates = new
ArrayList<ObjectUpdate.RemoveChild>();
- //
- InternalObjectContext objectContext =
(InternalObjectContext)object.getContext();
+ //
+ for (ObjectVisit.Evict evict :
((ObjectVisit.SingleUpdate)visit).getEvictedChildren())
+ {
+ removedChildrenUpdates.add(new ObjectUpdate.RemoveChild(visit.getObjectId(),
createRemove(evict)));
+ }
- //
- if (objectContext.childRefs != null)
- {
- for (UIObjectRef removedChildRef : objectContext.childRefs.values())
- {
- if (removedChildRef.loaded)
- {
- UIObjectImpl child =
(UIObjectImpl)context.getObject(removedChildRef.getId());
-
- //
- removedChildrenUpdates.add(new
ObjectUpdate.RemoveChild(visit.getObjectId(), createRemove(child)));
- }
- }
- }
-
- //
- for (ObjectUpdate.RemoveChild removeChildUpdate : removedChildrenUpdates)
- {
- removedChildren.add(removeChildUpdate.removedObjectUpdate.objectId);
- }
-
- //
- return new ObjectUpdate.UpdateObject(object.getStructuralObject(),
removedChildrenUpdates);
- }
- else
- {
- return new ObjectUpdate.AddObject(visit.getObject());
- }
+ //
+ for (ObjectUpdate.RemoveChild removeChildUpdate : removedChildrenUpdates)
+ {
+ removedChildren.add(removeChildUpdate.removedObjectUpdate.objectId);
}
+
+ //
+ return new ObjectUpdate.UpdateObject(object.getStructuralObject(),
removedChildrenUpdates);
}
else if (visit instanceof ObjectVisit.Skip)
{
@@ -281,40 +262,28 @@
}
//
- return createRemove(object);
+ return createRemove((ObjectVisit.Evict)visit);
}
else
{
- throw new AssertionError();
+ throw new AssertionError("Cannot execute visit of " + visit);
}
}
- private ObjectUpdate.RemoveObject createRemove(UIObjectImpl object)
+ private ObjectUpdate.RemoveObject createRemove(ObjectVisit.Evict evict)
{
List<ObjectUpdate.RemoveObject> removedChildrenUpdates = new
ArrayList<ObjectUpdate.RemoveObject>();
//
- InternalObjectContext objectContext = (InternalObjectContext)object.getContext();
-
- //
- if (objectContext.childRefs != null)
+ for (ObjectVisit.Evict evictedChild : evict.evictedChildren)
{
- for (UIObjectRef removedChildRef : objectContext.childRefs.values())
- {
- if (removedChildRef.loaded)
- {
- UIObjectImpl removedChild =
(UIObjectImpl)context.getObject(removedChildRef.getId());
-
- //
- removedChildrenUpdates.add(createRemove(removedChild));
- }
- }
+ removedChildrenUpdates.add(createRemove(evictedChild));
}
//
- ObjectUpdate.AddChild addChildUpdate =
deferredAddChildUpdates.remove(object.getId());
+ ObjectUpdate.AddChild addChildUpdate =
deferredAddChildUpdates.remove(evict.getObjectId());
//
- return new ObjectUpdate.RemoveObject(object.getId(), removedChildrenUpdates,
addChildUpdate);
+ return new ObjectUpdate.RemoveObject(evict.getObjectId(), removedChildrenUpdates,
addChildUpdate);
}
}
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ObjectVisit.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ObjectVisit.java 2008-07-04
15:32:27 UTC (rev 11301)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ObjectVisit.java 2008-07-06
15:11:34 UTC (rev 11302)
@@ -26,6 +26,7 @@
import java.util.Set;
import java.util.Map;
+import java.util.Collection;
import java.io.Serializable;
/**
@@ -35,29 +36,44 @@
public abstract class ObjectVisit
{
- static ObjectVisit createEvict(UIObjectImpl object)
+ static ObjectVisit.Evict createEvict(UIObjectImpl object, Collection<Evict>
evictedChildren)
{
- return new Evict(object);
+ return new Evict(object, evictedChildren);
}
- static ObjectVisit createLoad(UIObjectImpl object, ChildrenVisit children)
+ static RecursiveLoad createRecursiveLoad(UIObjectImpl object, ChildrenVisit children)
{
- return new Load(object, children);
+ return new RecursiveLoad(object, children);
}
+ static ObjectVisit createLoad(UIObjectImpl object)
+ {
+ return new Load(object);
+ }
+
static ObjectVisit createSkip(UIObjectImpl object)
{
return new Skip(object);
}
- static ObjectVisit createUpdate(
+ static SingleUpdate createSingleUpdate(
+ UIObjectImpl object,
+ Set<String> removedProperties,
+ Map<String, Serializable> updatedProperties,
+ Map<String, Serializable> addedProperties,
+ Collection<Evict> evictedChildren)
+ {
+ return new SingleUpdate(object, removedProperties, updatedProperties,
addedProperties, evictedChildren);
+ }
+
+ static RecursiveUpdate createRecursiveUpdate(
UIObjectImpl object,
Set<String> removedProperties,
Map<String, Serializable> updatedProperties,
Map<String, Serializable> addedProperties,
ChildrenVisit children)
{
- return new Update(object, removedProperties, updatedProperties, addedProperties,
children);
+ return new RecursiveUpdate(object, removedProperties, updatedProperties,
addedProperties, children);
}
/** . */
@@ -95,14 +111,29 @@
public static class Load extends ObjectVisit
{
+ private Load(UIObjectImpl object)
+ {
+ super(object);
+ }
+ }
+
+ public static class RecursiveLoad extends Load
+ {
+
/** . */
private final ChildrenVisit children;
- private Load(UIObjectImpl object, ChildrenVisit children)
+ private RecursiveLoad(UIObjectImpl object, ChildrenVisit children)
{
super(object);
//
+ if (children == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
this.children = children;
}
@@ -112,6 +143,70 @@
}
}
+ public static class RecursiveUpdate extends Update
+ {
+
+ /** . */
+ private final ChildrenVisit children;
+
+ private RecursiveUpdate(
+ UIObjectImpl object,
+ Set<String> removedProperties,
+ Map<String, Serializable> updatedProperties,
+ Map<String, Serializable> addedProperties,
+ ChildrenVisit children)
+ {
+ super(
+ object,
+ removedProperties,
+ updatedProperties,
+ addedProperties);
+
+ //
+ if (children == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ this.children = children;
+ }
+
+ public ChildrenVisit getChildrenVisit()
+ {
+ return children;
+ }
+ }
+
+ public static class SingleUpdate extends Update
+ {
+
+ /** . */
+ private final Collection<Evict> evictedChildren;
+
+ public SingleUpdate(
+ UIObjectImpl object,
+ Set<String> removedProperties,
+ Map<String, Serializable> updatedProperties,
+ Map<String, Serializable> addedProperties,
+ Collection<Evict> evictedChildren)
+ {
+ super(
+ object,
+ removedProperties,
+ updatedProperties,
+ addedProperties);
+
+ //
+ this.evictedChildren = evictedChildren;
+ }
+
+ public Collection<Evict> getEvictedChildren()
+ {
+ return evictedChildren;
+ }
+ }
+
public static class Update extends ObjectVisit
{
@@ -124,15 +219,11 @@
/** . */
private final Map<String, Serializable> addedProperties;
- /** . */
- private final ChildrenVisit children;
-
private Update(
UIObjectImpl object,
Set<String> removedProperties,
Map<String, Serializable> updatedProperties,
- Map<String, Serializable> addedProperties,
- ChildrenVisit children)
+ Map<String, Serializable> addedProperties)
{
super(object);
@@ -140,7 +231,6 @@
this.removedProperties = removedProperties;
this.updatedProperties = updatedProperties;
this.addedProperties = addedProperties;
- this.children = children;
}
public Set<String> getRemovedProperties()
@@ -157,18 +247,20 @@
{
return addedProperties;
}
-
- public ChildrenVisit getChildrenVisit()
- {
- return children;
- }
}
public static class Evict extends ObjectVisit
{
- private Evict(UIObjectImpl object)
+
+ /** . */
+ final Collection<Evict> evictedChildren;
+
+ public Evict(UIObjectImpl object, Collection<Evict> evictedChildren)
{
super(object);
+
+ //
+ this.evictedChildren = evictedChildren;
}
}
}