package cn.newgxu.bbs.web.action;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import cn.newgxu.bbs.common.MessageList;
import cn.newgxu.bbs.common.exception.BBSException;
import cn.newgxu.bbs.common.util.Util;
import cn.newgxu.bbs.service.ForumService;
import cn.newgxu.bbs.web.model.CreateTopicModel;
/* *
* @author 叨叨雨
* @version 0.0.1
* @since 2009-12-02
*
*/
@SuppressWarnings("serial")
public class DraftBoxAction extends AbstractBaseAction {
private static final Log log = LogFactory.getLog(DraftBoxAction.class);
private CreateTopicModel model = new CreateTopicModel();
private ForumService forumService;
public String saveDraftBox() throws Exception {
try {
signOnlineUser("新主题保存到草稿箱中...");
MessageList m = new MessageList();
model.setUser(super.getUser());
super.setOnlineStatusForumId(model.getForumId());
forumService.saveDraftBox(model);
m.setUrl("/forum.yws?forumId=${forumId}", MessageList.P(
"${forumId}", model.getForumId()));
m.addMessage("<b>新主题保存成功!</b>");
m.addMessage("<a href='/forum.yws?forumId=${forumId}'>返回主题列表</a>",
MessageList.P("${forumId}", model.getForumId()));
Util.putMessageList(m, getSession());
log.debug("新主题保存成功!");
return SUCCESS;
} catch (BBSException e) {
MessageList m = new MessageList();
log.debug(e);
m.addMessage(e.getMessage());
Util.putMessageList(m, getSession());
return ERROR;
}
}
public String saveAgainDraftBox() throws Exception {
try {
signOnlineUser("重新保存新主题到草稿箱中...");
MessageList m = new MessageList();
model.setUser(super.getUser());
super.setOnlineStatusForumId(model.getForumId());
forumService.saveAgainDraftBox(model, 0);
m.setUrl("/getdraftboxes.yws");
m.addMessage("<b>新主题再次保存成功!</b>");
m.addMessage("<a href='/getdraftboxes.yws'>返回草稿列表</a>");
Util.putMessageList(m, getSession());
log.debug("新主题再次保存成功!");
return SUCCESS;
} catch (BBSException e) {
MessageList m = new MessageList();
log.debug(e);
m.addMessage(e.getMessage());
Util.putMessageList(m, getSession());
return ERROR;
}
}
public String getDraftBoxes() throws Exception {
try {
signOnlineUser("读取所有草稿箱...");
//MessageList m = new MessageList();
model.setUser(super.getUser());
super.setOnlineStatusForumId(model.getForumId());
forumService.getDraftBoxes(model);
return SUCCESS;
} catch (BBSException e) {
MessageList m = new MessageList();
log.debug(e);
m.addMessage(e.getMessage());
Util.putMessageList(m, getSession());
return ERROR;
}
}
public String readDraftBox() throws Exception {
try {
signOnlineUser("读取草稿箱...");
//MessageList m = new MessageList();
model.setUser(super.getUser());
super.setOnlineStatusForumId(model.getForumId());
model = forumService.getDraftBoxModel(model.getId());
//Forum forum = model.getForum();
return SUCCESS;
} catch (BBSException e) {
MessageList m = new MessageList();
log.debug(e);
m.addMessage(e.getMessage());
Util.putMessageList(m, getSession());
return ERROR;
}
}
public String createTpFromDb() throws Exception {
signOnlineUser("新主题提交中...");
model.setUser(getUser());
MessageList m = new MessageList();
try {
// TopicProvider topic = forumService.createTopicDo(model);
forumService.saveAgainDraftBox(model, 1);
m.setUrl("/forum.yws?forumId=${forumId}", MessageList.P(
"${forumId}", model.getForumId()));
m.addMessage("<b>新主题发表成功!</b>");
m.addMessage("<a href='/forum.yws?forumId=${forumId}'>返回主题列表</a>",
MessageList.P("${forumId}", model.getForumId()));
m.addMessage(
"<a href='/topic.yws?forumId=${forumId}}'>查看我刚才发表的主题</a>",
MessageList.P("${forumId}", model.getForumId()));
Util.putMessageList(m, getSession());
log.debug("新主题发表成功!");
return SUCCESS;
} catch (BBSException e) {
e.printStackTrace();
return ERROR;
}
}
public String delDraftBoxes() throws Exception {
signOnlineUser("删除草稿...");
model.setUser(getUser());
MessageList m = new MessageList();
try {
forumService.delDraftBoxes(model);
m.setUrl("/getdraftboxes.yws");
m.addMessage("<b>删除成功!</b>");
log.debug("删除草稿成功!");
Util.putMessageList(m, getSession());
return SUCCESS;
} catch (BBSException e) {
log.debug(e);
m.addMessage(e.getMessage());
Util.putMessageList(m, getSession());
return ERROR;
}
}
@Override
public String execute() throws Exception {
signOnlineUser("新主题保存...");
model.setUser(super.getUser());
super.setOnlineStatusForumId(model.getForumId());
return SUCCESS;
}
public Object getModel() {
return model;
}
public void setForumService(ForumService forumService) {
this.forumService = forumService;
}
}