⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 buildingcontroller.java

📁 一个购房管理系统,JSF+Hibernate+Mssql2
💻 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 + -