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 extends ClassLoader> 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.");
});
}