treebuildmenu.java
来自「一个购房管理系统,JSF+Hibernate+Mssql2」· Java 代码 · 共 275 行
JAVA
275 行
package com.housesale.util;
import java.util.Iterator;
import java.util.List;
import org.hibernate.HibernateException;
import com.housesale.hibernate.Customer;
import com.housesale.hibernate.CustomerFunction;
import com.housesale.hibernate.HierarchyMenu;
import com.housesale.hibernate.Operator;
import com.housesale.hibernate.OperatorFunction;
import com.housesale.hibernate.dao.CustomerDAO;
import com.housesale.hibernate.dao.CustomerFunctionDAO;
import com.housesale.hibernate.dao.HierarchyMenuDAO;
import com.housesale.hibernate.dao.OperatorDAO;
import com.housesale.hibernate.dao.OperatorFunctionDAO;
public class TreeBuildMenu extends AbstractBuildMenu {
public String buildMenu(String userNume, String userType) {
HierarchyMenuDAO hierarchyMenuDAO = new HierarchyMenuDAO();
String own_menuids = "";
if (userType.equals("manager")) {
own_menuids = getOperatorMenuIds(userNume);
} else {
own_menuids = getCustomerMenuIds(userNume);
}
StringBuffer sb = new StringBuffer();
if (!own_menuids.equals("")&&own_menuids!=null) {
hierarchymenus = hierarchyMenuDAO.getMenuByIn(own_menuids);
dispartParentMenu();
makeScriptForSubMenu(sb);
topMenus.clear();
hierarchymenus.clear();
}
return sb.toString();
}
public Customer getCustomer(String customerNume, String password) {
CustomerDAO.initialize();
CustomerDAO customerDAO = new CustomerDAO();
String sql ="";
try {
Integer.valueOf(customerNume);
sql = "from Customer as o where (o.customerName='" + customerNume+"' or o.customerId=" + customerNume
+ ") and o.password='" + password + "'";
} catch (NumberFormatException e1) {
sql = "from Customer as o where o.customerName='" + customerNume+"' and o.password='" + password + "'";
}
List list = null;
Customer customer = null;
try {
list = customerDAO.getSession().createQuery(sql).list();
} catch (HibernateException e) {
}
if (list.size() == 0 || list.size() < 0) {
return null;
} else {
for (int i = 0; i < list.size(); i++) {
customer = (Customer) list.get(0);
}
return customer;
}
}
public Operator getOperator(String operatorName, String password) {
List list = null;
Operator operator = null;
OperatorDAO.initialize();
OperatorDAO customerDAO = new OperatorDAO();
String sql = null;
try {
Integer.valueOf(operatorName);
sql = "from Operator as o where (o.operatorName='" + operatorName+"' or o.operatorId=" + operatorName
+ ") and o.password='" + password+ "'";
} catch (NumberFormatException e1) {
sql = "from Operator as o where o.operatorName='" + operatorName+"' and o.password='" + password + "'";
}
try {
list = customerDAO.getSession().createQuery(sql).list();
} catch (HibernateException e) {
}
if (list.size() == 0 || list.size() < 0) {
return null;
} else {
for (int i = 0; i < list.size(); i++) {
operator = (Operator) list.get(0);
}
return operator;
}
}
private String getCustomerMenuIds(String customerName) {
String own_menuids = "";
List customerFunction_list = null;
CustomerFunction customerFunction = null;
CustomerFunctionDAO.initialize();
CustomerFunctionDAO customerFunctionDAO = new CustomerFunctionDAO();
if (customerName != null && !customerName.equals("")) {
customerFunction_list = customerFunctionDAO.findByProperty(
"customer.customerName", customerName).list();
}
for (int i = 0; i < customerFunction_list.size(); i++) {
customerFunction = (CustomerFunction) customerFunction_list.get(0);
}
if (customerFunction == null) {
return "";
} else {
own_menuids = customerFunction.getFunctionId();
}
return own_menuids;
}
private String getOperatorMenuIds(String operatorName) {
String own_menuids = "";
List operatorFunction_list = null;
OperatorFunction operatorFunction = null;
OperatorFunctionDAO.initialize();
OperatorFunctionDAO operatorFunctionDAO = new OperatorFunctionDAO();
if (operatorName != null && !operatorName.equals("")) {
operatorFunction_list = operatorFunctionDAO.findByProperty(
"operator.operatorName", operatorName).list();
}
for (int i = 0; i < operatorFunction_list.size(); i++) {
operatorFunction = (OperatorFunction) operatorFunction_list.get(0);
}
if (operatorFunction == null) {
return "";
} else {
own_menuids = operatorFunction.getFunctionId();
}
return own_menuids;
}
/*
* (non-Javadoc)
*
* @see org.fenghua.util.BuildMenu#makeScriptForSubMenu(java.lang.StringBuffer)
*/
private void makeScriptForSubMenu(StringBuffer sb) {
sb.append("var cooltree=new alai_tree_cool(treeFrame);");
sb.append("\n");
sb.append("var root=cooltree.root;");
sb.append("\n");
int j = 1;
for (int i = 0; i < topMenus.size(); i++) {
TreeCompositeMenu treeCompositeMenu = (TreeCompositeMenu) topMenus
.get(i);
treeCompositeMenu.setLevelCoord(Integer.toString(j));
j++;
try {
dispartSubMenu(treeCompositeMenu.getMenuId(), treeCompositeMenu);
sb.append("root_");
sb.append(treeCompositeMenu.getLevelCoord());
sb.append("=");
sb.append("root.add(\"" + treeCompositeMenu.getMenuName()
+ "\"");
sb.append(");");
sb.append("\n");
} catch (Exception e) {
e.printStackTrace();
}
sb.append(treeCompositeMenu.newMenu());
sb.append("\n");
}
// /////////////////////////////////////////
for (int i = 0; i < topMenus.size(); i++) {
TreeCompositeMenu menu = (TreeCompositeMenu) topMenus.get(i);
sb.append(menu.addMenuItems());
sb.append("\n");
}
sb.append("\n");
}
/*
* (non-Javadoc)
*
* @see org.fenghua.util.BuildMenu#dispartParentMenu()
*/
private void dispartParentMenu() {
for (Iterator it = hierarchymenus.iterator(); it.hasNext();) {
HierarchyMenu hierarchymenu = (HierarchyMenu) it.next();
String parentmenuid = hierarchymenu.getParentMenuId();
if (parentmenuid == null || parentmenuid.equals("")) {
TreeCompositeMenu aTopMenu;
aTopMenu = new TreeCompositeMenu(hierarchymenu.getMenuId(),
hierarchymenu.getMenuNameZhCn(), hierarchymenu
.getMenuUrl(), isHasLeaf(hierarchymenu
.getMenuId()), hierarchymenu.getMenuType());
topMenus.add(aTopMenu);
}
}
}
/*
* (non-Javadoc)
*
* @see org.fenghua.util.BuildMenu#dispartSubMenu(java.lang.String,
* org.fenghua.util.WinXPCompositeMenu)
*/
private void dispartSubMenu(String menuId, TreeCompositeMenu comSrc) {
for (Iterator itr = hierarchymenus.iterator(); itr.hasNext();) {
HierarchyMenu hm = (HierarchyMenu) itr.next();
if (menuId.equals(hm.getParentMenuId())) {
String childMenuId = hm.getMenuId();
String menuName = hm.getMenuNameZhCn();
;
String href = hm.getMenuUrl();
if (hm.getMenuType().equals("url")) // simple menu
{
TreeCompositeMenu treeCompositeMenu = new TreeCompositeMenu(
childMenuId, menuName, href,
isHasLeaf(childMenuId), hm.getMenuType());
comSrc.add(treeCompositeMenu);
} else {
TreeCompositeMenu aParentMenu = new TreeCompositeMenu(
childMenuId, menuName, isHasLeaf(childMenuId), hm
.getMenuType());
comSrc.add(aParentMenu);
dispartSubMenu(childMenuId, aParentMenu);
}
}
}
}
/*
* (non-Javadoc)
*
* @see org.fenghua.util.BuildMenu#isHasLeaf(java.lang.String)
*/
private boolean isHasLeaf(String menuId) {
for (Iterator it = hierarchymenus.iterator(); it.hasNext();) {
HierarchyMenu hierarchymenu = (HierarchyMenu) it.next();
if (menuId.equals(hierarchymenu.getParentMenuId()))
return false;
}
return true;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?