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 7ef632a3b0..38961ccaf8 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 @@ -102,7 +102,6 @@ import javax.xml.transform.stream.StreamResult; import static javax.lang.model.util.ElementFilter.methodsIn; /** - * * @author Sebastian Sdorra */ @SupportedAnnotationTypes("*") @@ -376,11 +375,14 @@ public final class ScmAnnotationProcessor extends AbstractProcessor { } // add default values - for (ExecutableElement meth : methodsIn(am.getAnnotationType().asElement().getEnclosedElements())) { + for (ExecutableElement meth : methodsIn(annotationMirror.getAnnotationType().asElement().getEnclosedElements())) { String attribute = meth.getSimpleName().toString(); AnnotationValue defaultValue = meth.getDefaultValue(); if (defaultValue != null && !attributes.containsKey(attribute)) { - attributes.put(attribute, getValue(defaultValue)); + String value = getValue(defaultValue); + if (value != null && !value.isEmpty()) { + attributes.put(attribute, value); + } } } } 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-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/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/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 5439cc77ec..cb64b75aff 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 ------------------------------------------------------------ /** * @@ -273,12 +262,12 @@ 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) { - Collections.sort(valueList, comparator); + valueList.sort(comparator); } int length = valueList.size(); @@ -506,12 +495,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-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/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(); - } } /** 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/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+ 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/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-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/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-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-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 --------------------------------------------------------------- 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); } 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/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/test/java/sonia/scm/cache/CacheTestBase.java b/scm-webapp/src/test/java/sonia/scm/cache/CacheTestBase.java index 54cf7991c5..f0396741aa 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")); @@ -188,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"); @@ -197,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/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/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/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."); }); }