You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2015/07/14 02:25:31 UTC

[4/6] tomee git commit: Re-use the connection for the datasource and transaction rather than fetch another one only to throw it away later. Slightly experimental change to prevent the db pool locking up.

http://git-wip-us.apache.org/repos/asf/tomee/blob/bd7dbd0f/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java
index 967c6ac..a23bcca 100644
--- a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java
+++ b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java
@@ -1,115 +1,115 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
-    * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.openejb.server.cxf.rs;
-
-import org.apache.cxf.jaxrs.JAXRSInvoker;
-import org.apache.cxf.message.Exchange;
-import org.apache.openejb.ApplicationException;
-import org.apache.openejb.BeanContext;
-import org.apache.openejb.InvalidateReferenceException;
-import org.apache.openejb.core.interceptor.InterceptorData;
-import org.apache.openejb.monitoring.StatsInterceptor;
-import org.apache.openejb.util.proxy.BeanContextInvocationHandler;
-import org.apache.openejb.util.proxy.LocalBeanProxyFactory;
-import org.apache.openejb.util.proxy.ProxyManager;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.rmi.RemoteException;
-import java.util.*;
-import javax.ejb.EJBException;
-
-public class OpenEJBEJBInvoker extends JAXRSInvoker {
-    private final Map<Class<?>, Collection<Class<?>>> contextTypes = new HashMap<Class<?>, Collection<Class<?>>>();
-
-    public OpenEJBEJBInvoker(final Collection<BeanContext> restEjbs) {
-        for (final BeanContext context : restEjbs) {
-            final Collection<Class<?>> classes = new HashSet<Class<?>>();
-            Contexts.findContextFields(context.getBeanClass(), classes);
-            for (final Collection<InterceptorData> list :
-                Arrays.asList(
-                    context.getInterceptorData(),
-                    context.getInstanceScopedInterceptors(),
-                    context.getCallbackInterceptors())) {
-                for (final InterceptorData id : list) {
-                    final Class<?> interceptorClass = id.getInterceptorClass();
-                    if (!StatsInterceptor.class.equals(interceptorClass)) {
-                        Contexts.findContextFields(interceptorClass, classes);
-                    }
-                }
-            }
-            contextTypes.put(context.getBeanClass(), classes);
-        }
-    }
-
-    @Override
-    public Object invoke(final Exchange exchange, final Object request, final Object resourceObject) {
-        Contexts.bind(exchange, getContextTypes(resourceObject));
-        return super.invoke(exchange, request, resourceObject);
-    }
-
-    private Collection<Class<?>> getContextTypes(final Object resourceObject) {
-        if (!ProxyManager.isProxyClass(resourceObject.getClass())
-            && !LocalBeanProxyFactory.isProxy(resourceObject.getClass())) {
-            return Collections.emptySet();
-        }
-
-        final InvocationHandler handler = ProxyManager.getInvocationHandler(resourceObject);
-        if (!(handler instanceof BeanContextInvocationHandler)) {
-            return Collections.emptySet();
-        }
-
-        final BeanContext beanContext = ((BeanContextInvocationHandler) handler).getBeanContext();
-
-        if (beanContext == null) {
-            return Collections.emptySet();
-        }
-        return contextTypes.get(beanContext.getBeanClass());
-    }
-
-    @Override
-    protected Object performInvocation(final Exchange exchange, final Object serviceObject,
-                                       final Method m, final Object[] paramArray) throws Exception {
-        try {
-            final Object[] args = super.insertExchange(m, paramArray, exchange);
-            return m.invoke(serviceObject, args);
-        } catch (final InvocationTargetException ite) {
-            Throwable cause = ite.getTargetException();
-            // unwrap to get ExceptionMapper working
-            if (cause instanceof InvalidateReferenceException) {
-                cause = cause.getCause();
-                if (cause instanceof RemoteException) {
-                    cause = cause.getCause();
-                }
-            }
-
-            if (EJBException.class.isInstance(cause)) {
-                cause = EJBException.class.cast(cause).getCause();
-            }
-
-            if (ApplicationException.class.isInstance(cause) && Exception.class.isInstance(cause.getCause())) {
-                throw Exception.class.cast(ApplicationException.class.cast(cause).getCause());
-            }
-
-            if (cause instanceof Exception) {
-                throw (Exception) cause;
-            }
-            throw ite;
-        }
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+    * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.server.cxf.rs;
+
+import org.apache.cxf.jaxrs.JAXRSInvoker;
+import org.apache.cxf.message.Exchange;
+import org.apache.openejb.ApplicationException;
+import org.apache.openejb.BeanContext;
+import org.apache.openejb.InvalidateReferenceException;
+import org.apache.openejb.core.interceptor.InterceptorData;
+import org.apache.openejb.monitoring.StatsInterceptor;
+import org.apache.openejb.util.proxy.BeanContextInvocationHandler;
+import org.apache.openejb.util.proxy.LocalBeanProxyFactory;
+import org.apache.openejb.util.proxy.ProxyManager;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.rmi.RemoteException;
+import java.util.*;
+import javax.ejb.EJBException;
+
+public class OpenEJBEJBInvoker extends JAXRSInvoker {
+    private final Map<Class<?>, Collection<Class<?>>> contextTypes = new HashMap<Class<?>, Collection<Class<?>>>();
+
+    public OpenEJBEJBInvoker(final Collection<BeanContext> restEjbs) {
+        for (final BeanContext context : restEjbs) {
+            final Collection<Class<?>> classes = new HashSet<Class<?>>();
+            Contexts.findContextFields(context.getBeanClass(), classes);
+            for (final Collection<InterceptorData> list :
+                Arrays.asList(
+                    context.getInterceptorData(),
+                    context.getInstanceScopedInterceptors(),
+                    context.getCallbackInterceptors())) {
+                for (final InterceptorData id : list) {
+                    final Class<?> interceptorClass = id.getInterceptorClass();
+                    if (!StatsInterceptor.class.equals(interceptorClass)) {
+                        Contexts.findContextFields(interceptorClass, classes);
+                    }
+                }
+            }
+            contextTypes.put(context.getBeanClass(), classes);
+        }
+    }
+
+    @Override
+    public Object invoke(final Exchange exchange, final Object request, final Object resourceObject) {
+        Contexts.bind(exchange, getContextTypes(resourceObject));
+        return super.invoke(exchange, request, resourceObject);
+    }
+
+    private Collection<Class<?>> getContextTypes(final Object resourceObject) {
+        if (!ProxyManager.isProxyClass(resourceObject.getClass())
+            && !LocalBeanProxyFactory.isProxy(resourceObject.getClass())) {
+            return Collections.emptySet();
+        }
+
+        final InvocationHandler handler = ProxyManager.getInvocationHandler(resourceObject);
+        if (!(handler instanceof BeanContextInvocationHandler)) {
+            return Collections.emptySet();
+        }
+
+        final BeanContext beanContext = ((BeanContextInvocationHandler) handler).getBeanContext();
+
+        if (beanContext == null) {
+            return Collections.emptySet();
+        }
+        return contextTypes.get(beanContext.getBeanClass());
+    }
+
+    @Override
+    protected Object performInvocation(final Exchange exchange, final Object serviceObject,
+                                       final Method m, final Object[] paramArray) throws Exception {
+        try {
+            final Object[] args = super.insertExchange(m, paramArray, exchange);
+            return m.invoke(serviceObject, args);
+        } catch (final InvocationTargetException ite) {
+            Throwable cause = ite.getTargetException();
+            // unwrap to get ExceptionMapper working
+            if (cause instanceof InvalidateReferenceException) {
+                cause = cause.getCause();
+                if (cause instanceof RemoteException) {
+                    cause = cause.getCause();
+                }
+            }
+
+            if (EJBException.class.isInstance(cause)) {
+                cause = EJBException.class.cast(cause).getCause();
+            }
+
+            if (ApplicationException.class.isInstance(cause) && Exception.class.isInstance(cause.getCause())) {
+                throw Exception.class.cast(ApplicationException.class.cast(cause).getCause());
+            }
+
+            if (cause instanceof Exception) {
+                throw (Exception) cause;
+            }
+            throw ite;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/tomee/blob/bd7dbd0f/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/PojoInvoker.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/PojoInvoker.java b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/PojoInvoker.java
index 61468be..805d813 100644
--- a/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/PojoInvoker.java
+++ b/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/PojoInvoker.java
@@ -1,62 +1,62 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
-    * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.openejb.server.cxf.rs;
-
-import org.apache.cxf.jaxrs.JAXRSInvoker;
-import org.apache.cxf.message.Exchange;
-import org.apache.cxf.message.Message;
-import org.apache.openejb.ApplicationException;
-import org.apache.openejb.InvalidateReferenceException;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.rmi.RemoteException;
-import java.util.Arrays;
-import java.util.logging.Level;
-
-public class PojoInvoker extends JAXRSInvoker {
-    protected Object performInvocation(final Exchange exchange, final Object serviceObject,
-                                       final Method m, final Object[] paramArray) throws Exception {
-        final Object[] args = insertExchange(m, paramArray, exchange);
-        final ClassLoader tcclToUse = getClassLoader(exchange);
-        final Thread thread = Thread.currentThread();
-        ClassLoader oldLoader = null;
-        if (tcclToUse != null) {
-            oldLoader = thread.getContextClassLoader();
-            thread.setContextClassLoader(tcclToUse);
-        }
-        try {
-            return m.invoke(serviceObject, args);
-        } finally {
-            if (tcclToUse != null) {
-                thread.setContextClassLoader(oldLoader);
-            }
-        }
-    }
-
-    private ClassLoader getClassLoader(final Exchange exchange) {
-        final Message inMessage = exchange.getInMessage();
-        if (inMessage == null) {
-            return null;
-        }
-        final OpenEJBPerRequestPojoResourceProvider requestPojoResourceProvider = inMessage.get(OpenEJBPerRequestPojoResourceProvider.class);
-        if (requestPojoResourceProvider != null) {
-            return requestPojoResourceProvider.getClassLoader();
-        }
-        return null;
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+    * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.server.cxf.rs;
+
+import org.apache.cxf.jaxrs.JAXRSInvoker;
+import org.apache.cxf.message.Exchange;
+import org.apache.cxf.message.Message;
+import org.apache.openejb.ApplicationException;
+import org.apache.openejb.InvalidateReferenceException;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.rmi.RemoteException;
+import java.util.Arrays;
+import java.util.logging.Level;
+
+public class PojoInvoker extends JAXRSInvoker {
+    protected Object performInvocation(final Exchange exchange, final Object serviceObject,
+                                       final Method m, final Object[] paramArray) throws Exception {
+        final Object[] args = insertExchange(m, paramArray, exchange);
+        final ClassLoader tcclToUse = getClassLoader(exchange);
+        final Thread thread = Thread.currentThread();
+        ClassLoader oldLoader = null;
+        if (tcclToUse != null) {
+            oldLoader = thread.getContextClassLoader();
+            thread.setContextClassLoader(tcclToUse);
+        }
+        try {
+            return m.invoke(serviceObject, args);
+        } finally {
+            if (tcclToUse != null) {
+                thread.setContextClassLoader(oldLoader);
+            }
+        }
+    }
+
+    private ClassLoader getClassLoader(final Exchange exchange) {
+        final Message inMessage = exchange.getInMessage();
+        if (inMessage == null) {
+            return null;
+        }
+        final OpenEJBPerRequestPojoResourceProvider requestPojoResourceProvider = inMessage.get(OpenEJBPerRequestPojoResourceProvider.class);
+        if (requestPojoResourceProvider != null) {
+            return requestPojoResourceProvider.getClassLoader();
+        }
+        return null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/tomee/blob/bd7dbd0f/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/DynamicSubclassEjbDeploymentTest.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/DynamicSubclassEjbDeploymentTest.java b/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/DynamicSubclassEjbDeploymentTest.java
index 626919e..e86d3a6 100644
--- a/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/DynamicSubclassEjbDeploymentTest.java
+++ b/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/DynamicSubclassEjbDeploymentTest.java
@@ -1,130 +1,130 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *     contributor license agreements.  See the NOTICE file distributed with
- *     this work for additional information regarding copyright ownership.
- *     The ASF licenses this file to You under the Apache License, Version 2.0
- *     (the "License"); you may not use this file except in compliance with
- *     the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *     Unless required by applicable law or agreed to in writing, software
- *     distributed under the License is distributed on an "AS IS" BASIS,
- *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *     See the License for the specific language governing permissions and
- *     limitations under the License.
- */
-
-package org.apache.openejb.server.cxf.rs;
-
-import org.apache.cxf.jaxrs.client.WebClient;
-import org.apache.openejb.OpenEjbContainer;
-import org.apache.openejb.config.DeploymentFilterable;
-import org.apache.openejb.server.cxf.rs.beans.SimpleEJB;
-import org.apache.openejb.util.NetworkUtil;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import javax.ejb.embeddable.EJBContainer;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Request;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.util.Properties;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-public class DynamicSubclassEjbDeploymentTest {
-
-    private static EJBContainer container;
-    private static RESTIsVeryCool service;
-    private static int port = -1;
-
-    @BeforeClass
-    public static void start() throws Exception {
-        port = NetworkUtil.getNextAvailablePort();
-        final Properties properties = new Properties();
-        properties.setProperty("httpejbd.port", Integer.toString(port));
-        properties.setProperty(DeploymentFilterable.CLASSPATH_INCLUDE, ".*openejb-cxf-rs.*");
-        properties.setProperty(OpenEjbContainer.OPENEJB_EMBEDDED_REMOTABLE, "true");
-        container = EJBContainer.createEJBContainer(properties);
-        service = (RESTIsVeryCool) container.getContext().lookup("java:/global/openejb-cxf-rs/RESTIsVeryCool");
-    }
-
-    @AfterClass
-    public static void close() throws Exception {
-        if (container != null) {
-            container.close();
-        }
-    }
-
-    @Test
-    public void normal() {
-        assertNotNull(service);
-        assertEquals("ok", service.normal());
-    }
-
-    @Test
-    public void rest() {
-        final String response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/rest").get(String.class);
-        assertEquals("ok", response);
-    }
-
-    @Test
-    public void restParameterInjected() {
-        String response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/param").get(String.class);
-        assertEquals("true", response);
-
-        response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/param").query("arg", "foo").get(String.class);
-        assertEquals("foo", response);
-    }
-
-    @Test
-    public void restFieldInjected() {
-        final Boolean response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/field").get(Boolean.class);
-        assertEquals(true, response);
-    }
-
-    @Stateless
-    @Path("/ejb")
-    public abstract static class RESTIsVeryCool implements InvocationHandler {
-
-        @EJB
-        private SimpleEJB simpleEJB;
-
-        @javax.ws.rs.core.Context
-        Request request;
-
-        @Path("/normal")
-        @GET
-        public abstract String normal();
-
-        @Path("/rest")
-        @GET
-        public abstract String rest();
-
-        @Path("/param")
-        @GET
-        public String param(@QueryParam("arg") @DefaultValue("true") final String p) {
-            return p;
-        }
-
-        @Path("/field")
-        @GET
-        public boolean field() {
-            return "GET".equals(request.getMethod());
-        }
-
-        @Override
-        public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
-            return simpleEJB.ok();
-        }
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *     contributor license agreements.  See the NOTICE file distributed with
+ *     this work for additional information regarding copyright ownership.
+ *     The ASF licenses this file to You under the Apache License, Version 2.0
+ *     (the "License"); you may not use this file except in compliance with
+ *     the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *     Unless required by applicable law or agreed to in writing, software
+ *     distributed under the License is distributed on an "AS IS" BASIS,
+ *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *     See the License for the specific language governing permissions and
+ *     limitations under the License.
+ */
+
+package org.apache.openejb.server.cxf.rs;
+
+import org.apache.cxf.jaxrs.client.WebClient;
+import org.apache.openejb.OpenEjbContainer;
+import org.apache.openejb.config.DeploymentFilterable;
+import org.apache.openejb.server.cxf.rs.beans.SimpleEJB;
+import org.apache.openejb.util.NetworkUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import javax.ejb.EJB;
+import javax.ejb.Stateless;
+import javax.ejb.embeddable.EJBContainer;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Request;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.util.Properties;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+public class DynamicSubclassEjbDeploymentTest {
+
+    private static EJBContainer container;
+    private static RESTIsVeryCool service;
+    private static int port = -1;
+
+    @BeforeClass
+    public static void start() throws Exception {
+        port = NetworkUtil.getNextAvailablePort();
+        final Properties properties = new Properties();
+        properties.setProperty("httpejbd.port", Integer.toString(port));
+        properties.setProperty(DeploymentFilterable.CLASSPATH_INCLUDE, ".*openejb-cxf-rs.*");
+        properties.setProperty(OpenEjbContainer.OPENEJB_EMBEDDED_REMOTABLE, "true");
+        container = EJBContainer.createEJBContainer(properties);
+        service = (RESTIsVeryCool) container.getContext().lookup("java:/global/openejb-cxf-rs/RESTIsVeryCool");
+    }
+
+    @AfterClass
+    public static void close() throws Exception {
+        if (container != null) {
+            container.close();
+        }
+    }
+
+    @Test
+    public void normal() {
+        assertNotNull(service);
+        assertEquals("ok", service.normal());
+    }
+
+    @Test
+    public void rest() {
+        final String response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/rest").get(String.class);
+        assertEquals("ok", response);
+    }
+
+    @Test
+    public void restParameterInjected() {
+        String response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/param").get(String.class);
+        assertEquals("true", response);
+
+        response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/param").query("arg", "foo").get(String.class);
+        assertEquals("foo", response);
+    }
+
+    @Test
+    public void restFieldInjected() {
+        final Boolean response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/field").get(Boolean.class);
+        assertEquals(true, response);
+    }
+
+    @Stateless
+    @Path("/ejb")
+    public abstract static class RESTIsVeryCool implements InvocationHandler {
+
+        @EJB
+        private SimpleEJB simpleEJB;
+
+        @javax.ws.rs.core.Context
+        Request request;
+
+        @Path("/normal")
+        @GET
+        public abstract String normal();
+
+        @Path("/rest")
+        @GET
+        public abstract String rest();
+
+        @Path("/param")
+        @GET
+        public String param(@QueryParam("arg") @DefaultValue("true") final String p) {
+            return p;
+        }
+
+        @Path("/field")
+        @GET
+        public boolean field() {
+            return "GET".equals(request.getMethod());
+        }
+
+        @Override
+        public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
+            return simpleEJB.ok();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/tomee/blob/bd7dbd0f/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/EJBAccessExceptionMapperTest.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/EJBAccessExceptionMapperTest.java b/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/EJBAccessExceptionMapperTest.java
index dba3957..2841ec7 100644
--- a/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/EJBAccessExceptionMapperTest.java
+++ b/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/EJBAccessExceptionMapperTest.java
@@ -1,110 +1,110 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *     contributor license agreements.  See the NOTICE file distributed with
- *     this work for additional information regarding copyright ownership.
- *     The ASF licenses this file to You under the Apache License, Version 2.0
- *     (the "License"); you may not use this file except in compliance with
- *     the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *     Unless required by applicable law or agreed to in writing, software
- *     distributed under the License is distributed on an "AS IS" BASIS,
- *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *     See the License for the specific language governing permissions and
- *     limitations under the License.
- */
-package org.apache.openejb.server.cxf.rs;
-
-import org.apache.cxf.jaxrs.client.WebClient;
-import org.apache.openejb.OpenEjbContainer;
-import org.apache.openejb.config.DeploymentFilterable;
-import org.apache.openejb.server.cxf.rs.beans.SimpleEJB;
-import org.apache.openejb.util.NetworkUtil;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.annotation.security.RolesAllowed;
-import javax.ejb.EJB;
-import javax.ejb.Lock;
-import javax.ejb.LockType;
-import javax.ejb.Singleton;
-import javax.ejb.embeddable.EJBContainer;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.Response;
-import java.util.Properties;
-
-import static org.junit.Assert.assertEquals;
-
-@SuppressWarnings("FieldCanBeLocal")
-public class EJBAccessExceptionMapperTest {
-    private static EJBContainer container;
-    private static RESTIsCoolOne service;
-    private static int port = -1;
-
-    @BeforeClass
-    public static void start() throws Exception {
-        port = NetworkUtil.getNextAvailablePort();
-        final Properties properties = new Properties();
-        properties.setProperty("httpejbd.port", Integer.toString(port));
-        properties.setProperty(DeploymentFilterable.CLASSPATH_INCLUDE, ".*openejb-cxf-rs.*");
-        properties.setProperty(OpenEjbContainer.OPENEJB_EMBEDDED_REMOTABLE, "true");
-        container = EJBContainer.createEJBContainer(properties);
-        service = (RESTIsCoolOne) container.getContext().lookup("java:/global/openejb-cxf-rs/RESTIsCoolOne");
-    }
-
-    @AfterClass
-    public static void close() throws Exception {
-        if (container != null) {
-            container.close();
-        }
-    }
-
-
-    @Test
-    public void rest() {
-        final Response response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejbsecu/rest").get();
-        assertEquals(403, response.getStatus());
-    }
-
-
-    @Singleton
-    @RolesAllowed("Something that does not exit at all")
-    @Lock(LockType.READ)
-    @Path("/ejbsecu")
-    public static class RESTIsCoolOne {
-        @EJB
-        private SimpleEJB simpleEJB;
-        @javax.ws.rs.core.Context
-        Request request;
-
-        @Path("/normal")
-        @GET
-        public String normal() {
-            return simpleEJB.ok();
-        }
-
-        @Path("/rest")
-        @GET
-        public String rest() {
-            return simpleEJB.ok();
-        }
-
-        @Path("/param")
-        @GET
-        public String param(@QueryParam("arg") @DefaultValue("true") final String p) {
-            return p;
-        }
-
-        @Path("/field")
-        @GET
-        public boolean field() {
-            return "GET".equals(request.getMethod());
-        }
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *     contributor license agreements.  See the NOTICE file distributed with
+ *     this work for additional information regarding copyright ownership.
+ *     The ASF licenses this file to You under the Apache License, Version 2.0
+ *     (the "License"); you may not use this file except in compliance with
+ *     the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *     Unless required by applicable law or agreed to in writing, software
+ *     distributed under the License is distributed on an "AS IS" BASIS,
+ *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *     See the License for the specific language governing permissions and
+ *     limitations under the License.
+ */
+package org.apache.openejb.server.cxf.rs;
+
+import org.apache.cxf.jaxrs.client.WebClient;
+import org.apache.openejb.OpenEjbContainer;
+import org.apache.openejb.config.DeploymentFilterable;
+import org.apache.openejb.server.cxf.rs.beans.SimpleEJB;
+import org.apache.openejb.util.NetworkUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import javax.annotation.security.RolesAllowed;
+import javax.ejb.EJB;
+import javax.ejb.Lock;
+import javax.ejb.LockType;
+import javax.ejb.Singleton;
+import javax.ejb.embeddable.EJBContainer;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Request;
+import javax.ws.rs.core.Response;
+import java.util.Properties;
+
+import static org.junit.Assert.assertEquals;
+
+@SuppressWarnings("FieldCanBeLocal")
+public class EJBAccessExceptionMapperTest {
+    private static EJBContainer container;
+    private static RESTIsCoolOne service;
+    private static int port = -1;
+
+    @BeforeClass
+    public static void start() throws Exception {
+        port = NetworkUtil.getNextAvailablePort();
+        final Properties properties = new Properties();
+        properties.setProperty("httpejbd.port", Integer.toString(port));
+        properties.setProperty(DeploymentFilterable.CLASSPATH_INCLUDE, ".*openejb-cxf-rs.*");
+        properties.setProperty(OpenEjbContainer.OPENEJB_EMBEDDED_REMOTABLE, "true");
+        container = EJBContainer.createEJBContainer(properties);
+        service = (RESTIsCoolOne) container.getContext().lookup("java:/global/openejb-cxf-rs/RESTIsCoolOne");
+    }
+
+    @AfterClass
+    public static void close() throws Exception {
+        if (container != null) {
+            container.close();
+        }
+    }
+
+
+    @Test
+    public void rest() {
+        final Response response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejbsecu/rest").get();
+        assertEquals(403, response.getStatus());
+    }
+
+
+    @Singleton
+    @RolesAllowed("Something that does not exit at all")
+    @Lock(LockType.READ)
+    @Path("/ejbsecu")
+    public static class RESTIsCoolOne {
+        @EJB
+        private SimpleEJB simpleEJB;
+        @javax.ws.rs.core.Context
+        Request request;
+
+        @Path("/normal")
+        @GET
+        public String normal() {
+            return simpleEJB.ok();
+        }
+
+        @Path("/rest")
+        @GET
+        public String rest() {
+            return simpleEJB.ok();
+        }
+
+        @Path("/param")
+        @GET
+        public String param(@QueryParam("arg") @DefaultValue("true") final String p) {
+            return p;
+        }
+
+        @Path("/field")
+        @GET
+        public boolean field() {
+            return "GET".equals(request.getMethod());
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/tomee/blob/bd7dbd0f/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/EjbDeploymentTest.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/EjbDeploymentTest.java b/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/EjbDeploymentTest.java
index 94816ba..2eb9a87 100644
--- a/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/EjbDeploymentTest.java
+++ b/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/EjbDeploymentTest.java
@@ -1,123 +1,123 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *     contributor license agreements.  See the NOTICE file distributed with
- *     this work for additional information regarding copyright ownership.
- *     The ASF licenses this file to You under the Apache License, Version 2.0
- *     (the "License"); you may not use this file except in compliance with
- *     the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *     Unless required by applicable law or agreed to in writing, software
- *     distributed under the License is distributed on an "AS IS" BASIS,
- *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *     See the License for the specific language governing permissions and
- *     limitations under the License.
- */
-package org.apache.openejb.server.cxf.rs;
-
-import org.apache.cxf.jaxrs.client.WebClient;
-import org.apache.openejb.OpenEjbContainer;
-import org.apache.openejb.config.DeploymentFilterable;
-import org.apache.openejb.server.cxf.rs.beans.SimpleEJB;
-import org.apache.openejb.util.NetworkUtil;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import javax.ejb.embeddable.EJBContainer;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.Request;
-import java.util.Properties;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-public class EjbDeploymentTest {
-    private static EJBContainer container;
-    private static RESTIsCoolTwo service;
-    private static int port = -1;
-
-    @BeforeClass
-    public static void start() throws Exception {
-        port = NetworkUtil.getNextAvailablePort();
-        final Properties properties = new Properties();
-        properties.setProperty("httpejbd.port", Integer.toString(port));
-        properties.setProperty(DeploymentFilterable.CLASSPATH_INCLUDE, ".*openejb-cxf-rs.*");
-        properties.setProperty(OpenEjbContainer.OPENEJB_EMBEDDED_REMOTABLE, "true");
-        container = EJBContainer.createEJBContainer(properties);
-        service = (RESTIsCoolTwo) container.getContext().lookup("java:/global/openejb-cxf-rs/RESTIsCoolTwo");
-    }
-
-    @AfterClass
-    public static void close() throws Exception {
-        if (container != null) {
-            container.close();
-        }
-    }
-
-    @Test
-    public void normal() {
-        assertNotNull(service);
-        assertEquals("ok", service.normal());
-    }
-
-    @Test
-    public void rest() {
-        final String response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/rest").get(String.class);
-        assertEquals("ok", response);
-    }
-
-    @Test
-    public void restParameterInjected() {
-        String response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/param").get(String.class);
-        assertEquals("true", response);
-
-        response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/param").query("arg", "foo").get(String.class);
-        assertEquals("foo", response);
-    }
-
-    @Test
-    public void restFieldInjected() {
-        final Boolean response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/field").get(Boolean.class);
-        assertEquals(true, response);
-    }
-
-    @Stateless
-    @Path("/ejb")
-    public static class RESTIsCoolTwo {
-        @EJB
-        private SimpleEJB simpleEJB;
-        @javax.ws.rs.core.Context
-        Request request;
-
-        @Path("/normal")
-        @GET
-        public String normal() {
-            return simpleEJB.ok();
-        }
-
-        @Path("/rest")
-        @GET
-        public String rest() {
-            return simpleEJB.ok();
-        }
-
-        @Path("/param")
-        @GET
-        public String param(@QueryParam("arg") @DefaultValue("true") final String p) {
-            return p;
-        }
-
-        @Path("/field")
-        @GET
-        public boolean field() {
-            return "GET".equals(request.getMethod());
-        }
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *     contributor license agreements.  See the NOTICE file distributed with
+ *     this work for additional information regarding copyright ownership.
+ *     The ASF licenses this file to You under the Apache License, Version 2.0
+ *     (the "License"); you may not use this file except in compliance with
+ *     the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *     Unless required by applicable law or agreed to in writing, software
+ *     distributed under the License is distributed on an "AS IS" BASIS,
+ *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *     See the License for the specific language governing permissions and
+ *     limitations under the License.
+ */
+package org.apache.openejb.server.cxf.rs;
+
+import org.apache.cxf.jaxrs.client.WebClient;
+import org.apache.openejb.OpenEjbContainer;
+import org.apache.openejb.config.DeploymentFilterable;
+import org.apache.openejb.server.cxf.rs.beans.SimpleEJB;
+import org.apache.openejb.util.NetworkUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import javax.ejb.EJB;
+import javax.ejb.Stateless;
+import javax.ejb.embeddable.EJBContainer;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Request;
+import java.util.Properties;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+public class EjbDeploymentTest {
+    private static EJBContainer container;
+    private static RESTIsCoolTwo service;
+    private static int port = -1;
+
+    @BeforeClass
+    public static void start() throws Exception {
+        port = NetworkUtil.getNextAvailablePort();
+        final Properties properties = new Properties();
+        properties.setProperty("httpejbd.port", Integer.toString(port));
+        properties.setProperty(DeploymentFilterable.CLASSPATH_INCLUDE, ".*openejb-cxf-rs.*");
+        properties.setProperty(OpenEjbContainer.OPENEJB_EMBEDDED_REMOTABLE, "true");
+        container = EJBContainer.createEJBContainer(properties);
+        service = (RESTIsCoolTwo) container.getContext().lookup("java:/global/openejb-cxf-rs/RESTIsCoolTwo");
+    }
+
+    @AfterClass
+    public static void close() throws Exception {
+        if (container != null) {
+            container.close();
+        }
+    }
+
+    @Test
+    public void normal() {
+        assertNotNull(service);
+        assertEquals("ok", service.normal());
+    }
+
+    @Test
+    public void rest() {
+        final String response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/rest").get(String.class);
+        assertEquals("ok", response);
+    }
+
+    @Test
+    public void restParameterInjected() {
+        String response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/param").get(String.class);
+        assertEquals("true", response);
+
+        response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/param").query("arg", "foo").get(String.class);
+        assertEquals("foo", response);
+    }
+
+    @Test
+    public void restFieldInjected() {
+        final Boolean response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/ejb/field").get(Boolean.class);
+        assertEquals(true, response);
+    }
+
+    @Stateless
+    @Path("/ejb")
+    public static class RESTIsCoolTwo {
+        @EJB
+        private SimpleEJB simpleEJB;
+        @javax.ws.rs.core.Context
+        Request request;
+
+        @Path("/normal")
+        @GET
+        public String normal() {
+            return simpleEJB.ok();
+        }
+
+        @Path("/rest")
+        @GET
+        public String rest() {
+            return simpleEJB.ok();
+        }
+
+        @Path("/param")
+        @GET
+        public String param(@QueryParam("arg") @DefaultValue("true") final String p) {
+            return p;
+        }
+
+        @Path("/field")
+        @GET
+        public boolean field() {
+            return "GET".equals(request.getMethod());
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/tomee/blob/bd7dbd0f/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/PathParamAtClassLevelTest.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/PathParamAtClassLevelTest.java b/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/PathParamAtClassLevelTest.java
index 3d6de65..86b0efc 100644
--- a/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/PathParamAtClassLevelTest.java
+++ b/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/PathParamAtClassLevelTest.java
@@ -1,74 +1,74 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- *     contributor license agreements.  See the NOTICE file distributed with
- *     this work for additional information regarding copyright ownership.
- *     The ASF licenses this file to You under the Apache License, Version 2.0
- *     (the "License"); you may not use this file except in compliance with
- *     the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *     Unless required by applicable law or agreed to in writing, software
- *     distributed under the License is distributed on an "AS IS" BASIS,
- *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *     See the License for the specific language governing permissions and
- *     limitations under the License.
- */
-
-package org.apache.openejb.server.cxf.rs;
-
-import org.apache.cxf.jaxrs.client.WebClient;
-import org.apache.openejb.OpenEjbContainer;
-import org.apache.openejb.config.DeploymentFilterable;
-import org.apache.openejb.util.NetworkUtil;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.ejb.Stateless;
-import javax.ejb.embeddable.EJBContainer;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import java.util.Properties;
-
-import static org.junit.Assert.assertEquals;
-
-public class PathParamAtClassLevelTest {
-    private static EJBContainer container;
-
-    private static int port = -1;
-
-    @BeforeClass
-    public static void start() throws Exception {
-        port = NetworkUtil.getNextAvailablePort();
-        final Properties properties = new Properties();
-        properties.setProperty(DeploymentFilterable.CLASSPATH_INCLUDE, ".*openejb-cxf-rs.*");
-        properties.setProperty("httpejbd.port", Integer.toString(port));
-        properties.setProperty(OpenEjbContainer.OPENEJB_EMBEDDED_REMOTABLE, "true");
-        container = EJBContainer.createEJBContainer(properties);
-    }
-
-    @AfterClass
-    public static void close() throws Exception {
-        if (container != null) {
-            container.close();
-        }
-    }
-
-    @Test
-    public void rest() {
-        final String response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/match/openejb/test/normal").get(String.class);
-        assertEquals("openejb", response);
-    }
-
-    @Stateless
-    @Path("/match/{name}/test")
-    public static class DoesItMatchWithPathParamAtClassLevel {
-        @Path("/normal")
-        @GET
-        public String normal(@PathParam("name") final String name) {
-            return name;
-        }
-    }
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *     contributor license agreements.  See the NOTICE file distributed with
+ *     this work for additional information regarding copyright ownership.
+ *     The ASF licenses this file to You under the Apache License, Version 2.0
+ *     (the "License"); you may not use this file except in compliance with
+ *     the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *     Unless required by applicable law or agreed to in writing, software
+ *     distributed under the License is distributed on an "AS IS" BASIS,
+ *     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *     See the License for the specific language governing permissions and
+ *     limitations under the License.
+ */
+
+package org.apache.openejb.server.cxf.rs;
+
+import org.apache.cxf.jaxrs.client.WebClient;
+import org.apache.openejb.OpenEjbContainer;
+import org.apache.openejb.config.DeploymentFilterable;
+import org.apache.openejb.util.NetworkUtil;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import javax.ejb.Stateless;
+import javax.ejb.embeddable.EJBContainer;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import java.util.Properties;
+
+import static org.junit.Assert.assertEquals;
+
+public class PathParamAtClassLevelTest {
+    private static EJBContainer container;
+
+    private static int port = -1;
+
+    @BeforeClass
+    public static void start() throws Exception {
+        port = NetworkUtil.getNextAvailablePort();
+        final Properties properties = new Properties();
+        properties.setProperty(DeploymentFilterable.CLASSPATH_INCLUDE, ".*openejb-cxf-rs.*");
+        properties.setProperty("httpejbd.port", Integer.toString(port));
+        properties.setProperty(OpenEjbContainer.OPENEJB_EMBEDDED_REMOTABLE, "true");
+        container = EJBContainer.createEJBContainer(properties);
+    }
+
+    @AfterClass
+    public static void close() throws Exception {
+        if (container != null) {
+            container.close();
+        }
+    }
+
+    @Test
+    public void rest() {
+        final String response = WebClient.create("http://localhost:" + port + "/openejb-cxf-rs").path("/match/openejb/test/normal").get(String.class);
+        assertEquals("openejb", response);
+    }
+
+    @Stateless
+    @Path("/match/{name}/test")
+    public static class DoesItMatchWithPathParamAtClassLevel {
+        @Path("/normal")
+        @GET
+        public String normal(@PathParam("name") final String name) {
+            return name;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/tomee/blob/bd7dbd0f/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/WSSPassThroughInterceptor.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/WSSPassThroughInterceptor.java b/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/WSSPassThroughInterceptor.java
index 058a9b0..1d05d9c 100644
--- a/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/WSSPassThroughInterceptor.java
+++ b/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/WSSPassThroughInterceptor.java
@@ -1,66 +1,66 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.openejb.server.cxf;
-
-import org.apache.cxf.binding.soap.SoapMessage;
-import org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor;
-import org.apache.cxf.phase.Phase;
-import org.apache.ws.security.WSConstants;
-
-import javax.xml.namespace.QName;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * When using JAX-WS Handler, the {@link org.apache.openejb.server.cxf.ejb.EjbInterceptor}
- * adds the {@link org.apache.cxf.binding.soap.interceptor.MustUnderstandInterceptor}. OpenEJB now supports
- * WS Security out of the box, so it must indicates WS Security headers have been treated. That is simply done
- * using that fake interceptor.
- * <p/>
- * $Id$
- */
-public class WSSPassThroughInterceptor extends AbstractSoapInterceptor {
-    private static final Set<QName> HEADERS = new HashSet<QName>();
-
-    static {
-        HEADERS.add(new QName(WSConstants.WSSE_NS, WSConstants.WSSE_LN));
-        HEADERS.add(new QName(WSConstants.WSSE11_NS, WSConstants.WSSE_LN));
-        HEADERS.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_DATA_LN));
-    }
-
-    public WSSPassThroughInterceptor() {
-        super(Phase.PRE_PROTOCOL);
-    }
-
-    public WSSPassThroughInterceptor(final String phase) {
-        super(phase);
-    }
-
-    @Override
-    public Set<QName> getUnderstoodHeaders() {
-        return HEADERS;
-    }
-
-    public void handleMessage(final SoapMessage soapMessage) {
-        // do nothing
-
-        // this interceptor simply returns all WS-Security headers in its getUnderstoodHeaders()
-        // method, so that CXF does not complain that they have not been "processed"
-        // this is useful if you only need to look at the non-encrypted XML
-    }
-
-}
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.server.cxf;
+
+import org.apache.cxf.binding.soap.SoapMessage;
+import org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor;
+import org.apache.cxf.phase.Phase;
+import org.apache.ws.security.WSConstants;
+
+import javax.xml.namespace.QName;
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * When using JAX-WS Handler, the {@link org.apache.openejb.server.cxf.ejb.EjbInterceptor}
+ * adds the {@link org.apache.cxf.binding.soap.interceptor.MustUnderstandInterceptor}. OpenEJB now supports
+ * WS Security out of the box, so it must indicates WS Security headers have been treated. That is simply done
+ * using that fake interceptor.
+ * <p/>
+ * $Id$
+ */
+public class WSSPassThroughInterceptor extends AbstractSoapInterceptor {
+    private static final Set<QName> HEADERS = new HashSet<QName>();
+
+    static {
+        HEADERS.add(new QName(WSConstants.WSSE_NS, WSConstants.WSSE_LN));
+        HEADERS.add(new QName(WSConstants.WSSE11_NS, WSConstants.WSSE_LN));
+        HEADERS.add(new QName(WSConstants.ENC_NS, WSConstants.ENC_DATA_LN));
+    }
+
+    public WSSPassThroughInterceptor() {
+        super(Phase.PRE_PROTOCOL);
+    }
+
+    public WSSPassThroughInterceptor(final String phase) {
+        super(phase);
+    }
+
+    @Override
+    public Set<QName> getUnderstoodHeaders() {
+        return HEADERS;
+    }
+
+    public void handleMessage(final SoapMessage soapMessage) {
+        // do nothing
+
+        // this interceptor simply returns all WS-Security headers in its getUnderstoodHeaders()
+        // method, so that CXF does not complain that they have not been "processed"
+        // this is useful if you only need to look at the non-encrypted XML
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/tomee/blob/bd7dbd0f/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbMessageContext.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbMessageContext.java b/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbMessageContext.java
index 9c09ca0..9c89346 100644
--- a/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbMessageContext.java
+++ b/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbMessageContext.java
@@ -1,62 +1,62 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.openejb.server.cxf.ejb;
-
-import javax.xml.ws.EndpointReference;
-import javax.xml.ws.WebServiceException;
-import javax.xml.ws.wsaddressing.W3CEndpointReference;
-import javax.xml.ws.wsaddressing.W3CEndpointReferenceBuilder;
-
-import org.apache.cxf.endpoint.Endpoint;
-import org.apache.cxf.jaxws.context.WrappedMessageContext;
-import org.apache.cxf.message.Message;
-import org.apache.openejb.core.webservices.AddressingSupport;
-import org.w3c.dom.Element;
-
-public class EjbMessageContext extends WrappedMessageContext implements AddressingSupport {
-
-    public EjbMessageContext(final Message m, final Scope defScope) {
-        super(m, defScope);
-    }
-
-    public EndpointReference getEndpointReference(final Element... referenceParameters) {
-        final org.apache.cxf.message.Message msg = getWrappedMessage();
-        final Endpoint ep = msg.getExchange().get(Endpoint.class);
-
-        final W3CEndpointReferenceBuilder builder = new W3CEndpointReferenceBuilder();
-        builder.address(ep.getEndpointInfo().getAddress());
-        builder.serviceName(ep.getService().getName());
-        builder.endpointName(ep.getEndpointInfo().getName());
-
-        if (referenceParameters != null) {
-            for (final Element referenceParameter : referenceParameters) {
-                builder.referenceParameter(referenceParameter);
-            }
-        }
-
-        return builder.build();
-    }
-
-    public <T extends EndpointReference> T getEndpointReference(final Class<T> clazz, final Element... referenceParameters) {
-        if (W3CEndpointReference.class.isAssignableFrom(clazz)) {
-            return clazz.cast(getEndpointReference(referenceParameters));
-        } else {
-            throw new WebServiceException("Endpoint reference type not supported: " + clazz);
-        }
-    }
-
-}
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.server.cxf.ejb;
+
+import javax.xml.ws.EndpointReference;
+import javax.xml.ws.WebServiceException;
+import javax.xml.ws.wsaddressing.W3CEndpointReference;
+import javax.xml.ws.wsaddressing.W3CEndpointReferenceBuilder;
+
+import org.apache.cxf.endpoint.Endpoint;
+import org.apache.cxf.jaxws.context.WrappedMessageContext;
+import org.apache.cxf.message.Message;
+import org.apache.openejb.core.webservices.AddressingSupport;
+import org.w3c.dom.Element;
+
+public class EjbMessageContext extends WrappedMessageContext implements AddressingSupport {
+
+    public EjbMessageContext(final Message m, final Scope defScope) {
+        super(m, defScope);
+    }
+
+    public EndpointReference getEndpointReference(final Element... referenceParameters) {
+        final org.apache.cxf.message.Message msg = getWrappedMessage();
+        final Endpoint ep = msg.getExchange().get(Endpoint.class);
+
+        final W3CEndpointReferenceBuilder builder = new W3CEndpointReferenceBuilder();
+        builder.address(ep.getEndpointInfo().getAddress());
+        builder.serviceName(ep.getService().getName());
+        builder.endpointName(ep.getEndpointInfo().getName());
+
+        if (referenceParameters != null) {
+            for (final Element referenceParameter : referenceParameters) {
+                builder.referenceParameter(referenceParameter);
+            }
+        }
+
+        return builder.build();
+    }
+
+    public <T extends EndpointReference> T getEndpointReference(final Class<T> clazz, final Element... referenceParameters) {
+        if (W3CEndpointReference.class.isAssignableFrom(clazz)) {
+            return clazz.cast(getEndpointReference(referenceParameters));
+        } else {
+            throw new WebServiceException("Endpoint reference type not supported: " + clazz);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/tomee/blob/bd7dbd0f/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/CxfJaxWsProviderTest.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/CxfJaxWsProviderTest.java b/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/CxfJaxWsProviderTest.java
index b63a211..13a5289 100644
--- a/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/CxfJaxWsProviderTest.java
+++ b/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/CxfJaxWsProviderTest.java
@@ -1,137 +1,137 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.openejb.server.cxf;
-
-import junit.framework.TestCase;
-import org.apache.openejb.config.DeploymentFilterable;
-import org.apache.openejb.server.cxf.fault.AuthenticatorService;
-import org.apache.openejb.server.cxf.fault.WrongPasswordException;
-import org.apache.openejb.server.cxf.fault.WrongPasswordRuntimeException;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.xml.namespace.QName;
-import javax.xml.ws.Service;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URL;
-import java.util.Properties;
-
-/**
- * @version $Rev$
- */
-public class CxfJaxWsProviderTest extends TestCase {
-
-    //START SNIPPET: setup	
-    private InitialContext initialContext;
-
-    //Random port to avoid test conflicts
-    private static final int port = Integer.parseInt(System.getProperty("httpejbd.port", "" + org.apache.openejb.util.NetworkUtil.getNextAvailablePort()));
-
-    protected void setUp() throws Exception {
-        final Properties properties = new Properties();
-        properties.setProperty(DeploymentFilterable.CLASSPATH_INCLUDE, ".*openejb-cxf.*");
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        properties.setProperty("openejb.embedded.remotable", "true");
-
-        //Just for this test we change the default port from 4204 to avoid conflicts
-        properties.setProperty("httpejbd.port", "" + port);
-
-        initialContext = new InitialContext(properties);
-    }
-    //END SNIPPET: setup
-
-    public void test00_runCheckedException() {
-        try {
-            final AuthenticatorService withHandler = Service.create(
-                new URL("http://localhost:" + port + "/openejb-cxf/AuthenticatorServiceBean?wsdl"),
-                new QName("http://superbiz.org/wsdl", "AuthenticatorServiceBeanService"))
-                .getPort(AuthenticatorService.class);
-            assertNotNull(withHandler);
-
-            final AuthenticatorService noHandler = Service.create(
-                new URL("http://localhost:" + port + "/openejb-cxf/AuthenticatorServiceBeanNoHandler?wsdl"),
-                new QName("http://superbiz.org/wsdl", "AuthenticatorServiceBeanNoHandlerService"))
-                .getPort(AuthenticatorService.class);
-            assertNotNull(noHandler);
-
-            try {
-                withHandler.authenticate("John", "Doe");
-            } catch (final WrongPasswordException e) {
-                System.out.println("My lovely checked exception...");
-            } catch (final Throwable e) {
-                e.printStackTrace();
-                fail("A throwable instead of a checked exception...");
-            }
-
-            try {
-                noHandler.authenticate("John", "Doe");
-            } catch (final WrongPasswordException e) {
-                System.out.println("My lovely checked exception...");
-            } catch (final Throwable e) {
-                e.printStackTrace();
-                fail("A throwable instead of a checked exception...");
-            }
-
-        } catch (final MalformedURLException e) {
-            e.printStackTrace();
-            fail("?!? invalid URL ???");
-        }
-
-    }
-
-    public void test01_runRuntimeException() {
-        try {
-            final AuthenticatorService withHandler = Service.create(
-                new URL("http://localhost:" + port + "/openejb-cxf/AuthenticatorServiceBean?wsdl"),
-                new QName("http://superbiz.org/wsdl", "AuthenticatorServiceBeanService"))
-                .getPort(AuthenticatorService.class);
-            assertNotNull(withHandler);
-
-            final AuthenticatorService noHandler = Service.create(
-                new URL("http://localhost:" + port + "/openejb-cxf/AuthenticatorServiceBeanNoHandler?wsdl"),
-                new QName("http://superbiz.org/wsdl", "AuthenticatorServiceBeanNoHandlerService"))
-                .getPort(AuthenticatorService.class);
-            assertNotNull(noHandler);
-
-            try {
-                withHandler.authenticateRuntime("John", "Doe");
-            } catch (final WrongPasswordRuntimeException e) {
-                e.printStackTrace();
-                fail("My checked exception instead of a throwableS...");
-            } catch (final Throwable e) {
-                System.out.println("A throwable exception...");
-            }
-
-
-            try {
-                noHandler.authenticateRuntime("John", "Doe");
-            } catch (final WrongPasswordRuntimeException e) {
-                e.printStackTrace();
-                fail("My checked exception instead of a throwableS...");
-            } catch (final Throwable e) {
-                System.out.println("A throwable exception...");
-            }
-
-        } catch (final MalformedURLException e) {
-            e.printStackTrace();
-            fail("?!? invalid URL ???");
-        }
-
-    }
-
-}
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.server.cxf;
+
+import junit.framework.TestCase;
+import org.apache.openejb.config.DeploymentFilterable;
+import org.apache.openejb.server.cxf.fault.AuthenticatorService;
+import org.apache.openejb.server.cxf.fault.WrongPasswordException;
+import org.apache.openejb.server.cxf.fault.WrongPasswordRuntimeException;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
+import java.util.Properties;
+
+/**
+ * @version $Rev$
+ */
+public class CxfJaxWsProviderTest extends TestCase {
+
+    //START SNIPPET: setup	
+    private InitialContext initialContext;
+
+    //Random port to avoid test conflicts
+    private static final int port = Integer.parseInt(System.getProperty("httpejbd.port", "" + org.apache.openejb.util.NetworkUtil.getNextAvailablePort()));
+
+    protected void setUp() throws Exception {
+        final Properties properties = new Properties();
+        properties.setProperty(DeploymentFilterable.CLASSPATH_INCLUDE, ".*openejb-cxf.*");
+        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
+        properties.setProperty("openejb.embedded.remotable", "true");
+
+        //Just for this test we change the default port from 4204 to avoid conflicts
+        properties.setProperty("httpejbd.port", "" + port);
+
+        initialContext = new InitialContext(properties);
+    }
+    //END SNIPPET: setup
+
+    public void test00_runCheckedException() {
+        try {
+            final AuthenticatorService withHandler = Service.create(
+                new URL("http://localhost:" + port + "/openejb-cxf/AuthenticatorServiceBean?wsdl"),
+                new QName("http://superbiz.org/wsdl", "AuthenticatorServiceBeanService"))
+                .getPort(AuthenticatorService.class);
+            assertNotNull(withHandler);
+
+            final AuthenticatorService noHandler = Service.create(
+                new URL("http://localhost:" + port + "/openejb-cxf/AuthenticatorServiceBeanNoHandler?wsdl"),
+                new QName("http://superbiz.org/wsdl", "AuthenticatorServiceBeanNoHandlerService"))
+                .getPort(AuthenticatorService.class);
+            assertNotNull(noHandler);
+
+            try {
+                withHandler.authenticate("John", "Doe");
+            } catch (final WrongPasswordException e) {
+                System.out.println("My lovely checked exception...");
+            } catch (final Throwable e) {
+                e.printStackTrace();
+                fail("A throwable instead of a checked exception...");
+            }
+
+            try {
+                noHandler.authenticate("John", "Doe");
+            } catch (final WrongPasswordException e) {
+                System.out.println("My lovely checked exception...");
+            } catch (final Throwable e) {
+                e.printStackTrace();
+                fail("A throwable instead of a checked exception...");
+            }
+
+        } catch (final MalformedURLException e) {
+            e.printStackTrace();
+            fail("?!? invalid URL ???");
+        }
+
+    }
+
+    public void test01_runRuntimeException() {
+        try {
+            final AuthenticatorService withHandler = Service.create(
+                new URL("http://localhost:" + port + "/openejb-cxf/AuthenticatorServiceBean?wsdl"),
+                new QName("http://superbiz.org/wsdl", "AuthenticatorServiceBeanService"))
+                .getPort(AuthenticatorService.class);
+            assertNotNull(withHandler);
+
+            final AuthenticatorService noHandler = Service.create(
+                new URL("http://localhost:" + port + "/openejb-cxf/AuthenticatorServiceBeanNoHandler?wsdl"),
+                new QName("http://superbiz.org/wsdl", "AuthenticatorServiceBeanNoHandlerService"))
+                .getPort(AuthenticatorService.class);
+            assertNotNull(noHandler);
+
+            try {
+                withHandler.authenticateRuntime("John", "Doe");
+            } catch (final WrongPasswordRuntimeException e) {
+                e.printStackTrace();
+                fail("My checked exception instead of a throwableS...");
+            } catch (final Throwable e) {
+                System.out.println("A throwable exception...");
+            }
+
+
+            try {
+                noHandler.authenticateRuntime("John", "Doe");
+            } catch (final WrongPasswordRuntimeException e) {
+                e.printStackTrace();
+                fail("My checked exception instead of a throwableS...");
+            } catch (final Throwable e) {
+                System.out.println("A throwable exception...");
+            }
+
+        } catch (final MalformedURLException e) {
+            e.printStackTrace();
+            fail("?!? invalid URL ???");
+        }
+
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/tomee/blob/bd7dbd0f/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorService.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorService.java b/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorService.java
index 6a29e16..1358cdd 100644
--- a/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorService.java
+++ b/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorService.java
@@ -1,31 +1,31 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.openejb.server.cxf.fault;
-
-import javax.jws.WebService;
-
-/**
- * @version $Rev$
- */
-@WebService(targetNamespace = "http://superbiz.org/wsdl")
-public interface AuthenticatorService {
-
-    boolean authenticate(String name, String password) throws WrongPasswordException;
-
-    boolean authenticateRuntime(String name, String password);
-
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.server.cxf.fault;
+
+import javax.jws.WebService;
+
+/**
+ * @version $Rev$
+ */
+@WebService(targetNamespace = "http://superbiz.org/wsdl")
+public interface AuthenticatorService {
+
+    boolean authenticate(String name, String password) throws WrongPasswordException;
+
+    boolean authenticateRuntime(String name, String password);
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee/blob/bd7dbd0f/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorServiceBean.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorServiceBean.java b/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorServiceBean.java
index 807d73c..5a8ed5a 100644
--- a/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorServiceBean.java
+++ b/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorServiceBean.java
@@ -1,43 +1,43 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.openejb.server.cxf.fault;
-
-import javax.ejb.Stateless;
-import javax.jws.HandlerChain;
-import javax.jws.WebService;
-
-/**
- * @version $Rev$
- */
-@Stateless
-@WebService(targetNamespace = "http://superbiz.org/wsdl")
-@HandlerChain(file = "handler.xml")
-public class AuthenticatorServiceBean implements AuthenticatorService {
-
-    public boolean authenticate(final String name, final String password) throws WrongPasswordException {
-        System.out.println(String.format("AuthenticatorServiceBean.authenticate(%s, %s)",
-            name, password));
-        throw new WrongPasswordException("Checked exception");
-    }
-
-    public boolean authenticateRuntime(final String name, final String password) {
-        System.out.println(String.format("AuthenticatorServiceBean.authenticateRuntime(%s, %s)",
-            name, password));
-        throw new WrongPasswordRuntimeException("Runtime exception");
-    }
-
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.server.cxf.fault;
+
+import javax.ejb.Stateless;
+import javax.jws.HandlerChain;
+import javax.jws.WebService;
+
+/**
+ * @version $Rev$
+ */
+@Stateless
+@WebService(targetNamespace = "http://superbiz.org/wsdl")
+@HandlerChain(file = "handler.xml")
+public class AuthenticatorServiceBean implements AuthenticatorService {
+
+    public boolean authenticate(final String name, final String password) throws WrongPasswordException {
+        System.out.println(String.format("AuthenticatorServiceBean.authenticate(%s, %s)",
+            name, password));
+        throw new WrongPasswordException("Checked exception");
+    }
+
+    public boolean authenticateRuntime(final String name, final String password) {
+        System.out.println(String.format("AuthenticatorServiceBean.authenticateRuntime(%s, %s)",
+            name, password));
+        throw new WrongPasswordRuntimeException("Runtime exception");
+    }
+
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee/blob/bd7dbd0f/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorServiceBeanNoHandler.java
----------------------------------------------------------------------
diff --git a/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorServiceBeanNoHandler.java b/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorServiceBeanNoHandler.java
index 3a3cb43..41b82ae 100644
--- a/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorServiceBeanNoHandler.java
+++ b/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/fault/AuthenticatorServiceBeanNoHandler.java
@@ -1,42 +1,42 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.openejb.server.cxf.fault;
-
-import javax.ejb.Stateless;
-import javax.jws.WebService;
-
-/**
- * @version $Rev$
- */
-@Stateless
-@WebService(targetNamespace = "http://superbiz.org/wsdl")
-// @HandlerChain(file="handler.xml")
-public class AuthenticatorServiceBeanNoHandler implements AuthenticatorService {
-
-    public boolean authenticate(final String name, final String password) throws WrongPasswordException {
-        System.out.println(String.format("AuthenticatorServiceBeanNoHandler.authenticate(%s, %s)",
-            name, password));
-        throw new WrongPasswordException("Checked exception");
-    }
-
-    public boolean authenticateRuntime(final String name, final String password) {
-        System.out.println(String.format("AuthenticatorServiceBeanNoHandler.authenticateRuntime(%s, %s)",
-            name, password));
-        throw new WrongPasswordRuntimeException("Runtime exception");
-    }
-
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.openejb.server.cxf.fault;
+
+import javax.ejb.Stateless;
+import javax.jws.WebService;
+
+/**
+ * @version $Rev$
+ */
+@Stateless
+@WebService(targetNamespace = "http://superbiz.org/wsdl")
+// @HandlerChain(file="handler.xml")
+public class AuthenticatorServiceBeanNoHandler implements AuthenticatorService {
+
+    public boolean authenticate(final String name, final String password) throws WrongPasswordException {
+        System.out.println(String.format("AuthenticatorServiceBeanNoHandler.authenticate(%s, %s)",
+            name, password));
+        throw new WrongPasswordException("Checked exception");
+    }
+
+    public boolean authenticateRuntime(final String name, final String password) {
+        System.out.println(String.format("AuthenticatorServiceBeanNoHandler.authenticateRuntime(%s, %s)",
+            name, password));
+        throw new WrongPasswordRuntimeException("Runtime exception");
+    }
+
 }
\ No newline at end of file