📄 buildingcontroller.java
字号:
/*
* BuildingController.java
*
* Created on 2007��5��29��, ����2:59
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package com.housesale.jsfbean;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.faces.model.SelectItem;
import javax.servlet.http.HttpServletRequest;
import org.apache.myfaces.custom.fileupload.UploadedFile;
import org.hibernate.Query;
import com.housesale.hibernate.Building;
import com.housesale.hibernate.Community;
import com.housesale.hibernate.dao.BuildingDAO;
/**
*
* @author MSQ
*/
public class BuildingController {
/** Creates a new instance of BuildingController */
public BuildingController() {
}
private Building building;
private DataModel model;
private BuildingDAO getEntityManager() {
BuildingDAO.initialize();
return new BuildingDAO();
}
private String detailUrl;
private int batchSize = 10;
private int firstItem = 0;
private String queryProperty;
private String queryValue;
private int itemCount = 0;
private UploadedFile image1;
private UploadedFile image2;
public UploadedFile getImage1() {
return image1;
}
public void setImage1(UploadedFile image) {
this.image1 = image;
if (image != null)
try {
this.building.setImage1(image1.getBytes());
} catch (IOException e) {
addErrorMessage(e.getLocalizedMessage());
}
}
public UploadedFile getImage2() {
return image2;
}
public void setImage2(UploadedFile image) {
this.image2 = image;
if (image2 != null)
try {
this.building.setImage2(image2.getBytes());
} catch (IOException e) {
addErrorMessage(e.getLocalizedMessage());
}
}
public DataModel getModel() {
return model;
}
public void setModel(DataModel model) {
this.model = model;
}
public String getQueryProperty() {
return queryProperty;
}
public void setQueryProperty(String queryProperty) {
this.queryProperty = queryProperty;
}
public String getQueryValue() {
return queryValue;
}
public void setQueryValue(String queryValue) {
this.queryValue = queryValue;
}
public void setItemCount(int itemCount) {
this.itemCount = itemCount;
}
public Building getBuilding() {
return building;
}
public void setBuilding(Building building) {
this.building = building;
}
public DataModel getDetailBuildings() {
return model;
}
public void setDetailBuildings(Collection<Building> m) {
model = new ListDataModel(new ArrayList(m));
}
public String createSetup() {
this.building = new Building();
this.building.setBuildingId(0);
return "building_create";
}
public String create() {
try {
getEntityManager().save(building);
addSuccessMessage("Building was successfully created.");
} catch (Exception ex) {
try {
addErrorMessage(ex.getLocalizedMessage());
} catch (Exception e) {
addErrorMessage(e.getLocalizedMessage());
}
}
return "building_list";
}
public String detailSetup() {
FacesContext facesContext = FacesContext.getCurrentInstance();
StringBuffer host = ((HttpServletRequest) facesContext
.getExternalContext().getRequest()).getRequestURL();
String str = host.substring(0, host.lastIndexOf("/"));
str = str.substring(0, str.lastIndexOf("/") + 1);
this.setDetailUrl(str);
setBuildingFromRequestParam();
return "building_detail";
}
public String editSetup() {
setBuildingFromRequestParam();
return "building_edit";
}
public String edit() {
try {
getEntityManager().update(building);
addSuccessMessage("Building was successfully updated.");
} catch (RuntimeException ex) {
try {
addErrorMessage(ex.getLocalizedMessage());
} catch (Exception e) {
addErrorMessage(e.getLocalizedMessage());
}
}
return "building_list";
}
public String destroy() {
try {
Building building = getBuildingFromRequestParam();
getEntityManager().delete(building);
addSuccessMessage("Building was successfully deleted.");
} catch (Exception ex) {
try {
addErrorMessage(ex.getLocalizedMessage());
} catch (Exception e) {
addErrorMessage(e.getLocalizedMessage());
}
}
return "building_list";
}
public Building getBuildingFromRequestParam() {
Building o = null;
try {
o = (Building) model.getRowData();
o = (Building) getEntityManager().get(o.getBuildingId());
} catch (Exception e) {
addErrorMessage(e.getLocalizedMessage());
} finally {
return o;
}
}
public void setBuildingFromRequestParam() {
Building building = getBuildingFromRequestParam();
setBuilding(building);
}
public String findBuildings() {
Query q = null;
if (this.queryProperty.equals("community.communityId")
|| this.queryProperty.equals("buildingId")) {
try {
Integer.valueOf(getQueryValue());
} catch (NumberFormatException e) {
addErrorMessage(e.getLocalizedMessage());
return "building_list";
}
q = this.getEntityManager().findByProperty(getQueryProperty(),
Integer.valueOf(getQueryValue()));
} else if (this.queryProperty.equals("all")) {
q = this.getEntityManager().getQuery("from Building as o");
} else {
q = this.getEntityManager().findByProperty(getQueryProperty(),
getQueryValue());
}
List list = q.list();
this.setItemCount(list.size());
q.setMaxResults(batchSize);
q.setFirstResult(firstItem);
model = new ListDataModel(q.list());
this.getEntityManager().closeCurrentSession();
return "building_list";
}
public static void addErrorMessage(String msg) {
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
msg, msg);
FacesContext fc = FacesContext.getCurrentInstance();
fc.addMessage(null, facesMsg);
}
public static void addSuccessMessage(String msg) {
FacesMessage facesMsg = new FacesMessage(FacesMessage.SEVERITY_INFO,
msg, msg);
FacesContext fc = FacesContext.getCurrentInstance();
fc.addMessage("successInfo", facesMsg);
}
public Building findBuilding(Integer id) {
Building o = null;
try {
o = (Building) getEntityManager().get(id);
} finally {
return o;
}
}
public javax.faces.model.SelectItem[] getCommunityIDs() {
SelectItem select[] = new SelectItem[0];
try {
List<Community> l = (List<Community>) getEntityManager().getQuery(
"from Community as o").list();
select = new SelectItem[l.size()];
int i = 0;
for (Community x : l) {
select[i++] = new SelectItem(x, x.getCommunityName());
}
} finally {
return select;
}
}
public int getItemCount() {
return this.itemCount;
}
public int getFirstItem() {
return firstItem;
}
public int getLastItem() {
int size = getItemCount();
return firstItem + batchSize > size ? size : firstItem + batchSize;
}
public int getBatchSize() {
return batchSize;
}
public String next() {
if (firstItem + batchSize < getItemCount()) {
firstItem += batchSize;
}
return findBuildings();
}
public String prev() {
firstItem -= batchSize;
if (firstItem < 0) {
firstItem = 0;
}
return findBuildings();
}
public String getDetailUrl() {
return detailUrl;
}
public void setDetailUrl(String detailUrl) {
this.detailUrl = detailUrl;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -