You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by rm...@apache.org on 2020/12/16 13:39:19 UTC

[openwebbeans] branch master updated: [OWB-1358] ensure CDI SE services can be overriden

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

rmannibucau pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openwebbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new 363bb5d  [OWB-1358] ensure CDI SE services can be overriden
363bb5d is described below

commit 363bb5d62e0b528d3dbf9b0c87c9d28f37220ae0
Author: Romain Manni-Bucau <rm...@gmail.com>
AuthorDate: Wed Dec 16 14:39:13 2020 +0100

    [OWB-1358] ensure CDI SE services can be overriden
---
 .../org/apache/openwebbeans/se/OWBInitializer.java     | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/webbeans-se/src/main/java/org/apache/openwebbeans/se/OWBInitializer.java b/webbeans-se/src/main/java/org/apache/openwebbeans/se/OWBInitializer.java
index 7563658..a4a47b5 100644
--- a/webbeans-se/src/main/java/org/apache/openwebbeans/se/OWBInitializer.java
+++ b/webbeans-se/src/main/java/org/apache/openwebbeans/se/OWBInitializer.java
@@ -70,9 +70,18 @@ public class OWBInitializer extends SeContainerInitializer
         thread.setContextClassLoader(loader);
         try
         {
-            services.putIfAbsent(ScannerService.class.getName(), getScannerService());
-            services.putIfAbsent(LoaderService.class.getName(), new CDISeLoaderService(extensions, loader));
-            services.putIfAbsent(BeanArchiveService.class.getName(), new CDISeBeanArchiveService(bai));
+            if (!properties.containsKey(ScannerService.class.getName()))
+            {
+                services.putIfAbsent(ScannerService.class.getName(), getScannerService());
+            }
+            if (!properties.containsKey(LoaderService.class.getName()))
+            {
+                services.putIfAbsent(LoaderService.class.getName(), new CDISeLoaderService(extensions, loader));
+            }
+            if (!properties.containsKey(BeanArchiveService.class.getName()))
+            {
+                services.putIfAbsent(BeanArchiveService.class.getName(), new CDISeBeanArchiveService(bai));
+            }
             addCustomServices(services);
             Map<Class<?>, Object> preparedServices = services.entrySet().stream()
                     .collect(toMap(e ->
@@ -233,8 +242,7 @@ public class OWBInitializer extends SeContainerInitializer
                 selectAlternativeStereotypes(list(value, this::loadClass).toArray(Class[]::new));
                 break;
             case "openwebbeans.extensions":
-                addExtensions((Class<? extends Extension>[]) list(value, this::loadClass)
-                        .toArray(Class[]::new));
+                addExtensions(list(value, this::loadClass).toArray(Class[]::new));
                 break;
             case "openwebbeans.packages":
                 addPackages(list(value, this::loadPackage).toArray(Package[]::new));