[ 
https://issues.apache.org/jira/browse/VFS-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16978387#comment-16978387
 ] 

Gopal Warawate commented on VFS-617:
------------------------------------

Below simple code using moveTo Api from vfs2 use to work with 
commons-vfs2-2.0.jar but it doesn’t work with version commons-vfs2-2.2.jar

Please any suggestions.

 

public static boolean move(String hostName, String username, String password, 
String remoteSrcFilePath, String remoteDestFilePath){
 StandardFileSystemManager manager = new StandardFileSystemManager();

try {
 manager.init();

// Create remote object
 FileObject remoteFile = manager.resolveFile(createConnectionString(hostName, 
username, password, remoteSrcFilePath), createDefaultOptions());
 FileObject remoteDestFile = 
manager.resolveFile(createConnectionString(hostName, username, password, 
remoteDestFilePath), createDefaultOptions());

if (remoteFile.exists()) {
 remoteFile.moveTo(remoteDestFile);;
 System.out.println("Move remote file success");
 return true;
 }
 else{
 System.out.println("Source file doesn't exist");
 return false;
 }
 } catch (Exception e) {
 throw new RuntimeException(e);
 } finally {
 manager.close();
 }
 }

 

Error:

[main] INFO org.apache.commons.vfs2.provider.sftp.SftpClientFactory - 
Authentication succeeded (keyboard-interactive).
'id' is not recognized as an internal or external command,
operable program or batch file.
[main] INFO org.apache.commons.vfs2.provider.sftp.SftpClientFactory - 
Disconnecting from XXXXX port 22
Exception in thread "main" java.lang.RuntimeException: 
org.apache.commons.vfs2.FileSystemException: Could not determine if file 
"sftp://!!!!!:***@XXXXX/C:/folder1"; is writeable.
 at com.test.SFTPUtility.move(SFTPUtility.java:107)
 at com.test.SFTPUtility.main(SFTPUtility.java:35)
Caused by: org.apache.commons.vfs2.FileSystemException: Could not determine if 
file "sftp://!!!!!:***@XXXXX/C:/folder1"; is writeable.
 at 
org.apache.commons.vfs2.provider.AbstractFileObject.isWriteable(AbstractFileObject.java:1602)
 at 
org.apache.commons.vfs2.provider.AbstractFileObject.moveTo(AbstractFileObject.java:1646)
 at com.test.SFTPUtility.move(SFTPUtility.java:98)
 ... 1 more
Caused by: com.jcraft.jsch.JSchException: Could not get the groups id of the 
current user (error code: 1)
 at 
org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getGroupsIds(SftpFileSystem.java:237)
 at 
org.apache.commons.vfs2.provider.sftp.SftpFileObject.getPermissions(SftpFileObject.java:231)
 at 
org.apache.commons.vfs2.provider.sftp.SftpFileObject.doIsWriteable(SftpFileObject.java:263)
 at 
org.apache.commons.vfs2.provider.AbstractFileObject.isWriteable(AbstractFileObject.java:1594)
 ... 3 more

 

> isReadable fails if unable to determine group identity
> ------------------------------------------------------
>
>                 Key: VFS-617
>                 URL: https://issues.apache.org/jira/browse/VFS-617
>             Project: Commons VFS
>          Issue Type: Bug
>    Affects Versions: 2.1
>         Environment: Windows 7 Java 7. Failure occured connecting via SFTP to 
> a Synology box running DSM 6.
>            Reporter: Tim Nickels
>            Priority: Major
>
> The doIsReadable method of SftpFileObject throws an exception if the system 
> cannot identify group/owner permissions....... 
> Exception in thread "main" org.apache.commons.vfs2.FileSystemException: Could 
> not determine if file "sftp://myURI"; is readable.
>       at 
> org.apache.commons.vfs2.provider.AbstractFileObject.isReadable(AbstractFileObject.java:1761)
>       at com.avenca.vfs.VFSUtils.main(VFSUtils.java:41)
> Caused by: com.jcraft.jsch.JSchException: Could not get the groups id of the 
> current user (error code: 1)
>       at 
> org.apache.commons.vfs2.provider.sftp.SftpFileSystem.getGroupsIds(SftpFileSystem.java:263)
>       at 
> org.apache.commons.vfs2.provider.sftp.SftpFileObject.getPermissions(SftpFileObject.java:317)
>       at 
> org.apache.commons.vfs2.provider.sftp.SftpFileObject.doIsReadable(SftpFileObject.java:335)
>       at 
> org.apache.commons.vfs2.provider.AbstractFileObject.isReadable(AbstractFileObject.java:1757)
> The problem is the method is using 
> return getPermissions(true).isReadable()
> The folder *is* readable without these permissions, and so should be set to
> return getPermissions(false).isReadable()
> Which correctly allows the system to identify a readable folder without 
> adding unnecessary restrictions.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to