📄 treemanagementbusinesslogic.java
字号:
}
//father_id不能为空
if(father_id==null){
return new BusinessObject(errorMsg(-3, "not find bizlogic.requestparameter.father_id"));
}
//root节点在数据库中已经存在且不能修改、删除
if("0".equalsIgnoreCase(node_id.trim())){
return new BusinessObject(errorMsg(-1002, "connot delete or modify root node "));
}
if(name==null) name="";
if(url==null) url="";
//
//DB操作
//
PooledConnection conn = null;
Statement statement =null;
ResultSet resultSet =null;
try{
conn = dbManager.getConnection();
conn.setAutoCommit(false);//设置自动提交属性为false
statement = conn.createStatement();
//检查father_id对应节点的第一级子节点中是否有与该节点重名的节点
String sql="select count(*) from tree_node_t where father_id="+father_id + " and name='"+name+"' and node_id<>"+node_id;
debug(sql);
resultSet = statement.executeQuery(sql);
resultSet.next();
if (resultSet.getInt("count(*)") > 0) {
return new BusinessObject(errorMsg(-1001, "the name is already exist "));
}
resultSet.close();
//更新数据库记录
sql="update tree_node_t set "+
"father_id="+father_id+","+
"name='"+name+"',"+
"url='"+url+"' where node_id="+node_id;
debug(sql);
statement.execute(sql);
conn.commit();
statement.close();
StringBuffer xml= new StringBuffer("<bizlogic><resultcode>0</resultcode><resultmessage>TreeManagementLogic request done.</resultmessage>");
xml.append("<resultparameter>");
xml.append("</resultparameter>" + Char.LINE_SEPARATOR);
xml.append("</bizlogic>");
return new BusinessObject(xml.toString());
} catch (SQLException e) {
debug(("[" + e.getErrorCode() + "]" + e.getSQLState()));
//e.printStackTrace();
logXML = "<bizlogic><sourceclass>" + this.getClass().getName() + "</sourceclass>" +
"<errormessage>" + e.getMessage() + "</errormessage>" +
"<errorsqlcode>" + e.getErrorCode() + "</errorsqlcode>" +
"<errorsqlstate>" + e.getSQLState() + "</errorsqlstate>" +
"<requestsource>" + inObject.toString() + "</requestsource></bizlogic>";
lm.Log(new BusinessObject(logXML), LogLevel.ERROR);
return new BusinessObject("<bizlogic><resultcode>-1</resultcode><resultmessage>TreeManagementLogic treeModify method DB operate error.</resultmessage></bizlogic>");
} finally {
dbManager.freeConnection(conn);
}
}
/**
*
*查询整棵树型结构的节点信息
*@param inObject
*@return
*/
protected BusinessObject listAllTreeNode(BusinessObject inObject){
PooledConnection conn = null;
try {
conn = dbManager.getConnection();
String sql = "select * from tree_node_t order by node_id";
debug(sql);
Statement statement = conn.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
StringBuffer sb = new StringBuffer("");
int count=0;
while (resultSet.next()) {
count++;
sb.append("<node_id"+count+">");
sb.append(null2string(resultSet.getString("node_id")));
sb.append("</node_id"+count+">");
sb.append("<father_id"+count+">");
sb.append(null2string(resultSet.getString("father_id")));
sb.append("</father_id"+count+">");
sb.append("<name"+count+">");
sb.append(null2string(resultSet.getString("name")));
sb.append("</name"+count+">");
sb.append("<url"+count+">");
sb.append(null2string(resultSet.getString("url")));
sb.append("</url"+count+">");
}
//清理现场
resultSet.close();
statement.close();
StringBuffer xml = new StringBuffer("<bizlogic><resultcode>0</resultcode><resultmessage>TreeManagementLogic request done.</resultmessage>");
xml.append("<resultparameter>");
xml.append("<count>"+count+"</count>");
xml.append(sb);
xml.append("</resultparameter>" + Char.LINE_SEPARATOR);
xml.append("</bizlogic>");
return new BusinessObject(xml.toString());
} catch (SQLException e) {
debug(("[" + e.getErrorCode() + "]" + e.getSQLState()));
//e.printStackTrace();
logXML = "<bizlogic><sourceclass>" + this.getClass().getName() + "</sourceclass>" +
"<errormessage>" + e.getMessage() + "</errormessage>" +
"<errorsqlcode>" + e.getErrorCode() + "</errorsqlcode>" +
"<errorsqlstate>" + e.getSQLState() + "</errorsqlstate>" +
"<requestsource>" + inObject.toString() + "</requestsource></bizlogic>";
lm.Log(new BusinessObject(logXML), LogLevel.ERROR);
return new BusinessObject("<bizlogic><resultcode>-1</resultcode><resultmessage>TreeManagementLogic listAllTreeNode method DB operate error.</resultmessage></bizlogic>");
} finally {
dbManager.freeConnection(conn);
}
}
/**
*
*根据编号删除节点信息
*@param inObject
*@return
*/
protected BusinessObject deleteTreeNode(BusinessObject inObject){
//得到参数
String node_id=inObject.getValue("bizlogic.requestparameter.node_id");
//root节点不能删除
if("0".equalsIgnoreCase(node_id.trim())){
return new BusinessObject(errorMsg(-1002, "connot delete or modify root node "));
}
try{
deleteNode(node_id);
StringBuffer xml = new StringBuffer("<bizlogic><resultcode>0</resultcode><resultmessage>TreeManagementLogic request done.</resultmessage>");
xml.append("<resultparameter>");
xml.append("</resultparameter>" + Char.LINE_SEPARATOR);
xml.append("</bizlogic>");
return new BusinessObject(xml.toString());
} catch (SQLException e) {
debug(("[" + e.getErrorCode() + "]" + e.getSQLState()));
//e.printStackTrace();
logXML = "<bizlogic><sourceclass>" + this.getClass().getName() + "</sourceclass>" +
"<errormessage>" + e.getMessage() + "</errormessage>" +
"<errorsqlcode>" + e.getErrorCode() + "</errorsqlcode>" +
"<errorsqlstate>" + e.getSQLState() + "</errorsqlstate>" +
"<requestsource>" + inObject.toString() + "</requestsource></bizlogic>";
lm.Log(new BusinessObject(logXML), LogLevel.ERROR);
return new BusinessObject("<bizlogic><resultcode>-1</resultcode><resultmessage>TreeManagementLogic deleteNode method DB operate error.</resultmessage></bizlogic>");
}
}
//第归方法,删除一个节点,如果是非叶子节点,则删除子树
private void deleteNode(String node_id) throws SQLException{
//
//DB操作
//
PooledConnection conn = null;
Statement statement = null;
ResultSet resultSet =null;
try{
conn = dbManager.getConnection();
conn.setAutoCommit(false);
statement = conn.createStatement();
//如果删除一个节点,则其子节点也随之删除
String sql ="select node_id from tree_node_t where father_id="+node_id;
debug(sql);
resultSet = statement.executeQuery(sql);
String sub_node_id=null;
while(resultSet.next()){
sub_node_id=resultSet.getString("node_id");
deleteNode(sub_node_id);
}
sql = "delete from tree_node_t where node_id="+node_id;
debug(sql);
statement.execute(sql);
conn.commit();
}catch(SQLException e){
throw e;
}finally {
dbManager.freeConnection(conn);
}
}
private String null2string(String str) {
if (str == null)
return "";
else
return str;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -