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

Modified Files:
      Tag: b1_5
        NewsletterUtil.java 
Log Message:
CMSC-1153 - Another Newsletter stacktrace


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


Index: NewsletterUtil.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/util/NewsletterUtil.java,v
retrieving revision 1.40.2.2
retrieving revision 1.40.2.3
diff -u -b -r1.40.2.2 -r1.40.2.3
--- NewsletterUtil.java 9 Jan 2009 03:04:50 -0000       1.40.2.2
+++ NewsletterUtil.java 24 Feb 2009 12:17:53 -0000      1.40.2.3
@@ -57,6 +57,7 @@
    public static final String NUMBER = "number";
    public static final String ARTICLE = "article";
    public static final String NEWSLETTER = "newsletter";
+   public static final String M_VALUE = "value";
    public static final String NEWSLETTERPUBLICATION = "newsletterpublication";
    public static final String RELATED = "related";
 
@@ -96,6 +97,25 @@
       Node newsletterNode = cloud.getNode(number);
       deleteSubscriptionByNewsletter(newsletterNode);
       deleteNewsletterLogForNewsletter(number);
+      deleteSubscriptionForNewsletter(number);
+   }
+   
+   public static void deleteSubscriptionForNewsletter(int newsletterNumber) {
+      Cloud cloud = CloudProviderFactory.getCloudProvider().getAdminCloud();
+      NodeManager nodeparameterManager = cloud.getNodeManager("nodeparameter");
+      NodeQuery query = cloud.createNodeQuery();
+      Step step = query.addStep(nodeparameterManager);
+      query.setNodeStep(step);
+      SearchUtil.addEqualConstraint(query, 
nodeparameterManager.getField(M_VALUE), newsletterNumber);
+  
+      NodeList nodeparameters = query.getList();
+      if (nodeparameters != null) {
+         for (int i = 0; i < nodeparameters.size(); i++) {
+            Node logNode = nodeparameters.getNode(i);
+            logNode.deleteRelations();
+            logNode.delete();
+         }
+      }
    }
 
    public static void deleteNewsletterLogForNewsletter(int newsletterNumber) {
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to