Rename CapabilityControl to AccountLimits
The class no longer controls capabilities. It now only provides limits over server resources consumed during a request. Change-Id: I70408bd5dda68b05502c4ece989b60f55793a8dd
This commit is contained in:

committed by
David Pursehouse

parent
8800928410
commit
ee59afd5ab
@@ -26,8 +26,8 @@ import com.google.inject.Singleton;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/** Access control management for server-wide capabilities. */
|
||||
public class CapabilityControl {
|
||||
/** Limits which QoS a user runs as, and how many search results it can request. */
|
||||
public class AccountLimits {
|
||||
@Singleton
|
||||
public static class Factory {
|
||||
private final ProjectCache projectCache;
|
||||
@@ -37,15 +37,15 @@ public class CapabilityControl {
|
||||
this.projectCache = projectCache;
|
||||
}
|
||||
|
||||
public CapabilityControl create(CurrentUser user) {
|
||||
return new CapabilityControl(projectCache, user);
|
||||
public AccountLimits create(CurrentUser user) {
|
||||
return new AccountLimits(projectCache, user);
|
||||
}
|
||||
}
|
||||
|
||||
private final CapabilityCollection capabilities;
|
||||
private final CurrentUser user;
|
||||
|
||||
private CapabilityControl(ProjectCache projectCache, CurrentUser currentUser) {
|
||||
private AccountLimits(ProjectCache projectCache, CurrentUser currentUser) {
|
||||
capabilities = projectCache.getAllProjects().getCapabilityCollection();
|
||||
user = currentUser;
|
||||
}
|
@@ -56,18 +56,18 @@ class GetCapabilities implements RestReadView<AccountResource> {
|
||||
private Set<String> query;
|
||||
|
||||
private final PermissionBackend permissionBackend;
|
||||
private final CapabilityControl.Factory capabilityFactory;
|
||||
private final AccountLimits.Factory limitsFactory;
|
||||
private final Provider<CurrentUser> self;
|
||||
private final DynamicMap<CapabilityDefinition> pluginCapabilities;
|
||||
|
||||
@Inject
|
||||
GetCapabilities(
|
||||
PermissionBackend permissionBackend,
|
||||
CapabilityControl.Factory capabilityFactory,
|
||||
AccountLimits.Factory limitsFactory,
|
||||
Provider<CurrentUser> self,
|
||||
DynamicMap<CapabilityDefinition> pluginCapabilities) {
|
||||
this.permissionBackend = permissionBackend;
|
||||
this.capabilityFactory = capabilityFactory;
|
||||
this.limitsFactory = limitsFactory;
|
||||
this.self = self;
|
||||
this.pluginCapabilities = pluginCapabilities;
|
||||
}
|
||||
@@ -85,9 +85,9 @@ class GetCapabilities implements RestReadView<AccountResource> {
|
||||
have.put(p.permissionName(), true);
|
||||
}
|
||||
|
||||
CapabilityControl cc = capabilityFactory.create(rsrc.getUser());
|
||||
addRanges(have, cc);
|
||||
addPriority(have, cc);
|
||||
AccountLimits limits = limitsFactory.create(rsrc.getUser());
|
||||
addRanges(have, limits);
|
||||
addPriority(have, limits);
|
||||
|
||||
return OutputFormat.JSON
|
||||
.newGson()
|
||||
@@ -117,16 +117,16 @@ class GetCapabilities implements RestReadView<AccountResource> {
|
||||
return query == null || query.contains(name.toLowerCase());
|
||||
}
|
||||
|
||||
private void addRanges(Map<String, Object> have, CapabilityControl cc) {
|
||||
private void addRanges(Map<String, Object> have, AccountLimits limits) {
|
||||
for (String name : GlobalCapability.getRangeNames()) {
|
||||
if (want(name) && cc.hasExplicitRange(name)) {
|
||||
have.put(name, new Range(cc.getRange(name)));
|
||||
if (want(name) && limits.hasExplicitRange(name)) {
|
||||
have.put(name, new Range(limits.getRange(name)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void addPriority(Map<String, Object> have, CapabilityControl cc) {
|
||||
QueueProvider.QueueType queue = cc.getQueueType();
|
||||
private void addPriority(Map<String, Object> have, AccountLimits limits) {
|
||||
QueueProvider.QueueType queue = limits.getQueueType();
|
||||
if (queue != QueueProvider.QueueType.INTERACTIVE
|
||||
|| (query != null && query.contains(PRIORITY))) {
|
||||
have.put(PRIORITY, queue);
|
||||
|
Reference in New Issue
Block a user