📄 jahiafilemanagerbaseservice.java
字号:
while ( rs.next() ) { int fileID = rs.getInt("id_jahia_file"); int filemanagerID = rs.getInt("filemgrid_jahia_file"); int folderID = rs.getInt("fldid_jahia_file"); String uploadUser = rs.getString("uploaduser_jahia_file"); int pageID = rs.getInt("pageid_jahia_file"); int isPublic = rs.getInt("is_public_jahia_file"); String realName = rs.getString("realname_jahia_file"); String storageName = rs.getString("storagename_jahia_file"); long lastModifDate = rs.getLong("lastmodifdate_jahia_file"); long size = rs.getLong("size_jahia_file"); String type = rs.getString("type_jahia_file"); String title = rs.getString("title_jahia_file"); String descr = rs.getString("descr_jahia_file"); aFile = new JahiaFile( filemanagerID, folderID, uploadUser, realName, storageName, lastModifDate, size, type, title, descr ); aFile.setFileID(fileID); aFile.setPageID(pageID); aFile.setPublic(isPublic); files.add(aFile); } } catch (SQLException ex) { processSQLException("JahiaFilemanagerBaseService::getFiles(sqlWhere)",ex); } finally { try { ServicesRegistry.getInstance().getDBPoolService().freeConnection(dbConn); if ( rs != null ) rs.close(); if ( stmt != null ) stmt.close(); } catch ( SQLException ex ) { processSQLException("JahiaFilemanagerBaseService:: getFile(sqlWhere) freeing connection fails",ex); } } return files; } /** * Method getFilesByFolder * Return a Vector of files for a gived folderID * * @param folder id * @param orderSql an optional sql order command * @return a Vector of link objects else null */ public Vector getFilesByFolderDB(int folderID, String orderSql) { JahiaFile aFile = null; Vector files = new Vector(); Connection dbConn = null; Statement stmt = null; ResultSet rs = null; if ( orderSql == null ) { orderSql = ""; } try { // get a connection to the db dbConn = ServicesRegistry.getInstance().getDBPoolService().getConnection(1); // execute the query String query = "select * from jahia_filemgr_files where fldid_jahia_file=" + folderID + " " + orderSql; stmt = dbConn.createStatement(); debugQuery(query); rs = ServicesRegistry.getInstance().getDBPoolService().executeQuery(stmt,query); while ( rs.next() ) { int fileID = rs.getInt("id_jahia_file"); int filemanagerID = rs.getInt("filemgrid_jahia_file"); String uploadUser = rs.getString("uploaduser_jahia_file"); int pageID = rs.getInt("pageid_jahia_file"); int isPublic = rs.getInt("is_public_jahia_file"); String realName = rs.getString("realname_jahia_file"); String storageName = rs.getString("storagename_jahia_file"); long lastModifDate = rs.getLong("lastmodifdate_jahia_file"); long size = rs.getLong("size_jahia_file"); String type = rs.getString("type_jahia_file"); String title = rs.getString("title_jahia_file"); String descr = rs.getString("descr_jahia_file"); aFile = new JahiaFile( filemanagerID, folderID, uploadUser, realName, storageName, lastModifDate, size, type, title, descr ); aFile.setFileID(fileID); files.add(aFile); } } catch (SQLException ex) { processSQLException("JahiaFilemanagerBaseService::getFilesByFolder(folderid)",ex); } finally { try { ServicesRegistry.getInstance().getDBPoolService().freeConnection(dbConn); if ( stmt != null ) stmt.close(); } catch ( SQLException ex ) { processSQLException("FileDB:: getFilesByFolder(folderID) freeing connection fails",ex); } } return files; } //-------------------------------------------------------------------------- // // // Folder DB Section // // //-------------------------------------------------------------------------- /** * Method getFilemanager<br> * Return a filemanager * * @param filemanagerID the filemanager id * @return filemanager or null * */ public Folder getFolderByFile(int fileID) { return m_FolderDB.getInstance().getFolderByFile(fileID); } /** * Method getFolder<br> * Return a folder * * @param folderID the folder id * @return folder or null * */ public Folder getFolder(int folderID) { Folder folder = m_FolderDB.getInstance().getFolder(folderID); return folder; } //-------------------------------------------------------------------------- // // // Jahia File Field DB Handling Section // // //-------------------------------------------------------------------------- /** * Method getJahiaFileFiel * Return a Jahia File Field object looking at the field id * * @param the field id * @return a (JahiaFileField) or null */ public JahiaFileField getJahiaFileField(int fieldID) { JahiaFileField fField = 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 StringBuffer buff = new StringBuffer(1024); buff.append(" select * from jahia_file_fields where fieldid_jahia_filefield="); buff.append(fieldID); //buff.append(" and fileid_jahia_filefield=id_jahia_file"); stmt = dbConn.createStatement(); debugQuery(buff.toString()); rs = ServicesRegistry.getInstance().getDBPoolService().executeQuery(stmt,buff.toString()); if (rs != null) { // normally we wouldn't need this check but somehow some JDBC // drivers don't seem to be compliant ! :( if ( rs.next() ) { int fileID = rs.getInt("fileid_jahia_filefield"); String fileFieldTitle = rs.getString("title_jahia_filefield"); try { ServicesRegistry.getInstance().getDBPoolService().freeConnection(dbConn); if ( stmt != null ) stmt.close(); } catch ( SQLException ex ) { processSQLException("JahiaFilemanagerBaseService:: getFileField(fielID) freeing connection fails",ex); } JahiaFile aFile = getFileDB(fileID); if ( aFile != null ){ fField = new JahiaFileField( fieldID, aFile ); } else { fField = new JahiaFileField( fieldID, -1, // filemanager id -1, // folder id "", // upload user "", // realname "", // storage name 0, // modif date 0, // size "", // type "", // title "" ); // descr fField.setFileID(fileID); } fField.setFileFieldTitle(fileFieldTitle); } } } catch (SQLException ex) { processSQLException("JahiaFilemanagerBaseService::getFileField(fielID)",ex); } finally { try { ServicesRegistry.getInstance().getDBPoolService().freeConnection(dbConn); if ( stmt != null ) stmt.close(); } catch ( SQLException ex ) { processSQLException("JahiaFilemanagerBaseService:: getFileField(fielID) freeing connection fails",ex); } } return fField; } /** * @param the Jahia File Field * @return true if no error */ public boolean insertJahiaFileField(JahiaFileField fField) throws JahiaException { Connection dbConn = null; Statement stmt = null; boolean success = false; try { // get a connection to the db dbConn = ServicesRegistry.getInstance().getDBPoolService().getConnection(1); System.out.println("title: "+fField.getFileFieldTitle()+" t:"+JahiaTools.quote(fField.getFileFieldTitle())); // execute the query String query = " insert into jahia_file_fields (fieldid_jahia_filefield, fileid_jahia_filefield, title_jahia_filefield)" + " values(" + fField.getFieldID() + "," + fField.getFileID() + "," + "'" + JahiaTools.quote(fField.getFileFieldTitle()) + "')"; stmt = dbConn.createStatement(); debugQuery(query); stmt.execute(query); success = true; } catch (SQLException ex) { processSQLException("JahiaFilemanagerBaseService::insertFileField()",ex); success = false; } finally { try { ServicesRegistry.getInstance().getDBPoolService().freeConnection(dbConn); if ( stmt != null ) stmt.close(); } catch ( SQLException ex ) { processSQLException("JahiaFilemanagerBaseService:: insertFileField() freeing connection fails",ex); } } return success; } /** * @param the Jahia File Field * @return true if no error */ public boolean updateJahiaFileField(JahiaFileField fField) throws JahiaException { Connection dbConn = null; Statement stmt = null; boolean success = false; try { // get a connection to the db dbConn = ServicesRegistry.getInstance().getDBPoolService().getConnection(1); // execute the query String query = " update jahia_file_fields set " + " fieldid_jahia_filefield=" + fField.getFieldID() + "," + " fileid_jahia_filefield=" + fField.getFileID() + "," + " title_jahia_filefield='" + JahiaTools.quote(fField.getFileFieldTitle()) + "'" + " where fieldid_jahia_filefield=" + fField.getFieldID() ; stmt = dbConn.createStatement(); debugQuery(query); stmt.execute(query); success = true; } catch (SQLException ex) { processSQLException("JahiaFilemanagerBaseService::updateFileField()",ex); success = false; } finally { try { ServicesRegistry.getInstance().getDBPoolService().freeConnection(dbConn); if ( stmt != null ) stmt.close(); } catch ( SQLException ex ) { processSQLException("JahiaFilemanagerBaseService::updateFileField() freeing connection fails",ex); } } return success; } /** * Delete a file field definition from database * * @param the Jahia File Field * @return true if no error */ public boolean deleteJahiaFileField(JahiaFileField fField) throws JahiaException { Connection dbConn = null; Statement stmt = null; boolean success = false; try { // get a connection to the db dbConn = ServicesRegistry.getInstance().getDBPoolService().getConnection(1); // execute the query String query = " delete from jahia_file_fields where fieldid_jahia_filefield=" + fField.getFieldID(); stmt = dbConn.createStatement();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -