Author: lucaa
Date: 2008-02-07 19:01:43 +0100 (Thu, 07 Feb 2008)
New Revision: 7346

Modified:
   
xwiki-products/xwiki-watch/trunk/gwt/src/main/java/com/xpn/xwiki/watch/client/data/DataManager.java
   
xwiki-products/xwiki-watch/trunk/gwt/src/main/java/com/xpn/xwiki/watch/client/ui/dialog/AddKeywordDialog.java
   
xwiki-products/xwiki-watch/trunk/gwt/src/main/java/com/xpn/xwiki/watch/client/ui/menu/KeywordsWidget.java
   
xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/WatchSheets/KeywordSheet
   
xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/WatchSheets/WikiWebHomeSheet
   
xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/XWiki/AggregatorURLClass
   xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/XWiki/KeywordClass
Log:
XWATCH-78: Filtering keywords with groups does not work

* Changed the keyword class and the aggregator url class to store groups page 
names instead of group names, for uniform querying. Updated all the queries to 
match the new data format.



Modified: 
xwiki-products/xwiki-watch/trunk/gwt/src/main/java/com/xpn/xwiki/watch/client/data/DataManager.java
===================================================================
--- 
xwiki-products/xwiki-watch/trunk/gwt/src/main/java/com/xpn/xwiki/watch/client/data/DataManager.java
 2008-02-07 17:46:28 UTC (rev 7345)
+++ 
xwiki-products/xwiki-watch/trunk/gwt/src/main/java/com/xpn/xwiki/watch/client/data/DataManager.java
 2008-02-07 18:01:43 UTC (rev 7346)
@@ -354,10 +354,8 @@
         if ((feedurl !=null)&&(!feedurl.trim().equals(""))) {
             wheresql += " and feedentry.feedurl='" + 
feedurl.replaceAll("'","''") + "'";
         } else if ((filterStatus.getGroup() 
!=null)&&(!filterStatus.getGroup().trim().equals(""))) {
-            wheresql += "and feedentry.feedurl in (" 
-                + "select feed.url from XWiki.AggregatorURLClass as feed, 
BaseObject as obj, " 
-                + "XWiki.AggregatorGroupClass as groupProp where obj.name in 
elements(feed.group) " 
-                + "and obj.id = groupProp.id and groupProp.name='" + 
filterStatus.getGroup().replaceAll("'", "''") + "')";            
+            wheresql += "and feedentry.feedurl in ("
+                + "select feed.url from XWiki.AggregatorURLClass as feed where 
'" + filterStatus.getGroup().replaceAll("'","''") + "' in 
elements(feed.group))";
         }
 
         if (filterStatus.getDateStart() !=null) {

Modified: 
xwiki-products/xwiki-watch/trunk/gwt/src/main/java/com/xpn/xwiki/watch/client/ui/dialog/AddKeywordDialog.java
===================================================================
--- 
xwiki-products/xwiki-watch/trunk/gwt/src/main/java/com/xpn/xwiki/watch/client/ui/dialog/AddKeywordDialog.java
       2008-02-07 17:46:28 UTC (rev 7345)
+++ 
xwiki-products/xwiki-watch/trunk/gwt/src/main/java/com/xpn/xwiki/watch/client/ui/dialog/AddKeywordDialog.java
       2008-02-07 18:01:43 UTC (rev 7346)
@@ -62,7 +62,7 @@
         int selectedIndex = (groupListBox==null) ? -1 : 
groupListBox.getSelectedIndex();
         // If the All item is selected set no group
         if (selectedIndex>0)
-         group = groupListBox.getItemText(selectedIndex);
+         group = groupListBox.getValue(selectedIndex);
 
         if (keyword.equals("")) {
             Window.alert(app.getTranslation(getDialogTranslationName() + 
".nokeyword"));

Modified: 
xwiki-products/xwiki-watch/trunk/gwt/src/main/java/com/xpn/xwiki/watch/client/ui/menu/KeywordsWidget.java
===================================================================
--- 
xwiki-products/xwiki-watch/trunk/gwt/src/main/java/com/xpn/xwiki/watch/client/ui/menu/KeywordsWidget.java
   2008-02-07 17:46:28 UTC (rev 7345)
+++ 
xwiki-products/xwiki-watch/trunk/gwt/src/main/java/com/xpn/xwiki/watch/client/ui/menu/KeywordsWidget.java
   2008-02-07 18:01:43 UTC (rev 7346)
@@ -86,7 +86,14 @@
             while (it.hasNext()) {
                 final Keyword keyword = (Keyword) it.next();
                 if ((keyword.getName()!=null)&&(!keyword.equals(""))) {
-                    Hyperlink link = new Hyperlink(keyword.getDisplayName(), 
"");
+                    String groupDisplayName = (String) 
watch.getConfig().getGroups()
+                                                       
.get(keyword.getGroup());
+                    if (groupDisplayName == null) {
+                        groupDisplayName = keyword.getGroup();
+                    }
+                    String keywordDisplayName = keyword.getName() 
+                        + ((!groupDisplayName.trim().equals("")) ?  (" - " + 
groupDisplayName) : "");
+                    Hyperlink link = new Hyperlink(keywordDisplayName, "");
                     link.setStyleName(watch.getStyleName("keyword", "link"));
                     keywordsLink.put(keyword, link);
                     link.addClickListener(new ClickListener() {

Modified: 
xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/WatchSheets/KeywordSheet
===================================================================
--- 
xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/WatchSheets/KeywordSheet
   2008-02-07 17:46:28 UTC (rev 7345)
+++ 
xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/WatchSheets/KeywordSheet
   2008-02-07 18:01:43 UTC (rev 7346)
@@ -64,7 +64,7 @@
   #set($groupQuery = "")
   #if ("$!keywordGroup" != "")
     #set($keywordGroupEsc = $keywordGroup.replaceAll("'", "''"))
-    #set($groupQuery = " and feedentry.feedurl in (select feed.url from 
XWiki.AggregatorURLClass as feed, BaseObject as obj, XWiki.AggregatorGroupClass 
as groupProp where obj.name in elements(feed.group) and obj.id = groupProp.id 
and groupProp.name='${keywordGroupEsc}')")
+    #set($groupQuery = " and feedentry.feedurl in (select feed.url from 
XWiki.AggregatorURLClass as feed where '${keywordGroupEsc}' in 
elements(feed.group))")
   #end
   #set($articlesQuery = ", BaseObject as obj, XWiki.FeedEntryClass as 
feedentry where doc.fullName = obj.name and obj.className  = 
'XWiki.FeedEntryClass' and obj.id = feedentry.id  and (lower(feedentry.title) 
like '%${keywordValueEsc.toLowerCase()}%' or lower(feedentry.content) like 
'%${keywordValueEsc.toLowerCase()}%' or lower(feedentry.fullContent) like 
'%${keywordValueEsc.toLowerCase()}%') ${groupQuery}")
   #set($list = $xwiki.searchDocuments($articlesQuery))

Modified: 
xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/WatchSheets/WikiWebHomeSheet
===================================================================
--- 
xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/WatchSheets/WikiWebHomeSheet
       2008-02-07 17:46:28 UTC (rev 7345)
+++ 
xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/WatchSheets/WikiWebHomeSheet
       2008-02-07 18:01:43 UTC (rev 7346)
@@ -83,7 +83,7 @@
     ##build the nice name
     #set($keywordName = "${keywordObj.getProperty('name').value}")
     #set($keywordGroup = false)
-    #set($keywordGroup =  $keywordObj.getProperty('group').value)
+    #set($keywordGroup =  $keywordObj.display('group', 'view'))
     #if ($keywordGroup && $keywordGroup != "")
       #set($keywordName = "${keywordName} - ${keywordGroup}")
     #end

Modified: 
xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/XWiki/AggregatorURLClass
===================================================================
--- 
xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/XWiki/AggregatorURLClass
   2008-02-07 17:46:28 UTC (rev 7345)
+++ 
xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/XWiki/AggregatorURLClass
   2008-02-07 18:01:43 UTC (rev 7346)
@@ -59,7 +59,7 @@
 <idField></idField>
 <relationalStorage>1</relationalStorage>
 <name>group</name>
-<sql>select agroup.name from XWiki.AggregatorGroupClass as agroup, 
XWikiDocument as doc, BaseObject as obj where doc.fullName=obj.name and 
obj.id=agroup.id and doc.web='${doc.web}'</sql>
+<sql>select doc.fullName, agroup.name from XWiki.AggregatorGroupClass as 
agroup, XWikiDocument as doc, BaseObject as obj where doc.fullName=obj.name and 
obj.id=agroup.id and doc.web='${doc.web}'</sql>
 <picker></picker>
 <number>5</number>
 <validationMessage></validationMessage>

Modified: 
xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/XWiki/KeywordClass
===================================================================
--- xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/XWiki/KeywordClass 
2008-02-07 17:46:28 UTC (rev 7345)
+++ xwiki-products/xwiki-watch/trunk/wiki/src/main/resources/XWiki/KeywordClass 
2008-02-07 18:01:43 UTC (rev 7346)
@@ -46,7 +46,7 @@
 <idField></idField>
 <relationalStorage>0</relationalStorage>
 <name>group</name>
-<sql>select agroup.name from XWiki.AggregatorGroupClass as agroup, 
XWikiDocument as doc, BaseObject as obj where doc.fullName=obj.name and 
obj.id=agroup.id and doc.web='${doc.web}'</sql>
+<sql>select doc.fullName, agroup.name from XWiki.AggregatorGroupClass as 
agroup, XWikiDocument as doc, BaseObject as obj where doc.fullName=obj.name and 
obj.id=agroup.id and doc.web='${doc.web}'</sql>
 <picker></picker>
 <number>2</number>
 <validationMessage></validationMessage>

_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to