Make path owners reusable across predicates.
diff --git a/src/main/java/com/vmware/gerrit/owners/PathOwnersStoredValue.java b/src/main/java/com/vmware/gerrit/owners/PathOwnersStoredValue.java
index 56e986b..3d689d6 100644
--- a/src/main/java/com/vmware/gerrit/owners/PathOwnersStoredValue.java
+++ b/src/main/java/com/vmware/gerrit/owners/PathOwnersStoredValue.java
@@ -35,6 +35,9 @@
public class PathOwnersStoredValue extends StoredValue<SetMultimap<String, String>> {
private static final Logger log = LoggerFactory.getLogger(IdentifiedUser.class);
+ // Cached path owners.
+ public static PathOwnersStoredValue VALUE = new PathOwnersStoredValue();
+
@Override
protected SetMultimap<String, String> createValue(Prolog engine) {
PatchList patchList = StoredValues.PATCH_LIST.get(engine);
diff --git a/src/main/java/gerrit_owners/PRED_add_owner_approval_3.java b/src/main/java/gerrit_owners/PRED_add_owner_approval_3.java
index 06baf2d..0a90bb7 100644
--- a/src/main/java/gerrit_owners/PRED_add_owner_approval_3.java
+++ b/src/main/java/gerrit_owners/PRED_add_owner_approval_3.java
@@ -38,9 +38,6 @@
private static final SymbolTerm OWNER_APPROVAL = SymbolTerm.intern("Owner-Approval");
- // Cached path owners.
- private static PathOwnersStoredValue PATH_OWNERS = new PathOwnersStoredValue();
-
public PRED_add_owner_approval_3(Term a1, Term a2, Term a3, Operation n) {
arg1 = a1;
arg2 = a2;
@@ -52,7 +49,7 @@
public Operation exec(Prolog engine) throws PrologException {
engine.setB0();
- SetMultimap<String, String> pathOwners = PATH_OWNERS.get(engine);
+ SetMultimap<String, String> pathOwners = PathOwnersStoredValue.VALUE.get(engine);
Term a1 = arg1.dereference();
Term a2 = arg2.dereference();