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

Reply via email to