Author: imario Date: Fri Jul 21 07:42:05 2006 New Revision: 424336 URL: http://svn.apache.org/viewvc?rev=424336&view=rev Log: fix: npe on rename fix: check if file exists as folder on createFile()
Modified: jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractFileObject.java Modified: jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractFileObject.java URL: http://svn.apache.org/viewvc/jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractFileObject.java?rev=424336&r1=424335&r2=424336&view=diff ============================================================================== --- jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractFileObject.java (original) +++ jakarta/commons/proper/vfs/trunk/src/java/org/apache/commons/vfs/provider/AbstractFileObject.java Fri Jul 21 07:42:05 2006 @@ -80,10 +80,10 @@ private FileName[] children; private List objects; - /** - * FileServices instance. - */ - private FileOperations operations; + /** + * FileServices instance. + */ + private FileOperations operations; protected AbstractFileObject(final FileName name, final AbstractFileSystem fs) @@ -561,7 +561,7 @@ if (files == null) { - return null; + return null; } else if (files.length == 0) { @@ -775,6 +775,11 @@ { try { + if (exists() && !FileType.FILE.equals(getType())) + { + throw new FileSystemException("vfs.provider/create-file.error", name); + } + if (!exists()) { getOutputStream().close(); @@ -904,17 +909,17 @@ { if (canRenameTo(destFile)) { - if (!getParent().isWriteable()) - { - throw new FileSystemException("vfs.provider/rename-parent-read-only.error", new FileName[] {getName(), getParent().getName()}); - } + if (!getParent().isWriteable()) + { + throw new FileSystemException("vfs.provider/rename-parent-read-only.error", new FileName[]{getName(), getParent().getName()}); + } } else { - if (!isWriteable()) - { - throw new FileSystemException("vfs.provider/rename-read-only.error", getName()); - } + if (!isWriteable()) + { + throw new FileSystemException("vfs.provider/rename-read-only.error", getName()); + } } if (destFile.exists()) { @@ -927,6 +932,7 @@ // issue rename on same filesystem try { + attach(); doRename(destFile); ((AbstractFileObject) destFile).handleCreate(getType()); @@ -1006,7 +1012,7 @@ */ public FileContent getContent() throws FileSystemException { - synchronized(fs) + synchronized (fs) { attach(); if (content == null) @@ -1364,7 +1370,7 @@ /** * Notifies the file that its children have changed. * - * @deprecated use [EMAIL PROTECTED] #childrenChanged(FileName, FileType)} + * @deprecated use [EMAIL PROTECTED] #childrenChanged(FileName,FileType)} */ protected void childrenChanged() throws Exception { @@ -1574,20 +1580,20 @@ { } - // --- OPERATIONS --- + // --- OPERATIONS --- - /** - * @return FileOperations interface that provides access to the operations - * API. - * @throws FileSystemException - */ - public FileOperations getFileOperations() throws FileSystemException - { - if (operations == null) - { - operations = new DefaultFileOperations(this); - } + /** + * @return FileOperations interface that provides access to the operations + * API. + * @throws FileSystemException + */ + public FileOperations getFileOperations() throws FileSystemException + { + if (operations == null) + { + operations = new DefaultFileOperations(this); + } - return operations; - } + return operations; + } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]