Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ public Builder(AclBindingFilter filter) {
.setPermissionType(entryFilter.permissionType().code())
.setPrincipalFilter(entryFilter.principal())
.setResourceNameFilter(patternFilter.name())
.setResourcePatternType(patternFilter.patternType().code())
.setResourceType(patternFilter.resourceType().code());
.setPatternTypeFilter(patternFilter.patternType().code())
.setResourceTypeFilter(patternFilter.resourceType().code());
}

@Override
Expand All @@ -71,18 +71,18 @@ private DescribeAclsRequest(DescribeAclsRequestData data, short version) {

private void normalizeAndValidate(short version) {
if (version == 0) {
PatternType patternType = PatternType.fromCode(data.resourcePatternType());
PatternType patternType = PatternType.fromCode(data.patternTypeFilter());
// On older brokers, no pattern types existed except LITERAL (effectively). So even though ANY is not
// directly supported on those brokers, we can get the same effect as ANY by setting the pattern type
// to LITERAL. Note that the wildcard `*` is considered `LITERAL` for compatibility reasons.
if (patternType == PatternType.ANY)
data.setResourcePatternType(PatternType.LITERAL.code());
data.setPatternTypeFilter(PatternType.LITERAL.code());
else if (patternType != PatternType.LITERAL)
throw new UnsupportedVersionException("Version 0 only supports literal resource pattern types");
}

if (data.resourcePatternType() == PatternType.UNKNOWN.code()
|| data.resourceType() == ResourceType.UNKNOWN.code()
if (data.patternTypeFilter() == PatternType.UNKNOWN.code()
|| data.resourceTypeFilter() == ResourceType.UNKNOWN.code()
|| data.permissionType() == AclPermissionType.UNKNOWN.code()
|| data.operation() == AclOperation.UNKNOWN.code()) {
throw new IllegalArgumentException("DescribeAclsRequest contains UNKNOWN elements: " + data);
Expand Down Expand Up @@ -119,9 +119,9 @@ public static DescribeAclsRequest parse(ByteBuffer buffer, short version) {

public AclBindingFilter filter() {
ResourcePatternFilter rpf = new ResourcePatternFilter(
ResourceType.fromCode(data.resourceType()),
ResourceType.fromCode(data.resourceTypeFilter()),
data.resourceNameFilter(),
PatternType.fromCode(data.resourcePatternType()));
PatternType.fromCode(data.patternTypeFilter()));
AccessControlEntryFilter acef = new AccessControlEntryFilter(
data.principalFilter(),
data.hostFilter(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ private void validate(short version) {
}

for (DescribeAclsResource resource : acls()) {
if (resource.patternType() == PatternType.UNKNOWN.code() || resource.type() == ResourceType.UNKNOWN.code())
if (resource.patternType() == PatternType.UNKNOWN.code() || resource.resourceType() == ResourceType.UNKNOWN.code())
throw new IllegalArgumentException("Contain UNKNOWN elements");
for (AclDescription acl : resource.acls()) {
if (acl.operation() == AclOperation.UNKNOWN.code() || acl.permissionType() == AclPermissionType.UNKNOWN.code()) {
Expand All @@ -110,8 +110,8 @@ private void validate(short version) {
private static Stream<AclBinding> aclBindings(DescribeAclsResource resource) {
return resource.acls().stream().map(acl -> {
ResourcePattern pattern = new ResourcePattern(
ResourceType.fromCode(resource.type()),
resource.name(),
ResourceType.fromCode(resource.resourceType()),
resource.resourceName(),
PatternType.fromCode(resource.patternType()));
AccessControlEntry entry = new AccessControlEntry(
acl.principal(),
Expand Down Expand Up @@ -144,9 +144,9 @@ public static List<DescribeAclsResource> aclsResources(Collection<AclBinding> ac
aclDescriptions.add(ad);
}
DescribeAclsResource dar = new DescribeAclsResource()
.setName(key.name())
.setResourceName(key.name())
.setPatternType(key.patternType().code())
.setType(key.resourceType().code())
.setResourceType(key.resourceType().code())
.setAcls(aclDescriptions);
resources.add(dar);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@
"validVersions": "0-2",
"flexibleVersions": "2+",
"fields": [
{ "name": "ResourceType", "type": "int8", "versions": "0+",
{ "name": "ResourceTypeFilter", "type": "int8", "versions": "0+",
"about": "The resource type." },
{ "name": "ResourceNameFilter", "type": "string", "versions": "0+", "nullableVersions": "0+",
"about": "The resource name, or null to match any resource name." },
{ "name": "ResourcePatternType", "type": "int8", "versions": "1+", "default": "3", "ignorable": false,
{ "name": "PatternTypeFilter", "type": "int8", "versions": "1+", "default": "3", "ignorable": false,
"about": "The resource pattern to match." },
{ "name": "PrincipalFilter", "type": "string", "versions": "0+", "nullableVersions": "0+",
"about": "The principal to match, or null to match any principal." },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@
"about": "The error message, or null if there was no error." },
{ "name": "Resources", "type": "[]DescribeAclsResource", "versions": "0+",
"about": "Each Resource that is referenced in an ACL.", "fields": [
{ "name": "Type", "type": "int8", "versions": "0+",
{ "name": "ResourceType", "type": "int8", "versions": "0+",
"about": "The resource type." },
{ "name": "Name", "type": "string", "versions": "0+",
{ "name": "ResourceName", "type": "string", "versions": "0+",
"about": "The resource name." },
{ "name": "PatternType", "type": "int8", "versions": "1+", "default": "3", "ignorable": false,
"about": "The resource pattern type." },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,9 @@ public void testCreateTopicsVersions() throws Exception {
@Test
public void testDescribeAclsRequest() throws Exception {
testAllMessageRoundTrips(new DescribeAclsRequestData().
setResourceType((byte) 42).
setResourceTypeFilter((byte) 42).
setResourceNameFilter(null).
setResourcePatternType((byte) 3).
setPatternTypeFilter((byte) 3).
setPrincipalFilter("abc").
setHostFilter(null).
setOperation((byte) 0).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,8 @@ private static DescribeAclsResponse buildResponse(int throttleTimeMs, Errors err

private static DescribeAclsResource buildResource(String name, ResourceType type, PatternType patternType, List<AclDescription> acls) {
return new DescribeAclsResource()
.setName(name)
.setType(type.code())
.setResourceName(name)
.setResourceType(type.code())
.setPatternType(patternType.code())
.setAcls(acls);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1721,8 +1721,8 @@ private DescribeAclsResponse createDescribeAclsResponse() {
.setErrorMessage(Errors.NONE.message())
.setThrottleTimeMs(0)
.setResources(Collections.singletonList(new DescribeAclsResource()
.setType(ResourceType.TOPIC.code())
.setName("mytopic")
.setResourceType(ResourceType.TOPIC.code())
.setResourceName("mytopic")
.setPatternType(PatternType.LITERAL.code())
.setAcls(Collections.singletonList(new AclDescription()
.setHost("*")
Expand Down