You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2022/06/05 00:06:00 UTC

[logging-log4j2] 01/08: Use JUnit's TypeBasedParameterResolver

This is an automated email from the ASF dual-hosted git repository.

mattsicker pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit e34168e38e0b6b247464b159a0a58886bbdf54c7
Author: Matt Sicker <ma...@apache.org>
AuthorDate: Sat Jun 4 16:16:10 2022 -0500

    Use JUnit's TypeBasedParameterResolver
    
    This class didn't use to exist upstream. Now, we can delete our version.
    
    Signed-off-by: Matt Sicker <ma...@apache.org>
---
 .../core/test/junit/ConfigurationResolver.java     |  1 +
 .../core/test/junit/LoggerContextResolver.java     |  1 +
 .../test/junit/TypeBasedParameterResolver.java     | 51 ----------------------
 3 files changed, 2 insertions(+), 51 deletions(-)

diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/ConfigurationResolver.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/ConfigurationResolver.java
index 5226308ec4..be3a9a9e20 100644
--- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/ConfigurationResolver.java
+++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/ConfigurationResolver.java
@@ -22,6 +22,7 @@ import org.apache.logging.log4j.core.config.Configuration;
 import org.junit.jupiter.api.extension.ExtensionContext;
 import org.junit.jupiter.api.extension.ParameterContext;
 import org.junit.jupiter.api.extension.ParameterResolutionException;
+import org.junit.jupiter.api.extension.support.TypeBasedParameterResolver;
 
 import static org.apache.logging.log4j.core.test.junit.LoggerContextResolver.getLoggerContext;
 
diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/LoggerContextResolver.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/LoggerContextResolver.java
index 02e83d04de..482876ef55 100644
--- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/LoggerContextResolver.java
+++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/LoggerContextResolver.java
@@ -31,6 +31,7 @@ import org.junit.jupiter.api.extension.BeforeEachCallback;
 import org.junit.jupiter.api.extension.ExtensionContext;
 import org.junit.jupiter.api.extension.ParameterContext;
 import org.junit.jupiter.api.extension.ParameterResolutionException;
+import org.junit.jupiter.api.extension.support.TypeBasedParameterResolver;
 import org.junit.platform.commons.util.AnnotationUtils;
 
 import java.net.URI;
diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/TypeBasedParameterResolver.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/TypeBasedParameterResolver.java
deleted file mode 100644
index 7b030b781d..0000000000
--- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/TypeBasedParameterResolver.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache license, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the license for the specific language governing permissions and
- * limitations under the license.
- */
-package org.apache.logging.log4j.core.test.junit;
-
-import org.apache.logging.log4j.plugins.util.TypeUtil;
-import org.junit.jupiter.api.extension.ExtensionContext;
-import org.junit.jupiter.api.extension.ParameterContext;
-import org.junit.jupiter.api.extension.ParameterResolutionException;
-import org.junit.jupiter.api.extension.ParameterResolver;
-
-import java.lang.reflect.Type;
-
-/**
- * An adapter that resolved a parameter based on its type.
- */
-public abstract class TypeBasedParameterResolver<T> implements ParameterResolver {
-
-    private final Type parameterType;
-
-    public TypeBasedParameterResolver() {
-        parameterType = TypeUtil.getSuperclassTypeParameter(getClass());
-    }
-
-    @Override
-    public final boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) {
-        return this.parameterType.equals(getParameterType(parameterContext));
-    }
-
-    @Override
-    public abstract T resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext)
-            throws ParameterResolutionException;
-
-    private Type getParameterType(ParameterContext parameterContext) {
-        return parameterContext.getParameter().getParameterizedType();
-    }
-
-}