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
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs