Files
gerrit/java/com/google/gerrit/server/GerritPersonIdentProvider.java
David Pursehouse ba366fb91b Merge branch 'stable-2.15'
* stable-2.15:
  Update git submodules
  [GitwebServlet] Use logger built-in formatting
  [GitwebServlet] Avoid empty error flooding the logs
  MoveChangeIT: Test moving a change to a branch where label does not exist
  GerritPersonIdentProvider: Sanitize user.name and user.email values
  OutgoingEmail: Reduce visibility of methods
  OutgoingEmail: Remove unused public methods
  OutgoingEmail: Annotate methods with @Nullable
  OutgoingEmail#getUserNameEmailFor: Protect against null accountId
  OutgoingEmail#getNameEmailFor: Protect against null accountId
  OutgoingEmail#getName{Email}For: Use helpers from Account
  AbstractIndexTests: Add --wide option to show-queue command invocation
  AbstractIndexTests: Add assertions on change index count
  AbstractIndexTests: Use correct command to index project
  acceptance/SshSession: Add helper methods to assert about success/failure
  dev-bazel: Add 'elastic' and 'docker' to list of test groups
  dev-bazel: Improve section about running Elasticsearch tests
  AbstractIndexTests: Add coverage for index projects command
  ReadOnlyChangeIndex: Reduce visibility to package
  AbstractIndexTests: Refactor to simplify and use Java stream API
  Elasticsearch: Improve introduction in elasticsearch section
  Elasticsearch: Add support for version 6.3.0
  ElasticVersionTest: Add explicit test for 5.6.10
  ElasticContainer: Update to version 5.6.10

Due to incompatibility with methods in the Account class, the following
changes done on stable-2.14 are reverted in this merge. A different
solution to the potential null account Ids will need to be done for the
master branch:

  I383efdcd7 - OutgoingEmail: Annotate methods with @Nullable
  Ibb6994a5b - OutgoingEmail#getUserNameEmailFor: Protect against null accountId
  I8145ca79d - OutgoingEmail#getNameEmailFor: Protect against null accountId
  I9d55ec3f1 - OutgoingEmail#getName{Email}For: Use helpers from Account

This reverts commit 4fbf7ffb18.
This reverts commit aac761785b.
This reverts commit d75352f042.
This reverts commit ddf27f44c8.

Change-Id: I467d26843e44d02394f2b4cc86d0306ba836368b
2018-06-20 23:46:37 +09:00

50 lines
1.7 KiB
Java

// Copyright (C) 2009 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 com.google.gerrit.server;
import static com.google.common.base.MoreObjects.firstNonNull;
import com.google.gerrit.server.config.GerritServerConfig;
import com.google.inject.Inject;
import com.google.inject.Provider;
import com.google.inject.Singleton;
import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.lib.PersonIdent;
import org.eclipse.jgit.lib.UserConfig;
/** Provides {@link PersonIdent} annotated with {@link GerritPersonIdent}. */
@Singleton
public class GerritPersonIdentProvider implements Provider<PersonIdent> {
private final String name;
private final String email;
@Inject
public GerritPersonIdentProvider(@GerritServerConfig Config cfg) {
StringBuilder name = new StringBuilder();
PersonIdent.appendSanitized(
name, firstNonNull(cfg.getString("user", null, "name"), "Gerrit Code Review"));
this.name = name.toString();
StringBuilder email = new StringBuilder();
PersonIdent.appendSanitized(email, cfg.get(UserConfig.KEY).getCommitterEmail());
this.email = email.toString();
}
@Override
public PersonIdent get() {
return new PersonIdent(name, email);
}
}