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