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 2006/10/05 14:53:00 UTC

svn commit: r453212 - in /incubator/roller/trunk: metadata/database/ src/org/apache/roller/planet/business/hibernate/ src/org/apache/roller/planet/pojos/ tests/org/apache/roller/business/

Author: snoopdave
Date: Thu Oct  5 05:52:59 2006
New Revision: 453212

URL: http://svn.apache.org/viewvc?view=rev&rev=453212
Log:
Fixing queries broken by removal of group-sub assoc class

Modified:
    incubator/roller/trunk/metadata/database/droptables.sql
    incubator/roller/trunk/src/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java
    incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetConfigData.java
    incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetEntryData.java
    incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetSubscriptionData.java
    incubator/roller/trunk/tests/org/apache/roller/business/PlanetManagerTest.java

Modified: incubator/roller/trunk/metadata/database/droptables.sql
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/metadata/database/droptables.sql?view=diff&rev=453212&r1=453211&r2=453212
==============================================================================
--- incubator/roller/trunk/metadata/database/droptables.sql (original)
+++ incubator/roller/trunk/metadata/database/droptables.sql Thu Oct  5 05:52:59 2006
@@ -27,6 +27,7 @@
 drop table weblogentry;
 drop table weblogentrytag;
 drop table weblogentrytagagg;
+drop table weblogtagagg;
 drop table weblogcategory;
 drop table folder;
 drop table folderassoc;

Modified: incubator/roller/trunk/src/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java?view=diff&rev=453212&r1=453211&r2=453212
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/planet/business/hibernate/HibernatePlanetManagerImpl.java Thu Oct  5 05:52:59 2006
@@ -78,14 +78,6 @@
         
     public void saveGroup(PlanetGroupData group) 
         throws RollerException {
-        
-        // save each sub assoc first, then the group
-        /*Iterator assocs = group.getSubscriptions().iterator();
-        while (assocs.hasNext()) {
-            PlanetGroupSubscriptionAssoc assoc =
-                    (PlanetGroupSubscriptionAssoc)assocs.next();
-            strategy.store(assoc);
-        }*/
         strategy.store(group);
     }
         
@@ -127,13 +119,6 @@
             criteria.setMaxResults(1);
             List list = criteria.list();
             config = list.size()!=0 ? (PlanetConfigData)list.get(0) : null;
-            
-            // We inject the cache dir into the config object here to maintain
-            // compatibility with the standaline version of the aggregator.
-            if (config != null) {
-                config.setCacheDir(
-                    PlanetConfig.getProperty("planet.aggregator.cache.dir"));
-            }
         } catch (HibernateException e) {
             throw new RollerException(e);
         }
@@ -201,9 +186,9 @@
             if (groupHandle != null) {
                 query = session.createQuery(
                     "select sub from org.apache.roller.planet.pojos.PlanetSubscriptionData sub "
-                    +"join sub.groupSubscriptionAssocs assoc "
+                    +"join sub.groups group "
                     +"where "
-                    +"assoc.group.handle=:groupHandle "
+                    +"group.handle=:groupHandle "
                     +"order by sub.inboundblogs desc");
                 query.setString("groupHandle", groupHandle);
             } else {
@@ -305,13 +290,13 @@
             
             if (group != null) {
                 StringBuffer sb = new StringBuffer();
-                sb.append("select entry from org.apache.roller.planet.pojos.PlanetEntryData entry ");
-                sb.append("join entry.subscription.groupSubscriptionAssocs assoc ");
-                sb.append("where assoc.group=:group and entry.pubTime < :endDate ");
+                sb.append("select e from org.apache.roller.planet.pojos.PlanetEntryData e ");
+                sb.append("join e.subscription.groups g ");
+                sb.append("where g=:group and e.pubTime < :endDate ");
                 if (startDate != null) {
-                    sb.append("and entry.pubTime > :startDate ");
+                    sb.append("and e.pubTime > :startDate ");
                 }
-                sb.append("order by entry.pubTime desc");
+                sb.append("order by e.pubTime desc");
                 Query query = session.createQuery(sb.toString());
                 query.setEntity("group", group);
                 query.setFirstResult(offset);
@@ -323,14 +308,14 @@
                 ret = query.list();
             } else {
                 StringBuffer sb = new StringBuffer();
-                sb.append("select entry from org.apache.roller.planet.pojos.PlanetEntryData entry ");
-                sb.append("join entry.subscription.groupSubscriptionAssocs assoc ");
-                sb.append("where (assoc.group.handle='external' or assoc.group.handle='all') ");
-                sb.append("and entry.pubTime < :endDate ");
+                sb.append("select e from org.apache.roller.planet.pojos.PlanetEntryData e ");
+                sb.append("join e.subscription.groups g");
+                sb.append("where (g.handle='external' or g.handle='all') ");
+                sb.append("and e.pubTime < :endDate ");
                 if (startDate != null) {
-                    sb.append("and entry.pubTime > :startDate ");
+                    sb.append("and e.pubTime > :startDate ");
                 }
-                sb.append("order by entry.pubTime desc");
+                sb.append("order by e.pubTime desc");
                 Query query = session.createQuery(sb.toString());
                 query.setFirstResult(offset);
                 if (length != -1) query.setMaxResults(length);

Modified: incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetConfigData.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetConfigData.java?view=diff&rev=453212&r1=453211&r2=453212
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetConfigData.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetConfigData.java Thu Oct  5 05:52:59 2006
@@ -229,9 +229,6 @@
     }
 
     /** 
-     * Not longer stored in database, but we keep this field for compatibility 
-     * with standalone version of planet (which persists config in XML).
-     *
      * @hibernate.property column="cache_dir" non-null="true" unique="false"
      */
     public String getCacheDir()
@@ -240,7 +237,7 @@
     }
     public void setCacheDir(String dir)
     {
-        if (dir != null) cacheDir = dir;
+        cacheDir = dir;
     }
 
     //-------------------------------------------------------------- implementation

Modified: incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetEntryData.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetEntryData.java?view=diff&rev=453212&r1=453211&r2=453212
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetEntryData.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetEntryData.java Thu Oct  5 05:52:59 2006
@@ -200,7 +200,7 @@
         this.categoriesString = categoriesString;
     }
     /**
-     * @hibernate.many-to-one column="subscription_id" cascade="none" not-null="true"
+     * @hibernate.many-to-one column="subscription_id" cascade="save-update" not-null="true"
      */
     public PlanetSubscriptionData getSubscription() {
         return subscription;

Modified: incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetSubscriptionData.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetSubscriptionData.java?view=diff&rev=453212&r1=453211&r2=453212
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetSubscriptionData.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/planet/pojos/PlanetSubscriptionData.java Thu Oct  5 05:52:59 2006
@@ -20,6 +20,7 @@
 import java.util.Collection;
 import java.util.Date;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 import org.apache.roller.pojos.*;
@@ -91,19 +92,6 @@
         this.id = id;
     }
     /** 
-     * @hibernate.bag lazy="true" inverse="true" cascade="all-delete-orphan" 
-     * @hibernate.collection-key column="subscription_id"
-     * @hibernate.collection-one-to-many class="org.apache.roller.planet.pojos.PlanetEntryData"
-     */
-    public List getEntries()
-    {
-        return entries;
-    }
-    private void setEntries(List entries)
-    {
-        this.entries = entries;
-    }
-    /** 
      * @hibernate.property column="feed_url" non-null="true" unique="false"
      * @roller.wrapPojoMethod type="simple"
      */
@@ -236,13 +224,34 @@
         return this.feedUrl.hashCode();
     }
     
+    /** 
+     * @hibernate.bag lazy="true" inverse="true" cascade="all-delete-orphan" 
+     * @hibernate.collection-key column="subscription_id"
+     * @hibernate.collection-one-to-many class="org.apache.roller.planet.pojos.PlanetEntryData"
+     */
+    public List getEntries()
+    {
+        return entries;
+    }
+
+    private void setEntries(List entries)
+    {
+        this.entries = entries;
+    }
     public void addEntry(PlanetEntryData entry)
     {
+        // bi-directional one-to-many 
+        entry.setSubscription(this);
         this.getEntries().add(entry);
     }
     
     public void addEntries(Collection newEntries)
     {
+        // bi-directional one-to-many
+        for (Iterator it = newEntries.iterator(); it.hasNext();) {
+            PlanetEntryData entry = (PlanetEntryData) it.next();
+            entry.setSubscription(this);
+        }
         this.getEntries().addAll(newEntries);
     }
     

Modified: incubator/roller/trunk/tests/org/apache/roller/business/PlanetManagerTest.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/tests/org/apache/roller/business/PlanetManagerTest.java?view=diff&rev=453212&r1=453211&r2=453212
==============================================================================
--- incubator/roller/trunk/tests/org/apache/roller/business/PlanetManagerTest.java (original)
+++ incubator/roller/trunk/tests/org/apache/roller/business/PlanetManagerTest.java Thu Oct  5 05:52:59 2006
@@ -69,10 +69,10 @@
     
     protected void setUp() throws Exception {
         super.setUp();
-        RollerConfig.setPlanetCachePath("." + File.separator + "planet-cache");
+        //RollerConfig.setPlanetCachePath("." + File.separator + "planet-cache");
     }
     
-    public void _testConfigurationStorage() throws Exception {
+    public void testConfigurationStorage() throws Exception {
         
         PlanetManager planet = RollerFactory.getRoller().getPlanetManager();
         
@@ -98,7 +98,7 @@
     }
     
     
-    public void _testGroupStorage() throws Exception {
+    public void testGroupStorage() throws Exception {
         
         PlanetManager planet = RollerFactory.getRoller().getPlanetManager();
         
@@ -200,7 +200,7 @@
     }
     
     
-    public void _testSubscriptionEntryStorage() throws Exception {
+    public void testSubscriptionEntryStorage() throws Exception {
         
         PlanetManager planet = RollerFactory.getRoller().getPlanetManager();
         
@@ -217,15 +217,17 @@
             PlanetEntryData entry1 = new PlanetEntryData();
             entry1.setPermalink("test_entry1");
             entry1.setCategoriesString("test,test2");
-            entry1.setSubscription(sub);
             entry1.setPubTime(new Timestamp(System.currentTimeMillis()));
+            entry1.setSubscription(sub);
+            planet.saveEntry(entry1);
             sub.addEntry(entry1);
             
             PlanetEntryData entry2 = new PlanetEntryData();
             entry2.setPermalink("test_entry2");
             entry2.setCategoriesString("test_cat1,test_cat2,test_cat3");
-            entry2.setSubscription(sub);
             entry2.setPubTime(new Timestamp(System.currentTimeMillis()));
+            entry2.setSubscription(sub);
+            planet.saveEntry(entry2);
             sub.addEntry(entry2);
             
             // save entries
@@ -277,13 +279,17 @@
     }
     
     
-    public void _testRefreshEntries() throws Exception {
+    public void testRefreshEntries() throws Exception {
         
         PlanetManager planet = RollerFactory.getRoller().getPlanetManager();
         
         String feed_url1 = "http://rollerweblogger.org/roller/feed/entries/rss";
         
         {
+            PlanetConfigData config = planet.getConfiguration();
+            config.setCacheDir("." + File.separator + "planet-cache");
+            planet.saveConfiguration(config);
+            
             PlanetGroupData group = new PlanetGroupData();
             group.setDescription("test_group_desc");
             group.setHandle("test_handle");
@@ -320,7 +326,7 @@
     }
     
     
-    public void _testAggregations() throws Exception {
+    public void testAggregations() throws Exception {
         
         try {
             PlanetManager planet = RollerFactory.getRoller().getPlanetManager();
@@ -385,7 +391,7 @@
     }
     
     
-    public void _testSubscriptionCount() throws Exception {
+    public void testSubscriptionCount() throws Exception {
         
         try {
             PlanetManager planet = RollerFactory.getRoller().getPlanetManager();