public class oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl extends java.lang.Object implements oadd.org.apache.commons.net.ftp.parser.FTPTimestampParser, oadd.org.apache.commons.net.ftp.Configurable
{
private static final int[] CALENDAR_UNITS;
private java.text.SimpleDateFormat defaultDateFormat;
private int defaultDateSmallestUnitIndex;
private java.text.SimpleDateFormat recentDateFormat;
private int recentDateSmallestUnitIndex;
private boolean lenientFutureDates;
private static int getEntry(java.text.SimpleDateFormat)
{
java.text.SimpleDateFormat v;
char v;
int v, v, v, v, v, v, v, v, v, v;
char[] v;
java.lang.String v, v;
v := @parameter: java.text.SimpleDateFormat;
if v != null goto label;
return 0;
label:
v = virtualinvoke v.<java.text.SimpleDateFormat: java.lang.String toPattern()>();
v = "SsmHdM";
v = virtualinvoke v.<java.lang.String: char[] toCharArray()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.String: int indexOf(int)>(v);
v = (int) -1;
if v == v goto label;
lookupswitch(v)
{
case 72: goto label;
case 77: goto label;
case 83: goto label;
case 100: goto label;
case 109: goto label;
case 115: goto label;
default: goto label;
};
label:
v = staticinvoke <oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int indexOf(int)>(14);
return v;
label:
v = staticinvoke <oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int indexOf(int)>(13);
return v;
label:
v = staticinvoke <oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int indexOf(int)>(12);
return v;
label:
v = staticinvoke <oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int indexOf(int)>(11);
return v;
label:
v = staticinvoke <oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int indexOf(int)>(5);
return v;
label:
v = staticinvoke <oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int indexOf(int)>(2);
return v;
label:
v = v + 1;
goto label;
label:
return 0;
}
private static int indexOf(int)
{
int[] v, v;
int v, v, v, v;
v := @parameter: int;
v = 0;
label:
v = <oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int[] CALENDAR_UNITS>;
v = lengthof v;
if v >= v goto label;
v = <oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int[] CALENDAR_UNITS>;
v = v[v];
if v != v goto label;
return v;
label:
v = v + 1;
goto label;
label:
return 0;
}
private static void setPrecision(int, java.util.Calendar)
{
java.util.Calendar v;
int[] v;
int v, v, v, v;
v := @parameter: int;
v := @parameter: java.util.Calendar;
if v > 0 goto label;
return;
label:
v = <oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int[] CALENDAR_UNITS>;
v = v - 1;
v = v[v];
v = virtualinvoke v.<java.util.Calendar: int get(int)>(v);
if v != 0 goto label;
virtualinvoke v.<java.util.Calendar: void clear(int)>(v);
label:
return;
}
public void <init>()
{
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
specialinvoke v.<java.lang.Object: void <init>()>();
specialinvoke v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: void setDefaultDateFormat(java.lang.String,java.text.DateFormatSymbols)>("MMM d yyyy", null);
specialinvoke v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: void setRecentDateFormat(java.lang.String,java.text.DateFormatSymbols)>("MMM d HH:mm", null);
return;
}
public void configure(oadd.org.apache.commons.net.ftp.FTPClientConfig)
{
oadd.org.apache.commons.net.ftp.FTPClientConfig v;
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
java.lang.IllegalArgumentException v;
java.text.DateFormatSymbols v;
java.lang.String v, v, v, v, v;
boolean v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
v := @parameter: oadd.org.apache.commons.net.ftp.FTPClientConfig;
v = virtualinvoke v.<oadd.org.apache.commons.net.ftp.FTPClientConfig: java.lang.String getServerLanguageCode()>();
v = virtualinvoke v.<oadd.org.apache.commons.net.ftp.FTPClientConfig: java.lang.String getShortMonthNames()>();
if v == null goto label;
v = staticinvoke <oadd.org.apache.commons.net.ftp.FTPClientConfig: java.text.DateFormatSymbols getDateFormatSymbols(java.lang.String)>(v);
goto label;
label:
if v == null goto label;
v = staticinvoke <oadd.org.apache.commons.net.ftp.FTPClientConfig: java.text.DateFormatSymbols lookupDateFormatSymbols(java.lang.String)>(v);
goto label;
label:
v = staticinvoke <oadd.org.apache.commons.net.ftp.FTPClientConfig: java.text.DateFormatSymbols lookupDateFormatSymbols(java.lang.String)>("en");
label:
v = virtualinvoke v.<oadd.org.apache.commons.net.ftp.FTPClientConfig: java.lang.String getRecentDateFormatStr()>();
specialinvoke v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: void setRecentDateFormat(java.lang.String,java.text.DateFormatSymbols)>(v, v);
v = virtualinvoke v.<oadd.org.apache.commons.net.ftp.FTPClientConfig: java.lang.String getDefaultDateFormatStr()>();
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("defaultFormatString cannot be null");
throw v;
label:
specialinvoke v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: void setDefaultDateFormat(java.lang.String,java.text.DateFormatSymbols)>(v, v);
v = virtualinvoke v.<oadd.org.apache.commons.net.ftp.FTPClientConfig: java.lang.String getServerTimeZoneId()>();
specialinvoke v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: void setServerTimeZone(java.lang.String)>(v);
v = virtualinvoke v.<oadd.org.apache.commons.net.ftp.FTPClientConfig: boolean isLenientFutureDates()>();
v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: boolean lenientFutureDates> = v;
return;
}
public java.text.SimpleDateFormat getDefaultDateFormat()
{
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
java.text.SimpleDateFormat v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat defaultDateFormat>;
return v;
}
public java.lang.String getDefaultDateFormatString()
{
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
java.text.SimpleDateFormat v;
java.lang.String v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat defaultDateFormat>;
v = virtualinvoke v.<java.text.SimpleDateFormat: java.lang.String toPattern()>();
return v;
}
public java.text.SimpleDateFormat getRecentDateFormat()
{
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
java.text.SimpleDateFormat v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat recentDateFormat>;
return v;
}
public java.lang.String getRecentDateFormatString()
{
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
java.text.SimpleDateFormat v;
java.lang.String v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat recentDateFormat>;
v = virtualinvoke v.<java.text.SimpleDateFormat: java.lang.String toPattern()>();
return v;
}
public java.util.TimeZone getServerTimeZone()
{
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
java.text.SimpleDateFormat v;
java.util.TimeZone v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat defaultDateFormat>;
v = virtualinvoke v.<java.text.SimpleDateFormat: java.util.TimeZone getTimeZone()>();
return v;
}
public java.lang.String[] getShortMonths()
{
java.text.DateFormatSymbols v;
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
java.text.SimpleDateFormat v;
java.lang.String[] v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat defaultDateFormat>;
v = virtualinvoke v.<java.text.SimpleDateFormat: java.text.DateFormatSymbols getDateFormatSymbols()>();
v = virtualinvoke v.<java.text.DateFormatSymbols: java.lang.String[] getShortMonths()>();
return v;
}
boolean isLenientFutureDates()
{
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
boolean v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: boolean lenientFutureDates>;
return v;
}
public java.util.Calendar parseTimestamp(java.lang.String) throws java.text.ParseException
{
java.util.Calendar v, v;
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
java.lang.String v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
v := @parameter: java.lang.String;
v = staticinvoke <java.util.Calendar: java.util.Calendar getInstance()>();
v = virtualinvoke v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.util.Calendar parseTimestamp(java.lang.String,java.util.Calendar)>(v, v);
return v;
}
public java.util.Calendar parseTimestamp(java.lang.String, java.util.Calendar) throws java.text.ParseException
{
java.util.Date v, v, v;
java.text.ParseException v;
boolean v, v;
java.util.TimeZone v, v, v;
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
java.text.ParsePosition v, v;
java.text.SimpleDateFormat v, v, v, v, v, v;
java.util.Calendar v;
int v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v;
java.text.DateFormatSymbols v;
java.lang.Object v, v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
v := @parameter: java.lang.String;
v := @parameter: java.util.Calendar;
v = virtualinvoke v.<java.util.Calendar: java.lang.Object clone()>();
v = virtualinvoke v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.util.TimeZone getServerTimeZone()>();
virtualinvoke v.<java.util.Calendar: void setTimeZone(java.util.TimeZone)>(v);
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat recentDateFormat>;
if v == null goto label;
v = virtualinvoke v.<java.util.Calendar: java.lang.Object clone()>();
v = virtualinvoke v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.util.TimeZone getServerTimeZone()>();
virtualinvoke v.<java.util.Calendar: void setTimeZone(java.util.TimeZone)>(v);
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: boolean lenientFutureDates>;
if v == 0 goto label;
virtualinvoke v.<java.util.Calendar: void add(int,int)>(5, 1);
label:
v = virtualinvoke v.<java.util.Calendar: int get(int)>(1);
v = staticinvoke <java.lang.Integer: java.lang.String toString(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, 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[])>("\u \u0001");
v = new java.text.SimpleDateFormat;
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat recentDateFormat>;
v = virtualinvoke v.<java.text.SimpleDateFormat: java.lang.String toPattern()>();
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[])>("\u yyyy");
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat recentDateFormat>;
v = virtualinvoke v.<java.text.SimpleDateFormat: java.text.DateFormatSymbols getDateFormatSymbols()>();
specialinvoke v.<java.text.SimpleDateFormat: void <init>(java.lang.String,java.text.DateFormatSymbols)>(v, v);
virtualinvoke v.<java.text.SimpleDateFormat: void setLenient(boolean)>(0);
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat recentDateFormat>;
v = virtualinvoke v.<java.text.SimpleDateFormat: java.util.TimeZone getTimeZone()>();
virtualinvoke v.<java.text.SimpleDateFormat: void setTimeZone(java.util.TimeZone)>(v);
v = new java.text.ParsePosition;
specialinvoke v.<java.text.ParsePosition: void <init>(int)>(0);
v = virtualinvoke v.<java.text.SimpleDateFormat: java.util.Date parse(java.lang.String,java.text.ParsePosition)>(v, v);
if v == null goto label;
v = virtualinvoke v.<java.text.ParsePosition: int getIndex()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v != v goto label;
virtualinvoke v.<java.util.Calendar: void setTime(java.util.Date)>(v);
v = virtualinvoke v.<java.util.Calendar: boolean after(java.lang.Object)>(v);
if v == 0 goto label;
v = (int) -1;
virtualinvoke v.<java.util.Calendar: void add(int,int)>(1, v);
label:
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int recentDateSmallestUnitIndex>;
staticinvoke <oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: void setPrecision(int,java.util.Calendar)>(v, v);
return v;
label:
v = new java.text.ParsePosition;
specialinvoke v.<java.text.ParsePosition: void <init>(int)>(0);
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat defaultDateFormat>;
v = virtualinvoke v.<java.text.SimpleDateFormat: java.util.Date parse(java.lang.String,java.text.ParsePosition)>(v, v);
if v == null goto label;
v = virtualinvoke v.<java.text.ParsePosition: int getIndex()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v == v goto label;
label:
v = new java.text.ParseException;
v = virtualinvoke v.<java.util.Calendar: java.util.Date getTime()>();
v = virtualinvoke v.<java.util.Date: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, 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[])>("Timestamp \'\u0001\' could not be parsed using a server time of \u0001");
v = virtualinvoke v.<java.text.ParsePosition: int getErrorIndex()>();
specialinvoke v.<java.text.ParseException: void <init>(java.lang.String,int)>(v, v);
throw v;
label:
virtualinvoke v.<java.util.Calendar: void setTime(java.util.Date)>(v);
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int defaultDateSmallestUnitIndex>;
staticinvoke <oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: void setPrecision(int,java.util.Calendar)>(v, v);
return v;
}
private void setDefaultDateFormat(java.lang.String, java.text.DateFormatSymbols)
{
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
java.text.SimpleDateFormat v, v, v, v;
java.text.DateFormatSymbols v;
int v;
java.lang.String v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
v := @parameter: java.lang.String;
v := @parameter: java.text.DateFormatSymbols;
if v == null goto label;
if v == null goto label;
v = new java.text.SimpleDateFormat;
specialinvoke v.<java.text.SimpleDateFormat: void <init>(java.lang.String,java.text.DateFormatSymbols)>(v, v);
v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat defaultDateFormat> = v;
goto label;
label:
v = new java.text.SimpleDateFormat;
specialinvoke v.<java.text.SimpleDateFormat: void <init>(java.lang.String)>(v);
v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat defaultDateFormat> = v;
label:
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat defaultDateFormat>;
virtualinvoke v.<java.text.SimpleDateFormat: void setLenient(boolean)>(0);
goto label;
label:
v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat defaultDateFormat> = null;
label:
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat defaultDateFormat>;
v = staticinvoke <oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int getEntry(java.text.SimpleDateFormat)>(v);
v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int defaultDateSmallestUnitIndex> = v;
return;
}
void setLenientFutureDates(boolean)
{
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
boolean v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
v := @parameter: boolean;
v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: boolean lenientFutureDates> = v;
return;
}
private void setRecentDateFormat(java.lang.String, java.text.DateFormatSymbols)
{
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
java.text.SimpleDateFormat v, v, v, v;
java.text.DateFormatSymbols v;
int v;
java.lang.String v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
v := @parameter: java.lang.String;
v := @parameter: java.text.DateFormatSymbols;
if v == null goto label;
if v == null goto label;
v = new java.text.SimpleDateFormat;
specialinvoke v.<java.text.SimpleDateFormat: void <init>(java.lang.String,java.text.DateFormatSymbols)>(v, v);
v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat recentDateFormat> = v;
goto label;
label:
v = new java.text.SimpleDateFormat;
specialinvoke v.<java.text.SimpleDateFormat: void <init>(java.lang.String)>(v);
v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat recentDateFormat> = v;
label:
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat recentDateFormat>;
virtualinvoke v.<java.text.SimpleDateFormat: void setLenient(boolean)>(0);
goto label;
label:
v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat recentDateFormat> = null;
label:
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat recentDateFormat>;
v = staticinvoke <oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int getEntry(java.text.SimpleDateFormat)>(v);
v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int recentDateSmallestUnitIndex> = v;
return;
}
private void setServerTimeZone(java.lang.String)
{
java.util.TimeZone v;
oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl v;
java.text.SimpleDateFormat v, v, v;
java.lang.String v;
v := @this: oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl;
v := @parameter: java.lang.String;
v = staticinvoke <java.util.TimeZone: java.util.TimeZone getDefault()>();
if v == null goto label;
v = staticinvoke <java.util.TimeZone: java.util.TimeZone getTimeZone(java.lang.String)>(v);
label:
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat defaultDateFormat>;
virtualinvoke v.<java.text.SimpleDateFormat: void setTimeZone(java.util.TimeZone)>(v);
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat recentDateFormat>;
if v == null goto label;
v = v.<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: java.text.SimpleDateFormat recentDateFormat>;
virtualinvoke v.<java.text.SimpleDateFormat: void setTimeZone(java.util.TimeZone)>(v);
label:
return;
}
static void <clinit>()
{
int[] v;
v = newarray (int)[7];
v[0] = 14;
v[1] = 13;
v[2] = 12;
v[3] = 11;
v[4] = 5;
v[5] = 2;
v[6] = 1;
<oadd.org.apache.commons.net.ftp.parser.FTPTimestampParserImpl: int[] CALENDAR_UNITS> = v;
return;
}
}