You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cs...@apache.org on 2019/07/25 11:34:15 UTC

[sling-org-apache-sling-distribution-core] 02/02: SLING-8595 - Fix warnings after parent update

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

cschneider pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-core.git

commit cc8ea64cc836280335eb66a587d5da330a2f9ac4
Author: Christian Schneider <cs...@adobe.com>
AuthorDate: Thu Jul 25 13:34:00 2019 +0200

    SLING-8595 - Fix warnings after parent update
---
 pom.xml                                                  |  3 ---
 .../agent/impl/AbstractDistributionAgentFactory.java     | 12 ++++++------
 .../agent/impl/QueueDistributionAgentFactory.java        |  2 --
 .../component/impl/DistributionComponentKind.java        |  1 -
 .../component/impl/OsgiConfigurationManager.java         |  4 +---
 .../impl/MonitoringDistributionPackageBuilder.java       | 12 ++++++------
 .../impl/MonitoringDistributionQueueProvider.java        | 16 ++++++++++------
 .../JobHandlingDistributionQueueProvider.java            |  4 ++--
 .../queue/impl/resource/ResourceQueueProvider.java       |  4 ++--
 .../impl/DistributionPackageBuilderFactory.java          |  4 ++--
 .../impl/vlt/VaultDistributionPackageBuilderFactory.java |  4 ++--
 .../servlet/DistributionAgentCreationFilter.java         |  5 +++--
 ...erCredentialsDistributionTransportSecretProvider.java |  4 ++--
 .../DistributionEventDistributeDistributionTrigger.java  |  8 ++++----
 .../trigger/impl/ResourceEventDistributionTrigger.java   |  8 ++++----
 .../queue/impl/simple/SimpleDistributionQueueTest.java   |  1 -
 .../impl/ResourceEventDistributionTriggerTest.java       |  3 ++-
 .../sling/distribution/util/impl/DigestUtilsTest.java    |  2 +-
 .../util/impl/FileBackedMemoryOutputStreamTest.java      |  3 ++-
 19 files changed, 49 insertions(+), 51 deletions(-)

diff --git a/pom.xml b/pom.xml
index b0eaab0..35d7bbe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -275,19 +275,16 @@
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
-            <version>1.6.2</version>
         </dependency>
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-simple</artifactId>
-            <version>1.6.2</version>
             <scope>runtime</scope>
         </dependency>
         <!-- SPECs -->
         <dependency>
             <groupId>javax.jcr</groupId>
             <artifactId>jcr</artifactId>
-            <version>2.0</version>
         </dependency>
         <dependency>
             <groupId>javax.servlet</groupId>
diff --git a/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java b/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java
index 275c747..d69e55a 100644
--- a/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java
+++ b/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java
@@ -58,8 +58,8 @@ abstract class AbstractDistributionAgentFactory<DistributionAgentMBeanType> {
 
     private final Class<DistributionAgentMBeanType> distributionAgentMBeanType;
 
-    private ServiceRegistration componentReg;
-    private ServiceRegistration mbeanServiceRegistration;
+    private ServiceRegistration<DistributionAgent> componentReg;
+    private ServiceRegistration<DistributionAgentMBeanType> mbeanServiceRegistration;
     private String agentName;
     private final List<DistributionTrigger> triggers = new CopyOnWriteArrayList<DistributionTrigger>();
     private boolean triggersEnabled = false;
@@ -120,7 +120,7 @@ abstract class AbstractDistributionAgentFactory<DistributionAgentMBeanType> {
                 if (agent != null) {
 
                     // register agent service
-                    componentReg = context.registerService(DistributionAgent.class.getName(), agent, props);
+                    componentReg = context.registerService(DistributionAgent.class, agent, props);
                     agent.enable();
 
 
@@ -134,7 +134,7 @@ abstract class AbstractDistributionAgentFactory<DistributionAgentMBeanType> {
                     mbeanProps.put("jmx.objectname", "org.apache.sling.distribution:type=agent,id=" + ObjectName.quote(agentName));
 
                     DistributionAgentMBeanType mbean = createMBeanAgent(agent, config);
-                    mbeanServiceRegistration = context.registerService(distributionAgentMBeanType.getName(), mbean, mbeanProps);
+                    mbeanServiceRegistration = context.registerService(distributionAgentMBeanType, mbean, mbeanProps);
 
                 }
 
@@ -163,7 +163,7 @@ abstract class AbstractDistributionAgentFactory<DistributionAgentMBeanType> {
 
     void deactivate(BundleContext context) {
         if (componentReg != null) {
-            ServiceReference reference = componentReg.getReference();
+            ServiceReference<DistributionAgent> reference = componentReg.getReference();
             Object service = context.getService(reference);
             if (service instanceof SimpleDistributionAgent) {
                 SimpleDistributionAgent agent = (SimpleDistributionAgent) service;
@@ -188,7 +188,7 @@ abstract class AbstractDistributionAgentFactory<DistributionAgentMBeanType> {
         log.info("deactivated agent {}", agentName);
     }
 
-    private static boolean safeUnregister(ServiceRegistration serviceRegistration) {
+    private static boolean safeUnregister(ServiceRegistration<?> serviceRegistration) {
         if (serviceRegistration != null) {
             serviceRegistration.unregister();
             return true;
diff --git a/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java b/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
index 3d0ad64..bd15e63 100644
--- a/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
+++ b/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
@@ -49,9 +49,7 @@ import org.apache.sling.distribution.queue.impl.DistributionQueueDispatchingStra
 import org.apache.sling.distribution.queue.impl.DistributionQueueProviderFactory;
 import org.apache.sling.distribution.queue.impl.PriorityQueueDispatchingStrategy;
 import org.apache.sling.distribution.queue.impl.SingleQueueDispatchingStrategy;
-import org.apache.sling.distribution.queue.impl.resource.ResourceQueueProvider;
 import org.apache.sling.distribution.trigger.DistributionTrigger;
-import org.apache.sling.event.jobs.JobManager;
 import org.apache.sling.jcr.api.SlingRepository;
 import org.apache.sling.settings.SlingSettingsService;
 import org.osgi.framework.BundleContext;
diff --git a/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentKind.java b/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentKind.java
index 043662f..dd97a0b 100644
--- a/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentKind.java
+++ b/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentKind.java
@@ -41,7 +41,6 @@ import org.apache.sling.distribution.trigger.DistributionTrigger;
 /**
  * Enum that represents the main distribution component kinds that can be configured for distribution.
  */
-@SuppressWarnings( "serial" )
 public enum DistributionComponentKind {
 
     AGENT("agent", AGENT_RESOURCE_TYPE, AGENT_LIST_RESOURCE_TYPE, DistributionAgent.class),
diff --git a/src/main/java/org/apache/sling/distribution/component/impl/OsgiConfigurationManager.java b/src/main/java/org/apache/sling/distribution/component/impl/OsgiConfigurationManager.java
index 145457a..d82868c 100644
--- a/src/main/java/org/apache/sling/distribution/component/impl/OsgiConfigurationManager.java
+++ b/src/main/java/org/apache/sling/distribution/component/impl/OsgiConfigurationManager.java
@@ -65,7 +65,6 @@ public class OsgiConfigurationManager implements DistributionConfigurationManage
 
 
         for (Configuration configuration : configurations) {
-            @SuppressWarnings( "unchecked" )
             Dictionary<String, Object> propertiesDict = configuration.getProperties();
             Map<String, Object> properties = OsgiUtils.fromDictionary(propertiesDict);
 
@@ -87,13 +86,12 @@ public class OsgiConfigurationManager implements DistributionConfigurationManage
 
         if (configurations.size() > 1) {
             log.warn("Found more than one configuration of kind: {} and with name: {}",
-                    new String[]{kind.getName(), name});
+                    kind.getName(), name);
         }
 
         Configuration configuration = configurations.get(0);
 
         if (configuration != null) {
-            @SuppressWarnings( "unchecked" )
             Dictionary<String, Object> properties = configuration.getProperties();
             Map<String, Object> result = OsgiUtils.fromDictionary(properties);
 
diff --git a/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java b/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
index a3472a9..178bc23 100644
--- a/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
+++ b/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
@@ -44,14 +44,14 @@ public final class MonitoringDistributionPackageBuilder implements DistributionP
 
     private final int queueCapacity;
 
-    private final Queue<ServiceRegistration> mBeans;
+    private final Queue<ServiceRegistration<DistributionPackageMBean>> mBeans;
 
     public MonitoringDistributionPackageBuilder(int queueCapacity, DistributionPackageBuilder wrapped, BundleContext context) {
         this.wrapped = wrapped;
         this.context = context;
         this.queueCapacity = queueCapacity;
 
-        mBeans = new LinkedBlockingDeque<ServiceRegistration>();
+        mBeans = new LinkedBlockingDeque<ServiceRegistration<DistributionPackageMBean>>();
     }
 
     @Override
@@ -103,10 +103,10 @@ public final class MonitoringDistributionPackageBuilder implements DistributionP
         mbeanProps.put("jmx.objectname", "org.apache.sling.distribution:type=distributionpackage,id="
                                          + ObjectName.quote(distributionPackage.getId()));
 
-        ServiceRegistration mBeanRegistration = context.registerService(DistributionPackageMBean.class.getName(), mBean, mbeanProps);
+        ServiceRegistration<DistributionPackageMBean> mBeanRegistration = context.registerService(DistributionPackageMBean.class, mBean, mbeanProps);
 
         if (queueCapacity == mBeans.size()) {
-            ServiceRegistration toBeRemoved = mBeans.poll();
+            ServiceRegistration<DistributionPackageMBean> toBeRemoved = mBeans.poll();
             safeUnregister(toBeRemoved);
         }
 
@@ -115,12 +115,12 @@ public final class MonitoringDistributionPackageBuilder implements DistributionP
 
     public void clear() {
         while (!mBeans.isEmpty()) {
-            ServiceRegistration toBeRemoved = mBeans.poll();
+            ServiceRegistration<DistributionPackageMBean> toBeRemoved = mBeans.poll();
             safeUnregister(toBeRemoved);
         }
     }
 
-    private static void safeUnregister(ServiceRegistration serviceRegistration) {
+    private static void safeUnregister(ServiceRegistration<?> serviceRegistration) {
         if (serviceRegistration != null) {
             serviceRegistration.unregister();
         }
diff --git a/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionQueueProvider.java b/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionQueueProvider.java
index 3679138..ee39e54 100644
--- a/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionQueueProvider.java
+++ b/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionQueueProvider.java
@@ -44,7 +44,7 @@ public class MonitoringDistributionQueueProvider implements DistributionQueuePro
 
     private final Set<String> monitoredQueues = new HashSet<String>();
 
-    private final List<ServiceRegistration> mBeans = new LinkedList<ServiceRegistration>();
+    private final List<ServiceRegistration<DistributionQueueMBean>> mBeans = new LinkedList<>();
 
     private final DistributionQueueProvider wrapped;
 
@@ -78,10 +78,8 @@ public class MonitoringDistributionQueueProvider implements DistributionQueuePro
     public void disableQueueProcessing() throws DistributionException {
         wrapped.disableQueueProcessing();
 
-        for (ServiceRegistration mBean : mBeans) {
-            if (mBean != null) {
-                mBean.unregister();
-            }
+        for (ServiceRegistration<DistributionQueueMBean> mBean : mBeans) {
+            safeUnregister(mBean);
         }
 
         mBeans.clear();
@@ -97,7 +95,7 @@ public class MonitoringDistributionQueueProvider implements DistributionQueuePro
                 mBeanProps.put("jmx.objectname", "org.apache.sling.distribution:type=queue,id="
                         + ObjectName.quote(distributionQueue.getName()));
 
-                ServiceRegistration mBeanRegistration = context.registerService(DistributionQueueMBean.class.getName(), mBean, mBeanProps);
+                ServiceRegistration<DistributionQueueMBean> mBeanRegistration = context.registerService(DistributionQueueMBean.class, mBean, mBeanProps);
                 mBeans.add(mBeanRegistration);
             }
         } catch (Throwable e) {
@@ -105,5 +103,11 @@ public class MonitoringDistributionQueueProvider implements DistributionQueuePro
         }
 
     }
+    
+    private static void safeUnregister(ServiceRegistration<?> serviceRegistration) {
+        if (serviceRegistration != null) {
+            serviceRegistration.unregister();
+        }
+    }
 
 }
diff --git a/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java b/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java
index b719e87..4f178fb 100644
--- a/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java
+++ b/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java
@@ -58,7 +58,7 @@ public class JobHandlingDistributionQueueProvider implements DistributionQueuePr
 
     private final JobManager jobManager;
 
-    private ServiceRegistration jobConsumer = null;
+    private ServiceRegistration<JobConsumer> jobConsumer = null;
 
     private BundleContext context;
     private Set<String> processingQueueNames = null;
@@ -144,7 +144,7 @@ public class JobHandlingDistributionQueueProvider implements DistributionQueuePr
 
         log.debug("registering job consumer for prefix {}", prefix);
         log.info("qp: {}, jp: {}", queueProcessor, jobProps);
-        jobConsumer = context.registerService(JobConsumer.class.getName(), new DistributionAgentJobConsumer(queueProcessor), jobProps);
+        jobConsumer = context.registerService(JobConsumer.class, new DistributionAgentJobConsumer(queueProcessor), jobProps);
         log.debug("job consumer for prefix {} registered", prefix);
     }
 
diff --git a/src/main/java/org/apache/sling/distribution/queue/impl/resource/ResourceQueueProvider.java b/src/main/java/org/apache/sling/distribution/queue/impl/resource/ResourceQueueProvider.java
index 9c3c393..5db42ea 100644
--- a/src/main/java/org/apache/sling/distribution/queue/impl/resource/ResourceQueueProvider.java
+++ b/src/main/java/org/apache/sling/distribution/queue/impl/resource/ResourceQueueProvider.java
@@ -41,7 +41,7 @@ public class ResourceQueueProvider implements DistributionQueueProvider {
     private String serviceName;
     private String agentRootPath;
 
-    private ServiceRegistration cleanupTask;
+    private ServiceRegistration<Runnable> cleanupTask;
 
 
     public ResourceQueueProvider(BundleContext context, ResourceResolverFactory resolverFactory, String serviceName, String agentName) {
@@ -80,7 +80,7 @@ public class ResourceQueueProvider implements DistributionQueueProvider {
         Dictionary<String, Object> props = new Hashtable<String, Object>();
         props.put(Scheduler.PROPERTY_SCHEDULER_CONCURRENT, false);
         props.put(Scheduler.PROPERTY_SCHEDULER_PERIOD, 300L);
-        cleanupTask = context.registerService(Runnable.class.getName(), cleanup, props);
+        cleanupTask = context.registerService(Runnable.class, cleanup, props);
     }
 
     public void close() {
diff --git a/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java b/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
index 7d7f30a..3aeff38 100644
--- a/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
+++ b/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
@@ -192,7 +192,7 @@ public class DistributionPackageBuilderFactory implements DistributionPackageBui
 
     private MonitoringDistributionPackageBuilder packageBuilder;
 
-    private ServiceRegistration packageCleanup = null;
+    private ServiceRegistration<Runnable> packageCleanup = null;
 
     @Property(name = "installHook.target", label = "install hook", description = "Hook to be called after package was installed and before package will be removed.", value = PackageInstallHook.NOOP_FILTER)
     @Reference
@@ -227,7 +227,7 @@ public class DistributionPackageBuilderFactory implements DistributionPackageBui
             Dictionary<String, Object> props = new Hashtable<String, Object>();
             props.put(Scheduler.PROPERTY_SCHEDULER_CONCURRENT, false);
             props.put(Scheduler.PROPERTY_SCHEDULER_PERIOD, cleanupDelay);
-            packageCleanup = context.registerService(Runnable.class.getName(), cleanup, props);
+            packageCleanup = context.registerService(Runnable.class, cleanup, props);
             wrapped = resourceDistributionPackageBuilder;
         }
 
diff --git a/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java b/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
index 9db58a2..93afd06 100644
--- a/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
+++ b/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
@@ -223,7 +223,7 @@ public class VaultDistributionPackageBuilderFactory implements DistributionPacka
     @Reference
     private ResourceResolverFactory resolverFactory;
 
-    private ServiceRegistration packageCleanup = null;
+    private ServiceRegistration<Runnable> packageCleanup = null;
 
     private MonitoringDistributionPackageBuilder packageBuilder;
 
@@ -289,7 +289,7 @@ public class VaultDistributionPackageBuilderFactory implements DistributionPacka
             Dictionary<String, Object> props = new Hashtable<String, Object>();
             props.put(Scheduler.PROPERTY_SCHEDULER_CONCURRENT, false);
             props.put(Scheduler.PROPERTY_SCHEDULER_PERIOD, cleanupDelay);
-            packageCleanup = context.registerService(Runnable.class.getName(), cleanup, props);
+            packageCleanup = context.registerService(Runnable.class, cleanup, props);
             wrapped = resourceDistributionPackageBuilder;
         }
 
diff --git a/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentCreationFilter.java b/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentCreationFilter.java
index af24cbb..33880a3 100644
--- a/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentCreationFilter.java
+++ b/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentCreationFilter.java
@@ -26,6 +26,7 @@ import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.util.Collection;
 
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
@@ -92,8 +93,8 @@ public final class DistributionAgentCreationFilter implements Filter {
             if (type != null && name != null) {
                 String filter = format(FACTORY_FILTER_PATTERN, name, type);
                 try {
-                    ServiceReference[] services = context.getAllServiceReferences(DistributionAgent.class.getName(), filter);
-                    if (services != null && services.length > 0) {
+                    Collection<ServiceReference<DistributionAgent>> services = context.getServiceReferences(DistributionAgent.class, filter);
+                    if (!services.isEmpty()) {
                         String errorMessage = format("An agent named '%s' of different type than '%s' was already previously registered, please change the Agent name.",
                                 name, type);
                         ((HttpServletResponse) response).sendError(SC_CONFLICT, errorMessage);
diff --git a/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java b/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java
index be3176d..0fb40cc 100644
--- a/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java
+++ b/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java
@@ -67,7 +67,7 @@ public class UserCredentialsDistributionTransportSecretProvider implements
     private String username;
     private String password;
 
-    private ServiceRegistration mbeanServiceRegistration;
+    private ServiceRegistration<UserCredentialsDistributionTransportSecretMBean> mbeanServiceRegistration;
 
     @Activate
     protected void activate(BundleContext context, Map<String, Object> config) {
@@ -82,7 +82,7 @@ public class UserCredentialsDistributionTransportSecretProvider implements
         UserCredentialsDistributionTransportSecretMBean mbean =
                         new UserCredentialsDistributionTransportSecretMBeanImpl(username);
         mbeanServiceRegistration =
-                        context.registerService(UserCredentialsDistributionTransportSecretMBean.class.getName(), mbean, mbeanProps);
+                        context.registerService(UserCredentialsDistributionTransportSecretMBean.class, mbean, mbeanProps);
     }
 
     @Deactivate
diff --git a/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTrigger.java b/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTrigger.java
index 8d7539d..cf48c0c 100644
--- a/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTrigger.java
+++ b/src/main/java/org/apache/sling/distribution/trigger/impl/DistributionEventDistributeDistributionTrigger.java
@@ -48,7 +48,7 @@ public class DistributionEventDistributeDistributionTrigger implements Distribut
     private final String pathPrefix;
 
     private final BundleContext bundleContext;
-    private final Map<String, ServiceRegistration> registrations = new ConcurrentHashMap<String, ServiceRegistration>();
+    private final Map<String, ServiceRegistration<EventHandler>> registrations = new ConcurrentHashMap<>();
 
 
     public DistributionEventDistributeDistributionTrigger(String pathPrefix, BundleContext bundleContext) {
@@ -68,7 +68,7 @@ public class DistributionEventDistributeDistributionTrigger implements Distribut
         log.info("handler {} will chain distribute on path '{}'", requestHandler, pathPrefix);
 
         if (bundleContext != null) {
-            ServiceRegistration triggerPathEventRegistration = bundleContext.registerService(EventHandler.class.getName(),
+            ServiceRegistration<EventHandler> triggerPathEventRegistration = bundleContext.registerService(EventHandler.class,
                     new TriggerAgentEventListener(requestHandler, pathPrefix), properties);
             if (triggerPathEventRegistration != null) {
                 registrations.put(requestHandler.toString(), triggerPathEventRegistration);
@@ -79,14 +79,14 @@ public class DistributionEventDistributeDistributionTrigger implements Distribut
     }
 
     public void unregister(@NotNull DistributionRequestHandler requestHandler) throws DistributionException {
-        ServiceRegistration serviceRegistration = registrations.get(requestHandler.toString());
+        ServiceRegistration<EventHandler> serviceRegistration = registrations.get(requestHandler.toString());
         if (serviceRegistration != null) {
             serviceRegistration.unregister();
         }
     }
 
     public void disable() {
-        for (Map.Entry<String, ServiceRegistration> entry : registrations.entrySet()) {
+        for (Map.Entry<String, ServiceRegistration<EventHandler>> entry : registrations.entrySet()) {
             if (entry.getValue() != null) {
                 entry.getValue().unregister();
             }
diff --git a/src/main/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTrigger.java b/src/main/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTrigger.java
index 73f693b..0d5e624 100644
--- a/src/main/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTrigger.java
+++ b/src/main/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTrigger.java
@@ -49,7 +49,7 @@ public class ResourceEventDistributionTrigger implements DistributionTrigger {
 
     private final BundleContext bundleContext;
     private final String path;
-    private final Map<String, ServiceRegistration> registrations = new ConcurrentHashMap<String, ServiceRegistration>();
+    private final Map<String, ServiceRegistration<EventHandler>> registrations = new ConcurrentHashMap<>();
 
 
     public ResourceEventDistributionTrigger(String path, BundleContext bundleContext) {
@@ -70,7 +70,7 @@ public class ResourceEventDistributionTrigger implements DistributionTrigger {
     }
 
     public void disable() {
-        for (ServiceRegistration serviceRegistration : registrations.values()) {
+        for (ServiceRegistration<EventHandler> serviceRegistration : registrations.values()) {
             serviceRegistration.unregister();
         }
 
@@ -86,7 +86,7 @@ public class ResourceEventDistributionTrigger implements DistributionTrigger {
 
         properties.put(EventConstants.EVENT_FILTER, "(&(path=" + path + "/*) (!(" + DEAConstants.PROPERTY_APPLICATION + "=*)))");
 
-        ServiceRegistration triggerPathEventRegistration = bundleContext.registerService(EventHandler.class.getName(),
+        ServiceRegistration<EventHandler> triggerPathEventRegistration = bundleContext.registerService(EventHandler.class,
                 new TriggerAgentEventListener(requestHandler), properties);
         if (triggerPathEventRegistration != null) {
             registrations.put(requestHandler.toString(), triggerPathEventRegistration);
@@ -96,7 +96,7 @@ public class ResourceEventDistributionTrigger implements DistributionTrigger {
     }
 
     public void unregister(@NotNull DistributionRequestHandler requestHandler) throws DistributionException {
-        ServiceRegistration serviceRegistration = registrations.get(requestHandler.toString());
+        ServiceRegistration<EventHandler> serviceRegistration = registrations.get(requestHandler.toString());
         if (serviceRegistration != null) {
             serviceRegistration.unregister();
         }
diff --git a/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueTest.java b/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueTest.java
index 521c78d..b43ef88 100644
--- a/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueTest.java
+++ b/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueTest.java
@@ -31,7 +31,6 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
 
 /**
  * Testcase for {@link SimpleDistributionQueue}
diff --git a/src/test/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTriggerTest.java b/src/test/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTriggerTest.java
index 9865d01..7753abe 100644
--- a/src/test/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTriggerTest.java
+++ b/src/test/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTriggerTest.java
@@ -34,12 +34,13 @@ import static org.mockito.Mockito.when;
  */
 public class ResourceEventDistributionTriggerTest {
 
+    @SuppressWarnings({ "rawtypes", "unchecked" })
     @Test
     public void testRegister() throws Exception {
         String path = "/some/path";
         BundleContext bundleContext = mock(BundleContext.class);
         ServiceRegistration registration = mock(ServiceRegistration.class);
-        when(bundleContext.registerService(any(String.class), any(Object.class), any(Dictionary.class))).thenReturn(registration);
+        when(bundleContext.registerService(any(Class.class), any(Object.class), any(Dictionary.class))).thenReturn(registration);
         ResourceEventDistributionTrigger resourceEventdistributionTrigger = new ResourceEventDistributionTrigger(path, bundleContext);
         DistributionRequestHandler handler = mock(DistributionRequestHandler.class);
         resourceEventdistributionTrigger.register(handler);
diff --git a/src/test/java/org/apache/sling/distribution/util/impl/DigestUtilsTest.java b/src/test/java/org/apache/sling/distribution/util/impl/DigestUtilsTest.java
index 8ec35fe..95af0e3 100644
--- a/src/test/java/org/apache/sling/distribution/util/impl/DigestUtilsTest.java
+++ b/src/test/java/org/apache/sling/distribution/util/impl/DigestUtilsTest.java
@@ -78,7 +78,7 @@ public class DigestUtilsTest {
         ByteArrayOutputStream bos = new ByteArrayOutputStream(DATA.length);
         bos.write(DATA);
         bos.flush();
-        DigestOutputStream dos = DigestUtils.openDigestOutputStream(bos, "unsupported");
+        DigestUtils.openDigestOutputStream(bos, "unsupported");
     }
 
 }
\ No newline at end of file
diff --git a/src/test/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStreamTest.java b/src/test/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStreamTest.java
index 03d0bfe..b0f8bac 100644
--- a/src/test/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStreamTest.java
+++ b/src/test/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStreamTest.java
@@ -44,10 +44,11 @@ public class FileBackedMemoryOutputStreamTest {
 
     @Test(expected = IllegalArgumentException.class)
     public void thresholdMustBePositive() throws IOException {
-        new FileBackedMemoryOutputStream(-1,
+        FileBackedMemoryOutputStream os = new FileBackedMemoryOutputStream(-1,
             MemoryUnit.BYTES,
             false,
             new File("/tmp"), "FileBackedMemoryOutputStreamTest.justKeepDataInMemory", ".tmp");
+        os.close();
     }
 
     @Test