1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.fit.buildtools.cxf;
20
21 import com.icegreen.greenmail.smtp.InterruptableSmtpServer;
22 import com.icegreen.greenmail.util.GreenMail;
23 import javax.ws.rs.POST;
24 import javax.ws.rs.Path;
25 import javax.ws.rs.core.Context;
26 import org.apache.cxf.jaxrs.ext.MessageContext;
27 import org.apache.syncope.fit.buildtools.GreenMailStartStopListener;
28 import org.slf4j.Logger;
29 import org.slf4j.LoggerFactory;
30
31 @Path("greenMail")
32 public class GreenMailService {
33
34 private static final Logger LOG = LoggerFactory.getLogger(GreenMailService.class);
35
36 @Context
37 private MessageContext messageContext;
38
39 @POST
40 @Path("start")
41 public void start() {
42 GreenMail greenMail = (GreenMail) messageContext.getServletContext().
43 getAttribute(GreenMailStartStopListener.GREENMAIL);
44 if (greenMail != null) {
45 ((InterruptableSmtpServer) greenMail.getSmtp()).setRejectRequests(false);
46 LOG.info("SMTP server is accepting requests");
47 }
48 }
49
50 @POST
51 @Path("stop")
52 public void stop() {
53 GreenMail greenMail = (GreenMail) messageContext.getServletContext().
54 getAttribute(GreenMailStartStopListener.GREENMAIL);
55 if (greenMail != null) {
56 ((InterruptableSmtpServer) greenMail.getSmtp()).setRejectRequests(true);
57 LOG.info("SMTP server is rejecting requests");
58 }
59 }
60 }