public class org.apache.activemq.blob.FTPBlobDownloadStrategy extends org.apache.activemq.blob.FTPStrategy implements org.apache.activemq.blob.BlobDownloadStrategy
{
public void <init>(org.apache.activemq.blob.BlobTransferPolicy) throws java.net.MalformedURLException
{
org.apache.activemq.blob.BlobTransferPolicy v;
org.apache.activemq.blob.FTPBlobDownloadStrategy v;
v := @this: org.apache.activemq.blob.FTPBlobDownloadStrategy;
v := @parameter: org.apache.activemq.blob.BlobTransferPolicy;
specialinvoke v.<org.apache.activemq.blob.FTPStrategy: void <init>(org.apache.activemq.blob.BlobTransferPolicy)>(v);
return;
}
public java.io.InputStream getInputStream(org.apache.activemq.command.ActiveMQBlobMessage) throws java.io.IOException, javax.jms.JMSException
{
org.apache.activemq.blob.FTPBlobDownloadStrategy$1 v;
java.net.URL v, v, v, v, v, v;
org.apache.activemq.blob.FTPBlobDownloadStrategy v;
int v, v, v, v, v, v;
org.apache.commons.net.ftp.FTPClient v;
java.lang.String v, v, v, v, v, v, v, v;
boolean v, v;
java.io.IOException v, v, v;
org.apache.activemq.command.ActiveMQBlobMessage v;
org.apache.activemq.blob.BlobTransferPolicy v;
java.io.InputStream v;
v := @this: org.apache.activemq.blob.FTPBlobDownloadStrategy;
v := @parameter: org.apache.activemq.command.ActiveMQBlobMessage;
v = new java.net.URL;
v = v.<org.apache.activemq.blob.FTPStrategy: org.apache.activemq.blob.BlobTransferPolicy transferPolicy>;
v = virtualinvoke v.<org.apache.activemq.blob.BlobTransferPolicy: java.lang.String getUploadUrl()>();
specialinvoke v.<java.net.URL: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQBlobMessage: java.net.URL getURL()>();
v = virtualinvoke v.<java.net.URL: java.lang.String getProtocol()>();
v = virtualinvoke v.<java.net.URL: java.lang.String getProtocol()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("The message URL protocol is incorrect");
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQBlobMessage: java.net.URL getURL()>();
v = virtualinvoke v.<java.net.URL: java.lang.String getHost()>();
v = virtualinvoke v.<java.net.URL: java.lang.String getHost()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("The message URL host is incorrect");
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQBlobMessage: java.net.URL getURL()>();
v = virtualinvoke v.<java.net.URL: int getPort()>();
v = virtualinvoke v.<java.net.URL: int getPort()>();
if v == 0 goto label;
v = virtualinvoke v.<java.net.URL: int getPort()>();
if v == v goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("The message URL port is incorrect");
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQBlobMessage: java.net.URL getURL()>();
v.<org.apache.activemq.blob.FTPBlobDownloadStrategy: java.net.URL url> = v;
v = virtualinvoke v.<org.apache.activemq.blob.FTPBlobDownloadStrategy: org.apache.commons.net.ftp.FTPClient createFTP()>();
v = v.<org.apache.activemq.blob.FTPBlobDownloadStrategy: java.net.URL url>;
v = virtualinvoke v.<java.net.URL: java.lang.String getPath()>();
v = virtualinvoke v.<java.lang.String: int lastIndexOf(java.lang.String)>("/");
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = virtualinvoke v.<java.lang.String: int lastIndexOf(java.lang.String)>("/");
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
virtualinvoke v.<org.apache.commons.net.ftp.FTPClient: boolean changeWorkingDirectory(java.lang.String)>(v);
virtualinvoke v.<org.apache.commons.net.ftp.FTPClient: boolean setFileType(int)>(2);
v = new org.apache.activemq.blob.FTPBlobDownloadStrategy$1;
v = virtualinvoke v.<org.apache.commons.net.ftp.FTPClient: java.io.InputStream retrieveFileStream(java.lang.String)>(v);
specialinvoke v.<org.apache.activemq.blob.FTPBlobDownloadStrategy$1: void <init>(org.apache.activemq.blob.FTPBlobDownloadStrategy,java.io.InputStream,org.apache.commons.net.ftp.FTPClient)>(v, v, v);
return v;
}
public void deleteFile(org.apache.activemq.command.ActiveMQBlobMessage) throws java.io.IOException, javax.jms.JMSException
{
java.lang.Throwable v;
java.net.URL v, v;
javax.jms.JMSException v;
org.apache.activemq.command.ActiveMQBlobMessage v;
org.apache.activemq.blob.FTPBlobDownloadStrategy v;
org.apache.commons.net.ftp.FTPClient v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.activemq.blob.FTPBlobDownloadStrategy;
v := @parameter: org.apache.activemq.command.ActiveMQBlobMessage;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQBlobMessage: java.net.URL getURL()>();
v.<org.apache.activemq.blob.FTPBlobDownloadStrategy: java.net.URL url> = v;
v = virtualinvoke v.<org.apache.activemq.blob.FTPBlobDownloadStrategy: org.apache.commons.net.ftp.FTPClient createFTP()>();
v = v.<org.apache.activemq.blob.FTPBlobDownloadStrategy: java.net.URL url>;
v = virtualinvoke v.<java.net.URL: java.lang.String getPath()>();
label:
v = virtualinvoke v.<org.apache.commons.net.ftp.FTPClient: boolean deleteFile(java.lang.String)>(v);
if v != 0 goto label;
v = new javax.jms.JMSException;
v = virtualinvoke v.<org.apache.commons.net.ftp.FTPClient: java.lang.String getReplyString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Delete file failed: \u0001");
specialinvoke v.<javax.jms.JMSException: void <init>(java.lang.String)>(v);
throw v;
label:
virtualinvoke v.<org.apache.commons.net.ftp.FTPClient: int quit()>();
virtualinvoke v.<org.apache.commons.net.ftp.FTPClient: void disconnect()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.commons.net.ftp.FTPClient: int quit()>();
virtualinvoke v.<org.apache.commons.net.ftp.FTPClient: void disconnect()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
}