Update of 
/var/cvs/contributions/CMSContainer_Portlets/portlets-tagcloud/src/java/com/finalist/portlets/tagcloud/util
In directory 
james.mmbase.org:/tmp/cvs-serv17062/portlets-tagcloud/src/java/com/finalist/portlets/tagcloud/util

Modified Files:
        TagCloudUtil.java 
Log Message:
CMSC-1066 - Fix for tag count issues


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-tagcloud/src/java/com/finalist/portlets/tagcloud/util
See also: http://www.mmbase.org/jira/browse/CMSC-1066


Index: TagCloudUtil.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-tagcloud/src/java/com/finalist/portlets/tagcloud/util/TagCloudUtil.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- TagCloudUtil.java   14 Nov 2008 14:22:33 -0000      1.9
+++ TagCloudUtil.java   17 Nov 2008 12:01:34 -0000      1.10
@@ -36,14 +36,17 @@
 /*
 
  */
-       private static final String SQL_STAGING_SELECT_TAGS_COUNT = "  SELECT 
tag.number,COUNT(insrel.number) AS cnt " 
+       private static final String SQL_STAGING_SELECT_TAGS_COUNT = "  SELECT 
tag.number,tag.name,tag.description,COUNT(insrel.number) AS cnt " 
                + "FROM mm_tag tag,mm_insrel insrel "
                + "WHERE (tag.number=insrel.dnumber) AND tag.name is not null "
-               + "GROUP BY tag.number";
-       private static final String SQL_LIVE_SELECT_TAGS_COUNT = "SELECT 
tag.number,COUNT(contentelement.number) AS cnt "
-               + "FROM live_tag tag,live_insrel insrel,live_contentelement 
contentelement "
-               + "WHERE (tag.number=insrel.dnumber AND 
contentelement.number=insrel.snumber) AND tag.name is not null "
-               + "GROUP BY tag.name";
+               + "GROUP BY tag.number "
+               + "ORDER BY cnt DESC";
+
+       private static final String SQL_LIVE_SELECT_TAGS_COUNT = "  SELECT 
tag.number,tag.name,tag.description,COUNT(insrel.number) AS cnt " 
+               + "FROM live_tag tag,live_insrel insrel "
+               + "WHERE (tag.number=insrel.dnumber) AND tag.name is not null "
+               + "GROUP BY tag.number "
+               + "ORDER BY cnt DESC";
 
        private static final String SQL_STAGING_SELECT_CONTENT_RELATED_TAGS = 
"SELECT tag.number,tag.name,tag.description "
                + "FROM mm_tag tag,mm_insrel insrel "
@@ -137,25 +140,12 @@
                        if (max != null) {
                                st.setMaxRows(max);
                        }
-                       String sqlSelect = 
ServerUtil.isLive()?SQL_LIVE_SELECT_TAGS:SQL_STAGING_SELECT_TAGS;
-                       ResultSet rs = st.executeQuery(sqlSelect);
-                       while (rs.next()) {
-                               Tag tag = new Tag(rs.getInt("tag.number"), 
rs.getString("tag.name"), rs.getString("tag.description"), 0);
-                               tags.add(tag);
-                       }
 
                        String sqlSelectCount = 
ServerUtil.isLive()?SQL_LIVE_SELECT_TAGS_COUNT:SQL_STAGING_SELECT_TAGS_COUNT;
                        ResultSet rsCount = st.executeQuery(sqlSelectCount);
                        while (rsCount.next()) {
-                               
-                               int number = rsCount.getInt("tag.number");
-                               int count = rsCount.getInt("cnt");
-
-                               for(Tag tag:tags) {
-                                       if(tag.getNumber() == number) {
-                                               
tag.setCount(tag.getCount()+count);
-                                       }
-                               }
+                               Tag tag = new Tag(rsCount.getInt("tag.number"), 
rsCount.getString("tag.name"), rsCount.getString("tag.description"), 
rsCount.getInt("cnt"));
+                               tags.add(tag);                          
                        }
 
                        Collections.sort(tags, new TagNameComperator("count", 
"down"));
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to