Subversion Repositories bacoAlunos

Rev

Rev 751 | Rev 811 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
29 jmachado 1
package pt.estgp.estgweb.services.email;
2
 
236 jmachado 3
import jomm.utils.TemplateUtils;
4
import org.apache.log4j.Logger;
5
import pt.estgp.estgweb.Globals;
751 jmachado 6
import pt.estgp.estgweb.utils.ConfigProperties;
358 jmachado 7
import pt.estgp.estgweb.web.utils.DatesUtils;
236 jmachado 8
import pt.estgp.estgweb.services.expceptions.ServiceException;
9
import pt.estgp.estgweb.domain.enums.LangEnum;
363 jmachado 10
import pt.estgp.estgweb.domain.*;
236 jmachado 11
import pt.estgp.estgweb.utils.Email;
12
import pt.utl.ist.berserk.logic.serviceManager.IService;
13
 
14
import javax.mail.MessagingException;
15
import javax.mail.Session;
16
import javax.mail.Message;
17
import javax.mail.Transport;
18
import javax.mail.internet.MimeMessage;
19
import javax.mail.internet.InternetAddress;
20
import java.util.ArrayList;
29 jmachado 21
import java.util.List;
236 jmachado 22
import java.util.Properties;
440 jmachado 23
import java.util.Date;
236 jmachado 24
import java.text.MessageFormat;
29 jmachado 25
 
26
/**
27
 * @author Jorge Machado
28
 * @date 20/Mar/2008
29
 * @time 18:31:00
30
 * @see pt.estgp.estgweb.services.email
31
 */
236 jmachado 32
public class SendEmailService implements IService
29 jmachado 33
{
236 jmachado 34
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(SendEmailService.class);
35
 
36
    private static final 1.5.0/docs/api/java/lang/String.html">String gradeUnitTemplate = Globals.TEMPLATE_EMAIL_PATH + "/" + Globals.EMAIL_GRADE_UNIT_TEMPLATE;
37
 
38
    public void sendEmail(Email email) throws ServiceException
29 jmachado 39
    {
236 jmachado 40
        try{
41
 
42
            // Set up properties for mail session
43
            1.5.0/docs/api/java/util/Properties.html">Properties props = 1.5.0/docs/api/java/lang/System.html">System.getProperties();
44
            props.put("mail.smtp.host", Globals.EMAIL_SERVER_HOST);
45
 
46
            // Get session
47
            Session session = Session.getDefaultInstance(props, null);
48
 
49
            // Create message
50
            MimeMessage message = new MimeMessage(session);
51
            // Set the recipients of the message
298 jmachado 52
            boolean valid = false;
53
            for (1.5.0/docs/api/java/lang/String.html">String recipient : email.getRecipients())
54
            {
55
                if(Email.validEmail(recipient))
56
                {
57
                    valid=true;
419 jmachado 58
                    message.addRecipient(email.getType(),new InternetAddress(recipient));
298 jmachado 59
                }
236 jmachado 60
            }
298 jmachado 61
            if(valid)
62
            {
63
                1.5.0/docs/api/java/lang/String.html">String content = TemplateUtils.getOrLoadTemplate(Globals.TEMPLATE_EMAIL_PATH + "/" + email.getEmailTemplateName());
64
                // Format the mail message
65
                1.5.0/docs/api/java/lang/String.html">String fullMessage = 1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(content, email.getArguments().toArray());
236 jmachado 66
 
298 jmachado 67
                message.setFrom(new InternetAddress(email.getFrom()));
68
                message.setSubject(email.getSubject());
492 jmachado 69
                message.setText(fullMessage,"utf-8");
236 jmachado 70
 
490 jmachado 71
 
512 jmachado 72
                if(email.isHtml())
73
                    message.setHeader("Content-Type","text/html; charset=\"utf-8\"");
74
                else
75
                    message.setHeader("Content-Type","text/plain; charset=\"utf-8\"");
490 jmachado 76
                message.setHeader("Content-Transfer-Encoding", "quoted-printable");
492 jmachado 77
 
298 jmachado 78
                Transport.send(message);
79
            }
236 jmachado 80
        }
81
        catch(MessagingException e)
82
        {
83
            logger.error(e,e);
84
            throw new ServiceException(e.toString());
85
        }
29 jmachado 86
    }
236 jmachado 87
 
88
    public Email getSendUrlToFriendEmail(1.5.0/docs/api/java/lang/String.html">String url, 1.5.0/docs/api/java/lang/String.html">String from, LangEnum langEnum, List<String> recipients)
89
    {
90
        List<String> arguments = new ArrayList<String>();
91
        arguments.add(from);
92
        arguments.add(url);
93
        1.5.0/docs/api/java/lang/String.html">String subjectTxt;
94
        1.5.0/docs/api/java/lang/String.html">String template;
95
 
96
        if(langEnum == LangEnum.PORTUGUESE)
97
        {
98
            template = Globals.EMAIL_SEND_URL_FRIEND_TEMPLATE_PT;
237 jmachado 99
            subjectTxt = Globals.EMAIL_SEND_URL_FRIEND_SUBJECT_PT;
236 jmachado 100
        }
101
        else
102
        {
103
            template = Globals.EMAIL_SEND_URL_FRIEND_TEMPLATE_EN;
237 jmachado 104
            subjectTxt = Globals.EMAIL_SEND_URL_FRIEND_SUBJECT_EN;
236 jmachado 105
        }
106
 
107
        1.5.0/docs/api/java/lang/String.html">String subject = java.text.1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(subjectTxt,new 1.5.0/docs/api/java/lang/String.html">String[]{from});
108
        return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments);
109
    }
110
 
111
    public boolean sendUrlToFriend(1.5.0/docs/api/java/lang/String.html">String url, 1.5.0/docs/api/java/lang/String.html">String from, LangEnum langEnum, List<String> recipients)
112
    {
113
        try
114
        {
115
            sendEmail(getSendUrlToFriendEmail(url,from,langEnum,recipients));
116
            return true;
117
        }
118
        catch (ServiceException e)
119
        {
120
            return false;
121
        }
122
    }
123
 
237 jmachado 124
    public boolean sendCourseUnitAnnouncement(CourseUnitAnnouncement announcement, LangEnum langEnum, 1.5.0/docs/api/java/lang/String.html">String from,  List<User> users)
125
    {
126
        try
127
        {
128
            sendEmail(getCourseUnitAnnouncementEmail(announcement,langEnum,from,users));
129
            return true;
130
        }
131
        catch (ServiceException e)
132
        {
133
            return false;
134
        }
135
    }
236 jmachado 136
 
512 jmachado 137
    public Email getMessageEmail(1.5.0/docs/api/java/lang/String.html">String from, 1.5.0/docs/api/java/lang/String.html">String subject,1.5.0/docs/api/java/lang/String.html">String text, LangEnum langEnum, 1.5.0/docs/api/java/lang/String.html">String target, List<User> users, User user)
138
    {
139
//        # 0 : From
140
//        # 1 : Subject
141
//        # 2 : Text
142
//        # 3 : person
143
//        # 4 : target
144
        List<String> arguments = new ArrayList<String>();
145
        arguments.add(from);
146
        arguments.add(subject);
147
        arguments.add(text);
148
        arguments.add(user.getName());
149
        arguments.add(target);
150
 
151
        1.5.0/docs/api/java/lang/String.html">String template;
152
 
153
        if(langEnum == LangEnum.PORTUGUESE)
154
        {
155
            template = Globals.EMAIL_MESSAGE_TEMPLATE_PT;
156
        }
157
        else
158
        {
159
            template = Globals.EMAIL_MESSAGE_TEMPLATE_EN;
160
        }
161
 
162
        List<String> recipients = new ArrayList<String>();
163
        for(User u: users)
164
        {
165
            if(Email.validEmail(u.getEmail()))
166
                recipients.add(u.getEmail());
167
            if(Email.validEmail(u.getOutEmail()))
168
                recipients.add(u.getOutEmail());
169
        }
810 jmachado 170
        logger.info("subject: " + subject);
171
        logger.info("user: " + user.getEmail());
172
        logger.info("template: " + template);
173
        logger.info("arguments:");
174
        for(1.5.0/docs/api/java/lang/String.html">String arg: arguments)
175
            logger.info(arg);
176
        logger.info("recipients:");
177
        for(1.5.0/docs/api/java/lang/String.html">String rec: recipients)
178
            logger.info(rec);
179
        logger.info("arguments end");
512 jmachado 180
        return new Email(subject ,recipients,user.getEmail(),template,arguments,Message.RecipientType.BCC);
181
    }
182
 
237 jmachado 183
    public Email getCourseUnitAnnouncementEmail(CourseUnitAnnouncement announcement, LangEnum langEnum, 1.5.0/docs/api/java/lang/String.html">String from,  List<User> users)
184
    {
185
        List<String> arguments = new ArrayList<String>();
186
        arguments.add(announcement.getCourseUnit().getName());
187
        arguments.add(announcement.getTitle());
188
        arguments.add(announcement.getText());
189
        arguments.add(from);
190
 
191
        1.5.0/docs/api/java/lang/String.html">String subjectTxt;
192
        1.5.0/docs/api/java/lang/String.html">String template;
193
 
194
        if(langEnum == LangEnum.PORTUGUESE)
195
        {
196
            template = Globals.EMAIL_COURSEUNIT_ANNOUNCEMENT_TEMPLATE_PT;
197
            subjectTxt = Globals.EMAIL_COURSEUNIT_ANNOUNCEMENT_SUBJECT_PT;
198
        }
199
        else
200
        {
201
            template = Globals.EMAIL_COURSEUNIT_ANNOUNCEMENT_TEMPLATE_EN;
202
            subjectTxt = Globals.EMAIL_COURSEUNIT_ANNOUNCEMENT_SUBJECT_EN;
203
        }
204
 
205
        List<String> recipients = new ArrayList<String>();
206
        for(User u: users)
207
        {
298 jmachado 208
            if(Email.validEmail(u.getEmail()))
209
                recipients.add(u.getEmail());
419 jmachado 210
            if(Email.validEmail(u.getOutEmail()))
211
                recipients.add(u.getOutEmail());
237 jmachado 212
        }
213
 
214
        1.5.0/docs/api/java/lang/String.html">String subject = java.text.1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(subjectTxt,new 1.5.0/docs/api/java/lang/String.html">String[]{announcement.getCourseUnit().getNormalizedName(),announcement.getTitle()});
419 jmachado 215
        1.5.0/docs/api/java/lang/String.html">String fromEmail = Globals.SYSTEM_EMAIL_BOX;
216
        if(announcement.getOwner() != null && Email.validEmail(announcement.getOwner().getEmail()))
217
            fromEmail = announcement.getOwner().getEmail();
218
        return new Email(subject ,recipients,fromEmail,template,arguments,Message.RecipientType.BCC);
237 jmachado 219
    }
220
 
363 jmachado 221
    public Email getCourseUnitBlogPostEmail(BlogPost post, LangEnum langEnum, 1.5.0/docs/api/java/lang/String.html">String from,  List<User> users)
222
    {
223
        List<String> arguments = new ArrayList<String>();
224
        arguments.add(((CourseUnitBlog)post.getBlog()).getCourseUnit().getName());
225
        arguments.add(post.getTitle());
226
        arguments.add(post.getText());
227
        arguments.add(from);
237 jmachado 228
 
363 jmachado 229
        1.5.0/docs/api/java/lang/String.html">String subjectTxt;
230
        1.5.0/docs/api/java/lang/String.html">String template;
231
 
232
        if(langEnum == LangEnum.PORTUGUESE)
233
        {
234
            template = Globals.EMAIL_COURSEUNIT_BLOGPOST_TEMPLATE_PT;
235
            subjectTxt = Globals.EMAIL_COURSEUNIT_BLOGPOST_SUBJECT_PT;
236
        }
237
        else
238
        {
239
            template = Globals.EMAIL_COURSEUNIT_BLOGPOST_TEMPLATE_EN;
240
            subjectTxt = Globals.EMAIL_COURSEUNIT_BLOGPOST_SUBJECT_EN;
241
        }
242
 
243
        List<String> recipients = new ArrayList<String>();
244
        for(User u: users)
245
        {
246
            if(Email.validEmail(u.getEmail()))
247
                recipients.add(u.getEmail());
419 jmachado 248
            if(Email.validEmail(u.getOutEmail()))
249
                recipients.add(u.getOutEmail());
363 jmachado 250
        }
251
 
252
        1.5.0/docs/api/java/lang/String.html">String subject = java.text.1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(subjectTxt,new 1.5.0/docs/api/java/lang/String.html">String[]{((CourseUnitBlog)post.getBlog()).getCourseUnit().getNormalizedName(),post.getTitle()});
419 jmachado 253
        1.5.0/docs/api/java/lang/String.html">String fromEmail = Globals.SYSTEM_EMAIL_BOX;
254
        if(post.getOwner() != null && Email.validEmail(post.getOwner().getEmail()))
255
            fromEmail = post.getOwner().getEmail();
256
        return new Email(subject ,recipients, fromEmail, template,arguments,Message.RecipientType.BCC);
363 jmachado 257
    }
258
 
440 jmachado 259
    public Email getCourseUnitWorkEmail(CourseUnitAssignement assignement, LangEnum langEnum, UserSession userSession,  List<User> users, boolean newWork)
419 jmachado 260
    {
261
        List<String> arguments = new ArrayList<String>();
262
        arguments.add(assignement.getCourseUnit().getName());
263
        arguments.add(assignement.getTitle());
264
        arguments.add(assignement.getDescription());
440 jmachado 265
 
419 jmachado 266
        if(userSession != null && userSession.getName() != null)
267
            arguments.add(userSession.getName());
268
        else
269
            arguments.add("unknown");
363 jmachado 270
 
440 jmachado 271
        arguments.add( DatesUtils.getStringFromDate(assignement.getDeliverDate()));
492 jmachado 272
 
419 jmachado 273
        1.5.0/docs/api/java/lang/String.html">String subjectTxt;
274
        1.5.0/docs/api/java/lang/String.html">String template;
275
 
276
        if(langEnum == LangEnum.PORTUGUESE)
277
        {
440 jmachado 278
            if(newWork)
279
                template = Globals.EMAIL_COURSEUNIT_WORK_TEMPLATE_PT;
280
            else
281
                template = Globals.EMAIL_COURSEUNIT_WORK_CHANGE_TEMPLATE_PT;
419 jmachado 282
            subjectTxt = Globals.EMAIL_COURSEUNIT_WORK_SUBJECT_PT;
283
        }
284
        else
285
        {
440 jmachado 286
            if(newWork)
287
                template = Globals.EMAIL_COURSEUNIT_WORK_TEMPLATE_EN;
288
            else
289
                template = Globals.EMAIL_COURSEUNIT_WORK_CHANGE_TEMPLATE_EN;
419 jmachado 290
            subjectTxt = Globals.EMAIL_COURSEUNIT_WORK_SUBJECT_EN;
291
        }
292
 
293
        List<String> recipients = new ArrayList<String>();
294
        for(User u: users)
295
        {
296
            if(Email.validEmail(u.getEmail()))
297
                recipients.add(u.getEmail());
298
            if(Email.validEmail(u.getOutEmail()))
299
                recipients.add(u.getOutEmail());
300
        }
301
 
302
        1.5.0/docs/api/java/lang/String.html">String subject = java.text.1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(subjectTxt,new 1.5.0/docs/api/java/lang/String.html">String[]{assignement.getCourseUnit().getNormalizedName(),assignement.getTitle()});
303
 
304
        1.5.0/docs/api/java/lang/String.html">String fromEmail = Globals.SYSTEM_EMAIL_BOX;
305
        if(userSession!= null && userSession.getUser() != null && Email.validEmail(userSession.getUser().getEmail()))
306
            fromEmail = userSession.getUser().getEmail();
307
        return new Email(subject ,recipients,fromEmail,template,arguments,Message.RecipientType.BCC);
308
    }
309
 
310
 
311
 
236 jmachado 312
    public Email getNewGradesEmail(List<String[]> grades, LangEnum langEnum, 1.5.0/docs/api/java/lang/String.html">String studentEmail, 1.5.0/docs/api/java/lang/String.html">String studentName)
313
    {
314
        List<String> arguments = new ArrayList<String>();
315
 
316
        1.5.0/docs/api/java/lang/String.html">String subject;
317
        1.5.0/docs/api/java/lang/String.html">String template;
318
 
319
        if(langEnum == LangEnum.PORTUGUESE)
320
        {
321
            template = Globals.EMAIL_NEW_GRADES_TEMPLATE_PT;
237 jmachado 322
            subject = Globals.EMAIL_NEW_GRADES_SUBJECT_PT;
236 jmachado 323
        }
324
        else
325
        {
326
            template = Globals.EMAIL_NEW_GRADES_TEMPLATE_EN;
237 jmachado 327
            subject = Globals.EMAIL_NEW_GRADES_SUBJECT_EN;
236 jmachado 328
        }
329
 
330
        1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder gradesBuilder = new 1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder();
331
        for(1.5.0/docs/api/java/lang/String.html">String[] grade:  grades)
332
        {
333
            1.5.0/docs/api/java/lang/String.html">String gradeTxt = TemplateUtils.formatMessageTemplate(gradeUnitTemplate,grade);
334
            gradesBuilder.append(gradeTxt);
335
        }
336
 
337
        arguments.add(studentName);
338
        arguments.add(gradesBuilder.toString());
339
 
340
        List<String> recipients = new ArrayList<String>();
341
        recipients.add(studentEmail);
342
        return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments);
343
    }
344
 
358 jmachado 345
    public Email getSummaryEmail(List<String> emails, CourseUnitSummary cUS, CourseUnit c, LangEnum langEnum)
346
    {
347
        List<String> arguments = new ArrayList<String>();
348
 
349
        1.5.0/docs/api/java/lang/String.html">String data = DatesUtils.getStringFromDate(cUS.getDataAula());
350
        1.5.0/docs/api/java/lang/String.html">String subject;
351
        1.5.0/docs/api/java/lang/String.html">String template;
352
 
353
        if(langEnum == LangEnum.PORTUGUESE)
354
        {
355
            template = Globals.EMAIL_SUMMARY_TEMPLATE_PT;
356
            subject = Globals.EMAIL_SUMMARY_SUBJECT_PT;
357
        }
358
        else
359
        {
360
            template = Globals.EMAIL_SUMMARY_TEMPLATE_EN;
361
            subject = Globals.EMAIL_SUMMARY_SUBJECT_EN;
362
        }
363
        subject = TemplateUtils.formatMessageTemplate(subject,new 1.5.0/docs/api/java/lang/String.html">String[]{c.getName()});
364
 
365
        arguments.add(c.getName());
366
        arguments.add(""+cUS.getNumeroAula());
367
        arguments.add(data);
368
        arguments.add(cUS.getTitulo());
369
        arguments.add(cUS.getDescricao());
370
 
371
        List<String> recipients = new ArrayList<String>();
372
        for(1.5.0/docs/api/java/lang/String.html">String email:emails)
373
            recipients.add(email);
374
        return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments);
375
    }
376
 
751 jmachado 377
    public Email getUnidadeEdicaoEmail(List<String> emails, CourseUnit c, LangEnum langEnum)
378
    {
379
        List<String> arguments = new ArrayList<String>();
380
 
381
 
382
        1.5.0/docs/api/java/lang/String.html">String subject;
383
        1.5.0/docs/api/java/lang/String.html">String template;
384
 
385
        if(langEnum == LangEnum.PORTUGUESE)
386
        {
387
            template = Globals.EMAIL_UNDADE_EDICAO_TEMPLATE_PT;
388
            subject = Globals.EMAIL_UNDADE_EDICAO_SUBJECT_PT;
389
        }
390
        else
391
        {
392
            template = Globals.EMAIL_UNDADE_EDICAO_TEMPLATE_EN;
393
            subject = Globals.EMAIL_UNDADE_EDICAO_SUBJECT_EN;
394
        }
395
        subject = 1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(ConfigProperties.getProperty(subject),new 1.5.0/docs/api/java/lang/String.html">String[]{c.getName()});
396
 
397
        arguments.add(c.getName());
398
 
399
        List<String> recipients = new ArrayList<String>();
400
        for(1.5.0/docs/api/java/lang/String.html">String email:emails)
401
            recipients.add(email);
402
        return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments);
403
    }
404
 
405
     public Email getUnidadeValidadaEmail(List<String> emails, CourseUnit c, LangEnum langEnum)
406
    {
407
        List<String> arguments = new ArrayList<String>();
408
 
409
 
410
        1.5.0/docs/api/java/lang/String.html">String subject;
411
        1.5.0/docs/api/java/lang/String.html">String template;
412
 
413
        if(langEnum == LangEnum.PORTUGUESE)
414
        {
415
            template = Globals.EMAIL_UNDADE_VALIDADA_TEMPLATE_PT;
416
            subject = Globals.EMAIL_UNDADE_VALIDADA_SUBJECT_PT;
417
        }
418
        else
419
        {
420
            template = Globals.EMAIL_UNDADE_VALIDADA_TEMPLATE_EN;
421
            subject = Globals.EMAIL_UNDADE_VALIDADA_SUBJECT_EN;
422
        }
423
        subject = 1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(ConfigProperties.getProperty(subject),new 1.5.0/docs/api/java/lang/String.html">String[]{c.getName()});
424
 
425
        arguments.add(c.getName());
426
 
427
        List<String> recipients = new ArrayList<String>();
428
        for(1.5.0/docs/api/java/lang/String.html">String email:emails)
429
            recipients.add(email);
430
        return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments);
431
    }
432
 
433
    public Email getUnidadeEditadaEmail(List<String> emails, CourseUnit c, LangEnum langEnum)
434
    {
435
        List<String> arguments = new ArrayList<String>();
436
 
437
 
438
        1.5.0/docs/api/java/lang/String.html">String subject;
439
        1.5.0/docs/api/java/lang/String.html">String template;
440
 
441
        if(langEnum == LangEnum.PORTUGUESE)
442
        {
443
            template = Globals.EMAIL_UNDADE_EDITADA_TEMPLATE_PT;
444
            subject = Globals.EMAIL_UNDADE_EDITADA_SUBJECT_PT;
445
        }
446
        else
447
        {
448
            template = Globals.EMAIL_UNDADE_EDITADA_TEMPLATE_EN;
449
            subject = Globals.EMAIL_UNDADE_EDITADA_SUBJECT_EN;
450
        }
451
        subject = 1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.format(ConfigProperties.getProperty(subject),new 1.5.0/docs/api/java/lang/String.html">String[]{c.getName()});
452
 
453
        arguments.add(c.getCourseName());
454
        arguments.add(c.getName());
455
 
456
        List<String> recipients = new ArrayList<String>();
457
        for(1.5.0/docs/api/java/lang/String.html">String email:emails)
458
            recipients.add(email);
459
        return new Email(subject ,recipients, Globals.SYSTEM_EMAIL_BOX,template,arguments);
460
    }
461
 
236 jmachado 462
    public boolean sendNewGrades(List<String[]> grades, LangEnum langEnum, 1.5.0/docs/api/java/lang/String.html">String studentEmail, 1.5.0/docs/api/java/lang/String.html">String studentName)
463
    {
464
        try
465
        {
466
            sendEmail(getNewGradesEmail(grades,langEnum,studentEmail,studentName));
467
            return true;
468
        }
469
        catch (ServiceException e)
470
        {
471
            return false;
472
        }
473
 
474
    }
475
 
476
    public static void main(1.5.0/docs/api/java/lang/String.html">String [] args)
477
    {
440 jmachado 478
        1.5.0/docs/api/java/lang/System.html">System.out.println( DatesUtils.getStringFromDate(new 5+0%2Fdocs%2Fapi+Date">Date()));
479
//        List<String[]> grades = new ArrayList<String[]>();
480
//        grades.add(new String[]{"Teste","3"});
481
//        grades.add(new String[]{"Teste2","4"});
482
//        new SendEmailService().sendNewGrades(grades,LangEnum.PORTUGUESE,"jmachado@estgp.pt","jorge Machado");
236 jmachado 483
    }
484
 
29 jmachado 485
}