Author: billyxie
Date: 2009-06-08 10:56:44 +0200 (Mon, 08 Jun 2009)
New Revision: 35808
Removed:
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/contentchannel/search_rssfeed_related_collectionchannel.xml
Modified:
CMSContainer/trunk/CMSContainer_Modules/rssfeed/config/applications/rssfeed.xml
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/RssFeedNavigationItemManager.java
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/RssFeedNavigationRenderer.java
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/beans/om/RssFeed.java
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/util/RssFeedUtil.java
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/contentchannel/search_rssfeed_related_contentchannel.xml
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/rssfeed/edit_rssfeed.xml
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/rssfeed/load_rssfeed.xml
Log:
CMSC-1150 - Roll back.
Now this issue doesn't need commit.
Modified:
CMSContainer/trunk/CMSContainer_Modules/rssfeed/config/applications/rssfeed.xml
===================================================================
---
CMSContainer/trunk/CMSContainer_Modules/rssfeed/config/applications/rssfeed.xml
2009-06-08 08:36:30 UTC (rev 35807)
+++
CMSContainer/trunk/CMSContainer_Modules/rssfeed/config/applications/rssfeed.xml
2009-06-08 08:56:44 UTC (rev 35808)
@@ -17,7 +17,6 @@
<allowedrelationlist>
<relation from="page" to="rssfeed" type="navrel" />
<relation from="rssfeed" to="contentchannel" type="related" />
- <relation from="rssfeed" to="collectionchannel" type="related" />
<relation from="rssfeed" to="typedef" type="allowrel" />
<relation from="mmbasegroups" to="rssfeed" type="rolerel" />
</allowedrelationlist>
Modified:
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/RssFeedNavigationItemManager.java
===================================================================
---
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/RssFeedNavigationItemManager.java
2009-06-08 08:36:30 UTC (rev 35807)
+++
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/RssFeedNavigationItemManager.java
2009-06-08 08:56:44 UTC (rev 35808)
@@ -4,15 +4,12 @@
import org.mmbase.bridge.Cloud;
import org.mmbase.bridge.Node;
-import org.mmbase.bridge.NodeList;
import org.mmbase.util.logging.Logger;
import org.mmbase.util.logging.Logging;
import com.finalist.cmsc.beans.MMBaseNodeMapper;
import com.finalist.cmsc.beans.om.NavigationItem;
-import com.finalist.cmsc.navigation.NavigationItemManager;
-import com.finalist.cmsc.navigation.NavigationItemRenderer;
-import com.finalist.cmsc.navigation.NavigationTreeItemRenderer;
+import com.finalist.cmsc.navigation.*;
import com.finalist.cmsc.rssfeed.beans.om.RssFeed;
import com.finalist.cmsc.rssfeed.publish.RssFeedPublisher;
import com.finalist.cmsc.rssfeed.tree.RssFeedTreeItemRenderer;
@@ -70,15 +67,10 @@
rssFeed.addContenttype(type);
}
- NodeList contentChannels = RssFeedUtil.getContentChannels(node);
- if (contentChannels != null) {
- rssFeed.setContentChannels(contentChannels);
+ Node contentChannel = RssFeedUtil.getContentChannel(node);
+ if (contentChannel != null) {
+ rssFeed.setContentChannel(contentChannel.getNumber());
}
-
- NodeList collectionChannels = RssFeedUtil.getCollectionChannels(node);
- if (collectionChannels != null) {
- rssFeed.setCollectionChannels(collectionChannels);
- }
return rssFeed;
}
Modified:
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/RssFeedNavigationRenderer.java
===================================================================
---
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/RssFeedNavigationRenderer.java
2009-06-08 08:36:30 UTC (rev 35807)
+++
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/RssFeedNavigationRenderer.java
2009-06-08 08:56:44 UTC (rev 35808)
@@ -2,12 +2,7 @@
import java.io.IOException;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Set;
+import java.util.*;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServletRequest;
@@ -17,11 +12,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.mmbase.bridge.Cloud;
-import org.mmbase.bridge.Node;
-import org.mmbase.bridge.NodeIterator;
-import org.mmbase.bridge.NodeList;
-import org.mmbase.bridge.NodeQuery;
+import org.mmbase.bridge.*;
import org.mmbase.bridge.util.SearchUtil;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -32,11 +23,8 @@
import com.finalist.cmsc.repository.ContentElementUtil;
import com.finalist.cmsc.repository.RepositoryUtil;
import com.finalist.cmsc.rssfeed.beans.om.RssFeed;
-import com.finalist.cmsc.rssfeed.util.RssFeedUtil;
import com.finalist.cmsc.services.sitemanagement.SiteManagement;
-import com.finalist.cmsc.util.HttpUtil;
-import com.finalist.cmsc.util.ServerUtil;
-import com.finalist.cmsc.util.XmlUtil;
+import com.finalist.cmsc.util.*;
public class RssFeedNavigationRenderer implements NavigationItemRenderer {
@@ -74,15 +62,7 @@
XmlUtil.createChildText(channel, "docs",
"http://www.rssboard.org/rss-specification");
List<String> contentTypesList = rssFeed.getContenttypes();
- List<Node> contentChannels = rssFeed.getContentChannels();
- List<Node> collectionChannels = rssFeed.getCollectionChannels();
- Set<Node> contentChannelSet = new HashSet<Node>();
- contentChannelSet.addAll(contentChannels);
- for(Node collectionChannel : collectionChannels){
-
contentChannelSet.addAll(RssFeedUtil.getChildrenChannels(collectionChannel));
- }
-
- Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
+ int contentChannelNumber = rssFeed.getContentChannel();
int maxAgeInDays = rssFeed.getMax_age_in_days();
@@ -95,9 +75,64 @@
Date lastChange = null;
boolean first = true;
- for(Node node : contentChannelSet){
- lastChange = buildItemsPerChannel(request, node, channel,
contentTypesList,
- maxAgeInDays, useLifecycle, maxNumber,
lastChange, first);
+ if (contentChannelNumber > 0) {
+ Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
+ Node contentChannel = cloud.getNode(contentChannelNumber);
+
+ NodeQuery query =
RepositoryUtil.createLinkedContentQuery(contentChannel, contentTypesList,
+ ContentElementUtil.PUBLISHDATE_FIELD, "down", useLifecycle,
null, 0, maxNumber, -1, -1, -1);
+ //Add constraint: max age in days
+ if (maxAgeInDays > 0) {
+ SearchUtil.addDayConstraint(query,
cloud.getNodeManager(RepositoryUtil.CONTENTELEMENT),
ContentElementUtil.PUBLISHDATE_FIELD, "-" + maxAgeInDays);
+ }
+ NodeList results = query.getNodeManager().getList(query);
+ for (NodeIterator ni = results.nodeIterator(); ni.hasNext();) {
+ Node resultNode = ni.nextNode();
+ Element itemE = XmlUtil.createChild(channel, "item");
+ XmlUtil.createChildText(itemE, "title",
resultNode.getStringValue("title"));
+
+ String uniqueUrl = makeAbsolute(getContentUrl(resultNode),
request);
+ XmlUtil.createChildText(itemE, "link", uniqueUrl);
+
+ String description = null;
+ if (resultNode.getNodeManager().hasField("intro")) {
+ description = resultNode.getStringValue("intro");
+ }
+ if ((description == null || description.length() == 0) &&
resultNode.getNodeManager().hasField("body")) {
+ description = resultNode.getStringValue("body");
+ if (description.indexOf("<br/>") != -1) {
+ description = description.substring(0,
description.indexOf("<br/>"));
+ }
+ }
+ if (description != null) {
+ description = description.replaceAll("<.*?>", "");
+ }
+ XmlUtil.createChildText(itemE, "description", description);
+ XmlUtil.createChildText(itemE, "pubDate",
formatRFC822Date.format(resultNode.getDateValue("publishdate")));
+ XmlUtil.createChildText(itemE, "guid", uniqueUrl);
+
+ if (first) {
+ NodeList images = resultNode.getRelatedNodes("images",
"imagerel", null);
+ if (images.size() > 0) {
+ Node image = images.getNode(0);
+ List<String> arguments = new ArrayList<String>();
+ arguments.add("160x100");
+ int iCacheNodeNumber = image.getFunctionValue("cache",
arguments).toInt();
+ String imageUrl = image.getFunctionValue("servletpath",
null).toString() + iCacheNodeNumber;
+
+ Element imageE = XmlUtil.createChild(channel, "image");
+ XmlUtil.createChildText(imageE, "url", imageUrl);
+ XmlUtil.createChild(imageE, "title");
+ XmlUtil.createChildText(imageE, "link", uniqueUrl);
+ }
+ }
+ first = false;
+
+ Date change = resultNode.getDateValue("lastmodifieddate");
+ if (lastChange == null || change.getTime() >
lastChange.getTime()) {
+ lastChange = change;
+ }
+ }
}
if (lastChange != null) {
@@ -117,72 +152,6 @@
}
}
-
-private Date buildItemsPerChannel(HttpServletRequest request, Node node,
Element channel,
- List<String> contentTypesList, int maxAgeInDays, boolean
useLifecycle,
- int maxNumber, Date lastChange, boolean first) {
- if (node.getNumber() > 0) {
- Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
- Node contentChannel = cloud.getNode(node.getNumber());
-
- NodeQuery query =
RepositoryUtil.createLinkedContentQuery(contentChannel, contentTypesList,
- ContentElementUtil.PUBLISHDATE_FIELD, "down", useLifecycle,
null, 0, maxNumber, -1, -1, -1);
- //Add constraint: max age in days
- if (maxAgeInDays > 0) {
- SearchUtil.addDayConstraint(query,
cloud.getNodeManager(RepositoryUtil.CONTENTELEMENT),
ContentElementUtil.PUBLISHDATE_FIELD, "-" + maxAgeInDays);
- }
- NodeList results = query.getNodeManager().getList(query);
- for (NodeIterator ni = results.nodeIterator(); ni.hasNext();) {
- Node resultNode = ni.nextNode();
- Element itemE = XmlUtil.createChild(channel, "item");
- XmlUtil.createChildText(itemE, "title",
resultNode.getStringValue("title"));
-
- String uniqueUrl = makeAbsolute(getContentUrl(resultNode),
request);
- XmlUtil.createChildText(itemE, "link", uniqueUrl);
-
- String description = null;
- if (resultNode.getNodeManager().hasField("intro")) {
- description = resultNode.getStringValue("intro");
- }
- if ((description == null || description.length() == 0) &&
resultNode.getNodeManager().hasField("body")) {
- description = resultNode.getStringValue("body");
- if (description.indexOf("<br/>") != -1) {
- description = description.substring(0,
description.indexOf("<br/>"));
- }
- }
- if (description != null) {
- description = description.replaceAll("<.*?>", "");
- }
- XmlUtil.createChildText(itemE, "description", description);
- XmlUtil.createChildText(itemE, "pubDate",
formatRFC822Date.format(resultNode.getDateValue("publishdate")));
- XmlUtil.createChildText(itemE, "guid", uniqueUrl);
-
- if (first) {
- NodeList images = resultNode.getRelatedNodes("images",
"imagerel", null);
- if (images.size() > 0) {
- Node image = images.getNode(0);
- List<String> arguments = new ArrayList<String>();
- arguments.add("160x100");
- int iCacheNodeNumber = image.getFunctionValue("cache",
arguments).toInt();
- String imageUrl = image.getFunctionValue("servletpath",
null).toString() + iCacheNodeNumber;
-
- Element imageE = XmlUtil.createChild(channel, "image");
- XmlUtil.createChildText(imageE, "url", imageUrl);
- XmlUtil.createChild(imageE, "title");
- XmlUtil.createChildText(imageE, "link", uniqueUrl);
- }
- }
- first = false;
-
- Date change = resultNode.getDateValue("lastmodifieddate");
- if (lastChange == null || change.getTime() >
lastChange.getTime()) {
- lastChange = change;
- }
- }
- }
- return lastChange;
-}
-
private String getSiteUrl(HttpServletRequest request, RssFeed rss) {
if (ServerUtil.useServerName()) {
return getServerDocRoot(request);
Modified:
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/beans/om/RssFeed.java
===================================================================
---
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/beans/om/RssFeed.java
2009-06-08 08:36:30 UTC (rev 35807)
+++
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/beans/om/RssFeed.java
2009-06-08 08:56:44 UTC (rev 35808)
@@ -1,13 +1,7 @@
package com.finalist.cmsc.rssfeed.beans.om;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
+import java.util.*;
-import net.sf.mmapps.modules.cloudprovider.CloudProviderFactory;
-
-import org.mmbase.bridge.NodeList;
-
import com.finalist.cmsc.beans.om.NavigationItem;
@SuppressWarnings("serial")
@@ -22,8 +16,7 @@
private String email_webmaster;
private List<String> contenttypes = new ArrayList<String>();
- private NodeList contentChannels =
CloudProviderFactory.getCloudProvider().getCloud().createNodeList();
- private NodeList collectionChannels =
CloudProviderFactory.getCloudProvider().getCloud().createNodeList();
+ private int contentChannel = -1;
public int getMaximum() {
return maximum;
@@ -83,26 +76,18 @@
public List<String> getContenttypes() {
return Collections.unmodifiableList(contenttypes);
- }
+ }
- public void addContenttype(String contenttypes) {
+ public void addContenttype(String contenttypes) {
this.contenttypes.add(contenttypes);
+ }
+
+ public int getContentChannel() {
+ return contentChannel;
}
+
+ public void setContentChannel(int contentChannel) {
+ this.contentChannel = contentChannel;
+ }
- public NodeList getContentChannels() {
- return contentChannels;
- }
-
- public void setContentChannels(NodeList contentChannels) {
- this.contentChannels = contentChannels;
- }
-
- public NodeList getCollectionChannels() {
- return collectionChannels;
- }
-
- public void setCollectionChannels(NodeList collectionChannels) {
- this.collectionChannels = collectionChannels;
- }
-
}
Modified:
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/util/RssFeedUtil.java
===================================================================
---
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/util/RssFeedUtil.java
2009-06-08 08:36:30 UTC (rev 35807)
+++
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/java/com/finalist/cmsc/rssfeed/util/RssFeedUtil.java
2009-06-08 08:56:44 UTC (rev 35808)
@@ -1,8 +1,6 @@
package com.finalist.cmsc.rssfeed.util;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
import org.mmbase.bridge.Node;
import org.mmbase.bridge.NodeList;
@@ -35,16 +33,8 @@
return types;
}
- public static NodeList getContentChannels(Node node) {
- return SearchUtil.findRelatedNodeList(node,
RepositoryUtil.CONTENTCHANNEL, "related");
+ public static Node getContentChannel(Node node) {
+ return SearchUtil.findRelatedNode(node, RepositoryUtil.CONTENTCHANNEL,
"related");
}
-
- public static NodeList getCollectionChannels(Node node) {
- return SearchUtil.findRelatedNodeList(node,
RepositoryUtil.COLLECTIONCHANNEL, "related");
- }
-
- public static NodeList getChildrenChannels(Node node) {
- return SearchUtil.findRelatedNodeList(node,
RepositoryUtil.CONTENTCHANNEL, "collectionrel");
- }
-
+
}
Deleted:
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/contentchannel/search_rssfeed_related_collectionchannel.xml
===================================================================
---
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/contentchannel/search_rssfeed_related_collectionchannel.xml
2009-06-08 08:36:30 UTC (rev 35807)
+++
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/contentchannel/search_rssfeed_related_collectionchannel.xml
2009-06-08 08:56:44 UTC (rev 35808)
@@ -1,42 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE list PUBLIC "-//MMBase/DTD editwizard 1.0//EN"
"http://www.mmbase.org/dtd/wizard-schema_1_0.dtd">
-<list role="related" destination="collectionchannel" minoccurs="0"
maxoccurs="*">
- <title xml:lang="nl">Collection channel</title>
- <title xml:lang="en">Collection channel</title>
- <title xml:lang="zh">内容频道</title>
-
- <item>
- <field ftype="data" name="pathfragment">
- <prompt xml:lang="en">URL-fragment</prompt>
- <prompt xml:lang="nl">URL-fragment</prompt>
- <prompt xml:lang="zh">URL-片段</prompt>
- </field>
- <field ftype="data" name="name">
- <prompt xml:lang="en">Name</prompt>
- <prompt xml:lang="nl">Naam</prompt>
- <prompt xml:lang="zh">名称</prompt>
- </field>
- </item>
-
- <command name="search" nodepath="collectionchannel" age="-1"
fields="pathfragment,name">
- <prompt xml:lang="en">Search collectionchannel</prompt>
- <prompt xml:lang="nl">Zoek rubriek</prompt>
- <prompt xml:lang="zh">查找集合频道</prompt>
- <search-filter>
- <name xml:lang="en">URL-fragment contains</name>
- <name xml:lang="nl">URL-fragment bevat</name>
- <name xml:lang="zh">URL-片段 包含</name>
- <search-fields>[pathfragment]</search-fields>
- </search-filter>
- <search-filter>
- <name xml:lang="en">Name contains</name>
- <name xml:lang="nl">Naam bevat</name>
- <name xml:lang="zh">名称 包含</name>
- <search-fields>[name]</search-fields>
- </search-filter>
- </command>
-
- <action type="create">
- <relation destinationtype="collectionchannel" role="related"></relation>
- </action>
-</list>
\ No newline at end of file
Modified:
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/contentchannel/search_rssfeed_related_contentchannel.xml
===================================================================
---
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/contentchannel/search_rssfeed_related_contentchannel.xml
2009-06-08 08:36:30 UTC (rev 35807)
+++
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/contentchannel/search_rssfeed_related_contentchannel.xml
2009-06-08 08:56:44 UTC (rev 35808)
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!DOCTYPE list PUBLIC "-//MMBase/DTD editwizard 1.0//EN"
"http://www.mmbase.org/dtd/wizard-schema_1_0.dtd">
-<list role="related" destination="contentchannel" minoccurs="0" maxoccurs="*">
+<list role="related" destination="contentchannel" minoccurs="1" maxoccurs="1">
<title xml:lang="nl">Rubriek</title>
<title xml:lang="en">Content channel</title>
<title xml:lang="zh">内容频道</title>
Modified:
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/rssfeed/edit_rssfeed.xml
===================================================================
---
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/rssfeed/edit_rssfeed.xml
2009-06-08 08:36:30 UTC (rev 35807)
+++
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/rssfeed/edit_rssfeed.xml
2009-06-08 08:56:44 UTC (rev 35808)
@@ -65,6 +65,5 @@
<optionlist select="boolean" />
</field>
<list
include="config/contentchannel/search_rssfeed_related_contentchannel.xml" />
- <list
include="config/collectionchannel/search_rssfeed_related_collectionchannel.xml"
/>
<list include="config/typedef/search_site_allowrel_typedef.xml" />
</form-schema>
\ No newline at end of file
Modified:
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/rssfeed/load_rssfeed.xml
===================================================================
---
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/rssfeed/load_rssfeed.xml
2009-06-08 08:36:30 UTC (rev 35807)
+++
CMSContainer/trunk/CMSContainer_Modules/rssfeed/src/webapp/editors/config/rssfeed/load_rssfeed.xml
2009-06-08 08:56:44 UTC (rev 35808)
@@ -22,6 +22,5 @@
<field name="email_webmaster" />
<relation destination="contentchannel" role="related" />
- <relation destination="collectionchannel" role="related" />
<relation destination="typedef" role="allowrel" />
</action>
\ No newline at end of file
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs