package action; import com.opensymphony.xwork2.ActionSupport; import pojo.LetterEntity; import pojo.SiteLetter; import service.LetterEntityService; import java.io.Serializable; import java.sql.Timestamp; import java.util.Date; import java.util.HashSet; import java.util.Set; /** * User: yumingzhe * Date: 5/22/12 * Time: 2:45 PM */ /** * This action is used for processing user send site letter */ public class SendSiteLetterAction extends ActionSupport { private int senderId; private String title; private String content; private int receiverId; private LetterEntityService letterEntityService; public LetterEntityService getLetterEntityService() { return letterEntityService; } public void setLetterEntityService(LetterEntityService letterEntityService) { this.letterEntityService = letterEntityService; } public int getSenderId() { return senderId; } public void setSenderId(int senderId) { this.senderId = senderId; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public int getReceiverId() { return receiverId; } public void setReceiverId(int receiverId) { this.receiverId = receiverId; } @Override public void validate() { if (this.senderId < 0) { this.addFieldError("senderId", "sender id is invalid"); } if (this.title == null) { this.addFieldError("title", "You must enter a valid title"); } if (this.content == null) { this.addFieldError("content", "You must enter something"); } if (this.receiverId < 0) { this.addFieldError("receiverId", "receiver id is invalid"); } } @Override public String execute() throws Exception { LetterEntity letterEntity = new LetterEntity(); letterEntity.setTitle(this.title); letterEntity.setContent(this.content); letterEntity.setSendTime(new Timestamp(new Date().getTime())); letterEntity.setSenderId(this.senderId); SiteLetter siteLetter = new SiteLetter(); siteLetter.setRead(false); siteLetter.setReceiverId(this.receiverId); siteLetter.setLetterEntity(letterEntity); Set<SiteLetter> siteLetters = new HashSet<SiteLetter>(); siteLetters.add(siteLetter); letterEntity.setSiteLetters(siteLetters); Serializable letterid = this.letterEntityService.saveLetterEntity(letterEntity); return SUCCESS; } }