From 08051ba7ddd82c539c82fc0add332164a8ac51ba Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Mon, 6 Apr 2015 12:26:07 -0700 Subject: [PATCH] Cleaning up old code (that now exists elsewhere) --- jetty-cdi/src/main/config/etc/jetty-cdi.xml | 19 -- jetty-cdi/src/main/config/modules/cdi.mod | 26 --- .../jetty/cdi/JettyWeldInitializer.java | 72 ------ .../jetty/cdi/WeldDeploymentBinding.java | 57 ----- .../cdi/embedded/EmbeddedCdiHandler.java | 132 ----------- .../jetty/cdi/producers/JettyLogFactory.java | 37 --- .../jetty/cdi/EventDebugExtension.java | 72 ------ .../eclipse/jetty/cdi/weld/CheckSocket.java | 99 -------- .../cdi/weld/WeldInitializationTest.java | 216 ------------------ .../jetty/cdi/weld/basicapp/EchoSocket.java | 57 ----- .../jetty/cdi/weld/cdiapp/CdiInfoSocket.java | 92 -------- .../eclipse/jetty/cdi/weld/cdiapp/Dumper.java | 27 --- .../cdi/weld/cdiapp/IsoTimeFormatter.java | 39 ---- .../cdi/weld/cdiapp/LocaleTimeFormatter.java | 38 --- .../jetty/cdi/weld/cdiapp/NamedLiteral.java | 45 ---- .../cdi/weld/cdiapp/RequestInfoServlet.java | 67 ------ .../cdi/weld/cdiapp/RequestParamsDumper.java | 71 ------ .../jetty/cdi/weld/cdiapp/TimeFormatter.java | 26 --- .../jetty/cdi/weld/cdiapp/TimeServlet.java | 57 ----- .../jetty/util/log/JettyLogHandler.java | 198 ---------------- .../src/test/resources/META-INF/beans.xml | 6 - .../javax.enterprise.inject.spi.Extension | 1 - .../test/resources/jetty-logging.properties | 11 - .../src/test/resources/logging.properties | 2 - 24 files changed, 1467 deletions(-) delete mode 100644 jetty-cdi/src/main/config/etc/jetty-cdi.xml delete mode 100644 jetty-cdi/src/main/config/modules/cdi.mod delete mode 100644 jetty-cdi/src/main/java/org/eclipse/jetty/cdi/JettyWeldInitializer.java delete mode 100644 jetty-cdi/src/main/java/org/eclipse/jetty/cdi/WeldDeploymentBinding.java delete mode 100644 jetty-cdi/src/main/java/org/eclipse/jetty/cdi/embedded/EmbeddedCdiHandler.java delete mode 100644 jetty-cdi/src/main/java/org/eclipse/jetty/cdi/producers/JettyLogFactory.java delete mode 100644 jetty-cdi/src/test/java/org/eclipse/jetty/cdi/EventDebugExtension.java delete mode 100644 jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/CheckSocket.java delete mode 100644 jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/WeldInitializationTest.java delete mode 100644 jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/basicapp/EchoSocket.java delete mode 100644 jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/CdiInfoSocket.java delete mode 100644 jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/Dumper.java delete mode 100644 jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/IsoTimeFormatter.java delete mode 100644 jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/LocaleTimeFormatter.java delete mode 100644 jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/NamedLiteral.java delete mode 100644 jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/RequestInfoServlet.java delete mode 100644 jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/RequestParamsDumper.java delete mode 100644 jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/TimeFormatter.java delete mode 100644 jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/TimeServlet.java delete mode 100644 jetty-cdi/src/test/java/org/eclipse/jetty/util/log/JettyLogHandler.java delete mode 100644 jetty-cdi/src/test/resources/META-INF/beans.xml delete mode 100644 jetty-cdi/src/test/resources/META-INF/services/javax.enterprise.inject.spi.Extension delete mode 100644 jetty-cdi/src/test/resources/jetty-logging.properties delete mode 100644 jetty-cdi/src/test/resources/logging.properties diff --git a/jetty-cdi/src/main/config/etc/jetty-cdi.xml b/jetty-cdi/src/main/config/etc/jetty-cdi.xml deleted file mode 100644 index d364f4c45a6..00000000000 --- a/jetty-cdi/src/main/config/etc/jetty-cdi.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/jetty-cdi/src/main/config/modules/cdi.mod b/jetty-cdi/src/main/config/modules/cdi.mod deleted file mode 100644 index 37bca3c5508..00000000000 --- a/jetty-cdi/src/main/config/modules/cdi.mod +++ /dev/null @@ -1,26 +0,0 @@ -# -# CDI / Weld Jetty module -# - -[depend] -deploy -annotations -plus -# JSP (and EL) are requirements for CDI and Weld -jsp - -[files] -lib/weld/ -maven://org.jboss.weld.servlet/weld-servlet/2.2.9.Final|lib/weld/weld-servlet-2.2.9.Final.jar - -[lib] -lib/weld/weld-servlet-2.2.9.Final.jar -lib/jetty-cdi-${jetty.version}.jar - -[xml] -etc/jetty-cdi.xml - -[license] -Weld is an open source project hosted on Github and released under the Apache 2.0 license. -http://weld.cdi-spec.org/ -http://www.apache.org/licenses/LICENSE-2.0.html diff --git a/jetty-cdi/src/main/java/org/eclipse/jetty/cdi/JettyWeldInitializer.java b/jetty-cdi/src/main/java/org/eclipse/jetty/cdi/JettyWeldInitializer.java deleted file mode 100644 index 30faf67aa19..00000000000 --- a/jetty-cdi/src/main/java/org/eclipse/jetty/cdi/JettyWeldInitializer.java +++ /dev/null @@ -1,72 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi; - -import javax.naming.NamingException; -import javax.naming.Reference; - -import org.eclipse.jetty.cdi.websocket.WebSocketServerLifecycleListener; -import org.eclipse.jetty.plus.jndi.Resource; -import org.eclipse.jetty.server.handler.ContextHandler; -import org.eclipse.jetty.webapp.WebAppContext; - -/** - * Utility class suitable for initializing CDI/Weld on Embedded Jetty - */ -public class JettyWeldInitializer -{ - /** - * Initialize WebAppContext to support CDI/Weld. - *

- * Initializes Context, then sets up WebAppContext system and server classes to allow Weld to operate from Server - * level. - *

- * Includes {@link #initContext(ContextHandler)} behavior as well. - */ - public static void initWebApp(WebAppContext webapp) throws NamingException - { - initContext(webapp); - - // webapp cannot change / replace weld classes - webapp.addSystemClass("org.jboss.weld."); - webapp.addSystemClass("org.jboss.classfilewriter."); - webapp.addSystemClass("org.jboss.logging."); - webapp.addSystemClass("com.google.common."); - - // don't hide weld classes from webapps (allow webapp to use ones from system classloader) - webapp.addServerClass("-org.jboss.weld."); - webapp.addServerClass("-org.jboss.classfilewriter."); - webapp.addServerClass("-org.jboss.logging."); - webapp.addServerClass("-com.google.common."); - } - - public static void initContext(ContextHandler handler) throws NamingException - { - handler.addLifeCycleListener(new WebSocketServerLifecycleListener(handler)); - - // Add context specific weld container reference. - // See https://issues.jboss.org/browse/WELD-1710 - // and https://github.com/weld/core/blob/2.2.5.Final/environments/servlet/core/src/main/java/org/jboss/weld/environment/servlet/WeldServletLifecycle.java#L244-L253 - handler.setInitParameter("org.jboss.weld.environment.container.class","org.jboss.weld.environment.jetty.JettyContainer"); - - // Setup Weld BeanManager reference - Reference ref = new Reference("javax.enterprise.inject.spi.BeanManager","org.jboss.weld.resources.ManagerObjectFactory",null); - new Resource(handler,"BeanManager",ref); - } -} diff --git a/jetty-cdi/src/main/java/org/eclipse/jetty/cdi/WeldDeploymentBinding.java b/jetty-cdi/src/main/java/org/eclipse/jetty/cdi/WeldDeploymentBinding.java deleted file mode 100644 index a2388c080fb..00000000000 --- a/jetty-cdi/src/main/java/org/eclipse/jetty/cdi/WeldDeploymentBinding.java +++ /dev/null @@ -1,57 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi; - -import org.eclipse.jetty.deploy.App; -import org.eclipse.jetty.deploy.AppLifeCycle; -import org.eclipse.jetty.deploy.graph.Node; -import org.eclipse.jetty.server.handler.ContextHandler; -import org.eclipse.jetty.webapp.WebAppContext; - -/** - * Perform some basic weld configuration of WebAppContext - */ -public class WeldDeploymentBinding implements AppLifeCycle.Binding -{ - public String[] getBindingTargets() - { - return new String[] { "deploying" }; - } - - public void processBinding(Node node, App app) throws Exception - { - ContextHandler handler = app.getContextHandler(); - if (handler == null) - { - throw new NullPointerException("No Handler created for App: " + app); - } - - if (handler instanceof WebAppContext) - { - // Do webapp specific init - WebAppContext webapp = (WebAppContext)handler; - JettyWeldInitializer.initWebApp(webapp); - } - else - { - // Do general init - JettyWeldInitializer.initContext(handler); - } - } -} diff --git a/jetty-cdi/src/main/java/org/eclipse/jetty/cdi/embedded/EmbeddedCdiHandler.java b/jetty-cdi/src/main/java/org/eclipse/jetty/cdi/embedded/EmbeddedCdiHandler.java deleted file mode 100644 index 9133f889317..00000000000 --- a/jetty-cdi/src/main/java/org/eclipse/jetty/cdi/embedded/EmbeddedCdiHandler.java +++ /dev/null @@ -1,132 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi.embedded; - -import java.io.IOException; -import java.util.Collections; -import java.util.Set; - -import javax.servlet.ServletContext; - -import org.eclipse.jetty.cdi.JettyWeldInitializer; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.util.log.Log; -import org.eclipse.jetty.util.log.Logger; -import org.eclipse.jetty.util.resource.Resource; -import org.jboss.weld.environment.servlet.EnhancedListener; - -/** - * Handy {@link ServletContextHandler} implementation that hooks up - * all of the various CDI related components and listeners from Weld. - */ -public class EmbeddedCdiHandler extends ServletContextHandler -{ - private static final Logger LOG = Log.getLogger(EmbeddedCdiHandler.class); - - private static final String[] REQUIRED_BEANS_XML_PATHS = new String[] { - "/WEB-INF/beans.xml", - "/META-INF/beans.xml", - "/WEB-INF/classes/META-INF/beans.xml" - }; - - public EmbeddedCdiHandler() - { - super(); - } - - public EmbeddedCdiHandler(int options) - { - super(options); - } - - @Override - protected void doStart() throws Exception - { - // Required of CDI - Resource baseResource = getBaseResource(); - if (baseResource == null) - { - throw new NullPointerException("baseResource must be set (to so it can find the beans.xml)"); - } - - boolean foundBeansXml = false; - - // Verify that beans.xml is present, otherwise weld will fail silently. - for(String beansXmlPath: REQUIRED_BEANS_XML_PATHS) { - Resource res = baseResource.addPath(beansXmlPath); - if (res == null) - { - // not found, skip it - continue; - } - - if (res.exists()) - { - foundBeansXml = true; - } - - if (res.isDirectory()) - { - throw new IOException("Directory conflicts with expected file: " + res.getURI().toASCIIString()); - } - } - - if (!foundBeansXml) - { - StringBuilder err = new StringBuilder(); - err.append("Unable to find required beans.xml from the baseResource: "); - err.append(baseResource.getURI().toASCIIString()).append(System.lineSeparator()); - err.append("Searched for: "); - for (String beansXmlPath : REQUIRED_BEANS_XML_PATHS) - { - err.append(System.lineSeparator()); - err.append(" ").append(beansXmlPath); - } - LOG.warn("ERROR: {}",err.toString()); - throw new IOException(err.toString()); - } - - // Initialize Weld - JettyWeldInitializer.initContext(this); - - // Wire up Weld (what's usually done via the ServletContainerInitializer) - ServletContext ctx = getServletContext(); - - // Fake the call to ServletContainerInitializer - ClassLoader orig = Thread.currentThread().getContextClassLoader(); - try - { - Thread.currentThread().setContextClassLoader(ctx.getClassLoader()); - - EnhancedListener weldListener = new EnhancedListener(); - Set> classes = Collections.emptySet(); - weldListener.onStartup(classes,ctx); - - // add the rest of the Weld Listeners - ctx.addListener(weldListener); - } - finally - { - Thread.currentThread().setContextClassLoader(orig); - } - - // Let normal ServletContextHandler startup continue its merry way - super.doStart(); - } -} diff --git a/jetty-cdi/src/main/java/org/eclipse/jetty/cdi/producers/JettyLogFactory.java b/jetty-cdi/src/main/java/org/eclipse/jetty/cdi/producers/JettyLogFactory.java deleted file mode 100644 index 1bc51372430..00000000000 --- a/jetty-cdi/src/main/java/org/eclipse/jetty/cdi/producers/JettyLogFactory.java +++ /dev/null @@ -1,37 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi.producers; - -import javax.enterprise.inject.Produces; -import javax.enterprise.inject.spi.InjectionPoint; - -import org.eclipse.jetty.util.log.Log; -import org.eclipse.jetty.util.log.Logger; - -/** - * CDI Producer of Jetty Logging instances. - */ -public class JettyLogFactory -{ - @Produces - public Logger createLogger(InjectionPoint injectionPoint) - { - return Log.getLogger(injectionPoint.getMember().getDeclaringClass()); - } -} diff --git a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/EventDebugExtension.java b/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/EventDebugExtension.java deleted file mode 100644 index 76ffb2a632b..00000000000 --- a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/EventDebugExtension.java +++ /dev/null @@ -1,72 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi; - -import java.util.logging.Logger; - -import javax.enterprise.event.Observes; -import javax.enterprise.inject.spi.AfterBeanDiscovery; -import javax.enterprise.inject.spi.BeforeBeanDiscovery; -import javax.enterprise.inject.spi.Extension; -import javax.enterprise.inject.spi.ProcessAnnotatedType; -import javax.enterprise.inject.spi.ProcessBean; -import javax.enterprise.inject.spi.ProcessInjectionPoint; -import javax.enterprise.inject.spi.ProcessInjectionTarget; - -import org.jboss.weld.bootstrap.events.ContainerEvent; - -public class EventDebugExtension implements Extension -{ - private static final Logger LOG = Logger.getLogger(EventDebugExtension.class.getName()); - - void afterBeanDiscovery(@Observes AfterBeanDiscovery abd) - { - LOG.info("finished the scanning process"); - } - - void beforeBeanDiscovery(@Observes BeforeBeanDiscovery bbd) - { - LOG.info("beginning the scanning process"); - } - - void containerEvent(@Observes ContainerEvent evt) - { - LOG.info("container event: " + evt); - } - - void processAnnotatedType(@Observes ProcessAnnotatedType pat) - { - LOG.info("scanning type: " + pat.getAnnotatedType().getJavaClass().getName()); - } - - void processBean(@Observes ProcessBean bean) - { - LOG.info("process bean: " + bean.getBean()); - } - - void processInjectionPoint(@Observes ProcessInjectionPoint inj) - { - LOG.info("process injection point: " + inj.getInjectionPoint()); - } - - void processInjectionPoint(@Observes ProcessInjectionTarget inj) - { - LOG.info("process injection target: " + inj.getInjectionTarget()); - } -} diff --git a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/CheckSocket.java b/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/CheckSocket.java deleted file mode 100644 index 52af93ff5c5..00000000000 --- a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/CheckSocket.java +++ /dev/null @@ -1,99 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi.weld; - -import static org.junit.Assert.*; - -import java.io.IOException; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; - -import org.eclipse.jetty.toolchain.test.EventQueue; -import org.eclipse.jetty.util.log.Log; -import org.eclipse.jetty.util.log.Logger; -import org.eclipse.jetty.websocket.api.Session; -import org.eclipse.jetty.websocket.api.WebSocketAdapter; -import org.eclipse.jetty.websocket.api.annotations.WebSocket; - -@WebSocket -public class CheckSocket extends WebSocketAdapter -{ - private static final Logger LOG = Log.getLogger(CheckSocket.class); - private CountDownLatch closeLatch = new CountDownLatch(1); - private CountDownLatch openLatch = new CountDownLatch(1); - private EventQueue textMessages = new EventQueue<>(); - - public void awaitClose(int timeout, TimeUnit timeunit) throws InterruptedException - { - assertTrue("Timeout waiting for close",closeLatch.await(timeout,timeunit)); - } - - public void awaitOpen(int timeout, TimeUnit timeunit) throws InterruptedException - { - assertTrue("Timeout waiting for open",openLatch.await(timeout,timeunit)); - } - - public EventQueue getTextMessages() - { - return textMessages; - } - - @Override - public void onWebSocketClose(int statusCode, String reason) - { - LOG.debug("Close: {}, {}",statusCode,reason); - super.onWebSocketClose(statusCode,reason); - closeLatch.countDown(); - } - - @Override - public void onWebSocketConnect(Session sess) - { - LOG.debug("Open: {}",sess); - super.onWebSocketConnect(sess); - openLatch.countDown(); - } - - @Override - public void onWebSocketError(Throwable cause) - { - LOG.warn("WebSocket Error",cause); - super.onWebSocketError(cause); - } - - @Override - public void onWebSocketText(String message) - { - LOG.debug("TEXT: {}",message); - textMessages.add(message); - } - - public void sendText(String msg) throws IOException - { - if (isConnected()) - { - getRemote().sendString(msg); - } - } - - public void close(int statusCode, String reason) - { - getSession().close(statusCode,reason); - } -} diff --git a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/WeldInitializationTest.java b/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/WeldInitializationTest.java deleted file mode 100644 index a538a80ca4c..00000000000 --- a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/WeldInitializationTest.java +++ /dev/null @@ -1,216 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi.weld; - -import static org.hamcrest.Matchers.*; -import static org.junit.Assert.*; - -import java.io.File; -import java.net.URI; -import java.util.concurrent.TimeUnit; - -import javax.websocket.server.ServerContainer; - -import org.eclipse.jetty.cdi.embedded.EmbeddedCdiHandler; -import org.eclipse.jetty.cdi.weld.basicapp.EchoSocket; -import org.eclipse.jetty.cdi.weld.cdiapp.CdiInfoSocket; -import org.eclipse.jetty.cdi.weld.cdiapp.RequestInfoServlet; -import org.eclipse.jetty.cdi.weld.cdiapp.TimeServlet; -import org.eclipse.jetty.server.Server; -import org.eclipse.jetty.server.ServerConnector; -import org.eclipse.jetty.toolchain.test.MavenTestingUtils; -import org.eclipse.jetty.toolchain.test.SimpleRequest; -import org.eclipse.jetty.util.log.JettyLogHandler; -import org.eclipse.jetty.util.log.Log; -import org.eclipse.jetty.util.log.Logger; -import org.eclipse.jetty.util.resource.Resource; -import org.eclipse.jetty.websocket.api.StatusCode; -import org.eclipse.jetty.websocket.client.WebSocketClient; -import org.eclipse.jetty.websocket.jsr356.server.deploy.WebSocketServerContainerInitializer; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - -public class WeldInitializationTest -{ - private static final Logger LOG = Log.getLogger(WeldInitializationTest.class); - private static Server server; - private static URI serverHttpURI; - private static URI serverWebsocketURI; - - @BeforeClass - public static void startServer() throws Exception - { - JettyLogHandler.config(); - - server = new Server(); - ServerConnector connector = new ServerConnector(server); - connector.setPort(0); - server.addConnector(connector); - - EmbeddedCdiHandler context = new EmbeddedCdiHandler(); - - File baseDir = MavenTestingUtils.getTestResourcesDir(); - - context.setBaseResource(Resource.newResource(baseDir)); - context.setContextPath("/"); - server.setHandler(context); - - // Add some servlets - context.addServlet(TimeServlet.class,"/time"); - context.addServlet(RequestInfoServlet.class,"/req-info"); - - // Add some websockets - ServerContainer container = WebSocketServerContainerInitializer.configureContext(context); - container.addEndpoint(EchoSocket.class); - container.addEndpoint(CdiInfoSocket.class); - - server.start(); - - String host = connector.getHost(); - if (host == null) - { - host = "localhost"; - } - int port = connector.getLocalPort(); - serverHttpURI = new URI(String.format("http://%s:%d/",host,port)); - serverWebsocketURI = new URI(String.format("ws://%s:%d/",host,port)); - } - - @AfterClass - public static void stopServer() - { - try - { - server.stop(); - } - catch (Exception e) - { - LOG.warn(e); - } - } - - @Test - public void testWebSocketActivated() throws Exception - { - WebSocketClient client = new WebSocketClient(); - try - { - client.start(); - CheckSocket socket = new CheckSocket(); - client.connect(socket,serverWebsocketURI.resolve("/echo")); - - socket.awaitOpen(2,TimeUnit.SECONDS); - socket.sendText("Hello"); - socket.close(StatusCode.NORMAL,"Test complete"); - socket.awaitClose(2,TimeUnit.SECONDS); - - assertThat("Messages received",socket.getTextMessages().size(),is(1)); - assertThat("Message[0]",socket.getTextMessages().poll(),is("Hello")); - } - finally - { - client.stop(); - } - } - - @Test - public void testWebSocketInfo() throws Exception - { - WebSocketClient client = new WebSocketClient(); - try - { - client.start(); - CheckSocket socket = new CheckSocket(); - client.connect(socket,serverWebsocketURI.resolve("/cdi-info")); - - socket.awaitOpen(2,TimeUnit.SECONDS); - socket.sendText("info"); - socket.close(StatusCode.NORMAL,"Test complete"); - socket.awaitClose(2,TimeUnit.SECONDS); - - assertThat("Messages received",socket.getTextMessages().size(),is(1)); - String response = socket.getTextMessages().poll(); - System.err.println(response); - - assertThat("Message[0]",response, - allOf( - containsString("websocketSession is PRESENT"), - containsString("httpSession is PRESENT"), - containsString("servletContext is PRESENT") - )); - } - finally - { - client.stop(); - } - } - - @Test - public void testWebSocketEcho() throws Exception - { - WebSocketClient client = new WebSocketClient(); - try - { - client.start(); - CheckSocket socket = new CheckSocket(); - client.connect(socket,serverWebsocketURI.resolve("/echo")); - - socket.awaitOpen(2,TimeUnit.SECONDS); - socket.sendText("Hello World"); - socket.close(StatusCode.NORMAL,"Test complete"); - socket.awaitClose(2,TimeUnit.SECONDS); - - assertThat("Messages received",socket.getTextMessages().size(),is(1)); - String response = socket.getTextMessages().poll(); - System.err.println(response); - - assertThat("Message[0]",response,is("Hello World")); - } - finally - { - client.stop(); - } - } - - @Test - public void testRequestParamServletDefault() throws Exception - { - SimpleRequest req = new SimpleRequest(serverHttpURI); - String resp = req.getString("req-info"); - - System.out.println(resp); - - assertThat("Response",resp,containsString("request is PRESENT")); - assertThat("Response",resp,containsString("parameters.size = [0]")); - } - - @Test - public void testRequestParamServletAbc() throws Exception - { - SimpleRequest req = new SimpleRequest(serverHttpURI); - String resp = req.getString("req-info?abc=123"); - - System.out.println(resp); - - assertThat("Response",resp,containsString("request is PRESENT")); - assertThat("Response",resp,containsString("parameters.size = [1]")); - assertThat("Response",resp,containsString(" param[abc] = [123]")); - } -} diff --git a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/basicapp/EchoSocket.java b/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/basicapp/EchoSocket.java deleted file mode 100644 index 693948384e1..00000000000 --- a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/basicapp/EchoSocket.java +++ /dev/null @@ -1,57 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi.weld.basicapp; - -import javax.websocket.CloseReason; -import javax.websocket.OnClose; -import javax.websocket.OnMessage; -import javax.websocket.OnOpen; -import javax.websocket.Session; -import javax.websocket.server.ServerEndpoint; - -import org.eclipse.jetty.util.log.Log; -import org.eclipse.jetty.util.log.Logger; - -@ServerEndpoint("/echo") -public class EchoSocket -{ - private static final Logger LOG = Log.getLogger(EchoSocket.class); - @SuppressWarnings("unused") - private Session session; - - @OnOpen - public void onOpen(Session session) - { - LOG.debug("onOpen(): {}",session); - this.session = session; - } - - @OnClose - public void onClose(CloseReason close) - { - LOG.debug("onClose(): {}",close); - this.session = null; - } - - @OnMessage - public String onMessage(String msg) - { - return msg; - } -} diff --git a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/CdiInfoSocket.java b/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/CdiInfoSocket.java deleted file mode 100644 index 613f4d1a34e..00000000000 --- a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/CdiInfoSocket.java +++ /dev/null @@ -1,92 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi.weld.cdiapp; - -import java.io.PrintWriter; -import java.io.StringWriter; -import java.util.logging.Level; - -import javax.enterprise.context.SessionScoped; -import javax.inject.Inject; -import javax.servlet.ServletContext; -import javax.servlet.http.HttpSession; -import javax.websocket.CloseReason; -import javax.websocket.OnClose; -import javax.websocket.OnMessage; -import javax.websocket.OnOpen; -import javax.websocket.Session; -import javax.websocket.server.ServerEndpoint; - -@ServerEndpoint("/cdi-info") -public class CdiInfoSocket -{ - private static final java.util.logging.Logger LOG = java.util.logging.Logger.getLogger(CdiInfoSocket.class.getName()); - - @SessionScoped - @Inject - private HttpSession httpSession; - - @Inject - private ServletContext servletContext; - - @Inject - private DataMaker dataMaker; - - private Session session; - - @OnOpen - public void onOpen(Session session) - { - LOG.log(Level.INFO,"onOpen(): {0}",session); - this.session = session; - } - - @OnClose - public void onClose(CloseReason close) - { - LOG.log(Level.INFO,"onClose(): {}",close); - this.session = null; - } - - @OnMessage - public String onMessage(String msg) - { - StringWriter str = new StringWriter(); - PrintWriter out = new PrintWriter(str); - - switch (msg) - { - case "info": - out.printf("websocketSession is %s%n",asPresent(session)); - out.printf("httpSession is %s%n",asPresent(httpSession)); - out.printf("servletContext is %s%n",asPresent(servletContext)); - break; - case "data": - dataMaker.processMessage(msg); - break; - } - - return str.toString(); - } - - private String asPresent(Object obj) - { - return obj == null ? "NULL" : "PRESENT"; - } -} diff --git a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/Dumper.java b/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/Dumper.java deleted file mode 100644 index 5f07dc84c7c..00000000000 --- a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/Dumper.java +++ /dev/null @@ -1,27 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi.weld.cdiapp; - -import java.io.IOException; -import java.io.PrintWriter; - -public interface Dumper -{ - public void dump(PrintWriter out) throws IOException; -} diff --git a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/IsoTimeFormatter.java b/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/IsoTimeFormatter.java deleted file mode 100644 index dd53d8511e8..00000000000 --- a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/IsoTimeFormatter.java +++ /dev/null @@ -1,39 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi.weld.cdiapp; - -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Locale; -import java.util.TimeZone; - -import javax.inject.Named; - -@Named("iso") -public class IsoTimeFormatter implements TimeFormatter -{ - @Override - public String format(Calendar cal) - { - DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'",Locale.US); - dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); - return dateFormat.format(cal.getTime()); - } -} diff --git a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/LocaleTimeFormatter.java b/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/LocaleTimeFormatter.java deleted file mode 100644 index 3050d49310d..00000000000 --- a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/LocaleTimeFormatter.java +++ /dev/null @@ -1,38 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi.weld.cdiapp; - -import java.text.SimpleDateFormat; -import java.util.Calendar; - -import javax.enterprise.inject.Default; -import javax.inject.Named; - -@Named("locale") -@Default -public class LocaleTimeFormatter implements TimeFormatter -{ - public static final TimeFormatter INSTANCE = new LocaleTimeFormatter(); - - @Override - public String format(Calendar cal) - { - return new SimpleDateFormat().format(cal.getTime()); - } -} diff --git a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/NamedLiteral.java b/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/NamedLiteral.java deleted file mode 100644 index 0c95d97c958..00000000000 --- a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/NamedLiteral.java +++ /dev/null @@ -1,45 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi.weld.cdiapp; - -import javax.enterprise.util.AnnotationLiteral; -import javax.inject.Named; - -@SuppressWarnings("serial") -public class NamedLiteral extends AnnotationLiteral implements Named -{ - private final String value; - - public String value() - { - return value; - } - - public NamedLiteral(String name) - { - if (name == null) - { - this.value = ""; - } - else - { - this.value = name; - } - } -} \ No newline at end of file diff --git a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/RequestInfoServlet.java b/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/RequestInfoServlet.java deleted file mode 100644 index c5a75dfa638..00000000000 --- a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/RequestInfoServlet.java +++ /dev/null @@ -1,67 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi.weld.cdiapp; - -import java.io.IOException; -import java.io.PrintWriter; - -import javax.enterprise.inject.Any; -import javax.enterprise.inject.Instance; -import javax.inject.Inject; -import javax.inject.Named; -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -@SuppressWarnings("serial") -@WebServlet("/req-info") -public class RequestInfoServlet extends HttpServlet -{ - @Inject - @Any - private Instance dumpers; - - @Inject - @Named("params") - private Dumper defaultDumper; - - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException - { - resp.setContentType("text/plain"); - PrintWriter out = resp.getWriter(); - - Dumper dumper = defaultDumper; - - String dumperId = req.getParameter("dumperId"); - - if (dumperId != null) - { - Instance inst = dumpers.select(new NamedLiteral(dumperId)); - if (!inst.isAmbiguous() && !inst.isUnsatisfied()) - { - dumper = inst.get(); - } - } - - dumper.dump(out); - } -} diff --git a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/RequestParamsDumper.java b/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/RequestParamsDumper.java deleted file mode 100644 index 386a98d1083..00000000000 --- a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/RequestParamsDumper.java +++ /dev/null @@ -1,71 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi.weld.cdiapp; - -import java.io.IOException; -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -import javax.enterprise.context.RequestScoped; -import javax.inject.Inject; -import javax.inject.Named; -import javax.servlet.http.HttpServletRequest; - -@Named("params") -@RequestScoped -public class RequestParamsDumper implements Dumper -{ - @Inject - private HttpServletRequest request; - - @Override - public void dump(PrintWriter out) throws IOException - { - out.printf("request is %s%n",request == null ? "NULL" : "PRESENT"); - - if (request != null) - { - Map params = request.getParameterMap(); - List paramNames = new ArrayList<>(); - paramNames.addAll(params.keySet()); - Collections.sort(paramNames); - - out.printf("parameters.size = [%d]%n",params.size()); - - for (String name : paramNames) - { - out.printf(" param[%s] = [",name); - boolean delim = false; - for (String val : params.get(name)) - { - if (delim) - { - out.print(", "); - } - out.print(val); - delim = true; - } - out.println("]"); - } - } - } -} diff --git a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/TimeFormatter.java b/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/TimeFormatter.java deleted file mode 100644 index 9611e17113d..00000000000 --- a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/TimeFormatter.java +++ /dev/null @@ -1,26 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi.weld.cdiapp; - -import java.util.Calendar; - -public interface TimeFormatter -{ - public String format(Calendar cal); -} diff --git a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/TimeServlet.java b/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/TimeServlet.java deleted file mode 100644 index 2294185f0a0..00000000000 --- a/jetty-cdi/src/test/java/org/eclipse/jetty/cdi/weld/cdiapp/TimeServlet.java +++ /dev/null @@ -1,57 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.cdi.weld.cdiapp; - -import java.io.IOException; -import java.util.Calendar; - -import javax.enterprise.inject.Any; -import javax.enterprise.inject.Instance; -import javax.inject.Inject; -import javax.servlet.ServletException; -import javax.servlet.annotation.WebServlet; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -@SuppressWarnings("serial") -@WebServlet(urlPatterns = "/time") -public class TimeServlet extends HttpServlet -{ - @Inject - @Any - Instance formatters; - - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException - { - resp.setContentType("text/plain"); - - String timeType = req.getParameter("type"); - TimeFormatter time = LocaleTimeFormatter.INSTANCE; - - Instance inst = formatters.select(new NamedLiteral(timeType)); - if (!inst.isAmbiguous() && !inst.isUnsatisfied()) - { - time = inst.get(); - } - - resp.getWriter().println(time.format(Calendar.getInstance())); - } -} diff --git a/jetty-cdi/src/test/java/org/eclipse/jetty/util/log/JettyLogHandler.java b/jetty-cdi/src/test/java/org/eclipse/jetty/util/log/JettyLogHandler.java deleted file mode 100644 index fbb221062e3..00000000000 --- a/jetty-cdi/src/test/java/org/eclipse/jetty/util/log/JettyLogHandler.java +++ /dev/null @@ -1,198 +0,0 @@ -// -// ======================================================================== -// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. -// ------------------------------------------------------------------------ -// All rights reserved. This program and the accompanying materials -// are made available under the terms of the Eclipse Public License v1.0 -// and Apache License v2.0 which accompanies this distribution. -// -// The Eclipse Public License is available at -// http://www.eclipse.org/legal/epl-v10.html -// -// The Apache License v2.0 is available at -// http://www.opensource.org/licenses/apache2.0.php -// -// You may elect to redistribute this code under either of these licenses. -// ======================================================================== -// - -package org.eclipse.jetty.util.log; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.text.MessageFormat; -import java.util.ResourceBundle; -import java.util.logging.Level; -import java.util.logging.LogManager; -import java.util.logging.LogRecord; -import java.util.regex.Pattern; - -/** - * Redirect java.util.logging events to Jetty Log - */ -public class JettyLogHandler extends java.util.logging.Handler -{ - public static void config() - { - ClassLoader cl = Thread.currentThread().getContextClassLoader(); - URL url = cl.getResource("logging.properties"); - if (url != null) - { - System.err.printf("Initializing java.util.logging from %s%n",url); - try (InputStream in = url.openStream()) - { - LogManager.getLogManager().readConfiguration(in); - } - catch (IOException e) - { - e.printStackTrace(System.err); - } - } - else - { - System.err.printf("WARNING: java.util.logging failed to initialize: logging.properties not found%n"); - } - - System.setProperty("org.apache.commons.logging.Log","org.apache.commons.logging.impl.Jdk14Logger"); - } - - public JettyLogHandler() - { - if (Boolean.parseBoolean(Log.__props.getProperty("org.eclipse.jetty.util.log.DEBUG","false"))) - { - setLevel(Level.FINEST); - } - - if (Boolean.parseBoolean(Log.__props.getProperty("org.eclipse.jetty.util.log.IGNORED","false"))) - { - setLevel(Level.ALL); - } - - System.err.printf("%s Initialized at level [%s]%n",this.getClass().getName(),getLevel().getName()); - } - - private synchronized String formatMessage(LogRecord record) - { - String msg = getMessage(record); - - try - { - Object params[] = record.getParameters(); - if ((params == null) || (params.length == 0)) - { - return msg; - } - - if (Pattern.compile("\\{\\d+\\}").matcher(msg).find()) - { - return MessageFormat.format(msg,params); - } - - return msg; - } - catch (Exception ex) - { - return msg; - } - } - - private String getMessage(LogRecord record) - { - ResourceBundle bundle = record.getResourceBundle(); - if (bundle != null) - { - try - { - return bundle.getString(record.getMessage()); - } - catch (java.util.MissingResourceException ex) - { - } - } - - return record.getMessage(); - } - - @Override - public void publish(LogRecord record) - { - org.eclipse.jetty.util.log.Logger JLOG = getJettyLogger(record.getLoggerName()); - - int level = record.getLevel().intValue(); - if (level >= Level.OFF.intValue()) - { - // nothing to log, skip it. - return; - } - - Throwable cause = record.getThrown(); - String msg = formatMessage(record); - - if (level >= Level.WARNING.intValue()) - { - // log at warn - if (cause != null) - { - JLOG.warn(msg,cause); - } - else - { - JLOG.warn(msg); - } - return; - } - - if (level >= Level.INFO.intValue()) - { - // log at info - if (cause != null) - { - JLOG.info(msg,cause); - } - else - { - JLOG.info(msg); - } - return; - } - - if (level >= Level.FINEST.intValue()) - { - // log at debug - if (cause != null) - { - JLOG.debug(msg,cause); - } - else - { - JLOG.debug(msg); - } - return; - } - - if (level >= Level.ALL.intValue()) - { - // only corresponds with ignore (in jetty speak) - JLOG.ignore(cause); - return; - } - } - - private Logger getJettyLogger(String loggerName) - { - return org.eclipse.jetty.util.log.Log.getLogger(loggerName); - } - - @Override - public void flush() - { - // ignore - } - - @Override - public void close() throws SecurityException - { - // ignore - } -} diff --git a/jetty-cdi/src/test/resources/META-INF/beans.xml b/jetty-cdi/src/test/resources/META-INF/beans.xml deleted file mode 100644 index f158a71b6e5..00000000000 --- a/jetty-cdi/src/test/resources/META-INF/beans.xml +++ /dev/null @@ -1,6 +0,0 @@ - - \ No newline at end of file diff --git a/jetty-cdi/src/test/resources/META-INF/services/javax.enterprise.inject.spi.Extension b/jetty-cdi/src/test/resources/META-INF/services/javax.enterprise.inject.spi.Extension deleted file mode 100644 index 93723bc0aec..00000000000 --- a/jetty-cdi/src/test/resources/META-INF/services/javax.enterprise.inject.spi.Extension +++ /dev/null @@ -1 +0,0 @@ -org.eclipse.jetty.cdi.websocket.WebSocketScopeExtension \ No newline at end of file diff --git a/jetty-cdi/src/test/resources/jetty-logging.properties b/jetty-cdi/src/test/resources/jetty-logging.properties deleted file mode 100644 index f69b351e507..00000000000 --- a/jetty-cdi/src/test/resources/jetty-logging.properties +++ /dev/null @@ -1,11 +0,0 @@ -org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StdErrLog -org.jboss.LEVEL=DEBUG -org.eclipse.jetty.LEVEL=INFO - -org.eclipse.jetty.util.DecoratedObjectFactory.LEVEL=DEBUG -org.eclipse.jetty.cdi.LEVEL=DEBUG - -# org.eclipse.jetty.LEVEL=DEBUG -# org.eclipse.jetty.websocket.LEVEL=DEBUG -# org.eclipse.jetty.websocket.client.LEVEL=DEBUG - diff --git a/jetty-cdi/src/test/resources/logging.properties b/jetty-cdi/src/test/resources/logging.properties deleted file mode 100644 index cfec8c7ab58..00000000000 --- a/jetty-cdi/src/test/resources/logging.properties +++ /dev/null @@ -1,2 +0,0 @@ -handlers = org.eclipse.jetty.util.log.JettyLogHandler -.level=FINE