private static void write(List<AclEntry> aclEntries, DataOutputStream out) throws IOException { if (aclEntries == null) { out.writeInt(0); return; } out.writeInt(aclEntries.size()); for (AclEntry e : aclEntries) { boolean hasName = e.getName() != null; int v = (e.getScope().ordinal() << ACL_EDITLOG_ENTRY_SCOPE_OFFSET) | (e.getType().ordinal() << ACL_EDITLOG_ENTRY_TYPE_OFFSET) | e.getPermission().ordinal(); if (hasName) { v |= 1 << ACL_EDITLOG_ENTRY_HAS_NAME_OFFSET; } out.write(v); if (hasName) { FSImageSerialization.writeString(e.getName(), out); } } } }
private static void appendAclEntriesToXml(ContentHandler contentHandler, List<AclEntry> aclEntries) throws SAXException { for (AclEntry e : aclEntries) { contentHandler.startElement("", "", "ENTRY", new AttributesImpl()); XMLUtils.addSaxString(contentHandler, "SCOPE", e.getScope().name()); XMLUtils.addSaxString(contentHandler, "TYPE", e.getType().name()); if (e.getName() != null) { XMLUtils.addSaxString(contentHandler, "NAME", e.getName()); } fsActionToXml(contentHandler, e.getPermission()); contentHandler.endElement("", "", "ENTRY"); } }
private static List<AclEntry> readAclEntriesFromXml(Stanza st) { List<AclEntry> aclEntries = Lists.newArrayList(); if (!st.hasChildren("ENTRY")) return null; List<Stanza> stanzas = st.getChildren("ENTRY"); for (Stanza s : stanzas) { AclEntry e = new AclEntry.Builder() .setScope(AclEntryScope.valueOf(s.getValue("SCOPE"))) .setType(AclEntryType.valueOf(s.getValue("TYPE"))) .setName(s.getValueOrNull("NAME")) .setPermission(fsActionFromXml(s)).build(); aclEntries.add(e); } return aclEntries; }
static AclEntryScope getScope(int aclEntry) { int ordinal = (int) SCOPE.BITS.retrieve(aclEntry); return AclEntryScope.values()[ordinal]; }
static AclEntryScope getScope(int aclEntry) { int ordinal = (int) SCOPE.BITS.retrieve(aclEntry); return AclEntryScope.values()[ordinal]; }
static int toInt(AclEntry aclEntry) { long aclEntryInt = 0; aclEntryInt = SCOPE.BITS .combine(aclEntry.getScope().ordinal(), aclEntryInt); aclEntryInt = TYPE.BITS.combine(aclEntry.getType().ordinal(), aclEntryInt); aclEntryInt = PERMISSION.BITS.combine(aclEntry.getPermission().ordinal(), aclEntryInt); SerialNumberManager snm = getSerialNumberManager(aclEntry.getType()); if (snm != null) { int nid = snm.getSerialNumber(aclEntry.getName()); aclEntryInt = NAME.BITS.combine(nid, aclEntryInt); } return (int) aclEntryInt; }
private static void appendAclEntriesToXml(ContentHandler contentHandler, List<AclEntry> aclEntries) throws SAXException { for (AclEntry e : aclEntries) { contentHandler.startElement("", "", "ENTRY", new AttributesImpl()); XMLUtils.addSaxString(contentHandler, "SCOPE", e.getScope().name()); XMLUtils.addSaxString(contentHandler, "TYPE", e.getType().name()); if (e.getName() != null) { XMLUtils.addSaxString(contentHandler, "NAME", e.getName()); } fsActionToXml(contentHandler, e.getPermission()); contentHandler.endElement("", "", "ENTRY"); } }
private static List<AclEntry> readAclEntriesFromXml(Stanza st) { List<AclEntry> aclEntries = Lists.newArrayList(); if (!st.hasChildren("ENTRY")) return null; List<Stanza> stanzas = st.getChildren("ENTRY"); for (Stanza s : stanzas) { AclEntry e = new AclEntry.Builder() .setScope(AclEntryScope.valueOf(s.getValue("SCOPE"))) .setType(AclEntryType.valueOf(s.getValue("TYPE"))) .setName(s.getValueOrNull("NAME")) .setPermission(fsActionFromXml(s)).build(); aclEntries.add(e); } return aclEntries; }
private INodeSection.AclFeatureProto.Builder aclXmlToProto(Node acls) throws IOException { AclFeatureProto.Builder b = AclFeatureProto.newBuilder(); while (true) { Node acl = acls.removeChild(INODE_SECTION_ACL); if (acl == null) { break; } String val = acl.getVal(); AclEntry entry = AclEntry.parseAclEntry(val, true); int nameId = registerStringId(entry.getName() == null ? EMPTY_STRING : entry.getName()); int v = ((nameId & ACL_ENTRY_NAME_MASK) << ACL_ENTRY_NAME_OFFSET) | (entry.getType().ordinal() << ACL_ENTRY_TYPE_OFFSET) | (entry.getScope().ordinal() << ACL_ENTRY_SCOPE_OFFSET) | (entry.getPermission().ordinal()); b.addEntries(v); } return b; }
private static void appendAclEntriesToXml(ContentHandler contentHandler, List<AclEntry> aclEntries) throws SAXException { for (AclEntry e : aclEntries) { contentHandler.startElement("", "", "ENTRY", new AttributesImpl()); XMLUtils.addSaxString(contentHandler, "SCOPE", e.getScope().name()); XMLUtils.addSaxString(contentHandler, "TYPE", e.getType().name()); if (e.getName() != null) { XMLUtils.addSaxString(contentHandler, "NAME", e.getName()); } fsActionToXml(contentHandler, e.getPermission()); contentHandler.endElement("", "", "ENTRY"); } }
private static List<AclEntry> readAclEntriesFromXml(Stanza st) { List<AclEntry> aclEntries = Lists.newArrayList(); if (!st.hasChildren("ENTRY")) return null; List<Stanza> stanzas = st.getChildren("ENTRY"); for (Stanza s : stanzas) { AclEntry e = new AclEntry.Builder() .setScope(AclEntryScope.valueOf(s.getValue("SCOPE"))) .setType(AclEntryType.valueOf(s.getValue("TYPE"))) .setName(s.getValueOrNull("NAME")) .setPermission(fsActionFromXml(s)).build(); aclEntries.add(e); } return aclEntries; }
private static AclEntryScopeProto convert(AclEntryScope v) { return AclEntryScopeProto.valueOf(v.ordinal()); }
private static AclEntryScopeProto convert(AclEntryScope v) { return AclEntryScopeProto.valueOf(v.ordinal()); }
static AclEntryScopeProto convert(AclEntryScope v) { return AclEntryScopeProto.valueOf(v.ordinal()); }
out.writeByte(entry.getScope().ordinal()); out.writeByte(entry.getType().ordinal()); WritableUtils.writeString(out, entry.getName());
out.writeByte(entry.getScope().ordinal()); out.writeByte(entry.getType().ordinal()); WritableUtils.writeString(out, entry.getName());
out.writeByte(entry.getScope().ordinal()); out.writeByte(entry.getType().ordinal()); WritableUtils.writeString(out, entry.getName());
private static void write(List<AclEntry> aclEntries, DataOutputStream out) throws IOException { if (aclEntries == null) { out.writeInt(0); return; } out.writeInt(aclEntries.size()); for (AclEntry e : aclEntries) { boolean hasName = e.getName() != null; int v = (e.getScope().ordinal() << ACL_EDITLOG_ENTRY_SCOPE_OFFSET) | (e.getType().ordinal() << ACL_EDITLOG_ENTRY_TYPE_OFFSET) | e.getPermission().ordinal(); if (hasName) { v |= 1 << ACL_EDITLOG_ENTRY_HAS_NAME_OFFSET; } out.write(v); if (hasName) { FSImageSerialization.writeString(e.getName(), out); } } } }
out.writeByte(entry.getScope().ordinal()); out.writeByte(entry.getType().ordinal()); WritableUtils.writeString(out, entry.getName());
private static void write(List<AclEntry> aclEntries, DataOutputStream out) throws IOException { if (aclEntries == null) { out.writeInt(0); return; } out.writeInt(aclEntries.size()); for (AclEntry e : aclEntries) { boolean hasName = e.getName() != null; int v = (e.getScope().ordinal() << ACL_EDITLOG_ENTRY_SCOPE_OFFSET) | (e.getType().ordinal() << ACL_EDITLOG_ENTRY_TYPE_OFFSET) | e.getPermission().ordinal(); if (hasName) { v |= 1 << ACL_EDITLOG_ENTRY_HAS_NAME_OFFSET; } out.write(v); if (hasName) { FSImageSerialization.writeString(e.getName(), out); } } } }