Files
gerrit/java/gerrit/PRED_commit_committer_3.java
Maxime Guerreiro 20282d6879 Expose the commit to Prolog
Expose the commit to allow for more granular control over what needs to
be loaded by Gerrit, and keep the parsed commit in memory. This allows
removal of the PATCH_SET_INFO and COMMIT_MESSAGE StoredValues.

Change-Id: I81649c9b976ca8750f28cb39c58051594b781c9a
2018-06-29 12:14:07 +00:00

35 lines
1.3 KiB
Java

// Copyright (C) 2011 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package gerrit;
import com.google.gerrit.server.rules.StoredValues;
import com.googlecode.prolog_cafe.exceptions.PrologException;
import com.googlecode.prolog_cafe.lang.Operation;
import com.googlecode.prolog_cafe.lang.Prolog;
import com.googlecode.prolog_cafe.lang.Term;
import org.eclipse.jgit.revwalk.RevCommit;
public class PRED_commit_committer_3 extends AbstractCommitUserIdentityPredicate {
public PRED_commit_committer_3(Term a1, Term a2, Term a3, Operation n) {
super(a1, a2, a3, n);
}
@Override
public Operation exec(Prolog engine) throws PrologException {
RevCommit revCommit = StoredValues.COMMIT.get(engine);
return exec(engine, revCommit.getCommitterIdent());
}
}