[jboss-svn-commits] JBoss Portal SVN: r5577 - in trunk/theme/src: main/org/jboss/portal/test/theme resources/test/xml

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Nov 3 11:37:51 EST 2006


Author: roy.russo at jboss.com
Date: 2006-11-03 11:37:50 -0500 (Fri, 03 Nov 2006)
New Revision: 5577

Added:
   trunk/theme/src/resources/test/xml/portal-renderSet.xml
Modified:
   trunk/theme/src/main/org/jboss/portal/test/theme/TestLayoutServiceImpl.java
Log:
JBPORTAL-1099 - added renderSet tests

Modified: trunk/theme/src/main/org/jboss/portal/test/theme/TestLayoutServiceImpl.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/test/theme/TestLayoutServiceImpl.java	2006-11-03 16:22:52 UTC (rev 5576)
+++ trunk/theme/src/main/org/jboss/portal/test/theme/TestLayoutServiceImpl.java	2006-11-03 16:37:50 UTC (rev 5577)
@@ -23,14 +23,31 @@
 package org.jboss.portal.test.theme;
 
 import junit.framework.TestCase;
+import org.jboss.portal.common.MediaType;
 import org.jboss.portal.common.util.CLLoader;
 import org.jboss.portal.common.util.LoaderResource;
+import org.jboss.portal.theme.LayoutException;
 import org.jboss.portal.theme.PortalLayout;
 import org.jboss.portal.theme.RuntimeContext;
 import org.jboss.portal.theme.ServerRegistrationID;
 import org.jboss.portal.theme.deployment.jboss.PortalLayoutMetaDataFactory;
+import org.jboss.portal.theme.deployment.jboss.RenderSetMetaDataFactory;
 import org.jboss.portal.theme.impl.LayoutServiceImpl;
+import org.jboss.portal.theme.impl.render.div.DivDecorationRenderer;
+import org.jboss.portal.theme.impl.render.div.DivPortletRenderer;
+import org.jboss.portal.theme.impl.render.div.DivRegionRenderer;
+import org.jboss.portal.theme.impl.render.div.DivWindowRenderer;
+import org.jboss.portal.theme.impl.render.dynamic.DynaDecorationRenderer;
+import org.jboss.portal.theme.impl.render.dynamic.DynaPortletRenderer;
+import org.jboss.portal.theme.impl.render.dynamic.DynaRegionRenderer;
+import org.jboss.portal.theme.impl.render.dynamic.DynaWindowRenderer;
+import org.jboss.portal.theme.impl.render.empty.EmptyDecorationRenderer;
+import org.jboss.portal.theme.impl.render.empty.EmptyPortletRenderer;
+import org.jboss.portal.theme.impl.render.empty.EmptyRegionRenderer;
+import org.jboss.portal.theme.impl.render.empty.EmptyWindowRenderer;
 import org.jboss.portal.theme.metadata.PortalLayoutMetaData;
+import org.jboss.portal.theme.metadata.RenderSetMetaData;
+import org.jboss.portal.theme.render.PortalRenderSet;
 import org.jboss.xb.binding.Unmarshaller;
 import org.jboss.xb.binding.UnmarshallerFactory;
 
@@ -47,6 +64,7 @@
    private LayoutServiceImpl layoutService;
    private RuntimeContext runtimeContext;
    private List portalLayouts;
+   private List renderSets;
 
    protected void setUp() throws Exception
    {
@@ -65,11 +83,21 @@
          PortalLayoutMetaData layoutMD = (PortalLayoutMetaData)i.next();
          layoutService.addLayout(runtimeContext, layoutMD);
       }
+
+      res = new CLLoader().getResource("xml/portal-renderSet.xml");
+      unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
+      renderSets = (List)unmarshaller.unmarshal(res.asInputStream(), new RenderSetMetaDataFactory(), null);
+      for (Iterator i = renderSets.iterator(); i.hasNext();)
+      {
+         RenderSetMetaData renderSetMD = (RenderSetMetaData)i.next();
+         layoutService.addRenderSet(runtimeContext, renderSetMD);
+      }
    }
 
    protected void tearDown() throws Exception
    {
       layoutService = null;
+      renderSets = null;
    }
 
    public void testCreateLayouts()
@@ -136,4 +164,40 @@
          e.printStackTrace();
       }
    }
+
+   public void testCreateRenderSets()
+   {
+      PortalRenderSet renderSet = layoutService.getRenderSet("divRenderer", MediaType.HTML);
+      assertEquals(renderSet.getName(), "divRenderer");
+
+      renderSet = layoutService.getRenderSet("emptyRenderer", MediaType.HTML);
+      assertEquals(renderSet.getName(), "emptyRenderer");
+   }
+
+   public void testGetRenderSetInfos() throws Exception
+   {
+      PortalRenderSet renderSet = layoutService.getRenderSet("divRenderer", MediaType.HTML);
+      assertEquals(renderSet.getName(), "divRenderer");
+      assertTrue(renderSet.isAjaxEnabled());
+      assertEquals(renderSet.getDecorationRenderer().getClass(), new DynaDecorationRenderer(new DivDecorationRenderer()).getClass());
+      assertEquals(renderSet.getPortletRenderer().getClass(), new DynaPortletRenderer(new DivPortletRenderer()).getClass());
+      assertEquals(renderSet.getRegionRenderer().getClass(), new DynaRegionRenderer(new DivRegionRenderer()).getClass());
+      assertEquals(renderSet.getWindowRenderer().getClass(), new DynaWindowRenderer(new DivWindowRenderer()).getClass());
+
+      renderSet = layoutService.getRenderSet("emptyRenderer", MediaType.HTML);
+      assertEquals(renderSet.getName(), "emptyRenderer");
+      assertFalse(renderSet.isAjaxEnabled());
+      assertEquals(renderSet.getDecorationRenderer().getClass(), new EmptyDecorationRenderer().getClass());
+      assertEquals(renderSet.getPortletRenderer().getClass(), new EmptyPortletRenderer().getClass());
+      assertEquals(renderSet.getRegionRenderer().getClass(), new EmptyRegionRenderer().getClass());
+      assertEquals(renderSet.getWindowRenderer().getClass(), new EmptyWindowRenderer().getClass());
+   }
+
+   public void testRemoveRenderSets() throws LayoutException
+   {
+      assertNotNull(layoutService.getRenderSet("divRenderer", MediaType.HTML));
+      ServerRegistrationID id = ServerRegistrationID.createPortalLayoutID(runtimeContext.getAppId(), "divRenderer");
+      layoutService.removeRenderSets(id.getName(0));
+      assertNull(layoutService.getRenderSet("divRenderer", MediaType.HTML));
+   }
 }

Added: trunk/theme/src/resources/test/xml/portal-renderSet.xml
===================================================================
--- trunk/theme/src/resources/test/xml/portal-renderSet.xml	2006-11-03 16:22:52 UTC (rev 5576)
+++ trunk/theme/src/resources/test/xml/portal-renderSet.xml	2006-11-03 16:37:50 UTC (rev 5577)
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  ~ JBoss, a division of Red Hat                                              ~
+  ~ Copyright 2006, 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.                  ~
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<portal-renderSet>
+   <renderSet name="divRenderer">
+      <set content-type="text/html">
+         <ajax-enabled>true</ajax-enabled>
+         <region-renderer>org.jboss.portal.theme.impl.render.div.DivRegionRenderer</region-renderer>
+         <window-renderer>org.jboss.portal.theme.impl.render.div.DivWindowRenderer</window-renderer>
+         <portlet-renderer>org.jboss.portal.theme.impl.render.div.DivPortletRenderer</portlet-renderer>
+         <decoration-renderer>org.jboss.portal.theme.impl.render.div.DivDecorationRenderer</decoration-renderer>
+      </set>
+   </renderSet>
+   <renderSet name="emptyRenderer">
+      <set content-type="text/html">
+         <ajax-enabled>false</ajax-enabled>
+         <region-renderer>org.jboss.portal.theme.impl.render.empty.EmptyRegionRenderer</region-renderer>
+         <window-renderer>org.jboss.portal.theme.impl.render.empty.EmptyWindowRenderer</window-renderer>
+         <portlet-renderer>org.jboss.portal.theme.impl.render.empty.EmptyPortletRenderer</portlet-renderer>
+         <decoration-renderer>org.jboss.portal.theme.impl.render.empty.EmptyDecorationRenderer</decoration-renderer>
+      </set>
+   </renderSet>
+</portal-renderSet>




More information about the jboss-svn-commits mailing list