public class oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge extends oadd.org.apache.hadoop.fs.shell.FsCommand
{
public static final java.lang.String NAME;
public static final java.lang.String USAGE;
public static final java.lang.String DESCRIPTION;
protected oadd.org.apache.hadoop.fs.shell.PathData dst;
protected java.lang.String delimiter;
private boolean skipEmptyFileDelimiter;
protected java.util.List srcs;
public void <init>()
{
oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge v;
v := @this: oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge;
specialinvoke v.<oadd.org.apache.hadoop.fs.shell.FsCommand: void <init>()>();
v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: oadd.org.apache.hadoop.fs.shell.PathData dst> = null;
v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: java.lang.String delimiter> = null;
v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: java.util.List srcs> = null;
return;
}
protected void processOptions(java.util.LinkedList) throws java.io.IOException
{
oadd.org.apache.hadoop.fs.shell.PathData v, v, v, v;
oadd.org.apache.hadoop.fs.PathIsDirectoryException v;
java.net.URISyntaxException v;
java.lang.String[] v;
oadd.org.apache.hadoop.conf.Configuration v;
java.lang.String v, v;
java.net.URI v;
java.util.LinkedList v, v;
boolean v, v, v, v;
java.io.IOException v;
oadd.org.apache.hadoop.fs.shell.CommandFormat v;
oadd.org.apache.hadoop.fs.FileStatus v;
java.lang.Object v;
oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge v;
v := @this: oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge;
v := @parameter: java.util.LinkedList;
label:
v = new oadd.org.apache.hadoop.fs.shell.CommandFormat;
v = newarray (java.lang.String)[2];
v[0] = "nl";
v[1] = "skip-empty-file";
specialinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: void <init>(int,int,java.lang.String[])>(2, 2147483647, v);
virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: void parse(java.util.List)>(v);
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("nl");
if v == 0 goto label;
v = "\n";
goto label;
label:
v = null;
label:
v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: java.lang.String delimiter> = v;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("skip-empty-file");
v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: boolean skipEmptyFileDelimiter> = v;
v = new oadd.org.apache.hadoop.fs.shell.PathData;
v = new java.net.URI;
v = virtualinvoke v.<java.util.LinkedList: java.lang.Object removeLast()>();
specialinvoke v.<java.net.URI: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: oadd.org.apache.hadoop.conf.Configuration getConf()>();
specialinvoke v.<oadd.org.apache.hadoop.fs.shell.PathData: void <init>(java.net.URI,oadd.org.apache.hadoop.conf.Configuration)>(v, v);
v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: oadd.org.apache.hadoop.fs.shell.PathData dst> = v;
v = v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: oadd.org.apache.hadoop.fs.shell.PathData dst>;
v = v.<oadd.org.apache.hadoop.fs.shell.PathData: boolean exists>;
if v == 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: oadd.org.apache.hadoop.fs.shell.PathData dst>;
v = v.<oadd.org.apache.hadoop.fs.shell.PathData: oadd.org.apache.hadoop.fs.FileStatus stat>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.FileStatus: boolean isDirectory()>();
if v == 0 goto label;
v = new oadd.org.apache.hadoop.fs.PathIsDirectoryException;
v = v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: oadd.org.apache.hadoop.fs.shell.PathData dst>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.PathData: java.lang.String toString()>();
specialinvoke v.<oadd.org.apache.hadoop.fs.PathIsDirectoryException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: java.util.List srcs> = v;
label:
goto label;
label:
v := @caughtexception;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String,java.lang.Throwable)>("unexpected URISyntaxException", v);
throw v;
label:
return;
catch java.net.URISyntaxException from label to label with label;
}
protected void processArguments(java.util.LinkedList) throws java.io.IOException
{
java.lang.Throwable v, v;
oadd.org.apache.hadoop.fs.shell.PathData v, v;
long v;
byte v;
int v;
oadd.org.apache.hadoop.conf.Configuration v;
java.util.LinkedList v;
boolean v, v;
oadd.org.apache.hadoop.fs.FSDataInputStream v;
java.util.Iterator v;
java.util.List v;
oadd.org.apache.hadoop.fs.FSDataOutputStream v;
oadd.org.apache.hadoop.fs.FileStatus v;
java.lang.Object v;
oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge v;
oadd.org.apache.hadoop.fs.Path v, v;
oadd.org.apache.hadoop.fs.FileSystem v, v;
v := @this: oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge;
v := @parameter: java.util.LinkedList;
specialinvoke v.<oadd.org.apache.hadoop.fs.shell.FsCommand: void processArguments(java.util.LinkedList)>(v);
v = v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: int exitCode>;
if v == 0 goto label;
return;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: oadd.org.apache.hadoop.fs.shell.PathData dst>;
v = v.<oadd.org.apache.hadoop.fs.shell.PathData: oadd.org.apache.hadoop.fs.FileSystem fs>;
v = v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: oadd.org.apache.hadoop.fs.shell.PathData dst>;
v = v.<oadd.org.apache.hadoop.fs.shell.PathData: oadd.org.apache.hadoop.fs.Path path>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.FileSystem: oadd.org.apache.hadoop.fs.FSDataOutputStream create(oadd.org.apache.hadoop.fs.Path)>(v);
label:
v = v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: java.util.List srcs>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<oadd.org.apache.hadoop.fs.shell.PathData: oadd.org.apache.hadoop.fs.FileStatus stat>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.FileStatus: long getLen()>();
v = v cmp 0L;
if v == 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.shell.PathData: oadd.org.apache.hadoop.fs.FileSystem fs>;
v = v.<oadd.org.apache.hadoop.fs.shell.PathData: oadd.org.apache.hadoop.fs.Path path>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.FileSystem: oadd.org.apache.hadoop.fs.FSDataInputStream open(oadd.org.apache.hadoop.fs.Path)>(v);
label:
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: oadd.org.apache.hadoop.conf.Configuration getConf()>();
staticinvoke <oadd.org.apache.hadoop.io.IOUtils: void copyBytes(java.io.InputStream,java.io.OutputStream,oadd.org.apache.hadoop.conf.Configuration,boolean)>(v, v, v, 0);
specialinvoke v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: void writeDelimiter(oadd.org.apache.hadoop.fs.FSDataOutputStream)>(v);
label:
if v == null goto label;
virtualinvoke v.<oadd.org.apache.hadoop.fs.FSDataInputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: boolean skipEmptyFileDelimiter>;
if v != 0 goto label;
specialinvoke v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: void writeDelimiter(oadd.org.apache.hadoop.fs.FSDataOutputStream)>(v);
goto label;
label:
virtualinvoke v.<oadd.org.apache.hadoop.fs.FSDataOutputStream: void close()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<oadd.org.apache.hadoop.fs.FSDataOutputStream: void close()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void writeDelimiter(oadd.org.apache.hadoop.fs.FSDataOutputStream) throws java.io.IOException
{
byte[] v;
oadd.org.apache.hadoop.fs.FSDataOutputStream v;
oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge v;
java.lang.String v, v;
v := @this: oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge;
v := @parameter: oadd.org.apache.hadoop.fs.FSDataOutputStream;
v = v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: java.lang.String delimiter>;
if v == null goto label;
v = v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: java.lang.String delimiter>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.lang.String)>("UTF-8");
virtualinvoke v.<oadd.org.apache.hadoop.fs.FSDataOutputStream: void write(byte[])>(v);
label:
return;
}
protected void processNonexistentPath(oadd.org.apache.hadoop.fs.shell.PathData) throws java.io.IOException
{
oadd.org.apache.hadoop.fs.shell.PathData v;
oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge v;
v := @this: oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge;
v := @parameter: oadd.org.apache.hadoop.fs.shell.PathData;
v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: int exitCode> = 1;
specialinvoke v.<oadd.org.apache.hadoop.fs.shell.FsCommand: void processNonexistentPath(oadd.org.apache.hadoop.fs.shell.PathData)>(v);
return;
}
protected void processPath(oadd.org.apache.hadoop.fs.shell.PathData) throws java.io.IOException
{
oadd.org.apache.hadoop.fs.shell.PathData v;
java.util.List v;
oadd.org.apache.hadoop.fs.FileStatus v;
int v;
oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge v;
boolean v;
v := @this: oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge;
v := @parameter: oadd.org.apache.hadoop.fs.shell.PathData;
v = v.<oadd.org.apache.hadoop.fs.shell.PathData: oadd.org.apache.hadoop.fs.FileStatus stat>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.FileStatus: boolean isDirectory()>();
if v == 0 goto label;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: int getDepth()>();
if v != 0 goto label;
virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: void recursePath(oadd.org.apache.hadoop.fs.shell.PathData)>(v);
goto label;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge: java.util.List srcs>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return;
}
protected boolean isSorted()
{
oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge v;
v := @this: oadd.org.apache.hadoop.fs.shell.CopyCommands$Merge;
return 1;
}
}