From d6ccccf96a23874705b9badec5db888d9bf8c24f Mon Sep 17 00:00:00 2001 From: Sasa Zivkov Date: Thu, 26 Sep 2013 16:44:32 +0200 Subject: [PATCH] Add our own Nullable implementation When deploying Gerrit in an osgi container we see an issue where the javax.annotation.Nullable annotation is not available at runtime. As a consequence Guice injection throws an error if a (Nullable) parameter is null. A research on that topic reveals that this is caused by the Split Package issue in osgi [1]. The javax.annotation.* package is split as one part of it comes from JRE and another one from the jsr305 packaged in gerrit.war. Since guice supports usage of any Nullable annotation type whose simple name is "Nullable" [2], we can use own Nullable annotation type. [1] http://wiki.osgi.org/wiki/Split_Packages [2] https://code.google.com/p/google-guice/source/browse/core/src/com/google/inject/internal/Nullability.java Change-Id: I63b27be6d695e73fd92940e42169d09f751d7274 --- .../rest/group/ListGroupIncludesIT.java | 3 +-- .../rest/group/ListGroupMembersIT.java | 3 +-- .../acceptance/rest/group/ListGroupsIT.java | 3 +-- .../com/google/gerrit/common/Nullable.java | 26 +++++++++++++++++++ .../gerrit/common/data/GroupDescription.java | 3 +-- .../gerrit/common/data/GroupDescriptions.java | 3 +-- .../admin/AccountGroupMembersScreen.java | 3 +-- .../google/gerrit/httpd/CanonicalWebUrl.java | 2 +- .../gerrit/httpd/HttpLogoutServlet.java | 2 +- .../gerrit/httpd/ProjectDigestFilter.java | 2 +- .../google/gerrit/httpd/RequireSslFilter.java | 2 +- .../com/google/gerrit/httpd/WebModule.java | 3 +-- .../HttpsClientSslCertLoginServlet.java | 2 +- .../httpd/auth/ldap/LdapLoginServlet.java | 2 +- .../gerrit/httpd/plugins/SmallResource.java | 3 ++- .../gerrit/httpd/raw/StaticServlet.java | 2 +- .../gerrit/httpd/restapi/RestApiServlet.java | 2 +- .../gerrit/httpd/rpc/SuggestServiceImpl.java | 3 +-- .../EditCommitMessageHandler.java | 3 +-- .../changedetail/PatchSetDetailFactory.java | 3 +-- .../rpc/project/ChangeProjectAccess.java | 3 +-- .../rpc/project/ReviewProjectAccess.java | 3 +-- gerrit-lucene/BUCK | 1 + .../gerrit/lucene/LuceneChangeIndex.java | 3 +-- .../gerrit/httpd/auth/openid/LoginForm.java | 2 +- gerrit-pgm/BUCK | 1 + .../com/google/gerrit/pgm/init/Section.java | 3 +-- .../google/gerrit/server/IdentifiedUser.java | 3 +-- .../gerrit/server/account/ChangeUserName.java | 3 +-- .../gerrit/server/account/GroupBackend.java | 3 +-- .../gerrit/server/account/GroupBackends.java | 3 +-- .../gerrit/server/account/GroupCache.java | 3 +-- .../server/account/UniversalGroupBackend.java | 3 +-- .../gerrit/server/auth/AuthRequest.java | 3 +-- .../google/gerrit/server/auth/AuthUser.java | 2 +- .../server/auth/ldap/LdapGroupBackend.java | 2 +- .../gerrit/server/cache/CacheBinding.java | 3 +-- .../gerrit/server/cache/CacheProvider.java | 3 +-- .../gerrit/server/change/FileInfoJson.java | 3 +-- .../gerrit/server/change/GetRelated.java | 3 +-- .../gerrit/server/events/EventFactory.java | 3 +-- .../server/extensions/webui/UiActions.java | 3 +-- .../com/google/gerrit/server/git/MergeOp.java | 3 +-- .../google/gerrit/server/git/MergeUtil.java | 3 +-- .../gerrit/server/git/ReceiveCommits.java | 3 +-- .../server/git/SubmitStrategyFactory.java | 3 +-- .../google/gerrit/server/git/SubmoduleOp.java | 3 +-- .../git/validators/CommitValidators.java | 3 +-- .../gerrit/server/index/IndexCollection.java | 3 +-- .../gerrit/server/mail/EmailArguments.java | 3 +-- .../google/gerrit/server/patch/PatchList.java | 3 +-- .../gerrit/server/patch/PatchListKey.java | 3 +-- .../server/patch/PatchScriptFactory.java | 3 +-- .../gerrit/server/plugins/JarPlugin.java | 3 +-- .../google/gerrit/server/plugins/Plugin.java | 3 +-- .../plugins/PluginGuiceEnvironment.java | 2 +- .../gerrit/server/project/ChangeControl.java | 3 +-- .../gerrit/server/project/ProjectControl.java | 3 +-- .../server/project/SubmitRuleEvaluator.java | 3 +-- .../util/GuiceRequestScopePropagator.java | 3 +-- .../util/ThreadLocalRequestContext.java | 3 +-- .../com/google/gerrit/sshd/BaseCommand.java | 3 +-- gerrit-util-cli/BUCK | 1 + .../gerrit/util/cli/OptionHandlers.java | 3 +-- 64 files changed, 90 insertions(+), 107 deletions(-) create mode 100644 gerrit-common/src/main/java/com/google/gerrit/common/Nullable.java diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupIncludesIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupIncludesIT.java index 7b614e8bbd..f4c289cb57 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupIncludesIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupIncludesIT.java @@ -24,6 +24,7 @@ import com.google.gerrit.acceptance.AccountCreator; import com.google.gerrit.acceptance.RestResponse; import com.google.gerrit.acceptance.RestSession; import com.google.gerrit.acceptance.TestAccount; +import com.google.gerrit.common.Nullable; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.google.inject.Inject; @@ -36,8 +37,6 @@ import java.io.IOException; import java.util.Collection; import java.util.List; -import javax.annotation.Nullable; - public class ListGroupIncludesIT extends AbstractDaemonTest { @Inject diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupMembersIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupMembersIT.java index 8dbd7f14c3..0e7cc71a2d 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupMembersIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupMembersIT.java @@ -25,6 +25,7 @@ import com.google.gerrit.acceptance.RestResponse; import com.google.gerrit.acceptance.RestSession; import com.google.gerrit.acceptance.TestAccount; import com.google.gerrit.acceptance.rest.account.AccountInfo; +import com.google.gerrit.common.Nullable; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.google.inject.Inject; @@ -37,8 +38,6 @@ import java.io.IOException; import java.util.Collection; import java.util.List; -import javax.annotation.Nullable; - public class ListGroupMembersIT extends AbstractDaemonTest { @Inject diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupsIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupsIT.java index 466041eeb3..4db2ac895b 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupsIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/group/ListGroupsIT.java @@ -25,6 +25,7 @@ import com.google.gerrit.acceptance.AccountCreator; import com.google.gerrit.acceptance.RestResponse; import com.google.gerrit.acceptance.RestSession; import com.google.gerrit.acceptance.TestAccount; +import com.google.gerrit.common.Nullable; import com.google.gerrit.reviewdb.client.AccountGroup; import com.google.gerrit.server.account.GroupCache; import com.google.gson.Gson; @@ -41,8 +42,6 @@ import java.io.IOException; import java.util.Map; import java.util.Set; -import javax.annotation.Nullable; - public class ListGroupsIT extends AbstractDaemonTest { @Inject diff --git a/gerrit-common/src/main/java/com/google/gerrit/common/Nullable.java b/gerrit-common/src/main/java/com/google/gerrit/common/Nullable.java new file mode 100644 index 0000000000..46db282d84 --- /dev/null +++ b/gerrit-common/src/main/java/com/google/gerrit/common/Nullable.java @@ -0,0 +1,26 @@ +// Copyright (C) 2013 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.common; + +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +import java.lang.annotation.Retention; + +/** + * Gerrit's own replacement for the javax.annotations.Nullable + */ +@Retention(RUNTIME) +public @interface Nullable { +} diff --git a/gerrit-common/src/main/java/com/google/gerrit/common/data/GroupDescription.java b/gerrit-common/src/main/java/com/google/gerrit/common/data/GroupDescription.java index ccd50fc032..86b0b39cc7 100644 --- a/gerrit-common/src/main/java/com/google/gerrit/common/data/GroupDescription.java +++ b/gerrit-common/src/main/java/com/google/gerrit/common/data/GroupDescription.java @@ -14,10 +14,9 @@ package com.google.gerrit.common.data; +import com.google.gerrit.common.Nullable; import com.google.gerrit.reviewdb.client.AccountGroup; -import javax.annotation.Nullable; - /** * Group methods exposed by the GroupBackend. */ diff --git a/gerrit-common/src/main/java/com/google/gerrit/common/data/GroupDescriptions.java b/gerrit-common/src/main/java/com/google/gerrit/common/data/GroupDescriptions.java index f986600d15..63b4a04656 100644 --- a/gerrit-common/src/main/java/com/google/gerrit/common/data/GroupDescriptions.java +++ b/gerrit-common/src/main/java/com/google/gerrit/common/data/GroupDescriptions.java @@ -14,11 +14,10 @@ package com.google.gerrit.common.data; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.PageLinks; import com.google.gerrit.reviewdb.client.AccountGroup; -import javax.annotation.Nullable; - /** * Utility class for building GroupDescription objects. */ diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java index 7aaf04d8bd..0f326bfc5d 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupMembersScreen.java @@ -28,6 +28,7 @@ import com.google.gerrit.client.ui.AddMemberBox; import com.google.gerrit.client.ui.FancyFlexTable; import com.google.gerrit.client.ui.Hyperlink; import com.google.gerrit.client.ui.SmallHeading; +import com.google.gerrit.common.Nullable; import com.google.gerrit.reviewdb.client.AccountGroup; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; @@ -42,8 +43,6 @@ import java.util.Comparator; import java.util.HashSet; import java.util.List; -import javax.annotation.Nullable; - public class AccountGroupMembersScreen extends AccountGroupScreen { private MemberTable members; diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/CanonicalWebUrl.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/CanonicalWebUrl.java index 61c0cd1e6f..992c70a4dd 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/CanonicalWebUrl.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/CanonicalWebUrl.java @@ -14,9 +14,9 @@ package com.google.gerrit.httpd; -import javax.annotation.Nullable; import javax.servlet.http.HttpServletRequest; +import com.google.gerrit.common.Nullable; import com.google.inject.Inject; import com.google.inject.Provider; diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/HttpLogoutServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/HttpLogoutServlet.java index 879dfa3a88..c3639cebe8 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/HttpLogoutServlet.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/HttpLogoutServlet.java @@ -17,6 +17,7 @@ package com.google.gerrit.httpd; import com.google.gerrit.audit.AuditEvent; import com.google.gerrit.audit.AuditService; import com.google.common.base.Strings; +import com.google.gerrit.common.Nullable; import com.google.gerrit.server.CurrentUser; import com.google.gerrit.server.account.AccountManager; import com.google.gerrit.server.config.AuthConfig; @@ -27,7 +28,6 @@ import com.google.inject.Singleton; import java.io.IOException; -import javax.annotation.Nullable; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/ProjectDigestFilter.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/ProjectDigestFilter.java index f1bddebc07..523309e5a6 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/ProjectDigestFilter.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/ProjectDigestFilter.java @@ -20,6 +20,7 @@ import static javax.servlet.http.HttpServletResponse.SC_FORBIDDEN; import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR; import static javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED; +import com.google.gerrit.common.Nullable; import com.google.gerrit.server.AccessPath; import com.google.gerrit.server.account.AccountCache; import com.google.gerrit.server.account.AccountState; @@ -42,7 +43,6 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map; -import javax.annotation.Nullable; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/RequireSslFilter.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/RequireSslFilter.java index 076a23a5e1..92809c03f8 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/RequireSslFilter.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/RequireSslFilter.java @@ -14,6 +14,7 @@ package com.google.gerrit.httpd; +import com.google.gerrit.common.Nullable; import com.google.gerrit.server.config.CanonicalWebUrl; import com.google.inject.Inject; import com.google.inject.Provider; @@ -22,7 +23,6 @@ import com.google.inject.servlet.ServletModule; import java.io.IOException; -import javax.annotation.Nullable; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/WebModule.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/WebModule.java index 4d97cc2e8f..5593baf56f 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/WebModule.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/WebModule.java @@ -17,6 +17,7 @@ package com.google.gerrit.httpd; import static com.google.gerrit.extensions.registration.PrivateInternals_DynamicTypes.registerInParentInjectors; import static com.google.inject.Scopes.SINGLETON; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.GerritConfig; import com.google.gerrit.extensions.registration.DynamicSet; import com.google.gerrit.extensions.webui.WebUiPlugin; @@ -45,8 +46,6 @@ import com.google.inject.servlet.RequestScoped; import java.net.SocketAddress; -import javax.annotation.Nullable; - public class WebModule extends FactoryModule { private final AuthConfig authConfig; private final UrlModule.UrlConfig urlConfig; diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/container/HttpsClientSslCertLoginServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/container/HttpsClientSslCertLoginServlet.java index d9585b91ed..3c3174d99c 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/container/HttpsClientSslCertLoginServlet.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/container/HttpsClientSslCertLoginServlet.java @@ -14,6 +14,7 @@ package com.google.gerrit.httpd.auth.container; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.PageLinks; import com.google.gerrit.server.config.CanonicalWebUrl; import com.google.gwtexpui.server.CacheHeaders; @@ -23,7 +24,6 @@ import com.google.inject.Singleton; import java.io.IOException; -import javax.annotation.Nullable; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/ldap/LdapLoginServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/ldap/LdapLoginServlet.java index 037c7bbc95..24dd5bf341 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/ldap/LdapLoginServlet.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/auth/ldap/LdapLoginServlet.java @@ -16,6 +16,7 @@ package com.google.gerrit.httpd.auth.ldap; import com.google.common.base.Objects; import com.google.common.base.Strings; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.PageLinks; import com.google.gerrit.httpd.CanonicalWebUrl; import com.google.gerrit.httpd.HtmlDomUtil; @@ -39,7 +40,6 @@ import org.w3c.dom.Element; import java.io.IOException; -import javax.annotation.Nullable; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/plugins/SmallResource.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/plugins/SmallResource.java index e408f723ba..0db7a88ee1 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/plugins/SmallResource.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/plugins/SmallResource.java @@ -14,9 +14,10 @@ package com.google.gerrit.httpd.plugins; +import com.google.gerrit.common.Nullable; + import java.io.IOException; -import javax.annotation.Nullable; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/StaticServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/StaticServlet.java index b74d1aca80..94f8c1bbec 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/StaticServlet.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/raw/StaticServlet.java @@ -31,6 +31,7 @@ import com.google.common.cache.Weigher; import com.google.common.collect.Maps; import com.google.common.hash.Hashing; import com.google.common.io.ByteStreams; +import com.google.gerrit.common.Nullable; import com.google.gerrit.httpd.HtmlDomUtil; import com.google.gerrit.server.config.GerritServerConfig; import com.google.gerrit.server.config.SitePaths; @@ -51,7 +52,6 @@ import java.io.OutputStream; import java.util.Map; import java.util.concurrent.ExecutionException; -import javax.annotation.Nullable; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/restapi/RestApiServlet.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/restapi/RestApiServlet.java index 6e8c6f611b..becacf194d 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/restapi/RestApiServlet.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/restapi/RestApiServlet.java @@ -46,6 +46,7 @@ import com.google.common.math.IntMath; import com.google.common.net.HttpHeaders; import com.google.gerrit.audit.AuditService; import com.google.gerrit.audit.HttpAuditEvent; +import com.google.gerrit.common.Nullable; import com.google.gerrit.extensions.registration.DynamicMap; import com.google.gerrit.extensions.restapi.AcceptsCreate; import com.google.gerrit.extensions.restapi.AcceptsPost; @@ -117,7 +118,6 @@ import java.util.Set; import java.util.regex.Pattern; import java.util.zip.GZIPOutputStream; -import javax.annotation.Nullable; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/SuggestServiceImpl.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/SuggestServiceImpl.java index 7690f5cc0b..18cce28ee1 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/SuggestServiceImpl.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/SuggestServiceImpl.java @@ -16,6 +16,7 @@ package com.google.gerrit.httpd.rpc; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.AccountInfo; import com.google.gerrit.common.data.GroupReference; import com.google.gerrit.common.data.ReviewerInfo; @@ -54,8 +55,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import javax.annotation.Nullable; - class SuggestServiceImpl extends BaseServiceImplementation implements SuggestService { private static final String MAX_SUFFIX = "\u9fa5"; diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/EditCommitMessageHandler.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/EditCommitMessageHandler.java index 2706279abe..564c13672d 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/EditCommitMessageHandler.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/EditCommitMessageHandler.java @@ -14,6 +14,7 @@ package com.google.gerrit.httpd.rpc.changedetail; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.ChangeDetail; import com.google.gerrit.common.errors.EmailException; import com.google.gerrit.common.errors.NoSuchEntityException; @@ -44,8 +45,6 @@ import org.eclipse.jgit.lib.Repository; import java.io.IOException; -import javax.annotation.Nullable; - class EditCommitMessageHandler extends Handler { interface Factory { EditCommitMessageHandler create(PatchSet.Id patchSetId, String message); diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/PatchSetDetailFactory.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/PatchSetDetailFactory.java index 74c243ebb2..788c6f6d35 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/PatchSetDetailFactory.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/changedetail/PatchSetDetailFactory.java @@ -17,6 +17,7 @@ package com.google.gerrit.httpd.rpc.changedetail; import com.google.common.base.Function; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.PatchSetDetail; import com.google.gerrit.common.data.UiCommandDetail; import com.google.gerrit.common.errors.NoSuchEntityException; @@ -58,8 +59,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.annotation.Nullable; - /** Creates a {@link PatchSetDetail} from a {@link PatchSet}. */ class PatchSetDetailFactory extends Handler { diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ChangeProjectAccess.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ChangeProjectAccess.java index 72b5e3a54a..0dd3d166ae 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ChangeProjectAccess.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ChangeProjectAccess.java @@ -14,6 +14,7 @@ package com.google.gerrit.httpd.rpc.project; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.AccessSection; import com.google.gerrit.common.data.ProjectAccess; import com.google.gerrit.reviewdb.client.Project; @@ -32,8 +33,6 @@ import org.eclipse.jgit.lib.ObjectId; import java.io.IOException; import java.util.List; -import javax.annotation.Nullable; - class ChangeProjectAccess extends ProjectAccessHandler { interface Factory { ChangeProjectAccess create(@Assisted Project.NameKey projectName, diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ReviewProjectAccess.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ReviewProjectAccess.java index e209e2903e..d686f68549 100644 --- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ReviewProjectAccess.java +++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/rpc/project/ReviewProjectAccess.java @@ -14,6 +14,7 @@ package com.google.gerrit.httpd.rpc.project; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.AccessSection; import com.google.gerrit.reviewdb.client.AccountGroup; import com.google.gerrit.reviewdb.client.Branch; @@ -49,8 +50,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import javax.annotation.Nullable; - public class ReviewProjectAccess extends ProjectAccessHandler { interface Factory { ReviewProjectAccess create(@Assisted Project.NameKey projectName, diff --git a/gerrit-lucene/BUCK b/gerrit-lucene/BUCK index b5e5d07f69..c21ce4e6d7 100644 --- a/gerrit-lucene/BUCK +++ b/gerrit-lucene/BUCK @@ -22,6 +22,7 @@ java_library( deps = [ ':query_builder', '//gerrit-antlr:query_exception', + '//gerrit-common:server', '//gerrit-extension-api:api', '//gerrit-reviewdb:server', '//gerrit-server:server', diff --git a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneChangeIndex.java b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneChangeIndex.java index 13efa6cff2..897f8cb6e0 100644 --- a/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneChangeIndex.java +++ b/gerrit-lucene/src/main/java/com/google/gerrit/lucene/LuceneChangeIndex.java @@ -24,6 +24,7 @@ import com.google.common.collect.Sets; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListeningScheduledExecutorService; +import com.google.gerrit.common.Nullable; import com.google.gerrit.reviewdb.client.Change; import com.google.gerrit.reviewdb.client.PatchSetApproval; import com.google.gerrit.server.config.GerritServerConfig; @@ -87,8 +88,6 @@ import java.util.Set; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; -import javax.annotation.Nullable; - /** * Secondary index implementation using Apache Lucene. *

diff --git a/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java b/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java index 796bdb48e5..c19d74b149 100644 --- a/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java +++ b/gerrit-openid/src/main/java/com/google/gerrit/httpd/auth/openid/LoginForm.java @@ -19,6 +19,7 @@ import com.google.common.base.Strings; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.PageLinks; import com.google.gerrit.common.auth.openid.OpenIdUrls; import com.google.gerrit.extensions.restapi.Url; @@ -42,7 +43,6 @@ import java.io.IOException; import java.util.Map; import java.util.Set; -import javax.annotation.Nullable; import javax.servlet.ServletOutputStream; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; diff --git a/gerrit-pgm/BUCK b/gerrit-pgm/BUCK index 38480bc276..d13406bd3c 100644 --- a/gerrit-pgm/BUCK +++ b/gerrit-pgm/BUCK @@ -14,6 +14,7 @@ java_library( name = 'init-api', srcs = INIT_API_SRCS, deps = [ + '//gerrit-common:server', '//gerrit-server:server', '//lib:jsr305', '//lib/guice:guice', diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/Section.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/Section.java index 6489035e59..26a422ee1a 100644 --- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/Section.java +++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/init/Section.java @@ -14,6 +14,7 @@ package com.google.gerrit.pgm.init; +import com.google.gerrit.common.Nullable; import com.google.gerrit.pgm.util.ConsoleUI; import com.google.gerrit.server.config.ConfigUtil; import com.google.gerrit.server.config.SitePaths; @@ -25,8 +26,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Set; -import javax.annotation.Nullable; - /** Helper to edit a section of the configuration files. */ public class Section { public interface Factory { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/IdentifiedUser.java b/gerrit-server/src/main/java/com/google/gerrit/server/IdentifiedUser.java index 7ab256497b..4f033d09ba 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/IdentifiedUser.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/IdentifiedUser.java @@ -16,6 +16,7 @@ package com.google.gerrit.server; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.AccountInfo; import com.google.gerrit.reviewdb.client.Account; import com.google.gerrit.reviewdb.client.AccountDiffPreference; @@ -59,8 +60,6 @@ import java.util.List; import java.util.Set; import java.util.TimeZone; -import javax.annotation.Nullable; - /** An authenticated user. */ public class IdentifiedUser extends CurrentUser { /** Create an IdentifiedUser, ignoring any per-request state. */ diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/ChangeUserName.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/ChangeUserName.java index 1b73c54aeb..1210906c6d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/ChangeUserName.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/ChangeUserName.java @@ -16,6 +16,7 @@ package com.google.gerrit.server.account; import static com.google.gerrit.reviewdb.client.AccountExternalId.SCHEME_USERNAME; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.errors.InvalidUserNameException; import com.google.gerrit.common.errors.NameAlreadyUsedException; import com.google.gerrit.reviewdb.client.Account; @@ -36,8 +37,6 @@ import java.util.Collections; import java.util.concurrent.Callable; import java.util.regex.Pattern; -import javax.annotation.Nullable; - /** Operation to change the username of an account. */ public class ChangeUserName implements Callable { private static final Pattern USER_NAME_PATTERN = diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupBackend.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupBackend.java index 34db9672c6..43b94f3383 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupBackend.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupBackend.java @@ -14,6 +14,7 @@ package com.google.gerrit.server.account; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.GroupDescription; import com.google.gerrit.common.data.GroupReference; import com.google.gerrit.extensions.annotations.ExtensionPoint; @@ -23,8 +24,6 @@ import com.google.gerrit.server.project.ProjectControl; import java.util.Collection; -import javax.annotation.Nullable; - /** * Implementations of GroupBackend provide lookup and membership accessors * to a group system. diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupBackends.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupBackends.java index f7e06344d2..c2e840a06b 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupBackends.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupBackends.java @@ -15,6 +15,7 @@ package com.google.gerrit.server.account; import com.google.common.collect.Iterables; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.GroupReference; import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.server.project.ProjectControl; @@ -22,8 +23,6 @@ import com.google.gerrit.server.project.ProjectControl; import java.util.Collection; import java.util.Comparator; -import javax.annotation.Nullable; - /** * Utility class for dealing with a GroupBackend. */ diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupCache.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupCache.java index 3b9e85fcde..c1a4e0fa13 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupCache.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GroupCache.java @@ -14,10 +14,9 @@ package com.google.gerrit.server.account; +import com.google.gerrit.common.Nullable; import com.google.gerrit.reviewdb.client.AccountGroup; -import javax.annotation.Nullable; - /** Tracks group objects in memory for efficient access. */ public interface GroupCache { public AccountGroup get(AccountGroup.Id groupId); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/UniversalGroupBackend.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/UniversalGroupBackend.java index 046dfa5a59..1748395dda 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/UniversalGroupBackend.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/UniversalGroupBackend.java @@ -21,6 +21,7 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.common.collect.Multimap; import com.google.common.collect.Sets; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.GroupDescription; import com.google.gerrit.common.data.GroupReference; import com.google.gerrit.extensions.registration.DynamicSet; @@ -37,8 +38,6 @@ import java.util.Collection; import java.util.Map; import java.util.Set; -import javax.annotation.Nullable; - /** * Universal implementation of the GroupBackend that works with the injected * set of GroupBackends. diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/auth/AuthRequest.java b/gerrit-server/src/main/java/com/google/gerrit/server/auth/AuthRequest.java index 8179d4faa1..09ab56bf13 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/auth/AuthRequest.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/auth/AuthRequest.java @@ -15,8 +15,7 @@ package com.google.gerrit.server.auth; import com.google.common.base.Objects; - -import javax.annotation.Nullable; +import com.google.gerrit.common.Nullable; /** * Defines an abstract request for user authentication to Gerrit. diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/auth/AuthUser.java b/gerrit-server/src/main/java/com/google/gerrit/server/auth/AuthUser.java index 67257452e5..65f1f58de5 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/auth/AuthUser.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/auth/AuthUser.java @@ -16,7 +16,7 @@ package com.google.gerrit.server.auth; import static com.google.common.base.Preconditions.checkNotNull; -import javax.annotation.Nullable; +import com.google.gerrit.common.Nullable; /** * An authenticated user as specified by the AuthBackend. diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/LdapGroupBackend.java b/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/LdapGroupBackend.java index aedd3e620d..26c1c7af7d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/LdapGroupBackend.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/auth/ldap/LdapGroupBackend.java @@ -21,6 +21,7 @@ import static com.google.gerrit.server.auth.ldap.LdapModule.GROUP_EXIST_CACHE; import com.google.common.cache.LoadingCache; import com.google.common.collect.Sets; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.GroupDescription; import com.google.gerrit.common.data.GroupReference; import com.google.gerrit.common.data.ParameterizedString; @@ -48,7 +49,6 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.ExecutionException; -import javax.annotation.Nullable; import javax.naming.InvalidNameException; import javax.naming.NamingException; import javax.naming.directory.DirContext; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/cache/CacheBinding.java b/gerrit-server/src/main/java/com/google/gerrit/server/cache/CacheBinding.java index 625bd14787..70628718de 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/cache/CacheBinding.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/cache/CacheBinding.java @@ -16,12 +16,11 @@ package com.google.gerrit.server.cache; import com.google.common.cache.CacheLoader; import com.google.common.cache.Weigher; +import com.google.gerrit.common.Nullable; import com.google.inject.TypeLiteral; import java.util.concurrent.TimeUnit; -import javax.annotation.Nullable; - /** Configure a cache declared within a {@link CacheModule} instance. */ public interface CacheBinding { /** Set the total size of the cache. */ diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/cache/CacheProvider.java b/gerrit-server/src/main/java/com/google/gerrit/server/cache/CacheProvider.java index 1b8eea5124..6d9ae0f34b 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/cache/CacheProvider.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/cache/CacheProvider.java @@ -21,6 +21,7 @@ import com.google.common.base.Strings; import com.google.common.cache.Cache; import com.google.common.cache.CacheLoader; import com.google.common.cache.Weigher; +import com.google.gerrit.common.Nullable; import com.google.gerrit.extensions.annotations.PluginName; import com.google.inject.Inject; import com.google.inject.Provider; @@ -28,8 +29,6 @@ import com.google.inject.TypeLiteral; import java.util.concurrent.TimeUnit; -import javax.annotation.Nullable; - class CacheProvider implements Provider>, CacheBinding { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/FileInfoJson.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/FileInfoJson.java index fec72d6dad..65b96b3047 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/FileInfoJson.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/FileInfoJson.java @@ -15,6 +15,7 @@ package com.google.gerrit.server.change; import com.google.common.collect.Maps; +import com.google.gerrit.common.Nullable; import com.google.gerrit.reviewdb.client.Change; import com.google.gerrit.reviewdb.client.Patch; import com.google.gerrit.reviewdb.client.PatchSet; @@ -30,8 +31,6 @@ import org.eclipse.jgit.lib.ObjectId; import java.util.Map; -import javax.annotation.Nullable; - public class FileInfoJson { private final PatchListCache patchListCache; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/GetRelated.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/GetRelated.java index 9c692591b3..3776b74360 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/GetRelated.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/GetRelated.java @@ -19,6 +19,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import com.google.common.collect.Sets; +import com.google.gerrit.common.Nullable; import com.google.gerrit.extensions.restapi.RestReadView; import com.google.gerrit.reviewdb.client.Change; import com.google.gerrit.reviewdb.client.PatchSet; @@ -56,8 +57,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import javax.annotation.Nullable; - public class GetRelated implements RestReadView { private static final Logger log = LoggerFactory.getLogger(GetRelated.class); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/events/EventFactory.java b/gerrit-server/src/main/java/com/google/gerrit/server/events/EventFactory.java index 02d8a01f45..98e803fc4e 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/events/EventFactory.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/events/EventFactory.java @@ -14,6 +14,7 @@ package com.google.gerrit.server.events; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.LabelType; import com.google.gerrit.common.data.LabelTypes; import com.google.gerrit.common.data.SubmitRecord; @@ -69,8 +70,6 @@ import java.util.Collection; import java.util.List; import java.util.Map; -import javax.annotation.Nullable; - @Singleton public class EventFactory { private static final Logger log = LoggerFactory.getLogger(EventFactory.class); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/extensions/webui/UiActions.java b/gerrit-server/src/main/java/com/google/gerrit/server/extensions/webui/UiActions.java index fa64f4a484..7dd8d476bc 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/extensions/webui/UiActions.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/extensions/webui/UiActions.java @@ -19,6 +19,7 @@ import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; +import com.google.gerrit.common.Nullable; import com.google.gerrit.extensions.registration.DynamicMap; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.extensions.restapi.RestCollection; @@ -37,8 +38,6 @@ import java.util.Collections; import java.util.Comparator; import java.util.List; -import javax.annotation.Nullable; - public class UiActions { private static final Logger log = LoggerFactory.getLogger(UiActions.class); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java index c4d06d2be7..cf8a3c4349 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeOp.java @@ -26,6 +26,7 @@ import com.google.common.collect.Iterables; import com.google.common.collect.ListMultimap; import com.google.common.collect.Sets; import com.google.gerrit.common.ChangeHooks; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.Capable; import com.google.gerrit.common.data.SubmitTypeRecord; import com.google.gerrit.reviewdb.client.Account; @@ -89,8 +90,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import javax.annotation.Nullable; - /** * Merges changes in submission order into a single branch. *

diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java index e9704e0293..d89568e445 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/MergeUtil.java @@ -14,6 +14,7 @@ package com.google.gerrit.server.git; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.LabelType; import com.google.gerrit.reviewdb.client.Account; import com.google.gerrit.reviewdb.client.Branch; @@ -69,8 +70,6 @@ import java.util.List; import java.util.Set; import java.util.TimeZone; -import javax.annotation.Nullable; - public class MergeUtil { private static final Logger log = LoggerFactory.getLogger(MergeUtil.class); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java index d61bf10207..ca3b1fba1f 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java @@ -44,6 +44,7 @@ import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.ListeningExecutorService; import com.google.gerrit.common.ChangeHookRunner.HookResult; import com.google.gerrit.common.ChangeHooks; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.Capable; import com.google.gerrit.common.data.LabelTypes; import com.google.gerrit.common.data.PermissionRule; @@ -144,8 +145,6 @@ import java.util.concurrent.Callable; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.annotation.Nullable; - /** Receives change upload using the Git receive-pack protocol. */ public class ReceiveCommits { private static final Logger log = diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmitStrategyFactory.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmitStrategyFactory.java index 845139d844..701a925af8 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmitStrategyFactory.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmitStrategyFactory.java @@ -14,6 +14,7 @@ package com.google.gerrit.server.git; +import com.google.gerrit.common.Nullable; import com.google.gerrit.reviewdb.client.Branch; import com.google.gerrit.reviewdb.client.Project.SubmitType; import com.google.gerrit.reviewdb.server.ReviewDb; @@ -41,8 +42,6 @@ import org.slf4j.LoggerFactory; import java.util.Set; -import javax.annotation.Nullable; - /** Factory to create a {@link SubmitStrategy} for a {@link SubmitType}. */ public class SubmitStrategyFactory { private static final Logger log = LoggerFactory diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java index eeab8f33d5..20252253e9 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java @@ -14,6 +14,7 @@ package com.google.gerrit.server.git; +import com.google.gerrit.common.Nullable; import com.google.gerrit.reviewdb.client.Branch; import com.google.gerrit.reviewdb.client.Change; import com.google.gerrit.reviewdb.client.Project; @@ -62,8 +63,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import javax.annotation.Nullable; - public class SubmoduleOp { public interface Factory { SubmoduleOp create(Branch.NameKey destBranch, RevCommit mergeTip, diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/validators/CommitValidators.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/validators/CommitValidators.java index dd41707162..f4810decaf 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/validators/CommitValidators.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/validators/CommitValidators.java @@ -15,6 +15,7 @@ package com.google.gerrit.server.git.validators; import com.google.common.base.CharMatcher; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.PageLinks; import com.google.gerrit.extensions.registration.DynamicSet; import com.google.gerrit.server.GerritPersonIdent; @@ -52,8 +53,6 @@ import java.util.Collections; import java.util.LinkedList; import java.util.List; -import javax.annotation.Nullable; - public class CommitValidators { private static final Logger log = LoggerFactory .getLogger(CommitValidators.class); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/index/IndexCollection.java b/gerrit-server/src/main/java/com/google/gerrit/server/index/IndexCollection.java index c574b21849..cb89514191 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/index/IndexCollection.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/index/IndexCollection.java @@ -16,6 +16,7 @@ package com.google.gerrit.server.index; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.Lists; +import com.google.gerrit.common.Nullable; import com.google.gerrit.extensions.events.LifecycleListener; import com.google.inject.Inject; import com.google.inject.Singleton; @@ -25,8 +26,6 @@ import java.util.Collections; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.atomic.AtomicReference; -import javax.annotation.Nullable; - /** Dynamic pointers to the index versions used for searching and writing. */ @Singleton public class IndexCollection implements LifecycleListener { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailArguments.java b/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailArguments.java index 7798028153..d7dfd3d1c0 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailArguments.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/mail/EmailArguments.java @@ -14,6 +14,7 @@ package com.google.gerrit.server.mail; +import com.google.gerrit.common.Nullable; import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.AnonymousUser; import com.google.gerrit.server.IdentifiedUser; @@ -38,8 +39,6 @@ import org.apache.velocity.runtime.RuntimeInstance; import java.util.List; -import javax.annotation.Nullable; - class EmailArguments { final GitRepositoryManager server; final ProjectCache projectCache; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchList.java b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchList.java index 93d7bf793f..59e30507fd 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchList.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchList.java @@ -24,6 +24,7 @@ import static org.eclipse.jgit.lib.ObjectIdSerialization.readNotNull; import static org.eclipse.jgit.lib.ObjectIdSerialization.writeCanBeNull; import static org.eclipse.jgit.lib.ObjectIdSerialization.writeNotNull; +import com.google.gerrit.common.Nullable; import com.google.gerrit.reviewdb.client.Patch; import com.google.gerrit.reviewdb.client.PatchSet; @@ -44,8 +45,6 @@ import java.util.List; import java.util.zip.DeflaterOutputStream; import java.util.zip.InflaterInputStream; -import javax.annotation.Nullable; - public class PatchList implements Serializable { private static final long serialVersionUID = PatchListKey.serialVersionUID; private static final Comparator PATCH_CMP = diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchListKey.java b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchListKey.java index de12cc60c6..c36fbc0096 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchListKey.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchListKey.java @@ -21,6 +21,7 @@ import static org.eclipse.jgit.lib.ObjectIdSerialization.readNotNull; import static org.eclipse.jgit.lib.ObjectIdSerialization.writeCanBeNull; import static org.eclipse.jgit.lib.ObjectIdSerialization.writeNotNull; +import com.google.gerrit.common.Nullable; import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.reviewdb.client.AccountDiffPreference.Whitespace; @@ -32,8 +33,6 @@ import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; -import javax.annotation.Nullable; - public class PatchListKey implements Serializable { static final long serialVersionUID = 16L; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchScriptFactory.java b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchScriptFactory.java index 9471d3b318..ed4470ab67 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchScriptFactory.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchScriptFactory.java @@ -14,6 +14,7 @@ package com.google.gerrit.server.patch; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.CommentDetail; import com.google.gerrit.common.data.PatchScript; import com.google.gerrit.reviewdb.client.Account; @@ -51,8 +52,6 @@ import java.util.List; import java.util.Map; import java.util.concurrent.Callable; -import javax.annotation.Nullable; - public class PatchScriptFactory implements Callable { public interface Factory { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/JarPlugin.java b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/JarPlugin.java index bbb2164a35..6adc677ffa 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/JarPlugin.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/JarPlugin.java @@ -16,6 +16,7 @@ package com.google.gerrit.server.plugins; import com.google.common.base.Strings; import com.google.common.collect.Lists; +import com.google.gerrit.common.Nullable; import com.google.gerrit.extensions.annotations.PluginData; import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.registration.RegistrationHandle; @@ -38,8 +39,6 @@ import java.util.jar.Attributes; import java.util.jar.JarFile; import java.util.jar.Manifest; -import javax.annotation.Nullable; - class JarPlugin extends Plugin { /** Unique key that changes whenever a plugin reloads. */ diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/Plugin.java b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/Plugin.java index 0c69ee724c..d9a2c0f00b 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/Plugin.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/Plugin.java @@ -16,6 +16,7 @@ package com.google.gerrit.server.plugins; import com.google.common.base.Strings; import com.google.common.collect.Lists; +import com.google.gerrit.common.Nullable; import com.google.gerrit.extensions.registration.RegistrationHandle; import com.google.gerrit.extensions.registration.ReloadableRegistrationHandle; import com.google.gerrit.lifecycle.LifecycleManager; @@ -31,8 +32,6 @@ import java.util.jar.Attributes; import java.util.jar.JarFile; import java.util.jar.Manifest; -import javax.annotation.Nullable; - public abstract class Plugin { public static enum ApiType { EXTENSION, PLUGIN, JS; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginGuiceEnvironment.java b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginGuiceEnvironment.java index 387ffa4baf..ae90d5b28e 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginGuiceEnvironment.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginGuiceEnvironment.java @@ -23,6 +23,7 @@ import com.google.common.collect.ListMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; +import com.google.gerrit.common.Nullable; import com.google.gerrit.extensions.events.LifecycleListener; import com.google.gerrit.extensions.registration.DynamicItem; import com.google.gerrit.extensions.registration.DynamicMap; @@ -54,7 +55,6 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.CopyOnWriteArrayList; -import javax.annotation.Nullable; import javax.inject.Inject; /** diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ChangeControl.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ChangeControl.java index decf90ad10..d87db2ff09 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ChangeControl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ChangeControl.java @@ -15,6 +15,7 @@ package com.google.gerrit.server.project; import com.google.common.collect.Lists; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.data.LabelType; import com.google.gerrit.common.data.LabelTypes; import com.google.gerrit.common.data.PermissionRange; @@ -50,8 +51,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import javax.annotation.Nullable; - /** Access control management for a user accessing a single change. */ public class ChangeControl { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectControl.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectControl.java index 479f377b05..8bd43cdccb 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectControl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ProjectControl.java @@ -15,6 +15,7 @@ package com.google.gerrit.server.project; import com.google.common.collect.Lists; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.PageLinks; import com.google.gerrit.common.data.AccessSection; import com.google.gerrit.common.data.Capable; @@ -47,8 +48,6 @@ import java.util.List; import java.util.Map; import java.util.Set; -import javax.annotation.Nullable; - /** Access control management for a user accessing a project's data. */ public class ProjectControl { public static final int VISIBLE = 1 << 0; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/SubmitRuleEvaluator.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/SubmitRuleEvaluator.java index 349567cbd8..87161c5b66 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/SubmitRuleEvaluator.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/SubmitRuleEvaluator.java @@ -15,6 +15,7 @@ package com.google.gerrit.server.project; import com.google.common.collect.Lists; +import com.google.gerrit.common.Nullable; import com.google.gerrit.reviewdb.client.Change; import com.google.gerrit.reviewdb.client.PatchSet; import com.google.gerrit.reviewdb.server.ReviewDb; @@ -34,8 +35,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import javax.annotation.Nullable; - /** * Evaluates a submit-like Prolog rule found in the rules.pl file of the current * project and filters the results through rules found in the parent projects, diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/util/GuiceRequestScopePropagator.java b/gerrit-server/src/main/java/com/google/gerrit/server/util/GuiceRequestScopePropagator.java index 4b5d7367b7..0b2efd8780 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/util/GuiceRequestScopePropagator.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/util/GuiceRequestScopePropagator.java @@ -15,6 +15,7 @@ package com.google.gerrit.server.util; import com.google.common.collect.Maps; +import com.google.gerrit.common.Nullable; import com.google.gerrit.server.RemotePeer; import com.google.gerrit.server.config.CanonicalWebUrl; import com.google.gerrit.server.config.RequestScopedReviewDbProvider; @@ -31,8 +32,6 @@ import java.net.SocketAddress; import java.util.Map; import java.util.concurrent.Callable; -import javax.annotation.Nullable; - /** Propagator for Guice's built-in servlet scope. */ public class GuiceRequestScopePropagator extends RequestScopePropagator { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/util/ThreadLocalRequestContext.java b/gerrit-server/src/main/java/com/google/gerrit/server/util/ThreadLocalRequestContext.java index 2aa07b4864..2a67c9050d 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/util/ThreadLocalRequestContext.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/util/ThreadLocalRequestContext.java @@ -15,6 +15,7 @@ package com.google.gerrit.server.util; import com.google.common.base.Objects; +import com.google.gerrit.common.Nullable; import com.google.gerrit.common.errors.NotSignedInException; import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.CurrentUser; @@ -27,8 +28,6 @@ import com.google.inject.ProvisionException; import com.google.inject.name.Named; import com.google.inject.name.Names; -import javax.annotation.Nullable; - /** * ThreadLocalRequestContext manages the current RequestContext using a * ThreadLocal. When the context is set, the fields exposed by the context diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/BaseCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/BaseCommand.java index 21937e4de6..8673b28f30 100644 --- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/BaseCommand.java +++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/BaseCommand.java @@ -15,6 +15,7 @@ package com.google.gerrit.sshd; import com.google.common.util.concurrent.Atomics; +import com.google.gerrit.common.Nullable; import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.reviewdb.client.Project.NameKey; @@ -54,8 +55,6 @@ import java.io.UnsupportedEncodingException; import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicReference; -import javax.annotation.Nullable; - public abstract class BaseCommand implements Command { private static final Logger log = LoggerFactory.getLogger(BaseCommand.class); public static final String ENC = "UTF-8"; diff --git a/gerrit-util-cli/BUCK b/gerrit-util-cli/BUCK index d5fff90e7f..7c56cd1952 100644 --- a/gerrit-util-cli/BUCK +++ b/gerrit-util-cli/BUCK @@ -2,6 +2,7 @@ java_library( name = 'cli', srcs = glob(['src/main/java/**/*.java']), deps = [ + '//gerrit-common:server', '//lib:args4j', '//lib:guava', '//lib:jsr305', diff --git a/gerrit-util-cli/src/main/java/com/google/gerrit/util/cli/OptionHandlers.java b/gerrit-util-cli/src/main/java/com/google/gerrit/util/cli/OptionHandlers.java index 5cf591cf0e..756a885d4d 100644 --- a/gerrit-util-cli/src/main/java/com/google/gerrit/util/cli/OptionHandlers.java +++ b/gerrit-util-cli/src/main/java/com/google/gerrit/util/cli/OptionHandlers.java @@ -15,6 +15,7 @@ package com.google.gerrit.util.cli; import com.google.common.collect.ImmutableMap; +import com.google.gerrit.common.Nullable; import com.google.inject.Binding; import com.google.inject.Inject; import com.google.inject.Injector; @@ -26,8 +27,6 @@ import com.google.inject.TypeLiteral; import java.lang.reflect.ParameterizedType; import java.util.Map.Entry; -import javax.annotation.Nullable; - @Singleton public class OptionHandlers { public static OptionHandlers empty() {