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]

Reply via email to