tree e28fcfb5d3ddfbca75feb718f3af825387d34592
parent 4bc54e5fdc20c402be1521b1b8a0c8b28d2a5381
author Edwin Kempin <ekempin@google.com> 1565182760 +0200
committer Edwin Kempin <ekempin@google.com> 1565594513 +0200

SubmitRule: Remove SubmitRuleOptions arg from evaluate method

The SubmitRuleOptions contain mostly Prolog-specific settings and are
only used by the PrologRule. All other implementation of SubmitRule
ignore the options, hence the interface is cleaner without the
SubmitRuleOptions arg.

All Prolog-specific settings from SubmitRuleOptions are now moved into a
new PrologOptions AutoValue class that is only used by PrologRule and
PrologRuleEvaluator. There are only 2 variants of the prolog options
that are used, one for checking the submittability of changes against
the Prolog rules that are configured in the project, one for testing
Prolog rules that are passed in into the TestSubmitRule / TestSubmitType
REST endpoints. For the first case we go through SubmitRuleEvaluator. In
this case we pass no options to PrologRule, but PrologRule just uses the
default options which work for production. For the second case we invoke
PrologRule directly and pass in the dry run options.

SubmitRuleOptions contains only a single option now (allowClosed), but
this options is checked before submit rules are invoked. Hence this
option is not relevant for SubmitRule implementations.

The SubmitRuleOptions that are used for computing submit records that
are stored in the change index (SUBMIT_RULE_OPTIONS_LENIENT and
SUBMIT_RULE_OPTIONS_STRICT) are not changed since they only use the one
field in SubmitRuleOptions that is still there (allowClosed).

Change-Id: Ifa474e2c16fee02f52b6e6339bdf980b8f4f3a50
Signed-off-by: Edwin Kempin <ekempin@google.com>
