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