?? administrator.java
字號(hào):
/*
* @(#)Administrator.java 1.0 05/10/10
*
* Copyright 2005 HUST Hotel, Inc. All rights reserved.
*/
package net.husthotel.beans;
import java.sql.SQLException;
import java.util.ArrayList;
//import javax.faces.model.DataModel;
//import javax.faces.model.ArrayDataModel;
import net.husthotel.datebase.AdminDAO;
import net.husthotel.datebase.NoRoomAvailableException;
/**
* 該類代表管理員,管理房間信息.
* @author icerain
* @version 1.0, 05/10/10
*
*/
public class Administrator extends BasicManager {
//private ArrayList<Order> orderList = new ArrayList<Order>();
private ArrayList<Room> roomList = new ArrayList<Room>();
private ArrayList<Room> queryRoomList = new ArrayList<Room> ();
//private ArrayDataModel roomDataModel = null;
private boolean markedForEditeQuery = false; //標(biāo)志是否查詢,為JSF頁面顯示
private boolean markedForDeleteQuery = false;// ..提供信息
private boolean markedForEdite = false; //標(biāo)志是否編輯,為JSF頁面顯示
private boolean markedForDelete = false; // ..提供信息
private boolean roomNumQuery = false; //標(biāo)志查詢的種類
private boolean roomTypeQuery = false; //..
private boolean roomStateQuery = false;
private boolean canQueryMark = false;
private String roomNum = null;
private String roomType = null;
private String roomState = null;
public Administrator() {
super();
//roomDataModel = new ArrayDataModel();
}
@Override
public String loginAction() {
//添加調(diào)用DAO代碼
try {
if(new AdminDAO().login(getName(),getPassword())) {
roomList = new AdminDAO().queryRoomInfo();
return "aLoginSuc";
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "loginFail";
}
return "loginFail";
}
/**
* 管理員在操作返回時(shí)候,更新數(shù)據(jù).
* @return 用于JSF 導(dǎo)航的一個(gè)字符串
*/
public String returnAction() {
// 添加調(diào)用DAO代碼
try {
roomList = new AdminDAO().queryRoomInfo();
return "amain";
} catch (SQLException e) {
e.printStackTrace();
}
return "amain";
}
@Override
public String logoutAction() {
//添加調(diào)用DAO代碼
return "logout";
}
/**
* 添加房間.
* @return a string 用于JSF導(dǎo)航.添加成功返回"addRoomSuc" or 返回"addRoomFail".
*/
public String addRoomAction(Room r) {
//Add DAO code 調(diào)用AdminDAO.addRoom(room):boolean
try {
if(new AdminDAO().addRoom(r)) {
return "addRoomSuc";
}
return "addRoomFail";
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoRoomAvailableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "addRoomFail";
}
/**
* 刪除房間.
* @return true,如果刪除房間成功;or false.
*/
public boolean deleteRoom(String roomNum) {
//Add DAO code 調(diào)用AdminDAO.deleteRoom(roomNum):boolean
try {
if(new AdminDAO().deleteRoom(roomNum)){
return true;
}
return false;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoRoomAvailableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
/**
* 修改房間信息.
* @return a string 用于JSF導(dǎo)航. 修改成功返回"modifyRoomInfoSuccess" or 返回"modifyRoomInfoFail".
*/
protected String modifyRoomInfo(Room r) {
//Add DAO code 調(diào)用AdminDAO.modifyRoomInfo(newRoom...):boolean
try {
if(new AdminDAO().modifyRoomInfo(r)) {
return "modifyRoomInfoSuccess";
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "modifyRoomInfoFail";
}
/**
* 修改房間信息.
* @return a string 用于JSF導(dǎo)航. 修改成功返回"modifyRoomInfoSuccess" or 返回"modifyRoomInfoFail".
*/
public String modifyRoomInfoAction() {
for(Room r: queryRoomList) {
if(r.isEditable()) {
if( "modifyRoomInfoFail".equals( modifyRoomInfo(r) ) )
return "aOperateFail";
}
}
return "aOperateSuc";
}
/**
* 查詢所有房間
* @return a string "queryRoomInfoSuccess" or "queryRoomInfoFail"用于JSF導(dǎo)航.
*/
public String queryRoomInfoAction() {
//Add DAO code 調(diào)用AdminDAO.queryRoomInfo(roomNum):Room(or ArrayList<Room>)
//如果成功返回"queryRoomInfoSuccess"(并在頁面中顯示房間信息)
//or返回"queryRoomInfoFail"
try {
roomList = new AdminDAO().queryRoomInfo();
return "queryRoomInfoSuccess";
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "queryRoomInfoFail";
}
/**
* 根據(jù)條件查詢房間
* @return a string "queryRoomFail" or "null"用于JSF導(dǎo)航.
*/
public String queryRoomByConditionAction() {
StringBuffer stringBuf = new StringBuffer(100);
//構(gòu)造Sql 的where 查詢語句
stringBuf.append(" where");
if( roomNumQuery ) {
stringBuf.append( " roomNum='" + getRoomNum()+"'" );
} //if
if( roomStateQuery ) {
if(roomNumQuery) {
stringBuf.append(" and roomState='" + getRoomState() + "'");
} else {
stringBuf.append(" roomState='" + getRoomState() + "'");
}
} //if
if( roomTypeQuery ) {
if(roomNumQuery || roomStateQuery) {
stringBuf.append(" and roomType='" + getRoomType() +"'");
} else {
stringBuf.append(" roomType='" + getRoomType() +"'");
}
} //if
String querySql = stringBuf.toString();
System.out.println( querySql);
try {
queryRoomList = new AdminDAO().queryRoomInfoByCondition(querySql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "queryRoomFail";
}
return null;
}
/**
* 發(fā)布通知.更改通知文件 message.html
* @param message 通知內(nèi)容
* @return "true" if issue Message successful, or "false".
*/
public boolean issueMessage(String message) {
//Add DAO code
return true;
}
/**
* 刪除查詢的房間
* @return a string "operateFail" or "null/operateSuc"用于JSF導(dǎo)航.
*/
public String deleteRoomsAction() {
if(! getAnyRoomsMarkedForDeletion()) {
return null;
}
ArrayList<Room> newRooms = new ArrayList<Room>();
int j = 0;
for(Room r: queryRoomList) {
if( r.isDeletable()) { //標(biāo)記為刪除
if(! deleteRoom(r.getRoomNum())) {//在數(shù)據(jù)庫(kù)中刪除數(shù)據(jù)
return "aOperateFail";
}
} else {
newRooms.add(j++,r);
}
}
queryRoomList = newRooms;
return "aOperateSuc";
}
/**
* 得到標(biāo)記為刪除房間的數(shù)目
* @return 標(biāo)記為刪除的房間的 數(shù)量
*/
public int getNumOfRoomsMarkerForDeletion() {
int cnt = 0;
for(Room r: queryRoomList) {
if(r.isDeletable())
++cnt;
}
return cnt;
}
/**
* 查看是否有任何房間標(biāo)記為刪除
* @return true ;如果有任何房間標(biāo)記為刪除;or false.
*/
public boolean getAnyRoomsMarkedForDeletion() {
for(Room r: queryRoomList) {
//System.out.println("Room is deletable" + r.isDeletable());
if (r.isDeletable())
return true;
}
return false;
}
/**
* 查看是否有任何房間標(biāo)記為編輯
* @return true ;如果有任何房間標(biāo)記為編輯;or false.
*/
public boolean getAnyRoomsMarkedForEditable() {
for(Room r:queryRoomList) {
if (r.isEditable())
return true;
}
return false;
}
//////////////////////-----getter/setter 方法--------------/////////////////////////
public ArrayList<Room> getRoomList() {
return roomList;
}
public void setRoomList(ArrayList<Room> roomList) {
this.roomList = roomList;
}
public boolean isMarkedForDelete() {
return markedForDelete;
}
public void setMarkedForDelete(boolean markedForDelete) {
this.markedForDelete = markedForDelete;
}
public boolean isMarkedForEdite() {
return markedForEdite;
}
public void setMarkedForEdite(boolean markedForEdite) {
this.markedForEdite = markedForEdite;
}
public boolean isRoomNumQuery() {
return roomNumQuery;
}
public void setRoomNumQuery(boolean roomNumQuery) {
this.roomNumQuery = roomNumQuery;
}
public boolean isRoomStateQuery() {
return roomStateQuery;
}
public void setRoomStateQuery(boolean roomStateQuery) {
this.roomStateQuery = roomStateQuery;
}
public boolean isRoomTypeQuery() {
return roomTypeQuery;
}
public void setRoomTypeQuery(boolean roomTypeQuery) {
this.roomTypeQuery = roomTypeQuery;
}
public String getRoomNum() {
return roomNum;
}
public void setRoomNum(String roomNum) {
this.roomNum = roomNum;
}
public String getRoomState() {
return roomState;
}
public void setRoomState(String roomState) {
this.roomState = roomState;
}
public String getRoomType() {
return roomType;
}
public void setRoomType(String roomType) {
this.roomType = roomType;
}
public ArrayList<Room> getQueryRoomList() {
return queryRoomList;
}
public boolean isMarkedForDeleteQuery() {
return markedForDeleteQuery;
}
public void setMarkedForDeleteQuery(boolean markedForDeleteQuery) {
this.markedForDeleteQuery = markedForDeleteQuery;
}
public boolean isMarkedForEditeQuery() {
return markedForEditeQuery;
}
public void setMarkedForEditeQuery(boolean markedForEditeQuery) {
this.markedForEditeQuery = markedForEditeQuery;
}
public boolean isCanQueryMark() {
if(roomNumQuery || roomStateQuery || roomTypeQuery) {
canQueryMark = false;
return ! canQueryMark;
}
return canQueryMark;
}
public void setCanQueryMark(boolean canQueryMark) {
this.canQueryMark = canQueryMark;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -