From f70745d65a57a0f32c4cbbb683e61870d2cff7e3 Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 16:45:21 +0200 Subject: [PATCH 01/27] style: remove unused imports --- .../scm/cli/cmd/ImportUrlSubCommand.java | 6 +---- .../scm/cli/cmd/SubCommandOptionHandler.java | 3 --- .../sonia/scm/net/ahc/BaseHttpRequest.java | 1 - .../java/sonia/scm/plugin/PluginLoader.java | 4 --- .../ahc/AdvancedHttpRequestWithBodyTest.java | 19 ++++++------- .../repository/spi/AbstractGitCommand.java | 11 ++++---- .../scm/repository/spi/GitBrowseCommand.java | 1 - .../scm/repository/spi/GitCatCommand.java | 1 - .../sonia/scm/web/GitPermissionFilter.java | 16 +++++------ .../scm/web/GitPermissionFilterTest.java | 22 +++++++-------- .../java/sonia/scm/web/SvnServletModule.java | 1 - .../spi/SvnRepositoryClientProvider.java | 6 ++--- .../resources/BrowserStreamingOutput.java | 2 -- .../rest/resources/DiffStreamingOutput.java | 14 ++++------ .../scm/boot/BootstrapContextFilter.java | 1 - .../scm/boot/BootstrapContextListener.java | 1 - .../main/java/sonia/scm/filter/MDCFilter.java | 9 ++----- .../resources/AbstractResourceServlet.java | 11 +++----- .../scm/security/AccessTokenCookieIssuer.java | 17 +++++------- .../java/sonia/scm/security/BearerRealm.java | 19 +++++-------- .../scm/security/JwtAccessTokenBuilder.java | 10 +++---- .../cache/CacheConfigurationTestLoader.java | 15 ++++------- .../sonia/scm/filter/SecurityFilterTest.java | 21 ++++++++------- .../scm/it/AuthorizationScopeITCase.java | 12 +++++---- .../sonia/scm/it/IntegrationTestUtil.java | 27 +++++++------------ .../ahc/DefaultAdvancedHttpResponseTest.java | 21 +++++---------- .../plugin/MultiParentClassLoaderTest.java | 23 ++++++++-------- .../DefaultRepositoryManagerPerfTest.java | 20 +++++--------- .../sonia/scm/schedule/QuartzTaskTest.java | 11 ++++---- .../scm/user/DefaultUserManagerTest.java | 13 +++------ 30 files changed, 132 insertions(+), 206 deletions(-) diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ImportUrlSubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ImportUrlSubCommand.java index 912a9a5fbc..7b1ac86237 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ImportUrlSubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ImportUrlSubCommand.java @@ -33,19 +33,15 @@ package sonia.scm.cli.cmd; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.collect.Maps; import org.kohsuke.args4j.Option; - import sonia.scm.client.ImportUrlRequest; import sonia.scm.client.ScmClientSession; import sonia.scm.repository.Repository; -//~--- JDK imports ------------------------------------------------------------ - import java.net.URL; -import java.util.Map; +//~--- JDK imports ------------------------------------------------------------ /** * diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/SubCommandOptionHandler.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/SubCommandOptionHandler.java index dd219e557c..39957c2158 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/SubCommandOptionHandler.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/SubCommandOptionHandler.java @@ -37,13 +37,10 @@ package sonia.scm.cli.cmd; import org.kohsuke.args4j.CmdLineException; import org.kohsuke.args4j.CmdLineParser; -import org.kohsuke.args4j.Localizable; import org.kohsuke.args4j.OptionDef; -import org.kohsuke.args4j.spi.Messages; import org.kohsuke.args4j.spi.OptionHandler; import org.kohsuke.args4j.spi.Parameters; import org.kohsuke.args4j.spi.Setter; - import sonia.scm.cli.SimpleLocalizable; /** diff --git a/scm-core/src/main/java/sonia/scm/net/ahc/BaseHttpRequest.java b/scm-core/src/main/java/sonia/scm/net/ahc/BaseHttpRequest.java index c80ae9b1c4..0723f44b6c 100644 --- a/scm-core/src/main/java/sonia/scm/net/ahc/BaseHttpRequest.java +++ b/scm-core/src/main/java/sonia/scm/net/ahc/BaseHttpRequest.java @@ -35,7 +35,6 @@ package sonia.scm.net.ahc; import com.google.common.base.Charsets; import com.google.common.base.Strings; -import com.google.common.collect.HashMultimap; import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.Multimap; diff --git a/scm-core/src/main/java/sonia/scm/plugin/PluginLoader.java b/scm-core/src/main/java/sonia/scm/plugin/PluginLoader.java index 0bf37054a8..a843bea773 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/PluginLoader.java +++ b/scm-core/src/main/java/sonia/scm/plugin/PluginLoader.java @@ -33,10 +33,6 @@ package sonia.scm.plugin; -//~--- non-JDK imports -------------------------------------------------------- - -import com.google.inject.Module; - //~--- JDK imports ------------------------------------------------------------ import java.util.Collection; diff --git a/scm-core/src/test/java/sonia/scm/net/ahc/AdvancedHttpRequestWithBodyTest.java b/scm-core/src/test/java/sonia/scm/net/ahc/AdvancedHttpRequestWithBodyTest.java index 5a7c55a46d..b1e069fcad 100644 --- a/scm-core/src/test/java/sonia/scm/net/ahc/AdvancedHttpRequestWithBodyTest.java +++ b/scm-core/src/test/java/sonia/scm/net/ahc/AdvancedHttpRequestWithBodyTest.java @@ -33,21 +33,22 @@ package sonia.scm.net.ahc; import com.google.common.base.Charsets; import com.google.common.io.ByteSource; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import org.junit.Test; -import static org.junit.Assert.*; -import static org.hamcrest.Matchers.*; -import static org.mockito.Mockito.*; import org.junit.Before; import org.junit.Rule; +import org.junit.Test; import org.junit.rules.TemporaryFolder; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.IOException; + +import static org.hamcrest.Matchers.instanceOf; +import static org.junit.Assert.*; +import static org.mockito.Mockito.when; + /** * * @author Sebastian Sdorra @@ -166,4 +167,4 @@ public class AdvancedHttpRequestWithBodyTest { assertEquals(AdvancedHttpRequestWithBody.class, request.self().getClass()); } -} \ No newline at end of file +} diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/AbstractGitCommand.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/AbstractGitCommand.java index d098c30b4e..7591d5c7a7 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/AbstractGitCommand.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/AbstractGitCommand.java @@ -34,19 +34,18 @@ package sonia.scm.repository.spi; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Strings; -import org.eclipse.jgit.lib.Repository; - -//~--- JDK imports ------------------------------------------------------------ - -import java.io.IOException; import org.eclipse.jgit.lib.ObjectId; +import org.eclipse.jgit.lib.Repository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import sonia.scm.repository.GitConstants; import sonia.scm.repository.GitUtil; +import java.io.IOException; + +//~--- JDK imports ------------------------------------------------------------ + /** * * @author Sebastian Sdorra diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBrowseCommand.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBrowseCommand.java index 72ec3f73e7..feb773af21 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBrowseCommand.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBrowseCommand.java @@ -71,7 +71,6 @@ import java.io.IOException; import java.util.Collections; import java.util.List; import java.util.Map; -import sonia.scm.util.IOUtil; /** * diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitCatCommand.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitCatCommand.java index 4420b9a22a..fac6b7b57b 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitCatCommand.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitCatCommand.java @@ -34,7 +34,6 @@ package sonia.scm.repository.spi; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.base.Strings; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectLoader; diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitPermissionFilter.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitPermissionFilter.java index 1f07753f1e..25d79422c4 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitPermissionFilter.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitPermissionFilter.java @@ -37,25 +37,21 @@ package sonia.scm.web; import com.google.common.annotations.VisibleForTesting; import com.google.inject.Inject; -import com.google.inject.Singleton; - import org.eclipse.jgit.http.server.GitSmartHttpTools; - import sonia.scm.ClientMessages; +import sonia.scm.Priority; import sonia.scm.config.ScmConfiguration; +import sonia.scm.filter.Filters; +import sonia.scm.filter.WebElement; import sonia.scm.repository.GitUtil; import sonia.scm.repository.RepositoryProvider; import sonia.scm.web.filter.ProviderPermissionFilter; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.IOException; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import sonia.scm.Priority; -import sonia.scm.filter.Filters; -import sonia.scm.filter.WebElement; +import java.io.IOException; + +//~--- JDK imports ------------------------------------------------------------ /** * GitPermissionFilter decides if a git request requires write or read privileges. diff --git a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/web/GitPermissionFilterTest.java b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/web/GitPermissionFilterTest.java index df4827a9fc..d667290197 100644 --- a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/web/GitPermissionFilterTest.java +++ b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/web/GitPermissionFilterTest.java @@ -1,24 +1,24 @@ package sonia.scm.web; -import com.google.common.base.Charsets; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import javax.servlet.ServletOutputStream; import org.junit.Test; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import static org.hamcrest.Matchers.*; -import static org.junit.Assert.*; import org.junit.runner.RunWith; import org.mockito.Mock; -import static org.mockito.Mockito.*; import org.mockito.runners.MockitoJUnitRunner; import sonia.scm.config.ScmConfiguration; import sonia.scm.repository.RepositoryProvider; import sonia.scm.util.HttpUtil; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.ByteArrayOutputStream; +import java.io.IOException; + +import static org.hamcrest.Matchers.containsString; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; +import static org.mockito.Mockito.*; + /** * Unit tests for {@link GitPermissionFilter}. * diff --git a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/web/SvnServletModule.java b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/web/SvnServletModule.java index 813f7fb0e6..b55588969f 100644 --- a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/web/SvnServletModule.java +++ b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/web/SvnServletModule.java @@ -38,7 +38,6 @@ package sonia.scm.web; import com.google.inject.servlet.ServletModule; import sonia.scm.plugin.Extension; -import sonia.scm.web.filter.AuthenticationFilter; //~--- JDK imports ------------------------------------------------------------ diff --git a/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/client/spi/SvnRepositoryClientProvider.java b/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/client/spi/SvnRepositoryClientProvider.java index 609ae1441b..9c5424d660 100644 --- a/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/client/spi/SvnRepositoryClientProvider.java +++ b/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/client/spi/SvnRepositoryClientProvider.java @@ -31,13 +31,13 @@ package sonia.scm.repository.client.spi; import com.google.common.collect.ImmutableSet; +import org.tmatesoft.svn.core.wc.SVNClientManager; +import sonia.scm.repository.client.api.ClientCommand; + import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Set; -import org.tmatesoft.svn.core.SVNURL; -import org.tmatesoft.svn.core.wc.SVNClientManager; -import sonia.scm.repository.client.api.ClientCommand; /** * Subversion repository client provider. diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/BrowserStreamingOutput.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/BrowserStreamingOutput.java index 234aae4015..7c2e6bbe98 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/BrowserStreamingOutput.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/BrowserStreamingOutput.java @@ -35,8 +35,6 @@ package sonia.scm.api.rest.resources; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.io.Closeables; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/DiffStreamingOutput.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/DiffStreamingOutput.java index fc0f3751e5..3f50d447e5 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/DiffStreamingOutput.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/DiffStreamingOutput.java @@ -35,26 +35,22 @@ package sonia.scm.api.rest.resources; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.io.Closeables; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.repository.PathNotFoundException; import sonia.scm.repository.RepositoryException; import sonia.scm.repository.RevisionNotFoundException; import sonia.scm.repository.api.DiffCommandBuilder; import sonia.scm.repository.api.RepositoryService; - -//~--- JDK imports ------------------------------------------------------------ - -import java.io.IOException; -import java.io.OutputStream; +import sonia.scm.util.IOUtil; import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.Response; import javax.ws.rs.core.StreamingOutput; -import sonia.scm.util.IOUtil; +import java.io.IOException; +import java.io.OutputStream; + +//~--- JDK imports ------------------------------------------------------------ /** * diff --git a/scm-webapp/src/main/java/sonia/scm/boot/BootstrapContextFilter.java b/scm-webapp/src/main/java/sonia/scm/boot/BootstrapContextFilter.java index bfa2218e76..7d1d3d3ee1 100644 --- a/scm-webapp/src/main/java/sonia/scm/boot/BootstrapContextFilter.java +++ b/scm-webapp/src/main/java/sonia/scm/boot/BootstrapContextFilter.java @@ -47,7 +47,6 @@ import sonia.scm.event.ScmEventBus; //~--- JDK imports ------------------------------------------------------------ import javax.servlet.FilterConfig; -import javax.servlet.ServletContextEvent; import javax.servlet.ServletException; /** diff --git a/scm-webapp/src/main/java/sonia/scm/boot/BootstrapContextListener.java b/scm-webapp/src/main/java/sonia/scm/boot/BootstrapContextListener.java index 4f7a00ce56..e8c91ddd4f 100644 --- a/scm-webapp/src/main/java/sonia/scm/boot/BootstrapContextListener.java +++ b/scm-webapp/src/main/java/sonia/scm/boot/BootstrapContextListener.java @@ -38,7 +38,6 @@ import com.github.legman.Subscribe; import com.google.common.base.Charsets; import com.google.common.collect.ImmutableList; import com.google.common.io.Files; -import com.google.inject.servlet.GuiceFilter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/scm-webapp/src/main/java/sonia/scm/filter/MDCFilter.java b/scm-webapp/src/main/java/sonia/scm/filter/MDCFilter.java index 9198c19ef7..3c242f546f 100644 --- a/scm-webapp/src/main/java/sonia/scm/filter/MDCFilter.java +++ b/scm-webapp/src/main/java/sonia/scm/filter/MDCFilter.java @@ -34,25 +34,20 @@ package sonia.scm.filter; //~--- non-JDK imports -------------------------------------------------------- import com.google.common.annotations.VisibleForTesting; -import com.google.inject.Singleton; - import org.apache.shiro.SecurityUtils; import org.apache.shiro.subject.Subject; - import org.slf4j.MDC; - +import sonia.scm.Priority; import sonia.scm.SCMContext; import sonia.scm.web.filter.HttpFilter; //~--- JDK imports ------------------------------------------------------------ -import java.io.IOException; - import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import sonia.scm.Priority; +import java.io.IOException; /** * diff --git a/scm-webapp/src/main/java/sonia/scm/resources/AbstractResourceServlet.java b/scm-webapp/src/main/java/sonia/scm/resources/AbstractResourceServlet.java index 74a6291a98..016ce8f927 100644 --- a/scm-webapp/src/main/java/sonia/scm/resources/AbstractResourceServlet.java +++ b/scm-webapp/src/main/java/sonia/scm/resources/AbstractResourceServlet.java @@ -37,19 +37,16 @@ package sonia.scm.resources; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.util.HttpUtil; -import sonia.scm.util.IOUtil; - -//~--- JDK imports ------------------------------------------------------------ - -import java.io.IOException; -import java.io.OutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; + +//~--- JDK imports ------------------------------------------------------------ /** * diff --git a/scm-webapp/src/main/java/sonia/scm/security/AccessTokenCookieIssuer.java b/scm-webapp/src/main/java/sonia/scm/security/AccessTokenCookieIssuer.java index 52760e1c9a..b804600c8a 100644 --- a/scm-webapp/src/main/java/sonia/scm/security/AccessTokenCookieIssuer.java +++ b/scm-webapp/src/main/java/sonia/scm/security/AccessTokenCookieIssuer.java @@ -30,21 +30,18 @@ */ package sonia.scm.security; -import com.google.common.annotations.VisibleForTesting; -import java.util.Date; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import sonia.scm.config.ScmConfiguration; +import sonia.scm.util.HttpUtil; +import sonia.scm.util.Util; -import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import sonia.scm.config.ScmConfiguration; -import sonia.scm.util.HttpUtil; -import sonia.scm.util.Util; +import java.util.Date; +import java.util.concurrent.TimeUnit; /** * Generates cookies and invalidates access token cookies. diff --git a/scm-webapp/src/main/java/sonia/scm/security/BearerRealm.java b/scm-webapp/src/main/java/sonia/scm/security/BearerRealm.java index 3b19351641..d1a74b2c3d 100644 --- a/scm-webapp/src/main/java/sonia/scm/security/BearerRealm.java +++ b/scm-webapp/src/main/java/sonia/scm/security/BearerRealm.java @@ -34,32 +34,27 @@ package sonia.scm.security; //~--- non-JDK imports -------------------------------------------------------- import com.google.common.annotations.VisibleForTesting; - import io.jsonwebtoken.Claims; import io.jsonwebtoken.JwtException; import io.jsonwebtoken.Jwts; - import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationInfo; import org.apache.shiro.authc.AuthenticationToken; import org.apache.shiro.authc.credential.AllowAllCredentialsMatcher; import org.apache.shiro.realm.AuthenticatingRealm; - +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import sonia.scm.group.GroupDAO; import sonia.scm.plugin.Extension; import sonia.scm.user.UserDAO; -import static com.google.common.base.Preconditions.checkArgument; - -import java.util.List; -import java.util.Set; - -//~--- JDK imports ------------------------------------------------------------ - import javax.inject.Inject; import javax.inject.Singleton; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import java.util.Set; + +import static com.google.common.base.Preconditions.checkArgument; + +//~--- JDK imports ------------------------------------------------------------ /** * Realm for authentication with {@link BearerToken}. diff --git a/scm-webapp/src/main/java/sonia/scm/security/JwtAccessTokenBuilder.java b/scm-webapp/src/main/java/sonia/scm/security/JwtAccessTokenBuilder.java index 1b387730bf..9a58dab1d9 100644 --- a/scm-webapp/src/main/java/sonia/scm/security/JwtAccessTokenBuilder.java +++ b/scm-webapp/src/main/java/sonia/scm/security/JwtAccessTokenBuilder.java @@ -36,16 +36,16 @@ import com.google.common.collect.Maps; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.TimeUnit; import org.apache.shiro.SecurityUtils; import org.apache.shiro.subject.Subject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.TimeUnit; + /** * Jwt implementation of {@link AccessTokenBuilder}. * diff --git a/scm-webapp/src/test/java/sonia/scm/cache/CacheConfigurationTestLoader.java b/scm-webapp/src/test/java/sonia/scm/cache/CacheConfigurationTestLoader.java index 8efd40465e..14c2355a85 100644 --- a/scm-webapp/src/test/java/sonia/scm/cache/CacheConfigurationTestLoader.java +++ b/scm-webapp/src/test/java/sonia/scm/cache/CacheConfigurationTestLoader.java @@ -34,28 +34,23 @@ package sonia.scm.cache; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.base.Charsets; import com.google.common.base.Function; import com.google.common.collect.Iterators; import com.google.common.io.ByteSource; -import com.google.common.io.CharSource; import com.google.common.io.Files; import com.google.common.io.Resources; - import org.junit.rules.TemporaryFolder; +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.util.Iterator; + import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; //~--- JDK imports ------------------------------------------------------------ -import java.io.File; -import java.io.IOException; - -import java.net.URL; - -import java.util.Iterator; - /** * * @author Sebastian Sdorra diff --git a/scm-webapp/src/test/java/sonia/scm/filter/SecurityFilterTest.java b/scm-webapp/src/test/java/sonia/scm/filter/SecurityFilterTest.java index 13333cc223..624bab8719 100644 --- a/scm-webapp/src/test/java/sonia/scm/filter/SecurityFilterTest.java +++ b/scm-webapp/src/test/java/sonia/scm/filter/SecurityFilterTest.java @@ -33,30 +33,31 @@ package sonia.scm.filter; import com.github.sdorra.shiro.ShiroRule; import com.github.sdorra.shiro.SubjectAware; -import java.io.IOException; -import javax.servlet.FilterChain; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import org.apache.shiro.subject.SimplePrincipalCollection; import org.apache.shiro.subject.Subject; -import org.junit.Test; -import static org.junit.Assert.*; -import static org.hamcrest.Matchers.*; import org.junit.Before; import org.junit.Rule; +import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Captor; import org.mockito.Mock; import org.mockito.Mockito; -import static org.mockito.Mockito.*; import org.mockito.runners.MockitoJUnitRunner; import sonia.scm.SCMContext; import sonia.scm.config.ScmConfiguration; import sonia.scm.user.User; import sonia.scm.user.UserTestData; +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.*; + /** * Unit tests for {@link SecurityFilter}. * @@ -235,4 +236,4 @@ public class SecurityFilterTest { } -} \ No newline at end of file +} diff --git a/scm-webapp/src/test/java/sonia/scm/it/AuthorizationScopeITCase.java b/scm-webapp/src/test/java/sonia/scm/it/AuthorizationScopeITCase.java index d7b06d93b3..6ee544f66f 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/AuthorizationScopeITCase.java +++ b/scm-webapp/src/test/java/sonia/scm/it/AuthorizationScopeITCase.java @@ -36,19 +36,21 @@ import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.GenericType; import com.sun.jersey.api.client.WebResource; import com.sun.jersey.core.util.MultivaluedMapImpl; -import java.util.List; -import javax.ws.rs.core.MultivaluedMap; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import sonia.scm.ScmState; -import static sonia.scm.it.IntegrationTestUtil.*; -import static sonia.scm.it.RepositoryITUtil.*; -import static sonia.scm.it.RepositoryITUtil.createRepository; import sonia.scm.repository.Repository; import sonia.scm.repository.RepositoryTestData; +import javax.ws.rs.core.MultivaluedMap; +import java.util.List; + +import static sonia.scm.it.IntegrationTestUtil.*; +import static sonia.scm.it.RepositoryITUtil.createRepository; +import static sonia.scm.it.RepositoryITUtil.deleteRepository; + /** * Integration test for authorization with scope. * diff --git a/scm-webapp/src/test/java/sonia/scm/it/IntegrationTestUtil.java b/scm-webapp/src/test/java/sonia/scm/it/IntegrationTestUtil.java index 4e274267e8..2be86ebc0f 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/IntegrationTestUtil.java +++ b/scm-webapp/src/test/java/sonia/scm/it/IntegrationTestUtil.java @@ -33,38 +33,31 @@ package sonia.scm.it; -//~--- non-JDK imports -------------------------------------------------------- - -import sonia.scm.ScmState; -import sonia.scm.Type; -import sonia.scm.user.User; -import sonia.scm.util.IOUtil; - -import static org.junit.Assert.*; - -//~--- JDK imports ------------------------------------------------------------ - import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; -import com.sun.jersey.api.client.filter.LoggingFilter; import com.sun.jersey.client.apache.ApacheHttpClient; import com.sun.jersey.client.apache.config.ApacheHttpClientConfig; import com.sun.jersey.client.apache.config.DefaultApacheHttpClientConfig; import com.sun.jersey.core.util.MultivaluedMapImpl; +import sonia.scm.ScmState; +import sonia.scm.Type; +import sonia.scm.repository.Person; +import sonia.scm.repository.client.api.ClientCommand; +import sonia.scm.repository.client.api.RepositoryClient; +import sonia.scm.user.User; +import sonia.scm.util.IOUtil; +import javax.ws.rs.core.MultivaluedMap; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; - import java.util.ArrayList; import java.util.Collection; import java.util.UUID; -import javax.ws.rs.core.MultivaluedMap; -import sonia.scm.repository.Person; -import sonia.scm.repository.client.api.ClientCommand; -import sonia.scm.repository.client.api.RepositoryClient; +import static org.junit.Assert.*; + /** * diff --git a/scm-webapp/src/test/java/sonia/scm/net/ahc/DefaultAdvancedHttpResponseTest.java b/scm-webapp/src/test/java/sonia/scm/net/ahc/DefaultAdvancedHttpResponseTest.java index 8f5a7c23b7..c68edad03c 100644 --- a/scm-webapp/src/test/java/sonia/scm/net/ahc/DefaultAdvancedHttpResponseTest.java +++ b/scm-webapp/src/test/java/sonia/scm/net/ahc/DefaultAdvancedHttpResponseTest.java @@ -40,32 +40,25 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; import com.google.common.io.ByteSource; - import org.junit.Test; import org.junit.runner.RunWith; - import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; - import sonia.scm.config.ScmConfiguration; - -import static org.hamcrest.Matchers.*; - -import static org.junit.Assert.*; - -import static org.mockito.Mockito.*; - -//~--- JDK imports ------------------------------------------------------------ +import sonia.scm.net.SSLContextProvider; import java.io.ByteArrayInputStream; import java.io.IOException; - import java.net.HttpURLConnection; - import java.util.HashSet; import java.util.LinkedHashMap; import java.util.List; -import sonia.scm.net.SSLContextProvider; + +import static org.hamcrest.Matchers.contains; +import static org.junit.Assert.*; +import static org.mockito.Mockito.when; + +//~--- JDK imports ------------------------------------------------------------ /** * diff --git a/scm-webapp/src/test/java/sonia/scm/plugin/MultiParentClassLoaderTest.java b/scm-webapp/src/test/java/sonia/scm/plugin/MultiParentClassLoaderTest.java index 89e5e8a2c8..2b14f401f4 100644 --- a/scm-webapp/src/test/java/sonia/scm/plugin/MultiParentClassLoaderTest.java +++ b/scm-webapp/src/test/java/sonia/scm/plugin/MultiParentClassLoaderTest.java @@ -29,28 +29,27 @@ package sonia.scm.plugin; -import com.google.common.base.Enums; -import com.google.common.collect.Iterables; -import com.google.common.collect.Iterators; -import java.io.IOException; -import java.net.URL; -import java.util.Arrays; -import java.util.Collections; -import java.util.Enumeration; -import java.util.List; -import static org.junit.Assert.*; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; import org.junit.runner.RunWith; import org.mockito.Mock; -import static org.mockito.Mockito.*; -import static org.hamcrest.Matchers.*; import org.mockito.invocation.InvocationOnMock; import org.mockito.runners.MockitoJUnitRunner; import org.mockito.stubbing.Answer; +import java.io.IOException; +import java.net.URL; +import java.util.Arrays; +import java.util.Collections; +import java.util.Enumeration; +import java.util.List; + +import static org.hamcrest.Matchers.containsInAnyOrder; +import static org.junit.Assert.*; +import static org.mockito.Mockito.when; + /** * * @author Sebastian Sdorra diff --git a/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerPerfTest.java b/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerPerfTest.java index 90a78e63c6..b47739bfe2 100644 --- a/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerPerfTest.java +++ b/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerPerfTest.java @@ -33,19 +33,8 @@ package sonia.scm.repository; import com.google.common.base.Stopwatch; import com.google.common.collect.ImmutableSet; import com.google.inject.Provider; -import java.util.ArrayList; -import java.util.Collections; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.TimeUnit; import org.apache.shiro.SecurityUtils; -import org.apache.shiro.authc.AuthenticationException; -import org.apache.shiro.authc.AuthenticationInfo; -import org.apache.shiro.authc.AuthenticationToken; -import org.apache.shiro.authc.SimpleAuthenticationInfo; -import org.apache.shiro.authc.UsernamePasswordToken; +import org.apache.shiro.authc.*; import org.apache.shiro.authc.credential.AllowAllCredentialsMatcher; import org.apache.shiro.authz.AuthorizationInfo; import org.apache.shiro.mgt.DefaultSecurityManager; @@ -58,7 +47,6 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import static org.mockito.Mockito.*; import org.mockito.runners.MockitoJUnitRunner; import sonia.scm.SCMContextProvider; import sonia.scm.Type; @@ -67,9 +55,13 @@ import sonia.scm.config.ScmConfiguration; import sonia.scm.security.AuthorizationCollector; import sonia.scm.security.DefaultKeyGenerator; import sonia.scm.security.KeyGenerator; -import sonia.scm.security.SecuritySystem; import sonia.scm.user.UserTestData; +import java.util.*; +import java.util.concurrent.TimeUnit; + +import static org.mockito.Mockito.when; + /** * Performance test for {@link RepositoryManager#getAll()}. * diff --git a/scm-webapp/src/test/java/sonia/scm/schedule/QuartzTaskTest.java b/scm-webapp/src/test/java/sonia/scm/schedule/QuartzTaskTest.java index 3318a41d18..ef1fc02464 100644 --- a/scm-webapp/src/test/java/sonia/scm/schedule/QuartzTaskTest.java +++ b/scm-webapp/src/test/java/sonia/scm/schedule/QuartzTaskTest.java @@ -31,18 +31,17 @@ package sonia.scm.schedule; -import org.junit.Test; -import static org.junit.Assert.*; -import static org.mockito.Mockito.*; -import static org.hamcrest.Matchers.*; import org.junit.Before; +import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import org.quartz.JobKey; import org.quartz.SchedulerException; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + /** * Unit tests for {@link QuartzTask}. * @@ -87,4 +86,4 @@ public class QuartzTaskTest { task.cancel(); } -} \ No newline at end of file +} diff --git a/scm-webapp/src/test/java/sonia/scm/user/DefaultUserManagerTest.java b/scm-webapp/src/test/java/sonia/scm/user/DefaultUserManagerTest.java index eb892c7e89..539b2da31d 100644 --- a/scm-webapp/src/test/java/sonia/scm/user/DefaultUserManagerTest.java +++ b/scm-webapp/src/test/java/sonia/scm/user/DefaultUserManagerTest.java @@ -38,23 +38,18 @@ package sonia.scm.user; import com.github.sdorra.shiro.ShiroRule; import com.github.sdorra.shiro.SubjectAware; import com.google.common.collect.Lists; - -import org.junit.Before; +import org.junit.Rule; import org.junit.Test; - import sonia.scm.store.JAXBConfigurationStoreFactory; import sonia.scm.user.xml.XmlUserDAO; -import sonia.scm.util.MockUtil; + +import java.util.Collections; +import java.util.List; import static org.mockito.Mockito.*; //~--- JDK imports ------------------------------------------------------------ -import java.util.Collections; -import java.util.List; -import org.junit.Rule; -import sonia.scm.store.ConfigurationStoreFactory; - /** * * @author Sebastian Sdorra From 4bd093f472ab9551698f9936889d4d5a597c754c Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 16:46:54 +0200 Subject: [PATCH 02/27] refactor: replace for loop with foreach --- scm-core/src/main/java/sonia/scm/util/Util.java | 8 +++----- .../sonia/scm/web/SvnCollectionRenderer.java | 17 +++++------------ 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/util/Util.java b/scm-core/src/main/java/sonia/scm/util/Util.java index 5439cc77ec..e57d48f314 100644 --- a/scm-core/src/main/java/sonia/scm/util/Util.java +++ b/scm-core/src/main/java/sonia/scm/util/Util.java @@ -506,12 +506,10 @@ public final class Util { StringBuilder buffer = new StringBuilder(); - for (int i = 0; i < byteValue.length; i++) - { - int x = byteValue[i] & 0xff; + for (final byte aByteValue : byteValue) { + int x = aByteValue & 0xff; - if (x < 16) - { + if (x < 16) { buffer.append('0'); } diff --git a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/web/SvnCollectionRenderer.java b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/web/SvnCollectionRenderer.java index 0bfb6b4575..2087ed8e10 100644 --- a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/web/SvnCollectionRenderer.java +++ b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/web/SvnCollectionRenderer.java @@ -38,10 +38,8 @@ import com.google.common.collect.ImmutableList.Builder; import com.google.common.collect.Ordering; import com.google.inject.Inject; import com.google.inject.Provider; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import org.tmatesoft.svn.core.SVNDirEntry; import org.tmatesoft.svn.core.SVNErrorMessage; import org.tmatesoft.svn.core.SVNException; @@ -50,7 +48,6 @@ import org.tmatesoft.svn.core.internal.server.dav.CollectionRenderer; import org.tmatesoft.svn.core.internal.server.dav.DAVPathUtil; import org.tmatesoft.svn.core.internal.server.dav.DAVResource; import org.tmatesoft.svn.core.internal.server.dav.DAVResourceURI; - import sonia.scm.config.ScmConfiguration; import sonia.scm.repository.Repository; import sonia.scm.repository.RepositoryProvider; @@ -62,14 +59,12 @@ import sonia.scm.url.UrlProvider; import sonia.scm.url.UrlProviderFactory; import sonia.scm.util.HttpUtil; -//~--- JDK imports ------------------------------------------------------------ - +import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.io.StringWriter; - -import java.util.Iterator; import java.util.List; -import javax.servlet.http.HttpServletRequest; + +//~--- JDK imports ------------------------------------------------------------ /** * @@ -174,10 +169,8 @@ public class SvnCollectionRenderer implements CollectionRenderer entries.add(new DirectoryEntry("..", parent, true)); } - for (Iterator iterator = resource.getEntries().iterator(); - iterator.hasNext(); ) - { - SVNDirEntry entry = (SVNDirEntry) iterator.next(); + for (final Object o : resource.getEntries()) { + SVNDirEntry entry = (SVNDirEntry) o; entries.add(new DirectoryEntry(resource, entry)); } From 13b29ea9f224ff3b43cf49fea6e75a5323111749 Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 16:54:39 +0200 Subject: [PATCH 03/27] refactor: replace String.indexOf() >= 0 with String.contains() --- .../sonia/scm/plugin/PluginCondition.java | 27 +++++++------------ 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/plugin/PluginCondition.java b/scm-core/src/main/java/sonia/scm/plugin/PluginCondition.java index ad6ba84875..8f9ce89185 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/PluginCondition.java +++ b/scm-core/src/main/java/sonia/scm/plugin/PluginCondition.java @@ -36,26 +36,19 @@ package sonia.scm.plugin; //~--- non-JDK imports -------------------------------------------------------- import com.google.common.base.Objects; - import sonia.scm.PlatformType; import sonia.scm.SCMContext; import sonia.scm.util.SystemUtil; import sonia.scm.util.Util; import sonia.scm.version.Version; -//~--- JDK imports ------------------------------------------------------------ - +import javax.xml.bind.annotation.*; import java.io.Serializable; - import java.util.ArrayList; import java.util.List; import java.util.Locale; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +//~--- JDK imports ------------------------------------------------------------ /** * @@ -315,14 +308,14 @@ public class PluginCondition implements Cloneable, Serializable osType = osType.toLowerCase(Locale.ENGLISH); //J- - return ((osType.indexOf("win") >= 0) && (PlatformType.WINDOWS == type)) - || ((osType.indexOf("unix") >= 0) && type.isUnix()) - || ((osType.indexOf("posix") >= 0) && type.isPosix()) - || ((osType.indexOf("mac") >= 0) && (PlatformType.MAC == type)) - || ((osType.indexOf("linux") >= 0) && (PlatformType.LINUX == type)) - || ((osType.indexOf("solaris") >= 0) && (PlatformType.SOLARIS == type)) - || ((osType.indexOf("openbsd") >= 0) && (PlatformType.OPENBSD == type)) - || ((osType.indexOf("freebsd") >= 0) && (PlatformType.FREEBSD == type)); + return ((osType.contains("win")) && (PlatformType.WINDOWS == type)) + || ((osType.contains("unix")) && type.isUnix()) + || ((osType.contains("posix")) && type.isPosix()) + || ((osType.contains("mac")) && (PlatformType.MAC == type)) + || ((osType.contains("linux")) && (PlatformType.LINUX == type)) + || ((osType.contains("solaris")) && (PlatformType.SOLARIS == type)) + || ((osType.contains("openbsd")) && (PlatformType.OPENBSD == type)) + || ((osType.contains("freebsd")) && (PlatformType.FREEBSD == type)); //J+ } From ad719d37abcc134ddd7ddbe163b9d8b24393a66c Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 16:55:43 +0200 Subject: [PATCH 04/27] refactor: use Stream API instead of for-if --- .../java/sonia/scm/util/ValidationUtil.java | 28 +++---------------- 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/util/ValidationUtil.java b/scm-core/src/main/java/sonia/scm/util/ValidationUtil.java index 09032e93e5..621b704664 100644 --- a/scm-core/src/main/java/sonia/scm/util/ValidationUtil.java +++ b/scm-core/src/main/java/sonia/scm/util/ValidationUtil.java @@ -33,14 +33,10 @@ package sonia.scm.util; -//~--- non-JDK imports -------------------------------------------------------- - import com.google.common.base.Splitter; - import sonia.scm.Validateable; -//~--- JDK imports ------------------------------------------------------------ - +import java.util.Arrays; import java.util.regex.Pattern; /** @@ -120,25 +116,9 @@ public final class ValidationUtil * * @return */ - public static boolean isNotContaining(String value, - String... notAllowedStrings) - { - boolean result = Util.isNotEmpty(value); - - if (result && (notAllowedStrings != null)) - { - for (String nas : notAllowedStrings) - { - if (value.indexOf(nas) >= 0) - { - result = false; - - break; - } - } - } - - return result; + public static boolean isNotContaining(String value, String... notAllowedStrings) { + return !Util.isNotEmpty(value) || (notAllowedStrings != null) && Arrays.stream(notAllowedStrings) + .noneMatch(value::contains); } /** From 9f98b0e890b77d60867efc21df2c39c5c6366335 Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 16:56:25 +0200 Subject: [PATCH 05/27] refactor: replace while with iterator with foreach loop --- .../java/sonia/scm/search/SearchUtil.java | 21 +++++++------------ .../scm/repository/spi/GitLogCommand.java | 13 +++--------- 2 files changed, 10 insertions(+), 24 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/search/SearchUtil.java b/scm-core/src/main/java/sonia/scm/search/SearchUtil.java index 90c65e3456..dc18e6bd27 100644 --- a/scm-core/src/main/java/sonia/scm/search/SearchUtil.java +++ b/scm-core/src/main/java/sonia/scm/search/SearchUtil.java @@ -37,18 +37,16 @@ package sonia.scm.search; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.TransformFilter; import sonia.scm.util.Util; -//~--- JDK imports ------------------------------------------------------------ - import java.util.ArrayList; import java.util.Collection; -import java.util.Iterator; import java.util.List; import java.util.Locale; +//~--- JDK imports ------------------------------------------------------------ + /** * * @author Sebastian Sdorra @@ -165,23 +163,18 @@ public final class SearchUtil List items = new ArrayList(); int index = 0; int counter = 0; - Iterator it = collection.iterator(); - while (it.hasNext()) - { - T item = filter.accept(it.next()); + for (final T aCollection : collection) { + T item = filter.accept(aCollection); - if (item != null) - { + if (item != null) { index++; - if (searchRequest.getStartWith() <= index) - { + if (searchRequest.getStartWith() <= index) { items.add(item); counter++; - if (searchRequest.getMaxResults() <= counter) - { + if (searchRequest.getMaxResults() <= counter) { break; } } diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitLogCommand.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitLogCommand.java index 0643035e7a..2c6fac254b 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitLogCommand.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitLogCommand.java @@ -235,22 +235,15 @@ public class GitLogCommand extends AbstractGitCommand implements LogCommand revWalk.markStart(revWalk.lookupCommit(head)); } - Iterator iterator = revWalk.iterator(); - - while (iterator.hasNext()) - { - RevCommit commit = iterator.next(); - + for (final RevCommit commit : revWalk) { if ((counter >= start) - && ((limit < 0) || (counter < start + limit))) - { + && ((limit < 0) || (counter < start + limit))) { changesetList.add(converter.createChangeset(commit)); } counter++; - if ((endId != null) && commit.getId().equals(endId)) - { + if ((endId != null) && commit.getId().equals(endId)) { break; } } From e9d5b3a3635e737b7da0ae845c750f090db1f9e0 Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 16:59:19 +0200 Subject: [PATCH 06/27] refactor: collapse identical catch blocks --- .../scm/repository/AbstactImportHandler.java | 8 +--- .../sonia/scm/repository/HgHookManager.java | 26 +++-------- .../main/java/sonia/scm/web/HgCGIServlet.java | 32 ++++---------- .../resources/RepositoryImportResource.java | 43 ++++--------------- .../net/ahc/DefaultAdvancedHttpClient.java | 34 ++++----------- .../scm/net/ahc/XmlContentTransformer.java | 20 +++------ 6 files changed, 38 insertions(+), 125 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/repository/AbstactImportHandler.java b/scm-core/src/main/java/sonia/scm/repository/AbstactImportHandler.java index 2da506674d..958280a39b 100644 --- a/scm-core/src/main/java/sonia/scm/repository/AbstactImportHandler.java +++ b/scm-core/src/main/java/sonia/scm/repository/AbstactImportHandler.java @@ -105,13 +105,7 @@ public abstract class AbstactImportHandler implements AdvancedImportHandler { return doRepositoryImport(manager, false); } - catch (IOException ex) - { - - // should never happen - throw Throwables.propagate(ex); - } - catch (RepositoryException ex) + catch (IOException | RepositoryException ex) { // should never happen diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgHookManager.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgHookManager.java index aa0e4156ae..2814cedb32 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgHookManager.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgHookManager.java @@ -36,31 +36,21 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- import com.github.legman.Subscribe; - import com.google.common.base.Objects; -import com.google.inject.Inject; -import com.google.inject.OutOfScopeException; -import com.google.inject.Provider; -import com.google.inject.ProvisionException; -import com.google.inject.Singleton; - +import com.google.inject.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.config.ScmConfiguration; - +import sonia.scm.config.ScmConfigurationChangedEvent; +import sonia.scm.net.ahc.AdvancedHttpClient; import sonia.scm.util.HttpUtil; import sonia.scm.util.Util; -//~--- JDK imports ------------------------------------------------------------ - +import javax.servlet.http.HttpServletRequest; import java.io.IOException; - import java.util.UUID; -import javax.servlet.http.HttpServletRequest; -import sonia.scm.config.ScmConfigurationChangedEvent; -import sonia.scm.net.ahc.AdvancedHttpClient; +//~--- JDK imports ------------------------------------------------------------ /** * @@ -331,11 +321,7 @@ public class HgHookManager { request = httpServletRequestProvider.get(); } - catch (ProvisionException ex) - { - logger.debug("http servlet request is not available"); - } - catch (OutOfScopeException ex) + catch (ProvisionException | OutOfScopeException ex) { logger.debug("http servlet request is not available"); } diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/web/HgCGIServlet.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/web/HgCGIServlet.java index be7118323c..32478f6203 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/web/HgCGIServlet.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/web/HgCGIServlet.java @@ -39,20 +39,12 @@ import com.google.common.base.Stopwatch; import com.google.common.base.Strings; import com.google.inject.Inject; import com.google.inject.Singleton; - +import com.sun.jersey.core.util.Base64; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.SCMContext; import sonia.scm.config.ScmConfiguration; -import sonia.scm.repository.HgConfig; -import sonia.scm.repository.HgEnvironment; -import sonia.scm.repository.HgHookManager; -import sonia.scm.repository.HgPythonScript; -import sonia.scm.repository.HgRepositoryHandler; -import sonia.scm.repository.Repository; -import sonia.scm.repository.RepositoryProvider; -import sonia.scm.repository.RepositoryRequestListenerUtil; +import sonia.scm.repository.*; import sonia.scm.security.CipherUtil; import sonia.scm.util.AssertUtil; import sonia.scm.util.HttpUtil; @@ -60,20 +52,16 @@ import sonia.scm.web.cgi.CGIExecutor; import sonia.scm.web.cgi.CGIExecutorFactory; import sonia.scm.web.cgi.EnvList; -//~--- JDK imports ------------------------------------------------------------ - -import com.sun.jersey.core.util.Base64; - -import java.io.File; -import java.io.IOException; - -import java.util.Enumeration; - import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import java.io.File; +import java.io.IOException; +import java.util.Enumeration; + +//~--- JDK imports ------------------------------------------------------------ /** * @@ -186,11 +174,7 @@ public class HgCGIServlet extends HttpServlet { handleRequest(request, response, repository); } - catch (ServletException ex) - { - exceptionHandler.handleException(request, response, ex); - } - catch (IOException ex) + catch (ServletException | IOException ex) { exceptionHandler.handleException(request, response, ex); } diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java index 728c935fc1..d6bb92d233 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java @@ -285,15 +285,10 @@ public class RepositoryImportResource service = serviceFactory.create(repository); service.getPullCommand().pull(request.getUrl()); } - catch (RepositoryException ex) + catch (RepositoryException | IOException ex) { handleImportFailure(ex, repository); - } - catch (IOException ex) - { - handleImportFailure(ex, repository); - } - finally + } finally { IOUtil.close(service); } @@ -437,12 +432,7 @@ public class RepositoryImportResource .concat(type), ex); response = Response.status(Status.BAD_REQUEST).build(); } - catch (IOException ex) - { - logger.warn("exception occured durring directory import", ex); - response = Response.serverError().build(); - } - catch (RepositoryException ex) + catch (IOException | RepositoryException ex) { logger.warn("exception occured durring directory import", ex); response = Response.serverError().build(); @@ -561,11 +551,7 @@ public class RepositoryImportResource throw new WebApplicationException(Response.Status.CONFLICT); } - catch (RepositoryException ex) - { - handleGenericCreationFailure(ex, type, name); - } - catch (IOException ex) + catch (RepositoryException | IOException ex) { handleGenericCreationFailure(ex, type, name); } @@ -615,15 +601,10 @@ public class RepositoryImportResource service = serviceFactory.create(repository); service.getUnbundleCommand().setCompressed(compressed).unbundle(file); } - catch (RepositoryException ex) + catch (RepositoryException | IOException ex) { handleImportFailure(ex, repository); - } - catch (IOException ex) - { - handleImportFailure(ex, repository); - } - finally + } finally { IOUtil.close(service); IOUtil.delete(file); @@ -717,11 +698,7 @@ public class RepositoryImportResource { manager.delete(repository); } - catch (IOException e) - { - logger.error("can not delete repository", e); - } - catch (RepositoryException e) + catch (IOException | RepositoryException e) { logger.error("can not delete repository", e); } @@ -772,11 +749,7 @@ public class RepositoryImportResource { throw new WebApplicationException(ex, Response.Status.BAD_REQUEST); } - catch (IOException ex) - { - throw new WebApplicationException(ex); - } - catch (RepositoryException ex) + catch (IOException | RepositoryException ex) { throw new WebApplicationException(ex); } diff --git a/scm-webapp/src/main/java/sonia/scm/net/ahc/DefaultAdvancedHttpClient.java b/scm-webapp/src/main/java/sonia/scm/net/ahc/DefaultAdvancedHttpClient.java index df6c93515b..161abf54c6 100644 --- a/scm-webapp/src/main/java/sonia/scm/net/ahc/DefaultAdvancedHttpClient.java +++ b/scm-webapp/src/main/java/sonia/scm/net/ahc/DefaultAdvancedHttpClient.java @@ -38,39 +38,27 @@ import com.google.common.base.Strings; import com.google.common.collect.Multimap; import com.google.common.io.Closeables; import com.google.inject.Inject; - import org.apache.shiro.codec.Base64; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.config.ScmConfiguration; import sonia.scm.net.Proxies; import sonia.scm.net.TrustAllHostnameVerifier; import sonia.scm.net.TrustAllTrustManager; import sonia.scm.util.HttpUtil; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.IOException; -import java.io.OutputStream; - -import java.net.HttpURLConnection; -import java.net.InetSocketAddress; -import java.net.ProtocolException; -import java.net.Proxy; -import java.net.SocketAddress; -import java.net.URL; - -import java.security.KeyManagementException; -import java.security.NoSuchAlgorithmException; - -import java.util.Set; import javax.inject.Provider; - import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; +import java.io.IOException; +import java.io.OutputStream; +import java.net.*; +import java.security.KeyManagementException; +import java.security.NoSuchAlgorithmException; +import java.util.Set; + +//~--- JDK imports ------------------------------------------------------------ /** * Default implementation of the {@link AdvancedHttpClient}. The default @@ -324,11 +312,7 @@ public class DefaultAdvancedHttpClient extends AdvancedHttpClient sc.init(null, trustAllCerts, new java.security.SecureRandom()); connection.setSSLSocketFactory(sc.getSocketFactory()); } - catch (KeyManagementException ex) - { - logger.error("could not disable certificate validation", ex); - } - catch (NoSuchAlgorithmException ex) + catch (KeyManagementException | NoSuchAlgorithmException ex) { logger.error("could not disable certificate validation", ex); } diff --git a/scm-webapp/src/main/java/sonia/scm/net/ahc/XmlContentTransformer.java b/scm-webapp/src/main/java/sonia/scm/net/ahc/XmlContentTransformer.java index 84dcda3593..71fbb489b1 100644 --- a/scm-webapp/src/main/java/sonia/scm/net/ahc/XmlContentTransformer.java +++ b/scm-webapp/src/main/java/sonia/scm/net/ahc/XmlContentTransformer.java @@ -34,20 +34,17 @@ package sonia.scm.net.ahc; //~--- non-JDK imports -------------------------------------------------------- import com.google.common.io.ByteSource; - import sonia.scm.plugin.Extension; import sonia.scm.util.IOUtil; -//~--- JDK imports ------------------------------------------------------------ - +import javax.ws.rs.core.MediaType; +import javax.xml.bind.DataBindingException; +import javax.xml.bind.JAXB; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import javax.ws.rs.core.MediaType; - -import javax.xml.bind.DataBindingException; -import javax.xml.bind.JAXB; +//~--- JDK imports ------------------------------------------------------------ /** * {@link ContentTransformer} for xml. The {@link XmlContentTransformer} uses @@ -96,15 +93,10 @@ public class XmlContentTransformer implements ContentTransformer stream = content.openBufferedStream(); object = JAXB.unmarshal(stream, type); } - catch (IOException ex) + catch (IOException | DataBindingException ex) { throw new ContentTransformerException("could not unmarshall content", ex); - } - catch (DataBindingException ex) - { - throw new ContentTransformerException("could not unmarshall content", ex); - } - finally + } finally { IOUtil.close(stream); } From db2d82b9ec20047661592f2bf6924e9321da7423 Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 16:59:46 +0200 Subject: [PATCH 07/27] refactor: use try-with-resources --- .../sonia/scm/web/proxy/ProxyServlet.java | 26 +++++-------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/web/proxy/ProxyServlet.java b/scm-core/src/main/java/sonia/scm/web/proxy/ProxyServlet.java index 1d865dc4bc..06059c2926 100644 --- a/scm-core/src/main/java/sonia/scm/web/proxy/ProxyServlet.java +++ b/scm-core/src/main/java/sonia/scm/web/proxy/ProxyServlet.java @@ -40,28 +40,20 @@ import com.google.common.io.ByteStreams; import com.google.common.io.Closer; import com.google.inject.Inject; import com.google.inject.Singleton; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.*; import java.net.HttpURLConnection; - import java.util.Enumeration; import java.util.List; import java.util.Map; import java.util.Map.Entry; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +//~--- JDK imports ------------------------------------------------------------ /** * @@ -175,10 +167,8 @@ public class ProxyServlet extends HttpServlet private void copyContent(HttpURLConnection con, HttpServletResponse response) throws IOException { - Closer closer = Closer.create(); - try - { + try (Closer closer = Closer.create()) { InputStream webToProxyBuf = closer.register(new BufferedInputStream(con.getInputStream())); OutputStream proxyToClientBuf = @@ -188,10 +178,6 @@ public class ProxyServlet extends HttpServlet logger.trace("copied {} bytes for proxy", bytes); } - finally - { - closer.close(); - } } /** From 397904addeccec6d2be5ae45783a76a7de4f254e Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 17:07:07 +0200 Subject: [PATCH 08/27] refactor: replace anonymous types with lambdas --- .../repository/api/HookChangesetBuilder.java | 53 ++++------ .../repository/spi/GitBranchesCommand.java | 28 ++---- .../sonia/scm/web/GitRepositoryViewer.java | 40 +++----- .../spi/AbstractRemoteCommandTestBase.java | 34 ++----- .../scm/installer/WindowsHgInstaller.java | 16 +-- .../scm/repository/AbstractHgHandler.java | 37 +++---- .../scm/repository/spi/HgBranchesCommand.java | 35 +++---- .../main/java/sonia/scm/util/MockUtil.java | 30 ++---- .../main/java/sonia/scm/ClassOverrides.java | 98 ++++++++----------- .../java/sonia/scm/ScmEventBusModule.java | 9 +- .../java/sonia/scm/ScmInitializerModule.java | 19 ++-- .../resources/AbstractPermissionResource.java | 32 ++---- .../api/rest/resources/SearchResource.java | 45 ++++----- .../main/java/sonia/scm/debug/DebugHook.java | 5 +- .../sonia/scm/group/DefaultGroupManager.java | 51 ++++------ .../java/sonia/scm/plugin/PluginNode.java | 15 +-- .../repository/DefaultRepositoryManager.java | 47 +++------ .../HealthCheckContextListener.java | 10 +- .../sonia/scm/schedule/QuartzScheduler.java | 21 +--- .../scm/security/DefaultSecuritySystem.java | 47 +++------ .../sonia/scm/user/DefaultUserManager.java | 49 +++------- .../sonia/scm/web/cgi/DefaultCGIExecutor.java | 53 ++++------ .../cache/CacheConfigurationTestLoader.java | 11 +-- .../java/sonia/scm/cache/CacheTestBase.java | 17 +--- .../sonia/scm/plugin/PluginProcessorTest.java | 31 +++--- .../java/sonia/scm/plugin/PluginTreeTest.java | 24 ++--- .../scm/security/DefaultKeyGeneratorTest.java | 37 +++---- .../security/DefaultSecuritySystemTest.java | 20 +--- .../scm/template/MustacheTemplateTest.java | 11 +-- 29 files changed, 285 insertions(+), 640 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/repository/api/HookChangesetBuilder.java b/scm-core/src/main/java/sonia/scm/repository/api/HookChangesetBuilder.java index c06e227d5f..bdf5e13d60 100644 --- a/scm-core/src/main/java/sonia/scm/repository/api/HookChangesetBuilder.java +++ b/scm-core/src/main/java/sonia/scm/repository/api/HookChangesetBuilder.java @@ -35,11 +35,8 @@ package sonia.scm.repository.api; import com.google.common.base.Function; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.io.DeepCopy; import sonia.scm.repository.Changeset; import sonia.scm.repository.PreProcessorUtil; @@ -47,11 +44,12 @@ import sonia.scm.repository.Repository; import sonia.scm.repository.spi.HookChangesetProvider; import sonia.scm.repository.spi.HookChangesetRequest; -//~--- JDK imports ------------------------------------------------------------ - import java.io.IOException; - import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.StreamSupport; + +//~--- JDK imports ------------------------------------------------------------ /** * The {@link HookChangesetBuilder} is able to return all {@link Changeset}s @@ -120,35 +118,26 @@ public final class HookChangesetBuilder if (!disablePreProcessors) { - changesets = Iterables.transform(changesets, - new Function() - { + final Function changesetFunction = c -> { + Changeset copy = null; - @Override - public Changeset apply(Changeset c) - { - Changeset copy = null; - - try - { - copy = DeepCopy.copy(c); - preProcessorUtil.prepareForReturn(repository, copy, - !disableEscaping); - } - catch (IOException ex) - { - logger.error("could not create a copy of changeset", ex); - } - - if (copy == null) - { - copy = c; - } - - return copy; + try { + copy = DeepCopy.copy(c); + preProcessorUtil.prepareForReturn(repository, copy, + !disableEscaping); + } catch (IOException ex) { + logger.error("could not create a copy of changeset", ex); } - }); + if (copy == null) { + copy = c; + } + + return copy; + }; + changesets = StreamSupport.stream(changesets.spliterator(), false) + .map(changesetFunction::apply) + .collect(Collectors.toList()); } return changesets; diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBranchesCommand.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBranchesCommand.java index df32c2b5eb..984f3e37cf 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBranchesCommand.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBranchesCommand.java @@ -34,24 +34,20 @@ package sonia.scm.repository.spi; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.base.Function; import com.google.common.collect.Lists; - import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.lib.Ref; - import sonia.scm.repository.Branch; import sonia.scm.repository.GitUtil; import sonia.scm.repository.Repository; import sonia.scm.repository.RepositoryException; -//~--- JDK imports ------------------------------------------------------------ - import java.io.IOException; - import java.util.List; +//~--- JDK imports ------------------------------------------------------------ + /** * * @author Sebastian Sdorra @@ -94,22 +90,16 @@ public class GitBranchesCommand extends AbstractGitCommand { List refs = git.branchList().call(); - branches = Lists.transform(refs, new Function() - { + branches = Lists.transform(refs, ref -> { + Branch branch = null; + String branchName = GitUtil.getBranch(ref); - @Override - public Branch apply(Ref ref) + if (branchName != null) { - Branch branch = null; - String branchName = GitUtil.getBranch(ref); - - if (branchName != null) - { - branch = new Branch(branchName, GitUtil.getId(ref.getObjectId())); - } - - return branch; + branch = new Branch(branchName, GitUtil.getId(ref.getObjectId())); } + + return branch; }); } diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitRepositoryViewer.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitRepositoryViewer.java index b1915dc7ad..18f4d5baaa 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitRepositoryViewer.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitRepositoryViewer.java @@ -40,17 +40,9 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.common.io.Closeables; import com.google.inject.Inject; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - -import sonia.scm.repository.Branch; -import sonia.scm.repository.Branches; -import sonia.scm.repository.Changeset; -import sonia.scm.repository.ChangesetPagingResult; -import sonia.scm.repository.Person; -import sonia.scm.repository.Repository; -import sonia.scm.repository.RepositoryException; +import sonia.scm.repository.*; import sonia.scm.repository.api.RepositoryService; import sonia.scm.repository.api.RepositoryServiceFactory; import sonia.scm.template.Template; @@ -63,16 +55,16 @@ import sonia.scm.util.HttpUtil; import sonia.scm.util.IOUtil; import sonia.scm.util.Util; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.IOException; -import java.io.Writer; - -import java.util.Date; -import java.util.Iterator; - import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.Writer; +import java.util.Date; +import java.util.Iterator; +import java.util.stream.Collectors; +import java.util.stream.StreamSupport; + +//~--- JDK imports ------------------------------------------------------------ /** * @@ -310,16 +302,10 @@ public class GitRepositoryViewer .setPagingLimit(CHANGESET_PER_BRANCH) .getChangesets(); - Iterable changesets = - Iterables.transform(cpr, new Function() - { - - @Override - public ChangesetModel apply(Changeset changeset) - { - return new ChangesetModel(changeset); - } - }); + Iterable changesets = + StreamSupport.stream(cpr.spliterator(), false) + .map(ChangesetModel::new) + .collect(Collectors.toList()); //J+ model = new BranchModel(name, changesets); diff --git a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/AbstractRemoteCommandTestBase.java b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/AbstractRemoteCommandTestBase.java index a76d110561..3b6c6797bb 100644 --- a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/AbstractRemoteCommandTestBase.java +++ b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/AbstractRemoteCommandTestBase.java @@ -37,35 +37,31 @@ package sonia.scm.repository.spi; import com.google.common.base.Charsets; import com.google.common.io.Files; -import com.google.inject.Provider; - import org.eclipse.jgit.api.CommitCommand; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.transport.ScmTransportProtocol; import org.eclipse.jgit.transport.Transport; - import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.rules.TemporaryFolder; - import sonia.scm.repository.Changeset; import sonia.scm.repository.GitRepositoryHandler; import sonia.scm.repository.Repository; import sonia.scm.user.User; import sonia.scm.user.UserTestData; -import static org.junit.Assert.*; - -import static org.mockito.Mockito.*; - -//~--- JDK imports ------------------------------------------------------------ - import java.io.File; import java.io.IOException; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +//~--- JDK imports ------------------------------------------------------------ + /** * * @author Sebastian Sdorra @@ -122,23 +118,7 @@ public class AbstractRemoteCommandTestBase { // store reference to handle weak references - proto = new ScmTransportProtocol(new Provider() - { - - @Override - public HookEventFacade get() - { - return null; - } - }, new Provider() - { - - @Override - public GitRepositoryHandler get() - { - return null; - } - }); + proto = new ScmTransportProtocol(() -> null, () -> null); Transport.register(proto); } diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/installer/WindowsHgInstaller.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/installer/WindowsHgInstaller.java index a764997c73..19df6f43d6 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/installer/WindowsHgInstaller.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/installer/WindowsHgInstaller.java @@ -37,21 +37,18 @@ package sonia.scm.installer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.repository.HgConfig; import sonia.scm.util.IOUtil; import sonia.scm.util.RegistryUtil; import sonia.scm.util.Util; -//~--- JDK imports ------------------------------------------------------------ - import java.io.File; -import java.io.FilenameFilter; import java.io.IOException; - import java.util.ArrayList; import java.util.List; +//~--- JDK imports ------------------------------------------------------------ + /** * * @author Sebastian Sdorra @@ -222,14 +219,7 @@ public class WindowsHgInstaller extends AbstractHgInstaller private boolean checkForOptimizedByteCode(String part) { File libDir = new File(part); - String[] pyoFiles = libDir.list(new FilenameFilter() - { - @Override - public boolean accept(File file, String name) - { - return name.toLowerCase().endsWith(".pyo"); - } - }); + String[] pyoFiles = libDir.list((file, name) -> name.toLowerCase().endsWith(".pyo")); return Util.isNotEmpty(pyoFiles); } diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/AbstractHgHandler.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/AbstractHgHandler.java index 22a64fe5b2..5f0e721594 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/AbstractHgHandler.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/AbstractHgHandler.java @@ -37,26 +37,18 @@ package sonia.scm.repository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.SCMContext; import sonia.scm.util.IOUtil; import sonia.scm.util.Util; import sonia.scm.web.HgUtil; -//~--- JDK imports ------------------------------------------------------------ - +import javax.xml.bind.JAXBException; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.util.*; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.xml.bind.JAXBException; +//~--- JDK imports ------------------------------------------------------------ /** * @@ -232,25 +224,20 @@ public class AbstractHgHandler { if (errorStream != null) { - new Thread(new Runnable() - { - @Override - public void run() + new Thread(() -> { + try { - try - { - String content = IOUtil.getContent(errorStream); + String content = IOUtil.getContent(errorStream); - if (Util.isNotEmpty(content)) - { - logger.error(content.trim()); - } - } - catch (IOException ex) + if (Util.isNotEmpty(content)) { - logger.error("error during logging", ex); + logger.error(content.trim()); } } + catch (IOException ex) + { + logger.error("error during logging", ex); + } }).start(); } } diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/HgBranchesCommand.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/HgBranchesCommand.java index 64d544c5ed..a2630d3730 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/HgBranchesCommand.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/HgBranchesCommand.java @@ -36,20 +36,17 @@ package sonia.scm.repository.spi; //~--- non-JDK imports -------------------------------------------------------- import com.aragost.javahg.Changeset; - import com.google.common.base.Function; import com.google.common.collect.Lists; - import sonia.scm.repository.Branch; import sonia.scm.repository.Repository; import sonia.scm.repository.RepositoryException; -//~--- JDK imports ------------------------------------------------------------ - import java.io.IOException; - import java.util.List; +//~--- JDK imports ------------------------------------------------------------ + /** * * @author Sebastian Sdorra @@ -87,26 +84,18 @@ public class HgBranchesCommand extends AbstractCommand List hgBranches = com.aragost.javahg.commands.BranchesCommand.on(open()).execute(); - List branches = Lists.transform(hgBranches, - new Function() - { + final Function branchFunction = hgBranch -> { + String node = null; + Changeset changeset = hgBranch.getBranchTip(); - @Override - public Branch apply(com.aragost.javahg.commands.Branch hgBranch) - { - String node = null; - Changeset changeset = hgBranch.getBranchTip(); - - if (changeset != null) - { - node = changeset.getNode(); - } - - return new Branch(hgBranch.getName(), node); + if (changeset != null) { + node = changeset.getNode(); } - }); - return branches; + return new Branch(hgBranch.getName(), node); + }; + + return Lists.transform(hgBranches, + branchFunction); } } diff --git a/scm-test/src/main/java/sonia/scm/util/MockUtil.java b/scm-test/src/main/java/sonia/scm/util/MockUtil.java index 756b2632be..1d15477472 100644 --- a/scm-test/src/main/java/sonia/scm/util/MockUtil.java +++ b/scm-test/src/main/java/sonia/scm/util/MockUtil.java @@ -41,27 +41,21 @@ import org.apache.shiro.subject.PrincipalCollection; import org.apache.shiro.subject.SimplePrincipalCollection; import org.apache.shiro.subject.Subject; import org.apache.shiro.subject.Subject.Builder; - -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; - import sonia.scm.SCMContextProvider; +import sonia.scm.security.Role; import sonia.scm.user.User; import sonia.scm.user.UserTestData; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.util.Arrays; +import java.util.List; + import static org.mockito.Mockito.*; //~--- JDK imports ------------------------------------------------------------ -import java.io.File; - -import java.util.Arrays; -import java.util.List; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import sonia.scm.security.Role; - /** * * @author Sebastian Sdorra @@ -96,12 +90,7 @@ public final class MockUtil when(subject.isAuthenticated()).thenReturn(Boolean.TRUE); when(subject.isPermitted(anyListOf(Permission.class))).then( - new Answer() - { - - @Override - public Boolean[] answer(InvocationOnMock invocation) throws Throwable - { + invocation -> { List permissions = (List) invocation.getArguments()[0]; Boolean[] returnArray = new Boolean[permissions.size()]; @@ -109,8 +98,7 @@ public final class MockUtil Arrays.fill(returnArray, Boolean.TRUE); return returnArray; - } - }); + }); when(subject.isPermitted(any(Permission.class))).thenReturn(Boolean.TRUE); when(subject.isPermitted(any(String.class))).thenReturn(Boolean.TRUE); when(subject.isPermittedAll(anyCollectionOf(Permission.class))).thenReturn( diff --git a/scm-webapp/src/main/java/sonia/scm/ClassOverrides.java b/scm-webapp/src/main/java/sonia/scm/ClassOverrides.java index b727a75fc0..44e3e108a3 100644 --- a/scm-webapp/src/main/java/sonia/scm/ClassOverrides.java +++ b/scm-webapp/src/main/java/sonia/scm/ClassOverrides.java @@ -38,31 +38,26 @@ package sonia.scm; import com.google.common.base.Function; import com.google.common.collect.Lists; import com.google.inject.Module; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.util.AssertUtil; import sonia.scm.util.ClassLoaders; import sonia.scm.util.Util; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.IOException; - -import java.net.URL; - -import java.util.Collections; -import java.util.Enumeration; -import java.util.Iterator; -import java.util.List; - import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; +import java.io.IOException; +import java.net.URL; +import java.util.Collections; +import java.util.Enumeration; +import java.util.Iterator; +import java.util.List; + +//~--- JDK imports ------------------------------------------------------------ /** * @@ -103,35 +98,29 @@ public class ClassOverrides implements Iterable classLoader.getResources(OVERRIDE_PATH); final JAXBContext context = JAXBContext.newInstance(ClassOverrides.class); - ClassLoaders.executeInContext(classLoader, new Runnable() - { - - @Override - public void run() + ClassLoaders.executeInContext(classLoader, () -> { + while (overridesEnm.hasMoreElements()) { - while (overridesEnm.hasMoreElements()) + URL overrideUrl = overridesEnm.nextElement(); + + if (logger.isInfoEnabled()) { - URL overrideUrl = overridesEnm.nextElement(); + logger.info("load override from {}", + overrideUrl.toExternalForm()); + } - if (logger.isInfoEnabled()) - { - logger.info("load override from {}", - overrideUrl.toExternalForm()); - } + try + { + ClassOverrides co = + (ClassOverrides) context.createUnmarshaller().unmarshal( + overrideUrl); - try - { - ClassOverrides co = - (ClassOverrides) context.createUnmarshaller().unmarshal( - overrideUrl); - - overrides.append(co); - } - catch (JAXBException ex) - { - logger.error( - "could not load ".concat(overrideUrl.toExternalForm()), ex); - } + overrides.append(co); + } + catch (JAXBException ex) + { + logger.error( + "could not load ".concat(overrideUrl.toExternalForm()), ex); } } }); @@ -217,28 +206,21 @@ public class ClassOverrides implements Iterable if (Util.isNotEmpty(moduleClasses)) { - modules = Lists.transform(moduleClasses, - new Function, Module>() - { - @Override - public Module apply(Class moduleClass) - { - Module module = null; + final Function, Module> classModuleFunction = moduleClass -> { + Module module = null; - try - { - module = moduleClass.newInstance(); - } - catch (IllegalAccessException | InstantiationException ex) - { - logger.error( - "could not create module instance of ".concat( - moduleClass.getName()), ex); - } - - return module; + try { + module = moduleClass.newInstance(); + } catch (IllegalAccessException | InstantiationException ex) { + logger.error( + "could not create module instance of ".concat( + moduleClass.getName()), ex); } - }); + + return module; + }; + modules = Lists.transform(moduleClasses, + classModuleFunction); } else { diff --git a/scm-webapp/src/main/java/sonia/scm/ScmEventBusModule.java b/scm-webapp/src/main/java/sonia/scm/ScmEventBusModule.java index 4f1d4ca8ab..637bf80d37 100644 --- a/scm-webapp/src/main/java/sonia/scm/ScmEventBusModule.java +++ b/scm-webapp/src/main/java/sonia/scm/ScmEventBusModule.java @@ -64,14 +64,7 @@ public class ScmEventBusModule extends AbstractModule @Override public void hear(TypeLiteral type, TypeEncounter encounter) { - encounter.register(new InjectionListener() - { - @Override - public void afterInjection(Object object) - { - ScmEventBus.getInstance().register(object); - } - }); + encounter.register((InjectionListener) object -> ScmEventBus.getInstance().register(object)); } }); diff --git a/scm-webapp/src/main/java/sonia/scm/ScmInitializerModule.java b/scm-webapp/src/main/java/sonia/scm/ScmInitializerModule.java index 16675749ac..32bd14fd12 100644 --- a/scm-webapp/src/main/java/sonia/scm/ScmInitializerModule.java +++ b/scm-webapp/src/main/java/sonia/scm/ScmInitializerModule.java @@ -73,20 +73,15 @@ public class ScmInitializerModule extends AbstractModule @Override public void hear(TypeLiteral type, TypeEncounter encounter) { - encounter.register(new InjectionListener() - { - @Override - public void afterInjection(Object i) + encounter.register((InjectionListener) i -> { + if (logger.isTraceEnabled()) { - if (logger.isTraceEnabled()) - { - logger.trace("initialize initable {}", i.getClass()); - } - - Initable initable = (Initable) i; - - initable.init(SCMContext.getContext()); + logger.trace("initialize initable {}", i.getClass()); } + + Initable initable = (Initable) i; + + initable.init(SCMContext.getContext()); }); } }); diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AbstractPermissionResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AbstractPermissionResource.java index e9e63d16d8..39915b5d9b 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AbstractPermissionResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/AbstractPermissionResource.java @@ -35,39 +35,27 @@ package sonia.scm.api.rest.resources; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.base.Function; import com.google.common.base.Predicate; import com.google.common.collect.Lists; import com.webcohesion.enunciate.metadata.rs.ResponseCode; import com.webcohesion.enunciate.metadata.rs.ResponseHeader; import com.webcohesion.enunciate.metadata.rs.StatusCodes; import com.webcohesion.enunciate.metadata.rs.TypeHint; - import sonia.scm.api.rest.Permission; import sonia.scm.security.AssignedPermission; import sonia.scm.security.SecuritySystem; import sonia.scm.security.StoredAssignedPermission; -//~--- JDK imports ------------------------------------------------------------ - -import java.net.URI; - -import java.util.List; - -import javax.ws.rs.Consumes; -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.WebApplicationException; +import javax.ws.rs.*; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import javax.ws.rs.core.UriInfo; +import java.net.URI; +import java.util.List; + +//~--- JDK imports ------------------------------------------------------------ /** * Abstract base class for global permission resources. @@ -277,15 +265,7 @@ public abstract class AbstractPermissionResource securitySystem.getPermissions(predicate); return Lists.transform(permissions, - new Function() - { - - @Override - public Permission apply(StoredAssignedPermission mgp) - { - return new Permission(mgp.getId(), mgp.getPermission()); - } - }); + mgp -> new Permission(mgp.getId(), mgp.getPermission())); } //~--- fields --------------------------------------------------------------- diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java index d951fcc2ca..b08a2aaace 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java @@ -156,23 +156,18 @@ public class SearchResource @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public SearchResults searchGroups(@QueryParam("query") String queryString) { - return groupSearchHandler.search(queryString, - new Function() - { - @Override - public SearchResult apply(Group group) - { - String label = group.getName(); - String description = group.getDescription(); + final Function groupSearchResultFunction = group -> { + String label = group.getName(); + String description = group.getDescription(); - if (description != null) - { - label = label.concat(" (").concat(description).concat(")"); - } - - return new SearchResult(group.getName(), label); + if (description != null) { + label = label.concat(" (").concat(description).concat(")"); } - }); + + return new SearchResult(group.getName(), label); + }; + return groupSearchHandler.search(queryString, + groupSearchResultFunction); } /** @@ -191,19 +186,15 @@ public class SearchResource @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public SearchResults searchUsers(@QueryParam("query") String queryString) { + final Function userSearchResultFunction = user -> { + StringBuilder label = new StringBuilder(user.getName()); + + label.append(" (").append(user.getDisplayName()).append(")"); + + return new SearchResult(user.getName(), label.toString()); + }; return userSearchHandler.search(queryString, - new Function() - { - @Override - public SearchResult apply(User user) - { - StringBuilder label = new StringBuilder(user.getName()); - - label.append(" (").append(user.getDisplayName()).append(")"); - - return new SearchResult(user.getName(), label.toString()); - } - }); + userSearchResultFunction); } //~--- fields --------------------------------------------------------------- diff --git a/scm-webapp/src/main/java/sonia/scm/debug/DebugHook.java b/scm-webapp/src/main/java/sonia/scm/debug/DebugHook.java index d75b455a95..5b49cb989a 100644 --- a/scm-webapp/src/main/java/sonia/scm/debug/DebugHook.java +++ b/scm-webapp/src/main/java/sonia/scm/debug/DebugHook.java @@ -34,13 +34,14 @@ import com.github.legman.ReferenceType; import com.github.legman.Subscribe; import com.google.common.base.Function; import com.google.common.collect.Collections2; -import javax.inject.Inject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import sonia.scm.EagerSingleton; import sonia.scm.repository.Changeset; import sonia.scm.repository.PostReceiveRepositoryHookEvent; +import javax.inject.Inject; + /** * {@link PostReceiveRepositoryHookEvent} which stores receives data and passes it to the {@link DebugService}. * @@ -84,5 +85,5 @@ public final class DebugHook )); } - private static final Function IDEXTRACTOR = (Changeset changeset) -> changeset.getId(); + private static final Function IDEXTRACTOR = Changeset::getId; } diff --git a/scm-webapp/src/main/java/sonia/scm/group/DefaultGroupManager.java b/scm-webapp/src/main/java/sonia/scm/group/DefaultGroupManager.java index ef69e5c07d..67b2709f53 100644 --- a/scm-webapp/src/main/java/sonia/scm/group/DefaultGroupManager.java +++ b/scm-webapp/src/main/java/sonia/scm/group/DefaultGroupManager.java @@ -40,10 +40,8 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.inject.Inject; import com.google.inject.Singleton; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.HandlerEventType; import sonia.scm.SCMContextProvider; import sonia.scm.TransformFilter; @@ -52,16 +50,10 @@ import sonia.scm.search.SearchUtil; import sonia.scm.util.CollectionAppender; import sonia.scm.util.Util; -//~--- JDK imports ------------------------------------------------------------ - import java.io.IOException; +import java.util.*; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.LinkedList; -import java.util.List; +//~--- JDK imports ------------------------------------------------------------ /** * @@ -269,22 +261,17 @@ public class DefaultGroupManager extends AbstractGroupManager } final PermissionActionCheck check = GroupPermissions.read(); - return SearchUtil.search(searchRequest, groupDAO.getAll(), - new TransformFilter() - { - @Override - public Group accept(Group group) - { - Group result = null; + final TransformFilter groupTransformFilter = group -> { + Group result = null; - if (check.isPermitted(group) && matches(searchRequest, group)) - { - result = group.clone(); - } - - return result; + if (check.isPermitted(group) && matches(searchRequest, group)) { + result = group.clone(); } - }); + + return result; + }; + return SearchUtil.search(searchRequest, groupDAO.getAll(), + groupTransformFilter); } private boolean matches(SearchRequest searchRequest, Group group) { @@ -374,17 +361,13 @@ public class DefaultGroupManager extends AbstractGroupManager { final PermissionActionCheck check = GroupPermissions.read(); - return Util.createSubCollection(groupDAO.getAll(), comparator, - new CollectionAppender() - { - @Override - public void append(Collection collection, Group group) - { - if (check.isPermitted(group)) { - collection.add(group.clone()); - } + final CollectionAppender groupCollectionAppender = (collection, group) -> { + if (check.isPermitted(group)) { + collection.add(group.clone()); } - }, start, limit); + }; + return Util.createSubCollection(groupDAO.getAll(), comparator, + groupCollectionAppender, start, limit); } /** diff --git a/scm-webapp/src/main/java/sonia/scm/plugin/PluginNode.java b/scm-webapp/src/main/java/sonia/scm/plugin/PluginNode.java index 281fb2eab1..ff479e9894 100644 --- a/scm-webapp/src/main/java/sonia/scm/plugin/PluginNode.java +++ b/scm-webapp/src/main/java/sonia/scm/plugin/PluginNode.java @@ -33,14 +33,13 @@ package sonia.scm.plugin; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -//~--- JDK imports ------------------------------------------------------------ - import java.util.List; +//~--- JDK imports ------------------------------------------------------------ + /** * * @author Sebastian Sdorra @@ -96,15 +95,7 @@ public final class PluginNode */ public PluginNode getChild(final String id) { - return Iterables.find(children, new Predicate() - { - - @Override - public boolean apply(PluginNode node) - { - return node.getId().equals(id); - } - }); + return Iterables.find(children, node -> node.getId().equals(id)); } /** diff --git a/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java b/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java index 8ddb02d9ca..77cbf0cb2c 100644 --- a/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java +++ b/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java @@ -41,42 +41,22 @@ import com.google.common.collect.Lists; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.inject.Inject; import com.google.inject.Singleton; - import org.apache.shiro.concurrent.SubjectAwareExecutorService; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - -import sonia.scm.ArgumentIsInvalidException; -import sonia.scm.ConfigurationException; -import sonia.scm.HandlerEventType; -import sonia.scm.SCMContextProvider; -import sonia.scm.Type; +import sonia.scm.*; import sonia.scm.config.ScmConfiguration; import sonia.scm.security.KeyGenerator; -import sonia.scm.util.AssertUtil; -import sonia.scm.util.CollectionAppender; -import sonia.scm.util.HttpUtil; -import sonia.scm.util.IOUtil; -import sonia.scm.util.Util; - -//~--- JDK imports ------------------------------------------------------------ +import sonia.scm.util.*; +import javax.servlet.http.HttpServletRequest; import java.io.IOException; - -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; -import javax.servlet.http.HttpServletRequest; +//~--- JDK imports ------------------------------------------------------------ /** * Default implementation of {@link RepositoryManager}. @@ -459,18 +439,13 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager final PermissionActionCheck check = RepositoryPermissions.read(); - return Util.createSubCollection(repositoryDAO.getAll(), comparator, - new CollectionAppender() - { - @Override - public void append(Collection collection, Repository item) - { - if (check.isPermitted(item)) - { - collection.add(item.clone()); - } + final CollectionAppender repositoryCollectionAppender = (collection, item) -> { + if (check.isPermitted(item)) { + collection.add(item.clone()); } - }, start, limit); + }; + return Util.createSubCollection(repositoryDAO.getAll(), comparator, + repositoryCollectionAppender, start, limit); } /** diff --git a/scm-webapp/src/main/java/sonia/scm/repository/HealthCheckContextListener.java b/scm-webapp/src/main/java/sonia/scm/repository/HealthCheckContextListener.java index a0918c3e64..146382771e 100644 --- a/scm-webapp/src/main/java/sonia/scm/repository/HealthCheckContextListener.java +++ b/scm-webapp/src/main/java/sonia/scm/repository/HealthCheckContextListener.java @@ -128,15 +128,7 @@ public class HealthCheckContextListener implements ServletContextListener { // excute health checks for all repsitories asynchronous - SecurityUtils.getSubject().execute(new Runnable() - { - - @Override - public void run() - { - healthChecker.checkAll(); - } - }); + SecurityUtils.getSubject().execute(healthChecker::checkAll); } //~--- fields ------------------------------------------------------------- diff --git a/scm-webapp/src/main/java/sonia/scm/schedule/QuartzScheduler.java b/scm-webapp/src/main/java/sonia/scm/schedule/QuartzScheduler.java index 5b46d438d8..7aa0494a79 100644 --- a/scm-webapp/src/main/java/sonia/scm/schedule/QuartzScheduler.java +++ b/scm-webapp/src/main/java/sonia/scm/schedule/QuartzScheduler.java @@ -35,21 +35,16 @@ import com.google.common.base.Throwables; import com.google.inject.Injector; import com.google.inject.Provider; import com.google.inject.Singleton; -import java.io.IOException; -import javax.inject.Inject; -import org.quartz.CronScheduleBuilder; -import org.quartz.JobBuilder; -import org.quartz.JobDataMap; -import org.quartz.JobDetail; -import org.quartz.SchedulerException; -import org.quartz.Trigger; -import org.quartz.TriggerBuilder; +import org.quartz.*; import org.quartz.impl.StdSchedulerFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import sonia.scm.Initable; import sonia.scm.SCMContextProvider; +import javax.inject.Inject; +import java.io.IOException; + /** * {@link Scheduler} which uses the quartz scheduler. * @@ -130,13 +125,7 @@ public class QuartzScheduler implements Scheduler, Initable { @Override public Task schedule(String expression, final Runnable runnable) { - return schedule(expression, new Provider(){ - @Override - public Runnable get() - { - return runnable; - } - }); + return schedule(expression, () -> runnable); } @Override diff --git a/scm-webapp/src/main/java/sonia/scm/security/DefaultSecuritySystem.java b/scm-webapp/src/main/java/sonia/scm/security/DefaultSecuritySystem.java index d958dcf41f..2a73ca489e 100644 --- a/scm-webapp/src/main/java/sonia/scm/security/DefaultSecuritySystem.java +++ b/scm-webapp/src/main/java/sonia/scm/security/DefaultSecuritySystem.java @@ -36,7 +36,6 @@ package sonia.scm.security; //~--- non-JDK imports -------------------------------------------------------- import com.github.legman.Subscribe; - import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.base.Strings; @@ -44,12 +43,9 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList.Builder; import com.google.inject.Inject; import com.google.inject.Singleton; - import org.apache.shiro.SecurityUtils; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.HandlerEventType; import sonia.scm.event.ScmEventBus; import sonia.scm.group.GroupEvent; @@ -58,23 +54,20 @@ import sonia.scm.store.ConfigurationEntryStoreFactory; import sonia.scm.user.UserEvent; import sonia.scm.util.ClassLoaders; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.IOException; - -import java.net.URL; - -import java.util.Collections; -import java.util.Enumeration; -import java.util.List; -import java.util.Map.Entry; - import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; +import java.io.IOException; +import java.net.URL; +import java.util.Collections; +import java.util.Enumeration; +import java.util.List; +import java.util.Map.Entry; + +//~--- JDK imports ------------------------------------------------------------ /** * TODO add events @@ -191,16 +184,8 @@ public class DefaultSecuritySystem implements SecuritySystem { if (event.getEventType() == HandlerEventType.DELETE) { - deletePermissions(new Predicate() - { - - @Override - public boolean apply(AssignedPermission p) - { - return !p.isGroupPermission() - && event.getItem().getName().equals(p.getName()); - } - }); + deletePermissions(p -> !(p != null && p.isGroupPermission()) + && event.getItem().getName().equals(p != null ? p.getName() : null)); } } @@ -215,16 +200,8 @@ public class DefaultSecuritySystem implements SecuritySystem { if (event.getEventType() == HandlerEventType.DELETE) { - deletePermissions(new Predicate() - { - - @Override - public boolean apply(AssignedPermission p) - { - return p.isGroupPermission() - && event.getItem().getName().equals(p.getName()); - } - }); + deletePermissions(p -> (p != null && p.isGroupPermission()) + && event.getItem().getName().equals(p.getName())); } } diff --git a/scm-webapp/src/main/java/sonia/scm/user/DefaultUserManager.java b/scm-webapp/src/main/java/sonia/scm/user/DefaultUserManager.java index 99e3abbe76..0cdf1fd147 100644 --- a/scm-webapp/src/main/java/sonia/scm/user/DefaultUserManager.java +++ b/scm-webapp/src/main/java/sonia/scm/user/DefaultUserManager.java @@ -38,13 +38,10 @@ package sonia.scm.user; import com.github.sdorra.ssp.PermissionActionCheck; import com.google.inject.Inject; import com.google.inject.Singleton; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.HandlerEventType; import sonia.scm.SCMContextProvider; -import sonia.scm.TransformFilter; import sonia.scm.search.SearchRequest; import sonia.scm.search.SearchUtil; import sonia.scm.util.AssertUtil; @@ -52,20 +49,14 @@ import sonia.scm.util.CollectionAppender; import sonia.scm.util.IOUtil; import sonia.scm.util.Util; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.IOException; -import java.io.InputStream; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; - import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Unmarshaller; +import java.io.IOException; +import java.io.InputStream; +import java.util.*; + +//~--- JDK imports ------------------------------------------------------------ /** * @@ -297,16 +288,12 @@ public class DefaultUserManager extends AbstractUserManager } final PermissionActionCheck check = UserPermissions.read(); - return SearchUtil.search(searchRequest, userDAO.getAll(), new TransformFilter() { - @Override - public User accept(User user) - { - User result = null; - if (check.isPermitted(user) && matches(searchRequest, user)) { - result = user.clone(); - } - return result; + return SearchUtil.search(searchRequest, userDAO.getAll(), user -> { + User result = null; + if (check.isPermitted(user) && matches(searchRequest, user)) { + result = user.clone(); } + return result; }); } @@ -392,17 +379,13 @@ public class DefaultUserManager extends AbstractUserManager @Override public Collection getAll(Comparator comaparator, int start, int limit) { final PermissionActionCheck check = UserPermissions.read(); - return Util.createSubCollection(userDAO.getAll(), comaparator, - new CollectionAppender() - { - @Override - public void append(Collection collection, User item) - { - if (check.isPermitted(item)) { - collection.add(item.clone()); - } + final CollectionAppender userCollectionAppender = (collection, item) -> { + if (check.isPermitted(item)) { + collection.add(item.clone()); } - }, start, limit); + }; + return Util.createSubCollection(userDAO.getAll(), comaparator, + userCollectionAppender, start, limit); } /** diff --git a/scm-webapp/src/main/java/sonia/scm/web/cgi/DefaultCGIExecutor.java b/scm-webapp/src/main/java/sonia/scm/web/cgi/DefaultCGIExecutor.java index 3eaa684080..c0096efd59 100644 --- a/scm-webapp/src/main/java/sonia/scm/web/cgi/DefaultCGIExecutor.java +++ b/scm-webapp/src/main/java/sonia/scm/web/cgi/DefaultCGIExecutor.java @@ -37,10 +37,8 @@ package sonia.scm.web.cgi; import com.google.common.base.Strings; import com.google.common.io.ByteStreams; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.SCMContext; import sonia.scm.config.ScmConfiguration; import sonia.scm.util.HttpUtil; @@ -48,23 +46,17 @@ import sonia.scm.util.IOUtil; import sonia.scm.util.SystemUtil; import sonia.scm.util.Util; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import java.util.Enumeration; -import java.util.Map; -import java.util.concurrent.ExecutorService; - import javax.servlet.ServletContext; import javax.servlet.ServletInputStream; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.*; +import java.util.Enumeration; +import java.util.Map; +import java.util.concurrent.ExecutorService; + +//~--- JDK imports ------------------------------------------------------------ /** * @@ -510,26 +502,21 @@ public class DefaultCGIExecutor extends AbstractCGIExecutor */ private void processErrorStreamAsync(final Process process) { - executor.execute(new Runnable() - { - @Override - public void run() - { - InputStream errorStream = null; + executor.execute(() -> { + InputStream errorStream = null; - try - { - errorStream = process.getErrorStream(); - processErrorStream(errorStream); - } - catch (IOException ex) - { - logger.error("could not read errorstream", ex); - } - finally - { - IOUtil.close(errorStream); - } + try + { + errorStream = process.getErrorStream(); + processErrorStream(errorStream); + } + catch (IOException ex) + { + logger.error("could not read errorstream", ex); + } + finally + { + IOUtil.close(errorStream); } }); } diff --git a/scm-webapp/src/test/java/sonia/scm/cache/CacheConfigurationTestLoader.java b/scm-webapp/src/test/java/sonia/scm/cache/CacheConfigurationTestLoader.java index 14c2355a85..0b111e4ef1 100644 --- a/scm-webapp/src/test/java/sonia/scm/cache/CacheConfigurationTestLoader.java +++ b/scm-webapp/src/test/java/sonia/scm/cache/CacheConfigurationTestLoader.java @@ -34,7 +34,6 @@ package sonia.scm.cache; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.base.Function; import com.google.common.collect.Iterators; import com.google.common.io.ByteSource; import com.google.common.io.Files; @@ -196,15 +195,7 @@ public class CacheConfigurationTestLoader implements CacheConfigurationLoader else { urlIterator = Iterators.transform(moduleConfigurations, - new Function() - { - - @Override - public URL apply(String resource) - { - return getResource(resource); - } - }); + this::getResource); } return urlIterator; diff --git a/scm-webapp/src/test/java/sonia/scm/cache/CacheTestBase.java b/scm-webapp/src/test/java/sonia/scm/cache/CacheTestBase.java index 54cf7991c5..8a8a016146 100644 --- a/scm-webapp/src/test/java/sonia/scm/cache/CacheTestBase.java +++ b/scm-webapp/src/test/java/sonia/scm/cache/CacheTestBase.java @@ -35,18 +35,14 @@ package sonia.scm.cache; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.base.Predicate; - import org.junit.After; +import org.junit.Assume; import org.junit.Before; import org.junit.Test; - import sonia.scm.util.IOUtil; -import static org.hamcrest.Matchers.*; - +import static org.hamcrest.Matchers.containsInAnyOrder; import static org.junit.Assert.*; -import org.junit.Assume; /** * @@ -166,14 +162,7 @@ public abstract class CacheTestBase cache.put("a-1", "test123"); cache.put("a-2", "test123"); - Iterable previous = cache.removeAll(new Predicate() - { - @Override - public boolean apply(String item) - { - return item.startsWith("test"); - } - }); + Iterable previous = cache.removeAll(item -> item != null && item.startsWith("test")); assertThat(previous, containsInAnyOrder("test123", "test456")); assertNull(cache.get("test-1")); diff --git a/scm-webapp/src/test/java/sonia/scm/plugin/PluginProcessorTest.java b/scm-webapp/src/test/java/sonia/scm/plugin/PluginProcessorTest.java index 694b07e54f..a78a8acba9 100644 --- a/scm-webapp/src/test/java/sonia/scm/plugin/PluginProcessorTest.java +++ b/scm-webapp/src/test/java/sonia/scm/plugin/PluginProcessorTest.java @@ -34,31 +34,27 @@ package sonia.scm.plugin; //~--- non-JDK imports -------------------------------------------------------- import com.google.common.base.Charsets; -import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.io.Resources; - import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; -import static org.hamcrest.Matchers.*; - -import static org.junit.Assert.*; - -//~--- JDK imports ------------------------------------------------------------ - import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; - import java.lang.reflect.InvocationTargetException; - import java.net.URL; - import java.util.Set; +import java.util.stream.StreamSupport; + +import static org.hamcrest.Matchers.hasSize; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.*; + +//~--- JDK imports ------------------------------------------------------------ /** * @@ -370,15 +366,10 @@ public class PluginProcessorTest private PluginWrapper findPlugin(Iterable plugin, final String id) { - return Iterables.find(plugin, new Predicate() - { - - @Override - public boolean apply(PluginWrapper input) - { - return id.equals(input.getId()); - } - }); + return StreamSupport.stream(plugin.spliterator(), false) + .filter(input -> id.equals(input.getId())) + .findFirst() + .orElse(null); } //~--- inner classes -------------------------------------------------------- diff --git a/scm-webapp/src/test/java/sonia/scm/plugin/PluginTreeTest.java b/scm-webapp/src/test/java/sonia/scm/plugin/PluginTreeTest.java index 06d6c1732c..31e008b42d 100644 --- a/scm-webapp/src/test/java/sonia/scm/plugin/PluginTreeTest.java +++ b/scm-webapp/src/test/java/sonia/scm/plugin/PluginTreeTest.java @@ -33,26 +33,22 @@ package sonia.scm.plugin; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.base.Function; import com.google.common.collect.Lists; - import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; -import static org.hamcrest.Matchers.*; - -import static org.junit.Assert.*; - -//~--- JDK imports ------------------------------------------------------------ - import java.io.IOException; - import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; +import static org.hamcrest.Matchers.containsInAnyOrder; +import static org.junit.Assert.assertThat; + +//~--- JDK imports ------------------------------------------------------------ + /** * * @author Sebastian Sdorra @@ -265,15 +261,7 @@ public class PluginTreeTest */ private List unwrapIds(List nodes) { - return Lists.transform(nodes, new Function() - { - - @Override - public String apply(PluginNode input) - { - return input.getId(); - } - }); + return Lists.transform(nodes, PluginNode::getId); } //~--- fields --------------------------------------------------------------- diff --git a/scm-webapp/src/test/java/sonia/scm/security/DefaultKeyGeneratorTest.java b/scm-webapp/src/test/java/sonia/scm/security/DefaultKeyGeneratorTest.java index edec43098c..57b038d5f1 100644 --- a/scm-webapp/src/test/java/sonia/scm/security/DefaultKeyGeneratorTest.java +++ b/scm-webapp/src/test/java/sonia/scm/security/DefaultKeyGeneratorTest.java @@ -35,22 +35,15 @@ package sonia.scm.security; //~--- non-JDK imports -------------------------------------------------------- import com.google.common.collect.Sets; - import org.junit.Test; +import java.util.Set; +import java.util.concurrent.*; + import static org.junit.Assert.*; //~--- JDK imports ------------------------------------------------------------ -import java.util.Set; -import java.util.concurrent.Callable; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.Future; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; - /** * * @author Sebastian Sdorra @@ -96,28 +89,22 @@ public class DefaultKeyGeneratorTest for (int i = 0; i < 10; i++) { - Future> future = executor.submit(new Callable>() - { + Future> future = executor.submit(() -> { + Set keys = Sets.newHashSet(); - @Override - public Set call() + for (int i1 = 0; i1 < 1000; i1++) { - Set keys = Sets.newHashSet(); + String key = generator.createKey(); - for (int i = 0; i < 1000; i++) + if (keys.contains(key)) { - String key = generator.createKey(); - - if (keys.contains(key)) - { - fail("dublicate key"); - } - - keys.add(key); + fail("dublicate key"); } - return keys; + keys.add(key); } + + return keys; }); futureSet.add(future); diff --git a/scm-webapp/src/test/java/sonia/scm/security/DefaultSecuritySystemTest.java b/scm-webapp/src/test/java/sonia/scm/security/DefaultSecuritySystemTest.java index 95ad64b349..f8fd62375e 100644 --- a/scm-webapp/src/test/java/sonia/scm/security/DefaultSecuritySystemTest.java +++ b/scm-webapp/src/test/java/sonia/scm/security/DefaultSecuritySystemTest.java @@ -34,27 +34,23 @@ package sonia.scm.security; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.base.Predicate; - import org.apache.shiro.authz.UnauthorizedException; import org.apache.shiro.mgt.DefaultSecurityManager; import org.apache.shiro.realm.SimpleAccountRealm; - import org.junit.Before; import org.junit.Test; - import sonia.scm.AbstractTestBase; import sonia.scm.store.JAXBConfigurationEntryStoreFactory; import sonia.scm.util.MockUtil; -import static org.hamcrest.Matchers.*; +import java.util.List; +import static org.hamcrest.Matchers.containsInAnyOrder; +import static org.hamcrest.Matchers.greaterThan; import static org.junit.Assert.*; //~--- JDK imports ------------------------------------------------------------ -import java.util.List; - /** * * @author Sebastian Sdorra @@ -184,15 +180,7 @@ public class DefaultSecuritySystemTest extends AbstractTestBase createPermission("hitchhiker", true, "repository:*:READ"); List filtered = - securitySystem.getPermissions(new Predicate() - { - - @Override - public boolean apply(AssignedPermission input) - { - return !input.isGroupPermission(); - } - }); + securitySystem.getPermissions(input -> !(input != null && input.isGroupPermission())); assertEquals(2, filtered.size()); assertThat(filtered, containsInAnyOrder(trillian, dent)); diff --git a/scm-webapp/src/test/java/sonia/scm/template/MustacheTemplateTest.java b/scm-webapp/src/test/java/sonia/scm/template/MustacheTemplateTest.java index 186b809367..bfac40b4df 100644 --- a/scm-webapp/src/test/java/sonia/scm/template/MustacheTemplateTest.java +++ b/scm-webapp/src/test/java/sonia/scm/template/MustacheTemplateTest.java @@ -89,15 +89,8 @@ public class MustacheTemplateTest extends TemplateTestBase @Override protected void prepareEnv(Map env) { - env.put("test", new Function() - { - - @Override - public String apply(String input) - { - throw new UnsupportedOperationException("Not supported yet."); - } - + env.put("test", (Function) input -> { + throw new UnsupportedOperationException("Not supported yet."); }); } From 64b8fc8af6e39d1c3af58f4a227876e4949bad33 Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 17:08:04 +0200 Subject: [PATCH 09/27] refactor: replace Collections.sort with List.sort --- .../repository/api/BrowseCommandBuilder.java | 2 +- .../src/main/java/sonia/scm/util/Util.java | 17 ++------ .../api/rest/resources/PluginResource.java | 43 ++++++------------- .../sonia/scm/group/DefaultGroupManager.java | 2 +- .../repository/DefaultRepositoryManager.java | 2 +- .../sonia/scm/resources/AbstractResource.java | 11 ++--- .../resources/AbstractResourceManager.java | 19 +++----- .../sonia/scm/user/DefaultUserManager.java | 2 +- 8 files changed, 30 insertions(+), 68 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/repository/api/BrowseCommandBuilder.java b/scm-core/src/main/java/sonia/scm/repository/api/BrowseCommandBuilder.java index 655b7d4816..f37677f37b 100644 --- a/scm-core/src/main/java/sonia/scm/repository/api/BrowseCommandBuilder.java +++ b/scm-core/src/main/java/sonia/scm/repository/api/BrowseCommandBuilder.java @@ -191,7 +191,7 @@ public final class BrowseCommandBuilder if (fileObjects != null) { - Collections.sort(fileObjects, FileObjectNameComparator.instance); + fileObjects.sort(FileObjectNameComparator.instance); result.setFiles(fileObjects); } } diff --git a/scm-core/src/main/java/sonia/scm/util/Util.java b/scm-core/src/main/java/sonia/scm/util/Util.java index e57d48f314..d17219bfa2 100644 --- a/scm-core/src/main/java/sonia/scm/util/Util.java +++ b/scm-core/src/main/java/sonia/scm/util/Util.java @@ -38,23 +38,12 @@ package sonia.scm.util; import com.google.common.base.Strings; import com.google.common.collect.Multimap; -//~--- JDK imports ------------------------------------------------------------ - import java.math.BigInteger; - import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.*; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.Date; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.TimeZone; +//~--- JDK imports ------------------------------------------------------------ /** * @@ -278,7 +267,7 @@ public final class Util if (comparator != null) { - Collections.sort(valueList, comparator); + valueList.sort(comparator); } int length = valueList.size(); diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/PluginResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/PluginResource.java index c605c7c29a..72577b0cc3 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/PluginResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/PluginResource.java @@ -38,42 +38,27 @@ package sonia.scm.api.rest.resources; import com.google.common.collect.Lists; import com.google.inject.Inject; import com.google.inject.Singleton; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import sonia.scm.api.rest.RestActionResult; -import sonia.scm.api.rest.RestActionUploadResult; -import sonia.scm.plugin.OverviewPluginPredicate; -import sonia.scm.plugin.PluginConditionFailedException; -import sonia.scm.plugin.PluginInformation; -import sonia.scm.plugin.PluginInformationComparator; -import sonia.scm.plugin.PluginManager; - -//~--- JDK imports ------------------------------------------------------------ - import com.sun.jersey.multipart.FormDataParam; import com.webcohesion.enunciate.metadata.rs.ResponseCode; import com.webcohesion.enunciate.metadata.rs.StatusCodes; import com.webcohesion.enunciate.metadata.rs.TypeHint; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import sonia.scm.api.rest.RestActionResult; +import sonia.scm.api.rest.RestActionUploadResult; +import sonia.scm.plugin.*; -import java.io.IOException; -import java.io.InputStream; - -import java.util.Collection; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; +import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; +import java.io.IOException; +import java.io.InputStream; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; + +//~--- JDK imports ------------------------------------------------------------ /** * RESTful Web Service Endpoint to manage plugins. @@ -334,7 +319,7 @@ public class PluginResource ); //J+ - Collections.sort(plugins, PluginInformationComparator.INSTANCE); + plugins.sort(PluginInformationComparator.INSTANCE); Iterator it = plugins.iterator(); String last = null; diff --git a/scm-webapp/src/main/java/sonia/scm/group/DefaultGroupManager.java b/scm-webapp/src/main/java/sonia/scm/group/DefaultGroupManager.java index 67b2709f53..cd2f1525c3 100644 --- a/scm-webapp/src/main/java/sonia/scm/group/DefaultGroupManager.java +++ b/scm-webapp/src/main/java/sonia/scm/group/DefaultGroupManager.java @@ -338,7 +338,7 @@ public class DefaultGroupManager extends AbstractGroupManager if (comparator != null) { - Collections.sort(groups, comparator); + groups.sort(comparator); } return groups; diff --git a/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java b/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java index 77cbf0cb2c..948ca15932 100644 --- a/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java +++ b/scm-webapp/src/main/java/sonia/scm/repository/DefaultRepositoryManager.java @@ -403,7 +403,7 @@ public class DefaultRepositoryManager extends AbstractRepositoryManager if (comparator != null) { - Collections.sort(repositories, comparator); + repositories.sort(comparator); } return repositories; diff --git a/scm-webapp/src/main/java/sonia/scm/resources/AbstractResource.java b/scm-webapp/src/main/java/sonia/scm/resources/AbstractResource.java index d5b21befe6..5ea598d587 100644 --- a/scm-webapp/src/main/java/sonia/scm/resources/AbstractResource.java +++ b/scm-webapp/src/main/java/sonia/scm/resources/AbstractResource.java @@ -36,23 +36,18 @@ package sonia.scm.resources; //~--- non-JDK imports -------------------------------------------------------- import com.google.common.io.Resources; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.plugin.PluginLoader; import sonia.scm.util.Util; -//~--- JDK imports ------------------------------------------------------------ - import java.io.IOException; import java.io.OutputStream; - import java.net.URL; - -import java.util.Collections; import java.util.List; +//~--- JDK imports ------------------------------------------------------------ + /** * * @author Sebastian Sdorra @@ -105,7 +100,7 @@ public abstract class AbstractResource implements Resource if (Util.isNotEmpty(resourceHandlers)) { - Collections.sort(resourceHandlers, new ResourceHandlerComparator()); + resourceHandlers.sort(new ResourceHandlerComparator()); for (ResourceHandler resourceHandler : resourceHandlers) { diff --git a/scm-webapp/src/main/java/sonia/scm/resources/AbstractResourceManager.java b/scm-webapp/src/main/java/sonia/scm/resources/AbstractResourceManager.java index 95d7b39b69..d9738fcc3a 100644 --- a/scm-webapp/src/main/java/sonia/scm/resources/AbstractResourceManager.java +++ b/scm-webapp/src/main/java/sonia/scm/resources/AbstractResourceManager.java @@ -38,20 +38,13 @@ package sonia.scm.resources; import sonia.scm.plugin.Plugin; import sonia.scm.plugin.PluginLoader; import sonia.scm.plugin.PluginResources; - -//~--- JDK imports ------------------------------------------------------------ - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; +import sonia.scm.plugin.PluginWrapper; import javax.servlet.ServletContext; -import sonia.scm.plugin.PluginWrapper; +import java.util.*; +import java.util.Map.Entry; + +//~--- JDK imports ------------------------------------------------------------ /** * @@ -123,7 +116,7 @@ public abstract class AbstractResourceManager implements ResourceManager } } - Collections.sort(resources, ResourceNameComparator.INSTANCE); + resources.sort(ResourceNameComparator.INSTANCE); return resources; } diff --git a/scm-webapp/src/main/java/sonia/scm/user/DefaultUserManager.java b/scm-webapp/src/main/java/sonia/scm/user/DefaultUserManager.java index 0cdf1fd147..2dc598cf2c 100644 --- a/scm-webapp/src/main/java/sonia/scm/user/DefaultUserManager.java +++ b/scm-webapp/src/main/java/sonia/scm/user/DefaultUserManager.java @@ -359,7 +359,7 @@ public class DefaultUserManager extends AbstractUserManager } if (comparator != null) { - Collections.sort(users, comparator); + users.sort(comparator); } return users; From 7b03c19de6ce19037906269bccc9aa89bf999ad1 Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 17:08:44 +0200 Subject: [PATCH 10/27] refactor: replace while loop with Map.removeIf --- .../cli/cmd/DeletePermissionSubCommand.java | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/DeletePermissionSubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/DeletePermissionSubCommand.java index fe01b3ff24..2b482c0f4e 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/DeletePermissionSubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/DeletePermissionSubCommand.java @@ -36,14 +36,12 @@ package sonia.scm.cli.cmd; //~--- non-JDK imports -------------------------------------------------------- import org.kohsuke.args4j.Option; - import sonia.scm.repository.Permission; -//~--- JDK imports ------------------------------------------------------------ - -import java.util.Iterator; import java.util.List; +//~--- JDK imports ------------------------------------------------------------ + /** * * @author Sebastian Sdorra @@ -91,17 +89,7 @@ public class DeletePermissionSubCommand extends PermissionSubCommand @Override protected void modifyPermissions(List permissions) { - Iterator it = permissions.iterator(); - - while (it.hasNext()) - { - Permission p = it.next(); - - if (name.equals(p.getName())) - { - it.remove(); - } - } + permissions.removeIf(p -> name.equals(p.getName())); } //~--- fields --------------------------------------------------------------- From fb2dfce63171f516eb334fe172961b3d1bed86ea Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 17:09:50 +0200 Subject: [PATCH 11/27] refactor: replace Guava's Iterables.find with Stream API --- scm-webapp/src/main/java/sonia/scm/plugin/PluginNode.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scm-webapp/src/main/java/sonia/scm/plugin/PluginNode.java b/scm-webapp/src/main/java/sonia/scm/plugin/PluginNode.java index ff479e9894..9a63837bda 100644 --- a/scm-webapp/src/main/java/sonia/scm/plugin/PluginNode.java +++ b/scm-webapp/src/main/java/sonia/scm/plugin/PluginNode.java @@ -33,7 +33,6 @@ package sonia.scm.plugin; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import java.util.List; @@ -95,7 +94,9 @@ public final class PluginNode */ public PluginNode getChild(final String id) { - return Iterables.find(children, node -> node.getId().equals(id)); + return children.stream() + .filter(node -> node.getId().equals(id)).findFirst() + .orElse(null); } /** From 524a5dbb0ab8d310a3175971bdc191e7a2cb60f1 Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 17:10:58 +0200 Subject: [PATCH 12/27] refactor: use Map.computeIfAbsent --- .../sonia/scm/cli/config/ScmClientConfig.java | 19 +++---------------- .../java/sonia/scm/logging/SVNKitLogger.java | 10 +--------- .../java/sonia/scm/cache/MapCacheManager.java | 10 +--------- 3 files changed, 5 insertions(+), 34 deletions(-) diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/ScmClientConfig.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/ScmClientConfig.java index 9edb2b382a..281a0f8c3b 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/ScmClientConfig.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/ScmClientConfig.java @@ -35,16 +35,11 @@ package sonia.scm.cli.config; //~--- JDK imports ------------------------------------------------------------ +import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; import java.util.HashMap; import java.util.Map; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlTransient; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - /** * * @author Sebastian Sdorra @@ -148,15 +143,7 @@ public class ScmClientConfig */ public ServerConfig getConfig(String name) { - ServerConfig config = serverConfigMap.get(name); - - if (config == null) - { - config = new ServerConfig(); - serverConfigMap.put(name, config); - } - - return config; + return serverConfigMap.computeIfAbsent(name, k -> new ServerConfig()); } /** diff --git a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/logging/SVNKitLogger.java b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/logging/SVNKitLogger.java index e156defaf5..177bc05069 100644 --- a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/logging/SVNKitLogger.java +++ b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/logging/SVNKitLogger.java @@ -211,15 +211,7 @@ public class SVNKitLogger extends SVNDebugLogAdapter */ private Logger getLogger(SVNLogType type) { - Logger logger = loggerMap.get(type); - - if (logger == null) - { - logger = LoggerFactory.getLogger(parseName(type.getName())); - loggerMap.put(type, logger); - } - - return logger; + return loggerMap.computeIfAbsent(type, t -> LoggerFactory.getLogger(parseName(t.getName()))); } //~--- fields --------------------------------------------------------------- diff --git a/scm-test/src/main/java/sonia/scm/cache/MapCacheManager.java b/scm-test/src/main/java/sonia/scm/cache/MapCacheManager.java index 0e4faddb4a..1f606fc908 100644 --- a/scm-test/src/main/java/sonia/scm/cache/MapCacheManager.java +++ b/scm-test/src/main/java/sonia/scm/cache/MapCacheManager.java @@ -81,15 +81,7 @@ public class MapCacheManager @Override public synchronized MapCache getCache(String name) { - MapCache cache = cacheMap.get(name); - - if (cache == null) - { - cache = new MapCache(); - cacheMap.put(name, cache); - } - - return cache; + return (MapCache) cacheMap.computeIfAbsent(name, k -> new MapCache()); } //~--- fields --------------------------------------------------------------- From b73040771af59452c54f544cf93d7184e701ec41 Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 17:11:32 +0200 Subject: [PATCH 13/27] refactor: replace statement lambda with expression lambda --- .../sonia/scm/security/JwtAccessTokenBuilderFactory.java | 9 ++++----- .../scm/repository/DefaultRepositoryManagerTest.java | 4 +--- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/scm-webapp/src/main/java/sonia/scm/security/JwtAccessTokenBuilderFactory.java b/scm-webapp/src/main/java/sonia/scm/security/JwtAccessTokenBuilderFactory.java index 63c4ea981c..5998ff9fc4 100644 --- a/scm-webapp/src/main/java/sonia/scm/security/JwtAccessTokenBuilderFactory.java +++ b/scm-webapp/src/main/java/sonia/scm/security/JwtAccessTokenBuilderFactory.java @@ -30,10 +30,11 @@ */ package sonia.scm.security; -import java.util.Set; -import javax.inject.Inject; import sonia.scm.plugin.Extension; +import javax.inject.Inject; +import java.util.Set; + /** * Jwt implementation of {@link AccessTokenBuilderFactory}. * @@ -61,9 +62,7 @@ public final class JwtAccessTokenBuilderFactory implements AccessTokenBuilderFac JwtAccessTokenBuilder builder = new JwtAccessTokenBuilder(keyGenerator, keyResolver); // enrich access token builder - enrichers.forEach((enricher) -> { - enricher.enrich(builder); - }); + enrichers.forEach((enricher) -> enricher.enrich(builder)); return builder; } diff --git a/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java b/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java index 8c60e45b04..5b7c3f2ae7 100644 --- a/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java +++ b/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java @@ -293,9 +293,7 @@ public class DefaultRepositoryManagerTest extends ManagerTestBase { - return keys.pop(); - }); + when(keyGenerator.createKey()).then((InvocationOnMock invocation) -> keys.pop()); // create repository manager RepositoryManager repositoryManager = createRepositoryManager(false, keyGenerator); From 0cff0e7e7a5af35687ca10312d6f79fa06da4022 Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 17:12:41 +0200 Subject: [PATCH 14/27] refactor: remove explicit type arguments --- .../src/main/java/sonia/scm/cli/App.java | 2 +- .../scm/cli/cmd/CreateGroupSubCommand.java | 2 +- .../cli/cmd/CreateRepositorySubCommand.java | 2 +- .../scm/cli/cmd/CreateUserSubCommand.java | 2 +- .../sonia/scm/cli/cmd/GetGroupSubCommand.java | 2 +- .../scm/cli/cmd/GetRepositorySubCommand.java | 2 +- .../sonia/scm/cli/cmd/GetUserSubCommand.java | 2 +- .../scm/cli/cmd/ListGroupsSubCommand.java | 2 +- .../cli/cmd/ListRepositoriesSubCommand.java | 2 +- .../scm/cli/cmd/ListUsersSubCommand.java | 2 +- .../sonia/scm/cli/cmd/MembersSubCommand.java | 2 +- .../scm/cli/cmd/ModifyGroupSubCommand.java | 2 +- .../cli/cmd/ModifyRepositorySubCommand.java | 2 +- .../scm/cli/cmd/ModifyUserSubCommand.java | 2 +- .../scm/cli/cmd/PermissionSubCommand.java | 4 ++-- .../sonia/scm/cli/cmd/SubCommandHandler.java | 4 ++-- .../sonia/scm/cli/config/ScmClientConfig.java | 2 +- .../scm/cli/config/XmlConfigAdapter.java | 4 ++-- .../sonia/scm/cli/wrapper/WrapperUtil.java | 6 +++--- .../client/JerseyClientRepositoryBrowser.java | 2 +- .../java/sonia/scm/collect/IterableQueue.java | 2 +- .../sonia/scm/collect/LimitedSortedSet.java | 2 +- .../scm/io/AbstractResourceProcessor.java | 2 +- .../java/sonia/scm/io/INIConfiguration.java | 2 +- .../main/java/sonia/scm/io/INISection.java | 2 +- .../java/sonia/scm/plugin/PluginCenter.java | 4 ++-- .../sonia/scm/plugin/PluginCondition.java | 2 +- .../sonia/scm/plugin/PluginInformation.java | 2 +- .../repository/AbstractRepositoryHandler.java | 2 +- .../java/sonia/scm/repository/Changeset.java | 6 +++--- .../scm/repository/PreProcessorUtil.java | 20 +++++++++---------- .../sonia/scm/repository/RepositoryUtil.java | 4 ++-- .../java/sonia/scm/search/SearchUtil.java | 2 +- .../src/main/java/sonia/scm/util/IOUtil.java | 2 +- .../java/sonia/scm/util/LinkTextParser.java | 2 +- .../main/java/sonia/scm/util/ServiceUtil.java | 2 +- .../src/main/java/sonia/scm/util/Util.java | 4 ++-- .../main/java/sonia/scm/web/cgi/EnvList.java | 4 ++-- .../filter/BufferedHttpServletResponse.java | 4 ++-- .../sonia/scm/xml/XmlMapStringAdapter.java | 2 +- .../sonia/scm/xml/XmlSetStringAdapter.java | 2 +- .../sonia/scm/collect/IterableQueueTest.java | 12 +++++------ .../template/TemplateEngineFactoryTest.java | 2 +- .../scm/url/WUIModelUrlProviderTest.java | 2 +- .../sonia/scm/group/xml/XmlGroupDatabase.java | 2 +- .../sonia/scm/group/xml/XmlGroupList.java | 2 +- .../scm/group/xml/XmlGroupMapAdapter.java | 2 +- .../repository/xml/XmlRepositoryDatabase.java | 3 +-- .../scm/repository/xml/XmlRepositoryList.java | 2 +- .../xml/XmlRepositoryMapAdapter.java | 3 +-- .../store/JAXBConfigurationEntryStore.java | 4 ++-- .../JAXBConfigurationEntryStoreFactory.java | 6 +++--- .../sonia/scm/user/xml/XmlUserDatabase.java | 2 +- .../java/sonia/scm/user/xml/XmlUserList.java | 2 +- .../sonia/scm/user/xml/XmlUserMapAdapter.java | 2 +- .../scm/repository/GitChangesetConverter.java | 2 +- .../scm/repository/GitSubModuleParser.java | 3 +-- .../scm/repository/spi/GitBlameCommand.java | 2 +- .../sonia/scm/installer/HgPackageReader.java | 4 ++-- .../scm/installer/WindowsHgInstaller.java | 2 +- .../scm/repository/AbstractHgHandler.java | 6 +++--- .../scm/repository/spi/HgLogCommand.java | 2 +- .../sonia/scm/user/UserManagerTestBase.java | 2 +- .../scm/api/rest/UriExtensionsConfig.java | 2 +- .../resources/RepositoryImportResource.java | 6 +++--- .../rest/resources/RepositoryResource.java | 2 +- .../api/rest/resources/SearchResource.java | 6 +++--- .../sonia/scm/cache/GuavaCacheManager.java | 2 +- .../scm/plugin/MultiParentClassLoader.java | 2 +- .../sonia/scm/plugin/UberClassLoader.java | 2 +- .../java/sonia/scm/template/ErrorServlet.java | 2 +- .../sonia/scm/template/TemplateServlet.java | 2 +- .../sonia/scm/it/GetRepositoriesITCase.java | 2 +- .../test/java/sonia/scm/it/GroupITCase.java | 4 ++-- .../scm/it/RepositoryTypeITCaseBase.java | 2 +- .../ahc/DefaultAdvancedHttpClientTest.java | 2 +- .../DefaultUberWebResourceLoaderTest.java | 4 ++-- .../java/sonia/scm/plugin/PluginTreeTest.java | 2 +- 78 files changed, 116 insertions(+), 119 deletions(-) diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/App.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/App.java index ca8737101c..5bf070258e 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/App.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/App.java @@ -288,7 +288,7 @@ public class App /** Field description */ @Argument(index = 1, metaVar = "arg") - private List arguments = new ArrayList(); + private List arguments = new ArrayList<>(); /** Field description */ private BufferedReader input; diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/CreateGroupSubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/CreateGroupSubCommand.java index a64a273253..5fba296532 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/CreateGroupSubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/CreateGroupSubCommand.java @@ -169,7 +169,7 @@ public class CreateGroupSubCommand extends TemplateSubCommand session.getGroupHandler().create(group); - Map env = new HashMap(); + Map env = new HashMap<>(); env.put("group", new GroupWrapper(group)); renderTemplate(env, GetGroupSubCommand.TEMPLATE); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/CreateRepositorySubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/CreateRepositorySubCommand.java index 52828eba25..a0d675e2be 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/CreateRepositorySubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/CreateRepositorySubCommand.java @@ -168,7 +168,7 @@ public class CreateRepositorySubCommand extends TemplateSubCommand session.getRepositoryHandler().create(repository); - Map env = new HashMap(); + Map env = new HashMap<>(); env.put("repository", new RepositoryWrapper(config, repository)); renderTemplate(env, GetRepositorySubCommand.TEMPLATE); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/CreateUserSubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/CreateUserSubCommand.java index c6a72d4ce8..805c05d83b 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/CreateUserSubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/CreateUserSubCommand.java @@ -214,7 +214,7 @@ public class CreateUserSubCommand extends TemplateSubCommand session.getUserHandler().create(user); - Map env = new HashMap(); + Map env = new HashMap<>(); env.put("user", new UserWrapper(user)); renderTemplate(env, GetUserSubCommand.TEMPLATE); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/GetGroupSubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/GetGroupSubCommand.java index 5d823217e1..9bb02a4703 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/GetGroupSubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/GetGroupSubCommand.java @@ -102,7 +102,7 @@ public class GetGroupSubCommand extends TemplateSubCommand if (group != null) { - Map env = new HashMap(); + Map env = new HashMap<>(); env.put("group", new GroupWrapper(group)); renderTemplate(env, TEMPLATE); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/GetRepositorySubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/GetRepositorySubCommand.java index 2e8227fa60..5dd27db525 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/GetRepositorySubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/GetRepositorySubCommand.java @@ -117,7 +117,7 @@ public class GetRepositorySubCommand extends TemplateSubCommand if (repository != null) { - Map env = new HashMap(); + Map env = new HashMap<>(); env.put("repository", new RepositoryWrapper(config, repository)); renderTemplate(env, TEMPLATE); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/GetUserSubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/GetUserSubCommand.java index 60d70349cb..2356d6323a 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/GetUserSubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/GetUserSubCommand.java @@ -102,7 +102,7 @@ public class GetUserSubCommand extends TemplateSubCommand if (user != null) { - Map env = new HashMap(); + Map env = new HashMap<>(); env.put("user", new UserWrapper(user)); renderTemplate(env, TEMPLATE); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ListGroupsSubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ListGroupsSubCommand.java index 968e574ca6..80b9428f6b 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ListGroupsSubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ListGroupsSubCommand.java @@ -71,7 +71,7 @@ public class ListGroupsSubCommand extends TemplateSubCommand { ScmClientSession session = createSession(); List groups = session.getGroupHandler().getAll(); - Map env = new HashMap(); + Map env = new HashMap<>(); env.put("groups", WrapperUtil.wrapGroups(groups)); renderTemplate(env, TEMPLATE); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ListRepositoriesSubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ListRepositoriesSubCommand.java index 2235781791..f876d2a878 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ListRepositoriesSubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ListRepositoriesSubCommand.java @@ -72,7 +72,7 @@ public class ListRepositoriesSubCommand extends TemplateSubCommand { ScmClientSession session = createSession(); List repositories = session.getRepositoryHandler().getAll(); - Map env = new HashMap(); + Map env = new HashMap<>(); env.put("repositories", WrapperUtil.wrapRepositories(config, repositories)); renderTemplate(env, TEMPLATE); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ListUsersSubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ListUsersSubCommand.java index 58da1fc2f3..9f17f59160 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ListUsersSubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ListUsersSubCommand.java @@ -71,7 +71,7 @@ public class ListUsersSubCommand extends TemplateSubCommand { ScmClientSession session = createSession(); List users = session.getUserHandler().getAll(); - Map env = new HashMap(); + Map env = new HashMap<>(); env.put("users", WrapperUtil.wrapUsers(users)); renderTemplate(env, TEMPLATE); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/MembersSubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/MembersSubCommand.java index 279b0602ec..490a239cd3 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/MembersSubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/MembersSubCommand.java @@ -132,7 +132,7 @@ public abstract class MembersSubCommand extends TemplateSubCommand modifyMembers(group, members); handler.modify(group); - Map env = new HashMap(); + Map env = new HashMap<>(); env.put("group", new GroupWrapper(group)); renderTemplate(env, GetGroupSubCommand.TEMPLATE); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ModifyGroupSubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ModifyGroupSubCommand.java index 244f40f114..6cb151e22d 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ModifyGroupSubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ModifyGroupSubCommand.java @@ -108,7 +108,7 @@ public class ModifyGroupSubCommand extends TemplateSubCommand handler.modify(group); - Map env = new HashMap(); + Map env = new HashMap<>(); env.put("group", new GroupWrapper(group)); renderTemplate(env, GetGroupSubCommand.TEMPLATE); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ModifyRepositorySubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ModifyRepositorySubCommand.java index 5ec4c59519..b0d64242d0 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ModifyRepositorySubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ModifyRepositorySubCommand.java @@ -212,7 +212,7 @@ public class ModifyRepositorySubCommand extends TemplateSubCommand handler.modify(repository); - Map env = new HashMap(); + Map env = new HashMap<>(); env.put("repository", new RepositoryWrapper(config, repository)); renderTemplate(env, GetRepositorySubCommand.TEMPLATE); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ModifyUserSubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ModifyUserSubCommand.java index 613b07d552..63a25d5d07 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ModifyUserSubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/ModifyUserSubCommand.java @@ -184,7 +184,7 @@ public class ModifyUserSubCommand extends TemplateSubCommand handler.modify(user); - Map env = new HashMap(); + Map env = new HashMap<>(); env.put("user", new UserWrapper(user)); renderTemplate(env, GetUserSubCommand.TEMPLATE); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/PermissionSubCommand.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/PermissionSubCommand.java index a6b5eba2f5..d40c50c38a 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/PermissionSubCommand.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/PermissionSubCommand.java @@ -111,14 +111,14 @@ public abstract class PermissionSubCommand extends TemplateSubCommand if (permissions == null) { - permissions = new ArrayList(); + permissions = new ArrayList<>(); } modifyPermissions(permissions); repository.setPermissions(permissions); handler.modify(repository); - Map env = new HashMap(); + Map env = new HashMap<>(); env.put("repository", new RepositoryWrapper(config, repository)); renderTemplate(env, GetRepositorySubCommand.TEMPLATE); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/SubCommandHandler.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/SubCommandHandler.java index 3f8e1f74fb..36f39d470c 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/SubCommandHandler.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/cmd/SubCommandHandler.java @@ -83,7 +83,7 @@ public class SubCommandHandler */ private SubCommandHandler() { - subCommands = new HashMap(); + subCommands = new HashMap<>(); loadSubCommands(); } @@ -133,7 +133,7 @@ public class SubCommandHandler public List getDescriptors() { List descs = - new ArrayList(subCommands.values()); + new ArrayList<>(subCommands.values()); Collections.sort(descs); diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/ScmClientConfig.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/ScmClientConfig.java index 281a0f8c3b..68c50731b7 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/ScmClientConfig.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/ScmClientConfig.java @@ -63,7 +63,7 @@ public class ScmClientConfig */ private ScmClientConfig() { - this.serverConfigMap = new HashMap(); + this.serverConfigMap = new HashMap<>(); } //~--- get methods ---------------------------------------------------------- diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/XmlConfigAdapter.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/XmlConfigAdapter.java index fcf109d879..c7471cf601 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/XmlConfigAdapter.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/config/XmlConfigAdapter.java @@ -63,7 +63,7 @@ public class XmlConfigAdapter @Override public XmlConfigSet marshal(Map map) throws Exception { - Set set = new HashSet(); + Set set = new HashSet<>(); for (Map.Entry e : map.entrySet()) { @@ -86,7 +86,7 @@ public class XmlConfigAdapter @Override public Map unmarshal(XmlConfigSet set) throws Exception { - Map map = new HashMap(); + Map map = new HashMap<>(); for (XmlConfigElement e : set) { diff --git a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/wrapper/WrapperUtil.java b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/wrapper/WrapperUtil.java index 0c87424fe6..466cf55019 100644 --- a/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/wrapper/WrapperUtil.java +++ b/scm-clients/scm-cli-client/src/main/java/sonia/scm/cli/wrapper/WrapperUtil.java @@ -71,7 +71,7 @@ public final class WrapperUtil */ public static List wrapGroups(Collection groups) { - List wrappers = new ArrayList(); + List wrappers = new ArrayList<>(); for (Group g : groups) { @@ -95,7 +95,7 @@ public final class WrapperUtil public static List wrapRepositories(ServerConfig config, Collection repositories) { - List wrappers = new ArrayList(); + List wrappers = new ArrayList<>(); for (Repository r : repositories) { @@ -115,7 +115,7 @@ public final class WrapperUtil */ public static List wrapUsers(Collection users) { - List wrappers = new ArrayList(); + List wrappers = new ArrayList<>(); for (User u : users) { diff --git a/scm-clients/scm-client-impl/src/main/java/sonia/scm/client/JerseyClientRepositoryBrowser.java b/scm-clients/scm-client-impl/src/main/java/sonia/scm/client/JerseyClientRepositoryBrowser.java index 571c30f7db..1b68cdc63d 100644 --- a/scm-clients/scm-client-impl/src/main/java/sonia/scm/client/JerseyClientRepositoryBrowser.java +++ b/scm-clients/scm-client-impl/src/main/java/sonia/scm/client/JerseyClientRepositoryBrowser.java @@ -187,7 +187,7 @@ public class JerseyClientRepositoryBrowser implements ClientRepositoryBrowser BrowserResult result = response.getEntity(BrowserResult.class); AssertUtil.assertIsNotNull(result); - files = new ArrayList(); + files = new ArrayList<>(); List foList = result.getFiles(); diff --git a/scm-core/src/main/java/sonia/scm/collect/IterableQueue.java b/scm-core/src/main/java/sonia/scm/collect/IterableQueue.java index 9d3c85bb90..6b6af9fd0f 100644 --- a/scm-core/src/main/java/sonia/scm/collect/IterableQueue.java +++ b/scm-core/src/main/java/sonia/scm/collect/IterableQueue.java @@ -134,7 +134,7 @@ public final class IterableQueue implements Iterable else { logger.trace("create queue iterator"); - iterator = new QueueIterator(this); + iterator = new QueueIterator<>(this); } return iterator; diff --git a/scm-core/src/main/java/sonia/scm/collect/LimitedSortedSet.java b/scm-core/src/main/java/sonia/scm/collect/LimitedSortedSet.java index fe99ee7a1c..681b8ef07c 100644 --- a/scm-core/src/main/java/sonia/scm/collect/LimitedSortedSet.java +++ b/scm-core/src/main/java/sonia/scm/collect/LimitedSortedSet.java @@ -63,7 +63,7 @@ public class LimitedSortedSet extends ForwardingSortedSet */ public LimitedSortedSet(int maxSize) { - this.sortedSet = new TreeSet(); + this.sortedSet = new TreeSet<>(); this.maxSize = maxSize; } diff --git a/scm-core/src/main/java/sonia/scm/io/AbstractResourceProcessor.java b/scm-core/src/main/java/sonia/scm/io/AbstractResourceProcessor.java index 8b5c1d1dd7..6c00a319c9 100644 --- a/scm-core/src/main/java/sonia/scm/io/AbstractResourceProcessor.java +++ b/scm-core/src/main/java/sonia/scm/io/AbstractResourceProcessor.java @@ -183,5 +183,5 @@ public abstract class AbstractResourceProcessor implements ResourceProcessor //~--- fields --------------------------------------------------------------- /** Field description */ - private Map variableMap = new HashMap(); + private Map variableMap = new HashMap<>(); } diff --git a/scm-core/src/main/java/sonia/scm/io/INIConfiguration.java b/scm-core/src/main/java/sonia/scm/io/INIConfiguration.java index 9f3cce03f6..c9695b7ca6 100644 --- a/scm-core/src/main/java/sonia/scm/io/INIConfiguration.java +++ b/scm-core/src/main/java/sonia/scm/io/INIConfiguration.java @@ -52,7 +52,7 @@ public class INIConfiguration */ public INIConfiguration() { - this.sectionMap = new LinkedHashMap(); + this.sectionMap = new LinkedHashMap<>(); } //~--- methods -------------------------------------------------------------- diff --git a/scm-core/src/main/java/sonia/scm/io/INISection.java b/scm-core/src/main/java/sonia/scm/io/INISection.java index 03768a84ca..0ce6ea6bcf 100644 --- a/scm-core/src/main/java/sonia/scm/io/INISection.java +++ b/scm-core/src/main/java/sonia/scm/io/INISection.java @@ -55,7 +55,7 @@ public class INISection public INISection(String name) { this.name = name; - this.parameters = new LinkedHashMap(); + this.parameters = new LinkedHashMap<>(); } /** diff --git a/scm-core/src/main/java/sonia/scm/plugin/PluginCenter.java b/scm-core/src/main/java/sonia/scm/plugin/PluginCenter.java index e1598e0490..e4de29eb26 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/PluginCenter.java +++ b/scm-core/src/main/java/sonia/scm/plugin/PluginCenter.java @@ -111,10 +111,10 @@ public class PluginCenter implements Serializable /** Field description */ @XmlElement(name = "plugin") @XmlElementWrapper(name = "plugins") - private Set plugins = new HashSet(); + private Set plugins = new HashSet<>(); /** Field description */ @XmlElement(name = "repository") @XmlElementWrapper(name = "repositories") - private Set repositories = new HashSet(); + private Set repositories = new HashSet<>(); } diff --git a/scm-core/src/main/java/sonia/scm/plugin/PluginCondition.java b/scm-core/src/main/java/sonia/scm/plugin/PluginCondition.java index 8f9ce89185..2a5dfcee8c 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/PluginCondition.java +++ b/scm-core/src/main/java/sonia/scm/plugin/PluginCondition.java @@ -101,7 +101,7 @@ public class PluginCondition implements Cloneable, Serializable if (Util.isNotEmpty(os)) { - clone.setOs(new ArrayList(os)); + clone.setOs(new ArrayList<>(os)); } return clone; diff --git a/scm-core/src/main/java/sonia/scm/plugin/PluginInformation.java b/scm-core/src/main/java/sonia/scm/plugin/PluginInformation.java index 1cf23fd3d9..4fffdd8572 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/PluginInformation.java +++ b/scm-core/src/main/java/sonia/scm/plugin/PluginInformation.java @@ -106,7 +106,7 @@ public class PluginInformation if (Util.isNotEmpty(screenshots)) { - clone.setScreenshots(new ArrayList(screenshots)); + clone.setScreenshots(new ArrayList<>(screenshots)); } clone.setState(state); diff --git a/scm-core/src/main/java/sonia/scm/repository/AbstractRepositoryHandler.java b/scm-core/src/main/java/sonia/scm/repository/AbstractRepositoryHandler.java index a327b50dae..5ad5d0f9ca 100644 --- a/scm-core/src/main/java/sonia/scm/repository/AbstractRepositoryHandler.java +++ b/scm-core/src/main/java/sonia/scm/repository/AbstractRepositoryHandler.java @@ -209,7 +209,7 @@ public abstract class AbstractRepositoryHandler(config)); + new RepositoryHandlerConfigChangedEvent<>(config)); } //~--- fields --------------------------------------------------------------- diff --git a/scm-core/src/main/java/sonia/scm/repository/Changeset.java b/scm-core/src/main/java/sonia/scm/repository/Changeset.java index fecfd74cc9..ce3fb5424b 100644 --- a/scm-core/src/main/java/sonia/scm/repository/Changeset.java +++ b/scm-core/src/main/java/sonia/scm/repository/Changeset.java @@ -220,7 +220,7 @@ public class Changeset extends BasicPropertiesAware { if (branches == null) { - branches = new ArrayList(); + branches = new ArrayList<>(); } return branches; @@ -286,7 +286,7 @@ public class Changeset extends BasicPropertiesAware { if (parents == null) { - parents = new ArrayList(); + parents = new ArrayList<>(); } return parents; @@ -302,7 +302,7 @@ public class Changeset extends BasicPropertiesAware { if (tags == null) { - tags = new ArrayList(); + tags = new ArrayList<>(); } return tags; diff --git a/scm-core/src/main/java/sonia/scm/repository/PreProcessorUtil.java b/scm-core/src/main/java/sonia/scm/repository/PreProcessorUtil.java index b44da13ad1..72e4ed7d63 100644 --- a/scm-core/src/main/java/sonia/scm/repository/PreProcessorUtil.java +++ b/scm-core/src/main/java/sonia/scm/repository/PreProcessorUtil.java @@ -110,8 +110,8 @@ public class PreProcessorUtil EscapeUtil.escape(blameLine); PreProcessorHandler handler = - new PreProcessorHandler(blameLinePreProcessorFactorySet, - blameLinePreProcessorSet, repository); + new PreProcessorHandler<>(blameLinePreProcessorFactorySet, + blameLinePreProcessorSet, repository); handler.callPreProcessors(blameLine); handler.callPreProcessorFactories(blameLine); @@ -154,8 +154,8 @@ public class PreProcessorUtil } PreProcessorHandler handler = - new PreProcessorHandler(blameLinePreProcessorFactorySet, - blameLinePreProcessorSet, repository); + new PreProcessorHandler<>(blameLinePreProcessorFactorySet, + blameLinePreProcessorSet, repository); handler.callPreProcessors(blameResult.getBlameLines()); handler.callPreProcessorFactories(blameResult.getBlameLines()); @@ -198,8 +198,8 @@ public class PreProcessorUtil } PreProcessorHandler handler = - new PreProcessorHandler(changesetPreProcessorFactorySet, - changesetPreProcessorSet, repository); + new PreProcessorHandler<>(changesetPreProcessorFactorySet, + changesetPreProcessorSet, repository); handler.callPreProcessors(changeset); handler.callPreProcessorFactories(changeset); @@ -242,8 +242,8 @@ public class PreProcessorUtil } PreProcessorHandler handler = - new PreProcessorHandler(fileObjectPreProcessorFactorySet, - fileObjectPreProcessorSet, repository); + new PreProcessorHandler<>(fileObjectPreProcessorFactorySet, + fileObjectPreProcessorSet, repository); handler.callPreProcessors(result); handler.callPreProcessorFactories(result); @@ -274,8 +274,8 @@ public class PreProcessorUtil } PreProcessorHandler handler = - new PreProcessorHandler(changesetPreProcessorFactorySet, - changesetPreProcessorSet, repository); + new PreProcessorHandler<>(changesetPreProcessorFactorySet, + changesetPreProcessorSet, repository); handler.callPreProcessors(result); handler.callPreProcessorFactories(result); diff --git a/scm-core/src/main/java/sonia/scm/repository/RepositoryUtil.java b/scm-core/src/main/java/sonia/scm/repository/RepositoryUtil.java index e271992248..fd955d27b7 100644 --- a/scm-core/src/main/java/sonia/scm/repository/RepositoryUtil.java +++ b/scm-core/src/main/java/sonia/scm/repository/RepositoryUtil.java @@ -85,7 +85,7 @@ public final class RepositoryUtil public static List searchRepositoryDirectories(File directory, String... names) { - List repositories = new ArrayList(); + List repositories = new ArrayList<>(); searchRepositoryDirectories(repositories, directory, Arrays.asList(names)); @@ -253,7 +253,7 @@ public final class RepositoryUtil String... directoryNames) throws IOException { - List repositories = new ArrayList(); + List repositories = new ArrayList<>(); List repositoryFiles = searchRepositoryDirectories(baseDirectory, directoryNames); diff --git a/scm-core/src/main/java/sonia/scm/search/SearchUtil.java b/scm-core/src/main/java/sonia/scm/search/SearchUtil.java index dc18e6bd27..10ce9ed1d1 100644 --- a/scm-core/src/main/java/sonia/scm/search/SearchUtil.java +++ b/scm-core/src/main/java/sonia/scm/search/SearchUtil.java @@ -160,7 +160,7 @@ public final class SearchUtil public static Collection search(SearchRequest searchRequest, Collection collection, TransformFilter filter) { - List items = new ArrayList(); + List items = new ArrayList<>(); int index = 0; int counter = 0; diff --git a/scm-core/src/main/java/sonia/scm/util/IOUtil.java b/scm-core/src/main/java/sonia/scm/util/IOUtil.java index d71f8a36fc..51c67b0b7d 100644 --- a/scm-core/src/main/java/sonia/scm/util/IOUtil.java +++ b/scm-core/src/main/java/sonia/scm/util/IOUtil.java @@ -592,7 +592,7 @@ public final class IOUtil public static List searchAll(String[] path, String cmd, String checkParameter) { - List cmds = new ArrayList(); + List cmds = new ArrayList<>(); if (isCommandAvailable(cmd, checkParameter)) { diff --git a/scm-core/src/main/java/sonia/scm/util/LinkTextParser.java b/scm-core/src/main/java/sonia/scm/util/LinkTextParser.java index 2037beeeff..67ca800bcb 100644 --- a/scm-core/src/main/java/sonia/scm/util/LinkTextParser.java +++ b/scm-core/src/main/java/sonia/scm/util/LinkTextParser.java @@ -79,7 +79,7 @@ public final class LinkTextParser public static String parseText(String content) { Matcher m = REGEX_URL.matcher(content); - List tokens = new ArrayList(); + List tokens = new ArrayList<>(); int position = 0; String tokenContent = null; diff --git a/scm-core/src/main/java/sonia/scm/util/ServiceUtil.java b/scm-core/src/main/java/sonia/scm/util/ServiceUtil.java index 138345bb05..04bdfb6dea 100644 --- a/scm-core/src/main/java/sonia/scm/util/ServiceUtil.java +++ b/scm-core/src/main/java/sonia/scm/util/ServiceUtil.java @@ -119,7 +119,7 @@ public final class ServiceUtil */ public static List getServices(Class type) { - List result = new ArrayList(); + List result = new ArrayList<>(); try { diff --git a/scm-core/src/main/java/sonia/scm/util/Util.java b/scm-core/src/main/java/sonia/scm/util/Util.java index d17219bfa2..cb64b75aff 100644 --- a/scm-core/src/main/java/sonia/scm/util/Util.java +++ b/scm-core/src/main/java/sonia/scm/util/Util.java @@ -262,8 +262,8 @@ public final class Util Comparator comparator, CollectionAppender appender, int start, int limit) { - List result = new ArrayList(); - List valueList = new ArrayList(values); + List result = new ArrayList<>(); + List valueList = new ArrayList<>(values); if (comparator != null) { diff --git a/scm-core/src/main/java/sonia/scm/web/cgi/EnvList.java b/scm-core/src/main/java/sonia/scm/web/cgi/EnvList.java index 796d6125d8..541ae9ba23 100644 --- a/scm-core/src/main/java/sonia/scm/web/cgi/EnvList.java +++ b/scm-core/src/main/java/sonia/scm/web/cgi/EnvList.java @@ -66,7 +66,7 @@ public class EnvList */ public EnvList() { - envMap = new HashMap(); + envMap = new HashMap<>(); } /** @@ -77,7 +77,7 @@ public class EnvList */ public EnvList(EnvList l) { - envMap = new HashMap(l.envMap); + envMap = new HashMap<>(l.envMap); } //~--- methods -------------------------------------------------------------- diff --git a/scm-core/src/main/java/sonia/scm/web/filter/BufferedHttpServletResponse.java b/scm-core/src/main/java/sonia/scm/web/filter/BufferedHttpServletResponse.java index b91f2b62c9..ff174c4fe8 100644 --- a/scm-core/src/main/java/sonia/scm/web/filter/BufferedHttpServletResponse.java +++ b/scm-core/src/main/java/sonia/scm/web/filter/BufferedHttpServletResponse.java @@ -470,13 +470,13 @@ public class BufferedHttpServletResponse extends HttpServletResponseWrapper private ByteArrayPrintWriter pw = null; /** Field description */ - private Set cookies = new HashSet(); + private Set cookies = new HashSet<>(); /** Field description */ private int statusCode = HttpServletResponse.SC_OK; /** Field description */ - private Map headers = new LinkedHashMap(); + private Map headers = new LinkedHashMap<>(); /** Field description */ private String statusMessage; diff --git a/scm-core/src/main/java/sonia/scm/xml/XmlMapStringAdapter.java b/scm-core/src/main/java/sonia/scm/xml/XmlMapStringAdapter.java index ab6cd83ccc..04d04fae60 100644 --- a/scm-core/src/main/java/sonia/scm/xml/XmlMapStringAdapter.java +++ b/scm-core/src/main/java/sonia/scm/xml/XmlMapStringAdapter.java @@ -102,7 +102,7 @@ public class XmlMapStringAdapter public Map unmarshal(XmlMapStringElement[] elements) throws Exception { - Map map = new HashMap(); + Map map = new HashMap<>(); if (elements != null) { diff --git a/scm-core/src/main/java/sonia/scm/xml/XmlSetStringAdapter.java b/scm-core/src/main/java/sonia/scm/xml/XmlSetStringAdapter.java index 708159bfac..8d088aa205 100644 --- a/scm-core/src/main/java/sonia/scm/xml/XmlSetStringAdapter.java +++ b/scm-core/src/main/java/sonia/scm/xml/XmlSetStringAdapter.java @@ -90,7 +90,7 @@ public class XmlSetStringAdapter extends XmlAdapter> @Override public Set unmarshal(String rawString) throws Exception { - Set tokens = new HashSet(); + Set tokens = new HashSet<>(); for (String token : rawString.split(",")) { diff --git a/scm-core/src/test/java/sonia/scm/collect/IterableQueueTest.java b/scm-core/src/test/java/sonia/scm/collect/IterableQueueTest.java index ade4f3247b..130924fcd4 100644 --- a/scm-core/src/test/java/sonia/scm/collect/IterableQueueTest.java +++ b/scm-core/src/test/java/sonia/scm/collect/IterableQueueTest.java @@ -63,7 +63,7 @@ public class IterableQueueTest @Test(expected = IllegalStateException.class) public void testDuplicatedEndReached() { - IterableQueue queue = new IterableQueue(); + IterableQueue queue = new IterableQueue<>(); queue.endReached(); queue.endReached(); @@ -76,7 +76,7 @@ public class IterableQueueTest @Test public void testIterator() { - IterableQueue queue = new IterableQueue(); + IterableQueue queue = new IterableQueue<>(); assertEquals(QueueIterator.class, queue.iterator().getClass()); queue.endReached(); @@ -120,7 +120,7 @@ public class IterableQueueTest @Test(expected = IllegalStateException.class) public void testPushEndReached() { - IterableQueue queue = new IterableQueue(); + IterableQueue queue = new IterableQueue<>(); queue.push("a"); queue.endReached(); @@ -134,7 +134,7 @@ public class IterableQueueTest @Test public void testSingleConsumer() { - final IterableQueue queue = new IterableQueue(); + final IterableQueue queue = new IterableQueue<>(); new Thread(new IntegerProducer(queue, false, 100)).start(); assertResult(Lists.newArrayList(queue), 100); @@ -176,12 +176,12 @@ public class IterableQueueTest ExecutorService executor = Executors.newFixedThreadPool(threads); List>> futures = Lists.newArrayList(); - final IterableQueue queue = new IterableQueue(); + final IterableQueue queue = new IterableQueue<>(); for (int i = 0; i < consumer; i++) { Future> future = - executor.submit(new CallableQueueCollector(queue)); + executor.submit(new CallableQueueCollector<>(queue)); futures.add(future); } diff --git a/scm-core/src/test/java/sonia/scm/template/TemplateEngineFactoryTest.java b/scm-core/src/test/java/sonia/scm/template/TemplateEngineFactoryTest.java index b676b4bbaf..775f9f0814 100644 --- a/scm-core/src/test/java/sonia/scm/template/TemplateEngineFactoryTest.java +++ b/scm-core/src/test/java/sonia/scm/template/TemplateEngineFactoryTest.java @@ -128,7 +128,7 @@ public class TemplateEngineFactoryTest assertTrue(engines.contains(engine1)); assertTrue(engines.contains(engine2)); - Set ce = new HashSet(); + Set ce = new HashSet<>(); ce.add(engine1); factory = new TemplateEngineFactory(ce, engine2); diff --git a/scm-core/src/test/java/sonia/scm/url/WUIModelUrlProviderTest.java b/scm-core/src/test/java/sonia/scm/url/WUIModelUrlProviderTest.java index b6073a841a..24b2d6d11f 100644 --- a/scm-core/src/test/java/sonia/scm/url/WUIModelUrlProviderTest.java +++ b/scm-core/src/test/java/sonia/scm/url/WUIModelUrlProviderTest.java @@ -50,7 +50,7 @@ public class WUIModelUrlProviderTest extends ModelUrlProviderTestBase */ public WUIModelUrlProviderTest() { - modelMap = new HashMap(); + modelMap = new HashMap<>(); modelMap.put(MODEL_REPOSITORY, "repositoryPanel"); modelMap.put(MODEL_USERS, "userPanel"); modelMap.put(MODEL_GROUPS, "groupPanel"); diff --git a/scm-dao-xml/src/main/java/sonia/scm/group/xml/XmlGroupDatabase.java b/scm-dao-xml/src/main/java/sonia/scm/group/xml/XmlGroupDatabase.java index 431d53594a..e4d436283c 100644 --- a/scm-dao-xml/src/main/java/sonia/scm/group/xml/XmlGroupDatabase.java +++ b/scm-dao-xml/src/main/java/sonia/scm/group/xml/XmlGroupDatabase.java @@ -199,7 +199,7 @@ public class XmlGroupDatabase implements XmlDatabase /** Field description */ @XmlJavaTypeAdapter(XmlGroupMapAdapter.class) @XmlElement(name = "groups") - private Map groupMap = new LinkedHashMap(); + private Map groupMap = new LinkedHashMap<>(); /** Field description */ private Long lastModified; diff --git a/scm-dao-xml/src/main/java/sonia/scm/group/xml/XmlGroupList.java b/scm-dao-xml/src/main/java/sonia/scm/group/xml/XmlGroupList.java index da14968d30..c889944fc4 100644 --- a/scm-dao-xml/src/main/java/sonia/scm/group/xml/XmlGroupList.java +++ b/scm-dao-xml/src/main/java/sonia/scm/group/xml/XmlGroupList.java @@ -72,7 +72,7 @@ public class XmlGroupList implements Iterable */ public XmlGroupList(Map groupMap) { - this.groups = new LinkedList(groupMap.values()); + this.groups = new LinkedList<>(groupMap.values()); } //~--- methods -------------------------------------------------------------- diff --git a/scm-dao-xml/src/main/java/sonia/scm/group/xml/XmlGroupMapAdapter.java b/scm-dao-xml/src/main/java/sonia/scm/group/xml/XmlGroupMapAdapter.java index b79c8836d2..430d0a84a8 100644 --- a/scm-dao-xml/src/main/java/sonia/scm/group/xml/XmlGroupMapAdapter.java +++ b/scm-dao-xml/src/main/java/sonia/scm/group/xml/XmlGroupMapAdapter.java @@ -81,7 +81,7 @@ public class XmlGroupMapAdapter @Override public Map unmarshal(XmlGroupList groups) throws Exception { - Map groupMap = new LinkedHashMap(); + Map groupMap = new LinkedHashMap<>(); for (Group group : groups) { diff --git a/scm-dao-xml/src/main/java/sonia/scm/repository/xml/XmlRepositoryDatabase.java b/scm-dao-xml/src/main/java/sonia/scm/repository/xml/XmlRepositoryDatabase.java index a5c599c291..8f065a5ca2 100644 --- a/scm-dao-xml/src/main/java/sonia/scm/repository/xml/XmlRepositoryDatabase.java +++ b/scm-dao-xml/src/main/java/sonia/scm/repository/xml/XmlRepositoryDatabase.java @@ -298,6 +298,5 @@ public class XmlRepositoryDatabase implements XmlDatabase /** Field description */ @XmlJavaTypeAdapter(XmlRepositoryMapAdapter.class) @XmlElement(name = "repositories") - private Map repositoryMap = new LinkedHashMap(); + private Map repositoryMap = new LinkedHashMap<>(); } diff --git a/scm-dao-xml/src/main/java/sonia/scm/repository/xml/XmlRepositoryList.java b/scm-dao-xml/src/main/java/sonia/scm/repository/xml/XmlRepositoryList.java index d9807e9188..085d65476a 100644 --- a/scm-dao-xml/src/main/java/sonia/scm/repository/xml/XmlRepositoryList.java +++ b/scm-dao-xml/src/main/java/sonia/scm/repository/xml/XmlRepositoryList.java @@ -72,7 +72,7 @@ public class XmlRepositoryList implements Iterable */ public XmlRepositoryList(Map repositoryMap) { - this.repositories = new LinkedList(repositoryMap.values()); + this.repositories = new LinkedList<>(repositoryMap.values()); } //~--- methods -------------------------------------------------------------- diff --git a/scm-dao-xml/src/main/java/sonia/scm/repository/xml/XmlRepositoryMapAdapter.java b/scm-dao-xml/src/main/java/sonia/scm/repository/xml/XmlRepositoryMapAdapter.java index a90a2d4fa9..c31a0cd26d 100644 --- a/scm-dao-xml/src/main/java/sonia/scm/repository/xml/XmlRepositoryMapAdapter.java +++ b/scm-dao-xml/src/main/java/sonia/scm/repository/xml/XmlRepositoryMapAdapter.java @@ -83,8 +83,7 @@ public class XmlRepositoryMapAdapter public Map unmarshal(XmlRepositoryList repositories) throws Exception { - Map repositoryMap = new LinkedHashMap(); + Map repositoryMap = new LinkedHashMap<>(); for (Repository repository : repositories) { diff --git a/scm-dao-xml/src/main/java/sonia/scm/store/JAXBConfigurationEntryStore.java b/scm-dao-xml/src/main/java/sonia/scm/store/JAXBConfigurationEntryStore.java index 6a9098b545..f1f3040883 100644 --- a/scm-dao-xml/src/main/java/sonia/scm/store/JAXBConfigurationEntryStore.java +++ b/scm-dao-xml/src/main/java/sonia/scm/store/JAXBConfigurationEntryStore.java @@ -436,8 +436,8 @@ public class JAXBConfigurationEntryStore implements ConfigurationEntryStore je = new JAXBElement(QName.valueOf(TAG_VALUE), type, - e.getValue()); + JAXBElement je = new JAXBElement<>(QName.valueOf(TAG_VALUE), type, + e.getValue()); m.marshal(je, writer); diff --git a/scm-dao-xml/src/main/java/sonia/scm/store/JAXBConfigurationEntryStoreFactory.java b/scm-dao-xml/src/main/java/sonia/scm/store/JAXBConfigurationEntryStoreFactory.java index bf5dae720f..69ac5784cb 100644 --- a/scm-dao-xml/src/main/java/sonia/scm/store/JAXBConfigurationEntryStoreFactory.java +++ b/scm-dao-xml/src/main/java/sonia/scm/store/JAXBConfigurationEntryStoreFactory.java @@ -102,9 +102,9 @@ public class JAXBConfigurationEntryStoreFactory type, name); //J- - return new JAXBConfigurationEntryStore( - new File(directory,name.concat(StoreConstants.FILE_EXTENSION)), - keyGenerator, + return new JAXBConfigurationEntryStore<>( + new File(directory, name.concat(StoreConstants.FILE_EXTENSION)), + keyGenerator, type ); //J+ diff --git a/scm-dao-xml/src/main/java/sonia/scm/user/xml/XmlUserDatabase.java b/scm-dao-xml/src/main/java/sonia/scm/user/xml/XmlUserDatabase.java index 579856fce7..2306fd588b 100644 --- a/scm-dao-xml/src/main/java/sonia/scm/user/xml/XmlUserDatabase.java +++ b/scm-dao-xml/src/main/java/sonia/scm/user/xml/XmlUserDatabase.java @@ -202,5 +202,5 @@ public class XmlUserDatabase implements XmlDatabase /** Field description */ @XmlJavaTypeAdapter(XmlUserMapAdapter.class) @XmlElement(name = "users") - private Map userMap = new LinkedHashMap(); + private Map userMap = new LinkedHashMap<>(); } diff --git a/scm-dao-xml/src/main/java/sonia/scm/user/xml/XmlUserList.java b/scm-dao-xml/src/main/java/sonia/scm/user/xml/XmlUserList.java index e76f008b92..6877d8544e 100644 --- a/scm-dao-xml/src/main/java/sonia/scm/user/xml/XmlUserList.java +++ b/scm-dao-xml/src/main/java/sonia/scm/user/xml/XmlUserList.java @@ -72,7 +72,7 @@ public class XmlUserList implements Iterable */ public XmlUserList(Map userMap) { - this.users = new LinkedList(userMap.values()); + this.users = new LinkedList<>(userMap.values()); } //~--- methods -------------------------------------------------------------- diff --git a/scm-dao-xml/src/main/java/sonia/scm/user/xml/XmlUserMapAdapter.java b/scm-dao-xml/src/main/java/sonia/scm/user/xml/XmlUserMapAdapter.java index f5573310d5..0c2386f37c 100644 --- a/scm-dao-xml/src/main/java/sonia/scm/user/xml/XmlUserMapAdapter.java +++ b/scm-dao-xml/src/main/java/sonia/scm/user/xml/XmlUserMapAdapter.java @@ -81,7 +81,7 @@ public class XmlUserMapAdapter @Override public Map unmarshal(XmlUserList users) throws Exception { - Map userMap = new LinkedHashMap(); + Map userMap = new LinkedHashMap<>(); for (User user : users) { diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/GitChangesetConverter.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/GitChangesetConverter.java index a59e3b5754..4838f8ec23 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/GitChangesetConverter.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/GitChangesetConverter.java @@ -198,7 +198,7 @@ public class GitChangesetConverter implements Closeable if (Util.isNotEmpty(parents)) { - parentList = new ArrayList(); + parentList = new ArrayList<>(); for (RevCommit parent : parents) { diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/GitSubModuleParser.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/GitSubModuleParser.java index 7244a1f2bb..d5ed9cb500 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/GitSubModuleParser.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/GitSubModuleParser.java @@ -71,8 +71,7 @@ public final class GitSubModuleParser */ public static Map parse(String content) { - Map subRepositories = new HashMap(); + Map subRepositories = new HashMap<>(); Scanner scanner = new Scanner(content); SubRepository repository = null; diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBlameCommand.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBlameCommand.java index c797fd70eb..51f6974daa 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBlameCommand.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitBlameCommand.java @@ -137,7 +137,7 @@ public class GitBlameCommand extends AbstractGitCommand implements BlameCommand request.getPath())); } - List blameLines = new ArrayList(); + List blameLines = new ArrayList<>(); int total = gitBlameResult.getResultContents().size(); int i = 0; diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/installer/HgPackageReader.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/installer/HgPackageReader.java index d16f056889..cb09c32870 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/installer/HgPackageReader.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/installer/HgPackageReader.java @@ -145,7 +145,7 @@ public class HgPackageReader */ private void filterPackage(HgPackages packages) { - List pkgList = new ArrayList(); + List pkgList = new ArrayList<>(); for (HgPackage pkg : packages) { @@ -228,7 +228,7 @@ public class HgPackageReader if (packages == null) { packages = new HgPackages(); - packages.setPackages(new ArrayList()); + packages.setPackages(new ArrayList<>()); } return packages; diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/installer/WindowsHgInstaller.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/installer/WindowsHgInstaller.java index 19df6f43d6..528f6b941a 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/installer/WindowsHgInstaller.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/installer/WindowsHgInstaller.java @@ -282,7 +282,7 @@ public class WindowsHgInstaller extends AbstractHgInstaller */ private List getInstallations(String[] registryKeys) { - List installations = new ArrayList(); + List installations = new ArrayList<>(); for (String registryKey : registryKeys) { diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/AbstractHgHandler.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/AbstractHgHandler.java index 5f0e721594..1d54d0ad87 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/AbstractHgHandler.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/AbstractHgHandler.java @@ -174,7 +174,7 @@ public class AbstractHgHandler */ protected Process createHgProcess(String... args) throws IOException { - return createHgProcess(new HashMap(), args); + return createHgProcess(new HashMap<>(), args); } /** @@ -262,7 +262,7 @@ public class AbstractHgHandler throws IOException, RepositoryException { return getResultFromScript(resultType, script, - new HashMap()); + new HashMap<>()); } /** @@ -315,7 +315,7 @@ public class AbstractHgHandler throws IOException { HgConfig config = handler.getConfig(); - List cmdList = new ArrayList(); + List cmdList = new ArrayList<>(); cmdList.add(cmd); diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/HgLogCommand.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/HgLogCommand.java index af485d19df..6dbba81a16 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/HgLogCommand.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/spi/HgLogCommand.java @@ -168,7 +168,7 @@ public class HgLogCommand extends AbstractCommand implements LogCommand { // empty repository - result = new ChangesetPagingResult(0, new ArrayList()); + result = new ChangesetPagingResult(0, new ArrayList<>()); } } diff --git a/scm-test/src/main/java/sonia/scm/user/UserManagerTestBase.java b/scm-test/src/main/java/sonia/scm/user/UserManagerTestBase.java index 86b3de5615..054ef892ea 100644 --- a/scm-test/src/main/java/sonia/scm/user/UserManagerTestBase.java +++ b/scm-test/src/main/java/sonia/scm/user/UserManagerTestBase.java @@ -282,7 +282,7 @@ public abstract class UserManagerTestBase throws UserException, IOException, InterruptedException { int initialSize = manager.getAll().size(); - List testers = new ArrayList(); + List testers = new ArrayList<>(); for (int i = 0; i < THREAD_COUNT; i++) { diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/UriExtensionsConfig.java b/scm-webapp/src/main/java/sonia/scm/api/rest/UriExtensionsConfig.java index 637866ad61..d0b44a1ce1 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/UriExtensionsConfig.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/UriExtensionsConfig.java @@ -101,7 +101,7 @@ public class UriExtensionsConfig extends PackagesResourceConfig { if (mediaTypeMap == null) { - mediaTypeMap = new HashMap(); + mediaTypeMap = new HashMap<>(); mediaTypeMap.put(EXTENSION_JSON, MediaType.APPLICATION_JSON_TYPE); mediaTypeMap.put(EXTENSION_XML, MediaType.APPLICATION_XML_TYPE); } diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java index d6bb92d233..8b52d693ed 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java @@ -320,7 +320,7 @@ public class RepositoryImportResource { SecurityUtils.getSubject().checkRole(Role.ADMIN); - List repositories = new ArrayList(); + List repositories = new ArrayList<>(); importFromDirectory(repositories, type); @@ -354,7 +354,7 @@ public class RepositoryImportResource logger.info("start directory import for all supported repository types"); - List repositories = new ArrayList(); + List repositories = new ArrayList<>(); for (Type t : findImportableTypes()) { @@ -628,7 +628,7 @@ public class RepositoryImportResource */ private List findImportableTypes() { - List types = new ArrayList(); + List types = new ArrayList<>(); Collection handlerTypes = manager.getTypes(); for (Type t : handlerTypes) diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java index ad092911ee..1ae31fcebf 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java @@ -1028,7 +1028,7 @@ public class RepositoryResource extends AbstractManagerResource()); + repository.setPermissions(new ArrayList<>()); } } else diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java index b08a2aaace..4b05493d3a 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/SearchResource.java @@ -98,14 +98,14 @@ public class SearchResource // create user searchhandler Cache userCache = cacheManager.getCache(CACHE_USER); - this.userSearchHandler = new SearchHandler(userCache, userManager); + this.userSearchHandler = new SearchHandler<>(userCache, userManager); // create group searchhandler Cache groupCache = cacheManager.getCache(CACHE_GROUP); - this.groupSearchHandler = new SearchHandler(groupCache, - groupManager); + this.groupSearchHandler = new SearchHandler<>(groupCache, + groupManager); } //~--- methods -------------------------------------------------------------- diff --git a/scm-webapp/src/main/java/sonia/scm/cache/GuavaCacheManager.java b/scm-webapp/src/main/java/sonia/scm/cache/GuavaCacheManager.java index 43e86c762c..94abbc6e7e 100644 --- a/scm-webapp/src/main/java/sonia/scm/cache/GuavaCacheManager.java +++ b/scm-webapp/src/main/java/sonia/scm/cache/GuavaCacheManager.java @@ -140,7 +140,7 @@ public class GuavaCacheManager logger.debug( "cache {} does not exists, creating a new instance from default configuration: {}", name, defaultConfiguration); - cache = new GuavaCache(defaultConfiguration, name); + cache = new GuavaCache<>(defaultConfiguration, name); cacheMap.put(name, cache); } diff --git a/scm-webapp/src/main/java/sonia/scm/plugin/MultiParentClassLoader.java b/scm-webapp/src/main/java/sonia/scm/plugin/MultiParentClassLoader.java index 5881652ec4..ebd8b6e24e 100644 --- a/scm-webapp/src/main/java/sonia/scm/plugin/MultiParentClassLoader.java +++ b/scm-webapp/src/main/java/sonia/scm/plugin/MultiParentClassLoader.java @@ -74,7 +74,7 @@ public class MultiParentClassLoader extends ClassLoader public MultiParentClassLoader(Collection parents) { super(null); - this.parents = new CopyOnWriteArrayList(parents); + this.parents = new CopyOnWriteArrayList<>(parents); } //~--- get methods ---------------------------------------------------------- diff --git a/scm-webapp/src/main/java/sonia/scm/plugin/UberClassLoader.java b/scm-webapp/src/main/java/sonia/scm/plugin/UberClassLoader.java index 6906afc7d4..ba25fe8c65 100644 --- a/scm-webapp/src/main/java/sonia/scm/plugin/UberClassLoader.java +++ b/scm-webapp/src/main/java/sonia/scm/plugin/UberClassLoader.java @@ -100,7 +100,7 @@ public final class UberClassLoader extends ClassLoader if (clazz != null) { - cache.put(name, new WeakReference>(clazz)); + cache.put(name, new WeakReference<>(clazz)); break; } diff --git a/scm-webapp/src/main/java/sonia/scm/template/ErrorServlet.java b/scm-webapp/src/main/java/sonia/scm/template/ErrorServlet.java index 4d62b823a1..726ab33032 100644 --- a/scm-webapp/src/main/java/sonia/scm/template/ErrorServlet.java +++ b/scm-webapp/src/main/java/sonia/scm/template/ErrorServlet.java @@ -153,7 +153,7 @@ public class ErrorServlet extends HttpServlet { writer = response.getWriter(); - Map env = new HashMap(); + Map env = new HashMap<>(); String error = Util.EMPTY_STRING; if (context.getStartupError() != null) diff --git a/scm-webapp/src/main/java/sonia/scm/template/TemplateServlet.java b/scm-webapp/src/main/java/sonia/scm/template/TemplateServlet.java index 89e6baa685..902755f1f9 100644 --- a/scm-webapp/src/main/java/sonia/scm/template/TemplateServlet.java +++ b/scm-webapp/src/main/java/sonia/scm/template/TemplateServlet.java @@ -129,7 +129,7 @@ public class TemplateServlet extends HttpServlet protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - Map params = new HashMap(); + Map params = new HashMap<>(); String contextPath = request.getContextPath(); params.put("contextPath", contextPath); diff --git a/scm-webapp/src/test/java/sonia/scm/it/GetRepositoriesITCase.java b/scm-webapp/src/test/java/sonia/scm/it/GetRepositoriesITCase.java index 6978c897f8..5ffe144158 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/GetRepositoriesITCase.java +++ b/scm-webapp/src/test/java/sonia/scm/it/GetRepositoriesITCase.java @@ -90,7 +90,7 @@ public class GetRepositoriesITCase extends AbstractAdminITCaseBase @Parameters public static Collection createParameters() { - Collection params = new ArrayList(); + Collection params = new ArrayList<>(); params.add(new String[] { "git" }); params.add(new String[] { "svn" }); diff --git a/scm-webapp/src/test/java/sonia/scm/it/GroupITCase.java b/scm-webapp/src/test/java/sonia/scm/it/GroupITCase.java index e95f613f2a..175d58b45d 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/GroupITCase.java +++ b/scm-webapp/src/test/java/sonia/scm/it/GroupITCase.java @@ -89,7 +89,7 @@ public class GroupITCase extends AbstractAdminITCaseBase group.setName("group-a"); group.setDescription("group a"); - List members = new ArrayList(); + List members = new ArrayList<>(); members.add("slarti"); members.add("marvin"); @@ -110,7 +110,7 @@ public class GroupITCase extends AbstractAdminITCaseBase group.setName("group-b"); group.setDescription("group b"); - List members = new ArrayList(); + List members = new ArrayList<>(); members.add("slarti"); members.add("dent"); diff --git a/scm-webapp/src/test/java/sonia/scm/it/RepositoryTypeITCaseBase.java b/scm-webapp/src/test/java/sonia/scm/it/RepositoryTypeITCaseBase.java index 8e356152be..3ba12fc282 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/RepositoryTypeITCaseBase.java +++ b/scm-webapp/src/test/java/sonia/scm/it/RepositoryTypeITCaseBase.java @@ -59,7 +59,7 @@ public class RepositoryTypeITCaseBase @Parameters public static Collection createParameters() { - Collection params = new ArrayList(); + Collection params = new ArrayList<>(); params.add(new String[] { "git" }); params.add(new String[] { "svn" }); diff --git a/scm-webapp/src/test/java/sonia/scm/net/ahc/DefaultAdvancedHttpClientTest.java b/scm-webapp/src/test/java/sonia/scm/net/ahc/DefaultAdvancedHttpClientTest.java index faac9a99e5..2fa9748dd4 100644 --- a/scm-webapp/src/test/java/sonia/scm/net/ahc/DefaultAdvancedHttpClientTest.java +++ b/scm-webapp/src/test/java/sonia/scm/net/ahc/DefaultAdvancedHttpClientTest.java @@ -284,7 +284,7 @@ public class DefaultAdvancedHttpClientTest public void setUp() { configuration = new ScmConfiguration(); - transformers = new HashSet(); + transformers = new HashSet<>(); client = new TestingAdvacedHttpClient(configuration, transformers); } diff --git a/scm-webapp/src/test/java/sonia/scm/plugin/DefaultUberWebResourceLoaderTest.java b/scm-webapp/src/test/java/sonia/scm/plugin/DefaultUberWebResourceLoaderTest.java index 19db037a9a..43f53e3814 100644 --- a/scm-webapp/src/test/java/sonia/scm/plugin/DefaultUberWebResourceLoaderTest.java +++ b/scm-webapp/src/test/java/sonia/scm/plugin/DefaultUberWebResourceLoaderTest.java @@ -111,7 +111,7 @@ public class DefaultUberWebResourceLoaderTest extends WebResourceLoaderTestBase DefaultUberWebResourceLoader resourceLoader = new DefaultUberWebResourceLoader(servletContext, - new ArrayList()); + new ArrayList<>()); resourceLoader.getCache().put("/myresource", GITHUB); @@ -152,7 +152,7 @@ public class DefaultUberWebResourceLoaderTest extends WebResourceLoaderTestBase WebResourceLoader resourceLoader = new DefaultUberWebResourceLoader(servletContext, - new ArrayList()); + new ArrayList<>()); URL resource = resourceLoader.getResource("/myresource"); assertSame(SCM_MANAGER, resource); diff --git a/scm-webapp/src/test/java/sonia/scm/plugin/PluginTreeTest.java b/scm-webapp/src/test/java/sonia/scm/plugin/PluginTreeTest.java index 31e008b42d..54765934dd 100644 --- a/scm-webapp/src/test/java/sonia/scm/plugin/PluginTreeTest.java +++ b/scm-webapp/src/test/java/sonia/scm/plugin/PluginTreeTest.java @@ -66,7 +66,7 @@ public class PluginTreeTest public void testPluginConditionFailed() throws IOException { PluginCondition condition = new PluginCondition("999", - new ArrayList(), "hit"); + new ArrayList<>(), "hit"); Plugin plugin = new Plugin(2, createInfo("a", "b", "1"), null, condition, false, null); ExplodedSmp smp = createSmp(plugin); From 94fba3df13a0ab4e46d577e72f9f9d798fd1f139 Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 17:13:15 +0200 Subject: [PATCH 15/27] build: remove redundant groupIds as they are defined in the parent pom --- scm-annotation-processor/pom.xml | 3 +-- scm-annotations/pom.xml | 3 +-- scm-clients/scm-cli-client/pom.xml | 1 - scm-clients/scm-client-api/pom.xml | 1 - scm-clients/scm-client-impl/pom.xml | 1 - scm-core/pom.xml | 1 - scm-dao-xml/pom.xml | 3 +-- scm-plugin-backend/pom.xml | 1 - scm-plugins/scm-git-plugin/pom.xml | 1 - scm-plugins/scm-hg-plugin/pom.xml | 1 - scm-plugins/scm-legacy-plugin/pom.xml | 3 +-- scm-plugins/scm-svn-plugin/pom.xml | 1 - scm-server/pom.xml | 1 - scm-test/pom.xml | 1 - scm-webapp/pom.xml | 1 - 15 files changed, 4 insertions(+), 19 deletions(-) diff --git a/scm-annotation-processor/pom.xml b/scm-annotation-processor/pom.xml index 16900521ae..622bddd221 100644 --- a/scm-annotation-processor/pom.xml +++ b/scm-annotation-processor/pom.xml @@ -8,8 +8,7 @@ scm 2.0.0-SNAPSHOT - - sonia.scm + scm-annotation-processor 2.0.0-SNAPSHOT scm-annotation-processor diff --git a/scm-annotations/pom.xml b/scm-annotations/pom.xml index ba8922e0b6..c5a892af95 100644 --- a/scm-annotations/pom.xml +++ b/scm-annotations/pom.xml @@ -8,8 +8,7 @@ scm 2.0.0-SNAPSHOT - - sonia.scm + scm-annotations 2.0.0-SNAPSHOT scm-annotations diff --git a/scm-clients/scm-cli-client/pom.xml b/scm-clients/scm-cli-client/pom.xml index e5605878f8..7e32b5c397 100644 --- a/scm-clients/scm-cli-client/pom.xml +++ b/scm-clients/scm-cli-client/pom.xml @@ -9,7 +9,6 @@ 2.0.0-SNAPSHOT - sonia.scm.clients scm-cli-client 2.0.0-SNAPSHOT scm-cli-client diff --git a/scm-clients/scm-client-api/pom.xml b/scm-clients/scm-client-api/pom.xml index d2f8692ca7..ce9561d2e5 100644 --- a/scm-clients/scm-client-api/pom.xml +++ b/scm-clients/scm-client-api/pom.xml @@ -9,7 +9,6 @@ 2.0.0-SNAPSHOT - sonia.scm.clients scm-client-api jar 2.0.0-SNAPSHOT diff --git a/scm-clients/scm-client-impl/pom.xml b/scm-clients/scm-client-impl/pom.xml index 68ff65317f..84548301e6 100644 --- a/scm-clients/scm-client-impl/pom.xml +++ b/scm-clients/scm-client-impl/pom.xml @@ -9,7 +9,6 @@ 2.0.0-SNAPSHOT - sonia.scm.clients scm-client-impl jar 2.0.0-SNAPSHOT diff --git a/scm-core/pom.xml b/scm-core/pom.xml index f08de28f26..3b88e2fa9a 100644 --- a/scm-core/pom.xml +++ b/scm-core/pom.xml @@ -9,7 +9,6 @@ 2.0.0-SNAPSHOT - sonia.scm scm-core 2.0.0-SNAPSHOT scm-core diff --git a/scm-dao-xml/pom.xml b/scm-dao-xml/pom.xml index 5424d38f26..dcb8b940b0 100644 --- a/scm-dao-xml/pom.xml +++ b/scm-dao-xml/pom.xml @@ -8,8 +8,7 @@ scm 2.0.0-SNAPSHOT - - sonia.scm + scm-dao-xml 2.0.0-SNAPSHOT scm-dao-xml diff --git a/scm-plugin-backend/pom.xml b/scm-plugin-backend/pom.xml index 1d3621b8ea..c3c62e7c8f 100644 --- a/scm-plugin-backend/pom.xml +++ b/scm-plugin-backend/pom.xml @@ -9,7 +9,6 @@ 1.55-SNAPSHOT - sonia.scm scm-plugin-backend war 1.55-SNAPSHOT diff --git a/scm-plugins/scm-git-plugin/pom.xml b/scm-plugins/scm-git-plugin/pom.xml index 7013c237cb..74d0120f90 100644 --- a/scm-plugins/scm-git-plugin/pom.xml +++ b/scm-plugins/scm-git-plugin/pom.xml @@ -9,7 +9,6 @@ 2.0.0-SNAPSHOT - sonia.scm.plugins scm-git-plugin 2.0.0-SNAPSHOT scm-git-plugin diff --git a/scm-plugins/scm-hg-plugin/pom.xml b/scm-plugins/scm-hg-plugin/pom.xml index 67b6b3e684..72a480d25b 100644 --- a/scm-plugins/scm-hg-plugin/pom.xml +++ b/scm-plugins/scm-hg-plugin/pom.xml @@ -9,7 +9,6 @@ 2.0.0-SNAPSHOT - sonia.scm.plugins scm-hg-plugin 2.0.0-SNAPSHOT scm-hg-plugin diff --git a/scm-plugins/scm-legacy-plugin/pom.xml b/scm-plugins/scm-legacy-plugin/pom.xml index 31d8422fbf..df623df6c4 100644 --- a/scm-plugins/scm-legacy-plugin/pom.xml +++ b/scm-plugins/scm-legacy-plugin/pom.xml @@ -6,7 +6,6 @@ scm-plugins 2.0.0-SNAPSHOT - sonia.scm.plugins scm-legacy-plugin 2.0.0-SNAPSHOT smp @@ -23,4 +22,4 @@ - \ No newline at end of file + diff --git a/scm-plugins/scm-svn-plugin/pom.xml b/scm-plugins/scm-svn-plugin/pom.xml index 9d37319394..1e607371d1 100644 --- a/scm-plugins/scm-svn-plugin/pom.xml +++ b/scm-plugins/scm-svn-plugin/pom.xml @@ -9,7 +9,6 @@ 2.0.0-SNAPSHOT - sonia.scm.plugins scm-svn-plugin 2.0.0-SNAPSHOT scm-svn-plugin diff --git a/scm-server/pom.xml b/scm-server/pom.xml index 64172d6673..a20dbd5857 100644 --- a/scm-server/pom.xml +++ b/scm-server/pom.xml @@ -9,7 +9,6 @@ 2.0.0-SNAPSHOT - sonia.scm scm-server 2.0.0-SNAPSHOT scm-server diff --git a/scm-test/pom.xml b/scm-test/pom.xml index 94948a830a..f9762d46f1 100644 --- a/scm-test/pom.xml +++ b/scm-test/pom.xml @@ -9,7 +9,6 @@ 2.0.0-SNAPSHOT - sonia.scm scm-test 2.0.0-SNAPSHOT scm-test diff --git a/scm-webapp/pom.xml b/scm-webapp/pom.xml index c8b6572e92..0b2bcfe544 100644 --- a/scm-webapp/pom.xml +++ b/scm-webapp/pom.xml @@ -9,7 +9,6 @@ 2.0.0-SNAPSHOT - sonia.scm scm-webapp war 2.0.0-SNAPSHOT From c91b3a39cdf3a7dc2715389db64c2d8137e38b11 Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 17:15:21 +0200 Subject: [PATCH 16/27] build: remove duplicated dependencies --- scm-plugins/scm-git-plugin/pom.xml | 18 ------------------ scm-plugins/scm-hg-plugin/pom.xml | 10 ---------- scm-plugins/scm-legacy-plugin/pom.xml | 13 ------------- scm-plugins/scm-svn-plugin/pom.xml | 18 ------------------ 4 files changed, 59 deletions(-) diff --git a/scm-plugins/scm-git-plugin/pom.xml b/scm-plugins/scm-git-plugin/pom.xml index 74d0120f90..c2e37510d8 100644 --- a/scm-plugins/scm-git-plugin/pom.xml +++ b/scm-plugins/scm-git-plugin/pom.xml @@ -17,14 +17,6 @@ Plugin for the version control system Git - - - javax.servlet - javax.servlet-api - ${servlet.version} - provided - - sonia.jgit org.eclipse.jgit @@ -48,16 +40,6 @@ commons-lang 2.6 - - - - - sonia.scm - scm-test - 2.0.0-SNAPSHOT - test - - diff --git a/scm-plugins/scm-hg-plugin/pom.xml b/scm-plugins/scm-hg-plugin/pom.xml index 72a480d25b..252d504552 100644 --- a/scm-plugins/scm-hg-plugin/pom.xml +++ b/scm-plugins/scm-hg-plugin/pom.xml @@ -29,16 +29,6 @@ - - - - - sonia.scm - scm-test - 2.0.0-SNAPSHOT - test - - diff --git a/scm-plugins/scm-legacy-plugin/pom.xml b/scm-plugins/scm-legacy-plugin/pom.xml index df623df6c4..2243e24258 100644 --- a/scm-plugins/scm-legacy-plugin/pom.xml +++ b/scm-plugins/scm-legacy-plugin/pom.xml @@ -9,17 +9,4 @@ scm-legacy-plugin 2.0.0-SNAPSHOT smp - - - - - - - javax.servlet - javax.servlet-api - ${servlet.version} - provided - - - diff --git a/scm-plugins/scm-svn-plugin/pom.xml b/scm-plugins/scm-svn-plugin/pom.xml index 1e607371d1..d0f93671af 100644 --- a/scm-plugins/scm-svn-plugin/pom.xml +++ b/scm-plugins/scm-svn-plugin/pom.xml @@ -17,14 +17,6 @@ Plugin for the version control system Subversion - - - javax.servlet - javax.servlet-api - ${servlet.version} - provided - - sonia.svnkit svnkit @@ -42,16 +34,6 @@ svnkit-dav ${svnkit.version} - - - - - sonia.scm - scm-test - 2.0.0-SNAPSHOT - test - - From efac49ccf76f99221440c15be476a91b64514b81 Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 17:16:54 +0200 Subject: [PATCH 17/27] style: use uppercase L instead of lowercase version for better readability --- .../sonia/scm/config/ScmConfiguration.java | 2 +- .../src/main/java/sonia/scm/util/Base32.java | 2 +- .../src/main/java/sonia/scm/util/Base62.java | 2 +- .../scm/net/ahc/ByteSourceContentTest.java | 4 +-- .../sonia/scm/net/ahc/FileContentTest.java | 2 +- .../java/sonia/scm/util/UrlBuilderTest.java | 2 +- .../scm/repository/spi/GitPullCommand.java | 2 +- .../repository/spi/GitPushCommandTest.java | 2 +- .../scm/repository/spi/SvnBlameCommand.java | 2 +- .../scm/repository/spi/SvnBundleCommand.java | 2 +- .../scm/repository/spi/SvnLogCommand.java | 6 ++--- .../repository/spi/SvnBundleCommandTest.java | 4 +-- .../spi/SvnUnbundleCommandTest.java | 4 +-- .../sonia/scm/user/UserManagerTestBase.java | 2 +- .../ConfigurableLoginAttemptHandler.java | 6 ++--- .../java/sonia/scm/cache/CacheTestBase.java | 12 ++++----- .../cache/GuavaConfigurationReaderTest.java | 26 +++++++++---------- .../sonia/scm/it/ChangesetViewerITCase.java | 2 +- .../sonia/scm/it/HttpCacheITCaseBase.java | 2 +- .../sonia/scm/security/BearerRealmTest.java | 2 +- .../ConfigurableLoginAttemptHandlerTest.java | 4 +-- .../security/JwtAccessTokenResolverTest.java | 4 +-- 22 files changed, 48 insertions(+), 48 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/config/ScmConfiguration.java b/scm-core/src/main/java/sonia/scm/config/ScmConfiguration.java index ac22c1403e..a136bb0b36 100644 --- a/scm-core/src/main/java/sonia/scm/config/ScmConfiguration.java +++ b/scm-core/src/main/java/sonia/scm/config/ScmConfiguration.java @@ -701,7 +701,7 @@ public class ScmConfiguration * @since 1.34 */ @XmlElement(name = "login-attempt-limit-timeout") - private long loginAttemptLimitTimeout = TimeUnit.MINUTES.toSeconds(5l); + private long loginAttemptLimitTimeout = TimeUnit.MINUTES.toSeconds(5L); /** Field description */ private boolean enableProxy = false; diff --git a/scm-core/src/main/java/sonia/scm/util/Base32.java b/scm-core/src/main/java/sonia/scm/util/Base32.java index cadbab3d8f..5ff3576078 100644 --- a/scm-core/src/main/java/sonia/scm/util/Base32.java +++ b/scm-core/src/main/java/sonia/scm/util/Base32.java @@ -46,7 +46,7 @@ public final class Base32 extends AbstractBase { /** base value */ - private static final BigInteger BASE = BigInteger.valueOf(32l); + private static final BigInteger BASE = BigInteger.valueOf(32L); /** char table */ private static final String CHARS = "0123456789bcdefghjkmnpqrstuvwxyz"; diff --git a/scm-core/src/main/java/sonia/scm/util/Base62.java b/scm-core/src/main/java/sonia/scm/util/Base62.java index 04fd1657d6..b9c9fd6a54 100644 --- a/scm-core/src/main/java/sonia/scm/util/Base62.java +++ b/scm-core/src/main/java/sonia/scm/util/Base62.java @@ -46,7 +46,7 @@ public final class Base62 extends AbstractBase { /** base value */ - private static final BigInteger BASE = BigInteger.valueOf(62l); + private static final BigInteger BASE = BigInteger.valueOf(62L); /** char table */ private static final String CHARS = diff --git a/scm-core/src/test/java/sonia/scm/net/ahc/ByteSourceContentTest.java b/scm-core/src/test/java/sonia/scm/net/ahc/ByteSourceContentTest.java index 24487f6582..bd2eaf364b 100644 --- a/scm-core/src/test/java/sonia/scm/net/ahc/ByteSourceContentTest.java +++ b/scm-core/src/test/java/sonia/scm/net/ahc/ByteSourceContentTest.java @@ -58,7 +58,7 @@ public class ByteSourceContentTest { ByteSource source = ByteSource.wrap("abc".getBytes(Charsets.UTF_8)); ByteSourceContent content = new ByteSourceContent(source); content.prepare(request); - verify(request).contentLength(3l); + verify(request).contentLength(3L); } @Test @@ -71,4 +71,4 @@ public class ByteSourceContentTest { assertEquals("abc", baos.toString("UTF-8")); } -} \ No newline at end of file +} diff --git a/scm-core/src/test/java/sonia/scm/net/ahc/FileContentTest.java b/scm-core/src/test/java/sonia/scm/net/ahc/FileContentTest.java index 95b381b880..963ef86531 100644 --- a/scm-core/src/test/java/sonia/scm/net/ahc/FileContentTest.java +++ b/scm-core/src/test/java/sonia/scm/net/ahc/FileContentTest.java @@ -76,7 +76,7 @@ public class FileContentTest FileContent content = create("abc"); content.prepare(request); - verify(request).contentLength(3l); + verify(request).contentLength(3L); } /** diff --git a/scm-core/src/test/java/sonia/scm/util/UrlBuilderTest.java b/scm-core/src/test/java/sonia/scm/util/UrlBuilderTest.java index 16d4b59ffc..eb0af7926c 100644 --- a/scm-core/src/test/java/sonia/scm/util/UrlBuilderTest.java +++ b/scm-core/src/test/java/sonia/scm/util/UrlBuilderTest.java @@ -56,7 +56,7 @@ public class UrlBuilderTest UrlBuilder builder = new UrlBuilder("http://www.short.de"); builder.appendParameter("i", 123).appendParameter("s", "abc"); - builder.appendParameter("b", true).appendParameter("l", 321l); + builder.appendParameter("b", true).appendParameter("l", 321L); assertEquals("http://www.short.de?i=123&s=abc&b=true&l=321", builder.toString()); builder.appendParameter("c", "a b"); assertEquals("http://www.short.de?i=123&s=abc&b=true&l=321&c=a%20b", builder.toString()); diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitPullCommand.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitPullCommand.java index ec0f468a57..8ed1c4b3d3 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitPullCommand.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitPullCommand.java @@ -145,7 +145,7 @@ public class GitPullCommand extends AbstractGitPushOrPullCommand private PullResponse convert(Git git, FetchResult fetch) throws RepositoryException { - long counter = 0l; + long counter = 0L; for (TrackingRefUpdate tru : fetch.getTrackingRefUpdates()) { diff --git a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitPushCommandTest.java b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitPushCommandTest.java index bf82193e84..0eb23572fc 100644 --- a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitPushCommandTest.java +++ b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/spi/GitPushCommandTest.java @@ -86,7 +86,7 @@ public class GitPushCommandTest extends AbstractRemoteCommandTestBase PushResponse response = cmd.push(request); assertNotNull(response); - assertEquals(2l, response.getChangesetCount()); + assertEquals(2L, response.getChangesetCount()); Iterator commits = incoming.log().call().iterator(); diff --git a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnBlameCommand.java b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnBlameCommand.java index 9c059d0ea5..329f2672e1 100644 --- a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnBlameCommand.java +++ b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnBlameCommand.java @@ -120,7 +120,7 @@ public class SvnBlameCommand extends AbstractSvnCommand implements BlameCommand SVNLogClient svnLogClient = new SVNLogClient(svnManager, null); svnLogClient.doAnnotate(svnurl, SVNRevision.UNDEFINED, - SVNRevision.create(1l), endRevision, + SVNRevision.create(1L), endRevision, new SvnBlameHandler(svnRepository, path, blameLines)); } diff --git a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnBundleCommand.java b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnBundleCommand.java index af9dbe5fda..f0811c2c74 100644 --- a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnBundleCommand.java +++ b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnBundleCommand.java @@ -98,7 +98,7 @@ public class SvnBundleCommand extends AbstractSvnCommand try { outputStream = target.openBufferedStream(); - adminClient.doDump(repository, outputStream, SVNRevision.create(-1l), + adminClient.doDump(repository, outputStream, SVNRevision.create(-1L), SVNRevision.HEAD, false, false); } finally diff --git a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnLogCommand.java b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnLogCommand.java index b1024ec5b4..41b44415a3 100644 --- a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnLogCommand.java +++ b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/spi/SvnLogCommand.java @@ -203,7 +203,7 @@ public class SvnLogCommand extends AbstractSvnCommand implements LogCommand */ private long parseRevision(String v) throws RepositoryException { - long result = -1l; + long result = -1L; if (!Strings.isNullOrEmpty(v)) { @@ -252,7 +252,7 @@ public class SvnLogCommand extends AbstractSvnCommand implements LogCommand new ChangesetCollector(changesets)); } - return new ChangesetPagingResult((int) (latest + 1l), changesets); + return new ChangesetPagingResult((int) (latest + 1L), changesets); } /** @@ -279,7 +279,7 @@ public class SvnLogCommand extends AbstractSvnCommand implements LogCommand long endRev = Math.max(endRevision, 0); long maxRev = repo.getLatestRevision(); - if (startRevision >= 0l) + if (startRevision >= 0L) { startRev = startRevision; } diff --git a/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/spi/SvnBundleCommandTest.java b/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/spi/SvnBundleCommandTest.java index 57fde186cf..88e3eddf02 100644 --- a/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/spi/SvnBundleCommandTest.java +++ b/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/spi/SvnBundleCommandTest.java @@ -78,9 +78,9 @@ public class SvnBundleCommandTest extends AbstractSvnCommandTestBase repository).bundle(req); assertThat(res, notNullValue()); - assertThat(res.getChangesetCount(), is(5l)); + assertThat(res.getChangesetCount(), is(5L)); assertTrue("file does not exists", file.exists()); - assertThat(file.length(), greaterThan(0l)); + assertThat(file.length(), greaterThan(0L)); } //~--- fields --------------------------------------------------------------- diff --git a/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/spi/SvnUnbundleCommandTest.java b/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/spi/SvnUnbundleCommandTest.java index 2c59797296..d0142151a1 100644 --- a/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/spi/SvnUnbundleCommandTest.java +++ b/scm-plugins/scm-svn-plugin/src/test/java/sonia/scm/repository/spi/SvnUnbundleCommandTest.java @@ -87,11 +87,11 @@ public class SvnUnbundleCommandTest extends AbstractSvnCommandTestBase //J+ assertThat(res, notNullValue()); - assertThat(res.getChangesetCount(), is(5l)); + assertThat(res.getChangesetCount(), is(5L)); SVNRepository repo = ctx.open(); - assertThat(repo.getLatestRevision(), is(5l)); + assertThat(repo.getLatestRevision(), is(5L)); SvnUtil.closeSession(repo); } diff --git a/scm-test/src/main/java/sonia/scm/user/UserManagerTestBase.java b/scm-test/src/main/java/sonia/scm/user/UserManagerTestBase.java index 054ef892ea..e86edaba56 100644 --- a/scm-test/src/main/java/sonia/scm/user/UserManagerTestBase.java +++ b/scm-test/src/main/java/sonia/scm/user/UserManagerTestBase.java @@ -301,7 +301,7 @@ public abstract class UserManagerTestBase while (!fin) { - Thread.sleep(100l); + Thread.sleep(100L); fin = true; for (MultiThreadTester tester : testers) diff --git a/scm-webapp/src/main/java/sonia/scm/security/ConfigurableLoginAttemptHandler.java b/scm-webapp/src/main/java/sonia/scm/security/ConfigurableLoginAttemptHandler.java index 39c3c64d5d..304c8ead13 100644 --- a/scm-webapp/src/main/java/sonia/scm/security/ConfigurableLoginAttemptHandler.java +++ b/scm-webapp/src/main/java/sonia/scm/security/ConfigurableLoginAttemptHandler.java @@ -153,7 +153,7 @@ public class ConfigurableLoginAttemptHandler implements LoginAttemptHandler { } private boolean isEnabled() { - return (configuration.getLoginAttemptLimit() > 0) && (configuration.getLoginAttemptLimitTimeout() > 0l); + return (configuration.getLoginAttemptLimit() > 0) && (configuration.getLoginAttemptLimitTimeout() > 0L); } //~--- inner classes -------------------------------------------------------- @@ -161,7 +161,7 @@ public class ConfigurableLoginAttemptHandler implements LoginAttemptHandler { private static class LoginAttempt { private int counter = 0; - private long lastAttempt = -1l; + private long lastAttempt = -1L; synchronized void increase() { counter++; @@ -169,7 +169,7 @@ public class ConfigurableLoginAttemptHandler implements LoginAttemptHandler { } synchronized void reset() { - lastAttempt = -1l; + lastAttempt = -1L; counter = 0; } diff --git a/scm-webapp/src/test/java/sonia/scm/cache/CacheTestBase.java b/scm-webapp/src/test/java/sonia/scm/cache/CacheTestBase.java index 8a8a016146..f0396741aa 100644 --- a/scm-webapp/src/test/java/sonia/scm/cache/CacheTestBase.java +++ b/scm-webapp/src/test/java/sonia/scm/cache/CacheTestBase.java @@ -177,8 +177,8 @@ public abstract class CacheTestBase // skip test if implementation does not support stats Assume.assumeTrue( stats != null ); assertEquals("test", stats.getName()); - assertEquals(0l, stats.getHitCount()); - assertEquals(0l, stats.getMissCount()); + assertEquals(0L, stats.getHitCount()); + assertEquals(0L, stats.getMissCount()); cache.put("test-1", "test123"); cache.put("test-2", "test456"); cache.get("test-1"); @@ -186,11 +186,11 @@ public abstract class CacheTestBase cache.get("test-1"); cache.get("test-3"); // check that stats have not changed - assertEquals(0l, stats.getHitCount()); - assertEquals(0l, stats.getMissCount()); + assertEquals(0L, stats.getHitCount()); + assertEquals(0L, stats.getMissCount()); stats = cache.getStatistics(); - assertEquals(3l, stats.getHitCount()); - assertEquals(1l, stats.getMissCount()); + assertEquals(3L, stats.getHitCount()); + assertEquals(1L, stats.getMissCount()); assertEquals(0.75d, stats.getHitRate(), 0.0d); assertEquals(0.25d, stats.getMissRate(), 0.0d); } diff --git a/scm-webapp/src/test/java/sonia/scm/cache/GuavaConfigurationReaderTest.java b/scm-webapp/src/test/java/sonia/scm/cache/GuavaConfigurationReaderTest.java index 7f7be94203..ff8b59cfc3 100644 --- a/scm-webapp/src/test/java/sonia/scm/cache/GuavaConfigurationReaderTest.java +++ b/scm-webapp/src/test/java/sonia/scm/cache/GuavaConfigurationReaderTest.java @@ -63,7 +63,7 @@ public class GuavaConfigurationReaderTest GuavaCacheConfiguration cfg = readConfiguration("gcache.001.xml").getDefaultCache(); - assertCacheValues(cfg, 200l, 1200l, 2400l); + assertCacheValues(cfg, 200L, 1200L, 2400L); } /** @@ -82,10 +82,10 @@ public class GuavaConfigurationReaderTest //J+ // cache sonia.test.cache.001 override by cache.004.xml - assertCacheValues(getCache(gcm, "sonia.test.cache.001"), 6l, 2l, 8l); - assertCacheValues(getCache(gcm, "sonia.test.cache.002"), 1000l, 120l, 60l); - assertCacheValues(getCache(gcm, "sonia.test.cache.003"), 3000l, 120l, - 2400l); + assertCacheValues(getCache(gcm, "sonia.test.cache.001"), 6L, 2L, 8L); + assertCacheValues(getCache(gcm, "sonia.test.cache.002"), 1000L, 120L, 60L); + assertCacheValues(getCache(gcm, "sonia.test.cache.003"), 3000L, 120L, + 2400L); } /** @@ -100,8 +100,8 @@ public class GuavaConfigurationReaderTest // check default - assertCacheValues(getCache(gcm, "sonia.test.cache.001"), 1000l, 60l, 30l); - assertCacheValues(getCache(gcm, "sonia.test.cache.002"), 1000l, 120l, 60l); + assertCacheValues(getCache(gcm, "sonia.test.cache.001"), 1000L, 60L, 30L); + assertCacheValues(getCache(gcm, "sonia.test.cache.002"), 1000L, 120L, 60L); } /** @@ -115,10 +115,10 @@ public class GuavaConfigurationReaderTest Iterators.forArray("gcache.002.xml", "gcache.003.xml")); - assertCacheValues(getCache(gcm, "sonia.test.cache.001"), 1000l, 60l, 30l); - assertCacheValues(getCache(gcm, "sonia.test.cache.002"), 1000l, 120l, 60l); - assertCacheValues(getCache(gcm, "sonia.test.cache.003"), 3000l, 120l, - 2400l); + assertCacheValues(getCache(gcm, "sonia.test.cache.001"), 1000L, 60L, 30L); + assertCacheValues(getCache(gcm, "sonia.test.cache.002"), 1000L, 120L, 60L); + assertCacheValues(getCache(gcm, "sonia.test.cache.003"), 3000L, 120L, + 2400L); } /** @@ -131,7 +131,7 @@ public class GuavaConfigurationReaderTest GuavaCacheConfiguration cfg = readConfiguration("gcache.001.xml").getCaches().get(0); - assertCacheValues(cfg, 1000l, 60l, 30l); + assertCacheValues(cfg, 1000L, 60L, 30L); } /** @@ -144,7 +144,7 @@ public class GuavaConfigurationReaderTest GuavaCacheConfiguration cfg = readConfiguration("gcache.002.xml").getCaches().get(0); - assertCacheValues(cfg, 1000l, 120l, 60l); + assertCacheValues(cfg, 1000L, 120L, 60L); } /** diff --git a/scm-webapp/src/test/java/sonia/scm/it/ChangesetViewerITCase.java b/scm-webapp/src/test/java/sonia/scm/it/ChangesetViewerITCase.java index 816f86fe52..53601dab8c 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/ChangesetViewerITCase.java +++ b/scm-webapp/src/test/java/sonia/scm/it/ChangesetViewerITCase.java @@ -193,7 +193,7 @@ public class ChangesetViewerITCase extends AbstractAdminITCaseBase if (sleep) { // cache clear is async - Thread.sleep(500l); + Thread.sleep(500L); } ChangesetPagingResult cpr = getChangesets(repository); diff --git a/scm-webapp/src/test/java/sonia/scm/it/HttpCacheITCaseBase.java b/scm-webapp/src/test/java/sonia/scm/it/HttpCacheITCaseBase.java index e3727a468d..ccd0a0d4f0 100644 --- a/scm-webapp/src/test/java/sonia/scm/it/HttpCacheITCaseBase.java +++ b/scm-webapp/src/test/java/sonia/scm/it/HttpCacheITCaseBase.java @@ -122,7 +122,7 @@ public abstract class HttpCacheITCaseBase long lastModified = getLastModified(response); // wait 1 second because http date is not millisecond precision - Thread.sleep(1000l); + Thread.sleep(1000L); item = createSampleItem(); response = getCollectionResponse(); diff --git a/scm-webapp/src/test/java/sonia/scm/security/BearerRealmTest.java b/scm-webapp/src/test/java/sonia/scm/security/BearerRealmTest.java index 9f54eb6518..ce10494f68 100644 --- a/scm-webapp/src/test/java/sonia/scm/security/BearerRealmTest.java +++ b/scm-webapp/src/test/java/sonia/scm/security/BearerRealmTest.java @@ -188,7 +188,7 @@ public class BearerRealmTest resolveKey(key); - Date exp = new Date(System.currentTimeMillis() - 600l); + Date exp = new Date(System.currentTimeMillis() - 600L); String compact = createCompactToken(trillian.getName(), key, exp, Scope.empty()); realm.doGetAuthenticationInfo(BearerToken.valueOf(compact)); diff --git a/scm-webapp/src/test/java/sonia/scm/security/ConfigurableLoginAttemptHandlerTest.java b/scm-webapp/src/test/java/sonia/scm/security/ConfigurableLoginAttemptHandlerTest.java index 714438b8fe..01c4766396 100644 --- a/scm-webapp/src/test/java/sonia/scm/security/ConfigurableLoginAttemptHandlerTest.java +++ b/scm-webapp/src/test/java/sonia/scm/security/ConfigurableLoginAttemptHandlerTest.java @@ -74,7 +74,7 @@ public class ConfigurableLoginAttemptHandlerTest { handler.onUnsuccessfulAuthentication(token, new SimpleAuthenticationInfo()); handler.beforeAuthentication(token); handler.onUnsuccessfulAuthentication(token, new SimpleAuthenticationInfo()); - Thread.sleep(TimeUnit.MILLISECONDS.toMillis(1200l)); + Thread.sleep(TimeUnit.MILLISECONDS.toMillis(1200L)); handler.beforeAuthentication(token); } @@ -111,4 +111,4 @@ public class ConfigurableLoginAttemptHandlerTest { return new ConfigurableLoginAttemptHandler(configuration); } -} \ No newline at end of file +} diff --git a/scm-webapp/src/test/java/sonia/scm/security/JwtAccessTokenResolverTest.java b/scm-webapp/src/test/java/sonia/scm/security/JwtAccessTokenResolverTest.java index b7fd897559..2c1b0a34ec 100644 --- a/scm-webapp/src/test/java/sonia/scm/security/JwtAccessTokenResolverTest.java +++ b/scm-webapp/src/test/java/sonia/scm/security/JwtAccessTokenResolverTest.java @@ -132,7 +132,7 @@ public class JwtAccessTokenResolverTest { resolveKey(secureKey); // create expired token - Date exp = new Date(System.currentTimeMillis() - 600l); + Date exp = new Date(System.currentTimeMillis() - 600L); String compact = createCompactToken("trillian", secureKey, exp, Scope.empty()); // expect exception @@ -236,4 +236,4 @@ public class JwtAccessTokenResolverTest { } -} \ No newline at end of file +} From 656288857b20b90fc156b1baf68769fad5a4e2ad Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 17:17:39 +0200 Subject: [PATCH 18/27] refactor: remove redundant type arguments --- .../src/main/java/sonia/scm/repository/HealthCheckResult.java | 2 +- .../sonia/scm/api/rest/resources/RepositoryImportResource.java | 2 +- .../java/sonia/scm/repository/DefaultRepositoryManagerTest.java | 2 +- .../test/java/sonia/scm/repository/RepositoryMatcherTest.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/repository/HealthCheckResult.java b/scm-core/src/main/java/sonia/scm/repository/HealthCheckResult.java index f5cb690533..88350eaa1e 100644 --- a/scm-core/src/main/java/sonia/scm/repository/HealthCheckResult.java +++ b/scm-core/src/main/java/sonia/scm/repository/HealthCheckResult.java @@ -51,7 +51,7 @@ public final class HealthCheckResult /** healthy result */ private static final HealthCheckResult HEALTHY = - new HealthCheckResult(ImmutableSet.of()); + new HealthCheckResult(ImmutableSet.of()); //~--- constructors --------------------------------------------------------- diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java index 8b52d693ed..b7b6e0f826 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java @@ -419,7 +419,7 @@ public class RepositoryImportResource { logger.debug("start directory import, using normal import handler"); result = new ImportResult(importHandler.importRepositories(manager), - ImmutableList.of()); + ImmutableList.of()); } response = Response.ok(result).build(); diff --git a/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java b/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java index 5b7c3f2ae7..d3938009aa 100644 --- a/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java +++ b/scm-webapp/src/test/java/sonia/scm/repository/DefaultRepositoryManagerTest.java @@ -568,7 +568,7 @@ public class DefaultRepositoryManagerTest extends ManagerTestBaseemptySet()); + return new RepositoryMatcher(Collections.emptySet()); } private Repository createRepository(Repository repository) throws RepositoryException, IOException { diff --git a/scm-webapp/src/test/java/sonia/scm/repository/RepositoryMatcherTest.java b/scm-webapp/src/test/java/sonia/scm/repository/RepositoryMatcherTest.java index c832bb8691..d3054b77e4 100644 --- a/scm-webapp/src/test/java/sonia/scm/repository/RepositoryMatcherTest.java +++ b/scm-webapp/src/test/java/sonia/scm/repository/RepositoryMatcherTest.java @@ -48,7 +48,7 @@ public class RepositoryMatcherTest { @Before public void setUp() { - Set pathMatchers = Sets.newHashSet(new AbcRepositoryPathMatcher()); + Set pathMatchers = Sets.newHashSet(new AbcRepositoryPathMatcher()); this.matcher = new RepositoryMatcher(pathMatchers); } From 96f40485d13b13e69edd668de62aa3e4abe75edf Mon Sep 17 00:00:00 2001 From: broDom Date: Mon, 3 Jul 2017 17:17:58 +0200 Subject: [PATCH 19/27] refactor: remove redundant type casts --- .../src/main/java/sonia/scm/util/IOUtil.java | 2 +- .../java/sonia/scm/plugin/ScmModuleTest.java | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/util/IOUtil.java b/scm-core/src/main/java/sonia/scm/util/IOUtil.java index 51c67b0b7d..49807104c7 100644 --- a/scm-core/src/main/java/sonia/scm/util/IOUtil.java +++ b/scm-core/src/main/java/sonia/scm/util/IOUtil.java @@ -229,7 +229,7 @@ public final class IOUtil while (byteCount > 0) { int max = (byteCount < bufferSize) - ? (int) byteCount + ? byteCount : bufferSize; len = in.read(buffer, 0, max); diff --git a/scm-core/src/test/java/sonia/scm/plugin/ScmModuleTest.java b/scm-core/src/test/java/sonia/scm/plugin/ScmModuleTest.java index 45c490d15e..1629562132 100644 --- a/scm-core/src/test/java/sonia/scm/plugin/ScmModuleTest.java +++ b/scm-core/src/test/java/sonia/scm/plugin/ScmModuleTest.java @@ -71,8 +71,8 @@ public class ScmModuleTest assertThat( module.getExtensions(), containsInAnyOrder( - (Class) String.class, - (Class) Integer.class + String.class, + Integer.class ) ); assertThat( @@ -86,8 +86,8 @@ public class ScmModuleTest assertThat( module.getEvents(), containsInAnyOrder( - (Class) String.class, - (Class) Boolean.class + String.class, + Boolean.class ) ); assertThat( @@ -100,15 +100,15 @@ public class ScmModuleTest assertThat( module.getRestProviders(), containsInAnyOrder( - (Class) Integer.class, - (Class) Long.class + Integer.class, + Long.class ) ); assertThat( module.getRestResources(), containsInAnyOrder( - (Class) Float.class, - (Class) Double.class + Float.class, + Double.class ) ); //J+ From 056c384c3951f2648952a8b80ecce00075609019 Mon Sep 17 00:00:00 2001 From: broDom Date: Wed, 5 Jul 2017 18:23:32 +0200 Subject: [PATCH 20/27] refactor: use Stream API in ValidationUtil.isRepoNameValid --- .../java/sonia/scm/util/ValidationUtil.java | 30 +++++-------------- 1 file changed, 7 insertions(+), 23 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/util/ValidationUtil.java b/scm-core/src/main/java/sonia/scm/util/ValidationUtil.java index 621b704664..c53bb0bbb7 100644 --- a/scm-core/src/main/java/sonia/scm/util/ValidationUtil.java +++ b/scm-core/src/main/java/sonia/scm/util/ValidationUtil.java @@ -37,7 +37,9 @@ import com.google.common.base.Splitter; import sonia.scm.Validateable; import java.util.Arrays; +import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.StreamSupport; /** * @@ -58,6 +60,7 @@ public final class ValidationUtil private static final String REGEX_REPOSITORYNAME = "(?!^\\.\\.$)(?!^\\.$)(?!.*[\\\\\\[\\]])^[A-z0-9\\.][A-z0-9\\.\\-_/]*$"; + private static final Pattern REPO_NAME_REGEX = Pattern.compile(REGEX_REPOSITORYNAME); //~--- constructors --------------------------------------------------------- /** @@ -130,29 +133,10 @@ public final class ValidationUtil * * @return */ - public static boolean isRepositoryNameValid(String name) - { - Pattern pattern = Pattern.compile(REGEX_REPOSITORYNAME); - boolean result = true; - - if (Util.isNotEmpty(name)) - { - for (String p : Splitter.on('/').split(name)) - { - if (!pattern.matcher(p).matches()) - { - result = false; - - break; - } - } - } - else - { - result = false; - } - - return result; + public static boolean isRepositoryNameValid(String name) { + return Util.isNotEmpty(name) && StreamSupport.stream(Splitter.on('/').split(name).spliterator(), false) + .map(REPO_NAME_REGEX::matcher) + .allMatch(Matcher::matches); } /** From d7b539ba10161b56012cef840e6f37e90741f45a Mon Sep 17 00:00:00 2001 From: broDom Date: Wed, 5 Jul 2017 21:01:39 +0200 Subject: [PATCH 21/27] build: update guava (16 -> 22) --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7f377a7f18..3ef98ec8d1 100644 --- a/pom.xml +++ b/pom.xml @@ -501,7 +501,7 @@ 1.8.15-scm1 - 16.0.1 + 22.0 2.2.3 From 1da3c7436c649be3c499cc8144e13676c114df89 Mon Sep 17 00:00:00 2001 From: broDom Date: Wed, 5 Jul 2017 21:02:17 +0200 Subject: [PATCH 22/27] refactor: replace StreamSupport.stream(spliterator, false) with Guava's Stream.stream(iterable) --- .../scm/repository/api/HookChangesetBuilder.java | 10 +++++----- .../src/main/java/sonia/scm/util/ValidationUtil.java | 8 ++++---- .../main/java/sonia/scm/web/GitRepositoryViewer.java | 11 +++++------ .../java/sonia/scm/plugin/PluginProcessorTest.java | 10 +++++----- 4 files changed, 19 insertions(+), 20 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/repository/api/HookChangesetBuilder.java b/scm-core/src/main/java/sonia/scm/repository/api/HookChangesetBuilder.java index bdf5e13d60..fb3900445e 100644 --- a/scm-core/src/main/java/sonia/scm/repository/api/HookChangesetBuilder.java +++ b/scm-core/src/main/java/sonia/scm/repository/api/HookChangesetBuilder.java @@ -33,8 +33,8 @@ package sonia.scm.repository.api; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.base.Function; import com.google.common.collect.ImmutableList; +import com.google.common.collect.Streams; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import sonia.scm.io.DeepCopy; @@ -46,8 +46,8 @@ import sonia.scm.repository.spi.HookChangesetRequest; import java.io.IOException; import java.util.List; +import java.util.function.Function; import java.util.stream.Collectors; -import java.util.stream.StreamSupport; //~--- JDK imports ------------------------------------------------------------ @@ -135,9 +135,9 @@ public final class HookChangesetBuilder return copy; }; - changesets = StreamSupport.stream(changesets.spliterator(), false) - .map(changesetFunction::apply) - .collect(Collectors.toList()); + changesets = Streams.stream(changesets) + .map(changesetFunction::apply) + .collect(Collectors.toList()); } return changesets; diff --git a/scm-core/src/main/java/sonia/scm/util/ValidationUtil.java b/scm-core/src/main/java/sonia/scm/util/ValidationUtil.java index c53bb0bbb7..2f1fb4bb04 100644 --- a/scm-core/src/main/java/sonia/scm/util/ValidationUtil.java +++ b/scm-core/src/main/java/sonia/scm/util/ValidationUtil.java @@ -34,12 +34,12 @@ package sonia.scm.util; import com.google.common.base.Splitter; +import com.google.common.collect.Streams; import sonia.scm.Validateable; import java.util.Arrays; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.stream.StreamSupport; /** * @@ -134,9 +134,9 @@ public final class ValidationUtil * @return */ public static boolean isRepositoryNameValid(String name) { - return Util.isNotEmpty(name) && StreamSupport.stream(Splitter.on('/').split(name).spliterator(), false) - .map(REPO_NAME_REGEX::matcher) - .allMatch(Matcher::matches); + return Util.isNotEmpty(name) && Streams.stream(Splitter.on('/').split(name)) + .map(REPO_NAME_REGEX::matcher) + .allMatch(Matcher::matches); } /** diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitRepositoryViewer.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitRepositoryViewer.java index 18f4d5baaa..74cb228663 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitRepositoryViewer.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitRepositoryViewer.java @@ -38,6 +38,7 @@ package sonia.scm.web; import com.google.common.base.Function; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; +import com.google.common.collect.Streams; import com.google.common.io.Closeables; import com.google.inject.Inject; import org.slf4j.Logger; @@ -62,7 +63,6 @@ import java.io.Writer; import java.util.Date; import java.util.Iterator; import java.util.stream.Collectors; -import java.util.stream.StreamSupport; //~--- JDK imports ------------------------------------------------------------ @@ -301,11 +301,10 @@ public class GitRepositoryViewer .setBranch(name) .setPagingLimit(CHANGESET_PER_BRANCH) .getChangesets(); - - Iterable changesets = - StreamSupport.stream(cpr.spliterator(), false) - .map(ChangesetModel::new) - .collect(Collectors.toList()); + + Iterable changesets = Streams.stream(cpr) + .map(ChangesetModel::new) + .collect(Collectors.toList()); //J+ model = new BranchModel(name, changesets); diff --git a/scm-webapp/src/test/java/sonia/scm/plugin/PluginProcessorTest.java b/scm-webapp/src/test/java/sonia/scm/plugin/PluginProcessorTest.java index a78a8acba9..42e54b4e59 100644 --- a/scm-webapp/src/test/java/sonia/scm/plugin/PluginProcessorTest.java +++ b/scm-webapp/src/test/java/sonia/scm/plugin/PluginProcessorTest.java @@ -35,6 +35,7 @@ package sonia.scm.plugin; import com.google.common.base.Charsets; import com.google.common.collect.Iterables; +import com.google.common.collect.Streams; import com.google.common.io.Resources; import org.junit.Before; import org.junit.Rule; @@ -48,7 +49,6 @@ import java.io.OutputStream; import java.lang.reflect.InvocationTargetException; import java.net.URL; import java.util.Set; -import java.util.stream.StreamSupport; import static org.hamcrest.Matchers.hasSize; import static org.hamcrest.Matchers.is; @@ -366,10 +366,10 @@ public class PluginProcessorTest private PluginWrapper findPlugin(Iterable plugin, final String id) { - return StreamSupport.stream(plugin.spliterator(), false) - .filter(input -> id.equals(input.getId())) - .findFirst() - .orElse(null); + return Streams.stream(plugin) + .filter(input -> id.equals(input.getId())) + .findFirst() + .orElse(null); } //~--- inner classes -------------------------------------------------------- From 46f5002f29ffeca07c8c2bba8ba8a0b665d23d9a Mon Sep 17 00:00:00 2001 From: broDom Date: Wed, 5 Jul 2017 21:23:28 +0200 Subject: [PATCH 23/27] refactor: replace removed Guava API calls --- .../java/sonia/scm/cache/CacheStatistics.java | 11 ++--- .../sonia/scm/event/AbstractHandlerEvent.java | 11 ++--- .../src/main/java/sonia/scm/group/Group.java | 29 ++++++------- .../java/sonia/scm/plugin/ClassElement.java | 9 ++-- .../scm/plugin/ExtensionPointElement.java | 13 +++--- .../main/java/sonia/scm/plugin/Plugin.java | 26 +++++------ .../sonia/scm/plugin/PluginCondition.java | 11 ++--- .../sonia/scm/plugin/PluginInformation.java | 43 ++++++++----------- .../sonia/scm/plugin/PluginRepository.java | 11 +++-- .../sonia/scm/plugin/PluginResources.java | 16 +++---- .../sonia/scm/plugin/SubscriberElement.java | 11 ++--- .../java/sonia/scm/repository/BlameLine.java | 17 ++++---- .../sonia/scm/repository/BlameResult.java | 19 +++----- .../java/sonia/scm/repository/Branch.java | 16 +++---- .../java/sonia/scm/repository/Branches.java | 15 ++++--- .../sonia/scm/repository/BrowserResult.java | 23 ++++------ .../scm/repository/ChangesetPagingResult.java | 19 +++----- .../java/sonia/scm/repository/FileObject.java | 27 ++++++------ .../scm/repository/HealthCheckFailure.java | 13 +++--- .../scm/repository/HealthCheckResult.java | 3 +- .../sonia/scm/repository/ImportResult.java | 19 ++++---- .../java/sonia/scm/repository/Permission.java | 19 ++++---- .../java/sonia/scm/repository/Repository.java | 39 ++++++++--------- .../sonia/scm/repository/SubRepository.java | 18 ++++---- .../main/java/sonia/scm/repository/Tag.java | 9 ++-- .../main/java/sonia/scm/repository/Tags.java | 16 +++---- ...stractBundleOrUnbundleCommandResponse.java | 7 +-- .../repository/spi/BrowseCommandRequest.java | 15 ++++--- .../spi/FileBaseCommandRequest.java | 9 ++-- .../scm/repository/spi/LogCommandRequest.java | 17 ++++---- .../spi/PagedRemoteCommandRequest.java | 11 ++--- .../repository/spi/RemoteCommandRequest.java | 9 ++-- .../scm/security/AssignedPermission.java | 18 ++++---- .../sonia/scm/security/DAORealmHelper.java | 15 ++----- .../scm/security/PermissionDescriptor.java | 18 ++++---- .../scm/security/RepositoryPermission.java | 9 ++-- .../StoredAssignedPermissionEvent.java | 16 +++---- .../src/main/java/sonia/scm/user/User.java | 33 +++++++------- .../main/java/sonia/scm/util/HttpUtil.java | 15 +++---- .../main/java/sonia/scm/web/UserAgent.java | 17 ++++---- .../scm/web/proxy/ProxyConfiguration.java | 27 +++++------- .../sonia/scm/repository/HgHookManager.java | 4 +- .../java/sonia/scm/repository/HgVersion.java | 9 ++-- .../repository/client/spi/CommitRequest.java | 9 ++-- .../scm/repository/client/spi/TagRequest.java | 9 ++-- .../main/java/sonia/scm/ClassOverride.java | 9 ++-- .../java/sonia/scm/api/rest/Permission.java | 16 +++---- .../scm/api/rest/RestExceptionResult.java | 9 ++-- .../resources/RepositoryImportResource.java | 9 ++-- .../sonia/scm/cache/CacheConfigurations.java | 3 +- .../scm/cache/GuavaCacheConfiguration.java | 35 ++++++++------- .../ConfigurableLoginAttemptHandler.java | 19 ++++---- .../cache/CacheConfigurationTestLoader.java | 3 +- .../selenium/page/RepositoriesAddPage.java | 13 +++--- 54 files changed, 410 insertions(+), 436 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/cache/CacheStatistics.java b/scm-core/src/main/java/sonia/scm/cache/CacheStatistics.java index 067e623e6d..3507763820 100644 --- a/scm-core/src/main/java/sonia/scm/cache/CacheStatistics.java +++ b/scm-core/src/main/java/sonia/scm/cache/CacheStatistics.java @@ -33,6 +33,7 @@ package sonia.scm.cache; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; /** @@ -101,11 +102,11 @@ public final class CacheStatistics public String toString() { //J- - return Objects.toStringHelper(this) - .add("name", name) - .add("hitCount", hitCount) - .add("missCount", missCount) - .toString(); + return MoreObjects.toStringHelper(this) + .add("name", name) + .add("hitCount", hitCount) + .add("missCount", missCount) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/event/AbstractHandlerEvent.java b/scm-core/src/main/java/sonia/scm/event/AbstractHandlerEvent.java index 5efbf118ba..f828af9635 100644 --- a/scm-core/src/main/java/sonia/scm/event/AbstractHandlerEvent.java +++ b/scm-core/src/main/java/sonia/scm/event/AbstractHandlerEvent.java @@ -33,6 +33,7 @@ package sonia.scm.event; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import sonia.scm.HandlerEventType; @@ -127,11 +128,11 @@ public class AbstractHandlerEvent implements HandlerEvent public String toString() { //J- - return Objects.toStringHelper(this) - .add("eventType", eventType) - .add("item", item) - .add("oldItem", oldItem) - .toString(); + return MoreObjects.toStringHelper(this) + .add("eventType", eventType) + .add("item", item) + .add("oldItem", oldItem) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/group/Group.java b/scm-core/src/main/java/sonia/scm/group/Group.java index 8bffc22260..cb1e4e9cda 100644 --- a/scm-core/src/main/java/sonia/scm/group/Group.java +++ b/scm-core/src/main/java/sonia/scm/group/Group.java @@ -37,23 +37,22 @@ package sonia.scm.group; import com.github.sdorra.ssp.PermissionObject; import com.github.sdorra.ssp.StaticPermissions; +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import com.google.common.collect.Lists; - import sonia.scm.BasicPropertiesAware; import sonia.scm.ModelObject; import sonia.scm.util.Util; import sonia.scm.util.ValidationUtil; -//~--- JDK imports ------------------------------------------------------------ - +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlRootElement; import java.util.Arrays; import java.util.Iterator; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; +//~--- JDK imports ------------------------------------------------------------ /** * Organizes users into a group for easier permissions management. @@ -274,15 +273,15 @@ public class Group extends BasicPropertiesAware public String toString() { //J- - return Objects.toStringHelper(this) - .add("name", name) - .add("description", description) - .add("members", members) - .add("type", type) - .add("creationDate", creationDate) - .add("lastModified", lastModified) - .add("properties", properties) - .toString(); + return MoreObjects.toStringHelper(this) + .add("name", name) + .add("description", description) + .add("members", members) + .add("type", type) + .add("creationDate", creationDate) + .add("lastModified", lastModified) + .add("properties", properties) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/plugin/ClassElement.java b/scm-core/src/main/java/sonia/scm/plugin/ClassElement.java index 8f931e5599..1b43a41ad6 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/ClassElement.java +++ b/scm-core/src/main/java/sonia/scm/plugin/ClassElement.java @@ -33,6 +33,7 @@ package sonia.scm.plugin; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; //~--- JDK imports ------------------------------------------------------------ @@ -117,10 +118,10 @@ public final class ClassElement public String toString() { //J- - return Objects.toStringHelper(this) - .add("clazz", clazz) - .add("description", description) - .toString(); + return MoreObjects.toStringHelper(this) + .add("clazz", clazz) + .add("description", description) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/plugin/ExtensionPointElement.java b/scm-core/src/main/java/sonia/scm/plugin/ExtensionPointElement.java index 25b8fe303a..eda91d4e6f 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/ExtensionPointElement.java +++ b/scm-core/src/main/java/sonia/scm/plugin/ExtensionPointElement.java @@ -33,6 +33,7 @@ package sonia.scm.plugin; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; //~--- JDK imports ------------------------------------------------------------ @@ -129,12 +130,12 @@ public final class ExtensionPointElement public String toString() { //J- - return Objects.toStringHelper(this) - .add("class", clazz) - .add("description", description) - .add("multiple", multiple) - .add("autoBind", autoBind) - .toString(); + return MoreObjects.toStringHelper(this) + .add("class", clazz) + .add("description", description) + .add("multiple", multiple) + .add("autoBind", autoBind) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/plugin/Plugin.java b/scm-core/src/main/java/sonia/scm/plugin/Plugin.java index d55555e747..438ca2184c 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/Plugin.java +++ b/scm-core/src/main/java/sonia/scm/plugin/Plugin.java @@ -35,18 +35,14 @@ package sonia.scm.plugin; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import com.google.common.collect.ImmutableSet; -//~--- JDK imports ------------------------------------------------------------ - +import javax.xml.bind.annotation.*; import java.util.Set; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +//~--- JDK imports ------------------------------------------------------------ /** * @@ -142,14 +138,14 @@ public final class Plugin extends ScmModule public String toString() { //J- - return Objects.toStringHelper(this) - .add("scmVersion", scmVersion) - .add("condition", condition) - .add("information", information) - .add("resources", resources) - .add("childFirstClassLoader", childFirstClassLoader) - .add("dependencies", dependencies) - .toString(); + return MoreObjects.toStringHelper(this) + .add("scmVersion", scmVersion) + .add("condition", condition) + .add("information", information) + .add("resources", resources) + .add("childFirstClassLoader", childFirstClassLoader) + .add("dependencies", dependencies) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/plugin/PluginCondition.java b/scm-core/src/main/java/sonia/scm/plugin/PluginCondition.java index 2a5dfcee8c..fb03b66351 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/PluginCondition.java +++ b/scm-core/src/main/java/sonia/scm/plugin/PluginCondition.java @@ -35,6 +35,7 @@ package sonia.scm.plugin; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import sonia.scm.PlatformType; import sonia.scm.SCMContext; @@ -157,11 +158,11 @@ public class PluginCondition implements Cloneable, Serializable public String toString() { //J- - return Objects.toStringHelper(this) - .add("arch", arch) - .add("minVersion", minVersion) - .add("os", os) - .toString(); + return MoreObjects.toStringHelper(this) + .add("arch", arch) + .add("minVersion", minVersion) + .add("os", os) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/plugin/PluginInformation.java b/scm-core/src/main/java/sonia/scm/plugin/PluginInformation.java index 4fffdd8572..cab5245f6a 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/PluginInformation.java +++ b/scm-core/src/main/java/sonia/scm/plugin/PluginInformation.java @@ -37,24 +37,17 @@ package sonia.scm.plugin; import com.github.sdorra.ssp.PermissionObject; import com.github.sdorra.ssp.StaticPermissions; - +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; - import sonia.scm.Validateable; import sonia.scm.util.Util; -//~--- JDK imports ------------------------------------------------------------ - +import javax.xml.bind.annotation.*; import java.io.Serializable; - import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +//~--- JDK imports ------------------------------------------------------------ /** * @@ -180,21 +173,21 @@ public class PluginInformation public String toString() { //J- - return Objects.toStringHelper(this) - .add("artifactId", artifactId) - .add("author", author) - .add("category", category) - .add("tags", tags) - .add("condition", condition) - .add("description", description) - .add("groupId", groupId) - .add("name", name) - .add("screenshots", screenshots) - .add("state", state) - .add("url", url) - .add("version", version) - .add("wiki", wiki) - .toString(); + return MoreObjects.toStringHelper(this) + .add("artifactId", artifactId) + .add("author", author) + .add("category", category) + .add("tags", tags) + .add("condition", condition) + .add("description", description) + .add("groupId", groupId) + .add("name", name) + .add("screenshots", screenshots) + .add("state", state) + .add("url", url) + .add("version", version) + .add("wiki", wiki) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/plugin/PluginRepository.java b/scm-core/src/main/java/sonia/scm/plugin/PluginRepository.java index c546788d09..c75e555d9f 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/PluginRepository.java +++ b/scm-core/src/main/java/sonia/scm/plugin/PluginRepository.java @@ -35,12 +35,13 @@ package sonia.scm.plugin; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; -//~--- JDK imports ------------------------------------------------------------ - import java.io.Serializable; +//~--- JDK imports ------------------------------------------------------------ + /** * * @author Sebastian Sdorra @@ -121,8 +122,10 @@ public class PluginRepository implements Serializable @Override public String toString() { - return Objects.toStringHelper(this).add("id", id).add("url", - url).toString(); + return MoreObjects.toStringHelper(this) + .add("id", id) + .add("url", url) + .toString(); } //~--- get methods ---------------------------------------------------------- diff --git a/scm-core/src/main/java/sonia/scm/plugin/PluginResources.java b/scm-core/src/main/java/sonia/scm/plugin/PluginResources.java index b039c291f5..c6c8b3aead 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/PluginResources.java +++ b/scm-core/src/main/java/sonia/scm/plugin/PluginResources.java @@ -35,15 +35,15 @@ package sonia.scm.plugin; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; -//~--- JDK imports ------------------------------------------------------------ - -import java.util.Set; - import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; +import java.util.Set; + +//~--- JDK imports ------------------------------------------------------------ /** * @@ -124,10 +124,10 @@ public class PluginResources public String toString() { //J- - return Objects.toStringHelper(this) - .add("scriptResources", scriptResources) - .add("stylesheetResources", stylesheetResources) - .toString(); + return MoreObjects.toStringHelper(this) + .add("scriptResources", scriptResources) + .add("stylesheetResources", stylesheetResources) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/plugin/SubscriberElement.java b/scm-core/src/main/java/sonia/scm/plugin/SubscriberElement.java index 44c3d6edd2..75c83003ce 100644 --- a/scm-core/src/main/java/sonia/scm/plugin/SubscriberElement.java +++ b/scm-core/src/main/java/sonia/scm/plugin/SubscriberElement.java @@ -33,6 +33,7 @@ package sonia.scm.plugin; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; //~--- JDK imports ------------------------------------------------------------ @@ -126,11 +127,11 @@ public final class SubscriberElement public String toString() { //J- - return Objects.toStringHelper(this) - .add("eventClass", eventClass) - .add("subscriberClass", subscriberClass) - .add("description", description) - .toString(); + return MoreObjects.toStringHelper(this) + .add("eventClass", eventClass) + .add("subscriberClass", subscriberClass) + .add("description", description) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/BlameLine.java b/scm-core/src/main/java/sonia/scm/repository/BlameLine.java index ff23ca8fd3..771450874c 100644 --- a/scm-core/src/main/java/sonia/scm/repository/BlameLine.java +++ b/scm-core/src/main/java/sonia/scm/repository/BlameLine.java @@ -35,6 +35,7 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; //~--- JDK imports ------------------------------------------------------------ @@ -140,14 +141,14 @@ public class BlameLine implements Serializable public String toString() { //J- - return Objects.toStringHelper(this) - .add("lineNumber", lineNumber) - .add("revision", revision) - .add("author", author) - .add("when", when) - .add("code", code) - .add("description", description) - .toString(); + return MoreObjects.toStringHelper(this) + .add("lineNumber", lineNumber) + .add("revision", revision) + .add("author", author) + .add("when", when) + .add("code", code) + .add("description", description) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/BlameResult.java b/scm-core/src/main/java/sonia/scm/repository/BlameResult.java index 4a06de575c..c282aa92d1 100644 --- a/scm-core/src/main/java/sonia/scm/repository/BlameResult.java +++ b/scm-core/src/main/java/sonia/scm/repository/BlameResult.java @@ -35,21 +35,16 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import com.google.common.collect.Lists; -//~--- JDK imports ------------------------------------------------------------ - +import javax.xml.bind.annotation.*; import java.io.Serializable; - import java.util.Iterator; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +//~--- JDK imports ------------------------------------------------------------ /** * Changeset information by line for a given file. @@ -163,10 +158,10 @@ public class BlameResult implements Serializable, Iterable public String toString() { //J- - return Objects.toStringHelper(this) - .add("total", total) - .add("blameLines", blameLines) - .toString(); + return MoreObjects.toStringHelper(this) + .add("total", total) + .add("blameLines", blameLines) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/Branch.java b/scm-core/src/main/java/sonia/scm/repository/Branch.java index 3e610812ff..ca64085077 100644 --- a/scm-core/src/main/java/sonia/scm/repository/Branch.java +++ b/scm-core/src/main/java/sonia/scm/repository/Branch.java @@ -35,15 +35,15 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.Serializable; - import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serializable; + +//~--- JDK imports ------------------------------------------------------------ /** * Represents a branch in a repository. @@ -132,10 +132,10 @@ public final class Branch implements Serializable public String toString() { //J- - return Objects.toStringHelper(this) - .add("name", name) - .add("revision", revision) - .toString(); + return MoreObjects.toStringHelper(this) + .add("name", name) + .add("revision", revision) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/Branches.java b/scm-core/src/main/java/sonia/scm/repository/Branches.java index f2f7de1a2a..c0dc88943c 100644 --- a/scm-core/src/main/java/sonia/scm/repository/Branches.java +++ b/scm-core/src/main/java/sonia/scm/repository/Branches.java @@ -34,17 +34,18 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import com.google.common.collect.Lists; -//~--- JDK imports ------------------------------------------------------------ - -import java.util.Iterator; -import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; +import java.util.Iterator; +import java.util.List; + +//~--- JDK imports ------------------------------------------------------------ /** * Represents all branches of a repository. @@ -148,9 +149,9 @@ public final class Branches implements Iterable public String toString() { //J- - return Objects.toStringHelper(this) - .add("branches", branches) - .toString(); + return MoreObjects.toStringHelper(this) + .add("branches", branches) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/BrowserResult.java b/scm-core/src/main/java/sonia/scm/repository/BrowserResult.java index 7880b58f11..7b7944b0d1 100644 --- a/scm-core/src/main/java/sonia/scm/repository/BrowserResult.java +++ b/scm-core/src/main/java/sonia/scm/repository/BrowserResult.java @@ -35,20 +35,15 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; -//~--- JDK imports ------------------------------------------------------------ - +import javax.xml.bind.annotation.*; import java.io.Serializable; - import java.util.Iterator; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +//~--- JDK imports ------------------------------------------------------------ /** * @@ -161,12 +156,12 @@ public class BrowserResult implements Iterable, Serializable public String toString() { //J- - return Objects.toStringHelper(this) - .add("revision", revision) - .add("tag", tag) - .add("branch", branch) - .add("files", files) - .toString(); + return MoreObjects.toStringHelper(this) + .add("revision", revision) + .add("tag", tag) + .add("branch", branch) + .add("files", files) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/ChangesetPagingResult.java b/scm-core/src/main/java/sonia/scm/repository/ChangesetPagingResult.java index 0712ed40af..df261fbd46 100644 --- a/scm-core/src/main/java/sonia/scm/repository/ChangesetPagingResult.java +++ b/scm-core/src/main/java/sonia/scm/repository/ChangesetPagingResult.java @@ -35,20 +35,15 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; -//~--- JDK imports ------------------------------------------------------------ - +import javax.xml.bind.annotation.*; import java.io.Serializable; - import java.util.Iterator; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +//~--- JDK imports ------------------------------------------------------------ /** * The changeset paging result is used to do a paging over the @@ -156,10 +151,10 @@ public class ChangesetPagingResult implements Iterable, Serializable public String toString() { //J- - return Objects.toStringHelper(this) - .add("changesets", changesets) - .add("total", total) - .toString(); + return MoreObjects.toStringHelper(this) + .add("changesets", changesets) + .add("total", total) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/FileObject.java b/scm-core/src/main/java/sonia/scm/repository/FileObject.java index c5c4366a0e..9e2e9e5ff1 100644 --- a/scm-core/src/main/java/sonia/scm/repository/FileObject.java +++ b/scm-core/src/main/java/sonia/scm/repository/FileObject.java @@ -35,18 +35,17 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; - import sonia.scm.LastModifiedAware; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.Serializable; - import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serializable; + +//~--- JDK imports ------------------------------------------------------------ /** * The FileObject represents a file or a directory in a repository. @@ -110,15 +109,15 @@ public class FileObject implements LastModifiedAware, Serializable public String toString() { //J- - return Objects.toStringHelper(this) - .add("name", name) - .add("path", path) - .add("directory", directory) - .add("description", description) - .add("length", length) - .add("subRepository", subRepository) - .add("lastModified", lastModified) - .toString(); + return MoreObjects.toStringHelper(this) + .add("name", name) + .add("path", path) + .add("directory", directory) + .add("description", description) + .add("length", length) + .add("subRepository", subRepository) + .add("lastModified", lastModified) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/HealthCheckFailure.java b/scm-core/src/main/java/sonia/scm/repository/HealthCheckFailure.java index 8bac16de8d..8dc7e3ac54 100644 --- a/scm-core/src/main/java/sonia/scm/repository/HealthCheckFailure.java +++ b/scm-core/src/main/java/sonia/scm/repository/HealthCheckFailure.java @@ -33,6 +33,7 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; //~--- JDK imports ------------------------------------------------------------ @@ -132,12 +133,12 @@ public final class HealthCheckFailure public String toString() { //J- - return Objects.toStringHelper(this) - .add("id", id) - .add("summary", summary) - .add("url", url) - .add("description", description) - .toString(); + return MoreObjects.toStringHelper(this) + .add("id", id) + .add("summary", summary) + .add("url", url) + .add("description", description) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/HealthCheckResult.java b/scm-core/src/main/java/sonia/scm/repository/HealthCheckResult.java index 88350eaa1e..8d22e0fd63 100644 --- a/scm-core/src/main/java/sonia/scm/repository/HealthCheckResult.java +++ b/scm-core/src/main/java/sonia/scm/repository/HealthCheckResult.java @@ -33,6 +33,7 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import com.google.common.collect.ImmutableSet; @@ -182,7 +183,7 @@ public final class HealthCheckResult @Override public String toString() { - return Objects.toStringHelper(this).add("failures", failures).toString(); + return MoreObjects.toStringHelper(this).add("failures", failures).toString(); } //~--- get methods ---------------------------------------------------------- diff --git a/scm-core/src/main/java/sonia/scm/repository/ImportResult.java b/scm-core/src/main/java/sonia/scm/repository/ImportResult.java index a7d242abc4..47dc11fcfd 100644 --- a/scm-core/src/main/java/sonia/scm/repository/ImportResult.java +++ b/scm-core/src/main/java/sonia/scm/repository/ImportResult.java @@ -33,18 +33,19 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; -import static com.google.common.base.Preconditions.*; - -//~--- JDK imports ------------------------------------------------------------ - -import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; +import java.util.List; + +import static com.google.common.base.Preconditions.checkNotNull; + +//~--- JDK imports ------------------------------------------------------------ /** * Import result of the {@link AdvancedImportHandler}. @@ -130,10 +131,10 @@ public final class ImportResult public String toString() { //J- - return Objects.toStringHelper(this) - .add("importedDirectories", importedDirectories) - .add("failedDirectories", failedDirectories) - .toString(); + return MoreObjects.toStringHelper(this) + .add("importedDirectories", importedDirectories) + .add("failedDirectories", failedDirectories) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/Permission.java b/scm-core/src/main/java/sonia/scm/repository/Permission.java index b5de810f75..7ea2d701b4 100644 --- a/scm-core/src/main/java/sonia/scm/repository/Permission.java +++ b/scm-core/src/main/java/sonia/scm/repository/Permission.java @@ -35,17 +35,16 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; - import sonia.scm.security.PermissionObject; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.Serializable; - import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serializable; + +//~--- JDK imports ------------------------------------------------------------ /** * Permissions controls the access to {@link Repository}. @@ -163,11 +162,11 @@ public class Permission implements PermissionObject, Serializable public String toString() { //J- - return Objects.toStringHelper(this) - .add("name", name) - .add("type", type) - .add("groupPermission", groupPermission) - .toString(); + return MoreObjects.toStringHelper(this) + .add("name", name) + .add("type", type) + .add("groupPermission", groupPermission) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/Repository.java b/scm-core/src/main/java/sonia/scm/repository/Repository.java index b0a976db55..b6916d64f3 100644 --- a/scm-core/src/main/java/sonia/scm/repository/Repository.java +++ b/scm-core/src/main/java/sonia/scm/repository/Repository.java @@ -37,26 +37,21 @@ package sonia.scm.repository; import com.github.sdorra.ssp.PermissionObject; import com.github.sdorra.ssp.StaticPermissions; +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import com.google.common.collect.Lists; - import sonia.scm.BasicPropertiesAware; import sonia.scm.ModelObject; import sonia.scm.util.HttpUtil; import sonia.scm.util.Util; import sonia.scm.util.ValidationUtil; -//~--- JDK imports ------------------------------------------------------------ - +import javax.xml.bind.annotation.*; import java.util.Arrays; import java.util.Collections; import java.util.List; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +//~--- JDK imports ------------------------------------------------------------ /** * Source code repository. @@ -253,20 +248,20 @@ public class Repository extends BasicPropertiesAware implements ModelObject, Per public String toString() { //J- - return Objects.toStringHelper(this) - .add("id", id) - .add("name", name) - .add("contact", contact) - .add("description", description) - .add("publicReadable", publicReadable) - .add("archived", archived) - .add("permissions", permissions) - .add("type", type) - .add("lastModified", lastModified) - .add("creationDate", creationDate) - .add("properties", properties) - .add("healthCheckFailures", healthCheckFailures) - .toString(); + return MoreObjects.toStringHelper(this) + .add("id", id) + .add("name", name) + .add("contact", contact) + .add("description", description) + .add("publicReadable", publicReadable) + .add("archived", archived) + .add("permissions", permissions) + .add("type", type) + .add("lastModified", lastModified) + .add("creationDate", creationDate) + .add("properties", properties) + .add("healthCheckFailures", healthCheckFailures) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/SubRepository.java b/scm-core/src/main/java/sonia/scm/repository/SubRepository.java index 3c8acc4831..87e8b1f1e7 100644 --- a/scm-core/src/main/java/sonia/scm/repository/SubRepository.java +++ b/scm-core/src/main/java/sonia/scm/repository/SubRepository.java @@ -35,16 +35,16 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.Serializable; - import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serializable; + +//~--- JDK imports ------------------------------------------------------------ /** * @since 1.10 @@ -157,11 +157,11 @@ public class SubRepository implements Serializable public String toString() { //J- - return Objects.toStringHelper(this) - .add("repositoryUrl", repositoryUrl) - .add("browserUrl", browserUrl) - .add("revision", revision) - .toString(); + return MoreObjects.toStringHelper(this) + .add("repositoryUrl", repositoryUrl) + .add("browserUrl", browserUrl) + .add("revision", revision) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/Tag.java b/scm-core/src/main/java/sonia/scm/repository/Tag.java index 4fc246e0c5..b07c74ffa1 100644 --- a/scm-core/src/main/java/sonia/scm/repository/Tag.java +++ b/scm-core/src/main/java/sonia/scm/repository/Tag.java @@ -34,6 +34,7 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; //~--- JDK imports ------------------------------------------------------------ @@ -124,10 +125,10 @@ public final class Tag public String toString() { //J- - return Objects.toStringHelper(this) - .add("name", name) - .add("revision", revision) - .toString(); + return MoreObjects.toStringHelper(this) + .add("name", name) + .add("revision", revision) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/Tags.java b/scm-core/src/main/java/sonia/scm/repository/Tags.java index fd38b421a5..8126d8d106 100644 --- a/scm-core/src/main/java/sonia/scm/repository/Tags.java +++ b/scm-core/src/main/java/sonia/scm/repository/Tags.java @@ -34,18 +34,18 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import com.google.common.collect.Lists; -//~--- JDK imports ------------------------------------------------------------ - -import java.util.Iterator; -import java.util.List; - import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; +import java.util.Iterator; +import java.util.List; + +//~--- JDK imports ------------------------------------------------------------ /** * Represents all tags of a repository. @@ -138,9 +138,9 @@ public final class Tags implements Iterable public String toString() { //J- - return Objects.toStringHelper(this) - .add("tags", tags) - .toString(); + return MoreObjects.toStringHelper(this) + .add("tags", tags) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/api/AbstractBundleOrUnbundleCommandResponse.java b/scm-core/src/main/java/sonia/scm/repository/api/AbstractBundleOrUnbundleCommandResponse.java index 36ae6f89ad..b9e8376fcd 100644 --- a/scm-core/src/main/java/sonia/scm/repository/api/AbstractBundleOrUnbundleCommandResponse.java +++ b/scm-core/src/main/java/sonia/scm/repository/api/AbstractBundleOrUnbundleCommandResponse.java @@ -33,6 +33,7 @@ package sonia.scm.repository.api; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; /** @@ -95,9 +96,9 @@ public abstract class AbstractBundleOrUnbundleCommandResponse public String toString() { //J- - return Objects.toStringHelper(this) - .add("changesetCount", changesetCount) - .toString(); + return MoreObjects.toStringHelper(this) + .add("changesetCount", changesetCount) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/spi/BrowseCommandRequest.java b/scm-core/src/main/java/sonia/scm/repository/spi/BrowseCommandRequest.java index 2f7c007959..445533455f 100644 --- a/scm-core/src/main/java/sonia/scm/repository/spi/BrowseCommandRequest.java +++ b/scm-core/src/main/java/sonia/scm/repository/spi/BrowseCommandRequest.java @@ -35,6 +35,7 @@ package sonia.scm.repository.spi; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; /** @@ -127,13 +128,13 @@ public final class BrowseCommandRequest extends FileBaseCommandRequest public String toString() { //J- - return Objects.toStringHelper(this) - .add("path", getPath()) - .add("revision", getRevision()) - .add("recursive", recursive) - .add("disableLastCommit", disableLastCommit) - .add("disableSubRepositoryDetection", disableSubRepositoryDetection) - .toString(); + return MoreObjects.toStringHelper(this) + .add("path", getPath()) + .add("revision", getRevision()) + .add("recursive", recursive) + .add("disableLastCommit", disableLastCommit) + .add("disableSubRepositoryDetection", disableSubRepositoryDetection) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/spi/FileBaseCommandRequest.java b/scm-core/src/main/java/sonia/scm/repository/spi/FileBaseCommandRequest.java index aec2b7087a..ad70315e5f 100644 --- a/scm-core/src/main/java/sonia/scm/repository/spi/FileBaseCommandRequest.java +++ b/scm-core/src/main/java/sonia/scm/repository/spi/FileBaseCommandRequest.java @@ -35,6 +35,7 @@ package sonia.scm.repository.spi; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; //~--- JDK imports ------------------------------------------------------------ @@ -115,10 +116,10 @@ public abstract class FileBaseCommandRequest public String toString() { //J- - return Objects.toStringHelper(this) - .add("path", path) - .add("revision", revision) - .toString(); + return MoreObjects.toStringHelper(this) + .add("path", path) + .add("revision", revision) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/spi/LogCommandRequest.java b/scm-core/src/main/java/sonia/scm/repository/spi/LogCommandRequest.java index 1637a92c16..4c7734667a 100644 --- a/scm-core/src/main/java/sonia/scm/repository/spi/LogCommandRequest.java +++ b/scm-core/src/main/java/sonia/scm/repository/spi/LogCommandRequest.java @@ -35,6 +35,7 @@ package sonia.scm.repository.spi; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; //~--- JDK imports ------------------------------------------------------------ @@ -125,14 +126,14 @@ public final class LogCommandRequest implements Serializable, Resetable public String toString() { //J- - return Objects.toStringHelper(this) - .add("startChangeset", startChangeset) - .add("endChangeset", endChangeset) - .add("pagingStart", pagingStart) - .add("pagingLimit", pagingLimit) - .add("path", path) - .add("branch", branch) - .toString(); + return MoreObjects.toStringHelper(this) + .add("startChangeset", startChangeset) + .add("endChangeset", endChangeset) + .add("pagingStart", pagingStart) + .add("pagingLimit", pagingLimit) + .add("path", path) + .add("branch", branch) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/spi/PagedRemoteCommandRequest.java b/scm-core/src/main/java/sonia/scm/repository/spi/PagedRemoteCommandRequest.java index c07ddb54ef..b1e15a0389 100644 --- a/scm-core/src/main/java/sonia/scm/repository/spi/PagedRemoteCommandRequest.java +++ b/scm-core/src/main/java/sonia/scm/repository/spi/PagedRemoteCommandRequest.java @@ -34,6 +34,7 @@ package sonia.scm.repository.spi; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; /** @@ -84,11 +85,11 @@ public abstract class PagedRemoteCommandRequest extends RemoteCommandRequest { //J- - return Objects.toStringHelper(this) - .add("remoteURL", remoteRepository) - .add("pagingStart", pagingStart) - .add("pagingLimit", pagingLimit) - .toString(); + return MoreObjects.toStringHelper(this) + .add("remoteURL", remoteRepository) + .add("pagingStart", pagingStart) + .add("pagingLimit", pagingLimit) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/repository/spi/RemoteCommandRequest.java b/scm-core/src/main/java/sonia/scm/repository/spi/RemoteCommandRequest.java index 0f3cd909d9..1994afd29c 100644 --- a/scm-core/src/main/java/sonia/scm/repository/spi/RemoteCommandRequest.java +++ b/scm-core/src/main/java/sonia/scm/repository/spi/RemoteCommandRequest.java @@ -35,6 +35,7 @@ package sonia.scm.repository.spi; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import sonia.scm.repository.Repository; @@ -101,10 +102,10 @@ public abstract class RemoteCommandRequest implements Resetable public String toString() { //J- - return Objects.toStringHelper(this) - .add("remoteRepository", remoteRepository) - .add("remoteUrl", remoteUrl) - .toString(); + return MoreObjects.toStringHelper(this) + .add("remoteRepository", remoteRepository) + .add("remoteUrl", remoteUrl) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/security/AssignedPermission.java b/scm-core/src/main/java/sonia/scm/security/AssignedPermission.java index fc9083d13a..c9e1283a96 100644 --- a/scm-core/src/main/java/sonia/scm/security/AssignedPermission.java +++ b/scm-core/src/main/java/sonia/scm/security/AssignedPermission.java @@ -34,16 +34,16 @@ package sonia.scm.security; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.Serializable; - import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serializable; + +//~--- JDK imports ------------------------------------------------------------ /** * Permission object which is assigned to a specific user or group. @@ -150,11 +150,11 @@ public class AssignedPermission implements PermissionObject, Serializable public String toString() { //J- - return Objects.toStringHelper(this) - .add("name", name) - .add("groupPermisison", groupPermission) - .add("permission", permission) - .toString(); + return MoreObjects.toStringHelper(this) + .add("name", name) + .add("groupPermisison", groupPermission) + .add("permission", permission) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/security/DAORealmHelper.java b/scm-core/src/main/java/sonia/scm/security/DAORealmHelper.java index 87ccfaf4cc..82555fd0b7 100644 --- a/scm-core/src/main/java/sonia/scm/security/DAORealmHelper.java +++ b/scm-core/src/main/java/sonia/scm/security/DAORealmHelper.java @@ -33,24 +33,15 @@ package sonia.scm.security; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.base.Objects; +import com.google.common.base.MoreObjects; import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet.Builder; - -import org.apache.shiro.authc.AuthenticationException; -import org.apache.shiro.authc.AuthenticationInfo; -import org.apache.shiro.authc.AuthenticationToken; -import org.apache.shiro.authc.DisabledAccountException; -import org.apache.shiro.authc.SimpleAuthenticationInfo; -import org.apache.shiro.authc.UnknownAccountException; -import org.apache.shiro.authc.UsernamePasswordToken; +import org.apache.shiro.authc.*; import org.apache.shiro.authc.credential.CredentialsMatcher; import org.apache.shiro.subject.SimplePrincipalCollection; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.group.Group; import sonia.scm.group.GroupDAO; import sonia.scm.group.GroupNames; @@ -161,7 +152,7 @@ public final class DAORealmHelper collection.add(principal, realm); collection.add(user, realm); collection.add(collectGroups(principal), realm); - collection.add(Objects.firstNonNull(scope, Scope.empty()), realm); + collection.add(MoreObjects.firstNonNull(scope, Scope.empty()), realm); String creds = credentials; diff --git a/scm-core/src/main/java/sonia/scm/security/PermissionDescriptor.java b/scm-core/src/main/java/sonia/scm/security/PermissionDescriptor.java index 5cd5520d61..acde1b447a 100644 --- a/scm-core/src/main/java/sonia/scm/security/PermissionDescriptor.java +++ b/scm-core/src/main/java/sonia/scm/security/PermissionDescriptor.java @@ -34,16 +34,16 @@ package sonia.scm.security; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.Serializable; - import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serializable; + +//~--- JDK imports ------------------------------------------------------------ /** * Descriptor for available permission objects. @@ -125,11 +125,11 @@ public class PermissionDescriptor implements Serializable { //J- - return Objects.toStringHelper(this) - .add("displayName", displayName) - .add("description", description) - .add("value", value) - .toString(); + return MoreObjects.toStringHelper(this) + .add("displayName", displayName) + .add("description", description) + .add("value", value) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/security/RepositoryPermission.java b/scm-core/src/main/java/sonia/scm/security/RepositoryPermission.java index f697e82dfd..ae98d70e47 100644 --- a/scm-core/src/main/java/sonia/scm/security/RepositoryPermission.java +++ b/scm-core/src/main/java/sonia/scm/security/RepositoryPermission.java @@ -35,6 +35,7 @@ package sonia.scm.security; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import org.apache.shiro.authz.Permission; @@ -174,10 +175,10 @@ public final class RepositoryPermission public String toString() { //J- - return Objects.toStringHelper(this) - .add("repositoryId", repositoryId) - .add("permissionType", permissionType) - .toString(); + return MoreObjects.toStringHelper(this) + .add("repositoryId", repositoryId) + .add("permissionType", permissionType) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/security/StoredAssignedPermissionEvent.java b/scm-core/src/main/java/sonia/scm/security/StoredAssignedPermissionEvent.java index acd7d62052..1c2d0af156 100644 --- a/scm-core/src/main/java/sonia/scm/security/StoredAssignedPermissionEvent.java +++ b/scm-core/src/main/java/sonia/scm/security/StoredAssignedPermissionEvent.java @@ -34,14 +34,14 @@ package sonia.scm.security; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; - import sonia.scm.HandlerEventType; - -//~--- JDK imports ------------------------------------------------------------ +import sonia.scm.event.Event; import java.io.Serializable; -import sonia.scm.event.Event; + +//~--- JDK imports ------------------------------------------------------------ /** * Event which is fired after a {@link StoredAssignedPermission} was added, @@ -114,10 +114,10 @@ public final class StoredAssignedPermissionEvent implements Serializable public String toString() { //J- - return Objects.toStringHelper(this) - .add("type", type) - .add("permission", permission) - .toString(); + return MoreObjects.toStringHelper(this) + .add("type", type) + .add("permission", permission) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/user/User.java b/scm-core/src/main/java/sonia/scm/user/User.java index 69c5a5732f..dc7105825d 100644 --- a/scm-core/src/main/java/sonia/scm/user/User.java +++ b/scm-core/src/main/java/sonia/scm/user/User.java @@ -37,20 +37,19 @@ package sonia.scm.user; import com.github.sdorra.ssp.PermissionObject; import com.github.sdorra.ssp.StaticPermissions; +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; - import sonia.scm.BasicPropertiesAware; import sonia.scm.ModelObject; import sonia.scm.util.Util; import sonia.scm.util.ValidationUtil; -//~--- JDK imports ------------------------------------------------------------ - -import java.security.Principal; - import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; +import java.security.Principal; + +//~--- JDK imports ------------------------------------------------------------ /** * @@ -259,18 +258,18 @@ public class User extends BasicPropertiesAware implements Principal, ModelObject : "(not set)"; //J- - return Objects.toStringHelper(this) - .add("name", name) - .add("displayName",displayName) - .add("mail", mail) - .add("password", pwd) - .add("admin", admin) - .add("type", type) - .add("active", active) - .add("creationDate", creationDate) - .add("lastModified", lastModified) - .add("properties", properties) - .toString(); + return MoreObjects.toStringHelper(this) + .add("name", name) + .add("displayName",displayName) + .add("mail", mail) + .add("password", pwd) + .add("admin", admin) + .add("type", type) + .add("active", active) + .add("creationDate", creationDate) + .add("lastModified", lastModified) + .add("properties", properties) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/util/HttpUtil.java b/scm-core/src/main/java/sonia/scm/util/HttpUtil.java index 27abcaffbe..1a1394dd0c 100644 --- a/scm-core/src/main/java/sonia/scm/util/HttpUtil.java +++ b/scm-core/src/main/java/sonia/scm/util/HttpUtil.java @@ -37,29 +37,24 @@ package sonia.scm.util; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.CharMatcher; -import com.google.common.base.Objects; +import com.google.common.base.MoreObjects; import com.google.common.base.Strings; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import sonia.scm.config.ScmConfiguration; -//~--- JDK imports ------------------------------------------------------------ - +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; - import java.net.URLDecoder; import java.net.URLEncoder; - import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +//~--- JDK imports ------------------------------------------------------------ /** * Util method for the http protocol. @@ -694,7 +689,7 @@ public final class HttpUtil { String value = request.getHeader(header); - return Objects.firstNonNull(value, defaultValue); + return MoreObjects.firstNonNull(value, defaultValue); } /** diff --git a/scm-core/src/main/java/sonia/scm/web/UserAgent.java b/scm-core/src/main/java/sonia/scm/web/UserAgent.java index 7efd1bd1c2..b3aa1eff01 100644 --- a/scm-core/src/main/java/sonia/scm/web/UserAgent.java +++ b/scm-core/src/main/java/sonia/scm/web/UserAgent.java @@ -36,14 +36,15 @@ package sonia.scm.web; //~--- non-JDK imports -------------------------------------------------------- import com.google.common.base.Charsets; +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; -import static com.google.common.base.Preconditions.*; +import java.nio.charset.Charset; + +import static com.google.common.base.Preconditions.checkNotNull; //~--- JDK imports ------------------------------------------------------------ -import java.nio.charset.Charset; - /** * The software agent that is acting on behalf of a user. The user agent * represents a browser or one of the repository client (svn, git or hg). @@ -124,11 +125,11 @@ public final class UserAgent public String toString() { //J- - return Objects.toStringHelper(this) - .add("name", name) - .add("browser", browser) - .add("basicAuthenticationCharset", basicAuthenticationCharset) - .toString(); + return MoreObjects.toStringHelper(this) + .add("name", name) + .add("browser", browser) + .add("basicAuthenticationCharset", basicAuthenticationCharset) + .toString(); //J+ } diff --git a/scm-core/src/main/java/sonia/scm/web/proxy/ProxyConfiguration.java b/scm-core/src/main/java/sonia/scm/web/proxy/ProxyConfiguration.java index 71e39e13dd..7a9d986465 100644 --- a/scm-core/src/main/java/sonia/scm/web/proxy/ProxyConfiguration.java +++ b/scm-core/src/main/java/sonia/scm/web/proxy/ProxyConfiguration.java @@ -34,20 +34,15 @@ package sonia.scm.web.proxy; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; -//~--- JDK imports ------------------------------------------------------------ - +import javax.xml.bind.annotation.*; import java.net.URL; - import java.util.Collections; import java.util.Set; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +//~--- JDK imports ------------------------------------------------------------ /** * @@ -144,14 +139,14 @@ public class ProxyConfiguration public String toString() { //J- - return Objects.toStringHelper(this) - .add("url", url) - .add("copyRequestHeaders", copyRequestHeaders) - .add("requestHeaderExcludes", requestHeaderExcludes) - .add("copyResponseHeaders", copyResponseHeaders) - .add("responseHeaderExcludes", responseHeaderExcludes) - .add("cacheEnabled", cacheEnabled) - .toString(); + return MoreObjects.toStringHelper(this) + .add("url", url) + .add("copyRequestHeaders", copyRequestHeaders) + .add("requestHeaderExcludes", requestHeaderExcludes) + .add("copyResponseHeaders", copyResponseHeaders) + .add("responseHeaderExcludes", responseHeaderExcludes) + .add("cacheEnabled", cacheEnabled) + .toString(); //J+ } diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgHookManager.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgHookManager.java index 2814cedb32..b0bc088c98 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgHookManager.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgHookManager.java @@ -36,7 +36,7 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- import com.github.legman.Subscribe; -import com.google.common.base.Objects; +import com.google.common.base.MoreObjects; import com.google.inject.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -263,7 +263,7 @@ public class HgHookManager { //J- return HttpUtil.getUriWithoutEndSeperator( - Objects.firstNonNull( + MoreObjects.firstNonNull( configuration.getBaseUrl(), "http://localhost:8080/scm" ) diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgVersion.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgVersion.java index afe6a17ca1..ea4a96ba6e 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgVersion.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgVersion.java @@ -34,6 +34,7 @@ package sonia.scm.repository; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; //~--- JDK imports ------------------------------------------------------------ @@ -100,10 +101,10 @@ public class HgVersion public String toString() { //J- - return Objects.toStringHelper(this) - .add("mercurial", mercurial) - .add("python", python) - .toString(); + return MoreObjects.toStringHelper(this) + .add("mercurial", mercurial) + .add("python", python) + .toString(); //J+ } diff --git a/scm-test/src/main/java/sonia/scm/repository/client/spi/CommitRequest.java b/scm-test/src/main/java/sonia/scm/repository/client/spi/CommitRequest.java index fd473300fa..e278604366 100644 --- a/scm-test/src/main/java/sonia/scm/repository/client/spi/CommitRequest.java +++ b/scm-test/src/main/java/sonia/scm/repository/client/spi/CommitRequest.java @@ -34,6 +34,7 @@ package sonia.scm.repository.client.spi; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import sonia.scm.repository.Person; @@ -105,10 +106,10 @@ public final class CommitRequest public String toString() { //J- - return Objects.toStringHelper(this) - .add("author", author) - .add("message", message) - .toString(); + return MoreObjects.toStringHelper(this) + .add("author", author) + .add("message", message) + .toString(); //J+ } diff --git a/scm-test/src/main/java/sonia/scm/repository/client/spi/TagRequest.java b/scm-test/src/main/java/sonia/scm/repository/client/spi/TagRequest.java index fccf555c16..3138a4331e 100644 --- a/scm-test/src/main/java/sonia/scm/repository/client/spi/TagRequest.java +++ b/scm-test/src/main/java/sonia/scm/repository/client/spi/TagRequest.java @@ -34,6 +34,7 @@ package sonia.scm.repository.client.spi; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; /** @@ -103,10 +104,10 @@ public final class TagRequest public String toString() { //J- - return Objects.toStringHelper(this) - .add("revision", revision) - .add("name", name) - .toString(); + return MoreObjects.toStringHelper(this) + .add("revision", revision) + .add("name", name) + .toString(); //J+ } diff --git a/scm-webapp/src/main/java/sonia/scm/ClassOverride.java b/scm-webapp/src/main/java/sonia/scm/ClassOverride.java index 63d4c8339b..98a19bc28a 100644 --- a/scm-webapp/src/main/java/sonia/scm/ClassOverride.java +++ b/scm-webapp/src/main/java/sonia/scm/ClassOverride.java @@ -34,6 +34,7 @@ package sonia.scm; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; //~--- JDK imports ------------------------------------------------------------ @@ -97,10 +98,10 @@ public class ClassOverride implements Validateable public String toString() { //J- - return Objects.toStringHelper(this) - .add("bind", bind) - .add("to", to) - .toString(); + return MoreObjects.toStringHelper(this) + .add("bind", bind) + .add("to", to) + .toString(); //J+ } diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/Permission.java b/scm-webapp/src/main/java/sonia/scm/api/rest/Permission.java index cab11840df..ffd0673f9e 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/Permission.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/Permission.java @@ -34,15 +34,15 @@ package sonia.scm.api.rest; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.Serializable; - import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serializable; + +//~--- JDK imports ------------------------------------------------------------ /** * @@ -127,10 +127,10 @@ public class Permission implements Serializable public String toString() { //J- - return Objects.toStringHelper(this) - .add("id", id) - .add("value", value) - .toString(); + return MoreObjects.toStringHelper(this) + .add("id", id) + .add("value", value) + .toString(); //J+ } diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/RestExceptionResult.java b/scm-webapp/src/main/java/sonia/scm/api/rest/RestExceptionResult.java index 42130a0a35..fac7168bc6 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/RestExceptionResult.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/RestExceptionResult.java @@ -34,6 +34,7 @@ package sonia.scm.api.rest; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import com.google.common.base.Throwables; @@ -145,10 +146,10 @@ public class RestExceptionResult public String toString() { //J- - return Objects.toStringHelper(this) - .add("message", message) - .add("stacktrace", stacktrace) - .toString(); + return MoreObjects.toStringHelper(this) + .add("message", message) + .add("stacktrace", stacktrace) + .toString(); //J+ } diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java index b7b6e0f826..6be60703b8 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryImportResource.java @@ -35,6 +35,7 @@ package sonia.scm.api.rest.resources; //~--- non-JDK imports -------------------------------------------------------- +import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; @@ -820,10 +821,10 @@ public class RepositoryImportResource public String toString() { //J- - return Objects.toStringHelper(this) - .add("name", name) - .add("url", url) - .toString(); + return MoreObjects.toStringHelper(this) + .add("name", name) + .add("url", url) + .toString(); //J+ } diff --git a/scm-webapp/src/main/java/sonia/scm/cache/CacheConfigurations.java b/scm-webapp/src/main/java/sonia/scm/cache/CacheConfigurations.java index f84782fee2..8a5e56624b 100644 --- a/scm-webapp/src/main/java/sonia/scm/cache/CacheConfigurations.java +++ b/scm-webapp/src/main/java/sonia/scm/cache/CacheConfigurations.java @@ -45,6 +45,7 @@ import java.io.IOException; import java.net.URL; +import java.util.Collections; import java.util.Enumeration; import java.util.Iterator; @@ -109,7 +110,7 @@ public final class CacheConfigurations if (it == null) { - it = Iterators.emptyIterator(); + it = Collections.emptyIterator(); } return it; diff --git a/scm-webapp/src/main/java/sonia/scm/cache/GuavaCacheConfiguration.java b/scm-webapp/src/main/java/sonia/scm/cache/GuavaCacheConfiguration.java index 0d339c8a6c..2b761996fc 100644 --- a/scm-webapp/src/main/java/sonia/scm/cache/GuavaCacheConfiguration.java +++ b/scm-webapp/src/main/java/sonia/scm/cache/GuavaCacheConfiguration.java @@ -34,17 +34,16 @@ package sonia.scm.cache; //~--- non-JDK imports -------------------------------------------------------- -import com.google.common.base.Objects; - -//~--- JDK imports ------------------------------------------------------------ - -import java.io.Serializable; +import com.google.common.base.MoreObjects; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; +import java.io.Serializable; + +//~--- JDK imports ------------------------------------------------------------ /** * @@ -70,19 +69,19 @@ public class GuavaCacheConfiguration implements Serializable public String toString() { //J- - return Objects.toStringHelper(this) - .add("concurrencyLevel", concurrencyLevel) - .add("copyStrategy", copyStrategy) - .add("expireAfterAccess", expireAfterAccess) - .add("expireAfterWrite", expireAfterWrite) - .add("initialCapacity", initialCapacity) - .add("maximumSize", maximumSize) - .add("maximumWeight", maximumWeight) - .add("recordStats", recordStats) - .add("softValues", softValues) - .add("weakKeys", weakKeys) - .add("weakValues", weakValues) - .omitNullValues().toString(); + return MoreObjects.toStringHelper(this) + .add("concurrencyLevel", concurrencyLevel) + .add("copyStrategy", copyStrategy) + .add("expireAfterAccess", expireAfterAccess) + .add("expireAfterWrite", expireAfterWrite) + .add("initialCapacity", initialCapacity) + .add("maximumSize", maximumSize) + .add("maximumWeight", maximumWeight) + .add("recordStats", recordStats) + .add("softValues", softValues) + .add("weakKeys", weakKeys) + .add("weakValues", weakValues) + .omitNullValues().toString(); //J+ } diff --git a/scm-webapp/src/main/java/sonia/scm/security/ConfigurableLoginAttemptHandler.java b/scm-webapp/src/main/java/sonia/scm/security/ConfigurableLoginAttemptHandler.java index 304c8ead13..c1e08da13a 100644 --- a/scm-webapp/src/main/java/sonia/scm/security/ConfigurableLoginAttemptHandler.java +++ b/scm-webapp/src/main/java/sonia/scm/security/ConfigurableLoginAttemptHandler.java @@ -30,12 +30,8 @@ */ package sonia.scm.security; -import com.google.common.base.Objects; +import com.google.common.base.MoreObjects; import com.google.inject.Inject; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; -import java.util.concurrent.TimeUnit; -import javax.inject.Singleton; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationInfo; import org.apache.shiro.authc.AuthenticationToken; @@ -44,6 +40,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import sonia.scm.config.ScmConfiguration; +import javax.inject.Singleton; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import java.util.concurrent.TimeUnit; + /** * Configurable implementation of {@link LoginAttemptHandler}. * @@ -175,10 +176,10 @@ public class ConfigurableLoginAttemptHandler implements LoginAttemptHandler { @Override public String toString() { - return Objects.toStringHelper(this) - .add("counter", counter) - .add("lastAttempt", lastAttempt) - .toString(); + return MoreObjects.toStringHelper(this) + .add("counter", counter) + .add("lastAttempt", lastAttempt) + .toString(); } } diff --git a/scm-webapp/src/test/java/sonia/scm/cache/CacheConfigurationTestLoader.java b/scm-webapp/src/test/java/sonia/scm/cache/CacheConfigurationTestLoader.java index 0b111e4ef1..5bca6921f3 100644 --- a/scm-webapp/src/test/java/sonia/scm/cache/CacheConfigurationTestLoader.java +++ b/scm-webapp/src/test/java/sonia/scm/cache/CacheConfigurationTestLoader.java @@ -43,6 +43,7 @@ import org.junit.rules.TemporaryFolder; import java.io.File; import java.io.IOException; import java.net.URL; +import java.util.Collections; import java.util.Iterator; import static org.mockito.Mockito.mock; @@ -190,7 +191,7 @@ public class CacheConfigurationTestLoader implements CacheConfigurationLoader if (moduleConfigurations == null) { - urlIterator = Iterators.emptyIterator(); + urlIterator = Collections.emptyIterator(); } else { diff --git a/scm-webapp/src/test/java/sonia/scm/selenium/page/RepositoriesAddPage.java b/scm-webapp/src/test/java/sonia/scm/selenium/page/RepositoriesAddPage.java index f9f00056ae..1454d8c5ac 100644 --- a/scm-webapp/src/test/java/sonia/scm/selenium/page/RepositoriesAddPage.java +++ b/scm-webapp/src/test/java/sonia/scm/selenium/page/RepositoriesAddPage.java @@ -30,17 +30,14 @@ */ package sonia.scm.selenium.page; -import com.google.common.base.Objects; -import java.util.List; -import org.openqa.selenium.By; -import org.openqa.selenium.JavascriptExecutor; -import org.openqa.selenium.NotFoundException; -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.WebElement; +import com.google.common.base.MoreObjects; +import org.openqa.selenium.*; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.ui.WebDriverWait; import sonia.scm.repository.Repository; +import java.util.List; + /** * Page object for scm-manager's repository creation page. * @@ -130,7 +127,7 @@ public class RepositoriesAddPage extends BasePage { String script = "Sonia.repository.getTypeByName('" + type + "').displayName;"; displayName = (String) ((JavascriptExecutor)driver).executeScript(script); } - return Objects.firstNonNull(displayName, type); + return MoreObjects.firstNonNull(displayName, type); } } From 326252483231d01d565747ace921026b5594312e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Stefanik?= Date: Mon, 18 Sep 2017 12:30:20 +0000 Subject: [PATCH 24/27] prevent binary data in {extras} from interfering with UTF-8 decoding --- .../src/main/resources/sonia/scm/styles/changesets-eager.style | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/styles/changesets-eager.style b/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/styles/changesets-eager.style index 5c462fc459..e911bce7b2 100644 --- a/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/styles/changesets-eager.style +++ b/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/styles/changesets-eager.style @@ -1,5 +1,5 @@ header = "%{pattern}" -changeset = "{rev}:{node}{author}\n{date|hgdate}\n{branch}\n{parents}{join(extras,',')}\n{tags}{file_adds}{file_mods}{file_dels}\n{desc}\0" +changeset = "{rev}:{node}{author}\n{date|hgdate}\n{branch}\n{parents}close={if(get(extras, 'close'),1,0)}\n{tags}{file_adds}{file_mods}{file_dels}\n{desc}\0" tag = "t {tag}\n" file_add = "a {file_add}\n" file_mod = "m {file_mod}\n" From bfc70d418def3284e7cc7615a59f074ac97df412 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Stefanik?= Date: Mon, 18 Sep 2017 12:34:50 +0000 Subject: [PATCH 25/27] oops... don't interpret "close=junk" as "close=1" --- .../src/main/resources/sonia/scm/styles/changesets-eager.style | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/styles/changesets-eager.style b/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/styles/changesets-eager.style index e911bce7b2..73b3ec694b 100644 --- a/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/styles/changesets-eager.style +++ b/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/styles/changesets-eager.style @@ -1,5 +1,5 @@ header = "%{pattern}" -changeset = "{rev}:{node}{author}\n{date|hgdate}\n{branch}\n{parents}close={if(get(extras, 'close'),1,0)}\n{tags}{file_adds}{file_mods}{file_dels}\n{desc}\0" +changeset = "{rev}:{node}{author}\n{date|hgdate}\n{branch}\n{parents}close={ifeq(get(extras, 'close'),1,1,0)}\n{tags}{file_adds}{file_mods}{file_dels}\n{desc}\0" tag = "t {tag}\n" file_add = "a {file_add}\n" file_mod = "m {file_mod}\n" From bd1760a4ac578df9149b7a49cb373f6b7c93160c Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sun, 10 Jun 2018 19:51:03 +0200 Subject: [PATCH 26/27] added missing default values to plugin.xml and module.xml --- .../scm/annotation/ScmAnnotationProcessor.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/scm-annotation-processor/src/main/java/sonia/scm/annotation/ScmAnnotationProcessor.java b/scm-annotation-processor/src/main/java/sonia/scm/annotation/ScmAnnotationProcessor.java index b49713d61a..c1cd26dfe7 100644 --- a/scm-annotation-processor/src/main/java/sonia/scm/annotation/ScmAnnotationProcessor.java +++ b/scm-annotation-processor/src/main/java/sonia/scm/annotation/ScmAnnotationProcessor.java @@ -101,6 +101,8 @@ import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; +import static javax.lang.model.util.ElementFilter.methodsIn; + /** * * @author Sebastian Sdorra @@ -432,7 +434,7 @@ public final class ScmAnnotationProcessor extends AbstractProcessor //J- descriptorElements.add( new SubscriberElement( - clazz.toString(), + clazz.toString(), param.asType().toString(), desc ) @@ -538,6 +540,15 @@ public final class ScmAnnotationProcessor extends AbstractProcessor attributes.put(entry.getKey().getSimpleName().toString(), getValue(entry.getValue())); } + + // add default values + for (ExecutableElement meth : methodsIn(am.getAnnotationType().asElement().getEnclosedElements())) { + String attribute = meth.getSimpleName().toString(); + AnnotationValue defaultValue = meth.getDefaultValue(); + if (defaultValue != null && !attributes.containsKey(attribute)) { + attributes.put(attribute, getValue(defaultValue)); + } + } } } From 30c86d3291eff44483132c8e405ac481877ce2fc Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sun, 10 Jun 2018 19:59:24 +0200 Subject: [PATCH 27/27] reformat ScmAnnotationProcessor --- .../annotation/ScmAnnotationProcessor.java | 358 ++++-------------- 1 file changed, 71 insertions(+), 287 deletions(-) diff --git a/scm-annotation-processor/src/main/java/sonia/scm/annotation/ScmAnnotationProcessor.java b/scm-annotation-processor/src/main/java/sonia/scm/annotation/ScmAnnotationProcessor.java index c1cd26dfe7..6d53276498 100644 --- a/scm-annotation-processor/src/main/java/sonia/scm/annotation/ScmAnnotationProcessor.java +++ b/scm-annotation-processor/src/main/java/sonia/scm/annotation/ScmAnnotationProcessor.java @@ -111,82 +111,53 @@ import static javax.lang.model.util.ElementFilter.methodsIn; @MetaInfServices(Processor.class) @SuppressWarnings({ "Since16", "Since15" }) @SupportedSourceVersion(SourceVersion.RELEASE_8) -public final class ScmAnnotationProcessor extends AbstractProcessor -{ +public final class ScmAnnotationProcessor extends AbstractProcessor { - /** Field description */ private static final String DESCRIPTOR_MODULE = "META-INF/scm/module.xml"; - - /** Field description */ private static final String DESCRIPTOR_PLUGIN = "META-INF/scm/plugin.xml"; - /** Field description */ private static final String EL_MODULE = "module"; - /** Field description */ private static final String EMPTY = ""; - /** Field description */ private static final String PROPERTY_VALUE = "yes"; - /** Field description */ - private static final Set SUBSCRIBE_ANNOTATIONS = - ImmutableSet.of(Subscribe.class.getName()); + private static final Set SUBSCRIBE_ANNOTATIONS = ImmutableSet.of(Subscribe.class.getName()); - /** Field description */ - private static final Set CLASS_ANNOTATIONS = - ImmutableSet.of(new ClassAnnotation("rest-resource", Path.class), - new ClassAnnotation("rest-provider", Provider.class)); + private static final Set CLASS_ANNOTATIONS = ImmutableSet.of( + new ClassAnnotation("rest-resource", Path.class), + new ClassAnnotation("rest-provider", Provider.class) + ); //~--- methods -------------------------------------------------------------- - /** - * Method description - * - * - * @param annotations - * @param roundEnv - * - * @return - */ @Override - public boolean process(Set annotations, - RoundEnvironment roundEnv) - { - if (!roundEnv.processingOver()) - { + public boolean process(Set annotations, RoundEnvironment roundEnv) { + if (!roundEnv.processingOver()) { Set descriptorElements = Sets.newHashSet(); Set subscriberAnnotations = Sets.newHashSet(); - for (TypeElement e : annotations) - { + for (TypeElement e : annotations) { PluginAnnotation pa = e.getAnnotation(PluginAnnotation.class); - if (pa != null) - { + if (pa != null) { scanForClassAnnotations(descriptorElements, roundEnv, e, pa.value()); } - if (SUBSCRIBE_ANNOTATIONS.contains(e.getQualifiedName().toString())) - { + if (SUBSCRIBE_ANNOTATIONS.contains(e.getQualifiedName().toString())) { subscriberAnnotations.add(e); } } - for (ClassAnnotation ca : CLASS_ANNOTATIONS) - { - TypeElement annotation = findAnnotation(annotations, - ca.annotationClass); + for (ClassAnnotation ca : CLASS_ANNOTATIONS) { + TypeElement annotation = findAnnotation(annotations, ca.annotationClass); - if (annotation != null) - { - scanForClassAnnotations(descriptorElements, roundEnv, annotation, - ca.elementName); + if (annotation != null) { + scanForClassAnnotations(descriptorElements, roundEnv, annotation, ca.elementName); } } - for (TypeElement annotation : subscriberAnnotations) - { + for (TypeElement annotation : subscriberAnnotations) { scanForSubscriberAnnotations(descriptorElements, roundEnv, annotation); } @@ -196,45 +167,22 @@ public final class ScmAnnotationProcessor extends AbstractProcessor return false; } - /** - * Method description - * - * - * @param closeable - */ - private void close(Closeable closeable) - { - if (closeable != null) - { - try - { + private void close(Closeable closeable) { + if (closeable != null) { + try { closeable.close(); - } - catch (IOException ex) - { + } catch (IOException ex) { printException("could not close closeable", ex); } } } - /** - * Method description - * - * - * @param annotations - * @param annotationClass - * - * @return - */ private TypeElement findAnnotation(Set annotations, - Class annotationClass) - { + Class annotationClass) { TypeElement annotation = null; - for (TypeElement te : annotations) - { - if (te.getQualifiedName().toString().equals(annotationClass.getName())) - { + for (TypeElement te : annotations) { + if (te.getQualifiedName().toString().equals(annotationClass.getName())) { annotation = te; break; @@ -244,94 +192,50 @@ public final class ScmAnnotationProcessor extends AbstractProcessor return annotation; } - /** - * Method description - * - * - * @param filer - * - * @return - * - * @throws IOException - */ - private File findDescriptor(Filer filer) throws IOException - { - FileObject f = filer.getResource(StandardLocation.CLASS_OUTPUT, EMPTY, - DESCRIPTOR_PLUGIN); + private File findDescriptor(Filer filer) throws IOException { + FileObject f = filer.getResource(StandardLocation.CLASS_OUTPUT, EMPTY, DESCRIPTOR_PLUGIN); File file = new File(f.toUri()); - if (!file.exists()) - { - f = filer.getResource(StandardLocation.CLASS_OUTPUT, EMPTY, - DESCRIPTOR_MODULE); + if (!file.exists()) { + f = filer.getResource(StandardLocation.CLASS_OUTPUT, EMPTY, DESCRIPTOR_MODULE); file = new File(f.toUri()); } return file; } - /** - * Method description - * - * - * @param f - * - * @param file - * - * @return - */ - private Document parseDocument(File file) - { + private Document parseDocument(File file) { Document doc = null; InputStream input = null; - try - { + try { DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); - if (file.exists()) - { + if (file.exists()) { input = new FileInputStream(file); doc = builder.parse(input); - } - else - { + } else { doc = builder.newDocument(); doc.appendChild(doc.createElement(EL_MODULE)); } } - catch (ParserConfigurationException | SAXException | IOException - | DOMException ex) - { + catch (ParserConfigurationException | SAXException | IOException | DOMException ex) { printException("could not parse document", ex); - } - finally - { + } finally { close(input); } return doc; } - /** - * Method description - * - * - * @param obj - * - * @return - */ - private String prepareArrayElement(Object obj) - { + private String prepareArrayElement(Object obj) { String v = obj.toString(); - if (v.startsWith("\"")) - { + if (v.startsWith("\"")) { v = v.substring(1); - if (v.endsWith("")) - { + if (v.endsWith("")) { v = v.substring(0, v.length() - 1); } } @@ -339,15 +243,7 @@ public final class ScmAnnotationProcessor extends AbstractProcessor return v; } - /** - * Method description - * - * - * @param msg - * @param throwable - */ - private void printException(String msg, Throwable throwable) - { + private void printException(String msg, Throwable throwable) { processingEnv.getMessager().printMessage(Kind.ERROR, msg); String stack = Throwables.getStackTraceAsString(throwable); @@ -355,37 +251,18 @@ public final class ScmAnnotationProcessor extends AbstractProcessor processingEnv.getMessager().printMessage(Kind.ERROR, stack); } - /** - * Method description - * - * - * @param descriptorElements - * @param roundEnv - * @param annotation - * @param elementName - * @param elements - * - * @return - */ - private void scanForClassAnnotations( - Set descriptorElements, RoundEnvironment roundEnv, - TypeElement annotation, String elementName) - { + private void scanForClassAnnotations(Set descriptorElements, + RoundEnvironment roundEnv, TypeElement annotation, String elementName) { Set classes = Sets.newHashSet(); - - for (Element e : roundEnv.getElementsAnnotatedWith(annotation)) - { - if (e.getKind().isClass() || e.getKind().isInterface()) - { + for (Element e : roundEnv.getElementsAnnotatedWith(annotation)) { + if (e.getKind().isClass() || e.getKind().isInterface()) { TypeElement type = (TypeElement) e; String desc = processingEnv.getElementUtils().getDocComment(type); - if (desc != null) - { + if (desc != null) { desc = desc.trim(); } - //J- classes.add( new ClassWithAttributes( type.getQualifiedName().toString(), @@ -393,45 +270,29 @@ public final class ScmAnnotationProcessor extends AbstractProcessor getAttributesFromAnnotation(e, annotation) ) ); - //J+ } } descriptorElements.add(new ClassSetElement(elementName, classes)); } - /** - * Method description - * - * - * @param descriptorElements - * @param roundEnv - * @param annotation - */ - private void scanForSubscriberAnnotations( - Set descriptorElements, RoundEnvironment roundEnv, - TypeElement annotation) - { - for (Element el : roundEnv.getElementsAnnotatedWith(annotation)) - { - if (el.getKind() == ElementKind.METHOD) - { + private void scanForSubscriberAnnotations(Set descriptorElements, RoundEnvironment roundEnv, + TypeElement annotation) { + for (Element el : roundEnv.getElementsAnnotatedWith(annotation)) { + if (el.getKind() == ElementKind.METHOD) { ExecutableElement ee = (ExecutableElement) el; List params = ee.getParameters(); - if ((params != null) && (params.size() == 1)) - { + if ((params != null) && (params.size() == 1)) { VariableElement param = params.get(0); Element clazz = el.getEnclosingElement(); String desc = processingEnv.getElementUtils().getDocComment(clazz); - if (desc != null) - { + if (desc != null) { desc = desc.trim(); } - //J- descriptorElements.add( new SubscriberElement( clazz.toString(), @@ -439,60 +300,37 @@ public final class ScmAnnotationProcessor extends AbstractProcessor desc ) ); - //J+ } } } } - /** - * Method description - * - * - * @param descriptorElements - */ - private void write(Set descriptorElements) - { + private void write(Set descriptorElements) { Filer filer = processingEnv.getFiler(); - try - { + try { File file = findDescriptor(filer); Document doc = parseDocument(file); - if (doc != null) - { + if (doc != null) { org.w3c.dom.Element root = doc.getDocumentElement(); - for (DescriptorElement el : descriptorElements) - { + for (DescriptorElement el : descriptorElements) { el.append(doc, root); } writeDocument(doc, file); } - } - catch (IOException ex) - { + } catch (IOException ex) { printException("could not open plugin descriptor", ex); } } - /** - * Method description - * - * - * @param doc - * @param f - * @param file - */ - private void writeDocument(Document doc, File file) - { + private void writeDocument(Document doc, File file) { Writer writer = null; - try - { + try { file.getParentFile().mkdirs(); writer = new FileWriter(file); @@ -501,42 +339,23 @@ public final class ScmAnnotationProcessor extends AbstractProcessor transformer.setOutputProperty(OutputKeys.INDENT, PROPERTY_VALUE); transformer.transform(new DOMSource(doc), new StreamResult(writer)); - } - catch (IOException | IllegalArgumentException | TransformerException ex) - { + } catch (IOException | IllegalArgumentException | TransformerException ex) { printException("could not write document", ex); - } - finally - { + } finally { close(writer); } } //~--- get methods ---------------------------------------------------------- - /** - * Method description - * - * - * @param el - * @param annotation - * - * @return - */ - private Map getAttributesFromAnnotation(Element el, - TypeElement annotation) - { + private Map getAttributesFromAnnotation(Element el, TypeElement annotation) { Map attributes = Maps.newHashMap(); - for (AnnotationMirror am : el.getAnnotationMirrors()) - { + for (AnnotationMirror am : el.getAnnotationMirrors()) { String qn = am.getAnnotationType().asElement().toString(); - if (qn.equals(annotation.toString())) - { - for (Entry entry : am.getElementValues().entrySet()) - { + if (qn.equals(annotation.toString())) { + for (Entry entry : am.getElementValues().entrySet()) { attributes.put(entry.getKey().getSimpleName().toString(), getValue(entry.getValue())); } @@ -555,39 +374,25 @@ public final class ScmAnnotationProcessor extends AbstractProcessor return attributes; } - /** - * Method description - * - * - * @param v - * - * @return - */ - private String getValue(AnnotationValue v) - { + private String getValue(AnnotationValue v) { String value; Object object = v.getValue(); - if (object instanceof Iterable) - { + if (object instanceof Iterable) { Iterator it = ((Iterable) object).iterator(); StringBuilder buffer = new StringBuilder(); - while (it.hasNext()) - { + while (it.hasNext()) { buffer.append(prepareArrayElement(it.next())); - if (it.hasNext()) - { + if (it.hasNext()) { buffer.append(","); } } value = buffer.toString(); - } - else - { + } else { value = object.toString(); } @@ -596,36 +401,15 @@ public final class ScmAnnotationProcessor extends AbstractProcessor //~--- inner classes -------------------------------------------------------- - /** - * Class description - * - * - * @version Enter version here..., 14/03/18 - * @author Enter your name here... - */ - private static final class ClassAnnotation - { + private static final class ClassAnnotation { - /** - * Constructs ... - * - * - * @param elementName - * @param annotationClass - */ - public ClassAnnotation(String elementName, - Class annotationClass) - { + private final String elementName; + private final Class annotationClass; + + ClassAnnotation(String elementName, Class annotationClass) { this.elementName = elementName; this.annotationClass = annotationClass; } - //~--- fields ------------------------------------------------------------- - - /** Field description */ - private final Class annotationClass; - - /** Field description */ - private final String elementName; } }