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