You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2007/03/05 17:31:35 UTC

svn commit: r514722 - in /incubator/roller/trunk/apps/planet: src/java/org/apache/roller/planet/business/hibernate/ src/sql/ test/java/org/apache/roller/planet/business/

Author: snoopdave
Date: Mon Mar  5 08:31:34 2007
New Revision: 514722

URL: http://svn.apache.org/viewvc?view=rev&rev=514722
Log:
PlanetGroup must have a Planet

Modified:
    incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java
    incubator/roller/trunk/apps/planet/src/sql/createdb.vm
    incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/business/GroupTest.java
    incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/business/PlanetManagerTest.java

Modified: incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java?view=diff&rev=514722&r1=514721&r2=514722
==============================================================================
--- incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java (original)
+++ incubator/roller/trunk/apps/planet/src/java/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java Mon Mar  5 08:31:34 2007
@@ -77,8 +77,13 @@
         strategy.store(planet);
     }
     
-    public void saveGroup(PlanetGroupData group) 
-        throws RollerException {
+    public void saveGroup(PlanetGroupData group)  throws RollerException {
+        if (group.getId() == null || getGroupById(group.getId()) == null) {
+            // If new group, make sure hadnle is unique within Planet
+            if (getGroup(group.getPlanet(), group.getHandle()) != null) {
+                throw new RollerException("ERROR group handle already exists in Planet");
+            }
+        }
         strategy.store(group);
     }
         
@@ -254,8 +259,6 @@
             criteria.add(Expression.eq("handle", handle));
             if(planet != null) {
                 criteria.add(Expression.eq("planet", planet));
-            } else {
-                criteria.add(Expression.isNull("planet"));
             }
             return (PlanetGroupData) criteria.uniqueResult();
         } catch (HibernateException e) {
@@ -277,8 +280,6 @@
             Criteria criteria = session.createCriteria(PlanetGroupData.class);
             if(planet != null) {
                 criteria.add(Expression.eq("planet", planet));
-            } else {
-                criteria.add(Expression.isNull("planet"));
             }
             return criteria.list();
         } catch (HibernateException e) {

Modified: incubator/roller/trunk/apps/planet/src/sql/createdb.vm
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/apps/planet/src/sql/createdb.vm?view=diff&rev=514722&r1=514721&r2=514722
==============================================================================
--- incubator/roller/trunk/apps/planet/src/sql/createdb.vm (original)
+++ incubator/roller/trunk/apps/planet/src/sql/createdb.vm Mon Mar  5 08:31:34 2007
@@ -26,7 +26,7 @@
 
 create table rag_group (
     id               varchar(48) not null primary key,
-    planet_id        varchar(48),
+    planet_id        varchar(48) not null,
     handle           varchar(32) not null,
     title            varchar(255) not null,
     description      varchar(255),

Modified: incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/business/GroupTest.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/business/GroupTest.java?view=diff&rev=514722&r1=514721&r2=514722
==============================================================================
--- incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/business/GroupTest.java (original)
+++ incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/business/GroupTest.java Mon Mar  5 08:31:34 2007
@@ -84,76 +84,64 @@
     public void testGroupLookups() throws Exception {
         
         PlanetManager mgr = PlanetFactory.getPlanet().getPlanetManager();
-        
-        PlanetGroupData testGroup1 = new PlanetGroupData();
-        testGroup1.setDescription("group1");
-        testGroup1.setHandle("test_group1");
-        testGroup1.setTitle("test_group1");
-        testGroup1.setPlanet(testPlanet);
-        
-        PlanetGroupData testGroup2 = new PlanetGroupData();
-        testGroup2.setDescription("group2");
-        testGroup2.setHandle("test_group2");
-        testGroup2.setTitle("test_group2");
-        
-        PlanetGroupData group = null;
-        List groups = null;
-        
-        // add
-        mgr.saveGroup(testGroup1);
-        mgr.saveGroup(testGroup2);
-        TestUtils.endSession(true);
-        
-        // lookup groups not in a planet
-        groups = mgr.getGroups();
-        assertNotNull(groups);
-        assertEquals(1, groups.size());
-        assertTrue("test_group2".equals(((PlanetGroupData)groups.get(0)).getHandle()));
-        
-        // lookup groups in test planet
-        groups = mgr.getGroups(testPlanet);
-        assertNotNull(groups);
-        assertEquals(1, groups.size());
-        assertTrue("test_group1".equals(((PlanetGroupData)groups.get(0)).getHandle()));
-        
-        // lookup group handles not in a planet
-        groups = null;
-        groups = mgr.getGroupHandles();
-        assertNotNull(groups);
-        assertEquals(1, groups.size());
-        assertTrue("test_group2".equals(((String)groups.get(0))));
-        
-        // lookup group handles in test planet
-        groups = null;
-        groups = mgr.getGroupHandles(testPlanet);
-        assertNotNull(groups);
-        assertEquals(1, groups.size());
-        assertTrue("test_group1".equals(((String)groups.get(0))));
-        
-        // lookup group by id
-        group = null;
-        group = mgr.getGroupById(testGroup1.getId());
-        assertNotNull(group);
-        assertEquals("test_group1", group.getHandle());
-        
-        // lookup group not in a planet by handle
-        group = null;
-        group = mgr.getGroup(testGroup2.getHandle());
-        assertNotNull(group);
-        assertEquals("test_group2", group.getHandle());
-        
-        // lookup group in test planet by handle
-        group = null;
-        group = mgr.getGroup(testPlanet, testGroup1.getHandle());
-        assertNotNull(group);
-        assertEquals("test_group1", group.getHandle());
-        
-        // cleanup
-        testGroup1 = mgr.getGroupById(testGroup1.getId());
-        testGroup2 = mgr.getGroupById(testGroup2.getId());
-        mgr.deleteGroup(testGroup1);
-        mgr.deleteGroup(testGroup2);
-        TestUtils.endSession(true);
+        PlanetGroupData testGroup1 = null;
+        PlanetGroupData testGroup2 = null;
+        try {    
+            testGroup1 = new PlanetGroupData();
+            testGroup1.setDescription("group1");
+            testGroup1.setHandle("test_group1");
+            testGroup1.setTitle("test_group1");
+            testGroup1.setPlanet(testPlanet);
+
+            testGroup2 = new PlanetGroupData();
+            testGroup2.setDescription("group2");
+            testGroup2.setHandle("test_group2");
+            testGroup2.setTitle("test_group2");
+            testGroup2.setPlanet(testPlanet);
+
+            PlanetGroupData group = null;
+            List groups = null;
+
+            // add
+            mgr.saveGroup(testGroup1);
+            mgr.saveGroup(testGroup2);
+            TestUtils.endSession(true);
+
+            // lookup all groups
+            groups = mgr.getGroups();
+            assertNotNull(groups);
+            assertEquals(2, groups.size());
+
+            // lookup groups in test planet
+            groups = mgr.getGroups(testPlanet);
+            assertNotNull(groups);
+            assertEquals(2, groups.size());
+
+            // lookup group handles in test planet
+            groups = null;
+            groups = mgr.getGroupHandles(testPlanet);
+            assertNotNull(groups);
+            assertEquals(2, groups.size());
+
+            // lookup group by id
+            group = null;
+            group = mgr.getGroupById(testGroup1.getId());
+            assertNotNull(group);
+            assertEquals("test_group1", group.getHandle());
+
+            // lookup group in test planet by handle
+            group = null;
+            group = mgr.getGroup(testPlanet, testGroup1.getHandle());
+            assertNotNull(group);
+            assertEquals("test_group1", group.getHandle());
+
+        } finally {
+            testGroup1 = mgr.getGroupById(testGroup1.getId());
+            testGroup2 = mgr.getGroupById(testGroup2.getId());
+            mgr.deleteGroup(testGroup1);
+            mgr.deleteGroup(testGroup2);
+            TestUtils.endSession(true);
+        }
     }
     
 }

Modified: incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/business/PlanetManagerTest.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/business/PlanetManagerTest.java?view=diff&rev=514722&r1=514721&r2=514722
==============================================================================
--- incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/business/PlanetManagerTest.java (original)
+++ incubator/roller/trunk/apps/planet/test/java/org/apache/roller/planet/business/PlanetManagerTest.java Mon Mar  5 08:31:34 2007
@@ -31,6 +31,7 @@
 import org.apache.roller.planet.business.Planet;
 import org.apache.roller.planet.business.PlanetFactory;
 import org.apache.roller.planet.business.PlanetManager;
+import org.apache.roller.planet.pojos.PlanetData;
 import org.apache.roller.planet.pojos.PlanetEntryData;
 import org.apache.roller.planet.pojos.PlanetGroupData;
 import org.apache.roller.planet.pojos.PlanetSubscriptionData;
@@ -41,8 +42,17 @@
  */
 public class PlanetManagerTest extends TestCase {
     
-    public static Log log = LogFactory.getLog(PlanetManagerTest.class);
+    public static Log log = LogFactory.getLog(PlanetManagerTest.class);   
+    private PlanetData testPlanet = null;
     
+        
+    protected void setUp() throws Exception {
+        testPlanet = TestUtils.setupPlanet("groupTestPlanet");
+    }
+        
+    protected void tearDown() throws Exception {
+        TestUtils.teardownPlanet(testPlanet.getId());
+    }
     
     public void testSubscriptionStorage() throws Exception {
         
@@ -63,6 +73,7 @@
             group.setDescription("test_group_desc");
             group.setHandle("test_handle");
             group.setTitle("test_title");
+            group.setPlanet(testPlanet);
             planet.saveGroup(group);
             
             TestUtils.endSession(true);
@@ -213,6 +224,7 @@
             group.setDescription("test_group_desc");
             group.setHandle("test_handle");
             group.setTitle("test_title");
+            group.setPlanet(testPlanet);
             planet.saveGroup(group);
             
             PlanetSubscriptionData sub = new PlanetSubscriptionData();
@@ -259,6 +271,7 @@
                 group.setDescription("test_group_desc");
                 group.setHandle("test_handle");
                 group.setTitle("test_title");
+                group.setPlanet(testPlanet);
                 planet.saveGroup(group);
                 
                 PlanetSubscriptionData sub1 = new PlanetSubscriptionData();