📄 messageprocessingcommand.java
字号:
/*
* MessageProcessingCommand.java
*
* Created on 2007年5月28日, 下午9:36
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
/**
*
* @author abc
*/
package message_board;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class MessageProcessingCommand extends AbstractProcessingCommand
{
private static final String MESSAGE_PAGE = "index.jsp";
private static final String MESSAGE_ADMINPAGE = "admin.jsp";
private static final String MESSAGE_LIST_TOKEN = "messages";
private static final String ACTION_MESSAGE_ADD = "MESSAGE_ADD";
private static final String ACTION_MESSAGE_MOD = "ADMIN_MESSAGE_MODIFY";
private static final String ACTION_MESSAGE_DEL = "ADMIN_MESSAGE_DELETE";
private static final String ACTION_MESSAGE_ADMIN = "ADMIN";
private JDBCHelper _helper = null;
/** Creates a new instance of MessageProcessingCommand */
public MessageProcessingCommand(JDBCHelper helper) {
_helper = helper;
}
public void execute(HttpServletRequest request, HttpServletResponse response, String action)
throws ServletException, IOException
{
if(ACTION_MESSAGE_ADD.equals(action))
{
String newNameString = request.getParameter("yourname");
String newMessageString = request.getParameter("yourmessage");
if (isValidString(newNameString))
{
processMessageAdd(newNameString,newMessageString);
}
}
else if (action.startsWith(ACTION_MESSAGE_ADMIN))
{
if (ACTION_MESSAGE_DEL.equals(action))
{
String deleteID = request.getParameter("id");
int id = Integer.parseInt(deleteID);
processMessageDelete(id);
}
else if (ACTION_MESSAGE_MOD.equals(action))
{
String modIdString = request.getParameter("id");
int modId = Integer.parseInt(modIdString);
String modNameString = request.getParameter("yourname");
String modMessageString = request.getParameter("yourmessage");
if (isValidString(modNameString) && (modId > 0))
{
processMessageModify(new Message(modId, modNameString,modMessageString));
}
}
processMessageList(request);
performRedirect(MESSAGE_ADMINPAGE, request, response);
return;
}
processMessageList(request);
performRedirect(MESSAGE_PAGE, request, response);
}
private void processMessageModify(Message message)
{
BoardManager manager = null;
try
{
manager = getBoardManager();
manager.modifyMessage(message);
}
catch (DataException unexpected)
{
throw new IllegalArgumentException("Error modifying venue : " + unexpected);
}
finally
{
if (manager != null)
{
manager.releaseResources();
}
}
}
private void processMessageDelete(int MessageId)
{
BoardManager manager = null;
try
{
manager = getBoardManager();
manager.deleteMessage(MessageId);
}
catch (DataException unexpected)
{
throw new IllegalArgumentException("Error deleting venue : " + unexpected);
}
finally
{
if (manager != null)
{
manager.releaseResources();
}
}
}
private void processMessageAdd(String newNameString,String newMessageString)
{
BoardManager manager = null;
try
{
manager = getBoardManager();
manager.addNewMessage(new Message(0, newNameString,newMessageString));
}
catch (DataException unexpected)
{
throw new IllegalArgumentException("Error adding new venue : " + unexpected);
}
finally
{
if (manager != null)
{
manager.releaseResources();
}
}
}
private void processMessageList(HttpServletRequest request)
{
BoardManager manager = null;
try
{
manager = getBoardManager();
List messages = manager.getMessages();
request.setAttribute(MESSAGE_LIST_TOKEN, messages);
}
catch (DataException unexpected)
{
throw new IllegalArgumentException("Error processing venue list : " + unexpected);
}
finally
{
if (manager != null)
{
manager.releaseResources();
}
}
}
private BoardManager getBoardManager() throws DataException
{
BoardManager manager;
try
{
manager = new HibernateMessageManager(_helper.getConnection());
}
catch (SQLException connectionFailure)
{
throw new DataException(connectionFailure.getMessage());
}
return manager;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -