- From: Thomas Gambet via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 23 Sep 2009 09:28:07 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2006/unicorn/src/org/w3c/unicorn/output
In directory hutz:/tmp/cvs-serv16480/src/org/w3c/unicorn/output
Modified Files:
MailOutputModule.java
Log Message:
first draft of the MailOutputModule
Index: MailOutputModule.java
===================================================================
RCS file: /sources/public/2006/unicorn/src/org/w3c/unicorn/output/MailOutputModule.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- MailOutputModule.java 22 Sep 2009 12:39:29 -0000 1.1
+++ MailOutputModule.java 23 Sep 2009 09:28:05 -0000 1.2
@@ -4,8 +4,14 @@
// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.unicorn.output;
+import java.io.CharArrayWriter;
+import java.io.IOException;
import java.io.Writer;
import java.util.Map;
+import javax.mail.*;
+import javax.mail.internet.*;
+
+import java.util.*;
/**
* This module allow to generate output in mail format.
@@ -13,32 +19,102 @@
* @author Thomas GAMBET
*/
public class MailOutputModule implements OutputModule {
-
- public void produceFirstOutput(OutputFormater aOutputFormater,
- Map<String, Object> mapOfStringObject,
- Map<String, String> mapOfParameter, Writer aWriter) {
+
+ private OutputFormater aOutputFormater;
+
+ private OutputFormater mailOutputFormater;
+
+ private Map<String, String> mapOfOutputParameters;
+
+ private Map<String, String> mapOfSpecificParameters;
+
+ private String recipient;
+
+ public MailOutputModule(Map<String, String> mapOfOutputParameters, Map<String, String> mapOfSpecificParameters) {
+ this.mapOfOutputParameters = mapOfOutputParameters;
+ this.mapOfSpecificParameters = mapOfSpecificParameters;
+ this.recipient = mapOfSpecificParameters.get("email");
+
+ aOutputFormater = OutputFactory.createOutputFormater(mapOfOutputParameters.get("format"),
+ mapOfOutputParameters.get("lang"), mapOfOutputParameters.get("mimetype"));
- aOutputFormater.produceOutput(mapOfStringObject, aWriter);
+ mailOutputFormater = OutputFactory.createOutputFormater(mapOfSpecificParameters.get("format"),
+ mapOfOutputParameters.get("lang"), mapOfOutputParameters.get("mimetype"));
}
- public void produceOutput(final OutputFormater aOutputFormater, Map<String, Object> mapOfStringObject,
- final Map<String, String> mapOfParameter, final Writer aWriter) {
+ public void produceFirstOutput(Map<String, Object> mapOfStringObject, Writer aWriter) {
+ try {
+ aWriter.append("mail en cours d'envoi.");
+ aWriter.close();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ System.out.println("TOOOOOO");
+ e.printStackTrace();
+ }
+ }
+
+ public void produceOutput(Map<String, Object> mapOfStringObject, final Writer aWriter) {
+ /*try {
+ aWriter.close();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ System.out.println("TOOOOOO");
+ e.printStackTrace();
+ }*/
- aOutputFormater.produceOutput(mapOfStringObject, aWriter);
+ Properties props = new Properties();
+ props.put("mail.smtp.starttls.enable","true");
+ //props.put("mail.smtp.user", "thomas.gambet@gmail.com");
+
+ try {
+ Session session = Session.getDefaultInstance(props, null);
+ session.setDebug(true);
+ Message msg = new MimeMessage(session);
+
+ InternetAddress addressFrom = new InternetAddress("thomas.gambet@gmail.com");
+ msg.setFrom(addressFrom);
+
+ InternetAddress[] adresses = {new InternetAddress(recipient)};
+ msg.setRecipients(Message.RecipientType.TO, adresses);
+
+ // Setting the Subject and Content Type
+ msg.setSubject("test subject");
+
+ CharArrayWriter writer = new CharArrayWriter();
+ mailOutputFormater.produceOutput(mapOfStringObject, writer);
+ writer.close();
+
+ msg.setContent(writer.toString(), mapOfOutputParameters.get("mimetype"));
+
+ Transport transport = session.getTransport("smtp");
+ transport.connect("smtp.gmail.com", "eric.gambet@gmail.com", "36153615");
+ transport.sendMessage(msg, msg.getAllRecipients());
+ //aOutputFormater.produceOutput(mapOfStringObject, aWriter);
+ //aWriter.close();
+ } catch (AddressException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (MessagingException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
}
- public void produceError(final OutputFormater aOutputFormater, Map<String, Object> mapOfStringObject,
- final Map<String, String> mapOfParameter, final Writer aWriter) {
+ public void produceError(Map<String, Object> mapOfStringObject, final Writer aWriter) {
aOutputFormater.produceError(mapOfStringObject, aWriter);
}
+ public String getOutputParameter(String string) {
+ return mapOfOutputParameters.get(string);
+ }
+
}
Received on Wednesday, 23 September 2009 09:28:15 UTC