summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/google/gerrit/server/mail/FromAddressGeneratorProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/gerrit/server/mail/FromAddressGeneratorProvider.java')
-rw-r--r--src/main/java/com/google/gerrit/server/mail/FromAddressGeneratorProvider.java136
1 files changed, 0 insertions, 136 deletions
diff --git a/src/main/java/com/google/gerrit/server/mail/FromAddressGeneratorProvider.java b/src/main/java/com/google/gerrit/server/mail/FromAddressGeneratorProvider.java
deleted file mode 100644
index f9322d44b7..0000000000
--- a/src/main/java/com/google/gerrit/server/mail/FromAddressGeneratorProvider.java
+++ /dev/null
@@ -1,136 +0,0 @@
-// 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.mail;
-
-import com.google.gerrit.client.reviewdb.Account;
-import com.google.gerrit.server.GerritPersonIdent;
-import com.google.gerrit.server.ParamertizedString;
-import com.google.gerrit.server.account.AccountCache;
-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;
-
-/** Creates a {@link FromAddressGenerator} from the {@link GerritServerConfig} */
-@Singleton
-public class FromAddressGeneratorProvider implements
- Provider<FromAddressGenerator> {
- private final FromAddressGenerator generator;
-
- @Inject
- FromAddressGeneratorProvider(@GerritServerConfig final Config cfg,
- @GerritPersonIdent final PersonIdent myIdent,
- final AccountCache accountCache) {
-
- final String from = cfg.getString("sendemail", null, "from");
- final Address srvAddr = toAddress(myIdent);
-
- if (from == null || "MIXED".equalsIgnoreCase(from)) {
- final String name = "${user} (Code Review)";
- final String email = srvAddr.email;
- generator = new PatternGen(srvAddr, accountCache, name, email);
-
- } else if ("USER".equalsIgnoreCase(from)) {
- generator = new UserGen(accountCache, srvAddr);
-
- } else if ("SERVER".equalsIgnoreCase(from)) {
- generator = new ServerGen(srvAddr);
-
- } else {
- final Address a = Address.parse(from);
- generator = new PatternGen(srvAddr, accountCache, a.name, a.email);
- }
- }
-
- private static Address toAddress(final PersonIdent myIdent) {
- return new Address(myIdent.getName(), myIdent.getEmailAddress());
- }
-
- @Override
- public FromAddressGenerator get() {
- return generator;
- }
-
- static final class UserGen implements FromAddressGenerator {
- private final AccountCache accountCache;
- private final Address srvAddr;
-
- UserGen(AccountCache accountCache, Address srvAddr) {
- this.accountCache = accountCache;
- this.srvAddr = srvAddr;
- }
-
- @Override
- public Address from(final Account.Id fromId) {
- if (fromId != null) {
- final Account a = accountCache.get(fromId).getAccount();
- if (a.getPreferredEmail() != null) {
- return new Address(a.getFullName(), a.getPreferredEmail());
- }
- }
- return srvAddr;
- }
- }
-
- static final class ServerGen implements FromAddressGenerator {
- private final Address srvAddr;
-
- ServerGen(Address srvAddr) {
- this.srvAddr = srvAddr;
- }
-
- @Override
- public Address from(final Account.Id fromId) {
- return srvAddr;
- }
- }
-
- static final class PatternGen implements FromAddressGenerator {
- private final String senderEmail;
- private final Address serverAddress;
- private final AccountCache accountCache;
- private final ParamertizedString namePattern;
-
- PatternGen(final Address serverAddress, final AccountCache accountCache,
- final String namePattern, final String senderEmail) {
- this.senderEmail = senderEmail;
- this.serverAddress = serverAddress;
- this.accountCache = accountCache;
- this.namePattern = new ParamertizedString(namePattern);
- }
-
- @Override
- public Address from(final Account.Id fromId) {
- final String senderName;
-
- if (fromId != null) {
- final Account account = accountCache.get(fromId).getAccount();
- String fullName = account.getFullName();
- if (fullName == null || "".equals(fullName)) {
- fullName = "Anonymous Coward";
- }
- senderName = namePattern.replace("user", fullName).toString();
-
- } else {
- senderName = serverAddress.name;
- }
-
- return new Address(senderName, senderEmail);
- }
- }
-}