public class oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand extends oadd.org.apache.hadoop.fs.shell.FsCommand
{
public static java.lang.String NAME;
public static java.lang.String USAGE;
public static java.lang.String DESCRIPTION;
oadd.org.apache.hadoop.fs.shell.CommandFormat cf;
java.util.List aclEntries;
java.util.List accessAclEntries;
public void <init>()
{
java.lang.String[] v;
oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand v;
oadd.org.apache.hadoop.fs.shell.CommandFormat v;
v := @this: oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand;
specialinvoke v.<oadd.org.apache.hadoop.fs.shell.FsCommand: void <init>()>();
v = new oadd.org.apache.hadoop.fs.shell.CommandFormat;
v = newarray (java.lang.String)[6];
v[0] = "b";
v[1] = "k";
v[2] = "R";
v[3] = "m";
v[4] = "x";
v[5] = "-set";
specialinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: void <init>(int,int,java.lang.String[])>(0, 2147483647, v);
v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf> = v;
v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.util.List aclEntries> = null;
v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.util.List accessAclEntries> = null;
return;
}
protected void processOptions(java.util.LinkedList) throws java.io.IOException
{
oadd.org.apache.hadoop.HadoopIllegalArgumentException v, v, v, v, v, v, v;
oadd.org.apache.hadoop.fs.permission.AclEntryScope v, v;
oadd.org.apache.hadoop.fs.shell.CommandFormat v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.ArrayList v;
oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.List v, v, v, v;
int v, v;
java.util.LinkedList v;
java.util.Iterator v;
java.lang.Object v, v;
v := @this: oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand;
v := @parameter: java.util.LinkedList;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: void parse(java.util.List)>(v);
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("R");
virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: void setRecursive(boolean)>(v);
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("b");
if v == 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("k");
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("m");
if v == 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("x");
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("b");
if v != 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("k");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("m");
if v != 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("x");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("-set");
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("b");
if v != 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("k");
if v != 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("m");
if v != 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("x");
if v != 0 goto label;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("-set");
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v != 0 goto label;
if v != 0 goto label;
if v == 0 goto label;
if v != 0 goto label;
label:
if v == 0 goto label;
if v != 0 goto label;
if v == 0 goto label;
label:
v = new oadd.org.apache.hadoop.HadoopIllegalArgumentException;
specialinvoke v.<oadd.org.apache.hadoop.HadoopIllegalArgumentException: void <init>(java.lang.String)>("Specified flags contains both remove and modify flags");
throw v;
label:
if v != 0 goto label;
if v == 0 goto label;
label:
v = virtualinvoke v.<java.util.LinkedList: boolean isEmpty()>();
if v == 0 goto label;
v = new oadd.org.apache.hadoop.HadoopIllegalArgumentException;
specialinvoke v.<oadd.org.apache.hadoop.HadoopIllegalArgumentException: void <init>(java.lang.String)>("Missing arguments: <acl_spec> <path>");
throw v;
label:
v = virtualinvoke v.<java.util.LinkedList: int size()>();
if v >= 2 goto label;
v = new oadd.org.apache.hadoop.HadoopIllegalArgumentException;
specialinvoke v.<oadd.org.apache.hadoop.HadoopIllegalArgumentException: void <init>(java.lang.String)>("Missing either <acl_spec> or <path>");
throw v;
label:
v = virtualinvoke v.<java.util.LinkedList: java.lang.Object removeFirst()>();
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("x");
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = staticinvoke <oadd.org.apache.hadoop.fs.permission.AclEntry: java.util.List parseAclSpec(java.lang.String,boolean)>(v, v);
v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.util.List aclEntries> = v;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.util.List aclEntries>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = new oadd.org.apache.hadoop.HadoopIllegalArgumentException;
specialinvoke v.<oadd.org.apache.hadoop.HadoopIllegalArgumentException: void <init>(java.lang.String)>("Missing <acl_spec> entry");
throw v;
label:
v = virtualinvoke v.<java.util.LinkedList: boolean isEmpty()>();
if v == 0 goto label;
v = new oadd.org.apache.hadoop.HadoopIllegalArgumentException;
specialinvoke v.<oadd.org.apache.hadoop.HadoopIllegalArgumentException: void <init>(java.lang.String)>("<path> is missing");
throw v;
label:
v = virtualinvoke v.<java.util.LinkedList: int size()>();
if v <= 1 goto label;
v = new oadd.org.apache.hadoop.HadoopIllegalArgumentException;
specialinvoke v.<oadd.org.apache.hadoop.HadoopIllegalArgumentException: void <init>(java.lang.String)>("Too many arguments");
throw v;
label:
if v != 0 goto label;
v = new oadd.org.apache.hadoop.HadoopIllegalArgumentException;
specialinvoke v.<oadd.org.apache.hadoop.HadoopIllegalArgumentException: void <init>(java.lang.String)>("Expected one of -b, -k, -m, -x or --set options");
throw v;
label:
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: boolean isRecursive()>();
if v == 0 goto label;
if v != 0 goto label;
if v == 0 goto label;
label:
v = staticinvoke <oadd.com.google.common.collect.Lists: java.util.ArrayList newArrayList()>();
v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.util.List accessAclEntries> = v;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.util.List aclEntries>;
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 = virtualinvoke v.<oadd.org.apache.hadoop.fs.permission.AclEntry: oadd.org.apache.hadoop.fs.permission.AclEntryScope getScope()>();
v = <oadd.org.apache.hadoop.fs.permission.AclEntryScope: oadd.org.apache.hadoop.fs.permission.AclEntryScope ACCESS>;
if v != v goto label;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.util.List accessAclEntries>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return;
}
protected void processPath(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.AclCommands$SetfaclCommand v;
boolean v, v, v, v, v, v, v, v;
oadd.org.apache.hadoop.fs.shell.CommandFormat v, v, v, v, v;
java.util.List v, v, v;
oadd.org.apache.hadoop.fs.Path v, v, v, v, v;
oadd.org.apache.hadoop.fs.FileSystem v, v, v, v, v;
v := @this: oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand;
v := @parameter: oadd.org.apache.hadoop.fs.shell.PathData;
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("b");
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>;
virtualinvoke v.<oadd.org.apache.hadoop.fs.FileSystem: void removeAcl(oadd.org.apache.hadoop.fs.Path)>(v);
goto label;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("k");
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>;
virtualinvoke v.<oadd.org.apache.hadoop.fs.FileSystem: void removeDefaultAcl(oadd.org.apache.hadoop.fs.Path)>(v);
goto label;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("m");
if v == 0 goto label;
v = specialinvoke v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.util.List getAclEntries(oadd.org.apache.hadoop.fs.shell.PathData)>(v);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
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>;
virtualinvoke v.<oadd.org.apache.hadoop.fs.FileSystem: void modifyAclEntries(oadd.org.apache.hadoop.fs.Path,java.util.List)>(v, v);
goto label;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("x");
if v == 0 goto label;
v = specialinvoke v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.util.List getAclEntries(oadd.org.apache.hadoop.fs.shell.PathData)>(v);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
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>;
virtualinvoke v.<oadd.org.apache.hadoop.fs.FileSystem: void removeAclEntries(oadd.org.apache.hadoop.fs.Path,java.util.List)>(v, v);
goto label;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: oadd.org.apache.hadoop.fs.shell.CommandFormat cf>;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.CommandFormat: boolean getOpt(java.lang.String)>("-set");
if v == 0 goto label;
v = specialinvoke v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.util.List getAclEntries(oadd.org.apache.hadoop.fs.shell.PathData)>(v);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
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>;
virtualinvoke v.<oadd.org.apache.hadoop.fs.FileSystem: void setAcl(oadd.org.apache.hadoop.fs.Path,java.util.List)>(v, v);
label:
return;
}
private java.util.List getAclEntries(oadd.org.apache.hadoop.fs.shell.PathData)
{
oadd.org.apache.hadoop.fs.shell.PathData v;
java.util.List v, v;
oadd.org.apache.hadoop.fs.FileStatus v;
oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand v;
boolean v, v;
v := @this: oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand;
v := @parameter: oadd.org.apache.hadoop.fs.shell.PathData;
v = virtualinvoke v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: boolean isRecursive()>();
if v == 0 goto label;
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 = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.util.List aclEntries>;
goto label;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.util.List accessAclEntries>;
label:
return v;
label:
v = v.<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.util.List aclEntries>;
return v;
}
static void <clinit>()
{
java.lang.String v;
v = <oadd.org.apache.hadoop.fs.shell.AclCommands: java.lang.String SET_FACL>;
<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.lang.String NAME> = v;
<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.lang.String USAGE> = "[-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]";
<oadd.org.apache.hadoop.fs.shell.AclCommands$SetfaclCommand: java.lang.String DESCRIPTION> = "Sets Access Control Lists (ACLs) of files and directories.\nOptions:\n  -b :Remove all but the base ACL entries. The entries for user, group and others are retained for compatibility with permission bits.\n  -k :Remove the default ACL.\n  -R :Apply operations to all files and directories recursively.\n  -m :Modify ACL. New entries are added to the ACL, and existing entries are retained.\n  -x :Remove specified ACL entries. Other ACL entries are retained.\n  --set :Fully replace the ACL, discarding all existing entries. The <acl_spec> must include entries for user, group, and others for compatibility with permission bits. If the ACL spec contains only access entries, then the existing default entries are retained. If the ACL spec contains only default entries, then the existing access entries are retained. If the ACL spec contains both access and default entries, then both are replaced.\n  <acl_spec>: Comma separated list of ACL entries.\n  <path>: File or directory to modify.\n";
return;
}
}