Update of
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/module
In directory
james.mmbase.org:/tmp/cvs-serv23292/portlets-newsletter/src/java/com/finalist/newsletter/module
Modified Files:
SubscriptionAction.java
Added Files:
ReportNewsletterList.java ReportSubscriberList.java
ReportSubscriberSubscriptions.java ReportOverview.java
ReportNewsletterSubscriptions.java
Removed Files:
SubscriberAction.java InitAction.java NewsletterAction.java
Log Message:
CMSC-632 Major refactoring of module section and some minor fixes
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/module
See also: http://www.mmbase.org/jira/browse/CMSC-632
ReportNewsletterList.java is new
ReportSubscriberList.java is new
ReportSubscriberSubscriptions.java is new
ReportOverview.java is new
ReportNewsletterSubscriptions.java is new
Index: SubscriptionAction.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/module/SubscriptionAction.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- SubscriptionAction.java 8 Jan 2008 10:45:00 -0000 1.9
+++ SubscriptionAction.java 17 Jan 2008 21:47:15 -0000 1.10
@@ -1,8 +1,5 @@
package com.finalist.newsletter.module;
-import java.util.ArrayList;
-import java.util.List;
-
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -13,58 +10,65 @@
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
-import com.finalist.newsletter.module.bean.SubscriptionDetailBean;
-import com.finalist.newsletter.module.bean.SubscriptionOverviewBean;
-import com.finalist.newsletter.util.BeanUtil;
import com.finalist.newsletter.util.NewsletterSubscriptionUtil;
public class SubscriptionAction extends Action {
- private List<SubscriptionOverviewBean> createOverview() {
- List<SubscriptionOverviewBean> beanList = new
ArrayList<SubscriptionOverviewBean>();
- List<String> subscribers =
NewsletterSubscriptionUtil.getAllUsersWithSubscription();
- if (subscribers != null && subscribers.size() > 0) {
- for (int n = 0; n < subscribers.size(); n++) {
- String userName = subscribers.get(n);
- SubscriptionOverviewBean bean =
BeanUtil.createSubscriptionOverviewBean(userName);
- beanList.add(bean);
- }
- }
- return beanList;
- }
-
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
String action = request.getParameter("action");
+ String userName = request.getParameter("username");
+ String[] checked = request.getParameterValues("checked");
+
ActionForward actionForward = mapping.findForward("error");
ActionMessages errors = new ActionMessages();
+ ActionMessages messages = new ActionMessages();
if (action != null) {
- if (action.equals("overview")) {
- List<SubscriptionOverviewBean> beanList = createOverview();
- if (beanList != null) {
- request.setAttribute("subscriptionOverviewBeans", beanList);
- actionForward = mapping.findForward("overview");
- } else {
- errors.add("error", new ActionMessage("error.no_items"));
- actionForward = mapping.findForward("error");
+ if (action.equals("unsubscribe")) {
+ if (userName != null) {
+
NewsletterSubscriptionUtil.unsubscribeFromAllNewsletters(userName);
+ return (mapping.findForward("success"));
+ } else if (checked != null && checked.length > 0) {
+ for (int i = 0; i < checked.length; i++) {
+ int newsletterNumber = Integer.parseInt(checked[i]);
+
NewsletterSubscriptionUtil.unsubscribeAllFromNewsletter(newsletterNumber);
+ return (mapping.findForward("success"));
}
- } else if (action.equals("detail")) {
- String userName = request.getParameter("username");
+ }
+ } else if (action.equals("terminate")) {
if (userName != null) {
- SubscriptionDetailBean bean =
BeanUtil.createSubscriptionDetailBean(userName);
- if (bean != null) {
- request.setAttribute("subscriptionDetailBean", bean);
- actionForward = mapping.findForward("detail");
- } else {
- errors.add("error", new ActionMessage("error.no_items"));
- actionForward = mapping.findForward("error");
+ actionForward = mapping.findForward("return");
+ String path = actionForward.getPath() + "&username=" + userName;
+ actionForward.setPath(path);
+ }
+ } else if (action.equals("pause")) {
+ if (userName != null) {
+ NewsletterSubscriptionUtil.pauseSubscription(userName);
+ actionForward = mapping.findForward("return");
+ String path = actionForward.getPath() + "&username=" + userName;
+ actionForward.setPath(path);
+ }
+ } else if (action.equals("resume")) {
+ if (userName != null) {
+ NewsletterSubscriptionUtil.resumeSubscription(userName);
+ actionForward = mapping.findForward("return");
+ String path = actionForward.getPath() + "&username=" + userName;
+ actionForward.setPath(path);
+
}
+ } else if (action.equals("update")) {
+ if (userName != null) {
+ actionForward = mapping.findForward("return");
+ String path = actionForward.getPath() + "&username=" + userName;
+ actionForward.setPath(path);
}
+ } else {
+ errors.add("unknown_action", new
ActionMessage("error.unknown_action"));
}
}
saveErrors(request, errors);
+ this.saveMessages(request, messages);
return (actionForward);
}
-
}
\ No newline at end of file
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs