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

Modified Files:
      Tag: b1_5
        NewsletterPublicationUtil.java 
Log Message:
CMSC-948 Registration portlet for CMS container


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


Index: NewsletterPublicationUtil.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util/NewsletterPublicationUtil.java,v
retrieving revision 1.26
retrieving revision 1.26.2.1
diff -u -b -r1.26 -r1.26.2.1
--- NewsletterPublicationUtil.java      6 May 2008 06:11:12 -0000       1.26
+++ NewsletterPublicationUtil.java      6 Nov 2008 07:52:53 -0000       1.26.2.1
@@ -11,18 +11,20 @@
 import com.finalist.cmsc.navigation.NavigationUtil;
 import com.finalist.cmsc.navigation.PagesUtil;
 import com.finalist.cmsc.navigation.PortletUtil;
+import com.finalist.newsletter.domain.Newsletter;
 import com.finalist.newsletter.domain.Publication;
+import com.finalist.newsletter.domain.Publication.STATUS;
 
 public abstract class NewsletterPublicationUtil {
 
-   private static void copyOtherRelations(Node newsletterNode, Node 
publicationNode,boolean copyContent) {
-      copyPageRelations(newsletterNode, publicationNode,copyContent);
+   private static void copyOtherRelations(Node newsletterNode, Node 
publicationNode, boolean copyContent) {
+      copyPageRelations(newsletterNode, publicationNode, copyContent);
       copyImageAndAttachmentRelations(newsletterNode, publicationNode);
    }
    
-   public static Node copyPageRelations(Node sourcePage, Node newPage,boolean 
copyContent) {
+   public static Node copyPageRelations(Node sourcePage, Node newPage, boolean 
copyContent) {
       CloneUtil.cloneRelations(sourcePage, newPage, PagesUtil.LAYOUTREL, 
PagesUtil.LAYOUT);
-      if(copyContent) {
+      if (copyContent) {
          PortletUtil.copyPortlets(sourcePage, newPage);
       }
       Node popupinfo = PagesUtil.getPopupinfo(sourcePage);
@@ -34,8 +36,8 @@
    }
    
    private static void copyImageAndAttachmentRelations(Node newsletterNode, 
Node publicationNode) {
-      
CloneUtil.cloneRelations(newsletterNode,publicationNode,"namedrel","images");
-      
CloneUtil.cloneRelations(newsletterNode,publicationNode,"posrel","attachments");
+      CloneUtil.cloneRelations(newsletterNode, publicationNode, "namedrel", 
"images");
+      CloneUtil.cloneRelations(newsletterNode, publicationNode, "posrel", 
"attachments");
    }
    
    public static Node getNewsletterByPublicationNumber(int publicationNumber) {
@@ -53,12 +55,12 @@
          if (publicationNode != null) {
             String urlFragment = String.valueOf(publicationNode.getNumber());
             publicationNode.setStringValue("urlfragment", urlFragment);
-            publicationNode.setStringValue("publishdate","null");
+            publicationNode.setStringValue("publishdate", "null");
             publicationNode.setStringValue("status", 
Publication.STATUS.INITIAL.toString());
             publicationNode.commit();
             
           //  copyContent(newsletterNode, publicationNode);
-            copyOtherRelations(newsletterNode, publicationNode,copyContent);
+            copyOtherRelations(newsletterNode, publicationNode, copyContent);
             NavigationUtil.appendChild(newsletterNode, publicationNode);
             Node layoutNode = PagesUtil.getLayout(publicationNode);
             if (copyContent == true) {
@@ -72,7 +74,7 @@
 
    public static void createDefaultTerm(Node newsletterNode) {
 
-      if(!hasDefaultTerm(newsletterNode)) {
+      if (!hasDefaultTerm(newsletterNode)) {
          Node defaultTerm = 
newsletterNode.getCloud().getNodeManager("term").createNode();
          defaultTerm.setStringValue("name", "default");
          defaultTerm.setStringValue("subject", 
newsletterNode.getStringValue("title"));
@@ -85,9 +87,9 @@
       NodeManager termNodeManager = 
newsletterNode.getCloud().getNodeManager("term");
       NodeList terms = newsletterNode.getRelatedNodes(termNodeManager);
       boolean hasDefaultTerm = false;
-      for(int i = 0 ; i < terms.size() ; i++) {
+      for (int i = 0; i < terms.size(); i++) {
         Node term = terms.getNode(i);
-        if(term.getStringValue("name") != null && 
term.getStringValue("name").equals("default")) {
+         if (term.getStringValue("name") != null && 
term.getStringValue("name").equals("default")) {
            hasDefaultTerm = true;
            break;
         }
@@ -116,4 +118,34 @@
       return (themes);
    }
 
+   public static Publication getPublication(Cloud cloud,int number) {
+      Node newsletterPublicationNode = cloud.getNode(number);
+
+      List<Node> relatedNewsletters = 
newsletterPublicationNode.getRelatedNodes("newsletter");
+      Publication pub = new Publication();
+      pub.setId(newsletterPublicationNode.getNumber());
+      
pub.setStatus(Publication.STATUS.valueOf(newsletterPublicationNode.getStringValue("status")));
+      pub.setUrl(getPublicationURL(cloud,number));
+      Newsletter newsletter = new Newsletter();
+
+      Node node = relatedNewsletters.get(0);
+      new POConvertUtils<Newsletter>().convert(newsletter, node);
+      newsletter.setTxtempty(node.getStringValue("txtempty"));
+      newsletter.setReplyAddress(node.getStringValue("replyto_mail"));
+      pub.setNewsletter(newsletter);
+
+      return pub;
+   }
+   public static String getPublicationURL(Cloud cloud,int publciationId) {
+      Node publicationNode = cloud.getNode(publciationId);
+      String hostUrl = NewsletterUtil.getServerURL();
+      String newsletterPath = getNewsletterPath(publicationNode);
+      return "".concat(hostUrl).concat(newsletterPath);
+   }
+   public static String getNewsletterPath(Node newsletterPublicationNode) {
+      return NavigationUtil.getPathToRootString(newsletterPublicationNode, 
true);
+   }
+   public static STATUS getStatus(Cloud cloud,int publicationId) {
+      return getPublication(cloud,publicationId).getStatus();
+   }
 }
\ No newline at end of file
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to