package com.mockmock.http;
import com.mockmock.htmlbuilder.FooterHtmlBuilder;
import com.mockmock.htmlbuilder.HeaderHtmlBuilder;
import com.mockmock.htmlbuilder.MailListHtmlBuilder;
import com.mockmock.mail.MailQueue;
import org.eclipse.jetty.server.Request;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Service
public class IndexHandler extends BaseHandler
{
private HeaderHtmlBuilder headerHtmlBuilder;
private FooterHtmlBuilder footerHtmlBuilder;
private MailListHtmlBuilder mailListHtmlBuilder;
private MailQueue mailQueue;
@Override
public void handle(String target, Request request, HttpServletRequest httpServletRequest,
HttpServletResponse response) throws IOException, ServletException
{
if(!target.equals("/"))
{
return;
}
setDefaultResponseOptions(response);
String header = headerHtmlBuilder.build();
mailListHtmlBuilder.setMailQueue(mailQueue.getMailQueue());
String body = mailListHtmlBuilder.build();
String footer = footerHtmlBuilder.build();
response.getWriter().print(header + body + footer);
request.setHandled(true);
}
@Autowired
public void setHeaderHtmlBuilder(HeaderHtmlBuilder headerHtmlBuilder) {
this.headerHtmlBuilder = headerHtmlBuilder;
}
@Autowired
public void setFooterHtmlBuilder(FooterHtmlBuilder footerHtmlBuilder) {
this.footerHtmlBuilder = footerHtmlBuilder;
}
@Autowired
public void setMailListHtmlBuilder(MailListHtmlBuilder mailListHtmlBuilder) {
this.mailListHtmlBuilder = mailListHtmlBuilder;
}
@Autowired
public void setMailQueue(MailQueue mailQueue) {
this.mailQueue = mailQueue;
}
}