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

Modified Files:
        NewsletterPublicationUtil.java 
Log Message:
CMSC-711,Customized search option for edit-wizard,add defaultTerm


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-711


Index: NewsletterPublicationUtil.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util/NewsletterPublicationUtil.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- NewsletterPublicationUtil.java      16 Apr 2008 09:18:12 -0000      1.18
+++ NewsletterPublicationUtil.java      29 Apr 2008 03:52:49 -0000      1.19
@@ -9,6 +9,7 @@
 import org.mmbase.bridge.Cloud;
 import org.mmbase.bridge.Node;
 import org.mmbase.bridge.NodeList;
+import org.mmbase.bridge.NodeManager;
 import org.mmbase.bridge.Relation;
 import org.mmbase.bridge.RelationList;
 
@@ -58,6 +59,7 @@
       if (newsletterNumber > 0) {
          Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
          Node newsletterNode = cloud.getNode(newsletterNumber);
+         createDefaultTerm(newsletterNode);
          Node publicationNode = CloneUtil.cloneNode(newsletterNode, 
"newsletterpublication");
 
          if (publicationNode != null) {
@@ -80,6 +82,31 @@
       return (null);
    }
 
+   private static void createDefaultTerm(Node newsletterNode) {
+
+      if(!hasDefaultTerm(newsletterNode)) {
+         Node defaultTerm = 
newsletterNode.getCloud().getNodeManager("term").createNode();
+         defaultTerm.setStringValue("name", "default");
+         defaultTerm.setStringValue("subject", 
newsletterNode.getStringValue("title"));
+         defaultTerm.commit();
+         newsletterNode.createRelation(defaultTerm, 
newsletterNode.getCloud().getRelationManager("related")).commit();
+      }
+   }
+   
+   private static boolean hasDefaultTerm(Node newsletterNode) {
+      NodeManager termNodeManager = 
newsletterNode.getCloud().getNodeManager("term");
+      NodeList terms = newsletterNode.getRelatedNodes(termNodeManager);
+      boolean hasDefaultTerm = false;
+      for(int i = 0 ; i < terms.size() ; i++) {
+        Node term = terms.getNode(i);
+        if(term.getStringValue("name") != null && 
term.getStringValue("name").equals("default")) {
+           hasDefaultTerm = true;
+           break;
+        }
+      }
+      return hasDefaultTerm;
+   }
+   
    // Delete a publication, only if not yet published
    public static void deletePublication(int publicationNumber) {
       Cloud cloud = CloudProviderFactory.getCloudProvider().getCloud();
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to