[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