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

Modified Files:
        NewsLetterLogSearchForm.java NewsLetterShowForm.java 
        NewsletterStatisticAction.java 
Log Message:
CMSC-725 test and basic implement.


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-725


Index: NewsLetterLogSearchForm.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsLetterLogSearchForm.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- NewsLetterLogSearchForm.java        10 Apr 2008 10:07:47 -0000      1.1
+++ NewsLetterLogSearchForm.java        21 Apr 2008 09:51:03 -0000      1.2
@@ -1,5 +1,6 @@
 package com.finalist.newsletter.forms;
 
+import java.text.DateFormat;
 import java.text.ParseException;
 import java.util.Date;
 import java.util.regex.Matcher;
@@ -16,104 +17,74 @@
 
 import com.finalist.newsletter.util.DateUtil;
 
-
-public class NewsLetterLogSearchForm extends 
org.apache.struts.action.ActionForm {
-
+public class NewsLetterLogSearchForm extends
+               org.apache.struts.action.ActionForm {
 
    private String newsletters;
-   /*private String startDate_year;
-    private String startDate_month;
-    private String startDate_day;
-    private String endDate_year;
-    private String endDate_month;
-    private String endDate_day;*/
+
    private String startDate;
+
    private String endDate;
-   private boolean flag = false;
 
-   /*public void joinDateStart(){
+       private String detailOrSum;
 
-       startDate=startDate_year+"-"+startDate_month+"-"+startDate_day;
-    }
-    public void joinDateEnd(){
+       public String getDetailOrSum (){
 
-       endDate= endDate_year+"-"+endDate_month+"-"+endDate_day;
-    }*/
-   public boolean isFlag() {
-      return flag;
+               return detailOrSum;
    }
 
-   public void setFlag(boolean flag) {
-      this.flag = flag;
+       public void setDetailOrSum (String detailorsum){
+
+               this.detailOrSum = detailorsum;
    }
 
+       public String getNewsletters (){
 
-   public String getNewsletters() {
       return newsletters;
    }
 
-   public void setNewsletters(String newsletters) {
+       public void setNewsletters (String newsletters){
+
       this.newsletters = newsletters;
    }
 
-//     @Override
-//     public ActionErrors validate(ActionMapping mapping,
-//                     HttpServletRequest request) {
-//             ActionErrors errors = new ActionErrors();
-//             MessageResourcesFactory factory = 
org.apache.struts.util.MessageResourcesFactory.createFactory();
-//             MessageResources res = 
factory.createResources("cmsc-newsletter");
-//             
-//             
-//             if(startDate!=null&&endDate!=null){
-//                     try {
-//                             Date dateStart = DateUtil.parser(startDate);
-//                             Date dateEnd = DateUtil.parser(endDate);
-//                             if(dateStart.after(dateEnd)){
-//                                     errors.add("error1", new 
ActionMessage("error1"));
-//                                     
-//
-//                                     
-//                                     System.out.println("res=="+res);
-//                                     String value = res.getMessage("error1");
-//                                     
System.out.println("iiiiiiiiiiiiiiiiiiiiiiiiiiiii-->"+value);
-//                                     
System.out.println("iiiiiiiiiiiiiiiiiiiiiiiiiiiii-->"+new 
ActionMessage(res.getMessage("error1")));
-//                                     
System.out.println("iiiiiiiiiiiiiiiiiiiiiiiiiiiii"+new ActionMessage("error1"));
-//                             }
-//                     } catch (ParseException e) {
-//                             // TODO Auto-generated catch block
-//                             e.printStackTrace();
-//                     }
-//             
-//             }
-//             else if(startDate==null&&endDate==null&&newsletters==null){
-//                     errors.add("error2", new ActionMessage("error2"));
-//             }
-//             
-//             
System.out.println("iiiiiiiiiiiiiiiiiiiiiiiiiiiii==="+errors.size());
-//             
System.out.println("iiiiiiiiiiiiiiiiiiiiiiiiiiiii==="+errors.get("error1").toString());
-//             ActionErrors e = new ActionErrors();
-//      e.add("myProperty",new ActionMessage("edit_defaults.title"));
-//
-//          
-//             return e;
-//     }
+       @Override
+       public ActionErrors validate (ActionMapping mapping,
+                       HttpServletRequest request){
+
+               ActionErrors errors = new ActionErrors();
+
+               if (startDate == "" && endDate != "") {
+                       this.startDate = "2007-12-30";
+
+               }
+               else if (startDate != "" && endDate == "") {
+                       Long time = System.currentTimeMillis();
+                       Date date = new Date(time);
+                       this.endDate = 
DateFormat.getDateInstance().format(date);
+
+               }
+               return errors;
+       }
 
+       public String getStartDate (){
 
-   public String getStartDate() {
       return startDate;
    }
 
-   public void setStartDate(String startDate) {
+       public void setStartDate (String startDate){
+
       this.startDate = startDate;
    }
 
-   public String getEndDate() {
+       public String getEndDate (){
+
       return endDate;
    }
 
-   public void setEndDate(String endDate) {
+       public void setEndDate (String endDate){
+
       this.endDate = endDate;
    }
 
-
 }


Index: NewsLetterShowForm.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsLetterShowForm.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- NewsLetterShowForm.java     10 Apr 2008 10:07:47 -0000      1.1
+++ NewsLetterShowForm.java     21 Apr 2008 09:51:03 -0000      1.2
@@ -6,14 +6,14 @@
 
    private String newsletters;
 
+       public String getNewsletters (){
 
-   public String getNewsletters() {
       return newsletters;
    }
 
-   public void setNewsletters(String newsletters) {
+       public void setNewsletters (String newsletters){
+
       this.newsletters = newsletters;
    }
 
-
 }


Index: NewsletterStatisticAction.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsletterStatisticAction.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- NewsletterStatisticAction.java      10 Apr 2008 10:07:47 -0000      1.1
+++ NewsletterStatisticAction.java      21 Apr 2008 09:51:03 -0000      1.2
@@ -1,62 +1,114 @@
 package com.finalist.newsletter.forms;
 
+import com.finalist.newsletter.domain.Newsletter;
+import com.finalist.newsletter.domain.StatisticResult;
+import com.finalist.newsletter.services.*;
+import com.finalist.newsletter.util.DateUtil;
 import java.util.List;
-
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-
-import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionForward;
-import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.*;
 import org.apache.struts.actions.MappingDispatchAction;
 
-import com.finalist.newsletter.domain.Newsletter;
-import com.finalist.newsletter.domain.StatisticResult;
-
-import com.finalist.newsletter.services.NewsletterService;
-import com.finalist.newsletter.services.impl.NewsletterStatisticServiceImpl;
-import com.finalist.newsletter.services.impl.NewsletterServiceImpl;
-
 public class NewsletterStatisticAction extends MappingDispatchAction {
 
-   public ActionForward show(ActionMapping mapping, ActionForm form, 
HttpServletRequest request, HttpServletResponse response) throws Exception {
+       public NewsletterStatisticAction() {
+
+       }
 
-      NewsletterService newsletterService = new NewsletterServiceImpl();
+       public ActionForward show (ActionMapping mapping, ActionForm form,
+                       HttpServletRequest request, HttpServletResponse 
response)
+                       throws Exception{
 
+               NewsletterService newsletterService = NewsletterServiceFactory
+                               .getNewsletterService();
       List<Newsletter> newsletters = newsletterService.getAllNewsletter();
-
+               addBlankNewsletter(newsletters);
       request.setAttribute("newsletters", newsletters);
-      System.out.println("unspecified");
-
-
       return mapping.findForward("result");
    }
 
-   public ActionForward search(ActionMapping mapping, ActionForm form, 
HttpServletRequest request, HttpServletResponse response) throws Exception {
-      NewsletterService newsletterService = new NewsletterServiceImpl();
-
+       public ActionForward search (ActionMapping mapping, ActionForm form,
+                       HttpServletRequest request, HttpServletResponse 
response)
+                       throws Exception{
+
+               NewsletterService newsletterService = NewsletterServiceFactory
+                               .getNewsletterService();
+               StatisticService service = 
NewsletterServiceFactory.getStatisticService();
       List<Newsletter> newsletters = newsletterService.getAllNewsletter();
-
+               addBlankNewsletter(newsletters);
       request.setAttribute("newsletters", newsletters);
-
-      System.out.println("#####################");
-
-      NewsletterStatisticServiceImpl service = new 
NewsletterStatisticServiceImpl();
-//             service.setStatisticcao(new NewsletterServiceImpl());
       NewsLetterLogSearchForm searchForm = (NewsLetterLogSearchForm) form;
+               StatisticResult result = new StatisticResult();
+               request.setAttribute("searchForm", searchForm);
 
-      StatisticResult result = service.statisticSummeryPeriod(searchForm
-            .getStartDate(), searchForm.getEndDate());
+               boolean isAll = Integer.parseInt(searchForm.getNewsletters()) 
== 0;
+               boolean isDetail = searchForm.getDetailOrSum().equals("2");
+               boolean hasDate = searchForm.getEndDate() != ""
+                               && searchForm.getStartDate() != "";
+               String startDate = searchForm.getStartDate();
+               String endDate = searchForm.getEndDate();
+               int newsletterId = 
Integer.parseInt(searchForm.getNewsletters());
+               
+               if (isAll && hasDate && isDetail) {
+                       List<StatisticResult> records = 
service.statisticAllByPeriod(
+                                       startDate, endDate);
+                       transferShowingFromDB(records, newsletterService);
+                       request.setAttribute("records", records);
+               }
+               else if (isAll && !hasDate && isDetail) {
+                       List<StatisticResult> records = service.statisticAll();
+                       transferShowingFromDB(records, newsletterService);
+                       request.setAttribute("records", records);
+               }
+               else if (!isAll && !hasDate && isDetail) {
+                       List<StatisticResult> records = service
+                                       .statisticByNewsletter(newsletterId);
+                       transferShowingFromDB(records, newsletterService);
+                       request.setAttribute("records", records);
+               }
+               else if (!isAll && hasDate && !isDetail) {
+                       result = 
service.statisticByNewsletterPeriod(newsletterId, startDate,
+                                       endDate);
       request.setAttribute("result", result);
+               }
+               else if (!isAll && !hasDate && !isDetail) {
+                       result = 
service.StatisticSummaryByNewsletter(newsletterId);
+                       request.setAttribute("result", result);
+               }
+               else if (isAll && !hasDate && !isDetail) {
+                       result = service.statisticSummery();
+                       request.setAttribute("result", result);
+               }
+               else if (isAll && hasDate && !isDetail) {
+                       result = service.statisticSummeryPeriod(startDate, 
endDate);
+                       request.setAttribute("result", result);
+               }
+               else if (!isAll && hasDate && isDetail) {
+                       List<StatisticResult> records = service
+                                       
.StatisticDetailByNewsletterPeriod(newsletterId, startDate,
+                                                       endDate);
+                       transferShowingFromDB(records, newsletterService);
+                       request.setAttribute("records", records);
+               }
+               return mapping.findForward("result");
+       }
+
+       private void addBlankNewsletter (List<Newsletter> newsletters){
 
+               Newsletter newsletter = new Newsletter();
+               newsletter.setTitle("ALL");
+               newsletter.setNumber(0);
+               newsletters.add(newsletter);
+       }
 
-      ActionErrors errors = new ActionErrors();
-      errors.add("error1", new ActionMessage("error1"));
-      saveErrors(request, errors);
-      request.setAttribute("test", "test");
+       private void transferShowingFromDB (List<StatisticResult> records,
+                       NewsletterService newsletterService){
+
+               for (StatisticResult s : records) {
+                       s.setShowingdate(DateUtil.parser(s.getLogdate()));
+                       
s.setName(newsletterService.getNewsletterName(s.getNewsletterId()));
+               }
 
-      return mapping.findForward("result");
    }
 }
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to