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 2018/07/19 09:14:14 UTC
svn commit: r1836259 - in /openwebbeans/meecrowave/trunk/meecrowave-core: ./
src/main/java/org/apache/meecrowave/cdi/
src/main/java/org/apache/meecrowave/openwebbeans/
Author: rmannibucau
Date: Thu Jul 19 09:14:13 2018
New Revision: 1836259
URL: http://svn.apache.org/viewvc?rev=1836259&view=rev
Log:
MEECROWAVE-129 decouple owb-se and owb-web from meecrowave-core
Modified:
openwebbeans/meecrowave/trunk/meecrowave-core/pom.xml
openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/cdi/MeecrowaveSeContainerInitializer.java
openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBAutoSetup.java
openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBTomcatWebScannerService.java
Modified: openwebbeans/meecrowave/trunk/meecrowave-core/pom.xml
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/pom.xml?rev=1836259&r1=1836258&r2=1836259&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-core/pom.xml (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-core/pom.xml Thu Jul 19 09:14:13 2018
@@ -59,12 +59,13 @@
<artifactId>xbean-reflect</artifactId>
<version>${xbean.version}</version>
</dependency>
- <dependency>
+ <dependency> <!-- it switches the SPI so don't deliver it if not needed -->
<groupId>org.apache.openwebbeans</groupId>
<artifactId>openwebbeans-se</artifactId>
<version>${openwebbeans.version}</version>
+ <scope>provided</scope>
</dependency>
- <dependency>
+ <dependency> <!-- not that if a user adds owb-se this should get excluded -->
<groupId>org.apache.openwebbeans</groupId>
<artifactId>openwebbeans-web</artifactId>
<version>${openwebbeans.version}</version>
Modified: openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/cdi/MeecrowaveSeContainerInitializer.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/cdi/MeecrowaveSeContainerInitializer.java?rev=1836259&r1=1836258&r2=1836259&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/cdi/MeecrowaveSeContainerInitializer.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/cdi/MeecrowaveSeContainerInitializer.java Thu Jul 19 09:14:13 2018
@@ -131,6 +131,6 @@ public class MeecrowaveSeContainerInitia
@Override
protected ScannerService getScannerService() {
- return new OWBTomcatWebScannerService(scannerService);
+ return new OWBTomcatWebScannerService(scannerService, scannerService::getFinder);
}
}
Modified: openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBAutoSetup.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBAutoSetup.java?rev=1836259&r1=1836258&r2=1836259&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBAutoSetup.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBAutoSetup.java Thu Jul 19 09:14:13 2018
@@ -26,13 +26,13 @@ import org.apache.webbeans.configurator.
import org.apache.webbeans.container.BeanManagerImpl;
import org.apache.webbeans.intercept.InterceptorsManager;
import org.apache.webbeans.servlet.WebBeansConfigurationListener;
-import org.apache.webbeans.web.context.WebConversationFilter;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.Extension;
import javax.enterprise.inject.spi.configurator.BeanConfigurator;
import javax.servlet.DispatcherType;
+import javax.servlet.Filter;
import javax.servlet.FilterRegistration;
import javax.servlet.ServletContainerInitializer;
import javax.servlet.ServletContext;
@@ -48,8 +48,14 @@ public class OWBAutoSetup implements Ser
final Meecrowave.Builder builder = Meecrowave.Builder.class.cast(ctx.getAttribute("meecrowave.configuration"));
final Meecrowave instance = Meecrowave.class.cast(ctx.getAttribute("meecrowave.instance"));
if (builder.isCdiConversation()) {
- final FilterRegistration.Dynamic filter = ctx.addFilter("owb-conversation", WebConversationFilter.class);
- filter.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), false, "/*");
+ try {
+ final Class<? extends Filter> clazz = (Class<? extends Filter>) OWBAutoSetup.class.getClassLoader()
+ .loadClass("org.apache.webbeans.web.context.WebConversationFilter");
+ final FilterRegistration.Dynamic filter = ctx.addFilter("owb-conversation", clazz);
+ filter.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), false, "/*");
+ } catch (final Exception e) {
+ // no-op
+ }
}
// eager boot to let injections work in listeners
Modified: openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBTomcatWebScannerService.java
URL: http://svn.apache.org/viewvc/openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBTomcatWebScannerService.java?rev=1836259&r1=1836258&r2=1836259&view=diff
==============================================================================
--- openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBTomcatWebScannerService.java (original)
+++ openwebbeans/meecrowave/trunk/meecrowave-core/src/main/java/org/apache/meecrowave/openwebbeans/OWBTomcatWebScannerService.java Thu Jul 19 09:14:13 2018
@@ -20,11 +20,11 @@ package org.apache.meecrowave.openwebbea
import org.apache.meecrowave.Meecrowave;
import org.apache.meecrowave.logging.tomcat.LogFacade;
-import org.apache.openwebbeans.se.CDISeScannerService;
import org.apache.tomcat.JarScanFilter;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.corespi.scanner.xbean.CdiArchive;
import org.apache.webbeans.corespi.scanner.xbean.OwbAnnotationFinder;
+import org.apache.webbeans.spi.BdaScannerService;
import org.apache.webbeans.spi.BeanArchiveService;
import org.apache.webbeans.util.WebBeansUtil;
import org.apache.webbeans.web.scanner.WebScannerService;
@@ -44,6 +44,7 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
+import java.util.function.Supplier;
import java.util.stream.Stream;
import static java.util.Optional.of;
@@ -53,7 +54,8 @@ import static org.apache.tomcat.JarScanT
public class OWBTomcatWebScannerService extends WebScannerService {
private final LogFacade logger = new LogFacade(OWBTomcatWebScannerService.class.getName());
- private final CDISeScannerService delegate;
+ private final BdaScannerService delegate;
+ private final Supplier<OwbAnnotationFinder> finderAccessor;
protected JarScanFilter filter;
private String jreBase;
@@ -65,12 +67,13 @@ public class OWBTomcatWebScannerService
private Consumer<File> fileVisitor;
public OWBTomcatWebScannerService() {
- this(null);
+ this(null, null);
}
- public OWBTomcatWebScannerService(final CDISeScannerService delegate) {
+ public OWBTomcatWebScannerService(final BdaScannerService delegate, final Supplier<OwbAnnotationFinder> finderAccessor) {
this.delegate = delegate;
+ this.finderAccessor = finderAccessor;
}
@Override
@@ -82,8 +85,8 @@ public class OWBTomcatWebScannerService
@Override
public OwbAnnotationFinder getFinder() {
- if (delegate != null) {
- return delegate.getFinder();
+ if (finderAccessor != null) {
+ return finderAccessor.get();
}
return super.getFinder();
}