You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by bo...@apache.org on 2002/11/08 16:40:55 UTC
cvs commit: jakarta-ant/src/main/org/apache/tools/ant/util DateUtils.java
bodewig 2002/11/08 07:40:55
Modified: . WHATSNEW
src/main/org/apache/tools/ant/listener MailLogger.java
src/main/org/apache/tools/ant/taskdefs/email Mailer.java
src/main/org/apache/tools/ant/util DateUtils.java
Log:
Add Date header to MailLogger by reusing code from <mail> task.
PR: 14046
Revision Changes Path
1.314 +2 -0 jakarta-ant/WHATSNEW
Index: WHATSNEW
===================================================================
RCS file: /home/cvs/jakarta-ant/WHATSNEW,v
retrieving revision 1.313
retrieving revision 1.314
diff -u -r1.313 -r1.314
--- WHATSNEW 8 Nov 2002 13:10:22 -0000 1.313
+++ WHATSNEW 8 Nov 2002 15:40:54 -0000 1.314
@@ -96,6 +96,8 @@
* new task <attrib> to change file attributes on Windows systems.
+* MailLogger now sets the Date header correctly.
+
Changes from Ant 1.5.1Beta1 to 1.5.1
====================================
1.13 +2 -0 jakarta-ant/src/main/org/apache/tools/ant/listener/MailLogger.java
Index: MailLogger.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/listener/MailLogger.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- MailLogger.java 8 Aug 2002 14:35:23 -0000 1.12
+++ MailLogger.java 8 Nov 2002 15:40:54 -0000 1.13
@@ -64,6 +64,7 @@
import org.apache.tools.ant.BuildEvent;
import org.apache.tools.ant.DefaultLogger;
import org.apache.tools.ant.Project;
+import org.apache.tools.ant.util.DateUtils;
import org.apache.tools.ant.util.StringUtils;
import org.apache.tools.mail.MailMessage;
@@ -218,6 +219,7 @@
private void sendMail(String mailhost, int port, String from, String toList,
String subject, String message) throws IOException {
MailMessage mailMessage = new MailMessage(mailhost, port);
+ mailMessage.setHeader("Date", DateUtils.getDateForHeader());
mailMessage.from(from);
1.6 +2 -29 jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/Mailer.java
Index: Mailer.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/email/Mailer.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- Mailer.java 22 Jun 2002 23:38:35 -0000 1.5
+++ Mailer.java 8 Nov 2002 15:40:55 -0000 1.6
@@ -53,14 +53,10 @@
*/
package org.apache.tools.ant.taskdefs.email;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Locale;
-import java.util.TimeZone;
import java.util.Vector;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
+import org.apache.tools.ant.util.DateUtils;
/**
* Base class for the various emailing implementations.
@@ -81,9 +77,6 @@
protected Task task;
protected boolean includeFileNames = false;
- private static DateFormat df =
- new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss ", Locale.US);
-
/**
* Sets the mail server
*
@@ -209,27 +202,7 @@
* @since Ant 1.5
*/
protected final String getDate() {
- Calendar cal = Calendar.getInstance();
- TimeZone tz = cal.getTimeZone();
- int offset = tz.getOffset(cal.get(Calendar.ERA),
- cal.get(Calendar.YEAR),
- cal.get(Calendar.MONTH),
- cal.get(Calendar.DAY_OF_MONTH),
- cal.get(Calendar.DAY_OF_WEEK),
- cal.get(Calendar.MILLISECOND));
- StringBuffer tzMarker = new StringBuffer(offset < 0 ? "-" : "+");
- offset = Math.abs(offset);
- int hours = offset / (60 * 60 * 1000);
- int minutes = offset / (60 * 1000) - 60 * hours;
- if (hours < 10) {
- tzMarker.append("0");
- }
- tzMarker.append(hours);
- if (minutes < 10) {
- tzMarker.append("0");
- }
- tzMarker.append(minutes);
- return df.format(cal.getTime()) + tzMarker.toString();
+ return DateUtils.getDateForHeader();
}
}
1.6 +38 -1 jakarta-ant/src/main/org/apache/tools/ant/util/DateUtils.java
Index: DateUtils.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/util/DateUtils.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DateUtils.java 15 Apr 2002 14:56:34 -0000 1.5
+++ DateUtils.java 8 Nov 2002 15:40:55 -0000 1.6
@@ -59,6 +59,7 @@
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
+import java.util.Locale;
import java.util.TimeZone;
/**
@@ -94,6 +95,12 @@
public static final String ISO8601_TIME_PATTERN
= "HH:mm:ss";
+ /**
+ * Format used for SMTP (and probably other) Date headers.
+ */
+ public static final DateFormat DATE_HEADER_FORMAT
+ = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss ", Locale.US);
+
// code from Magesh moved from DefaultLogger and slightly modified
private static final MessageFormat MINUTE_SECONDS
@@ -218,5 +225,35 @@
epact++;
}
return (((((dayOfTheYear + epact) * 6) + 11) % 177) / 22) & 7;
+ }
+
+ /**
+ * Returns the current Date in a format suitable for a SMTP date
+ * header.
+ *
+ * @since Ant 1.5.2
+ */
+ public static String getDateForHeader() {
+ Calendar cal = Calendar.getInstance();
+ TimeZone tz = cal.getTimeZone();
+ int offset = tz.getOffset(cal.get(Calendar.ERA),
+ cal.get(Calendar.YEAR),
+ cal.get(Calendar.MONTH),
+ cal.get(Calendar.DAY_OF_MONTH),
+ cal.get(Calendar.DAY_OF_WEEK),
+ cal.get(Calendar.MILLISECOND));
+ StringBuffer tzMarker = new StringBuffer(offset < 0 ? "-" : "+");
+ offset = Math.abs(offset);
+ int hours = offset / (60 * 60 * 1000);
+ int minutes = offset / (60 * 1000) - 60 * hours;
+ if (hours < 10) {
+ tzMarker.append("0");
+ }
+ tzMarker.append(hours);
+ if (minutes < 10) {
+ tzMarker.append("0");
+ }
+ tzMarker.append(minutes);
+ return DATE_HEADER_FORMAT.format(cal.getTime()) + tzMarker.toString();
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>