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

Modified Files:
        SubscriptioManagementAction.java 
        SubscriptionImportExportAction.java 
        SubscriptionImportUploadForm.java 
Log Message:



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


Index: SubscriptioManagementAction.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/SubscriptioManagementAction.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- SubscriptioManagementAction.java    20 May 2008 13:56:39 -0000      1.5
+++ SubscriptioManagementAction.java    10 Jun 2008 03:46:40 -0000      1.6
@@ -5,6 +5,9 @@
 import com.finalist.newsletter.domain.Newsletter;
 import com.finalist.newsletter.domain.Subscription;
 import com.finalist.newsletter.services.*;
+
+import net.sf.mmapps.commons.util.StringUtil;
+
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -119,6 +122,12 @@
          result.put("id", subscription.getId());
          result.put("status",subscription.getStatus().toString());
          
result.put("newsletter",newsletterService.getNewsletterBySubscription(subscription.getId()).getTitle());
+         Person tmpPerson 
=personServices.getPersonByEmail(subscription.getSubscriber().getEmail());
+         if(tmpPerson.getFirstName() != null)
+                result.put("username", tmpPerson.getFirstName());
+         if(tmpPerson.getLastName() != null)
+                result.put("fullname", tmpPerson.getFirstName() + " " + 
tmpPerson.getLastName());
+         result.put("email", subscription.getSubscriber().getEmail());
          results.add(result);
       }
       return results;
@@ -171,6 +180,12 @@
    public ActionForward showImportPage(ActionMapping mapping, ActionForm form,
                                        HttpServletRequest request, 
HttpServletResponse response) {
       log.debug("Show import page");
+      String importType = (String)request.getParameter("importType");
+      int newsletterId = 
Integer.parseInt((String)request.getParameter("newsletterId"));
+      if(!StringUtil.isEmpty(importType)){
+         request.setAttribute("importType",importType);
+         request.setAttribute("newsleterId", newsletterId);
+      }
       return mapping.findForward("importpage");
 
    }


Index: SubscriptionImportExportAction.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/SubscriptionImportExportAction.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- SubscriptionImportExportAction.java 20 May 2008 13:56:39 -0000      1.4
+++ SubscriptionImportExportAction.java 10 Jun 2008 03:46:40 -0000      1.5
@@ -1,10 +1,15 @@
 package com.finalist.newsletter.forms;
 
 import com.finalist.cmsc.services.community.person.Person;
+import com.finalist.cmsc.services.community.person.PersonService;
+import com.finalist.cmsc.services.community.security.AuthenticationService;
+import com.finalist.newsletter.ApplicationContextFactory;
 import com.finalist.newsletter.domain.Subscription;
 import com.finalist.newsletter.domain.Term;
 import com.finalist.newsletter.services.NewsletterSubscriptionServices;
 import com.finalist.newsletter.services.NewsletterService;
+import com.finalist.cmsc.services.community.security.Authentication;
+import com.finalist.cmsc.services.community.security.AuthenticationService;
 import com.thoughtworks.xstream.XStream;
 import com.thoughtworks.xstream.io.xml.DomDriver;
 import org.apache.commons.logging.Log;
@@ -12,15 +17,22 @@
 import org.apache.commons.lang.StringUtils;
 import org.apache.struts.action.*;
 import org.apache.struts.upload.FormFile;
+import org.springframework.web.context.WebApplicationContext;
 import org.springframework.web.struts.DispatchActionSupport;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Collections;
+import java.util.StringTokenizer;
 
 public class SubscriptionImportExportAction extends DispatchActionSupport {
    private static Log log = 
LogFactory.getLog(SubscriptionImportExportAction.class);
@@ -107,6 +119,46 @@
          return mapping.findForward("success");
    }
 
+   public ActionForward importUserSubScription(ActionMapping mapping, 
ActionForm form,
+                                           HttpServletRequest request, 
HttpServletResponse response) throws FileNotFoundException, IOException{
+   SubscriptionImportUploadForm myForm = (SubscriptionImportUploadForm) form;
+      FormFile myFile = myForm.getDatafile();
+      boolean isCSV = myFile.getFileName().toLowerCase().endsWith(".csv");
+      int tmpNewsletterId = 
Integer.parseInt((String)request.getParameter("newsletterId"));
+      if(isCSV){
+         byte[] fileData = myFile.getFileData();
+         String fileString = new String(fileData);
+         BufferedReader br = new BufferedReader(new StringReader(fileString));
+         String tmpLinsStr = br.readLine();
+         PersonService pService = (PersonService) 
ApplicationContextFactory.getBean("personService");
+         NewsletterSubscriptionServices subServices 
=(NewsletterSubscriptionServices) 
ApplicationContextFactory.getBean("subscriptionServices");
+         
+         while (tmpLinsStr != null ) {
+            String tmpUserInfo = tmpLinsStr.replaceAll("\"", "");
+            String tmpUserName = tmpUserInfo.substring(0, 
tmpUserInfo.indexOf(","));
+            String tmpUserEmail = 
tmpUserInfo.substring(tmpUserInfo.indexOf(",")+1, tmpUserInfo.length());        
                
+            Person tmpPerson = pService.getPersonByEmail(tmpUserEmail);
+            if(tmpPerson == null){
+               AuthenticationService as = getAuthenticationService();
+               Authentication authentication = 
as.createAuthentication(tmpUserEmail, "cmsc1234");
+               Person tp = pService.createPerson(tmpUserName, "", 
"",authentication.getId());
+               tp.setEmail(tmpUserEmail);
+               pService.updatePerson(tp);
+               tmpPerson = pService.getPersonByEmail(tmpUserEmail);
+            }
+            int userId = tmpPerson.getId().intValue();
+            Subscription subRet = subServices.getSubscription(userId, 
tmpNewsletterId);
+            if(subRet == null)
+               subServices.createSubscription(userId, tmpNewsletterId);
+            tmpLinsStr = br.readLine();
+         }
+         return mapping.findForward("success");
+      }
+      else{
+         return mapping.findForward("failed");
+      }
+   }
+   
    private List<Subscription> getSubscriptions(String type, String id) {
       if ("person".equals(type)) {
          return subscriptionServices.getSubscriptionBySubscriber(id);
@@ -152,4 +204,9 @@
       xstream.alias("term", Term.class);
       return xstream;
    }
+   
+   protected AuthenticationService getAuthenticationService() {
+      WebApplicationContext ctx = getWebApplicationContext();
+      return (AuthenticationService) ctx.getBean("authenticationService");
+   }
 }


Index: SubscriptionImportUploadForm.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/SubscriptionImportUploadForm.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to