1 package nl.hippo.cms.workflows.shared; 2 3 import java.util.Calendar ; 4 import java.util.Date ; 5 import java.util.Map ; 6 7 public class DateUtil 8 { 9 10 private DateUtil() 11 { 12 super(); 13 } 14 15 private static void clearTime(Calendar date) 16 { 17 date.set(Calendar.HOUR_OF_DAY, 0); 18 date.set(Calendar.MINUTE, 0); 19 date.set(Calendar.SECOND, 0); 20 date.set(Calendar.MILLISECOND, 0); 21 } 22 23 public static Date createToday() 24 { 25 Calendar today = Calendar.getInstance(); 26 clearTime(today); 27 return today.getTime(); 28 } 29 30 public static Date create(Date date) 31 { 32 Calendar result = Calendar.getInstance(); 33 result.setTime(date); 34 clearTime(result); 35 return result.getTime(); 36 } 37 38 public static boolean isBeforeOrEqualToToday(Date date) 39 { 40 Date today = createToday(); 41 return !date.after(today); 42 } 43 44 52 public static boolean isAfterOrEquals(Date first, Date second) { 53 return !isBefore(first, second); 54 } 55 56 64 public static boolean isBefore(Date first, Date second) { 65 return second == null || first.before(second); 66 } 67 68 public static boolean isBefore(Date unpublicationDate, String publicationDateMode, Date publicationDate) 69 { 70 Date unpublicationDateWithoutTime = create(unpublicationDate); 71 Date publicationDateWithoutTime = createToday(); 72 if (!publicationDateMode.equals("now")) { 73 publicationDateWithoutTime = create(publicationDate); 74 } 75 return unpublicationDateWithoutTime.before(publicationDateWithoutTime); 76 } 77 78 public static boolean isBeforeWithTime(Date unpublicationDate, String publicationDateMode, Date publicationDate) 79 { 80 Date effectivePublicationDate = new Date (); 81 if (!publicationDateMode.equals("now")) { 82 effectivePublicationDate = publicationDate; 83 } 84 return unpublicationDate.before(effectivePublicationDate); 85 } 86 87 public static Date getPublicationDate(Map transientVars) 88 { 89 return getPublicationDate(transientVars, ""); 90 } 91 92 public static Date getPublicationDate(Map transientVars, String prefix) 93 { 94 Date result; 95 96 String publicationDateMode = (String ) transientVars.get(prefix + "publicationDateMode"); 97 if (publicationDateMode.equals("now")) 98 { 99 result = DateUtil.createToday(); 100 } 101 else 102 { 103 result = WorkflowExtensionUtil.getDateAndTime(transientVars.get(prefix + "publicationDate")); 104 } 105 106 return result; 107 } 108 109 public static Date getUnpublicationDate(Map transientVars) 110 { 111 return getUnpublicationDate(transientVars, ""); 112 } 113 114 public static Date getUnpublicationDate(Map transientVars, String prefix) 115 { 116 Date result; 117 118 String unpublicationDateMode = (String ) transientVars.get(prefix + "unpublicationDateMode"); 119 if (unpublicationDateMode.equals("never")) 120 { 121 result = null; 122 } 123 else 124 { 125 result = WorkflowExtensionUtil.getDateAndTime(transientVars.get(prefix + "unpublicationDate")); 126 } 127 128 return result; 129 } 130 131 } 132 | Popular Tags |