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

Modified Files:
        SubscriptioManagementAction.java 
        SubscriptionImportExportAction.java 
Log Message:
CMSC-813 add newsletter icon,improve some code.


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


Index: SubscriptioManagementAction.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/SubscriptioManagementAction.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- SubscriptioManagementAction.java    15 May 2008 06:33:48 -0000      1.4
+++ SubscriptioManagementAction.java    20 May 2008 13:56:39 -0000      1.5
@@ -177,7 +177,7 @@
 
    public ActionForward unsubscribe(ActionMapping mapping, ActionForm form,
                                         HttpServletRequest request, 
HttpServletResponse response) {
-      String[] newsletterIds = request.getParameterValues("newsletterIds");
+      String[] newsletterIds = request.getParameterValues("ids");
       for(String id :newsletterIds){
          subscriptionServices.unSubscribeAllInNewsletter(Integer.decode(id));
       }


Index: SubscriptionImportExportAction.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/SubscriptionImportExportAction.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- SubscriptionImportExportAction.java 20 May 2008 08:48:43 -0000      1.3
+++ SubscriptionImportExportAction.java 20 May 2008 13:56:39 -0000      1.4
@@ -3,13 +3,13 @@
 import com.finalist.cmsc.services.community.person.Person;
 import com.finalist.newsletter.domain.Subscription;
 import com.finalist.newsletter.domain.Term;
-import com.finalist.newsletter.domain.Newsletter;
 import com.finalist.newsletter.services.NewsletterSubscriptionServices;
 import com.finalist.newsletter.services.NewsletterService;
 import com.thoughtworks.xstream.XStream;
 import com.thoughtworks.xstream.io.xml.DomDriver;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.commons.lang.StringUtils;
 import org.apache.struts.action.*;
 import org.apache.struts.upload.FormFile;
 import org.springframework.web.struts.DispatchActionSupport;
@@ -20,6 +20,7 @@
 import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Collections;
 
 public class SubscriptionImportExportAction extends DispatchActionSupport {
    private static Log log = 
LogFactory.getLog(SubscriptionImportExportAction.class);
@@ -40,25 +41,13 @@
       log.debug("Export Susbscriptions");
 
       List<Subscription> subscriptions = new ArrayList<Subscription>();
+
       String type = request.getParameter("type");
-      if ("subscription".equals(type)) {
-         String[] subscriptionIds = 
request.getParameterValues("subscriptionId");
-         for (String subscriptionId : subscriptionIds) {
-            
subscriptions.add(subscriptionServices.getSubscription(subscriptionId));
-         }
-      }
-      else if ("newsletter".equals(type)) {
-         String[] newsletterIds = request.getParameterValues("newsletterIds");
-         for (String newsletterid : newsletterIds) {
-            List<Subscription> s = 
subscriptionServices.getSubscriptionsByNewsletterId(newsletterid);
-            subscriptions.addAll(s);
-         }
-      }
-      else if ("person".equals(type)) {
-         String[] newsletterIds = request.getParameterValues("userId");
-         for (String newsletterid : newsletterIds) {
-            List<Subscription> s = 
subscriptionServices.getSubscriptionBySubscriber(newsletterid);
-            subscriptions.addAll(s);
+
+      if (StringUtils.isNotBlank(type)) {
+         String[] ids = request.getParameterValues("ids");
+         for (String id : ids) {
+            subscriptions.addAll(getSubscriptions(type, id));
          }
       }
       else {
@@ -100,24 +89,35 @@
 
       ActionMessages messages = new ActionMessages();
       
-      if(!isXML&&!(isPlain&isCSV)){
+      if (!isXML && !(isPlain & isCSV)) {
          messages.add("file", new ActionMessage("datafile.unsupport"));
-      }else{
+         saveMessages(request, messages);
+         return mapping.findForward("failed");
+      }
+
          try {
             importFromFile(fileData);
          } catch (Exception e) {
             log.error(e);
             messages.add("file", new ActionMessage("datafile.invalid"));
-         }
+         saveMessages(request, messages);
+         return mapping.findForward("failed");
       }
 
-      if(messages.size() <1){
          return mapping.findForward("success");
-      }else{
-         saveMessages(request,messages);
-         return mapping.findForward("failed");
       }
 
+   private List<Subscription> getSubscriptions(String type, String id) {
+      if ("person".equals(type)) {
+         return subscriptionServices.getSubscriptionBySubscriber(id);
+      }
+      if ("newsletter".equals(type)) {
+         return subscriptionServices.getSubscriptionsByNewsletterId(id);
+      }
+      if ("subscription".equals(type)) {
+         return 
Collections.singletonList(subscriptionServices.getSubscription(id));
+      }
+      return Collections.emptyList();
    }
 
 
@@ -145,18 +145,6 @@
       }
    }
 
-
-   private String convertToXML(List<Subscription> subscriptions) {
-      String xml;
-      XStream xstream = new XStream(new DomDriver());
-      xstream.alias("person", Person.class);
-      xstream.alias("subscription", Subscription.class);
-      xstream.alias("term", Term.class);
-
-      xml = xstream.toXML(subscriptions);
-      return xml;
-   }
-
    private XStream getXStream() {
       XStream xstream = new XStream(new DomDriver());
       xstream.alias("person", Person.class);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to