Author: julien(a)jboss.com
Date: 2008-07-07 13:45:48 -0400 (Mon, 07 Jul 2008)
New Revision: 11325
Removed:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIObjectContext.java
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/DiffPhase.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/InternalObjectContext.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ObjectDiff.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/UpdatePhase.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ViewPortImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/pull/DetachedViewPortContext.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/pull/UINodeImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIContextImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UILayoutImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIObjectImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIPageImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIPaneImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIWindowImpl.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/UIObjectContext.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ViewPortContext.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/AddChildTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/ModelTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MoveChildTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/NodeDef.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/RemoveChildRecursiveTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/RemoveChildTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/TypeTestCase.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/UIObjectNode.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/UIObjectTree.java
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/UpdateObjectTestCase.java
Log:
- make property update test case more strict
- fix for making the more strict test to pass
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/DiffPhase.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/DiffPhase.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/DiffPhase.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -197,7 +197,7 @@
//
return ObjectDiff.createRecursiveUpdate(
- object.getStructuralObject().getId(),
+ refresh.getObject(),
refresh.getRemovedProperties(),
refresh.getUpdatedProperties(),
refresh.getAddedProperties(),
@@ -213,7 +213,7 @@
//
return ObjectDiff.createSingleUpdate(
- object.getStructuralObject().getId(),
+ refresh.getObject(),
refresh.getRemovedProperties(),
refresh.getUpdatedProperties(),
refresh.getAddedProperties(),
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/InternalObjectContext.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/InternalObjectContext.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/InternalObjectContext.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -23,10 +23,11 @@
package org.jboss.portal.presentation.impl.model;
import org.jboss.portal.presentation.model.UIObjectContext;
-import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
+import org.jboss.portal.presentation.model.ui.UIObject;
import org.jboss.portal.presentation.state.structural.StructuralObject;
import java.util.Map;
+import java.io.Serializable;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -38,13 +39,10 @@
/** We keep track of what was loaded by the scope. */
Map<String, UIObjectRef> childRefs;
- final NavigationalStateContext navigationalStateContext;
+ StructuralObject structuralObject;
- final StructuralObject structuralObject;
-
- InternalObjectContext(NavigationalStateContext navigationalStateContext,
StructuralObject structuralObject)
+ InternalObjectContext(StructuralObject structuralObject)
{
- this.navigationalStateContext = navigationalStateContext;
this.structuralObject = structuralObject;
}
@@ -53,8 +51,18 @@
return structuralObject;
}
- public NavigationalStateContext getNavigationalStateContext()
+ public String getId()
{
- return navigationalStateContext;
+ return structuralObject.getId();
}
+
+ public Class<? extends UIObject> getType()
+ {
+ return structuralObject.getState().getType();
+ }
+
+ public Map<String, Serializable> getProperties()
+ {
+ return structuralObject.getState().getProperties();
+ }
}
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ObjectDiff.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ObjectDiff.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ObjectDiff.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -57,17 +57,17 @@
}
static SingleUpdate createSingleUpdate(
- String objectId,
+ StructuralObject object,
Set<String> removedProperties,
Map<String, Serializable> updatedProperties,
Map<String, Serializable> addedProperties,
Collection<Evict> evictedChildren)
{
- return new SingleUpdate(objectId, removedProperties, updatedProperties,
addedProperties, evictedChildren);
+ return new SingleUpdate(object, removedProperties, updatedProperties,
addedProperties, evictedChildren);
}
static RecursiveUpdate createRecursiveUpdate(
- String objectId,
+ StructuralObject object,
Set<String> removedProperties,
Map<String, Serializable> updatedProperties,
Map<String, Serializable> addedProperties,
@@ -78,7 +78,7 @@
Collection<Evict> removedChildren)
{
return new RecursiveUpdate(
- objectId,
+ object,
removedProperties,
updatedProperties,
addedProperties,
@@ -200,7 +200,7 @@
private final Collection<Evict> removedChildren;
private RecursiveUpdate(
- String objectId,
+ StructuralObject object,
Set<String> removedProperties,
Map<String, Serializable> updatedProperties,
Map<String, Serializable> addedProperties,
@@ -211,7 +211,7 @@
Collection<Evict> removedChildren)
{
super(
- objectId,
+ object,
removedProperties,
updatedProperties,
addedProperties);
@@ -284,14 +284,14 @@
private final Collection<Evict> evictedChildren;
public SingleUpdate(
- String objectId,
+ StructuralObject object,
Set<String> removedProperties,
Map<String, Serializable> updatedProperties,
Map<String, Serializable> addedProperties,
Collection<Evict> evictedChildren)
{
super(
- objectId,
+ object,
removedProperties,
updatedProperties,
addedProperties);
@@ -317,6 +317,9 @@
{
/** . */
+ private final StructuralObject object;
+
+ /** . */
private final Set<String> removedProperties;
/** . */
@@ -326,19 +329,25 @@
private final Map<String, Serializable> addedProperties;
private Update(
- String objectId,
+ StructuralObject object,
Set<String> removedProperties,
Map<String, Serializable> updatedProperties,
Map<String, Serializable> addedProperties)
{
- super(objectId);
+ super(object.getId());
//
+ this.object = object;
this.removedProperties = removedProperties;
this.updatedProperties = updatedProperties;
this.addedProperties = addedProperties;
}
+ public StructuralObject getObject()
+ {
+ return object;
+ }
+
public Set<String> getRemovedProperties()
{
return removedProperties;
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/UpdatePhase.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/UpdatePhase.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/UpdatePhase.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -23,7 +23,6 @@
package org.jboss.portal.presentation.impl.model;
import org.jboss.portal.presentation.model.ViewPortContext;
-import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
import java.util.Collection;
import java.util.HashMap;
@@ -47,15 +46,10 @@
/** . */
private final ObjectDiff rootDiff;
- /** . */
- private final NavigationalStateContext navigationalStateContext;
-
public UpdatePhase(
- NavigationalStateContext navigationalStateContext,
ViewPortContext context,
ObjectDiff rootDiff)
{
- this.navigationalStateContext = navigationalStateContext;
this.context = context;
this.rootDiff = rootDiff;
}
@@ -158,7 +152,7 @@
ObjectDiff.Load load = (ObjectDiff.Load)diff;
//
- InternalObjectContext objectContext = new
InternalObjectContext(navigationalStateContext, load.getObject());
+ InternalObjectContext objectContext = new
InternalObjectContext(load.getObject());
//
context.addObject(objectContext);
@@ -180,6 +174,12 @@
ObjectDiff.Update update = (ObjectDiff.Update)diff;
//
+ InternalObjectContext objectContext =
(InternalObjectContext)context.getObject(diff.getObjectId());
+
+ //
+ objectContext.structuralObject = update.getObject();
+
+ //
context.updateObject(
diff.getObjectId(),
update.getRemovedProperties(),
@@ -192,9 +192,6 @@
ObjectDiff.RecursiveUpdate recursiveUpdate =
(ObjectDiff.RecursiveUpdate)diff;
//
- InternalObjectContext objectContext =
(InternalObjectContext)context.getObject(diff.getObjectId());
-
- //
if (recursiveUpdate.getCreateChildren())
{
objectContext.childRefs = new HashMap<String, UIObjectRef>();
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ViewPortImpl.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ViewPortImpl.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ViewPortImpl.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -60,7 +60,7 @@
ObjectDiff rootDiff = diffPhase.getRootVisit();
//
- UpdatePhase phase = new UpdatePhase(model.navigationalStateContext, context,
rootDiff);
+ UpdatePhase phase = new UpdatePhase(context, rootDiff);
//
phase.perform();
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/pull/DetachedViewPortContext.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/pull/DetachedViewPortContext.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/pull/DetachedViewPortContext.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -26,6 +26,7 @@
import org.jboss.portal.presentation.model.ViewPortContext;
import org.jboss.portal.presentation.model.UIObjectContext;
import org.jboss.portal.presentation.impl.model.ui.UIObjectImpl;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
import java.util.HashMap;
import java.util.Map;
@@ -42,6 +43,14 @@
/** . */
final Map<String, DetachedUINode> nodes = new HashMap<String,
DetachedUINode>();
+ /** . */
+ final NavigationalStateContext navigationalStateContext;
+
+ public DetachedViewPortContext(NavigationalStateContext navigationalStateContext)
+ {
+ this.navigationalStateContext = navigationalStateContext;
+ }
+
public DetachedUINode getNode(String nodeId)
{
return nodes.get(nodeId);
@@ -64,7 +73,7 @@
public void addObject(UIObjectContext objectContext)
{
- UIObject object = UIObjectImpl.create(objectContext);
+ UIObject object = UIObjectImpl.create(navigationalStateContext, objectContext);
//
DetachedUINode node = new DetachedUINode(object, objectContext);
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/pull/UINodeImpl.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/pull/UINodeImpl.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/pull/UINodeImpl.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -32,6 +32,8 @@
import java.util.Collection;
import java.util.ArrayList;
+import java.util.Map;
+import java.io.Serializable;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -84,11 +86,26 @@
return structuralObject;
}
+ public String getId()
+ {
+ return structuralObject.getId();
+ }
+
+ public Class<? extends UIObject> getType()
+ {
+ return structuralObject.getState().getType();
+ }
+
+ public Map<String, Serializable> getProperties()
+ {
+ return structuralObject.getState().getProperties();
+ }
+
public UIObject getObject()
{
if (object == null)
{
- object = UIObjectImpl.create(this);
+ object = UIObjectImpl.create(navigationalStateContext, this);
}
//
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIContextImpl.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIContextImpl.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIContextImpl.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -24,6 +24,7 @@
import org.jboss.portal.presentation.model.ui.UIContext;
import org.jboss.portal.presentation.model.UIObjectContext;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -31,8 +32,8 @@
*/
public class UIContextImpl extends UILayoutImpl implements UIContext
{
- public UIContextImpl(UIObjectContext context)
+ public UIContextImpl(NavigationalStateContext navigationalStateContext,
UIObjectContext context)
{
- super(context);
+ super(navigationalStateContext, context);
}
}
\ No newline at end of file
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UILayoutImpl.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UILayoutImpl.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UILayoutImpl.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -24,6 +24,7 @@
import org.jboss.portal.presentation.model.ui.UILayout;
import org.jboss.portal.presentation.model.UIObjectContext;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -32,8 +33,8 @@
public abstract class UILayoutImpl extends UIObjectImpl implements UILayout
{
- public UILayoutImpl(UIObjectContext context)
+ public UILayoutImpl(NavigationalStateContext navigationalStateContext, UIObjectContext
context)
{
- super(context);
+ super(navigationalStateContext, context);
}
}
Deleted:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIObjectContext.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIObjectContext.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIObjectContext.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -1,40 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2008, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.presentation.impl.model.ui;
-
-import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
-import org.jboss.portal.presentation.state.structural.StructuralObject;
-
-/**
- * Just some context data for a uiobject that can be used by different concerns.
- *
- * @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
- * @version $Revision: 630 $
- */
-public interface UIObjectContext
-{
-
- NavigationalStateContext getNavigationalStateContext();
-
- StructuralObject getStructuralObject();
-}
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIObjectImpl.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIObjectImpl.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIObjectImpl.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -32,7 +32,7 @@
import org.jboss.portal.presentation.model.UIObjectContext;
import org.jboss.portal.presentation.state.StateException;
import org.jboss.portal.presentation.state.StateType;
-import org.jboss.portal.presentation.state.structural.StructuralObject;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
import java.util.Set;
@@ -46,32 +46,34 @@
/** . */
private final UIObjectContext context;
- public static UIObjectImpl create(UIObjectContext objectContext)
+ /** . */
+ private final NavigationalStateContext navigationalStateContext;
+
+ public static UIObjectImpl create(
+ NavigationalStateContext navigationalStateContext,
+ UIObjectContext objectContext)
{
UIObjectImpl object;
//
- StructuralObject structuralObject = objectContext.getStructuralObject();
+ Class type = objectContext.getType();
//
- Class type = structuralObject.getState().getType();
-
- //
if (type == UIWindow.class)
{
- object = new UIWindowImpl(objectContext);
+ object = new UIWindowImpl(navigationalStateContext, objectContext);
}
else if (type == UIPage.class)
{
- object = new UIPageImpl(objectContext);
+ object = new UIPageImpl(navigationalStateContext, objectContext);
}
else if (type == UIPane.class)
{
- object = new UIPaneImpl(objectContext);
+ object = new UIPaneImpl(navigationalStateContext, objectContext);
}
else if (type == UIContext.class)
{
- object = new UIContextImpl(objectContext);
+ object = new UIContextImpl(navigationalStateContext, objectContext);
}
else
{
@@ -82,15 +84,15 @@
return object;
}
- public UIObjectImpl(
- UIObjectContext context)
+ public UIObjectImpl(NavigationalStateContext navigationalStateContext, UIObjectContext
context)
{
+ this.navigationalStateContext = navigationalStateContext;
this.context = context;
}
public String getId()
{
- return context.getStructuralObject().getId();
+ return context.getId();
}
public <T> T getPropertyValue(StateType stateType, String propertyName,
Class<T> propertyType) throws IllegalArgumentException, StateException
@@ -112,9 +114,9 @@
switch (stateType)
{
case STRUCTURAL:
- return
Reflection.safeCast(context.getStructuralObject().getState().getProperties().get(propertyName),
propertyType);
+ return Reflection.safeCast(context.getProperties().get(propertyName),
propertyType);
case NAVIGATIONAL:
- return
Reflection.safeCast(context.getNavigationalStateContext().getProperty(getStructuralObject().getId(),
propertyName), propertyType);
+ return
Reflection.safeCast(navigationalStateContext.getProperty(context.getId(), propertyName),
propertyType);
default:
throw new AssertionError();
}
@@ -131,19 +133,14 @@
switch (stateType)
{
case STRUCTURAL:
- return context.getStructuralObject().getState().getProperties().keySet();
+ return context.getProperties().keySet();
case NAVIGATIONAL:
- return
context.getNavigationalStateContext().getPropertyNames(context.getStructuralObject().getId());
+ return navigationalStateContext.getPropertyNames(context.getId());
default:
throw new AssertionError();
}
}
- public StructuralObject getStructuralObject()
- {
- return context.getStructuralObject();
- }
-
public UIObjectContext getContext()
{
return context;
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIPageImpl.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIPageImpl.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIPageImpl.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -24,6 +24,7 @@
import org.jboss.portal.presentation.model.ui.UIPage;
import org.jboss.portal.presentation.model.UIObjectContext;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -31,8 +32,8 @@
*/
public class UIPageImpl extends UILayoutImpl implements UIPage
{
- public UIPageImpl(UIObjectContext context)
+ public UIPageImpl(NavigationalStateContext navigationalStateContext, UIObjectContext
context)
{
- super(context);
+ super(navigationalStateContext, context);
}
}
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIPaneImpl.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIPaneImpl.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIPaneImpl.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -23,6 +23,7 @@
package org.jboss.portal.presentation.impl.model.ui;
import org.jboss.portal.presentation.model.UIObjectContext;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -30,8 +31,8 @@
*/
public class UIPaneImpl extends UILayoutImpl
{
- public UIPaneImpl(UIObjectContext context)
+ public UIPaneImpl(NavigationalStateContext navigationalStateContext, UIObjectContext
context)
{
- super(context);
+ super(navigationalStateContext, context);
}
}
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIWindowImpl.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIWindowImpl.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIWindowImpl.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -27,6 +27,7 @@
import org.jboss.portal.presentation.model.ui.UIWindow;
import org.jboss.portal.presentation.model.UIObjectContext;
import org.jboss.portal.presentation.state.StateType;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -35,9 +36,9 @@
public class UIWindowImpl extends UIObjectImpl implements UIWindow
{
- public UIWindowImpl(UIObjectContext context)
+ public UIWindowImpl(NavigationalStateContext navigationalStateContext, UIObjectContext
context)
{
- super(context);
+ super(navigationalStateContext, context);
}
public WindowState getWindowState()
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/UIObjectContext.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/UIObjectContext.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/UIObjectContext.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -22,11 +22,13 @@
******************************************************************************/
package org.jboss.portal.presentation.model;
-import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
-import org.jboss.portal.presentation.state.structural.StructuralObject;
+import org.jboss.portal.presentation.model.ui.UIObject;
+import java.io.Serializable;
+import java.util.Map;
+
/**
- * Just some context data for a uiobject that can be used by different concerns.
+ * The context of a a ui object with respect to the viewport.
*
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
* @version $Revision: 630 $
@@ -34,7 +36,24 @@
public interface UIObjectContext
{
- NavigationalStateContext getNavigationalStateContext();
+ /**
+ * Returns the object id.
+ *
+ * @return the object id
+ */
+ String getId();
- StructuralObject getStructuralObject();
+ /**
+ * Returns the object type.
+ *
+ * @return the type
+ */
+ Class<? extends UIObject> getType();
+
+ /**
+ * Returns an immutable map containing the object properties.
+ *
+ * @return the properties
+ */
+ Map<String, Serializable> getProperties();
}
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ViewPortContext.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ViewPortContext.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ViewPortContext.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -22,8 +22,6 @@
******************************************************************************/
package org.jboss.portal.presentation.model;
-import org.jboss.portal.presentation.model.UIObjectContext;
-
import java.util.Set;
import java.util.Map;
import java.io.Serializable;
Modified:
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/AddChildTestCase.java
===================================================================
---
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/AddChildTestCase.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/AddChildTestCase.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -26,6 +26,7 @@
import org.jboss.portal.presentation.model.ViewPort;
import org.jboss.portal.presentation.model.ViewPortScope;
import org.jboss.portal.presentation.model.ui.UIPage;
+import
org.jboss.portal.presentation.impl.state.navigational.NavigationalStateContextImpl;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -50,7 +51,7 @@
//
ViewPortScope scope = new CustomScope(mockModel, model, rootDef);
- UIObjectTree context = new UIObjectTree();
+ UIObjectTree context = new UIObjectTree(new NavigationalStateContextImpl());
ViewPort viewPort = model.createViewPort(context, scope);
//
Modified:
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/ModelTestCase.java
===================================================================
---
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/ModelTestCase.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/ModelTestCase.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -25,6 +25,7 @@
import org.jboss.portal.presentation.model.ObjectTraversalType;
import org.jboss.portal.presentation.model.ViewPort;
import org.jboss.portal.presentation.model.ViewPortScope;
+import
org.jboss.portal.presentation.impl.state.navigational.NavigationalStateContextImpl;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -57,7 +58,7 @@
//
ViewPortScope scope = new CustomScope(mockModel, model, rootDef);
- UIObjectTree context = new UIObjectTree();
+ UIObjectTree context = new UIObjectTree(new NavigationalStateContextImpl());
ViewPort viewPort = model.createViewPort(context, scope);
//
Modified:
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MoveChildTestCase.java
===================================================================
---
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MoveChildTestCase.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/MoveChildTestCase.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -25,6 +25,7 @@
import org.jboss.portal.presentation.model.ObjectTraversalType;
import org.jboss.portal.presentation.model.ViewPort;
import org.jboss.portal.presentation.model.ViewPortScope;
+import
org.jboss.portal.presentation.impl.state.navigational.NavigationalStateContextImpl;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -49,7 +50,7 @@
//
ViewPortScope scope = new CustomScope(mockModel, model, rootDef);
- UIObjectTree context = new UIObjectTree();
+ UIObjectTree context = new UIObjectTree(new NavigationalStateContextImpl());
ViewPort viewPort = model.createViewPort(context, scope);
//
@@ -86,7 +87,7 @@
//
ViewPortScope scope = new CustomScope(mockModel, model, rootDef);
- UIObjectTree context = new UIObjectTree();
+ UIObjectTree context = new UIObjectTree(new NavigationalStateContextImpl());
ViewPort viewPort = model.createViewPort(context, scope);
//
@@ -124,7 +125,7 @@
//
ViewPortScope scope = new CustomScope(mockModel, model, rootDef);
- UIObjectTree context = new UIObjectTree();
+ UIObjectTree context = new UIObjectTree(new NavigationalStateContextImpl());
ViewPort viewPort = model.createViewPort(context, scope);
//
Modified:
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/NodeDef.java
===================================================================
---
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/NodeDef.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/NodeDef.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -193,6 +193,7 @@
public void assertEquals(UIObjectNode objectNode)
{
+ // Compare first with node properties
Assert.assertEquals(properties.keySet(), objectNode.getProperties().keySet());
for (String propertyName : properties.keySet())
{
@@ -201,6 +202,15 @@
Assert.assertEquals(expectedProperty, property);
}
+ // Compare then with the context properties
+ Assert.assertEquals(properties.keySet(),
objectNode.getContext().getProperties().keySet());
+ for (String propertyName : properties.keySet())
+ {
+ String expectedProperty = properties.get(propertyName);
+ Serializable property =
objectNode.getContext().getProperties().get(propertyName);
+ Assert.assertEquals(expectedProperty, property);
+ }
+
//
switch (traversal)
{
Modified:
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/RemoveChildRecursiveTestCase.java
===================================================================
---
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/RemoveChildRecursiveTestCase.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/RemoveChildRecursiveTestCase.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -25,6 +25,7 @@
import org.jboss.portal.presentation.model.ObjectTraversalType;
import org.jboss.portal.presentation.model.ViewPort;
import org.jboss.portal.presentation.model.ViewPortScope;
+import
org.jboss.portal.presentation.impl.state.navigational.NavigationalStateContextImpl;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -55,7 +56,7 @@
//
ViewPortScope scope = new CustomScope(mockModel, model, rootDef);
- UIObjectTree context = new UIObjectTree();
+ UIObjectTree context = new UIObjectTree(new NavigationalStateContextImpl());
ViewPort viewPort = model.createViewPort(context, scope);
//
Modified:
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/RemoveChildTestCase.java
===================================================================
---
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/RemoveChildTestCase.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/RemoveChildTestCase.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -25,6 +25,7 @@
import org.jboss.portal.presentation.model.ObjectTraversalType;
import org.jboss.portal.presentation.model.ViewPort;
import org.jboss.portal.presentation.model.ViewPortScope;
+import
org.jboss.portal.presentation.impl.state.navigational.NavigationalStateContextImpl;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -53,7 +54,7 @@
//
ViewPortScope scope = new CustomScope(mockModel, model, rootDef);
- UIObjectTree context = new UIObjectTree();
+ UIObjectTree context = new UIObjectTree(new NavigationalStateContextImpl());
ViewPort viewPort = model.createViewPort(context, scope);
//
Modified:
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/TypeTestCase.java
===================================================================
---
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/TypeTestCase.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/TypeTestCase.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -28,6 +28,7 @@
import org.jboss.portal.presentation.model.ui.UIPage;
import org.jboss.portal.presentation.model.ui.UIWindow;
import org.jboss.portal.presentation.test.model.AbstractModelTestCase;
+import
org.jboss.portal.presentation.impl.state.navigational.NavigationalStateContextImpl;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -47,7 +48,7 @@
//
ViewPortScope scope = new CustomScope(mockModel, model, rootDef);
- UIObjectTree context = new UIObjectTree();
+ UIObjectTree context = new UIObjectTree(new NavigationalStateContextImpl());
ViewPort viewPort = model.createViewPort(context, scope);
//
Modified:
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/UIObjectNode.java
===================================================================
---
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/UIObjectNode.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/UIObjectNode.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -24,7 +24,6 @@
import org.jboss.portal.presentation.model.ui.UIObject;
import org.jboss.portal.presentation.model.UIObjectContext;
-import org.jboss.portal.presentation.state.StateType;
import java.util.HashMap;
import java.util.Map;
@@ -63,10 +62,7 @@
//
this.object = object;
this.context = context;
- this.properties = new HashMap<String, Serializable>();
-
- //
- updateState();
+ this.properties = new HashMap<String,
Serializable>(context.getProperties());
}
public UIObjectContext getContext()
@@ -79,17 +75,6 @@
return properties;
}
- public void updateState()
- {
- properties.clear();
-
- for (String name : object.getPropertyNames(StateType.STRUCTURAL))
- {
- String value = object.getPropertyValue(StateType.STRUCTURAL, name,
String.class);
- properties.put(name, value);
- }
- }
-
public UIObject getObject()
{
return object;
Modified:
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/UIObjectTree.java
===================================================================
---
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/UIObjectTree.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/UIObjectTree.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -27,6 +27,7 @@
import org.jboss.portal.presentation.model.ViewPortContext;
import org.jboss.portal.presentation.model.UIObjectContext;
import org.jboss.portal.presentation.impl.model.ui.UIObjectImpl;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
import java.util.ArrayList;
import java.util.HashMap;
@@ -45,6 +46,14 @@
/** . */
private final Map<String, UIObjectNode> nodes = new HashMap<String,
UIObjectNode>();
+ /** . */
+ private final NavigationalStateContext navigationalStateContext;
+
+ public UIObjectTree(NavigationalStateContext navigationalStateContext)
+ {
+ this.navigationalStateContext = navigationalStateContext;
+ }
+
public void assertConsistency(String rootId)
{
UIObjectNode root = nodes.get(rootId);
@@ -90,7 +99,7 @@
public void addObject(UIObjectContext objectContext)
{
- String id = objectContext.getStructuralObject().getId();
+ String id = objectContext.getId();
//
if (nodes.containsKey(id))
@@ -99,7 +108,7 @@
}
//
- UIObject object = UIObjectImpl.create(objectContext);
+ UIObject object = UIObjectImpl.create(navigationalStateContext, objectContext);
//
nodes.put(id, new UIObjectNode(object, objectContext));
Modified:
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/UpdateObjectTestCase.java
===================================================================
---
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/UpdateObjectTestCase.java 2008-07-07
17:04:19 UTC (rev 11324)
+++
modules/presentation/trunk/presentation/src/test/java/org/jboss/portal/presentation/test/model/UpdateObjectTestCase.java 2008-07-07
17:45:48 UTC (rev 11325)
@@ -25,6 +25,7 @@
import org.jboss.portal.presentation.model.ObjectTraversalType;
import org.jboss.portal.presentation.model.ViewPort;
import org.jboss.portal.presentation.model.ViewPortScope;
+import
org.jboss.portal.presentation.impl.state.navigational.NavigationalStateContextImpl;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -48,7 +49,7 @@
//
ViewPortScope scope = new CustomScope(mockModel, model, rootDef);
- UIObjectTree context = new UIObjectTree();
+ UIObjectTree context = new UIObjectTree(new NavigationalStateContextImpl());
ViewPort viewPort = model.createViewPort(context, scope);
//
@@ -73,6 +74,7 @@
mockModel.getRoot().getChild("foo").setPropertyValue("bar",
"bar_value");
//
+ rootDef.getChild("foo").setProperty("juu", null);
rootDef.getChild("foo").setProperty("daa",
"daa_value2");
rootDef.getChild("foo").setProperty("bar",
"bar_value");