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