PermissionPolicy: Rename to/from config. Clarify defaults.
This commit is contained in:
parent
97d59045ae
commit
08aaa5fb1c
|
@ -142,7 +142,7 @@ public class PermissionPolicy {
|
|||
* @throws IllegalArgumentException
|
||||
* on errors.
|
||||
*/
|
||||
public PermissionPolicy setFromConfigString(final String input) {
|
||||
public PermissionPolicy setPolicyFromConfigLine(final String input) {
|
||||
final List<String> split = StringUtil.getNonEmpty(StringUtil.splitChars(input.trim(), ' ', ':', ','), true);
|
||||
FetchingPolicy fetchingPolicy;
|
||||
long interval = 0;
|
||||
|
@ -211,7 +211,24 @@ public class PermissionPolicy {
|
|||
return this;
|
||||
}
|
||||
|
||||
public String toConfigString() {
|
||||
/**
|
||||
* Minimized config line, skipping some defaults.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public String policyToConfigLine() {
|
||||
return policyToConfigLine(true);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param skipDefaults
|
||||
* Only applies to extras like invalidation policy. The fetching
|
||||
* policy and in case of INTERVAL the interval, are always
|
||||
* included.
|
||||
* @return
|
||||
*/
|
||||
public String policyToConfigLine(final boolean skipDefaults) {
|
||||
final StringBuilder builder = new StringBuilder(124);
|
||||
builder.append(fetchingPolicy.name());
|
||||
if (fetchingPolicy == FetchingPolicy.INTERVAL) {
|
||||
|
@ -219,11 +236,11 @@ public class PermissionPolicy {
|
|||
builder.append(((double) fetchingInterval) / 1000.0);
|
||||
}
|
||||
// Only add flags set to false.
|
||||
if (!invalidationOffline()) {
|
||||
builder.append(",-offline");
|
||||
if (!skipDefaults || !invalidationOffline()) {
|
||||
builder.append("," + (invalidationOffline() ? "+" : "-") + "offline");
|
||||
}
|
||||
if (!invalidationWorld()) {
|
||||
builder.append(",-world");
|
||||
if (!skipDefaults || !invalidationWorld()) {
|
||||
builder.append("," + (invalidationWorld() ? "+" : "-") + "world");
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
|
|
@ -163,7 +163,7 @@ public class PermissionSettings {
|
|||
final String pathDefaultPolicy, final String pathRules) {
|
||||
final PermissionPolicy defaultPolicy = new PermissionPolicy();
|
||||
try {
|
||||
defaultPolicy.setFromConfigString(config.getString(pathDefaultPolicy));
|
||||
defaultPolicy.setPolicyFromConfigLine(config.getString(pathDefaultPolicy));
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new RuntimeException("Bad default policy definition.", e);
|
||||
|
@ -175,7 +175,7 @@ public class PermissionSettings {
|
|||
String policyDef = null;
|
||||
try {
|
||||
policyDef = section.getString(ruleDef);
|
||||
final PermissionPolicy policy = new PermissionPolicy().setFromConfigString(policyDef);
|
||||
final PermissionPolicy policy = new PermissionPolicy().setPolicyFromConfigLine(policyDef);
|
||||
ruleDef = RegisteredPermission.toLowerCaseStringRepresentation(ruleDef.trim()).replace('#', '.');
|
||||
final PermissionRule rule = getMatchingRule(ruleDef, policy);
|
||||
if (rule == null) {
|
||||
|
|
|
@ -9,8 +9,8 @@ import fr.neatmonster.nocheatplus.permissions.PermissionPolicy;
|
|||
public class TestPermissionPolicy {
|
||||
|
||||
private void testToConfigString(PermissionPolicy policy, String expected) {
|
||||
if (!policy.toConfigString().equals(expected)) {
|
||||
fail("Expect toConfigString() to result in '" + expected + "', got instead: '" + policy.toConfigString() + "'");
|
||||
if (!policy.policyToConfigLine().equals(expected)) {
|
||||
fail("Expect toConfigString() to result in '" + expected + "', got instead: '" + policy.policyToConfigLine() + "'");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -27,9 +27,9 @@ public class TestPermissionPolicy {
|
|||
}
|
||||
|
||||
private void testFromConfigString(PermissionPolicy policy) {
|
||||
String to = policy.toConfigString();
|
||||
String to = policy.policyToConfigLine();
|
||||
PermissionPolicy policy2 = new PermissionPolicy();
|
||||
policy2.setFromConfigString(to);
|
||||
policy2.setPolicyFromConfigLine(to);
|
||||
if (!policy.isPolicyEquivalent(policy2)) {
|
||||
fail("to+from config string yields non equivalent policy.");
|
||||
}
|
||||
|
@ -38,9 +38,9 @@ public class TestPermissionPolicy {
|
|||
private void testFromConfigString(PermissionPolicy equivalent, String... inputs) {
|
||||
for (String input : inputs) {
|
||||
PermissionPolicy policy2 = new PermissionPolicy();
|
||||
policy2.setFromConfigString(input);
|
||||
policy2.setPolicyFromConfigLine(input);
|
||||
if (!equivalent.isPolicyEquivalent(policy2)) {
|
||||
fail("Expect equivalent policy to '" + equivalent.toConfigString() + "', got instead: " + policy2.toConfigString());
|
||||
fail("Expect equivalent policy to '" + equivalent.policyToConfigLine() + "', got instead: " + policy2.policyToConfigLine());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue