📄 filemanagerdb.java
字号:
//// ____.// __/\ ______| |__/\. _______// __ .____| | \ | +----+ \// _______| /--| | | - \ _ | : - \_________// \\______: :---| : : | : | \________>// |__\---\_____________:______: :____|____:_____\// /_____|//// . . . i n j a h i a w e t r u s t . . .//package org.jahia.services.filemanager;import java.io.*;import java.util.*;import java.sql.*;import org.jahia.tools.files.*;import org.jahia.utils.*; // JahiaConsoleimport org.jahia.exceptions.*; // JahiaInitializationExceptionimport org.jahia.services.*;import org.jahia.registries.*;import org.jahia.data.files.*;import org.jahia.data.JahiaDOMObject;import org.jahia.data.JahiaDBDOMObject;/** * class FilemanagerDB * * @author khue ng * @version 1.0 */public class FilemanagerDB{ private static boolean m_debugQuery = false; private static FilemanagerDB m_instance = null; /** * Constructor */ protected FilemanagerDB() { } /** * Method getInstance * Provide a unique point to get a reference to the unique instance of this class * * @return a reference to the unique instance of this calss */ public static FilemanagerDB getInstance() { if ( m_instance == null ) { m_instance = new FilemanagerDB(); } return m_instance; } /** * Method insert * Insert a new row in jahia_filemgr table * * @param ownerID the owner of this filemanager * @return true if no exception occurs */ public boolean insert(Filemanager fmng) { boolean success = false; Connection dbConn = null; Statement stmt = null; ResultSet rs = null; try { // get a connection to the db dbConn = ServicesRegistry.getInstance().getDBPoolService().getConnection(1); int id = ServicesRegistry.getInstance().getJahiaIncrementorsDBService().autoIncrement( "jahia_filemgr" ); // execute the query String query = " insert into jahia_filemgr (id_jahia_filemgr,storagepath_jahia_filemgr,ownerid_jahia_filemgr)" + " values(" + id + ",'" + fmng.getStoragePath() + "'," + fmng.getOwnerID() + ")"; stmt = dbConn.createStatement(); debugQuery(query); stmt.execute(query); // get the filemanager id for this owner query = "select * from jahia_filemgr where ownerid_jahia_filemgr=" + fmng.getOwnerID(); debugQuery(query); rs = ServicesRegistry.getInstance().getDBPoolService().executeQuery(stmt,query); while ( rs.next() ) { int filemanagerID = rs.getInt("id_jahia_filemgr"); fmng.setFilemanagerID(filemanagerID); } success = true; } catch (SQLException ex) { processSQLException("FilemanagerDB::insert()",ex); } catch (JahiaException je ) { JahiaConsole.println("FilemanagerDB",je.getMessage() ); } finally { try { ServicesRegistry.getInstance().getDBPoolService().freeConnection(dbConn); if ( stmt != null ) stmt.close(); } catch ( SQLException ex ) { processSQLException("FilemanagerDB:: insert() freeing connection fails",ex); } } return success; } /** * Method update<br> * Update a row in jahia_filemgr table<br> * * @param fmng the filemanager object * @return true if no exception occurs */ public boolean update(Filemanager fmng) { boolean success = false; Connection dbConn = null; Statement stmt = null; try { // get a connection to the db dbConn = ServicesRegistry.getInstance().getDBPoolService().getConnection(1); // execute the query String query = " update jahia_filemgr set " + "storagepath_jahia_filemgr='" + fmng.getStoragePath() + "'," + "ownerid_jahia_filemgr=" + fmng.getOwnerID() + " where id_jahia_filemgr=" + fmng.getFilemanagerID(); stmt = dbConn.createStatement(); debugQuery(query); ServicesRegistry.getInstance().getDBPoolService().executeUpdate(stmt,query); success = true; } catch (SQLException ex) { processSQLException("FilemanagerDB::update()",ex); } finally { try { ServicesRegistry.getInstance().getDBPoolService().freeConnection(dbConn); if ( stmt != null ) stmt.close(); } catch ( SQLException ex ) { processSQLException("FilemanagerDB:: update() freeing connection fails",ex); } return success; } } /** * Method delete * Delete a row in jahia_filemgr table * * @param filemanagerID * @return false on any error else true */ public boolean delete(int filemanagerID) { boolean success = false; Connection dbConn = null; Statement stmt = null; try { // get a connection to the db dbConn = ServicesRegistry.getInstance().getDBPoolService().getConnection(1); // execute the query String query = " delete from jahia_filemgr where id_jahia_filemgr=" + filemanagerID; stmt = dbConn.createStatement(); debugQuery(query); stmt.execute(query); success = true; } catch (SQLException ex) { processSQLException("FilemanagerDB::delete()",ex); } finally { try { ServicesRegistry.getInstance().getDBPoolService().freeConnection(dbConn); if ( stmt != null ) stmt.close(); } catch ( SQLException ex ) { processSQLException("FilemanagerDB:: update() freeing connection fails",ex); } return success; } } /** * Method getFilemanager<br> * Return a filemanager looking at it's id<br> * * @param id * @return a filemanager object else null */ public Filemanager getFilemanager(int filemanagerID) { Filemanager fmng = null; Connection dbConn = null; Statement stmt = null; ResultSet rs = null; try { // get a connection to the db dbConn = ServicesRegistry.getInstance().getDBPoolService().getConnection(1); // execute the query String query = " select * from jahia_filemgr where id_jahia_filemgr=" + filemanagerID; stmt = dbConn.createStatement(); debugQuery(query); rs = ServicesRegistry.getInstance().getDBPoolService().executeQuery(stmt,query); while ( rs.next() ) { String storagePath = rs.getString("storagepath_jahia_filemgr"); int ownerID = rs.getInt("ownerid_jahia_filemgr"); fmng = new Filemanager(); fmng.setStoragePath(storagePath); fmng.setFilemanagerID(filemanagerID); fmng.setOwnerID(ownerID); } } catch (SQLException ex) { processSQLException("FilemanagerDB::getFilemanager(id)",ex); } finally { try { ServicesRegistry.getInstance().getDBPoolService().freeConnection(dbConn); if ( stmt != null ) stmt.close(); } catch ( SQLException ex ) { processSQLException("FilemanagerDB:: getFilemanager(filemanagerID) freeing connection fails",ex); } } return fmng; } /** * Method getFilemanagerByOwner * Return a filemanager looking at it's owner id * * @param id * @return a filemanager object else null */ public Filemanager getFilemanagerByOwner(int ownerID) { Filemanager fmng = null; Connection dbConn = null;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -