Index: trunk/src/main/webapp/META-INF/MANIFEST.MF =================================================================== diff -u --- trunk/src/main/webapp/META-INF/MANIFEST.MF (revision 0) +++ trunk/src/main/webapp/META-INF/MANIFEST.MF (revision 4020) @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + Index: trunk/.project =================================================================== diff -u --- trunk/.project (revision 0) +++ trunk/.project (revision 4020) @@ -0,0 +1,38 @@ + + + contact + Lemans Contact + + contact-business + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.maven.ide.eclipse.maven2Nature + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.jsdt.core.jsNature + + Index: trunk/.settings/.jsdtscope =================================================================== diff -u --- trunk/.settings/.jsdtscope (revision 0) +++ trunk/.settings/.jsdtscope (revision 4020) @@ -0,0 +1,11 @@ + + + + + + + + + + + Index: trunk/src/main/resources/log4j.properties =================================================================== diff -u --- trunk/src/main/resources/log4j.properties (revision 0) +++ trunk/src/main/resources/log4j.properties (revision 4020) @@ -0,0 +1,8 @@ +log4j.rootLogger=DEBUG, console +log4j.appender.console=org.apache.log4j.ConsoleAppender +log4j.appender.console.layout=org.apache.log4j.PatternLayout +log4j.appender.console.layout.ConversionPattern=%d %p [%c] - %m%n + +log4j.category.org.apache.axis.transport.http.HTTPSender=DEBUG +log4j.category.org.springframework=DEBUG + Index: trunk/src/main/webapp/WEB-INF/applicationContext.xml =================================================================== diff -u --- trunk/src/main/webapp/WEB-INF/applicationContext.xml (revision 0) +++ trunk/src/main/webapp/WEB-INF/applicationContext.xml (revision 4020) @@ -0,0 +1,20 @@ + + + + + \ No newline at end of file Index: trunk/src/main/java/com/lemans/contact/handler/ContactHandler.java =================================================================== diff -u --- trunk/src/main/java/com/lemans/contact/handler/ContactHandler.java (revision 0) +++ trunk/src/main/java/com/lemans/contact/handler/ContactHandler.java (revision 4020) @@ -0,0 +1,47 @@ +package com.lemans.contact.handler; + +import javax.annotation.Resource; + +import org.apache.log4j.Logger; +import org.springframework.stereotype.Service; + +import com.lemans.contact.business.services.ContactService; +import com.lemans.contact.business.vo.EmailContent; + +import flexjson.JSONSerializer; + +/** + * + * @author schennamaneni + * + */ + +@Service +public class ContactHandler { + + private Logger log = Logger.getLogger(ContactHandler.class); + + @Resource(name = "contactServiceImpl") + private ContactService contactService; + + public String sendContactEmail(EmailContent request) { + + String response = ""; + String jsonResponse = ""; + try { + response = contactService.sendContactEmail(request); + } catch (Exception e) { + response = "Failure"; + log.debug("Excepion sending email contact content: " + e); + } + jsonResponse = buildJSONResponse(response, request); + log.debug("response: " + jsonResponse); + return jsonResponse; + } + + private String buildJSONResponse(String response, EmailContent emailContent) { + String returnResponse = new JSONSerializer().exclude("class").serialize(emailContent); + returnResponse = "{ \"response\": \"" + response + "\", \"params\": " + returnResponse + " }"; + return returnResponse; + } +} Index: trunk/.settings/org.eclipse.wst.jsdt.ui.superType.name =================================================================== diff -u --- trunk/.settings/org.eclipse.wst.jsdt.ui.superType.name (revision 0) +++ trunk/.settings/org.eclipse.wst.jsdt.ui.superType.name (revision 4020) @@ -0,0 +1 @@ +Window \ No newline at end of file Index: trunk/.classpath =================================================================== diff -u --- trunk/.classpath (revision 0) +++ trunk/.classpath (revision 4020) @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + Index: trunk/src/main/java/com/lemans/contact/web/ContactController.java =================================================================== diff -u --- trunk/src/main/java/com/lemans/contact/web/ContactController.java (revision 0) +++ trunk/src/main/java/com/lemans/contact/web/ContactController.java (revision 4020) @@ -0,0 +1,93 @@ +package com.lemans.contact.web; + +import java.io.IOException; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + + +import org.apache.commons.lang.StringUtils; +import org.springframework.web.context.WebApplicationContext; +import org.springframework.web.context.support.WebApplicationContextUtils; + +import com.lemans.contact.business.util.Constants; +import com.lemans.contact.business.vo.EmailContent; +import com.lemans.contact.handler.ContactHandler; + +/** + * + * @author schennamaneni + * + */ +public class ContactController extends HttpServlet { + private static final long serialVersionUID = 1L; + + /** + * @see HttpServlet#HttpServlet() + */ + public ContactController() { + super(); + } + + /** + * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) + */ + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + String results = getResponse(request); + response.getWriter().write(results); + } + + /** + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) + */ + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + String results = getResponse(request); + response.getWriter().write(results); + } + + private String getResponse(HttpServletRequest request){ + WebApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext()); + ContactHandler handler = (ContactHandler) applicationContext.getBean("contactHandler"); + + EmailContent emailContent = buildRequest(request); + String success = handler.sendContactEmail(emailContent); + + return success; + } + + private EmailContent buildRequest(HttpServletRequest httpRequest) { + EmailContent emailContent = new EmailContent(); + String fromName = httpRequest.getParameter(Constants.ParameterKeys.FROMNAME); + if (StringUtils.isNotBlank(fromName)) { + emailContent.setFromName(fromName); + }else{ + emailContent.setFromName(""); + } + + String fromAddress = httpRequest.getParameter(Constants.ParameterKeys.FROMADDRESS); + if (StringUtils.isNotBlank(fromAddress)) { + emailContent.setFromAddress(fromAddress); + } + + String subject = httpRequest.getParameter(Constants.ParameterKeys.SUBJECT); + if (StringUtils.isNotBlank(subject)) { + emailContent.setSubject(subject); + } + + String message = httpRequest.getParameter(Constants.ParameterKeys.MESSAGE); + if (StringUtils.isNotBlank(message)) { + emailContent.setMessage(message); + } + + String brandSiteId = httpRequest.getParameter(Constants.ParameterKeys.BRANDSITEID); + if (StringUtils.isNotBlank(brandSiteId)) { + emailContent.setBrandSiteId(Integer.parseInt(brandSiteId)); + }else{ + emailContent.setBrandSiteId(0); + } + return emailContent; + } +} Index: trunk/.settings/org.eclipse.wst.jsdt.ui.superType.container =================================================================== diff -u --- trunk/.settings/org.eclipse.wst.jsdt.ui.superType.container (revision 0) +++ trunk/.settings/org.eclipse.wst.jsdt.ui.superType.container (revision 4020) @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file Index: trunk/src/main/webapp/WEB-INF/contact-remote-servlet.xml =================================================================== diff -u --- trunk/src/main/webapp/WEB-INF/contact-remote-servlet.xml (revision 0) +++ trunk/src/main/webapp/WEB-INF/contact-remote-servlet.xml (revision 4020) @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file Index: trunk/src/main/webapp/WEB-INF/web.xml =================================================================== diff -u --- trunk/src/main/webapp/WEB-INF/web.xml (revision 0) +++ trunk/src/main/webapp/WEB-INF/web.xml (revision 4020) @@ -0,0 +1,32 @@ + + + contact + + org.springframework.web.context.ContextLoaderListener + + + + + ContactController + ContactController + com.lemans.contact.web.ContactController + + + ContactController + /contact.do + + + + contactService + org.springframework.web.servlet.DispatcherServlet + 1 + + + + contactService + /contactService + + + + + \ No newline at end of file Index: trunk/.settings/org.eclipse.wst.common.component =================================================================== diff -u --- trunk/.settings/org.eclipse.wst.common.component (revision 0) +++ trunk/.settings/org.eclipse.wst.common.component (revision 4020) @@ -0,0 +1,17 @@ + + + + + uses + + + + + + + + + + + + Index: trunk/src/main/webapp/index.jsp =================================================================== diff -u --- trunk/src/main/webapp/index.jsp (revision 0) +++ trunk/src/main/webapp/index.jsp (revision 4020) @@ -0,0 +1,7 @@ + + +

Hello Contact Service Here!

+For more information about the service go to +http://confluence.lemansnet.com/display/IST/Contact+Us + + Index: trunk/src/main/webapp/WEB-INF/freemarker/brand_site_contact_html.ftl =================================================================== diff -u --- trunk/src/main/webapp/WEB-INF/freemarker/brand_site_contact_html.ftl (revision 0) +++ trunk/src/main/webapp/WEB-INF/freemarker/brand_site_contact_html.ftl (revision 4020) @@ -0,0 +1,10 @@ + + +

+ Name: ${fromName}
+ Brand: ${brandSiteName}
+
+ ${message} +

+ + \ No newline at end of file Index: trunk/pom.xml =================================================================== diff -u --- trunk/pom.xml (revision 0) +++ trunk/pom.xml (revision 4020) @@ -0,0 +1,100 @@ + + 4.0.0 + lemans + contact + war + Lemans Contact + HEAD-SNAPSHOT + Lemans Contact + + + contact + + + maven-eclipse-plugin + + 1.5 + + 2.5 + + + + + + + + javax.servlet + servlet-api + 2.4 + compile + + + javax.servlet + jstl + 1.1.1 + + + taglibs + standard + 1.1.1 + + + commons-lang + commons-lang + 2.4 + compile + + + flexjson + flexjson + default + + + log4j + log4j + 1.2.15 + + + com.sun.jdmk + jmxtools + + + com.sun.jmx + jmxri + + + javax.jms + jms + + + javax.mail + mail + + + + + org.springframework + spring + 2.5.6 + + + org.springframework + spring-webmvc + 2.5.6 + + + lemans + contact-business + 0.6 + + + + + + + 1.6 + 1.6 + + + Index: trunk/.settings/org.eclipse.wst.common.project.facet.core.xml =================================================================== diff -u --- trunk/.settings/org.eclipse.wst.common.project.facet.core.xml (revision 0) +++ trunk/.settings/org.eclipse.wst.common.project.facet.core.xml (revision 4020) @@ -0,0 +1,7 @@ + + + + + + + Index: trunk/src/main/webapp/WEB-INF/contactService-servlet.xml =================================================================== diff -u --- trunk/src/main/webapp/WEB-INF/contactService-servlet.xml (revision 0) +++ trunk/src/main/webapp/WEB-INF/contactService-servlet.xml (revision 4020) @@ -0,0 +1,24 @@ + + + + + + + + + +