⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filemanager.java

📁 java 写的一个新闻发布系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
	}	/**	 * Method removeBranch<br>	 * Remove an entire branch starting from a gived folder<br>	 *	Called by getChildren()<br>	 *	 * @param activeFolder folder remove 	 * @param folderTree a vector of filtered Folder 	 * @return newTree the new tree	 */	protected Vector removeBranch(Folder activeFolder, Vector folderTree){				toConsole(" removeBranch started ");		int size = folderTree.size();		Folder folder = null;		Vector newTree = new Vector();				int depth = 0;		for ( int i=0 ; i<size ; i++ ) {			folder = (Folder)folderTree.get(i);			toConsole("removeBranch: " + folder.getFolderName() + ", depth=" + folder.getDepth() );  			if ( folder.getFolderID() == activeFolder.getFolderID() ) {								// getActivefolder depth				activeFolder.setDepth(folder.getDepth());								i+=1; // exclude itself				for ( int j=i; j<size ; j++ ) {					folder = (Folder)folderTree.get(j);					toConsole("removeBranch: remove child " + folder.getFolderName() + ", depth=" + folder.getDepth() );  											// remove all its children					if (!(folder.getDepth()>activeFolder.getDepth())){						i=(j-1);						break;					} else if ( j==(size-1) ){ // last element						i=size;						}					}			} else {				newTree.add(folder);			}		}								toConsole(" removeBranch finished ");				return newTree;	}	/**	 * Method getFilemanagerID<br>	 *	 * @return the filemanager id	 */   	public int getFilemanagerID() {		return m_FilemanagerID;	}	/**	 * Method setFilemanagerID<br>	 *	 * @param id the filemanager id	 */   	protected void setFilemanagerID(int id) {		m_FilemanagerID = id;	}	/**	 * Method getStoragePath<br>	 *	 * @return the filemanager storage path	 */   	public String getStoragePath() {		return m_StoragePath;	}	/**	 * Method setStoragePath<br>	 *	 * @param path the storage path	 */   	protected void setStoragePath(String path) {		m_StoragePath = path;	}		/**	 * Method getOwnerID<br>	 *	 * @return the owner id	 */      public int getOwnerID(){    	return m_OwnerID;   }	/**	 * Method setOwnerID<br>	 *	 * @param id the owner id	 */      protected void setOwnerID(int id){   	m_OwnerID = id;   } 	/**	 * Method deleteFiles<br>	 * Delete files from folder. 	 *		 * @param fileIDs String array of file id to delete    * @return false on error	 */	public boolean deleteFiles(Folder activeFolder, String[] fileIDs) {      boolean success = true;        		// get active folder's files		Vector files = activeFolder.getFiles();		if ( files != null ) {			JahiaFile aFile = null;			int nbFile = files.size();			String filePath = "";										for ( int i=0; i<nbFile ; i++ ) {									aFile = (JahiaFile)files.get(i);				if ( inValues( new String().valueOf(aFile.getFileID()),fileIDs) ){					filePath = this.getFullPath() + File.separator + aFile.getStorageName();					File storedFile = new File(filePath);										if ( storedFile != null && storedFile.exists() ){											if (!storedFile.delete()){							toConsole("deteteFiles , error while deleting file: " + filePath + " from disk");							success = false;							break;						}				          				if ( !ServicesRegistry.getInstance().getJahiaFilemanagerService().deleteFileDB(aFile.getFileID()) ){	   					success = false;		   				break;					   }					   } else {       				if ( !ServicesRegistry.getInstance().getJahiaFilemanagerService().deleteFileDB(aFile.getFileID()) ){	   					success = false;		   				break;					   }	               }				      				}				    	}		}		return success;			}	/**	 * Method deleteFolder<br>	 * Delete a folder and all it's children	 *		 * @param folder the folder to delete	 * @return false on error	 */	public boolean deleteFolder(Folder folder) {		toConsole(" deleteFolder started ");				boolean success = true;		if ( folder != null ){								Vector folderTree = this.getBranch(folder);			Vector files = new Vector();			if ( folderTree != null ){				Folder aFolder = null;				int size = folderTree.size();				int nbFile = 0;				String filePath = "";								for ( int i=size; i>0 ; i-- ) {					aFolder = (Folder)folderTree.get(i-1);					// get folder's files					files = aFolder.getFiles();					nbFile = files.size();					// delete files from db					try {						if ( !ServicesRegistry.getInstance().getJahiaFilemanagerService().deleteFilesDB(aFolder.getFolderID()) ){							toConsole(" HandleFolderDelete , error while deleting files from database");							success = false;							break;						} else {							if ( files != null ) {									String[] filenames = new String[files.size()];								nbFile = files.size();								for ( int j=0; j<nbFile ; j++ ) {   									filenames[j] = ((JahiaFile)files.get(j)).getStorageName();								}															for ( int j=0; j<nbFile ; j++ ){									filePath = this.getFullPath() + File.separator + filenames[j];									File storedFile = new File(filePath);									if ( storedFile != null && storedFile.exists() ){										if (!storedFile.delete()){											toConsole("HandleFolderDelete , error while deleting file: " + filePath + " from disk");											success = false;										break;										}									} else {																			toConsole("HandleFolderDelete ,cannot find file to delete: " + filePath + " from disk");									}											}							}						}												// delete folder from db						if (!m_FolderDB.getInstance().delete(aFolder.getFolderID())){							toConsole(" HandleFolderDelete , error while deleting folder: " + aFolder.getFolderName() + " from database");							success = false;							break;						}					} catch ( Throwable e ) {						return false;					}				}										}					// delete folder from db			if (!m_FolderDB.getInstance().delete(folder.getFolderID())){				toConsole(" HandleFolderDelete , error while deleting folder: " + folder.getFolderName() + " from database");				success = false;			}						} else {			return false;		}		return success;	}	/**	 * Method moveFolder	 * Move a Folder to a new location	 *		 * @param folder to move	 * @param destFolder destination folder	 * @return false on error	 *	 * @exception ServletException	 * @exception IOException	 */	public boolean moveFolder(Folder folder, Folder destFolder){		toConsole(" moveFolder started ");			boolean success = true;				if ( folder != null && destFolder != null ) {			folder.setParentID(destFolder.getFolderID());			if (!(m_FolderDB.getInstance().update(folder))){				success = false;			}		} else {		   success = false;			}					return success;			}	/**	 * Method setParents<br>	 * Pass an hashTable of folder id 	 * used by getFolderTree to determine which folder to get chidren for	 * @param parents	 */ 	public void setParents(Hashtable parents){		this.parents = parents;		}	/**	 * Method setExcludeBranchFolder<br>	 * Tell getFolderTree to exclude this folder and all its children	 * @param parents	 */ 	public void setExcludeBranchFolder(Folder folder){		this.m_ExcludeBranchFolder = folder;		}	/**	 * Method resetParents<br>	 * Set parents to null, this way getFolderTree	 * will get children for all folder of this filemanager 	 *	 */ 	public void resetParents(){		this.parents = null;		}	 	/**     * Method getRootFolder<br>     * Return the root folder of this filemanager     *		 * @return a folder object else null     */   	public Folder getRootFolder()   	{		Folder  folder = m_FolderDB.getInstance().getRootFolder(this.getFilemanagerID());		return folder;   	}	/**     * Return the full storage path associated with this filemanager<br>     *		 * @return path the full path to the storage dir associated with this filemanager     */   	public String getFullPath()   	{		return ( ServicesRegistry.getInstance().getJahiaFilemanagerService().getFileRepositoryRootPath() + File.separator + this.getStoragePath() ) ;   	}	 	/**	 * Method inValues<br>	 * Check if a string value is in an array of string	 *	 * @param aValue a string value	 * @param values an array of String	 * @return true if value found in array	 */	 protected boolean inValues(String aValue, String[] values){	 	if ( values != null ){	 		for (int i=0 ; i<values.length ; i++){	 			if (aValue.equals(values[i])){	 				return true;	 			}	 		}	 	}	 	return false;	 }      /**	 * Method toConsole	 * For debugging purpose    *     * @param msg any String message to write to the console    */	public void toConsole(String msg) {		JahiaConsole.println("Filemanager::", msg);	}   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -