ColumnService.java
上传用户:junmaots
上传日期:2022-07-09
资源大小:2450k
文件大小:7k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. /*
  2.  * Created on 2005-11-10
  3.  *
  4.  * TODO To change the template for this generated file go to
  5.  * Window - Preferences - Java - Code Style - Code Templates
  6.  */
  7. package com.mycompany.news.service;
  8. import java.sql.Connection;
  9. import java.util.ArrayList;
  10. import java.util.List;
  11. import com.mycompany.database.Database;
  12. import com.mycompany.news.dao.ColumnDAO;
  13. import com.mycompany.news.dao.NewsDAO;
  14. import com.mycompany.news.dao.impl.ColumnDAOImpl;
  15. import com.mycompany.news.dao.impl.NewsDAOImpl;
  16. import com.mycompany.news.dto.Column;
  17. import com.mycompany.news.dto.News;
  18. /**
  19.  * @author Administrator
  20.  * 
  21.  * TODO To change the template for this generated type comment go to Window -
  22.  * Preferences - Java - Code Style - Code Templates
  23.  */
  24. public class ColumnService extends BaseService{
  25. private ColumnDAO columnDAO=new ColumnDAOImpl();
  26. private int count;
  27. public boolean addColumn(Column Column) {
  28. Connection connection = null;
  29. try {
  30. connection = Database.getConnection();
  31. columnDAO.setConnection(connection);
  32. columnDAO.addColumn(Column);
  33. Database.commit();
  34. return true;
  35. } catch (Exception e) {
  36. e.printStackTrace();
  37. message = e.getMessage();
  38. Database.rollback();
  39. return false;
  40. } finally {
  41. Database.releaseConnection(connection);
  42. }
  43. };//添加Column信息
  44. public boolean updateColumn(Column column) {
  45. Connection conn=null;
  46. try{
  47. conn = Database.getConnection();
  48. columnDAO.setConnection(conn);
  49. columnDAO.updateColumn(column);
  50. conn.commit();
  51. return true;
  52. }catch(Exception e){
  53. e.printStackTrace();
  54. message = e.getMessage();
  55. Database.rollback();
  56. return false;
  57. }finally{
  58. Database.releaseConnection(conn);
  59. }
  60. };//修改Column信息
  61. //
  62. public boolean deleteColumn(Column column) {
  63. Connection connection = null;
  64. try {
  65. connection = Database.getConnection();
  66. NewsDAO newsDAO = new NewsDAOImpl();
  67. newsDAO.setConnection(connection);
  68. News condition = new News();
  69. condition.setColumnId(column.getColumnId());
  70. List list = newsDAO.listNews(condition,1,100);
  71. if(list.size()>0){
  72. setMessage("本栏目已经存在新闻,不能删除");
  73. return false;
  74. }
  75. columnDAO.setConnection(connection);
  76. Column cCondition = new Column();
  77. cCondition.setParentColumn(column.getColumnId());
  78. List list2 = columnDAO.listColumns(cCondition,1,100);
  79. if(list2.size()>0){
  80. setMessage("本栏目已经存在子栏目,不能删除");
  81. return false;
  82. }
  83. columnDAO.deleteColumn(column);
  84. Database.commit();
  85. return true;
  86. } catch (Exception e) {
  87. e.printStackTrace();
  88. message = e.getMessage();
  89. Database.rollback();
  90. return false;
  91. } finally {
  92. Database.releaseConnection(connection);
  93. }
  94. };//删除Column信息
  95. //
  96. public List listAllColumns() {
  97. Connection connection = null;
  98. try {
  99. connection = Database.getConnection();
  100. columnDAO.setConnection(connection);
  101. return columnDAO.listAllColumns();
  102. } catch (Exception e) {
  103. e.printStackTrace();
  104. message = e.getMessage();
  105. Database.rollback();
  106. } finally {
  107. Database.releaseConnection(connection);
  108. }
  109. return new ArrayList();
  110. };//列出所有的Column信息
  111. //
  112. public List listColumns(Column columnCondition,int pageNo,int pageSize) {
  113. Connection conn =null;
  114. try{
  115. conn = Database.getConnection();
  116. columnDAO.setConnection(conn);
  117. return columnDAO.listColumns(columnCondition,pageNo,pageSize);
  118. }catch(Exception e){
  119. e.printStackTrace();
  120. message = e.getMessage();
  121. return null;
  122. }finally{
  123. Database.releaseConnection(conn);
  124. }
  125. };//组合条件查询
  126. public Column getByID(long id) {
  127. Connection connection = null;
  128. try {
  129. connection = Database.getConnection();
  130. columnDAO.setConnection(connection);
  131. return columnDAO.getByID(id);
  132. } catch (Exception e) {
  133. e.printStackTrace();
  134. message = e.getMessage();
  135. } finally {
  136. Database.releaseConnection(connection);
  137. }
  138. return null;
  139. };//根据主键获取对象
  140. /**
  141.  * @param message
  142.  *            The message to set.
  143.  */
  144. /**
  145.  * @return Returns the ColumnDAO.
  146.  */
  147. public ColumnDAO getColumnDAO() {
  148. return columnDAO;
  149. }
  150. /**
  151.  * @param columnDAO
  152.  *            The ColumnDAO to set.
  153.  */
  154. public void setColumnDAO(ColumnDAO columnDAO) {
  155. this.columnDAO = columnDAO;
  156. }
  157. /**
  158.  * 取得root下的所有递归子节点
  159.  * @param root
  160.  * @return
  161.  */
  162. public List listSublings(Column root){
  163. Connection con = null;
  164. try{
  165. con=Database.getConnection();
  166. columnDAO.setConnection(con);
  167. Column columnCondition=new Column();
  168. columnCondition.setTopColumn(root.getColumnId());
  169. return columnDAO.listColumns(columnCondition,1,Integer.MAX_VALUE);
  170. }catch(Exception e){
  171. e.printStackTrace();
  172. message = e.getMessage();
  173. return new ArrayList();
  174. }finally{
  175. Database.releaseConnection(con);
  176. }
  177. }
  178. /**
  179.  * 取得parent下的直接子节点
  180.  * @param parent
  181.  * @return
  182.  */
  183. public List listChildren(Column parent){
  184. Connection con = null;
  185. try{
  186. con=Database.getConnection();
  187. columnDAO.setConnection(con);
  188. Column columnCondition=new Column();
  189. columnCondition.setParentColumn(parent.getColumnId());
  190. return columnDAO.listColumns(columnCondition,1,Integer.MAX_VALUE);
  191. }catch(Exception e){
  192. e.printStackTrace();
  193. message = e.getMessage();
  194. return new ArrayList();
  195. }finally{
  196. Database.releaseConnection(con);
  197. }
  198. }
  199. /**
  200.  * 取得栏目树的字符串表示
  201.  * @param root
  202.  * @param treeList
  203.  * @return
  204.  */
  205. public StringBuffer getTreeString(String url,Column root, List treeList){
  206. StringBuffer strBuf = new StringBuffer();
  207. strBuf.
  208. append("['"+root.getColumnName()+"',").
  209. append("'"+url).
  210. append(root.getColumnId()).
  211. append("'");
  212. for(int i=0;i<treeList.size();i++){
  213. Column column = (Column) treeList.get(i);
  214. if(column.getParentColumn().equals(root.getColumnId())){
  215. strBuf.append(",").append("n");
  216. strBuf.append(getTreeString(url,column,treeList));
  217. }
  218. }
  219. strBuf.append("]");
  220. return strBuf;
  221. }
  222. public static void main(String[] args) {
  223. ColumnService cs = new ColumnService();
  224. List columns = new ArrayList();
  225. Column c0 = new Column();
  226. c0.setColumnId(new Long(1));
  227. c0.setParentColumn(new Long(0));
  228. c0.setColumnName("根");
  229. c0.setCurrentLevel(new Integer(0));
  230. columns.add(c0);
  231. Column c1 = new Column();
  232. c1.setColumnId(new Long(2));
  233. c1.setParentColumn(new Long(1));
  234. c1.setColumnName("根-叶节点1");
  235. c1.setCurrentLevel(new Integer(1));
  236. columns.add(c1);
  237. Column c2 = new Column();
  238. c2.setColumnId(new Long(3));
  239. c2.setParentColumn(new Long(1));
  240. c2.setColumnName("根-叶节点2");
  241. c2.setCurrentLevel(new Integer(1));
  242. columns.add(c2);
  243. StringBuffer buffer = cs.getTreeString("columns.jsp?columnid=",c0,columns);
  244. System.out.println(buffer);
  245. }
  246. /**
  247.  * @return Returns the count.
  248.  */
  249. public int getCount() {
  250. return count;
  251. }
  252. /**
  253.  * @param count The count to set.
  254.  */
  255. public void setCount(int count) {
  256. this.count = count;
  257. }
  258. }