public class org.glassfish.cluster.ssh.sftp.SFTPClient extends java.lang.Object implements java.lang.AutoCloseable
{
private com.jcraft.jsch.Session session;
private com.jcraft.jsch.ChannelSftp sftpChannel;
public void <init>(com.jcraft.jsch.Session) throws com.jcraft.jsch.JSchException
{
com.jcraft.jsch.Channel v;
com.jcraft.jsch.Session v;
org.glassfish.cluster.ssh.sftp.SFTPClient v;
com.jcraft.jsch.ChannelSftp v;
v := @this: org.glassfish.cluster.ssh.sftp.SFTPClient;
v := @parameter: com.jcraft.jsch.Session;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.Session session> = null;
v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.ChannelSftp sftpChannel> = null;
v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.Session session> = v;
v = virtualinvoke v.<com.jcraft.jsch.Session: com.jcraft.jsch.Channel openChannel(java.lang.String)>("sftp");
v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.ChannelSftp sftpChannel> = v;
v = v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.ChannelSftp sftpChannel>;
virtualinvoke v.<com.jcraft.jsch.ChannelSftp: void connect()>();
staticinvoke <org.glassfish.cluster.ssh.util.SSHUtil: void register(com.jcraft.jsch.Session)>(v);
return;
}
public com.jcraft.jsch.ChannelSftp getSftpChannel()
{
org.glassfish.cluster.ssh.sftp.SFTPClient v;
com.jcraft.jsch.ChannelSftp v;
v := @this: org.glassfish.cluster.ssh.sftp.SFTPClient;
v = v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.ChannelSftp sftpChannel>;
return v;
}
public void close()
{
com.jcraft.jsch.Session v, v;
org.glassfish.cluster.ssh.sftp.SFTPClient v;
v := @this: org.glassfish.cluster.ssh.sftp.SFTPClient;
v = v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.Session session>;
if v == null goto label;
v = v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.Session session>;
staticinvoke <org.glassfish.cluster.ssh.util.SSHUtil: void unregister(com.jcraft.jsch.Session)>(v);
v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.Session session> = null;
label:
return;
}
public boolean exists(java.lang.String) throws com.jcraft.jsch.SftpException
{
com.jcraft.jsch.SftpATTRS v;
java.lang.String v, v;
org.glassfish.cluster.ssh.sftp.SFTPClient v;
boolean v;
v := @this: org.glassfish.cluster.ssh.sftp.SFTPClient;
v := @parameter: java.lang.String;
v = staticinvoke <org.glassfish.cluster.ssh.sftp.SFTPClient: java.lang.String normalizePath(java.lang.String)>(v);
v = virtualinvoke v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.SftpATTRS _stat(java.lang.String)>(v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public com.jcraft.jsch.SftpATTRS _stat(java.lang.String) throws com.jcraft.jsch.SftpException
{
java.lang.Throwable v;
com.jcraft.jsch.SftpATTRS v;
int v;
java.lang.String v, v;
org.glassfish.cluster.ssh.sftp.SFTPClient v;
com.jcraft.jsch.ChannelSftp v;
v := @this: org.glassfish.cluster.ssh.sftp.SFTPClient;
v := @parameter: java.lang.String;
label:
v = v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.ChannelSftp sftpChannel>;
v = staticinvoke <org.glassfish.cluster.ssh.sftp.SFTPClient: java.lang.String normalizePath(java.lang.String)>(v);
v = virtualinvoke v.<com.jcraft.jsch.ChannelSftp: com.jcraft.jsch.SftpATTRS stat(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = v.<com.jcraft.jsch.SftpException: int id>;
if v != 2 goto label;
return null;
label:
throw v;
catch com.jcraft.jsch.SftpException from label to label with label;
}
public void mkdirs(java.lang.String, int) throws com.jcraft.jsch.SftpException
{
com.jcraft.jsch.SftpATTRS v;
int v, v, v, v;
java.lang.String v, v, v;
org.glassfish.cluster.ssh.sftp.SFTPClient v;
boolean v, v;
com.jcraft.jsch.ChannelSftp v, v;
v := @this: org.glassfish.cluster.ssh.sftp.SFTPClient;
v := @parameter: java.lang.String;
v := @parameter: int;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("/");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
v = staticinvoke <org.glassfish.cluster.ssh.sftp.SFTPClient: java.lang.String normalizePath(java.lang.String)>(v);
v = virtualinvoke v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.SftpATTRS _stat(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<com.jcraft.jsch.SftpATTRS: boolean isDir()>();
if v == 0 goto label;
return;
label:
v = virtualinvoke v.<java.lang.String: int lastIndexOf(java.lang.String)>("/");
if v <= 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
virtualinvoke v.<org.glassfish.cluster.ssh.sftp.SFTPClient: void mkdirs(java.lang.String,int)>(v, v);
label:
v = v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.ChannelSftp sftpChannel>;
virtualinvoke v.<com.jcraft.jsch.ChannelSftp: void mkdir(java.lang.String)>(v);
v = v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.ChannelSftp sftpChannel>;
virtualinvoke v.<com.jcraft.jsch.ChannelSftp: void chmod(int,java.lang.String)>(v, v);
return;
}
public void chmod(java.lang.String, int) throws com.jcraft.jsch.SftpException
{
int v;
java.lang.String v, v;
org.glassfish.cluster.ssh.sftp.SFTPClient v;
com.jcraft.jsch.ChannelSftp v;
v := @this: org.glassfish.cluster.ssh.sftp.SFTPClient;
v := @parameter: java.lang.String;
v := @parameter: int;
v = staticinvoke <org.glassfish.cluster.ssh.sftp.SFTPClient: java.lang.String normalizePath(java.lang.String)>(v);
v = v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.ChannelSftp sftpChannel>;
virtualinvoke v.<com.jcraft.jsch.ChannelSftp: void chmod(int,java.lang.String)>(v, v);
return;
}
public static java.lang.String normalizePath(java.lang.String)
{
java.lang.String v, v;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: java.lang.String replaceAll(java.lang.String,java.lang.String)>("\\\\", "/");
return v;
}
public void cd(java.lang.String) throws com.jcraft.jsch.SftpException
{
java.lang.String v, v;
org.glassfish.cluster.ssh.sftp.SFTPClient v;
com.jcraft.jsch.ChannelSftp v;
v := @this: org.glassfish.cluster.ssh.sftp.SFTPClient;
v := @parameter: java.lang.String;
v = staticinvoke <org.glassfish.cluster.ssh.sftp.SFTPClient: java.lang.String normalizePath(java.lang.String)>(v);
v = v.<org.glassfish.cluster.ssh.sftp.SFTPClient: com.jcraft.jsch.ChannelSftp sftpChannel>;
virtualinvoke v.<com.jcraft.jsch.ChannelSftp: void cd(java.lang.String)>(v);
return;
}
}