[gatein-commits] gatein SVN: r7140 - in portal/branches/api/component/api-impl/src: test/java/org/gatein/portal/api/impl/portal and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Aug 15 18:06:37 EDT 2011


Author: julien_viet
Date: 2011-08-15 18:06:37 -0400 (Mon, 15 Aug 2011)
New Revision: 7140

Modified:
   portal/branches/api/component/api-impl/src/main/java/org/gatein/portal/api/impl/portal/NavigationImpl.java
   portal/branches/api/component/api-impl/src/main/java/org/gatein/portal/api/impl/portal/SiteImpl.java
   portal/branches/api/component/api-impl/src/test/java/org/gatein/portal/api/impl/portal/NavigationTestCase.java
Log:
more work on API


Modified: portal/branches/api/component/api-impl/src/main/java/org/gatein/portal/api/impl/portal/NavigationImpl.java
===================================================================
--- portal/branches/api/component/api-impl/src/main/java/org/gatein/portal/api/impl/portal/NavigationImpl.java	2011-08-15 21:29:37 UTC (rev 7139)
+++ portal/branches/api/component/api-impl/src/main/java/org/gatein/portal/api/impl/portal/NavigationImpl.java	2011-08-15 22:06:37 UTC (rev 7140)
@@ -157,7 +157,8 @@
       String pageRef = context.getState().getPageRef();
       if (pageRef != null)
       {
-         return gateIn.get(gateIn.pageId(site.getId(), pageRef));
+         // return gateIn.get(gateIn.pageId(site.getId(), pageRef));
+         throw new UnsupportedOperationException();
       }
       else
       {
@@ -172,7 +173,16 @@
 
    public void setTargetPage(Page.Id targetId)
    {
-      context.setState(new NodeState.Builder(context.getState()).pageRef(targetId.toString()).build());
+      if (targetId != null)
+      {
+         String ref = targetId.getSite().getType().getName() + "::" + targetId.getSite().getName() + "::" + targetId.getName();
+         context.setState(context.getState().builder().pageRef(ref).build());
+      }
+      else
+      {
+
+         context.setState(context.getState().builder().pageRef(null).build());
+      }
    }
 
    public Site getSite()
@@ -250,7 +260,7 @@
 
    public Navigation get(String key)
    {
-      return get(getIdForChild(key));
+      return context.getNode(key);
    }
 
    public Navigation get(org.gatein.api.id.Id<Navigation> navigationId)

Modified: portal/branches/api/component/api-impl/src/main/java/org/gatein/portal/api/impl/portal/SiteImpl.java
===================================================================
--- portal/branches/api/component/api-impl/src/main/java/org/gatein/portal/api/impl/portal/SiteImpl.java	2011-08-15 21:29:37 UTC (rev 7139)
+++ portal/branches/api/component/api-impl/src/main/java/org/gatein/portal/api/impl/portal/SiteImpl.java	2011-08-15 22:06:37 UTC (rev 7140)
@@ -44,6 +44,7 @@
 import org.gatein.portal.api.impl.util.AdaptedIterableIdentifiableCollection;
 import org.gatein.portal.api.impl.util.GateInTypesResolver;
 
+import java.lang.reflect.UndeclaredThrowableException;
 import java.util.List;
 
 /** @author <a href="mailto:chris.laprun at jboss.com">Chris Laprun</a> */
@@ -129,7 +130,7 @@
    static class PageContainer implements HierarchicalContainer<String, Page>
    {
       private final GateInImpl gateIn;
-      private final Site site;
+      private final SiteImpl site;
       private final Query<PageData> pageDataQuery;
 
       PageContainer(GateInImpl gateIn, SiteImpl site)
@@ -149,11 +150,13 @@
          try
          {
             gateIn.begin();
-            return gateIn.getDataStorage().getPage(PageKey.create(key));
+            SiteKey sk = site.getSiteKey();
+            PageKey pk = new PageKey(sk.getTypeName(), sk.getName(), key);
+            return gateIn.getDataStorage().getPage(pk);
          }
          catch (Exception e)
          {
-            return null;
+            throw new UndeclaredThrowableException(e);
          }
          finally
          {

Modified: portal/branches/api/component/api-impl/src/test/java/org/gatein/portal/api/impl/portal/NavigationTestCase.java
===================================================================
--- portal/branches/api/component/api-impl/src/test/java/org/gatein/portal/api/impl/portal/NavigationTestCase.java	2011-08-15 21:29:37 UTC (rev 7139)
+++ portal/branches/api/component/api-impl/src/test/java/org/gatein/portal/api/impl/portal/NavigationTestCase.java	2011-08-15 22:06:37 UTC (rev 7140)
@@ -17,7 +17,9 @@
 import org.exoplatform.portal.pom.data.ModelDataStorage;
 import org.gatein.api.GateIn;
 import org.gatein.api.portal.Navigation;
+import org.gatein.api.portal.Page;
 import org.gatein.api.portal.Site;
+import org.gatein.api.util.HierarchicalContainer;
 import org.gatein.portal.api.impl.GateInImpl;
 
 import java.util.Iterator;
@@ -74,6 +76,9 @@
       NavigationContext nav = new NavigationContext(SiteKey.portal("classic"), new NavigationState(0));
       navService.saveNavigation(nav);
       root = navService.loadNode(NodeModel.SELF_MODEL, nav, Scope.ALL, null);
+
+      //
+      storage.create(new org.exoplatform.portal.config.model.Page("portal", "classic", "homepage").build());
    }
 
    @Override
@@ -111,6 +116,25 @@
       Navigation home = i.next();
       assertSame(site, home.getSite());
       assertEquals("home", home.getName());
+      assertSame(home, navigation.get("home"));
       assertFalse(i.hasNext());
    }
+
+   public void testPage()
+   {
+      root.add(null, "home");
+      navService.saveNode(root, null);
+
+      //
+      Site site = gatein.getPortal(new Site.Id(Site.PORTAL, "classic"));
+      HierarchicalContainer<String,Page> pages = site.getPageRegistry();
+      Page homePage = pages.get("homepage");
+      assertNotNull(homePage);
+
+      //
+      Navigation navigation = site.getNavigation();
+      Navigation home = navigation.get("home");
+      assertNull(home.getTargetPage());
+      home.setTargetPage(homePage);
+   }
 }



More information about the gatein-commits mailing list