From 4f3ceb6c32df36e63e99ea321b1389e9ac6876f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20W=C3=BCrl?= Date: Mon, 18 Jun 2018 07:13:45 +0200 Subject: [PATCH] update dependencies and java version --- pom.xml | 18 +++++++--- .../tngtech/configbuilder/ConfigBuilder.java | 9 +++-- .../PropertyFiltersProcessor.java | 35 +++---------------- .../CollectionToArrayListTransformer.java | 4 +-- .../CollectionToHashSetTransformer.java | 4 +-- ...tionToCommaSeparatedStringTransformer.java | 4 +-- .../typetransformer/TypeTransformer.java | 2 +- .../ImportedValueProcessor.java | 4 +-- .../exception/ValidatorException.java | 7 +--- .../configbuilder/util/CommandLineHelper.java | 11 +++--- .../util/ConstructionHelper.java | 6 +--- .../util/FieldValueTransformer.java | 2 +- ...ConfigBuilderExtensionIntegrationTest.java | 2 +- .../configbuilder/ConfigBuilderTest.java | 2 +- ...lderWithoutAnnotationsIntegrationTest.java | 2 +- .../util/CommandLineHelperTest.java | 18 +++------- .../util/ConfigValidatorTest.java | 5 +-- .../util/ConstructionHelperTest.java | 4 +-- .../configbuilder/util/FieldSetterTest.java | 8 ++--- 19 files changed, 56 insertions(+), 91 deletions(-) diff --git a/pom.xml b/pom.xml index 6f93979f..af9e0464 100644 --- a/pom.xml +++ b/pom.xml @@ -67,8 +67,8 @@ maven-compiler-plugin 3.7.0 - 1.7 - 1.7 + 1.8 + 1.8 @@ -100,7 +100,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 2.10.4 + 3.0.1 attach-javadocs @@ -113,7 +113,7 @@ org.jacoco jacoco-maven-plugin - 0.7.9 + 0.8.1 prepare-agent @@ -127,6 +127,14 @@ org.eluder.coveralls coveralls-maven-plugin 4.3.0 + + + + javax.xml.bind + jaxb-api + 2.2.3 + + @@ -164,7 +172,7 @@ com.tngtech.java property-loader - 1.3.1 + 1.4.0 junit diff --git a/src/main/java/com/tngtech/configbuilder/ConfigBuilder.java b/src/main/java/com/tngtech/configbuilder/ConfigBuilder.java index f15df582..3aac859f 100644 --- a/src/main/java/com/tngtech/configbuilder/ConfigBuilder.java +++ b/src/main/java/com/tngtech/configbuilder/ConfigBuilder.java @@ -223,7 +223,8 @@ public ConfigBuilder withPropertyLocations(Object ... propertyLocations) { * @param propertyFilters property filters which should be applied after loading properties * @return the instance of ConfigBuilder */ - public ConfigBuilder withPropertyFilters(Class ... propertyFilters) { + @SafeVarargs + public final ConfigBuilder withPropertyFilters(Class... propertyFilters) { final DefaultPropertyFilterContainer filterContainer = propertyLoader.getFilters(); final List filters = filterContainer.getFilters(); filters.clear(); @@ -231,9 +232,7 @@ public ConfigBuilder withPropertyFilters(Class propertyFilter : propertyFilters) { try { filters.add(propertyFilter.newInstance()); - } catch (InstantiationException e) { - LOGGER.error("could not create filter '{}'", propertyFilter.getSimpleName(), e); - } catch (IllegalAccessException e) { + } catch (InstantiationException | IllegalAccessException e) { LOGGER.error("could not create filter '{}'", propertyFilter.getSimpleName(), e); } } @@ -295,6 +294,6 @@ private void initializeErrorMessageSetup(PropertyLoader propertyLoader) { * @return ConfigBuilder instance for config class */ public static ConfigBuilder on(Class clazz) { - return new ConfigBuilder(clazz); + return new ConfigBuilder<>(clazz); } } \ No newline at end of file diff --git a/src/main/java/com/tngtech/configbuilder/annotation/propertyloaderconfiguration/PropertyFiltersProcessor.java b/src/main/java/com/tngtech/configbuilder/annotation/propertyloaderconfiguration/PropertyFiltersProcessor.java index 1d9250c0..2869c76d 100644 --- a/src/main/java/com/tngtech/configbuilder/annotation/propertyloaderconfiguration/PropertyFiltersProcessor.java +++ b/src/main/java/com/tngtech/configbuilder/annotation/propertyloaderconfiguration/PropertyFiltersProcessor.java @@ -38,40 +38,15 @@ private Map, Action> createFilterMap( fina filterContainer ) { Map, Action> actionMap = Maps.newHashMap(); - actionMap.put( VariableResolvingFilter.class, new Action() { - @Override - public void execute() { - filterContainer.withVariableResolvingFilter(); - } - } ); + actionMap.put( VariableResolvingFilter.class, () -> filterContainer.withVariableResolvingFilter()); - actionMap.put( DecryptingFilter.class, new Action() { - @Override - public void execute() { - filterContainer.withDecryptingFilter(); - } - } ); + actionMap.put( DecryptingFilter.class, () -> filterContainer.withDecryptingFilter()); - actionMap.put( EnvironmentResolvingFilter.class, new Action() { - @Override - public void execute() { - filterContainer.withEnvironmentResolvingFilter(); - } - } ); + actionMap.put( EnvironmentResolvingFilter.class, () -> filterContainer.withEnvironmentResolvingFilter()); - actionMap.put( WarnOnSurroundingWhitespace.class, new Action() { - @Override - public void execute() { - filterContainer.withWarnOnSurroundingWhitespace(); - } - } ); + actionMap.put( WarnOnSurroundingWhitespace.class, () -> filterContainer.withWarnOnSurroundingWhitespace()); - actionMap.put( ThrowIfPropertyHasToBeDefined.class, new Action() { - @Override - public void execute() { - filterContainer.withWarnIfPropertyHasToBeDefined(); - } - } ); + actionMap.put( ThrowIfPropertyHasToBeDefined.class, () -> filterContainer.withWarnIfPropertyHasToBeDefined()); return actionMap; } diff --git a/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/CollectionToArrayListTransformer.java b/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/CollectionToArrayListTransformer.java index 69f8d82c..5ac0f52c 100644 --- a/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/CollectionToArrayListTransformer.java +++ b/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/CollectionToArrayListTransformer.java @@ -7,12 +7,12 @@ import java.util.ArrayList; import java.util.Collection; -public class CollectionToArrayListTransformer extends TypeTransformer { +public class CollectionToArrayListTransformer extends TypeTransformer { @Override public ArrayList transform(Collection argument) { ArrayList result = Lists.newArrayList(); - for(Object value : argument) { + for (Object value : argument) { result.add(fieldValueTransformer.performNecessaryTransformations(value, ((ParameterizedType) targetType).getActualTypeArguments()[0])); } return result; diff --git a/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/CollectionToHashSetTransformer.java b/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/CollectionToHashSetTransformer.java index 6ebe295e..240a9aea 100644 --- a/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/CollectionToHashSetTransformer.java +++ b/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/CollectionToHashSetTransformer.java @@ -6,12 +6,12 @@ import java.util.Collection; import java.util.HashSet; -public class CollectionToHashSetTransformer extends TypeTransformer { +public class CollectionToHashSetTransformer extends TypeTransformer { @Override public HashSet transform(Collection argument) { HashSet result = Sets.newHashSet(); - for(Object value : argument) { + for (Object value : argument) { result.add(fieldValueTransformer.performNecessaryTransformations(value, ((ParameterizedType) targetType).getActualTypeArguments()[0])); } return result; diff --git a/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/StringCollectionToCommaSeparatedStringTransformer.java b/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/StringCollectionToCommaSeparatedStringTransformer.java index fbf87c32..06b0b994 100644 --- a/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/StringCollectionToCommaSeparatedStringTransformer.java +++ b/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/StringCollectionToCommaSeparatedStringTransformer.java @@ -5,10 +5,10 @@ import java.util.Collection; public class StringCollectionToCommaSeparatedStringTransformer extends TypeTransformer, String> { - + @Override public String transform(Collection argument) { - Joiner joiner = Joiner.on((String)additionalOptions[0]); + Joiner joiner = Joiner.on((String) additionalOptions[0]); return joiner.join(argument); } } diff --git a/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/TypeTransformer.java b/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/TypeTransformer.java index ba7c680a..0bfb1210 100644 --- a/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/TypeTransformer.java +++ b/src/main/java/com/tngtech/configbuilder/annotation/typetransformer/TypeTransformer.java @@ -68,7 +68,7 @@ private Type[] determineTypeArguments() { } private Map buildTypeNameMap(Type[] typeArguments, TypeVariable[] typeParameters) { - Map typeVariableMap = new HashMap(); + Map typeVariableMap = new HashMap<>(); for (int i = 0; i < typeParameters.length; i++) { typeVariableMap.put(typeParameters[i], typeArguments[i]); } diff --git a/src/main/java/com/tngtech/configbuilder/annotation/valueextractor/ImportedValueProcessor.java b/src/main/java/com/tngtech/configbuilder/annotation/valueextractor/ImportedValueProcessor.java index 17d640ac..5e887256 100644 --- a/src/main/java/com/tngtech/configbuilder/annotation/valueextractor/ImportedValueProcessor.java +++ b/src/main/java/com/tngtech/configbuilder/annotation/valueextractor/ImportedValueProcessor.java @@ -26,9 +26,7 @@ public Object getValue(Annotation annotation, ConfigBuilderFactory configBuilder Field field = importedConfiguration.getClass().getDeclaredField(fieldName); field.setAccessible(true); result = field.get(importedConfiguration); - } catch (NoSuchFieldException e) { - throw createException(configBuilderFactory, fieldName); - } catch (IllegalAccessException e) { + } catch (NoSuchFieldException | IllegalAccessException e) { throw createException(configBuilderFactory, fieldName); } diff --git a/src/main/java/com/tngtech/configbuilder/exception/ValidatorException.java b/src/main/java/com/tngtech/configbuilder/exception/ValidatorException.java index f27229af..57cb3ca5 100644 --- a/src/main/java/com/tngtech/configbuilder/exception/ValidatorException.java +++ b/src/main/java/com/tngtech/configbuilder/exception/ValidatorException.java @@ -13,12 +13,7 @@ public class ValidatorException extends RuntimeException { public ValidatorException(String message, Set> constraintViolations) { super(message); - this.constraintViolations = Sets.newHashSet(Iterables.transform(constraintViolations, new Function, ConstraintViolation>() { - @Override - public ConstraintViolation apply(ConstraintViolation constraintViolation) { - return constraintViolation; - } - })); + this.constraintViolations = Sets.newHashSet(Iterables.transform(constraintViolations, (Function, ConstraintViolation>) constraintViolation -> constraintViolation)); } public ValidatorException(String message, Throwable e) { diff --git a/src/main/java/com/tngtech/configbuilder/util/CommandLineHelper.java b/src/main/java/com/tngtech/configbuilder/util/CommandLineHelper.java index 00a326e6..ef1d3ae6 100644 --- a/src/main/java/com/tngtech/configbuilder/util/CommandLineHelper.java +++ b/src/main/java/com/tngtech/configbuilder/util/CommandLineHelper.java @@ -44,18 +44,19 @@ public Options getOptions(Class configClass) { private Option getOption(Field field) { CommandLineValue commandLineValue = field.getAnnotation(CommandLineValue.class); log.debug("adding command line option {} for field {}", commandLineValue.shortOpt(), field.getName()); - return OptionBuilder.withLongOpt(commandLineValue.longOpt()) + return Option.builder(commandLineValue.shortOpt()) + .longOpt(commandLineValue.longOpt()) .hasArg() - .isRequired(commandLineValue.required()) - .withDescription(commandLineValue.description()) + .required(commandLineValue.required()) + .desc(commandLineValue.description()) .hasArg(commandLineValue.hasArg()) - .create(commandLineValue.shortOpt()); + .build(); } private CommandLine parseCommandLine(String[] args, Options options) { CommandLine commandLine; try { - commandLine = configBuilderFactory.createInstance(GnuParser.class).parse(options, args); + commandLine = configBuilderFactory.createInstance(DefaultParser.class).parse(options, args); } catch (ParseException e) { throw new ConfigBuilderException(errorMessageSetup.getErrorMessage(e.getClass().getSuperclass()), e); } diff --git a/src/main/java/com/tngtech/configbuilder/util/ConstructionHelper.java b/src/main/java/com/tngtech/configbuilder/util/ConstructionHelper.java index a8facc0d..214c7ecb 100644 --- a/src/main/java/com/tngtech/configbuilder/util/ConstructionHelper.java +++ b/src/main/java/com/tngtech/configbuilder/util/ConstructionHelper.java @@ -25,11 +25,7 @@ public T getInstance(Class configClass, Object... objects) { log.debug("found constructor - instantiating {}", configClass.getName()); tConstructor.setAccessible(true); return tConstructor.newInstance(objects); - } catch (InstantiationException e) { - throw createConfigBuilderException(e); - } catch (IllegalAccessException e) { - throw createConfigBuilderException(e); - } catch (InvocationTargetException e) { + } catch (InstantiationException | InvocationTargetException | IllegalAccessException e) { throw createConfigBuilderException(e); } } diff --git a/src/main/java/com/tngtech/configbuilder/util/FieldValueTransformer.java b/src/main/java/com/tngtech/configbuilder/util/FieldValueTransformer.java index 8cfa90cf..0940e694 100644 --- a/src/main/java/com/tngtech/configbuilder/util/FieldValueTransformer.java +++ b/src/main/java/com/tngtech/configbuilder/util/FieldValueTransformer.java @@ -23,7 +23,7 @@ public class FieldValueTransformer { private Object[] additionalOptions; //Order is important: Prefer List over Set if both apply! - private final ArrayList> defaultTransformers = Lists.>newArrayList( + private final ArrayList> defaultTransformers = Lists.newArrayList( StringOrPrimitiveToPrimitiveTransformer.class, CharacterSeparatedStringToStringListTransformer.class, CharacterSeparatedStringToStringSetTransformer.class, diff --git a/src/test/java/com/tngtech/configbuilder/ConfigBuilderExtensionIntegrationTest.java b/src/test/java/com/tngtech/configbuilder/ConfigBuilderExtensionIntegrationTest.java index 543ef5be..b549fb58 100644 --- a/src/test/java/com/tngtech/configbuilder/ConfigBuilderExtensionIntegrationTest.java +++ b/src/test/java/com/tngtech/configbuilder/ConfigBuilderExtensionIntegrationTest.java @@ -7,7 +7,7 @@ public class ConfigBuilderExtensionIntegrationTest { - private ExtendedTestConfig config = new ConfigBuilder(ExtendedTestConfig.class).build(); + private ExtendedTestConfig config = new ConfigBuilder<>(ExtendedTestConfig.class).build(); @Test public void testGetValuePresentInSuperClassAndCurrentClass() { diff --git a/src/test/java/com/tngtech/configbuilder/ConfigBuilderTest.java b/src/test/java/com/tngtech/configbuilder/ConfigBuilderTest.java index ea47c357..26e8454f 100644 --- a/src/test/java/com/tngtech/configbuilder/ConfigBuilderTest.java +++ b/src/test/java/com/tngtech/configbuilder/ConfigBuilderTest.java @@ -89,7 +89,7 @@ public void setUp() { when(filterContainer.getFilters()).thenReturn(filters); when(commandLineHelper.getOptions(TestConfig.class)).thenReturn(commandLineOptions); - configBuilder = new ConfigBuilder(TestConfig.class, configBuilderFactory); + configBuilder = new ConfigBuilder<>(TestConfig.class, configBuilderFactory); } @Test diff --git a/src/test/java/com/tngtech/configbuilder/ConfigBuilderWithoutAnnotationsIntegrationTest.java b/src/test/java/com/tngtech/configbuilder/ConfigBuilderWithoutAnnotationsIntegrationTest.java index 9ce311aa..f96abb64 100644 --- a/src/test/java/com/tngtech/configbuilder/ConfigBuilderWithoutAnnotationsIntegrationTest.java +++ b/src/test/java/com/tngtech/configbuilder/ConfigBuilderWithoutAnnotationsIntegrationTest.java @@ -20,7 +20,7 @@ public class ConfigBuilderWithoutAnnotationsIntegrationTest { @Rule public SystemOutRule systemOut = new SystemOutRule(); - private ConfigBuilder configBuilder = new ConfigBuilder(TestConfigWithoutAnnotations.class); + private ConfigBuilder configBuilder = new ConfigBuilder<>(TestConfigWithoutAnnotations.class); @Test public void testConfigBuilderWithParameters() { diff --git a/src/test/java/com/tngtech/configbuilder/util/CommandLineHelperTest.java b/src/test/java/com/tngtech/configbuilder/util/CommandLineHelperTest.java index e48f3b24..75bb6b7f 100644 --- a/src/test/java/com/tngtech/configbuilder/util/CommandLineHelperTest.java +++ b/src/test/java/com/tngtech/configbuilder/util/CommandLineHelperTest.java @@ -5,10 +5,7 @@ import com.tngtech.configbuilder.annotation.valueextractor.CommandLineValue; import com.tngtech.configbuilder.configuration.ErrorMessageSetup; import com.tngtech.configbuilder.exception.ConfigBuilderException; -import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.GnuParser; -import org.apache.commons.cli.Option; -import org.apache.commons.cli.Options; +import org.apache.commons.cli.*; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -41,7 +38,7 @@ private static class TestConfig { @Mock private Options options; @Mock - private GnuParser parser; + private DefaultParser parser; @Mock private CommandLine commandLine; @Mock @@ -65,7 +62,7 @@ public void setUp() throws Exception { @Test public void testGetCommandLine() throws Exception { - when(configBuilderFactory.createInstance(GnuParser.class)).thenReturn(parser); + when(configBuilderFactory.createInstance(DefaultParser.class)).thenReturn(parser); when(configBuilderFactory.createInstance(Options.class)).thenReturn(options); ArgumentCaptor