add query acl list by group API

This commit is contained in:
许晓东
2021-08-31 21:27:22 +08:00
parent 5c0a0106d0
commit e5d780d6b0
7 changed files with 114 additions and 5 deletions

View File

@@ -2,10 +2,12 @@ package com.xuxd.kafka.console.service.impl;
import com.xuxd.kafka.console.beans.AclEntry;
import com.xuxd.kafka.console.beans.CounterList;
import com.xuxd.kafka.console.beans.CounterMap;
import com.xuxd.kafka.console.beans.ResponseData;
import com.xuxd.kafka.console.service.AclService;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import kafka.console.KafkaAclConsole;
@@ -49,11 +51,19 @@ public class AclServiceImpl implements AclService {
}
@Override public ResponseData getAclList() {
List<AclBinding> aclBindingList = aclConsole.getAclList();
List<AclBinding> aclBindingList = aclConsole.getAclList(null);
return ResponseData.create().data(new CounterList<>(aclBindingList.stream().map(x -> AclEntry.valueOf(x)).collect(Collectors.toList()))).success();
}
@Override public ResponseData getAclList(AclEntry entry) {
List<AclBinding> aclBindingList = entry.isNull() ? aclConsole.getAclList(null) : aclConsole.getAclList(entry);
List<AclEntry> entryList = aclBindingList.stream().map(x -> AclEntry.valueOf(x)).collect(Collectors.toList());
Map<String, List<AclEntry>> entryMap = entryList.stream().collect(Collectors.groupingBy(AclEntry::getPrincipal));
return ResponseData.create().data(new CounterMap<>(entryMap)).success();
}
@Override public ResponseData deleteAcl(AclEntry entry) {
return aclConsole.deleteAcl(entry, false, false, false) ? ResponseData.create().success() : ResponseData.create().failed();
}