You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by el...@apache.org on 2006/10/02 18:42:42 UTC

svn commit: r452115 - in /incubator/roller/trunk: metadata/database/ metadata/database/hibernate/ src/org/apache/roller/business/hibernate/ src/org/apache/roller/model/ src/org/apache/roller/pojos/ src/org/apache/roller/ui/authoring/struts/formbeans/ s...

Author: eliast
Date: Mon Oct  2 09:42:40 2006
New Revision: 452115

URL: http://svn.apache.org/viewvc?view=rev&rev=452115
Log:
Reverted commit that was using TagSummariesTask.

- Removed TagManager
- Removed getTagManager() from Roller
- Refactored TagCloudEntry to TagStat
- Removed SiteTagAggregateData (and reference from hibernate.cfg.xml's)
- Removed 2 unnecessary tables in createdb.vm

These changes also fix ROL-1247.

Added:
    incubator/roller/trunk/src/org/apache/roller/pojos/TagStat.java
      - copied, changed from r450686, incubator/roller/trunk/src/org/apache/roller/pojos/TagCloudEntry.java
Removed:
    incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateTagManagerImpl.java
    incubator/roller/trunk/src/org/apache/roller/pojos/SiteTagAggregateData.java
    incubator/roller/trunk/src/org/apache/roller/pojos/TagCloudEntry.java
    incubator/roller/trunk/src/org/apache/roller/ui/core/tasks/TagSummariesTask.java
Modified:
    incubator/roller/trunk/metadata/database/createdb.vm
    incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml
    incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateRollerImpl.java
    incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java
    incubator/roller/trunk/src/org/apache/roller/model/Roller.java
    incubator/roller/trunk/src/org/apache/roller/model/WeblogManager.java
    incubator/roller/trunk/src/org/apache/roller/pojos/WeblogEntryData.java
    incubator/roller/trunk/src/org/apache/roller/pojos/WeblogEntryTagData.java
    incubator/roller/trunk/src/org/apache/roller/pojos/WeblogTagAggregateData.java
    incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/formbeans/WeblogEntryFormEx.java
    incubator/roller/trunk/src/org/apache/roller/ui/rendering/model/SiteModel.java
    incubator/roller/trunk/testdata/WEB-INF/classes/hibernate.cfg.xml
    incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java
    incubator/roller/trunk/web/WEB-INF/classes/roller.properties

Modified: incubator/roller/trunk/metadata/database/createdb.vm
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/metadata/database/createdb.vm?view=diff&rev=452115&r1=452114&r2=452115
==============================================================================
--- incubator/roller/trunk/metadata/database/createdb.vm (original)
+++ incubator/roller/trunk/metadata/database/createdb.vm Mon Oct  2 09:42:40 2006
@@ -224,32 +224,13 @@
 
 create table weblogtagagg (
     id              varchar(48)   not null primary key,
-    websiteid       varchar(48)   not null,    
+    websiteid       varchar(48) ,    
     name            varchar(255)  not null,
     count           integer		  not null
 );
 
 create index weta_websiteid_idx on weblogtagagg( websiteid );
 create index weta_name_idx on weblogtagagg( name );
-
-create table usertagagg (
-    id              varchar(48)   not null primary key,
-    userid				          varchar(48)   not null,        
-    name            varchar(255)  not null,
-    count           integer		  not null
-);
-
-create index userta_userid_idx on usertagagg( userid );
-create index userta_name_idx on usertagagg( name );
-
-create table sitetagagg (
-    id              varchar(48)   not null primary key,
-    name            varchar(255)  not null,
-    count           integer		  not null
-);
-
-create index siteta_name_idx on sitetagagg( name );
-
 
 create table newsfeed (
     id              varchar(48) not null primary key,

Modified: incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml?view=diff&rev=452115&r1=452114&r2=452115
==============================================================================
--- incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml (original)
+++ incubator/roller/trunk/metadata/database/hibernate/hibernate.cfg.xml Mon Oct  2 09:42:40 2006
@@ -95,8 +95,7 @@
 
         <mapping resource="org/apache/roller/pojos/WeblogEntryData.hbm.xml" />
         <mapping resource="org/apache/roller/pojos/WeblogEntryTagData.hbm.xml" />        
-        <mapping resource="org/apache/roller/pojos/WeblogTagAggregateData.hbm.xml" />    
-        <mapping resource="org/apache/roller/pojos/SiteTagAggregateData.hbm.xml" />                    
+        <mapping resource="org/apache/roller/pojos/WeblogTagAggregateData.hbm.xml" />                       
         <mapping resource="org/apache/roller/pojos/EntryAttributeData.hbm.xml" />
         <mapping resource="org/apache/roller/pojos/WeblogCategoryData.hbm.xml" />
         <mapping resource="org/apache/roller/pojos/WeblogCategoryAssoc.hbm.xml" />

Modified: incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateRollerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateRollerImpl.java?view=diff&rev=452115&r1=452114&r2=452115
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateRollerImpl.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateRollerImpl.java Mon Oct  2 09:42:40 2006
@@ -29,7 +29,6 @@
 import org.apache.roller.model.AutoPingManager;
 import org.apache.roller.model.PingQueueManager;
 import org.apache.roller.model.PingTargetManager;
-import org.apache.roller.model.TagManager;
 import org.apache.roller.planet.model.PlanetManager;
 import org.apache.roller.model.PropertiesManager;
 import org.apache.roller.model.RefererManager;
@@ -64,8 +63,6 @@
     private PingQueueManager pingQueueManager = null;
     private AutoPingManager autoPingManager = null;
     private PingTargetManager pingTargetManager = null;
-    private TagManager tagManager = null;
-    
     
     protected HibernateRollerImpl() throws RollerException {
         try {
@@ -226,16 +223,6 @@
             pingTargetManager = new HibernatePingTargetManagerImpl(strategy);
         }
         return pingTargetManager;
-    }
-    
-    /**
-     * @see org.apache.roller.model.Roller#getTagManager()
-     */
-    public TagManager getTagManager() throws RollerException {
-        if (tagManager == null) {
-            tagManager = new HibernateTagManagerImpl(strategy);
-        }
-        return tagManager;
-    }    
+    } 
     
 }

Modified: incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java?view=diff&rev=452115&r1=452114&r2=452115
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/business/hibernate/HibernateWeblogManagerImpl.java Mon Oct  2 09:42:40 2006
@@ -21,7 +21,6 @@
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.Date;
 import java.util.Hashtable;
@@ -36,14 +35,13 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.roller.RollerException;
-import org.apache.roller.model.Roller;
 import org.apache.roller.model.RollerFactory;
 import org.apache.roller.model.WeblogManager;
 import org.apache.roller.pojos.Assoc;
 import org.apache.roller.pojos.CommentData;
 import org.apache.roller.pojos.RefererData;
 import org.apache.roller.pojos.StatCount;
-import org.apache.roller.pojos.TagCloudEntry;
+import org.apache.roller.pojos.TagStat;
 import org.apache.roller.pojos.UserData;
 import org.apache.roller.pojos.WeblogCategoryAssoc;
 import org.apache.roller.pojos.WeblogCategoryData;
@@ -55,7 +53,6 @@
 import org.hibernate.HibernateException;
 import org.hibernate.Query;
 import org.hibernate.Session;
-import org.hibernate.criterion.CriteriaSpecification;
 import org.hibernate.criterion.Expression;
 import org.hibernate.criterion.Junction;
 import org.hibernate.criterion.MatchMode;
@@ -572,7 +569,7 @@
     public Date getWeblogLastPublishTime(WebsiteData website, String catName)
     throws RollerException {
         WeblogCategoryData cat = null;
-        Roller mRoller = RollerFactory.getRoller();
+
         if (catName != null && website != null) {
             cat = getWeblogCategoryByPath(website, null, catName);
             if (cat == null) catName = null;
@@ -1202,6 +1199,56 @@
         } catch (Exception e) {
             log.error("EXCEPTION applying comment defaults",e);
         }
-    }     
+    }   
+    
+    public List getTags(Date startDate, Date endDate, WebsiteData website,
+            UserData user, String sortBy, int limit)
+            throws RollerException {
+        try {
+            List results = new ArrayList();
+
+            Session session = ((HibernatePersistenceStrategy) strategy)
+                    .getSession();
+            
+            if (sortBy != null && sortBy.equals("count")) {
+                sortBy = "col_1_0_ desc"; 
+            } else {
+                sortBy = "t.name";
+            }
+
+            StringBuffer queryString = new StringBuffer();
+            queryString.append("select t.name, count(t.name) ");
+            queryString.append("from WeblogEntryTagData t ");
+            queryString.append("where t.time between ? and ? ");
+            if (website != null)
+                queryString.append("and t.website.id = '" + website.getId()
+                        + "' ");
+            if (user != null)
+                queryString.append("and t.user.id = '" + user.getId() + "' ");
+            queryString.append("group by t.name ");
+            queryString.append("order by " + sortBy);
+
+            Query query = session.createQuery(queryString.toString());
+            query.setTimestamp(0, DateUtil.getStartOfDay(startDate));
+            query.setTimestamp(1, DateUtil.getEndOfDay(endDate));
+            if (limit > 0)
+                query.setMaxResults(limit);
+
+            for (Iterator iter = query.list().iterator(); iter.hasNext();) {
+                Object[] row = (Object[]) iter.next();
+                TagStat ce = new TagStat();
+                ce.setName((String) row[0]);
+                ce.setCount(((Integer) row[1]).intValue());
+                results.add(ce);
+            }
+
+            return results;
+
+        } catch (HibernateException e) {
+            throw new RollerException(e);
+        }
+
+    }
+    
 
 }

Modified: incubator/roller/trunk/src/org/apache/roller/model/Roller.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/model/Roller.java?view=diff&rev=452115&r1=452114&r2=452115
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/model/Roller.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/model/Roller.java Mon Oct  2 09:42:40 2006
@@ -128,13 +128,6 @@
     
     
     /**
-     * Get TagManager associated with this Roller instance.
-     */
-    public TagManager getTagManager() throws RollerException;
-        
-    
-    
-    /**
      * Flush object states.
      */
     public void flush() throws RollerException;

Modified: incubator/roller/trunk/src/org/apache/roller/model/WeblogManager.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/model/WeblogManager.java?view=diff&rev=452115&r1=452114&r2=452115
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/model/WeblogManager.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/model/WeblogManager.java Mon Oct  2 09:42:40 2006
@@ -380,4 +380,19 @@
      * Release all resources held by manager.
      */
     public void release();    
+    
+    /**
+     * Get list of TagStat. There's no offset/length params just a limit.
+     * @param startDate     Start date or null for not start date.
+     * @param endDate       End date or null for no end date.
+     * @param website       Weblog or null to get for all weblogs.
+     * @param user          User or null to get for all users.
+     * @param sortBy        Sort by either 'name' or 'count' (null for name)  
+     * @param limit         Max TagStats to return (or -1 for no limit)
+     * @return
+     * @throws RollerException
+     */
+    public List getTags(Date startDate, Date endDate, WebsiteData website,
+            UserData user, String sortBy, int limit)
+            throws RollerException;    
 }

Copied: incubator/roller/trunk/src/org/apache/roller/pojos/TagStat.java (from r450686, incubator/roller/trunk/src/org/apache/roller/pojos/TagCloudEntry.java)
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/pojos/TagStat.java?view=diff&rev=452115&p1=incubator/roller/trunk/src/org/apache/roller/pojos/TagCloudEntry.java&r1=450686&p2=incubator/roller/trunk/src/org/apache/roller/pojos/TagStat.java&r2=452115
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/pojos/TagCloudEntry.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/pojos/TagStat.java Mon Oct  2 09:42:40 2006
@@ -27,7 +27,7 @@
  * @author Elias Torres
  * 
  */
-public class TagCloudEntry implements java.io.Serializable {
+public class TagStat implements java.io.Serializable {
 
   private static final long serialVersionUID = 1142064841813545198L;
 
@@ -35,7 +35,7 @@
 
   private int count = 0;
 
-  public TagCloudEntry() {
+  public TagStat() {
   }
 
   public String getName() {

Modified: incubator/roller/trunk/src/org/apache/roller/pojos/WeblogEntryData.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/pojos/WeblogEntryData.java?view=diff&rev=452115&r1=452114&r2=452115
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/pojos/WeblogEntryData.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/pojos/WeblogEntryData.java Mon Oct  2 09:42:40 2006
@@ -620,44 +620,52 @@
      }    
      
      public void addTag(String name) {
-       WeblogEntryTagData tag = new WeblogEntryTagData();
-       tag.setName(stripInvalidTagChars(name));
-       tag.setUser(getCreator());
-       tag.setWebsite(getWebsite());
-       tag.setWeblogEntry(this);
-       tag.setTime(getUpdateTime());       
-       tagSet.add(tag);
-     }
-     
-     public void removeTag(String name) {
-       Iterator it = tagSet.iterator();
-       while(it.hasNext()) {
-         WeblogEntryTagData tag = (WeblogEntryTagData) it.next();
-         if(tag.getName().equals(name)) {
-           it.remove();
-         }
-       }
-     }
-   
-     public void updateTags(List tags) {
-       HashSet newTags = new HashSet(tags);
-              
-       // remove old ones no longer passed.
-       Iterator it = tagSet.iterator();
-       while(it.hasNext()) {
-         WeblogEntryTagData tag = (WeblogEntryTagData) it.next();
-         if(!newTags.contains(tag.getName())) {
-           it.remove();
-         } else {
-           newTags.remove(tag.getName());
-         }
-       }
-       
-       // add new ones, duplicates are taken care of by the db.
-       it = newTags.iterator();
-       while(it.hasNext()) {
-         addTag((String) it.next());
-       }
+        for (Iterator it = tagSet.iterator(); it.hasNext();) {
+            WeblogEntryTagData tag = (WeblogEntryTagData) it.next();
+            if(tag.getName().equals(name))
+                return;
+        }
+        
+        WeblogEntryTagData tag = new WeblogEntryTagData();
+        tag.setName(stripInvalidTagChars(name));
+        tag.setUser(getCreator());
+        tag.setWebsite(getWebsite());
+        tag.setWeblogEntry(this);
+        tag.setTime(getUpdateTime());
+        tagSet.add(tag);
+    }
+
+    public void removeTag(String name) {  
+        name = stripInvalidTagChars(name);
+        for (Iterator it = tagSet.iterator(); it.hasNext();) {
+            WeblogEntryTagData tag = (WeblogEntryTagData) it.next();
+            if(tag.getName().equals(name))
+                it.remove();
+        }
+    }
+
+    public void updateTags(List tags) {
+        HashSet newTags = new HashSet(tags);
+        
+        HashSet removeTags = new HashSet();
+
+        // remove old ones no longer passed.
+        for (Iterator it = tagSet.iterator(); it.hasNext();) {
+            WeblogEntryTagData tag = (WeblogEntryTagData) it.next();
+            if (!newTags.contains(tag.getName())) {
+                removeTags.add(tag.getName());
+            } else {
+                newTags.remove(tag.getName());
+            }
+        }
+        
+        for (Iterator it = removeTags.iterator(); it.hasNext();) {
+            removeTag((String) it.next());
+        }
+        
+        for (Iterator it = newTags.iterator(); it.hasNext();) {
+            addTag((String) it.next());
+        }
     }
    
      public boolean checkValidTagChar(char c) {
@@ -680,40 +688,39 @@
        }
        return sb.toString();
      }
-     
-     /**
-      *
-      * @roller.wrapPojoMethod type="simple"
-      */     
-    public String getTags() 
-    {
-       StringBuffer sb = new StringBuffer();
-       for(Iterator it = getTagSet().iterator(); it.hasNext();)
-       {
-           sb.append(((WeblogEntryTagData)it.next()).getName()).append(" ");
-       }
-       if(sb.length() > 0)
-       {
-           sb.deleteCharAt(sb.length()-1);
-       }
 
-       return sb.toString();
-     }  
-    
-     public void setTags(String tags)
-     {
-       if (tags == null)
-         return;
-       
-       String[] tagsarr = StringUtils.split(tags, ' ');
-       
-       if (tagsarr == null || tagsarr.length == 0)
-         return;
-       
-       updateTags(Arrays.asList(tagsarr));       
-     }
+    /**
+     * @roller.wrapPojoMethod type="simple"
+     */
+    public String getTags() {
+        StringBuffer sb = new StringBuffer();
+        for (Iterator it = getTagSet().iterator(); it.hasNext();) {
+            sb.append(((WeblogEntryTagData) it.next()).getName()).append(" ");
+        }
+        if (sb.length() > 0) {
+            sb.deleteCharAt(sb.length() - 1);
+        }
+
+        return sb.toString();
+    }
+
+    public void setTags(String tags) {
+        if (tags == null) {
+            tagSet.clear();
+            return;
+        }
+
+        String[] tagsarr = StringUtils.split(tags, ' ');
+
+        if (tagsarr == null || tagsarr.length == 0) {
+            tagSet.clear();
+            return;
+        }
+
+        updateTags(Arrays.asList(tagsarr));
+    }
 
-    //------------------------------------------------------------------------
+    // ------------------------------------------------------------------------
     
     /**
      * True if comments are still allowed on this entry considering the

Modified: incubator/roller/trunk/src/org/apache/roller/pojos/WeblogEntryTagData.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/pojos/WeblogEntryTagData.java?view=diff&rev=452115&r1=452114&r2=452115
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/pojos/WeblogEntryTagData.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/pojos/WeblogEntryTagData.java Mon Oct  2 09:42:40 2006
@@ -195,14 +195,15 @@
    }
  
    public int hashCode() {
+       
        int result = 17;
        result = PojoUtil.addHashCode(result, this.id);
-       result = PojoUtil.addHashCode(result, this.website);
-       result = PojoUtil.addHashCode(result, this.weblogEntry);
-       result = PojoUtil.addHashCode(result, this.user);
+       result = PojoUtil.addHashCode(result, this.website != null ? this.website.getId() : null);
+       result = PojoUtil.addHashCode(result, this.weblogEntry != null ? this.weblogEntry.getId() : null);
+       result = PojoUtil.addHashCode(result, this.user != null ? this.user.getId() : null);
        result = PojoUtil.addHashCode(result, this.name);
        result = PojoUtil.addHashCode(result, this.time);
-       
+
        return result;
    }
  

Modified: incubator/roller/trunk/src/org/apache/roller/pojos/WeblogTagAggregateData.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/pojos/WeblogTagAggregateData.java?view=diff&rev=452115&r1=452114&r2=452115
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/pojos/WeblogTagAggregateData.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/pojos/WeblogTagAggregateData.java Mon Oct  2 09:42:40 2006
@@ -126,7 +126,7 @@
      StringBuffer str = new StringBuffer("{");
      
      str.append("id=" + id + " " +
-             "websiteid=" + website.getId() +
+             "website=" + website +
              "name=" + name + " " +
              "count=" + count);
      str.append('}');

Modified: incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/formbeans/WeblogEntryFormEx.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/formbeans/WeblogEntryFormEx.java?view=diff&rev=452115&r1=452114&r2=452115
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/formbeans/WeblogEntryFormEx.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/ui/authoring/struts/formbeans/WeblogEntryFormEx.java Mon Oct  2 09:42:40 2006
@@ -61,7 +61,6 @@
     private String mCategoryId = null;
     private String mCreatorId = null;
     private String mWebsiteId = null;
-    private String mTags = null;
     private Date mDate = new Date();    
     private String mDateString = null;        
     private Integer mHours = new Integer(0);
@@ -185,11 +184,6 @@
                 }
             }
         }
-        
-        if(getTags() != null) 
-        {
-          entry.setTags(getTags());
-        }
     }
     
     /**
@@ -211,13 +205,7 @@
         {
             pluginsArray = StringUtils.split(entry.getPlugins(), ",");
         }
-        
-        String tags = entry.getTags();
-        if (tags != null && tags.length() > 0)
-        {
-          setTags(tags);
-        }
-                
+                        
         attributes = new HashMap();
         Iterator atts = entry.getEntryAttributes().iterator();
         while (atts.hasNext())

Modified: incubator/roller/trunk/src/org/apache/roller/ui/rendering/model/SiteModel.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/ui/rendering/model/SiteModel.java?view=diff&rev=452115&r1=452114&r2=452115
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/ui/rendering/model/SiteModel.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/ui/rendering/model/SiteModel.java Mon Oct  2 09:42:40 2006
@@ -20,7 +20,6 @@
 
 import java.util.ArrayList;
 import java.util.Calendar;
-import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -33,7 +32,6 @@
 import org.apache.roller.model.RefererManager;
 import org.apache.roller.model.Roller;
 import org.apache.roller.model.RollerFactory;
-import org.apache.roller.model.TagManager;
 import org.apache.roller.model.UserManager;
 import org.apache.roller.model.WeblogManager;
 import org.apache.roller.pojos.PermissionsData;
@@ -492,9 +490,9 @@
         Date startDate = cal.getTime();
         try {            
             Roller roller = RollerFactory.getRoller();
-            TagManager tmgr = roller.getTagManager();
-            results = tmgr.getTags(
-                    startDate, new Date(), null, null, false, -1);
+            WeblogManager wmgr = roller.getWeblogManager();
+            results = wmgr.getTags(
+                    startDate, new Date(), null, null, null, -1);
         } catch (Exception e) {
             log.error("ERROR: fetching site tags list", e);
         }
@@ -514,9 +512,9 @@
         Date startDate = cal.getTime();
         try {            
             Roller roller = RollerFactory.getRoller();
-            TagManager tmgr = roller.getTagManager();
-            results = tmgr.getTags(
-                    startDate, new Date(), null, null, true, length);
+            WeblogManager wmgr = roller.getWeblogManager();
+            results = wmgr.getTags(
+                    startDate, new Date(), null, null, "count", length);
         } catch (Exception e) {
             log.error("ERROR: fetching site tags list", e);
         }

Modified: incubator/roller/trunk/testdata/WEB-INF/classes/hibernate.cfg.xml
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/testdata/WEB-INF/classes/hibernate.cfg.xml?view=diff&rev=452115&r1=452114&r2=452115
==============================================================================
--- incubator/roller/trunk/testdata/WEB-INF/classes/hibernate.cfg.xml (original)
+++ incubator/roller/trunk/testdata/WEB-INF/classes/hibernate.cfg.xml Mon Oct  2 09:42:40 2006
@@ -66,8 +66,7 @@
 
         <mapping resource="org/apache/roller/pojos/WeblogEntryData.hbm.xml" />
         <mapping resource="org/apache/roller/pojos/WeblogEntryTagData.hbm.xml" />  
-        <mapping resource="org/apache/roller/pojos/WeblogTagAggregateData.hbm.xml" />    
-        <mapping resource="org/apache/roller/pojos/SiteTagAggregateData.hbm.xml" />                                
+        <mapping resource="org/apache/roller/pojos/WeblogTagAggregateData.hbm.xml" />    
         <mapping resource="org/apache/roller/pojos/EntryAttributeData.hbm.xml" />
         <mapping resource="org/apache/roller/pojos/WeblogCategoryData.hbm.xml" />
         <mapping resource="org/apache/roller/pojos/WeblogCategoryAssoc.hbm.xml" />

Modified: incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java?view=diff&rev=452115&r1=452114&r2=452115
==============================================================================
--- incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java (original)
+++ incubator/roller/trunk/tests/org/apache/roller/business/WeblogEntryTest.java Mon Oct  2 09:42:40 2006
@@ -23,6 +23,7 @@
 
 package org.apache.roller.business;
 
+import java.sql.Timestamp;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashSet;
@@ -626,6 +627,63 @@
       TestUtils.teardownWeblogEntry(id);
       TestUtils.endSession(true);    
     }
+    
+    /**
+     * We want to make sure that the first time placed on the tag remains
+     * through consequent updates.
+     * 
+     * @throws Exception
+     */
+    public void testUpdateTagTime() throws Exception {
+
+        WeblogManager mgr = RollerFactory.getRoller().getWeblogManager();
+
+        // setup some test entries to use
+        WeblogEntryData entry = TestUtils.setupWeblogEntry("entry1", testWeblog
+                .getDefaultCategory(), testWeblog, testUser);
+        entry.addTag("testWillStayTag");
+        entry.addTag("testTagWillBeRemoved");
+        String id = entry.getId();
+        TestUtils.endSession(true);
+
+        entry = mgr.getWeblogEntry(id);
+        assertEquals(2, entry.getTagSet().size());
+
+        Timestamp original = null;
+
+        for (Iterator it = entry.getTagSet().iterator(); it.hasNext();) {
+            WeblogEntryTagData tagData = (WeblogEntryTagData) it.next();
+            if (tagData.getName().equals("testWillStayTag"))
+                original = tagData.getTime();
+        }
+
+        List updateTags = new ArrayList();
+        updateTags.add("testWillStayTag");
+        updateTags.add("testNewTag");
+        updateTags.add("testNewTag3");
+        entry.updateTags(updateTags);
+        TestUtils.endSession(true);
+
+        entry = mgr.getWeblogEntry(id);
+        HashSet tagNames = new HashSet();
+        for (Iterator it = entry.getTagSet().iterator(); it.hasNext();) {
+            WeblogEntryTagData tagData = (WeblogEntryTagData) it.next();
+            tagNames.add(tagData.getName());
+            if (tagData.getName().equals("testWillStayTag"))
+                assertEquals(original, tagData.getTime());
+        }
+
+        assertEquals(3, entry.getTagSet().size());
+        assertEquals(3, tagNames.size());
+        assertEquals(true, tagNames.contains("testWillStayTag"));
+        assertEquals(true, tagNames.contains("testNewTag"));
+        assertEquals(true, tagNames.contains("testNewTag3"));
+
+        // teardown our test entry
+        TestUtils.teardownWeblogEntry(id);
+        TestUtils.endSession(true);
+    }    
+           
   
     
     /**

Modified: incubator/roller/trunk/web/WEB-INF/classes/roller.properties
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/web/WEB-INF/classes/roller.properties?view=diff&rev=452115&r1=452114&r2=452115
==============================================================================
--- incubator/roller/trunk/web/WEB-INF/classes/roller.properties (original)
+++ incubator/roller/trunk/web/WEB-INF/classes/roller.properties Mon Oct  2 09:42:40 2006
@@ -247,7 +247,7 @@
 #,org.apache.roller.ui.core.tasks.SyncWebsitesTask
 
 # Comma separated list of task classnames to be executed hourly
-tasks.hourly=org.apache.roller.ui.core.tasks.TagSummariesTask\
+tasks.hourly=\
 
 # Hourly Planet task: refresh latest entry list from all weblogs in list
 #org.apache.roller.ui.core.tasks.RefreshEntriesTask