/// <summary>Convert a AclStatus object to a Json string.</summary> public static string ToJsonString(AclStatus status) { if (status == null) { return(null); } IDictionary <string, object> m = new SortedDictionary <string, object>(); m["owner"] = status.GetOwner(); m["group"] = status.GetGroup(); m["stickyBit"] = status.IsStickyBit(); IList <string> stringEntries = new AList <string>(); foreach (AclEntry entry in status.GetEntries()) { stringEntries.AddItem(entry.ToString()); } m["entries"] = stringEntries; FsPermission perm = status.GetPermission(); if (perm != null) { m["permission"] = ToString(perm); if (perm.GetAclBit()) { m["aclBit"] = true; } if (perm.GetEncryptedBit()) { m["encBit"] = true; } } IDictionary <string, IDictionary <string, object> > finalMap = new SortedDictionary < string, IDictionary <string, object> >(); finalMap[typeof(AclStatus).Name] = m; ObjectMapper mapper = new ObjectMapper(); try { return(mapper.WriteValueAsString(finalMap)); } catch (IOException) { } return(null); }
/// <summary>Convert a HdfsFileStatus object to a Json string.</summary> public static string ToJsonString(HdfsFileStatus status, bool includeType) { if (status == null) { return(null); } IDictionary <string, object> m = new SortedDictionary <string, object>(); m["pathSuffix"] = status.GetLocalName(); m["type"] = JsonUtil.PathType.ValueOf(status); if (status.IsSymlink()) { m["symlink"] = status.GetSymlink(); } m["length"] = status.GetLen(); m["owner"] = status.GetOwner(); m["group"] = status.GetGroup(); FsPermission perm = status.GetPermission(); m["permission"] = ToString(perm); if (perm.GetAclBit()) { m["aclBit"] = true; } if (perm.GetEncryptedBit()) { m["encBit"] = true; } m["accessTime"] = status.GetAccessTime(); m["modificationTime"] = status.GetModificationTime(); m["blockSize"] = status.GetBlockSize(); m["replication"] = status.GetReplication(); m["fileId"] = status.GetFileId(); m["childrenNum"] = status.GetChildrenNum(); m["storagePolicy"] = status.GetStoragePolicy(); ObjectMapper mapper = new ObjectMapper(); try { return(includeType ? ToJsonString(typeof(FileStatus), m) : mapper.WriteValueAsString (m)); } catch (IOException) { } return(null); }
/// <summary>Tell whether the underlying file or directory is encrypted or not.</summary> /// <returns>true if the underlying file is encrypted.</returns> public virtual bool IsEncrypted() { return(permission.GetEncryptedBit()); }