This is an automated email from the ASF dual-hosted git repository.
sseifert pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-osgi-mock.git
The following commit(s) were added to refs/heads/master by this push:
new cb7675a cosmetic: eliminate code and deprecation warnings
cb7675a is described below
commit cb7675a76c5e0f81a19e8034d493bc2e0efb45a8
Author: Stefan Seifert <[email protected]>
AuthorDate: Thu Nov 16 16:33:39 2023 +0100
cosmetic: eliminate code and deprecation warnings
---
.../sling/testing/mock/osgi/OsgiMetadataUtil.java | 3 +-
.../AbstractConfigTypeReflectionProvider.java | 15 +++---
.../mock/osgi/config/AnnotationTypedConfig.java | 8 ++--
.../mock/osgi/config/ComponentPropertyParser.java | 1 +
.../mock/osgi/config/ConfigTypeContext.java | 15 +++---
.../osgi/config/ConfigTypeStrictnessViolation.java | 2 +
.../mock/osgi/OsgiServiceUtilBindUnbindTest.java | 3 +-
.../AbstractConfigTypeReflectionProviderTest.java | 1 +
.../osgi/config/AnnotationTypedConfigTest.java | 1 +
.../mock/osgi/config/ConfigAnnotationUtilTest.java | 55 ++++++++++++----------
.../config/annotations/ConfigCollectionTest.java | 27 ++++++-----
11 files changed, 74 insertions(+), 57 deletions(-)
diff --git
a/core/src/main/java/org/apache/sling/testing/mock/osgi/OsgiMetadataUtil.java
b/core/src/main/java/org/apache/sling/testing/mock/osgi/OsgiMetadataUtil.java
index 4cd8dfc..dcf0de4 100644
---
a/core/src/main/java/org/apache/sling/testing/mock/osgi/OsgiMetadataUtil.java
+++
b/core/src/main/java/org/apache/sling/testing/mock/osgi/OsgiMetadataUtil.java
@@ -28,6 +28,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
@@ -427,7 +428,7 @@ final class OsgiMetadataUtil {
if (properties != null) {
pid = (String)properties.get(Constants.SERVICE_PID);
}
- return StringUtils.defaultString(pid, name);
+ return Objects.toString(pid, name);
}
public String[] getConfigurationPID() {
diff --git
a/core/src/main/java/org/apache/sling/testing/mock/osgi/config/AbstractConfigTypeReflectionProvider.java
b/core/src/main/java/org/apache/sling/testing/mock/osgi/config/AbstractConfigTypeReflectionProvider.java
index 599a3a1..c126597 100644
---
a/core/src/main/java/org/apache/sling/testing/mock/osgi/config/AbstractConfigTypeReflectionProvider.java
+++
b/core/src/main/java/org/apache/sling/testing/mock/osgi/config/AbstractConfigTypeReflectionProvider.java
@@ -18,12 +18,7 @@
*/
package org.apache.sling.testing.mock.osgi.config;
-import org.apache.felix.scr.impl.inject.Annotations;
-import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
-import org.osgi.annotation.versioning.ProviderType;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import static
org.apache.sling.testing.mock.osgi.config.ComponentPropertyParser.isSupportedConfigTypeValueType;
import java.lang.annotation.Annotation;
import java.lang.reflect.InvocationTargetException;
@@ -34,7 +29,12 @@ import java.util.HashMap;
import java.util.Map;
import java.util.stream.Stream;
-import static
org.apache.sling.testing.mock.osgi.config.ComponentPropertyParser.isSupportedConfigTypeValueType;
+import org.apache.felix.scr.impl.inject.Annotations;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+import org.osgi.annotation.versioning.ProviderType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Base config type reflection provider class.
@@ -49,6 +49,7 @@ abstract class AbstractConfigTypeReflectionProvider {
* @param configType the config type
* @return a property defaults provider
*/
+ @SuppressWarnings("unchecked")
static AbstractConfigTypeReflectionProvider getInstance(@NotNull final
Class<?> configType) {
final String prefix = Annotations.getPrefix(configType);
if (configType.isAnnotation()) {
diff --git
a/core/src/main/java/org/apache/sling/testing/mock/osgi/config/AnnotationTypedConfig.java
b/core/src/main/java/org/apache/sling/testing/mock/osgi/config/AnnotationTypedConfig.java
index b74ae56..0e0c94d 100644
---
a/core/src/main/java/org/apache/sling/testing/mock/osgi/config/AnnotationTypedConfig.java
+++
b/core/src/main/java/org/apache/sling/testing/mock/osgi/config/AnnotationTypedConfig.java
@@ -18,13 +18,13 @@
*/
package org.apache.sling.testing.mock.osgi.config;
+import java.lang.annotation.Annotation;
+import java.util.Map;
+
import org.apache.sling.testing.mock.osgi.config.annotations.ConfigType;
import org.apache.sling.testing.mock.osgi.config.annotations.TypedConfig;
import org.jetbrains.annotations.NotNull;
-import java.lang.annotation.Annotation;
-import java.util.Map;
-
/**
* Default implementation of {@link TypedConfig}.
*
@@ -48,6 +48,7 @@ public final class AnnotationTypedConfig<T> implements
TypedConfig<T> {
@Override
@NotNull
+ @SuppressWarnings("null")
public T getConfig() {
return config;
}
@@ -67,6 +68,7 @@ public final class AnnotationTypedConfig<T> implements
TypedConfig<T> {
* @param <T> the config type
* @return a new instance
*/
+ @SuppressWarnings("null")
public static <T> AnnotationTypedConfig<T> newInstance(@NotNull Class<T>
type,
@NotNull Object
config,
@NotNull Annotation
annotation) {
diff --git
a/core/src/main/java/org/apache/sling/testing/mock/osgi/config/ComponentPropertyParser.java
b/core/src/main/java/org/apache/sling/testing/mock/osgi/config/ComponentPropertyParser.java
index 6483337..7b56869 100644
---
a/core/src/main/java/org/apache/sling/testing/mock/osgi/config/ComponentPropertyParser.java
+++
b/core/src/main/java/org/apache/sling/testing/mock/osgi/config/ComponentPropertyParser.java
@@ -78,6 +78,7 @@ public final class ComponentPropertyParser {
}
}
+ @SuppressWarnings("null")
static String identifierToPropertyName(@NotNull String name, @Nullable
String prefix) {
Matcher m = IDENTIFIERTOPROPERTY.matcher(name);
if (!m.find()) {
diff --git
a/core/src/main/java/org/apache/sling/testing/mock/osgi/config/ConfigTypeContext.java
b/core/src/main/java/org/apache/sling/testing/mock/osgi/config/ConfigTypeContext.java
index e768e0a..32d135c 100644
---
a/core/src/main/java/org/apache/sling/testing/mock/osgi/config/ConfigTypeContext.java
+++
b/core/src/main/java/org/apache/sling/testing/mock/osgi/config/ConfigTypeContext.java
@@ -18,6 +18,12 @@
*/
package org.apache.sling.testing.mock.osgi.config;
+import java.io.IOException;
+import java.lang.annotation.Annotation;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Optional;
+
import org.apache.felix.scr.impl.inject.Annotations;
import org.apache.sling.testing.mock.osgi.MapUtil;
import org.apache.sling.testing.mock.osgi.config.annotations.ConfigType;
@@ -30,12 +36,6 @@ import org.osgi.service.cm.Configuration;
import org.osgi.service.cm.ConfigurationAdmin;
import org.osgi.service.component.annotations.Component;
-import java.io.IOException;
-import java.lang.annotation.Annotation;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Optional;
-
/**
* Performs configuration management and component property type construction
for {@link ConfigType} and
* {@link SetConfig} annotations.
@@ -153,6 +153,7 @@ public final class ConfigTypeContext {
* @param applyPid if not empty, override any specified {@link
ConfigType#pid()}.
* @return a concrete instance of the type specified by the provided
{@link ConfigType#type()}
*/
+ @SuppressWarnings("null")
public Object constructConfigType(@NotNull final ConfigType annotation,
@Nullable final String applyPid) {
if (!annotation.type().isAnnotation() &&
!annotation.type().isInterface()) {
@@ -187,7 +188,7 @@ public final class ConfigTypeContext {
* @param applyPid optional non-empty configuration pid to apply if
annotation is a {@link ConfigType}
* @return a typed config
*/
- @SuppressWarnings("rawtypes")
+ @SuppressWarnings({ "rawtypes", "null" })
public TypedConfig newTypedConfig(@NotNull final Annotation annotation,
@Nullable final String applyPid) {
if (annotation instanceof ConfigType) {
diff --git
a/core/src/main/java/org/apache/sling/testing/mock/osgi/config/ConfigTypeStrictnessViolation.java
b/core/src/main/java/org/apache/sling/testing/mock/osgi/config/ConfigTypeStrictnessViolation.java
index fe52c3f..af47466 100644
---
a/core/src/main/java/org/apache/sling/testing/mock/osgi/config/ConfigTypeStrictnessViolation.java
+++
b/core/src/main/java/org/apache/sling/testing/mock/osgi/config/ConfigTypeStrictnessViolation.java
@@ -24,6 +24,8 @@ package org.apache.sling.testing.mock.osgi.config;
* set to {@code true}, which fails to meet the documented assertion rules.
*/
public class ConfigTypeStrictnessViolation extends RuntimeException {
+ private static final long serialVersionUID = 1L;
+
public ConfigTypeStrictnessViolation(String message) {
super(message);
}
diff --git
a/core/src/test/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtilBindUnbindTest.java
b/core/src/test/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtilBindUnbindTest.java
index 9e6f834..71a6afe 100644
---
a/core/src/test/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtilBindUnbindTest.java
+++
b/core/src/test/java/org/apache/sling/testing/mock/osgi/OsgiServiceUtilBindUnbindTest.java
@@ -20,7 +20,6 @@ package org.apache.sling.testing.mock.osgi;
import static org.junit.Assert.assertEquals;
-import java.util.Dictionary;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -139,7 +138,7 @@ public class OsgiServiceUtilBindUnbindTest {
}
- @SuppressWarnings({ "null", "unchecked" })
+ @SuppressWarnings("null")
private <T> T registerInjectService(T service) {
MockOsgi.registerInjectActivateService(service, bundleContext);
return service;
diff --git
a/core/src/test/java/org/apache/sling/testing/mock/osgi/config/AbstractConfigTypeReflectionProviderTest.java
b/core/src/test/java/org/apache/sling/testing/mock/osgi/config/AbstractConfigTypeReflectionProviderTest.java
index 0590f37..5e22036 100644
---
a/core/src/test/java/org/apache/sling/testing/mock/osgi/config/AbstractConfigTypeReflectionProviderTest.java
+++
b/core/src/test/java/org/apache/sling/testing/mock/osgi/config/AbstractConfigTypeReflectionProviderTest.java
@@ -56,6 +56,7 @@ public class AbstractConfigTypeReflectionProviderTest {
@InvalidAnnotationConfig(size = 10, name = "Fred",
other_config = @AnnotationConfig(size = 2, name = "Willy"))
public static class HasAnnotationConfig {
+ @SuppressWarnings("unused")
private String getInaccessibleValue() {
return "";
}
diff --git
a/core/src/test/java/org/apache/sling/testing/mock/osgi/config/AnnotationTypedConfigTest.java
b/core/src/test/java/org/apache/sling/testing/mock/osgi/config/AnnotationTypedConfigTest.java
index dba1bc3..b90613a 100644
---
a/core/src/test/java/org/apache/sling/testing/mock/osgi/config/AnnotationTypedConfigTest.java
+++
b/core/src/test/java/org/apache/sling/testing/mock/osgi/config/AnnotationTypedConfigTest.java
@@ -116,6 +116,7 @@ public class AnnotationTypedConfigTest {
}
@Test
+ @SuppressWarnings("unchecked")
public void testGetConfigMap() {
ConfigType annotation = getClass().getAnnotation(ConfigType.class);
assertEquals(Map.of("service.ranking", 0),
diff --git
a/core/src/test/java/org/apache/sling/testing/mock/osgi/config/ConfigAnnotationUtilTest.java
b/core/src/test/java/org/apache/sling/testing/mock/osgi/config/ConfigAnnotationUtilTest.java
index 2aa5989..270270a 100644
---
a/core/src/test/java/org/apache/sling/testing/mock/osgi/config/ConfigAnnotationUtilTest.java
+++
b/core/src/test/java/org/apache/sling/testing/mock/osgi/config/ConfigAnnotationUtilTest.java
@@ -18,28 +18,6 @@
*/
package org.apache.sling.testing.mock.osgi.config;
-import org.apache.sling.testing.mock.osgi.config.annotations.AutoConfig;
-import org.apache.sling.testing.mock.osgi.config.annotations.ConfigCollection;
-import org.apache.sling.testing.mock.osgi.config.annotations.ConfigType;
-import org.apache.sling.testing.mock.osgi.config.annotations.ConfigTypes;
-import org.apache.sling.testing.mock.osgi.config.annotations.SetConfig;
-import org.apache.sling.testing.mock.osgi.config.annotations.SetConfigs;
-import org.apache.sling.testing.mock.osgi.config.annotations.TypedConfig;
-import org.jetbrains.annotations.NotNull;
-import org.junit.Test;
-import org.osgi.service.component.propertytypes.ServiceRanking;
-import org.osgi.service.component.propertytypes.ServiceVendor;
-
-import java.lang.annotation.Annotation;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.reflect.Executable;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.stream.Collectors;
-
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -53,6 +31,29 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.withSettings;
+import java.lang.annotation.Annotation;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.reflect.Executable;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.stream.Collectors;
+
+import org.apache.sling.testing.mock.osgi.config.annotations.AutoConfig;
+import org.apache.sling.testing.mock.osgi.config.annotations.ConfigCollection;
+import org.apache.sling.testing.mock.osgi.config.annotations.ConfigType;
+import org.apache.sling.testing.mock.osgi.config.annotations.ConfigTypes;
+import org.apache.sling.testing.mock.osgi.config.annotations.SetConfig;
+import org.apache.sling.testing.mock.osgi.config.annotations.SetConfigs;
+import org.apache.sling.testing.mock.osgi.config.annotations.TypedConfig;
+import org.jetbrains.annotations.NotNull;
+import org.junit.Test;
+import org.mockito.quality.Strictness;
+import org.osgi.service.component.propertytypes.ServiceRanking;
+import org.osgi.service.component.propertytypes.ServiceVendor;
+
public class ConfigAnnotationUtilTest {
@Retention(RetentionPolicy.RUNTIME)
@@ -190,22 +191,25 @@ public class ConfigAnnotationUtilTest {
String value();
}
+ @SuppressWarnings("null")
ParameterType1 newMockType1Value(@NotNull final String value) {
- ParameterType1 mocked = mock(ParameterType1.class,
withSettings().lenient());
+ ParameterType1 mocked = mock(ParameterType1.class,
withSettings().strictness(Strictness.LENIENT));
doReturn(value).when(mocked).value();
return mocked;
}
+ @SuppressWarnings({ "null", "unchecked" })
TypedConfig<ParameterType1> newMockTypedConfig1(@NotNull final String
value) {
ParameterType1 mockedConfig = newMockType1Value(value);
TypedConfig<ParameterType1> mocked =
- (TypedConfig<ParameterType1>) mock(TypedConfig.class,
withSettings().lenient());
+ mock(TypedConfig.class,
withSettings().strictness(Strictness.LENIENT));
doReturn(mockedConfig).when(mocked).getConfig();
doAnswer(call -> Map.of("parameter.type1",
value)).when(mocked).getConfigMap();
return mocked;
}
@Test
+ @SuppressWarnings("null")
public void resolveParameterToArray() {
List<ParameterType1> type1Values = List.of(
newMockType1Value("one"),
@@ -219,6 +223,7 @@ public class ConfigAnnotationUtilTest {
}
@Test
+ @SuppressWarnings("unchecked")
public void resolveFirstParameter() {
List<ParameterType1> type1Values = List.of(
newMockType1Value("one"),
@@ -231,6 +236,7 @@ public class ConfigAnnotationUtilTest {
}
@Test(expected = NoSuchElementException.class)
+ @SuppressWarnings("unchecked")
public void resolveFirstParameterAbsent() {
List<ParameterType1> type1Values = List.of(
newMockType1Value("one"),
@@ -272,6 +278,7 @@ public class ConfigAnnotationUtilTest {
}
@Test
+ @SuppressWarnings({ "null", "unused" })
public void resolveParameterToValueOrConfigMap() throws Exception {
List<TypedConfig<ParameterType1>> type1Values = List.of(
newMockTypedConfig1("one"),
diff --git
a/core/src/test/java/org/apache/sling/testing/mock/osgi/config/annotations/ConfigCollectionTest.java
b/core/src/test/java/org/apache/sling/testing/mock/osgi/config/annotations/ConfigCollectionTest.java
index 260718c..877b2f0 100644
---
a/core/src/test/java/org/apache/sling/testing/mock/osgi/config/annotations/ConfigCollectionTest.java
+++
b/core/src/test/java/org/apache/sling/testing/mock/osgi/config/annotations/ConfigCollectionTest.java
@@ -18,15 +18,6 @@
*/
package org.apache.sling.testing.mock.osgi.config.annotations;
-import org.jetbrains.annotations.NotNull;
-import org.junit.Test;
-import org.osgi.service.component.propertytypes.ServiceRanking;
-import org.osgi.service.component.propertytypes.ServiceVendor;
-
-import java.util.List;
-import java.util.function.Supplier;
-import java.util.stream.Stream;
-
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertSame;
@@ -37,11 +28,21 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.withSettings;
+import java.util.List;
+import java.util.function.Supplier;
+import java.util.stream.Stream;
+
+import org.jetbrains.annotations.NotNull;
+import org.junit.Test;
+import org.mockito.quality.Strictness;
+import org.osgi.service.component.propertytypes.ServiceRanking;
+import org.osgi.service.component.propertytypes.ServiceVendor;
+
public class ConfigCollectionTest {
- @SuppressWarnings("unchecked")
+ @SuppressWarnings({ "unchecked", "null" })
private <T> TypedConfig<T> newMockEntry(@NotNull final Class<T>
configType, @NotNull final T config) {
- TypedConfig<T> mocked = (TypedConfig<T>) mock(TypedConfig.class,
withSettings().lenient());
+ TypedConfig<T> mocked = mock(TypedConfig.class,
withSettings().strictness(Strictness.LENIENT));
doReturn(configType).when(mocked).getType();
doReturn(config).when(mocked).getConfig();
doCallRealMethod().when(mocked).stream(any(Class.class));
@@ -49,9 +50,9 @@ public class ConfigCollectionTest {
return mocked;
}
- @SuppressWarnings("unchecked")
+ @SuppressWarnings({ "unchecked", "null" })
private ConfigCollection newMockConfigCollection(@NotNull final
Supplier<Stream<TypedConfig<?>>> entryStreamSupplier) {
- ConfigCollection mocked = mock(ConfigCollection.class,
withSettings().lenient());
+ ConfigCollection mocked = mock(ConfigCollection.class,
withSettings().strictness(Strictness.LENIENT));
doCallRealMethod().when(mocked).stream(any(Class.class));
doCallRealMethod().when(mocked).configStream(any(Class.class));
doAnswer(call -> entryStreamSupplier.get()).when(mocked).stream();