taylor 2004/07/21 11:55:57
Modified: src/test/org/apache/jetspeed/services/registry
TestHybridRegistryService.java
Log:
Portlet registry support for database
CVS: ----------------------------------------------------------------------
CVS: PR:
CVS: If this change addresses a PR in the problem report tracking
CVS: database, then enter the PR number(s) here.
CVS: Obtained from:
CVS: If this change has been taken from another system, such as NCSA,
CVS: then name the system in this line, otherwise delete it.
CVS: Submitted by:
CVS: If this code has been contributed to Apache by someone else; i.e.,
CVS: they sent us a patch or a new module, then include their name/email
CVS: address here. If this is your work then delete this line.
CVS: Reviewed by:
CVS: If we are doing pre-commit code reviews and someone else has
CVS: reviewed your changes, include their name(s) here.
CVS: If you have not had it reviewed then delete this line.
Revision Changes Path
1.3 +420 -12
jakarta-jetspeed/src/test/org/apache/jetspeed/services/registry/TestHybridRegistryService.java
Index: TestHybridRegistryService.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/test/org/apache/jetspeed/services/registry/TestHybridRegistryService.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- TestHybridRegistryService.java 14 Jul 2004 19:03:52 -0000 1.2
+++ TestHybridRegistryService.java 21 Jul 2004 18:55:57 -0000 1.3
@@ -16,14 +16,22 @@
package org.apache.jetspeed.services.registry;
import java.util.Enumeration;
+import java.util.Iterator;
+import java.util.Map;
import junit.framework.Test;
import junit.framework.TestSuite;
+import org.apache.jetspeed.om.BaseSecurityReference;
+import org.apache.jetspeed.om.SecurityReference;
+import org.apache.jetspeed.om.registry.CachedParameter;
+import org.apache.jetspeed.om.registry.Category;
+import org.apache.jetspeed.om.registry.MetaInfo;
import org.apache.jetspeed.om.registry.PortletEntry;
-import org.apache.jetspeed.om.registry.PortletRegistry;
import org.apache.jetspeed.om.registry.RegistryEntry;
import org.apache.jetspeed.om.registry.SecurityEntry;
+import org.apache.jetspeed.om.registry.base.BaseCachedParameter;
+import org.apache.jetspeed.om.registry.base.BaseMetaInfo;
import org.apache.jetspeed.services.Registry;
import org.apache.jetspeed.test.JetspeedTestCase;
import org.apache.turbine.util.StringUtils;
@@ -74,19 +82,11 @@
return new TestSuite( TestHybridRegistryService.class );
}
- /**
- * Tests categories
- * @throws Exception
- */
- public void testHybrid() throws Exception
+ public void xtestSecurity() throws Exception
{
try
{
- System.out.println("Testing Startup");
- //PortletRegistry registry =
(PortletRegistry)Registry.get(Registry.PORTLET);
-
- //PortletEntry pe = (PortletEntry)registry.getEntry("RSS");
- //assertNotNull(pe);
+ System.out.println("Testing Security");
Enumeration names = Registry.getNames();
while (names.hasMoreElements())
@@ -145,6 +145,414 @@
assertTrue(!se.allowsGroup("marketing", "print"));
}
+
+ private void assertPortlet(PortletEntry entry)
+ {
+ assertTrue(entry.isApplication() == false);
+ assertTrue(entry.isCachedOnURL() == false);
+ assertEquals(entry.getClassname(),
"org.apache.jetspeed.portlets.BigKahunaPortlet");
+ assertEquals(entry.getDescription(), "This is the big kahuna meta portlet");
+ assertTrue(entry.isHidden() == false);
+
+ MetaInfo meta = entry.getMetaInfo();
+ assertNotNull(meta);
+ assertEquals(meta.getImage(), "/images/image.gif");
+ assertEquals(meta.getDescription(), "This is the big kahuna meta portlet");
+ assertEquals(meta.getTitle(), "The Kahuna Portlet");
+ assertEquals(entry.getName(), "BigKahuna");
+ assertEquals(entry.getParent(), null);
+ SecurityReference ref = entry.getSecurityRef();
+ assertNotNull(ref);
+ assertEquals(ref.getParent(), "admin-only");
+ assertEquals(entry.getTitle(), "The Kahuna Portlet");
+ assertEquals(entry.getType(), PortletEntry.TYPE_ABSTRACT);
+ assertEquals(entry.getURL(), "http://bigkahuna.org");
+
+ // parameters
+ Map map = entry.getParameterMap();
+ assertNotNull(map.get("coconut"));
+ assertNotNull(map.get("second coconut"));
+ assertNotNull(map.get("simple"));
+
+ CachedParameter p1 = (CachedParameter)entry.getParameter("coconut");
+ assertNotNull(p1);
+ assertTrue(p1.getDescription().equals("meta desc"));
+ assertTrue(p1.getName().equals("coconut"));
+ assertTrue(p1.getSecurityRef().getParent().equals("admin-only"));
+ assertTrue(p1.getTitle().equals("Coconut"));
+ assertTrue(p1.getType().equals("hmm"));
+ assertTrue(p1.getValue().equals("hawaii"));
+ meta = p1.getMetaInfo();
+ assertNotNull(meta);
+ assertTrue(p1.getMetaInfo().getDescription().equals("meta desc"));
+ assertTrue(p1.getMetaInfo().getTitle().equals("Coconut"));
+ assertTrue(p1.getMetaInfo().getImage().equals("meta image"));
+ assertTrue(p1.isCachedOnName());
+ assertTrue(!p1.isCachedOnValue());
+ assertTrue(!p1.isHidden());
+
+ CachedParameter p2 = (CachedParameter)entry.getParameter("second coconut");
+ assertNotNull(p2);
+ assertTrue(p2.getDescription().equals("second meta desc"));
+ assertTrue(p2.getName().equals("second coconut"));
+ assertTrue(p2.getSecurityRef().getParent().equals("second admin-only"));
+ assertTrue(p2.getTitle().equals("second Coconut"));
+ assertTrue(p2.getType().equals("second hmm"));
+ assertTrue(p2.getValue().equals("second hawaii"));
+ meta = p2.getMetaInfo();
+ assertNotNull(meta);
+ assertTrue(p2.getMetaInfo().getDescription().equals("second meta desc"));
+ assertTrue(p2.getMetaInfo().getTitle().equals("second Coconut"));
+ assertTrue(p2.getMetaInfo().getImage().equals("second meta image"));
+ assertTrue(!p2.isCachedOnName());
+ assertTrue(p2.isCachedOnValue());
+ assertTrue(p2.isHidden());
+
+
+ CachedParameter p3 = (CachedParameter)entry.getParameter("simple");
+ assertNotNull(p3);
+ assertTrue(p3.getName().equals("simple"));
+ assertTrue(p3.getValue().equals("simple-value"));
+ assertTrue(p3.isCachedOnName());
+ assertTrue(p3.isCachedOnValue());
+ assertTrue(!p3.isHidden());
+ assertTrue(p3.getSecurityRef() == null);
+ assertTrue(p3.getMetaInfo() != null);
+ assertTrue(p3.getType() == null);
+
+ assertTrue(entry.hasMediaType("html"));
+ assertTrue(entry.hasMediaType("wml"));
+ assertTrue(entry.hasMediaType("xml"));
+
+ Iterator it = entry.listCategories();
+ while (it.hasNext())
+ {
+ Category cat = (Category)it.next();
+ System.out.println("cat = " + cat.getName());
+ }
+
+ assertTrue(entry.hasCategory("cat1", "group1"));
+ assertTrue(entry.hasCategory("cat2", "group2"));
+ assertTrue(entry.hasCategory("cat3", "group3"));
+ }
+
+ private void assertPortlet2(PortletEntry entry)
+ {
+ assertTrue(entry.isApplication() == false);
+ assertTrue(entry.isCachedOnURL() == false);
+ assertEquals(entry.getClassname(),
"org.apache.jetspeed.portlets.BigKahunaPortlet");
+ assertEquals(entry.getDescription(), "new description");
+ assertTrue(entry.isHidden() == false);
+
+ MetaInfo meta = entry.getMetaInfo();
+ assertNotNull(meta);
+ assertEquals(meta.getImage(), "/images/image.gif");
+ assertEquals(meta.getDescription(), "new description");
+ assertEquals(meta.getTitle(), "The Kahuna Portlet");
+ assertEquals(entry.getName(), "BigKahuna");
+ assertEquals(entry.getParent(), null);
+ SecurityReference ref = entry.getSecurityRef();
+ assertNotNull(ref);
+ assertEquals(ref.getParent(), "admin-only");
+ assertEquals(entry.getTitle(), "The Kahuna Portlet");
+ assertEquals(entry.getType(), PortletEntry.TYPE_ABSTRACT);
+ assertEquals(entry.getURL(), "http://bigkahuna.org");
+
+ // parameters
+ Map map = entry.getParameterMap();
+ assertNotNull(map.get("coconut"));
+ assertNotNull(map.get("second coconut"));
+ assertNotNull(map.get("simple"));
+
+ CachedParameter p1 = (CachedParameter)entry.getParameter("coconut");
+ assertNotNull(p1);
+ assertTrue(p1.getDescription().equals("meta desc"));
+ assertTrue(p1.getName().equals("coconut"));
+ assertTrue(p1.getSecurityRef().getParent().equals("admin-only"));
+ assertTrue(p1.getTitle().equals("Coconut"));
+ assertTrue(p1.getType().equals("hmm"));
+ assertTrue(p1.getValue().equals("hawaii"));
+ meta = p1.getMetaInfo();
+ assertNotNull(meta);
+ assertTrue(p1.getMetaInfo().getDescription().equals("meta desc"));
+ assertTrue(p1.getMetaInfo().getTitle().equals("Coconut"));
+ assertTrue(p1.getMetaInfo().getImage().equals("meta image"));
+ assertTrue(p1.isCachedOnName());
+ assertTrue(!p1.isCachedOnValue());
+ assertTrue(!p1.isHidden());
+
+ CachedParameter p2 = (CachedParameter)entry.getParameter("second coconut");
+ assertNotNull(p2);
+ assertTrue(p2.getDescription().equals("second meta desc"));
+ assertTrue(p2.getName().equals("second coconut"));
+ assertTrue(p2.getSecurityRef().getParent().equals("second admin-only"));
+ assertTrue(p2.getTitle().equals("second Coconut"));
+ assertTrue(p2.getType().equals("second hmm"));
+ assertTrue(p2.getValue().equals("second hawaii"));
+ meta = p2.getMetaInfo();
+ assertNotNull(meta);
+ assertTrue(p2.getMetaInfo().getDescription().equals("second meta desc"));
+ assertTrue(p2.getMetaInfo().getTitle().equals("second Coconut"));
+ assertTrue(p2.getMetaInfo().getImage().equals("second meta image"));
+ assertTrue(!p2.isCachedOnName());
+ assertTrue(p2.isCachedOnValue());
+ assertTrue(p2.isHidden());
+
+
+ CachedParameter p3 = (CachedParameter)entry.getParameter("simple");
+ assertNotNull(p3);
+ assertTrue(p3.getName().equals("simple"));
+ assertTrue(p3.getValue().equals("simple-value"));
+ assertTrue(p3.isCachedOnName());
+ assertTrue(p3.isCachedOnValue());
+ assertTrue(!p3.isHidden());
+ assertTrue(p3.getSecurityRef() == null);
+ assertTrue(p3.getMetaInfo() != null);
+ assertTrue(p3.getType() == null);
+
+ CachedParameter p4 = (CachedParameter)entry.getParameter("last");
+ assertNotNull(p4);
+ assertTrue(p4.getName().equals("last"));
+ assertTrue(p4.getValue().equals("lastvalue"));
+ assertTrue(p4.isCachedOnName());
+ assertTrue(p4.isCachedOnValue());
+ assertTrue(!p4.isHidden());
+ assertTrue(p4.getSecurityRef() == null);
+ assertTrue(p4.getMetaInfo() != null);
+ assertTrue(p4.getType() == null);
+
+ assertTrue(entry.hasMediaType("html"));
+ assertTrue(entry.hasMediaType("wml"));
+ assertTrue(entry.hasMediaType("xml"));
+ assertTrue(entry.hasMediaType("vml"));
+
+ Iterator it = entry.listCategories();
+ while (it.hasNext())
+ {
+ Category cat = (Category)it.next();
+ System.out.println("cat = " + cat.getName());
+ }
+
+ assertTrue(entry.hasCategory("cat1", "group1"));
+ assertTrue(entry.hasCategory("cat2", "group2"));
+ assertTrue(entry.hasCategory("cat3", "group3"));
+ assertTrue(entry.hasCategory("cat4"));
+
+ }
+
+ private void assertPortletRef(PortletEntry entry)
+ {
+ assertTrue(entry.isApplication() == false);
+ assertTrue(entry.isCachedOnURL() == true);
+ assertEquals(entry.getClassname(),
"org.apache.jetspeed.portlets.BigKahunaPortlet");
+ assertEquals(entry.getDescription(), "This is the big kahuna meta portlet");
+ assertTrue(entry.isHidden() == false);
+
+ MetaInfo meta = entry.getMetaInfo();
+ assertNotNull(meta);
+ assertEquals(meta.getImage(), "/images/image.gif");
+ assertEquals(meta.getDescription(), "This is the big kahuna meta portlet");
+ assertEquals(meta.getTitle(), "The Kahuna Portlet");
+ assertEquals(entry.getName(), "BigKahunaRef");
+ assertEquals(entry.getParent(), "BigKahuna");
+ SecurityReference ref = entry.getSecurityRef();
+ assertNotNull(ref);
+ assertNull(ref.getParent());
+ assertEquals(entry.getTitle(), "The Kahuna Portlet");
+ assertEquals(entry.getType(), PortletEntry.TYPE_REF);
+ assertNull(entry.getURL());
+
+ // parameters
+ Map map = entry.getParameterMap();
+ assertNotNull(map.get("coconut"));
+ assertNotNull(map.get("second coconut"));
+ assertNotNull(map.get("simple"));
+
+ CachedParameter p1 = (CachedParameter)entry.getParameter("coconut");
+ assertNotNull(p1);
+ assertTrue(p1.getDescription().equals("meta desc"));
+ assertTrue(p1.getName().equals("coconut"));
+ assertTrue(p1.getSecurityRef().getParent().equals("admin-only"));
+ assertTrue(p1.getTitle().equals("Coconut"));
+ assertTrue(p1.getType().equals("hmm"));
+ assertTrue(p1.getValue().equals("hawaii"));
+ meta = p1.getMetaInfo();
+ assertNotNull(meta);
+ assertTrue(p1.getMetaInfo().getDescription().equals("meta desc"));
+ assertTrue(p1.getMetaInfo().getTitle().equals("Coconut"));
+ assertTrue(p1.getMetaInfo().getImage().equals("meta image"));
+ assertTrue(p1.isCachedOnName());
+ assertTrue(!p1.isCachedOnValue());
+ assertTrue(!p1.isHidden());
+
+ CachedParameter p2 = (CachedParameter)entry.getParameter("second coconut");
+ assertNotNull(p2);
+ assertTrue(p2.getDescription().equals("second meta desc"));
+ assertTrue(p2.getName().equals("second coconut"));
+ assertTrue(p2.getSecurityRef().getParent().equals("second admin-only"));
+ assertTrue(p2.getTitle().equals("second Coconut"));
+ assertTrue(p2.getType().equals("second hmm"));
+ assertTrue(p2.getValue().equals("second hawaii"));
+ meta = p2.getMetaInfo();
+ assertNotNull(meta);
+ assertTrue(p2.getMetaInfo().getDescription().equals("second meta desc"));
+ assertTrue(p2.getMetaInfo().getTitle().equals("second Coconut"));
+ assertTrue(p2.getMetaInfo().getImage().equals("second meta image"));
+ assertTrue(!p2.isCachedOnName());
+ assertTrue(p2.isCachedOnValue());
+ assertTrue(p2.isHidden());
+
+
+ CachedParameter p3 = (CachedParameter)entry.getParameter("simple");
+ assertNotNull(p3);
+ assertTrue(p3.getName().equals("simple"));
+ assertTrue(p3.getValue().equals("simple-value"));
+ assertTrue(p3.isCachedOnName());
+ assertTrue(p3.isCachedOnValue());
+ assertTrue(!p3.isHidden());
+ assertTrue(p3.getSecurityRef() == null);
+ assertTrue(p3.getMetaInfo() != null);
+ assertTrue(p3.getType() == null);
+
+ assertTrue(entry.hasMediaType("html"));
+ assertTrue(entry.hasMediaType("wml"));
+ assertTrue(entry.hasMediaType("xml"));
+
+ }
+
+ public void testPortlets() throws Exception
+ {
+ try
+ {
+ System.out.println("Testing Portlets");
+
+ Enumeration names = Registry.getNames();
+ while (names.hasMoreElements())
+ {
+ System.out.println("debug name = " + names.nextElement());
+ }
+ boolean testAdd = true;
+ if (testAdd)
+ {
+ PortletEntry entry =
(PortletEntry)Registry.createEntry(Registry.PORTLET);
+ entry.setApplication(false);
+ entry.setCachedOnURL(false);
+ entry.setClassname("org.apache.jetspeed.portlets.BigKahunaPortlet");
+ entry.setDescription("This is the big kahuna portlet");
+ entry.setHidden(false);
+ MetaInfo meta = new BaseMetaInfo();
+ meta.setImage("/images/image.gif");
+ meta.setDescription("This is the big kahuna meta portlet");
+ meta.setTitle("The Meta Kahuna Portlet");
+ entry.setMetaInfo(meta);
+ entry.setName("BigKahuna");
+ entry.setParent(null);
+ SecurityReference ref = new BaseSecurityReference();
+ ref.setParent("admin-only");
+ entry.setSecurityRef(ref);
+ entry.setTitle("The Kahuna Portlet");
+ entry.setType(PortletEntry.TYPE_ABSTRACT);
+ entry.setURL("http://bigkahuna.org");
+
+ // parameters
+ entry.addParameter("simple", "simple-value");
+
+ CachedParameter param = new BaseCachedParameter();
+ param.setDescription("pdescription");
+ param.setHidden(false);
+ meta = new BaseMetaInfo();
+ meta.setDescription("meta desc");
+ meta.setImage("meta image");
+ meta.setTitle("meta title");
+ param.setMetaInfo(meta);
+ param.setName("coconut");
+ SecurityReference ref2 = new BaseSecurityReference();
+ ref2.setParent("admin-only");
+ param.setSecurityRef(ref2);
+ param.setTitle("Coconut");
+ param.setType("hmm");
+ param.setValue("hawaii");
+ entry.addParameter(param);
+ param.setCachedOnName(true);
+ param.setCachedOnValue(false);
+
+
+ param = new BaseCachedParameter();
+ param.setDescription("second pdescription");
+ param.setHidden(true);
+ meta = new BaseMetaInfo();
+ meta.setDescription("second meta desc");
+ meta.setImage("second meta image");
+ meta.setTitle("second meta title");
+ param.setMetaInfo(meta);
+ param.setName("second coconut");
+ SecurityReference ref3 = new BaseSecurityReference();
+ ref3.setParent("second admin-only");
+ param.setSecurityRef(ref3);
+ param.setTitle("second Coconut");
+ param.setType("second hmm");
+ param.setValue("second hawaii");
+ entry.addParameter(param);
+ param.setCachedOnName(false);
+ param.setCachedOnValue(true);
+
+ // media types
+ entry.addMediaType("xml");
+ entry.addMediaType("wml");
+ entry.addMediaType("html");
+
+ Iterator it = entry.listMediaTypes();
+ while (it.hasNext())
+ {
+ System.out.println("media type = " + it.next());
+ }
+ // categories
+ entry.addCategory("cat1", "group1");
+ entry.addCategory("cat2", "group2");
+ entry.addCategory("cat3", "group3");
+
+
+ Registry.addEntry(Registry.PORTLET, (RegistryEntry)entry);
+
+ // add a portlet ref
+
+ PortletEntry pref =
(PortletEntry)Registry.createEntry(Registry.PORTLET);
+ pref.setParent("BigKahuna");
+ pref.setName("BigKahunaRef");
+ pref.setType(PortletEntry.TYPE_REF);
+ Registry.addEntry(Registry.PORTLET, (RegistryEntry)pref);
+
+ }
+
+ PortletEntry pe = (PortletEntry)Registry.getEntry(Registry.PORTLET,
"BigKahuna");
+ assertNotNull(pe);
+ assertPortlet(pe);
+
+ pe.addCategory("cat4");
+ pe.setDescription("new description");
+ pe.addParameter("last", "lastvalue");
+ pe.addMediaType("vml");
+
+ Registry.saveEntry(Registry.PORTLET, (RegistryEntry)pe);
+
+ PortletEntry pe2 = (PortletEntry)Registry.getEntry(Registry.PORTLET,
"BigKahuna");
+ assertNotNull(pe2);
+ assertPortlet2(pe2);
+
+ PortletEntry pe3 = (PortletEntry)Registry.getEntry(Registry.PORTLET,
"BigKahunaRef");
+ assertNotNull(pe3);
+ assertPortletRef(pe3);
+ // Registry.removeEntry(Registry.PORTLET, "BigKahuna");
+
+ }
+ catch (Exception e)
+ {
+ String errmsg = "Error in database test: " + e.toString();
+ e.printStackTrace();
+ assertNotNull(errmsg, null);
+ }
+ }
+
/*
Configuration object to run Turbine outside a servlet container
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]