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

Modified Files:
        NewsletterAutoCreateCronJob.java 
Log Message:
CMSC-811


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter
See also: http://www.mmbase.org/jira/browse/CMSC-811


Index: NewsletterAutoCreateCronJob.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/NewsletterAutoCreateCronJob.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- NewsletterAutoCreateCronJob.java    15 Apr 2008 08:41:39 -0000      1.1
+++ NewsletterAutoCreateCronJob.java    15 Apr 2008 11:20:17 -0000      1.2
@@ -48,8 +48,9 @@
                String expression = (String)schedule;
                String[] expressions = expression.split("\\|");
                DateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm");
+               //only once  pattern :
                if(expressions[0].equals("1")) { 
-                  log.info("---------->AutoCreateCronJob 
type1----------------");
+                  log.debug("---------->AutoCreateCronJob 
type1----------------");
                   String datetime = expressions[1]+" 
"+expressions[2]+":"+expressions[3];
                   Date now = new Date();
                   try {
@@ -64,7 +65,7 @@
                   }
                }
                else if (expressions[0].equals("2")) {
-                  log.info("---------->AutoCreateCronJob 
type2----------------");
+                  log.debug("---------->AutoCreateCronJob 
type2----------------");
                   String datetime = expressions[1]+" 
"+expressions[2]+":"+expressions[3];
                   Date now = new Date();
                   Calendar calender = Calendar.getInstance();
@@ -114,7 +115,7 @@
                   }
                }
                else if(expressions[0].equals("3")) {
-                  log.info("---------->AutoCreateCronJob 
type3----------------");
+                  log.debug("---------->AutoCreateCronJob 
type3----------------");
                   Calendar createTime = Calendar.getInstance();
                   createTime.set(Calendar.HOUR_OF_DAY, 
Integer.parseInt(expressions[1]));
                   createTime.set(Calendar.MINUTE, 
Integer.parseInt(expressions[2]));
@@ -142,10 +143,12 @@
                                     break; 
                                  }
                               }
-                           } catch (NumberFormatException e) {
-                              e.printStackTrace();
-                           } catch (ParseException e) {
-                              e.printStackTrace();
+                           }
+                           catch (NumberFormatException e) {
+                              log.debug("-->NumberFormatException 
"+e.getMessage());
+                           } 
+                           catch (ParseException e) {
+                              log.debug("--> parse date Exception 
"+e.getMessage());
                            }
                         }
                      }
@@ -155,7 +158,7 @@
                   }
                }
                else if(expressions[0].equals("4")) {
-                  log.info("---------->AutoCreateCronJob 
type4----------------");
+                  log.debug("---------->AutoCreateCronJob 
type4----------------");
                   Calendar createTime = Calendar.getInstance();
                   createTime.set(Calendar.HOUR_OF_DAY, 
Integer.parseInt(expressions[1]));
                   createTime.set(Calendar.MINUTE, 
Integer.parseInt(expressions[2]));
@@ -169,11 +172,25 @@
                         if((Integer.parseInt(month) == 
calender.get(Calendar.MONTH)) ||(month.equals("a") && 
calender.get(Calendar.MONTH) == 10) || (month.equals("b") && 
calender.get(Calendar.MONTH) == 11)) {
                            if(calender.get(Calendar.DAY_OF_MONTH) == 
Integer.parseInt(day)) {
                               if(calender.after(createTime)) {
+                                 try {
+                                    Date minDate = df.parse("01-01-1970 
00:00");
+                                    if(lastCreateDateTime == null || 
DateUtils.isSameDay(minDate, lastCreateDateTime)){
+                                       flag = true;
+                                       break;
+                                    }
+                                    else {
+                                       if(!DateUtils.isSameDay(new 
Date(),lastCreateDateTime )) {
                                  flag = true;
                                  break;
                               }
                            }
                         }
+                                 catch (ParseException e) {
+                                    log.debug("--> ParseException 
"+e.getMessage());
+                                 }
+                              }
+                           }
+                        }
                      }
                   }
                   else if(expressions[3].equals("1")) {
@@ -187,9 +204,23 @@
                            if(calender.get(Calendar.WEEK_OF_MONTH) == 
Integer.parseInt(whichWeek)) {
                               if(calender.get(Calendar.DAY_OF_WEEK)!= 1 && 
calender.get(Calendar.DAY_OF_WEEK)== (Integer.parseInt(week)+1)) {
                                  if(calender.after(createTime)) {
+                                    try {
+                                       Date minDate = df.parse("01-01-1970 
00:00");
+                                       if(lastCreateDateTime == null || 
DateUtils.isSameDay(minDate, lastCreateDateTime)){
                                     flag = true;
                                     break;
                                  }
+                                       else {
+                                          if(!DateUtils.isSameDay(new 
Date(),lastCreateDateTime )) {
+                                             flag = true;
+                                             break; 
+                                          }
+                                       }
+                                    } 
+                                    catch (ParseException e) {
+                                       log.debug("--> ParseException 
"+e.getMessage());
+                                    }
+                                 }
                               }
                            }
                         }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to