From 84d3ca4666537299658ad7881df6192ceceb05ae Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Fri, 29 Sep 2017 16:21:21 +0200 Subject: [PATCH] [Minor] Some code cleanup for JDK 9 --- .../query/inmemory/BooleanSelector.java | 2 +- .../runtime/query/inmemory/NotSelector.java | 2 +- .../runtime/query/inmemory/OrSelector.java | 9 --------- .../handler/DefaultPrivilegeHandler.java | 2 +- .../internal/PrivilegeContainerModel.java | 10 ++++++++-- .../test/AbstractRealmServiceTest.java | 20 +++++++++++-------- 6 files changed, 23 insertions(+), 22 deletions(-) diff --git a/li.strolch.agent/src/main/java/li/strolch/runtime/query/inmemory/BooleanSelector.java b/li.strolch.agent/src/main/java/li/strolch/runtime/query/inmemory/BooleanSelector.java index 6f710ae52..e2eb4d093 100644 --- a/li.strolch.agent/src/main/java/li/strolch/runtime/query/inmemory/BooleanSelector.java +++ b/li.strolch.agent/src/main/java/li/strolch/runtime/query/inmemory/BooleanSelector.java @@ -32,7 +32,7 @@ public abstract class BooleanSelector implements Selec this.selectors = new ArrayList<>(1); } - public BooleanSelector(Selector... selector) { + public BooleanSelector(Selector selector) { this.selectors = Arrays.asList(selector); } diff --git a/li.strolch.agent/src/main/java/li/strolch/runtime/query/inmemory/NotSelector.java b/li.strolch.agent/src/main/java/li/strolch/runtime/query/inmemory/NotSelector.java index ed4ac91d5..0ab6b2bbf 100644 --- a/li.strolch.agent/src/main/java/li/strolch/runtime/query/inmemory/NotSelector.java +++ b/li.strolch.agent/src/main/java/li/strolch/runtime/query/inmemory/NotSelector.java @@ -26,7 +26,7 @@ public class NotSelector extends BooleanSelector { /** * @param selector */ - public NotSelector(Selector selector) { + NotSelector(Selector selector) { super(selector); } diff --git a/li.strolch.agent/src/main/java/li/strolch/runtime/query/inmemory/OrSelector.java b/li.strolch.agent/src/main/java/li/strolch/runtime/query/inmemory/OrSelector.java index fac5d5f58..40fd62555 100644 --- a/li.strolch.agent/src/main/java/li/strolch/runtime/query/inmemory/OrSelector.java +++ b/li.strolch.agent/src/main/java/li/strolch/runtime/query/inmemory/OrSelector.java @@ -32,15 +32,6 @@ public class OrSelector extends BooleanSelector { super(selectors); } - @SafeVarargs - public OrSelector(Selector... selector) { - super(selector); - } - - public OrSelector(Selector leftHandSide, Selector rightHandSide) { - super(leftHandSide, rightHandSide); - } - @Override public OrSelector with(Selector selector) { super.with(selector); diff --git a/li.strolch.privilege/src/main/java/li/strolch/privilege/handler/DefaultPrivilegeHandler.java b/li.strolch.privilege/src/main/java/li/strolch/privilege/handler/DefaultPrivilegeHandler.java index ee25df822..6bfdbfa31 100644 --- a/li.strolch.privilege/src/main/java/li/strolch/privilege/handler/DefaultPrivilegeHandler.java +++ b/li.strolch.privilege/src/main/java/li/strolch/privilege/handler/DefaultPrivilegeHandler.java @@ -1847,7 +1847,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler { PrivilegePolicy policy; try { - policy = policyClazz.newInstance(); + policy = policyClazz.getConstructor().newInstance(); } catch (Exception e) { String msg = "The class for the policy with the name {0} does not exist!{1}"; //$NON-NLS-1$ msg = MessageFormat.format(msg, policyName, policyName); diff --git a/li.strolch.privilege/src/main/java/li/strolch/privilege/model/internal/PrivilegeContainerModel.java b/li.strolch.privilege/src/main/java/li/strolch/privilege/model/internal/PrivilegeContainerModel.java index 65e821095..6cc895051 100644 --- a/li.strolch.privilege/src/main/java/li/strolch/privilege/model/internal/PrivilegeContainerModel.java +++ b/li.strolch.privilege/src/main/java/li/strolch/privilege/model/internal/PrivilegeContainerModel.java @@ -15,6 +15,7 @@ */ package li.strolch.privilege.model.internal; +import java.lang.reflect.InvocationTargetException; import java.text.MessageFormat; import java.util.HashMap; import java.util.Map; @@ -117,11 +118,12 @@ public class PrivilegeContainerModel { // load class and try to create a new instance @SuppressWarnings("unchecked") Class clazz = (Class) Class.forName(policyClassName); - clazz.newInstance(); + + clazz.getConstructor().newInstance(); this.policies.put(privilegeName, clazz); - } catch (InstantiationException e) { + } catch (InstantiationException | InvocationTargetException e) { String msg = "Configured Privilege Policy {0} with class {1} could not be instantiated."; //$NON-NLS-1$ msg = MessageFormat.format(msg, privilegeName, policyClassName); throw new PrivilegeException(msg, e); @@ -133,6 +135,10 @@ public class PrivilegeContainerModel { String msg = "Configured Privilege Policy {0} with class {1} does not exist."; //$NON-NLS-1$ msg = MessageFormat.format(msg, privilegeName, policyClassName); throw new PrivilegeException(msg, e); + } catch (NoSuchMethodException e) { + String msg = "Configured Privilege Policy {0} with class {1} has missing parameterless constructor"; //$NON-NLS-1$ + msg = MessageFormat.format(msg, privilegeName, policyClassName); + throw new PrivilegeException(msg, e); } } diff --git a/li.strolch.service/src/test/java/li/strolch/service/test/AbstractRealmServiceTest.java b/li.strolch.service/src/test/java/li/strolch/service/test/AbstractRealmServiceTest.java index 5dd4f3f94..85948962c 100644 --- a/li.strolch.service/src/test/java/li/strolch/service/test/AbstractRealmServiceTest.java +++ b/li.strolch.service/src/test/java/li/strolch/service/test/AbstractRealmServiceTest.java @@ -18,6 +18,8 @@ package li.strolch.service.test; import static li.strolch.testbase.runtime.RuntimeMock.assertServiceResult; import java.io.File; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; import java.sql.Connection; import java.sql.DriverManager; @@ -91,10 +93,11 @@ public abstract class AbstractRealmServiceTest { if (!Driver.isRegistered()) Driver.register(); - Version dbVersion = DbSchemaVersionCheck.getExpectedDbVersion(PostgreSqlPersistenceHandler.SCRIPT_PREFIX, - PostgreSqlPersistenceHandler.class); - String sql = DbSchemaVersionCheck.getSql(PostgreSqlPersistenceHandler.SCRIPT_PREFIX, - PostgreSqlPersistenceHandler.class, dbVersion, "drop"); //$NON-NLS-1$ + Version dbVersion = DbSchemaVersionCheck + .getExpectedDbVersion(PostgreSqlPersistenceHandler.SCRIPT_PREFIX, PostgreSqlPersistenceHandler.class); + String sql = DbSchemaVersionCheck + .getSql(PostgreSqlPersistenceHandler.SCRIPT_PREFIX, PostgreSqlPersistenceHandler.class, dbVersion, + "drop"); //$NON-NLS-1$ try (Connection connection = DriverManager.getConnection(dbUrl, dbUsername, dbPassword)) { connection.prepareStatement(sql).execute(); } @@ -156,10 +159,11 @@ public abstract class AbstractRealmServiceTest { Class> svcClass, Class expectedServiceResultType, T arg, Runner before, Runner validator, Runner after) { try { - runTransient(svcClass.newInstance(), expectedServiceResultType, arg, before, validator, after); - runCached(svcClass.newInstance(), expectedServiceResultType, arg, before, validator, after); - runTransactional(svcClass.newInstance(), expectedServiceResultType, arg, before, validator, after); - } catch (InstantiationException | IllegalAccessException e) { + Constructor> constructor = svcClass.getConstructor(); + runTransient(constructor.newInstance(), expectedServiceResultType, arg, before, validator, after); + runCached(constructor.newInstance(), expectedServiceResultType, arg, before, validator, after); + runTransactional(constructor.newInstance(), expectedServiceResultType, arg, before, validator, after); + } catch (InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) { throw new RuntimeException("Failed to instantiate class " + svcClass.getName() + ": " + e.getMessage(), e); } }