Update of 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/builder
In directory 
james.mmbase.org:/tmp/cvs-serv11368/portlets-newsletter/src/java/com/finalist/newsletter/builder

Modified Files:
        NewsletterNavigationItemManager.java 
        NewsletterPublicationNavigationItemManager.java 
Added Files:
        NewsletterNavigationRenderer.java 
Log Message:
CMSC-749 build on new MIME mechanism.


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/builder
See also: http://www.mmbase.org/jira/browse/CMSC-749


NewsletterNavigationRenderer.java is new



Index: NewsletterNavigationItemManager.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/builder/NewsletterNavigationItemManager.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- NewsletterNavigationItemManager.java        14 Dec 2007 14:50:58 -0000      
1.3
+++ NewsletterNavigationItemManager.java        14 May 2008 03:54:41 -0000      
1.4
@@ -1,21 +1,99 @@
 package com.finalist.newsletter.builder;
 
 import com.finalist.cmsc.navigation.NavigationTreeItemRenderer;
+import com.finalist.cmsc.navigation.NavigationItemRenderer;
+import com.finalist.cmsc.navigation.PagesUtil;
+import com.finalist.cmsc.navigation.PortletUtil;
 import com.finalist.cmsc.portalImpl.PageNavigationItemManager;
+import com.finalist.cmsc.beans.om.NavigationItem;
+import com.finalist.cmsc.beans.om.Page;
 import com.finalist.newsletter.tree.NewsletterTreeItemRenderer;
 import com.finalist.newsletter.util.NewsletterUtil;
+import com.finalist.newsletter.beans.om.Newsletter;
+import org.mmbase.bridge.*;
+import org.mmbase.util.logging.Logger;
+import org.mmbase.util.logging.Logging;
+import org.apache.commons.beanutils.BeanUtils;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.List;
+import java.util.Map;
+
+import net.sf.mmapps.commons.beans.MMBaseNodeMapper;
 
 public class NewsletterNavigationItemManager extends PageNavigationItemManager 
{
+   private static Logger log = 
Logging.getLoggerInstance(NewsletterNavigationItemManager.class.getName());
 
+   private NavigationItemRenderer renderer = new 
NewsletterNavigationRenderer();
    private NavigationTreeItemRenderer treeRenderer = new 
NewsletterTreeItemRenderer();
 
+   public Class<? extends NavigationItem> getItemClass() {
+      System.out.println("++++++++++++++++++++++++++++++1");
+      return Newsletter.class;
+   }
+
+   public NavigationItem loadNavigationItem(Integer key, Node node) {
+
+      Newsletter newsletter = MMBaseNodeMapper.copyNode(node, 
Newsletter.class);
+
+      RelationList rellist = PortletUtil.getPortletRelations(node);
+      RelationIterator r = rellist.relationIterator();
+      while (r.hasNext()) {
+         Relation relation = r.nextRelation();
+         Node relatedPortletNode = relation.getDestination();
+
+         log.debug("portlet='" + relatedPortletNode.getNumber() + "' :"
+               + relatedPortletNode.getNodeManager().getName());
+         String layoutid = relation.getStringValue(PortletUtil.LAYOUTID_FIELD);
+         newsletter.addPortlet(layoutid, relatedPortletNode.getNumber());
+      }
+
+      loadLayout(node, newsletter);
+      loadStylesheet(node, newsletter);
+      loadPageImages(node, newsletter);
+      return newsletter;
+   }
+
+   private void loadLayout(Node pageNode, Page page) {
+      Node layoutNode = PagesUtil.getLayout(pageNode);
+      if (layoutNode != null) {
+         page.setLayout(layoutNode.getNumber());
+      }
+      else {
+         log.error("NO LAYOUT");
+      }
+   }
+
+   private void loadStylesheet(Node pageNode, Page page) {
+      NodeList styleNode = PagesUtil.getStylesheet(pageNode);
+      if (!styleNode.isEmpty()) {
+         for (NodeIterator iter = styleNode.nodeIterator(); iter.hasNext();) {
+            Node stylesheetNode = iter.nextNode();
+            page.addStylesheet(stylesheetNode.getNumber());
+         }
+      }
+   }
+
+   private void loadPageImages(Node pageNode, Page page) {
+      Map<String, List<Integer>> pageImages = 
PagesUtil.getPageImages(pageNode);
+      page.setPageImages(pageImages);
+   }
+
+
+   public NavigationItemRenderer getRenderer() {
+      System.out.println("++++++++++++++++++++++++++++++3");
+      return renderer;                                                  
+   }
+
    @Override
    public String getTreeManager() {
+      System.out.println("+++++++++++++++++++++++++++++ +4");
       return NewsletterUtil.NEWSLETTER;
    }
 
    @Override
    public NavigationTreeItemRenderer getTreeRenderer() {
+      System.out.println("++++++++++++++++++++++++++++++5");
       return treeRenderer;
    }
 


Index: NewsletterPublicationNavigationItemManager.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/builder/NewsletterPublicationNavigationItemManager.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- NewsletterPublicationNavigationItemManager.java     14 Dec 2007 14:50:58 
-0000      1.3
+++ NewsletterPublicationNavigationItemManager.java     14 May 2008 03:54:41 
-0000      1.4
@@ -5,7 +5,7 @@
 import com.finalist.newsletter.tree.NewsletterPublicationTreeItemRenderer;
 import com.finalist.newsletter.util.NewsletterUtil;
 
-public class NewsletterPublicationNavigationItemManager extends 
PageNavigationItemManager {
+public class NewsletterPublicationNavigationItemManager extends 
NewsletterNavigationItemManager {
 
    private NavigationTreeItemRenderer treeRenderer = new 
NewsletterPublicationTreeItemRenderer();
 
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to