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:
Shawn Pearce
2017-04-29 15:22:21 -07:00
committed by David Pursehouse
parent 8800928410
commit ee59afd5ab
10 changed files with 49 additions and 49 deletions

View File

@@ -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;
}

View File

@@ -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);