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

📄 operatorcontroller.java

📁 一个购房管理系统,JSF+Hibernate+Mssql2
💻 JAVA
字号:
/*
 * OperatorController.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.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
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 org.hibernate.Query;

import com.housesale.hibernate.HierarchyMenu;
import com.housesale.hibernate.Operator;
import com.housesale.hibernate.OperatorFunction;
import com.housesale.hibernate.dao.OperatorDAO;
import com.housesale.hibernate.dao.OperatorFunctionDAO;

/**
 * 
 * @author MSQ
 */
public class OperatorController {

	/** Creates a new instance of OperatorController */
	public OperatorController() {
	}

	private Operator operator;

	private DataModel model;
	
	private OperatorDAO getEntityManager() {
		OperatorDAO.initialize();
		return new OperatorDAO();
	}

	private int batchSize = 10;

	private int firstItem = 0;

	private String queryProperty;

	private String queryValue;

	private int itemCount = 0;

	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 Operator getOperator() {
		return operator;
	}

	public void setOperator(Operator operator) {
		this.operator = operator;
	}

	public DataModel getDetailOperators() {
		return model;
	}

	public void setDetailOperators(Collection<Operator> m) {
		model = new ListDataModel(new ArrayList(m));
	}

	public String createSetup() {
		this.operator = new Operator();
		this.operator.setOperatorId(0);
		return "operator_create";
	}

	public String create() {

		try {

			this.operator=getEntityManager().get(getEntityManager().save(operator));
			
			String functionId = getFuntionIds();
			OperatorFunction operatorFunction = new OperatorFunction();
			operatorFunction.setId(0);
			operatorFunction.setFunctionId(functionId);
			operatorFunction.setOperator(operator);
			
			OperatorFunctionDAO.initialize();
			OperatorFunctionDAO operatorFunctionDAO=new OperatorFunctionDAO();
			operatorFunctionDAO.save(operatorFunction);
			
			addSuccessMessage("Operator was successfully created.");
		} catch (Exception ex) {
			try {
				addErrorMessage(ex.getLocalizedMessage());

			} catch (Exception e) {
				addErrorMessage(e.getLocalizedMessage());
			}
		}
		return "operator_list";
	}

	private String getFuntionIds() {
		
		String functionId = "";
		Iterator list = getEntityManager().getQuery("from HierarchyMenu as o").list().iterator();
		for (; list.hasNext();) {
			HierarchyMenu hierarchyMenu = (HierarchyMenu) list.next();			
			functionId = functionId + "'" + hierarchyMenu.getId()+ "',";			
		}
		return functionId.substring(0, functionId.length()-1);
	}

	public String detailSetup() {
		setOperatorFromRequestParam();
		return "operator_detail";
	}

	public String editSetup() {
		setOperatorFromRequestParam();
		return "operator_edit";
	}

	public String edit() {

		try {

			getEntityManager().update(operator);
			addSuccessMessage("Operator was successfully updated.");
		} catch (Exception ex) {
			try {
				addErrorMessage(ex.getLocalizedMessage());

			} catch (Exception e) {
				addErrorMessage(e.getLocalizedMessage());
			}
		}
		return "operator_list";
	}

	public String destroy() {

		try {

			Operator operator = getOperatorFromRequestParam();
			getEntityManager().delete(operator);

			addSuccessMessage("Operator was successfully deleted.");
		} catch (Exception ex) {
			try {
				addErrorMessage(ex.getLocalizedMessage());

			} catch (Exception e) {
				addErrorMessage(e.getLocalizedMessage());
			}
		}
		return "operator_list";
	}

	public Operator getOperatorFromRequestParam() {

		Operator o = null;
		try {
			o = (Operator) model.getRowData();
			o = getEntityManager().get(o.getOperatorId());

		} finally {
			return o;
		}
	}

	public void setOperatorFromRequestParam() {
		Operator operator = getOperatorFromRequestParam();
		setOperator(operator);
	}

	public String findOperators() {

		Query q = null;
		if (this.queryProperty.equals("operatorId")) {
			try {
				Integer.valueOf(getQueryValue());
			} catch (NumberFormatException e) {
				addErrorMessage(e.getLocalizedMessage());
				return "operator_list";
			}
			q = this.getEntityManager().findByProperty(getQueryProperty(),
					Integer.valueOf(getQueryValue()));
		} else if (this.queryProperty.equals("all")) {
			q = this.getEntityManager().getQuery("from Operator 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 "operator_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 Operator findOperator(Integer id) {

		Operator o = null;
		try {
			o = (Operator) getEntityManager().get(id);
		} finally {
			return o;
		}
	}

	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 findOperators();
	}

	public String prev() {
		firstItem -= batchSize;
		if (firstItem < 0) {
			firstItem = 0;
		}
		return findOperators();
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -