Author: julien(a)jboss.com
Date: 2008-06-30 11:29:22 -0400 (Mon, 30 Jun 2008)
New Revision: 11211
Removed:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/DefaultPageViewPortScope.java
Modified:
modules/presentation/trunk/ajax/src/main/java/org/jboss/portal/presentation/ajax/client/model/AjaxObject.java
modules/presentation/trunk/ajax/src/main/java/org/jboss/portal/presentation/ajax/server/PresentationClientServlet.java
modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/ClassicPresentationClient.java
modules/presentation/trunk/portal/src/main/artifacts/presentation-portal-war/WEB-INF/page-structure.xml
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/model/ModelImporter.java
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/model/node/ContextNode.java
modules/presentation/trunk/portal/src/main/resources/org/jboss/portal/presentation/portal/page_structure_1_0.xsd
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/model/ui/UIContext.java
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/PageViewPortScope.java
Log:
make the root context to BE a page, simplify quite lot of stuff
Modified:
modules/presentation/trunk/ajax/src/main/java/org/jboss/portal/presentation/ajax/client/model/AjaxObject.java
===================================================================
---
modules/presentation/trunk/ajax/src/main/java/org/jboss/portal/presentation/ajax/client/model/AjaxObject.java 2008-06-30
15:18:57 UTC (rev 11210)
+++
modules/presentation/trunk/ajax/src/main/java/org/jboss/portal/presentation/ajax/client/model/AjaxObject.java 2008-06-30
15:29:22 UTC (rev 11211)
@@ -140,15 +140,16 @@
//
switch (addObject.getObjectType())
{
- case ObjectType.PAGE:
+ case ObjectType.CONTEXT:
if (root != null)
{
throw new IllegalStateException("Already a root
page");
}
-
- //
object = root = new AjaxPage(addObject.getObjectId());
break;
+ case ObjectType.PAGE:
+ object = root = new AjaxPage(addObject.getObjectId());
+ break;
case ObjectType.WINDOW:
object = new AjaxWindow(addObject.getObjectId());
break;
Modified:
modules/presentation/trunk/ajax/src/main/java/org/jboss/portal/presentation/ajax/server/PresentationClientServlet.java
===================================================================
---
modules/presentation/trunk/ajax/src/main/java/org/jboss/portal/presentation/ajax/server/PresentationClientServlet.java 2008-06-30
15:18:57 UTC (rev 11210)
+++
modules/presentation/trunk/ajax/src/main/java/org/jboss/portal/presentation/ajax/server/PresentationClientServlet.java 2008-06-30
15:29:22 UTC (rev 11211)
@@ -37,16 +37,11 @@
import org.jboss.portal.presentation.server.PresentationResponse;
import org.jboss.portal.presentation.model.UIModel;
import org.jboss.portal.presentation.model.ViewPort;
-import org.jboss.portal.presentation.model.ViewPortScope;
-import org.jboss.portal.presentation.model.UINode;
import org.jboss.portal.presentation.content.ContentFragment;
import org.jboss.portal.presentation.impl.model.UIModelImpl;
-import org.jboss.portal.presentation.impl.model.pull.DetachedViewPortContext;
import
org.jboss.portal.presentation.impl.state.navigational.NavigationalStateContextImpl;
import
org.jboss.portal.presentation.impl.state.navigational.DelegatingNavigationalStateContext;
-import org.jboss.portal.presentation.view.DefaultPageViewPortScope;
import org.jboss.portal.presentation.view.PageViewPortScope;
-import org.jboss.portal.presentation.state.structural.StructuralStateContext;
import org.jboss.portal.presentation.client.PresentationClient;
import org.jboss.portal.presentation.protocol.codec.ActionEncoder;
import org.jboss.portal.presentation.protocol.codec.ActionDecoder;
@@ -80,19 +75,6 @@
super.init();
}
- private String getDefaultPageId(PresentationServer server)
- {
- StructuralStateContext ssc = server.getStructuralStateContext();
- ViewPortScope scope = new DefaultPageViewPortScope(ssc.getRootId());
- DetachedViewPortContext context = new DetachedViewPortContext();
- UIModel model = new UIModelImpl(null, ssc);
- ViewPort viewPort = model.createViewPort(context, scope);
- viewPort.refresh();
- UINode root = context.getNode(ssc.getRootId());
- UINode defaultPage = root.getChildren().iterator().next();
- return defaultPage.getObject().getId();
- }
-
public ModelUpdate[] ping()
{
PresentationServer server = getPresentationServer();
@@ -104,12 +86,9 @@
AjaxViewPortContext viewPortContext = new AjaxViewPortContext();
//
- String defaultPageId = getDefaultPageId(server);
+ ViewPort viewPort = model.createViewPort(viewPortContext, new
PageViewPortScope(server.getStructuralStateContext().getRootId()));
//
- ViewPort viewPort = model.createViewPort(viewPortContext, new
PageViewPortScope(defaultPageId));
-
- //
viewPort.refresh();
//
Modified:
modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/ClassicPresentationClient.java
===================================================================
---
modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/ClassicPresentationClient.java 2008-06-30
15:18:57 UTC (rev 11210)
+++
modules/presentation/trunk/classic/src/main/java/org/jboss/portal/presentation/classic/ClassicPresentationClient.java 2008-06-30
15:29:22 UTC (rev 11211)
@@ -26,7 +26,6 @@
import org.jboss.portal.presentation.classic.model.ClassicViewPortContext;
import org.jboss.portal.presentation.classic.protocol.ClassicActionDecoderContext;
import org.jboss.portal.presentation.classic.protocol.ClassicActionEncoderContext;
-import org.jboss.portal.presentation.view.DefaultPageViewPortScope;
import org.jboss.portal.presentation.view.PageViewPortScope;
import org.jboss.portal.presentation.protocol.codec.ActionDecoder;
import org.jboss.portal.presentation.protocol.codec.ActionDecoderContext;
@@ -228,15 +227,8 @@
else
{
StructuralStateContext ssc = server.getStructuralStateContext();
- ViewPortScope scope = new DefaultPageViewPortScope(ssc.getRootId());
- ClassicViewPortContext context = new ClassicViewPortContext();
- UIModel model = new UIModelImpl(null, ssc);
- ViewPort viewPort = model.createViewPort(context, scope);
- viewPort.refresh();
- UINode root = context.getNode(ssc.getRootId());
- UINode defaultPage = root.getChildren().iterator().next();
- String defaultPageId = defaultPage.getObject().getId();
- renderDocument(new PageViewPortScope(defaultPageId), defaultPageId);
+ ViewPortScope scope = new PageViewPortScope(ssc.getRootId());
+ renderDocument(scope, ssc.getRootId());
}
}
Modified:
modules/presentation/trunk/portal/src/main/artifacts/presentation-portal-war/WEB-INF/page-structure.xml
===================================================================
---
modules/presentation/trunk/portal/src/main/artifacts/presentation-portal-war/WEB-INF/page-structure.xml 2008-06-30
15:18:57 UTC (rev 11210)
+++
modules/presentation/trunk/portal/src/main/artifacts/presentation-portal-war/WEB-INF/page-structure.xml 2008-06-30
15:29:22 UTC (rev 11211)
@@ -1,77 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<context-def
xmlns="urn:jboss:portal:presentation:page:1.0"
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-
- <page-def name="default">
+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ name="">
+ <simple-layout>
+ <window-def name="windowA">
+ <portlet ref="/portal-server.Catalog"/>
+ </window-def>
+ <window-def name="windowB">
+ <portlet ref="/portal-server.Cart"/>
+ </window-def>
+ <simple-layout orientation="horizontal">
+ <window-def name="windowC">
+ <markup>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Pellentesque odio nisl, faucibus id, placerat et, pulvinar at, nisi. Vivamus mollis
pharetra risus. Mauris vitae massa vel augue congue eleifend. Morbi pede pede, adipiscing
nec, scelerisque nec, ullamcorper sed, libero. Mauris iaculis lorem sit amet eros. Proin
viverra eros. Morbi sit amet libero. Donec nec turpis et nunc consectetuer auctor. Fusce
et metus. Sed commodo condimentum libero. Sed mollis tellus id justo. Nulla condimentum,
libero ultricies accumsan pellentesque, nibh pede egestas quam, vitae varius nisi arcu ac
urna. Phasellus interdum, odio vitae eleifend suscipit, nibh massa laoreet lorem, id
mollis justo nisl non nunc. Sed enim enim, rutrum a, scelerisque eget, laoreet non, ante.
Aenean molestie ipsum in nisi.</markup>
+ </window-def>
+ <window-def name="windowD">
+ <markup>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Pellentesque odio nisl, faucibus id, placerat et, pulvinar at, nisi. Vivamus mollis
pharetra risus. Mauris vitae massa vel augue congue eleifend. Morbi pede pede, adipiscing
nec, scelerisque nec, ullamcorper sed, libero. Mauris iaculis lorem sit amet eros. Proin
viverra eros. Morbi sit amet libero. Donec nec turpis et nunc consectetuer auctor. Fusce
et metus. Sed commodo condimentum libero. Sed mollis tellus id justo. Nulla condimentum,
libero ultricies accumsan pellentesque, nibh pede egestas quam, vitae varius nisi arcu ac
urna. Phasellus interdum, odio vitae eleifend suscipit, nibh massa laoreet lorem, id
mollis justo nisl non nunc. Sed enim enim, rutrum a, scelerisque eget, laoreet non, ante.
Aenean molestie ipsum in nisi.</markup>
+ </window-def>
+ </simple-layout>
+ <simple-layout orientation="horizontal">
+ <window-def name="windowE">
+ <portlet ref="/portal-server.PublicParameterPortlet1"/>
+ </window-def>
+ <window-def name="windowF">
+ <portlet ref="/portal-server.PublicParameterPortlet2"/>
+ </window-def>
+ <window-def name="windowG">
+ <portlet ref="/portal-server.PublicParameterPortlet3"/>
+ </window-def>
+ </simple-layout>
+ </simple-layout>
+ <page-def name="child-page-1">
<simple-layout>
<window-def name="windowA">
- <portlet ref="/portal-server.Catalog"/>
+ <markup>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Pellentesque odio nisl, faucibus id, placerat et, pulvinar at, nisi. Vivamus mollis
pharetra risus. Mauris vitae massa vel augue congue eleifend. Morbi pede pede, adipiscing
nec, scelerisque nec, ullamcorper sed, libero. Mauris iaculis lorem sit amet eros. Proin
viverra eros. Morbi sit amet libero. Donec nec turpis et nunc consectetuer auctor. Fusce
et metus. Sed commodo condimentum libero. Sed mollis tellus id justo. Nulla condimentum,
libero ultricies accumsan pellentesque, nibh pede egestas quam, vitae varius nisi arcu ac
urna. Phasellus interdum, odio vitae eleifend suscipit, nibh massa laoreet lorem, id
mollis justo nisl non nunc. Sed enim enim, rutrum a, scelerisque eget, laoreet non, ante.
Aenean molestie ipsum in nisi.</markup>
</window-def>
<window-def name="windowB">
- <portlet ref="/portal-server.Cart"/>
+ <markup>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Pellentesque odio nisl, faucibus id, placerat et, pulvinar at, nisi. Vivamus mollis
pharetra risus. Mauris vitae massa vel augue congue eleifend. Morbi pede pede, adipiscing
nec, scelerisque nec, ullamcorper sed, libero. Mauris iaculis lorem sit amet eros. Proin
viverra eros. Morbi sit amet libero. Donec nec turpis et nunc consectetuer auctor. Fusce
et metus. Sed commodo condimentum libero. Sed mollis tellus id justo. Nulla condimentum,
libero ultricies accumsan pellentesque, nibh pede egestas quam, vitae varius nisi arcu ac
urna. Phasellus interdum, odio vitae eleifend suscipit, nibh massa laoreet lorem, id
mollis justo nisl non nunc. Sed enim enim, rutrum a, scelerisque eget, laoreet non, ante.
Aenean molestie ipsum in nisi.</markup>
</window-def>
- <simple-layout orientation="horizontal">
- <window-def name="windowC">
- <markup>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Pellentesque odio nisl, faucibus id, placerat et, pulvinar at, nisi. Vivamus mollis
pharetra risus. Mauris vitae massa vel augue congue eleifend. Morbi pede pede, adipiscing
nec, scelerisque nec, ullamcorper sed, libero. Mauris iaculis lorem sit amet eros. Proin
viverra eros. Morbi sit amet libero. Donec nec turpis et nunc consectetuer auctor. Fusce
et metus. Sed commodo condimentum libero. Sed mollis tellus id justo. Nulla condimentum,
libero ultricies accumsan pellentesque, nibh pede egestas quam, vitae varius nisi arcu ac
urna. Phasellus interdum, odio vitae eleifend suscipit, nibh massa laoreet lorem, id
mollis justo nisl non nunc. Sed enim enim, rutrum a, scelerisque eget, laoreet non, ante.
Aenean molestie ipsum in nisi.</markup>
- </window-def>
- <window-def name="windowD">
- <markup>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Pellentesque odio nisl, faucibus id, placerat et, pulvinar at, nisi. Vivamus mollis
pharetra risus. Mauris vitae massa vel augue congue eleifend. Morbi pede pede, adipiscing
nec, scelerisque nec, ullamcorper sed, libero. Mauris iaculis lorem sit amet eros. Proin
viverra eros. Morbi sit amet libero. Donec nec turpis et nunc consectetuer auctor. Fusce
et metus. Sed commodo condimentum libero. Sed mollis tellus id justo. Nulla condimentum,
libero ultricies accumsan pellentesque, nibh pede egestas quam, vitae varius nisi arcu ac
urna. Phasellus interdum, odio vitae eleifend suscipit, nibh massa laoreet lorem, id
mollis justo nisl non nunc. Sed enim enim, rutrum a, scelerisque eget, laoreet non, ante.
Aenean molestie ipsum in nisi.</markup>
- </window-def>
- </simple-layout>
- <simple-layout orientation="horizontal">
- <window-def name="windowE">
- <portlet ref="/portal-server.PublicParameterPortlet1"/>
- </window-def>
- <window-def name="windowF">
- <portlet ref="/portal-server.PublicParameterPortlet2"/>
- </window-def>
- <window-def name="windowG">
- <portlet ref="/portal-server.PublicParameterPortlet3"/>
- </window-def>
- </simple-layout>
</simple-layout>
- <page-def name="child-page-default-1">
- <simple-layout>
- <window-def name="windowA">
- <markup>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Pellentesque odio nisl, faucibus id, placerat et, pulvinar at, nisi. Vivamus mollis
pharetra risus. Mauris vitae massa vel augue congue eleifend. Morbi pede pede, adipiscing
nec, scelerisque nec, ullamcorper sed, libero. Mauris iaculis lorem sit amet eros. Proin
viverra eros. Morbi sit amet libero. Donec nec turpis et nunc consectetuer auctor. Fusce
et metus. Sed commodo condimentum libero. Sed mollis tellus id justo. Nulla condimentum,
libero ultricies accumsan pellentesque, nibh pede egestas quam, vitae varius nisi arcu ac
urna. Phasellus interdum, odio vitae eleifend suscipit, nibh massa laoreet lorem, id
mollis justo nisl non nunc. Sed enim enim, rutrum a, scelerisque eget, laoreet non, ante.
Aenean molestie ipsum in nisi.</markup>
- </window-def>
- <window-def name="windowB">
- <markup>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Pellentesque odio nisl, faucibus id, placerat et, pulvinar at, nisi. Vivamus mollis
pharetra risus. Mauris vitae massa vel augue congue eleifend. Morbi pede pede, adipiscing
nec, scelerisque nec, ullamcorper sed, libero. Mauris iaculis lorem sit amet eros. Proin
viverra eros. Morbi sit amet libero. Donec nec turpis et nunc consectetuer auctor. Fusce
et metus. Sed commodo condimentum libero. Sed mollis tellus id justo. Nulla condimentum,
libero ultricies accumsan pellentesque, nibh pede egestas quam, vitae varius nisi arcu ac
urna. Phasellus interdum, odio vitae eleifend suscipit, nibh massa laoreet lorem, id
mollis justo nisl non nunc. Sed enim enim, rutrum a, scelerisque eget, laoreet non, ante.
Aenean molestie ipsum in nisi.</markup>
- </window-def>
- </simple-layout>
- </page-def>
- <page-def name="child-page-default-2">
- <simple-layout>
- <window-def name="windowA">
- <portlet ref="/portal-server.PublicParameterPortlet1"/>
- </window-def>
- <window-def name="windowB">
- <portlet ref="/portal-server.PublicParameterPortlet2"/>
- </window-def>
- <window-def name="windowC">
- <portlet ref="/portal-server.PublicParameterPortlet3"/>
- </window-def>
- </simple-layout>
- </page-def>
</page-def>
- <page-def name="default-sibling-1">
+ <page-def name="child-page-2">
<simple-layout>
<window-def name="windowA">
- <markup>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Pellentesque odio nisl, faucibus id, placerat et, pulvinar at, nisi. Vivamus mollis
pharetra risus. Mauris vitae massa vel augue congue eleifend. Morbi pede pede, adipiscing
nec, scelerisque nec, ullamcorper sed, libero. Mauris iaculis lorem sit amet eros. Proin
viverra eros. Morbi sit amet libero. Donec nec turpis et nunc consectetuer auctor. Fusce
et metus. Sed commodo condimentum libero. Sed mollis tellus id justo. Nulla condimentum,
libero ultricies accumsan pellentesque, nibh pede egestas quam, vitae varius nisi arcu ac
urna. Phasellus interdum, odio vitae eleifend suscipit, nibh massa laoreet lorem, id
mollis justo nisl non nunc. Sed enim enim, rutrum a, scelerisque eget, laoreet non, ante.
Aenean molestie ipsum in nisi.</markup>
+ <portlet ref="/portal-server.PublicParameterPortlet1"/>
</window-def>
<window-def name="windowB">
- <markup>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Pellentesque odio nisl, faucibus id, placerat et, pulvinar at, nisi. Vivamus mollis
pharetra risus. Mauris vitae massa vel augue congue eleifend. Morbi pede pede, adipiscing
nec, scelerisque nec, ullamcorper sed, libero. Mauris iaculis lorem sit amet eros. Proin
viverra eros. Morbi sit amet libero. Donec nec turpis et nunc consectetuer auctor. Fusce
et metus. Sed commodo condimentum libero. Sed mollis tellus id justo. Nulla condimentum,
libero ultricies accumsan pellentesque, nibh pede egestas quam, vitae varius nisi arcu ac
urna. Phasellus interdum, odio vitae eleifend suscipit, nibh massa laoreet lorem, id
mollis justo nisl non nunc. Sed enim enim, rutrum a, scelerisque eget, laoreet non, ante.
Aenean molestie ipsum in nisi.</markup>
+ <portlet ref="/portal-server.PublicParameterPortlet2"/>
</window-def>
<window-def name="windowC">
- <markup>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Pellentesque odio nisl, faucibus id, placerat et, pulvinar at, nisi. Vivamus mollis
pharetra risus. Mauris vitae massa vel augue congue eleifend. Morbi pede pede, adipiscing
nec, scelerisque nec, ullamcorper sed, libero. Mauris iaculis lorem sit amet eros. Proin
viverra eros. Morbi sit amet libero. Donec nec turpis et nunc consectetuer auctor. Fusce
et metus. Sed commodo condimentum libero. Sed mollis tellus id justo. Nulla condimentum,
libero ultricies accumsan pellentesque, nibh pede egestas quam, vitae varius nisi arcu ac
urna. Phasellus interdum, odio vitae eleifend suscipit, nibh massa laoreet lorem, id
mollis justo nisl non nunc. Sed enim enim, rutrum a, scelerisque eget, laoreet non, ante.
Aenean molestie ipsum in nisi.</markup>
+ <portlet ref="/portal-server.PublicParameterPortlet3"/>
</window-def>
- <window-def name="windowD">
- <markup>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Pellentesque odio nisl, faucibus id, placerat et, pulvinar at, nisi. Vivamus mollis
pharetra risus. Mauris vitae massa vel augue congue eleifend. Morbi pede pede, adipiscing
nec, scelerisque nec, ullamcorper sed, libero. Mauris iaculis lorem sit amet eros. Proin
viverra eros. Morbi sit amet libero. Donec nec turpis et nunc consectetuer auctor. Fusce
et metus. Sed commodo condimentum libero. Sed mollis tellus id justo. Nulla condimentum,
libero ultricies accumsan pellentesque, nibh pede egestas quam, vitae varius nisi arcu ac
urna. Phasellus interdum, odio vitae eleifend suscipit, nibh massa laoreet lorem, id
mollis justo nisl non nunc. Sed enim enim, rutrum a, scelerisque eget, laoreet non, ante.
Aenean molestie ipsum in nisi.</markup>
- </window-def>
- <window-def name="windowE">
- <markup>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Pellentesque odio nisl, faucibus id, placerat et, pulvinar at, nisi. Vivamus mollis
pharetra risus. Mauris vitae massa vel augue congue eleifend. Morbi pede pede, adipiscing
nec, scelerisque nec, ullamcorper sed, libero. Mauris iaculis lorem sit amet eros. Proin
viverra eros. Morbi sit amet libero. Donec nec turpis et nunc consectetuer auctor. Fusce
et metus. Sed commodo condimentum libero. Sed mollis tellus id justo. Nulla condimentum,
libero ultricies accumsan pellentesque, nibh pede egestas quam, vitae varius nisi arcu ac
urna. Phasellus interdum, odio vitae eleifend suscipit, nibh massa laoreet lorem, id
mollis justo nisl non nunc. Sed enim enim, rutrum a, scelerisque eget, laoreet non, ante.
Aenean molestie ipsum in nisi.</markup>
- </window-def>
</simple-layout>
</page-def>
</context-def>
Modified:
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/model/ModelImporter.java
===================================================================
---
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/model/ModelImporter.java 2008-06-30
15:18:57 UTC (rev 11210)
+++
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/model/ModelImporter.java 2008-06-30
15:29:22 UTC (rev 11211)
@@ -35,6 +35,7 @@
import org.jboss.portal.presentation.portal.model.node.PortalNode;
import org.jboss.portal.presentation.portal.model.node.PageNode;
import org.jboss.portal.presentation.portal.model.node.WindowNode;
+import org.jboss.portal.presentation.portal.model.node.ContextNode;
import org.jboss.portal.presentation.layout.Constants;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -80,12 +81,12 @@
}
/** The root to import the children to. */
- private final PortalNode root;
+ private final ContextNode root;
/** . */
private final LayoutStore layoutStore;
- public ModelImporter(PortalNode root, LayoutStore layoutStore)
+ public ModelImporter(ContextNode root, LayoutStore layoutStore)
{
this.root = root;
this.layoutStore = layoutStore;
@@ -137,11 +138,8 @@
private void importContextDef(org.w3c.dom.Element contextDefElt)
{
- // Children pages
- for (org.w3c.dom.Element childElt : getChildren(contextDefElt,
"page-def"))
- {
- importPageDef(root, childElt);
- }
+ // Sub pages
+ populatePage(root, contextDefElt);
}
private PageNode importPageDef(PortalNode parentNode, org.w3c.dom.Element pageDefElt)
@@ -149,6 +147,15 @@
PageNode page = createStructuralNode(parentNode, PageNode.class, pageDefElt);
// Sub pages
+ populatePage(page, pageDefElt);
+
+ //
+ return page;
+ }
+
+ private void populatePage(PageNode page, Element pageDefElt)
+ {
+ // Sub pages
for (org.w3c.dom.Element childElt : getChildren(pageDefElt, "page-def"))
{
importPageDef(page, childElt);
@@ -162,9 +169,6 @@
{
importLayout(page, element);
}
-
- //
- return page;
}
private void importLayout(PageNode page, Element element)
Modified:
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/model/node/ContextNode.java
===================================================================
---
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/model/node/ContextNode.java 2008-06-30
15:18:57 UTC (rev 11210)
+++
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/model/node/ContextNode.java 2008-06-30
15:29:22 UTC (rev 11211)
@@ -29,7 +29,7 @@
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
* @version $Revision: 630 $
*/
-public class ContextNode extends PortalNode
+public class ContextNode extends PageNode
{
public ContextNode(String name, PortalNodeManager structuralStateContext)
{
Modified:
modules/presentation/trunk/portal/src/main/resources/org/jboss/portal/presentation/portal/page_structure_1_0.xsd
===================================================================
---
modules/presentation/trunk/portal/src/main/resources/org/jboss/portal/presentation/portal/page_structure_1_0.xsd 2008-06-30
15:18:57 UTC (rev 11210)
+++
modules/presentation/trunk/portal/src/main/resources/org/jboss/portal/presentation/portal/page_structure_1_0.xsd 2008-06-30
15:29:22 UTC (rev 11211)
@@ -54,12 +54,7 @@
<xsd:complexType name="contextDefType">
<xsd:complexContent>
- <xsd:extension base="nodeDefType">
- <xsd:sequence>
- <xsd:choice minOccurs="0"
maxOccurs="unbounded">
- <xsd:element name="page-def"
type="pageDefType"/>
- </xsd:choice>
- </xsd:sequence>
+ <xsd:extension base="pageDefType">
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
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-06-30
15:18:57 UTC (rev 11210)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/impl/model/ui/UIContextImpl.java 2008-06-30
15:29:22 UTC (rev 11211)
@@ -29,7 +29,7 @@
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
* @version $Revision: 630 $
*/
-public class UIContextImpl extends UIObjectImpl implements UIContext
+public class UIContextImpl extends UIPageImpl implements UIContext
{
public UIContextImpl(
StructuralObject structuralObject,
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIContext.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIContext.java 2008-06-30
15:18:57 UTC (rev 11210)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/model/ui/UIContext.java 2008-06-30
15:29:22 UTC (rev 11211)
@@ -26,6 +26,6 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public interface UIContext extends UIObject
+public interface UIContext extends UIPage
{
}
\ No newline at end of file
Deleted:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/DefaultPageViewPortScope.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/DefaultPageViewPortScope.java 2008-06-30
15:18:57 UTC (rev 11210)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/DefaultPageViewPortScope.java 2008-06-30
15:29:22 UTC (rev 11211)
@@ -1,79 +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.view;
-
-import org.jboss.portal.presentation.model.ObjectTraversalType;
-import org.jboss.portal.presentation.model.ui.UIObject;
-import org.jboss.portal.presentation.model.ViewPortScope;
-import org.jboss.portal.presentation.model.ui.UIContext;
-import org.jboss.portal.presentation.model.ui.UIPage;
-
-/**
- * A scope implementation that retrieves the default page of the root context.
- *
- * @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
- * @version $Revision: 630 $
- */
-public class DefaultPageViewPortScope implements ViewPortScope
-{
-
- /** . */
- private final String rootId;
-
- public DefaultPageViewPortScope(String rootId)
- {
- this.rootId = rootId;
- }
-
- public String getRootId()
- {
- return rootId;
- }
-
- public ObjectTraversalType enterObject(UIObject object)
- {
- if (object instanceof UIContext)
- {
- return ObjectTraversalType.RECURSIVE;
- }
- if (object instanceof UIPage)
- {
- if ("default".equals(object.getName()))
- {
- return ObjectTraversalType.SINGLE;
- }
- else
- {
- return ObjectTraversalType.SKIP;
- }
- }
- else
- {
- return ObjectTraversalType.SKIP;
- }
- }
-
- public void leaveObject(UIObject object)
- {
- }
-}
Modified:
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/PageViewPortScope.java
===================================================================
---
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/PageViewPortScope.java 2008-06-30
15:18:57 UTC (rev 11210)
+++
modules/presentation/trunk/presentation/src/main/java/org/jboss/portal/presentation/view/PageViewPortScope.java 2008-06-30
15:29:22 UTC (rev 11211)
@@ -25,7 +25,6 @@
import org.jboss.portal.presentation.model.ObjectTraversalType;
import org.jboss.portal.presentation.model.ui.UIObject;
import org.jboss.portal.presentation.model.ViewPortScope;
-import org.jboss.portal.presentation.model.ui.UIContext;
import org.jboss.portal.presentation.model.ui.UIPage;
import org.jboss.portal.presentation.model.ui.UIWindow;
import org.jboss.portal.presentation.model.ui.UIPane;
@@ -113,10 +112,6 @@
// We don't traverse windows (for now as they are supposed to be leaves)
return ObjectTraversalType.SINGLE;
}
- else if (object instanceof UIContext)
- {
- return ObjectTraversalType.RECURSIVE;
- }
else
{
return ObjectTraversalType.SKIP;