svn commit: r1504455 - /tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java

2013-07-18 Thread rmannibucau
Author: rmannibucau
Date: Thu Jul 18 13:07:17 2013
New Revision: 1504455

URL: http://svn.apache.org/r1504455
Log:
avoiding NPE when cleaning up rest servlets

Modified:

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java

Modified: 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java?rev=1504455r1=1504454r2=1504455view=diff
==
--- 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 Thu Jul 18 13:07:17 2013
@@ -184,9 +184,11 @@ public class OpenEJBContextConfig extend
 for (final String clazz : webAppInfo.restApplications) {
 final Container child = mappedChildren.get(clazz);
 try { // remove only fake servlets to let users use their 
own stuff
-final String servletClass = 
StandardWrapper.class.cast(child).getServletClass();
-if (child != null  
(org.apache.openejb.server.rest.OpenEJBRestServlet.equals(servletClass) || 
!HttpServlet.class.isAssignableFrom(info.loader().loadClass(servletClass {
-context.removeChild(child);
+if (child != null) {
+final String servletClass = 
StandardWrapper.class.cast(child).getServletClass();
+if 
(org.apache.openejb.server.rest.OpenEJBRestServlet.equals(servletClass) || 
!HttpServlet.class.isAssignableFrom(info.loader().loadClass(servletClass))) {
+context.removeChild(child);
+}
 }
 } catch (final NoClassDefFoundError e) {
 context.removeChild(child);




svn commit: r1504488 - /tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java

2013-07-18 Thread rmannibucau
Author: rmannibucau
Date: Thu Jul 18 14:26:44 2013
New Revision: 1504488

URL: http://svn.apache.org/r1504488
Log:
missing protocol in apache snapshot repo

Modified:

tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java

Modified: 
tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java?rev=1504488r1=1504487r2=1504488view=diff
==
--- 
tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-loader/src/main/java/org/apache/openejb/loader/ProvisioningUtil.java
 Thu Jul 18 14:26:44 2013
@@ -42,7 +42,7 @@ public class ProvisioningUtil {
 
 private static final String ADDITIONAL_LIB_CONFIG = 
provisioning.properties;
 private static final String REPO1 = http://repo1.maven.org/maven2/;;
-private static final String APACHE_SNAPSHOT = 
repository.apache.org/snapshots/;
+private static final String APACHE_SNAPSHOT = 
https://repository.apache.org/snapshots/;;
 private static final String ZIP_KEY = zip;
 private static final String DESTINATION_KEY = destination;
 private static final String JAR_KEY = jar;




svn commit: r1506196 - /tomee/tomee/trunk/server/openejb-cxf-rs/pom.xml

2013-07-23 Thread rmannibucau
Author: rmannibucau
Date: Tue Jul 23 18:17:08 2013
New Revision: 1506196

URL: http://svn.apache.org/r1506196
Log:
fixing jettison version

Modified:
tomee/tomee/trunk/server/openejb-cxf-rs/pom.xml

Modified: tomee/tomee/trunk/server/openejb-cxf-rs/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/pom.xml?rev=1506196r1=1506195r2=1506196view=diff
==
--- tomee/tomee/trunk/server/openejb-cxf-rs/pom.xml (original)
+++ tomee/tomee/trunk/server/openejb-cxf-rs/pom.xml Tue Jul 23 18:17:08 2013
@@ -116,7 +116,7 @@
 dependency
   groupIdorg.codehaus.jettison/groupId
   artifactIdjettison/artifactId
-  version1.3.3/version
+  version1.3.4/version
 /dependency
   /dependencies
 




svn commit: r1506414 - /tomee/tomee/trunk/pom.xml

2013-07-24 Thread rmannibucau
Author: rmannibucau
Date: Wed Jul 24 06:50:01 2013
New Revision: 1506414

URL: http://svn.apache.org/r1506414
Log:
updating maven dependency plugin in parent to be compliant with last maven 
version

Modified:
tomee/tomee/trunk/pom.xml

Modified: tomee/tomee/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/pom.xml?rev=1506414r1=1506413r2=1506414view=diff
==
--- tomee/tomee/trunk/pom.xml (original)
+++ tomee/tomee/trunk/pom.xml Wed Jul 24 06:50:01 2013
@@ -191,7 +191,7 @@
 plugin
   groupIdorg.apache.maven.plugins/groupId
   artifactIdmaven-dependency-plugin/artifactId
-  version2.6/version
+  version2.8/version
 /plugin
 plugin
   groupIdorg.apache.maven.plugins/groupId




svn commit: r1506834 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java

2013-07-25 Thread rmannibucau
Author: rmannibucau
Date: Thu Jul 25 07:43:15 2013
New Revision: 1506834

URL: http://svn.apache.org/r1506834
Log:
TOMEE-1008 EJBContainer can get null as properties

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java?rev=1506834r1=1506833r2=1506834view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java
 Thu Jul 25 07:43:15 2013
@@ -76,6 +76,7 @@ import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedHashSet;
 import java.util.List;
@@ -301,6 +302,10 @@ public class OpenEjbContainer extends EJ
 
 @Override
 public EJBContainer createEJBContainer(Map?, ? map) {
+if (map == null) { // JBoss EJB API pass null when calling 
EJBContainer.createEJBContainer()
+map = new HashMapObject, Object();
+}
+
 if (isOtherProvider(map)) return null;
 
 if (instance != null || OpenEJB.isInitialized()) {




svn commit: r1507796 - in /tomee/tomee/trunk: container/openejb-core/src/main/java/org/apache/openejb/cdi/ server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/ server/openejb-http/src

2013-07-28 Thread rmannibucau
Author: rmannibucau
Date: Sun Jul 28 13:04:52 2013
New Revision: 1507796

URL: http://svn.apache.org/r1507796
Log:
TOMEE-1009 better handling of request thread local cleaning

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java

tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Contexts.java

tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cdi/SessionNormalScopeBeanHandler.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java?rev=1507796r1=1507795r2=1507796view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiAppContextsService.java
 Sun Jul 28 13:04:52 2013
@@ -49,6 +49,8 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpSession;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.Collection;
 
 public class CdiAppContextsService extends AbstractContextsService implements 
ContextsService {
 
@@ -72,6 +74,14 @@ public class CdiAppContextsService exten
 
 private final WebBeansContext webBeansContext;
 
+private static final ThreadLocalCollectionRunnable endRequestRunnables 
= new ThreadLocalCollectionRunnable() {
+@Override
+protected CollectionRunnable initialValue() {
+return new ArrayListRunnable();
+}
+};
+
+
 public CdiAppContextsService() {
 this(WebBeansContext.currentInstance(), 
WebBeansContext.currentInstance().getOpenWebBeansConfiguration().supportsConversation());
 }
@@ -93,6 +103,21 @@ public class CdiAppContextsService exten
 singletonContext.setActive(true);
 }
 
+private void endRequest() {
+for (final Runnable r : endRequestRunnables.get()) {
+try {
+r.run();
+} catch (final Exception e) {
+logger.error(e.getMessage(), e);
+}
+}
+endRequestRunnables.remove();
+}
+
+public static void pushRequestReleasable(final Runnable runnable) {
+endRequestRunnables.get().add(runnable);
+}
+
 @Override
 public void init(Object initializeObject) {
 //Start application context
@@ -237,12 +262,15 @@ public class CdiAppContextsService exten
 }
 
 private void destroyRequestContext() {
+// execute request tasks
+endRequest();
+
 if (supportsConversation()) { // OWB-595
 cleanupConversation();
 }
 
 //Get context
-RequestContext context = getRequestContext();
+final RequestContext context = getRequestContext();
 
 //Destroy context
 if (context != null) {
@@ -250,7 +278,7 @@ public class CdiAppContextsService exten
 }
 
 // clean up the EL caches after each request
-ELContextStore elStore = ELContextStore.getInstance(false);
+final ELContextStore elStore = ELContextStore.getInstance(false);
 if (elStore != null) {
 elStore.destroyELContextStore();
 }

Modified: 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Contexts.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Contexts.java?rev=1507796r1=1507795r2=1507796view=diff
==
--- 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Contexts.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Contexts.java
 Sun Jul 28 13:04:52 2013
@@ -24,8 +24,8 @@ import org.apache.cxf.jaxrs.utils.Annota
 import org.apache.cxf.jaxrs.utils.JAXRSUtils;
 import org.apache.cxf.message.Exchange;
 import org.apache.cxf.message.Message;
+import org.apache.openejb.cdi.CdiAppContextsService;
 import org.apache.openejb.rest.ThreadLocalContextManager;
-import org.apache.openejb.server.httpd.EndWebBeansListener;
 
 import javax.annotation.Resource;
 import javax.servlet.ServletConfig;
@@ -98,7 +98,7 @@ public final class Contexts {
  */
 public static void bind(Exchange exchange, CollectionClass? types) {
 EXCHANGE.set(exchange); // used in lazy mode by RESTResourceFinder if 
cdi beans uses @Context, === initThreadLocal

svn commit: r1508047 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb: assembler/classic/Assembler.java core/timer/EjbTimerServiceImpl.java

2013-07-29 Thread rmannibucau
Author: rmannibucau
Date: Mon Jul 29 13:16:37 2013
New Revision: 1508047

URL: http://svn.apache.org/r1508047
Log:
TOMEE-1010 don't undeploy webapp before ejb#stop when standalone webapp is 
undeployed

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1508047r1=1508046r2=1508047view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 Mon Jul 29 13:16:37 2013
@@ -1539,7 +1539,7 @@ public class Assembler extends Assembler
 final UndeployException undeployException = new 
UndeployException(messages.format(destroyApplication.failed, appInfo.path));
 
 final WebAppBuilder webAppBuilder = 
SystemInstance.get().getComponent(WebAppBuilder.class);
-if (webAppBuilder != null) {
+if (webAppBuilder != null  !appInfo.webAppAlone) {
 try {
 webAppBuilder.undeployWebApps(appInfo);
 } catch (Exception e) {
@@ -1599,6 +1599,14 @@ public class Assembler extends Assembler
 }
 }
 
+if (webAppBuilder != null  appInfo.webAppAlone) { // now that 
EJB are stopped we can undeploy webapps
+try {
+webAppBuilder.undeployWebApps(appInfo);
+} catch (Exception e) {
+undeployException.getCauses().add(new Exception(App:  + 
appInfo.path + :  + e.getMessage(), e));
+}
+}
+
 // get the client ids
 final ListString clientIds = new ArrayListString();
 for (final ClientInfo clientInfo : appInfo.clients) {

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java?rev=1508047r1=1508046r2=1508047view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
 Mon Jul 29 13:16:37 2013
@@ -729,7 +729,15 @@ public class EjbTimerServiceImpl impleme
 // call the timeout method
 try {
 final RpcContainer container = (RpcContainer) 
deployment.getContainer();
+if (container == null) {
+return;
+}
+
 final Method ejbTimeout = timerData.getTimeoutMethod();
+if (ejbTimeout == null) {
+return;
+}
+
 SetAccessible.on(ejbTimeout);
 container.invoke(deployment.getDeploymentID(),
  InterfaceType.TIMEOUT,




svn commit: r1508343 - in /tomee/tomee/trunk: container/openejb-core/pom.xml pom.xml

2013-07-30 Thread rmannibucau
Author: rmannibucau
Date: Tue Jul 30 08:56:02 2013
New Revision: 1508343

URL: http://svn.apache.org/r1508343
Log:
ensuring a unique stax lib

Modified:
tomee/tomee/trunk/container/openejb-core/pom.xml
tomee/tomee/trunk/pom.xml

Modified: tomee/tomee/trunk/container/openejb-core/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/pom.xml?rev=1508343r1=1508342r2=1508343view=diff
==
--- tomee/tomee/trunk/container/openejb-core/pom.xml (original)
+++ tomee/tomee/trunk/container/openejb-core/pom.xml Tue Jul 30 08:56:02 2013
@@ -614,6 +614,10 @@
   artifactIdopenjpa/artifactId
 /dependency
 dependency
+  groupIdstax/groupId
+  artifactIdstax-api/artifactId
+/dependency
+dependency
   groupIdorg.apache.bval/groupId
   artifactIdbval-core/artifactId
 /dependency

Modified: tomee/tomee/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/pom.xml?rev=1508343r1=1508342r2=1508343view=diff
==
--- tomee/tomee/trunk/pom.xml (original)
+++ tomee/tomee/trunk/pom.xml Tue Jul 30 08:56:02 2013
@@ -1238,6 +1238,11 @@
 /exclusions
   /dependency
   dependency
+groupIdstax/groupId
+artifactIdstax-api/artifactId
+version1.0.1/version
+  /dependency
+  dependency
 groupIdorg.apache.openjpa/groupId
 artifactIdopenjpa/artifactId
 version${openjpa.version}/version
@@ -1273,6 +1278,10 @@
 groupIdcom.sun.xml.bind/groupId
 artifactIdjaxb-impl/artifactId
   /exclusion
+  exclusion
+groupIdjavax.xml.stream/groupId
+artifactIdstax-api/artifactId
+  /exclusion
 /exclusions
   /dependency
 




svn commit: r1509722 - /tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cdi/SessionNormalScopeBeanHandler.java

2013-08-02 Thread rmannibucau
Author: rmannibucau
Date: Fri Aug  2 14:14:07 2013
New Revision: 1509722

URL: http://svn.apache.org/r1509722
Log:
making objects static in SessionNormalScopeBeanHandler

Modified:

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cdi/SessionNormalScopeBeanHandler.java

Modified: 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cdi/SessionNormalScopeBeanHandler.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cdi/SessionNormalScopeBeanHandler.java?rev=1509722r1=1509721r2=1509722view=diff
==
--- 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cdi/SessionNormalScopeBeanHandler.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cdi/SessionNormalScopeBeanHandler.java
 Fri Aug  2 14:14:07 2013
@@ -41,18 +41,18 @@ public class SessionNormalScopeBeanHandl
 }
 }
 
-private final ThreadLocalMapBean?, UpdateInfo objects = new 
ThreadLocalMapBean?, UpdateInfo() {
+private static final ThreadLocalMapBean?, UpdateInfo OBJECTS = new 
ThreadLocalMapBean?, UpdateInfo() {
 @Override
 protected MapBean?, UpdateInfo initialValue() {
 CdiAppContextsService.pushRequestReleasable(new Runnable() { // 
update in batch
 @Override
 public void run() {
-final MapBean?, UpdateInfo values = objects.get();
+final MapBean?, UpdateInfo values = OBJECTS.get();
 for (final UpdateInfo o : values.values()) {
 o.updateBean();
 }
 values.clear();
-objects.remove();
+OBJECTS.remove();
 }
 });
 return new HashMapBean?, UpdateInfo();
@@ -66,7 +66,7 @@ public class SessionNormalScopeBeanHandl
 @Override
 public Object get() {
 final Object webbeansInstance = getContextualInstance();
-final MapBean?, UpdateInfo beanUpdateInfoMap = objects.get();
+final MapBean?, UpdateInfo beanUpdateInfoMap = OBJECTS.get();
 
 UpdateInfo info = beanUpdateInfoMap.get(this);
 if (info == null) {




svn commit: r1510482 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer: EjbTimerService.java EjbTimerServiceImpl.java NullEjbTimerServiceImpl.java

2013-08-05 Thread rmannibucau
Author: rmannibucau
Date: Mon Aug  5 14:00:24 2013
New Revision: 1510482

URL: http://svn.apache.org/r1510482
Log:
TOMEE-1011 timerStore is designed as a singleton by ejb

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerService.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/NullEjbTimerServiceImpl.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerService.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerService.java?rev=1510482r1=1510481r2=1510482view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerService.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerService.java
 Mon Aug  5 14:00:24 2013
@@ -45,4 +45,6 @@ public interface EjbTimerService {
 void start() throws OpenEJBException;
 
 void stop();
+
+TimerStore getTimerStore();
 }

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java?rev=1510482r1=1510481r2=1510482view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
 Mon Aug  5 14:00:24 2013
@@ -123,7 +123,7 @@ public class EjbTimerServiceImpl impleme
 
 deployment = 
SystemInstance.get().getComponent(ContainerSystem.class).getBeanContext(dId);
 transactionManager = getDefaultTransactionManager();
-timerStore = new MemoryTimerStore(transactionManager); // TODO: check 
it should be serialized or not
+timerStore = deployment.getEjbTimerService().getTimerStore();
 scheduler = (Scheduler) 
Proxy.newProxyInstance(deployment.getClassLoader(), new 
Class?[]{Scheduler.class}, new LazyScheduler(deployment));
 }
 
@@ -673,6 +673,7 @@ public class EjbTimerServiceImpl impleme
 }
 }
 
+@Override
 public TimerStore getTimerStore() {
 return timerStore;
 }

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/NullEjbTimerServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/NullEjbTimerServiceImpl.java?rev=1510482r1=1510481r2=1510482view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/NullEjbTimerServiceImpl.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/NullEjbTimerServiceImpl.java
 Mon Aug  5 14:00:24 2013
@@ -78,4 +78,7 @@ public class NullEjbTimerServiceImpl imp
 public void stop() {
 }
 
+public TimerStore getTimerStore() {
+return null;
+}
 }




svn commit: r1510498 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/ExecutorBuilder.java

2013-08-05 Thread rmannibucau
Author: rmannibucau
Date: Mon Aug  5 14:28:26 2013
New Revision: 1510498

URL: http://svn.apache.org/r1510498
Log:
TOMEE-1012 AsynchronousPool.RejectedExecutionHandlerClass = 

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/ExecutorBuilder.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/ExecutorBuilder.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/ExecutorBuilder.java?rev=1510498r1=1510497r2=1510498view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/ExecutorBuilder.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/ExecutorBuilder.java
 Mon Aug  5 14:28:26 2013
@@ -16,6 +16,7 @@
  */
 package org.apache.openejb.util;
 
+import org.apache.openejb.OpenEJBRuntimeException;
 import org.apache.openejb.loader.Options;
 import org.apache.openejb.util.executor.OfferRejectedExecutionHandler;
 
@@ -98,8 +99,17 @@ public class ExecutorBuilder {
 
 RejectedExecutionHandler handler = this.rejectedExecutionHandler;
 if (handler == null) {
-final Duration duration = options.get(prefix + .OfferTimeout, 
new Duration(30, TimeUnit.SECONDS));
-handler = new OfferRejectedExecutionHandler(duration);
+final String rejectedExecutionHandlerClass = options.get(prefix + 
.RejectedExecutionHandlerClass, (String) null);
+if (rejectedExecutionHandlerClass == null) {
+final Duration duration = options.get(prefix + 
.OfferTimeout, new Duration(30, TimeUnit.SECONDS));
+handler = new OfferRejectedExecutionHandler(duration);
+} else {
+try {
+handler = 
RejectedExecutionHandler.class.cast(Thread.currentThread().getContextClassLoader().loadClass(rejectedExecutionHandlerClass).newInstance());
+} catch (final Exception e) {
+throw new OpenEJBRuntimeException(e);
+}
+}
 }
 
 final ThreadPoolExecutor threadPoolExecutor = new 
ThreadPoolExecutor(corePoolSize




svn commit: r1510878 - in /tomee/tomee/trunk: maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/ tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/ tomee/tomee-catalina

2013-08-06 Thread rmannibucau
Author: rmannibucau
Date: Tue Aug  6 07:53:28 2013
New Revision: 1510878

URL: http://svn.apache.org/r1510878
Log:
TOMEE-1014 making tomee webapp optional for ejbd

Added:

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/remote/

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/remote/TomEERemoteWebapp.java
Modified:

tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java

tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/GlobalListenerSupport.java

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/IgnoredStandardContext.java

Modified: 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java?rev=1510878r1=1510877r2=1510878view=diff
==
--- 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
 (original)
+++ 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
 Tue Aug  6 07:53:28 2013
@@ -208,9 +208,12 @@ public abstract class AbstractTomEEMojo 
 @Parameter(property = tomee-plugin.deploy-openejb-internal-application, 
defaultValue = false)
 protected boolean deployOpenEjbApplication;
 
-@Parameter(property = tomee-plugin.remove-tomee-webapps, defaultValue = 
false)
+@Parameter(property = tomee-plugin.remove-tomee-webapps, defaultValue = 
true)
 protected boolean removeTomeeWebapp;
 
+@Parameter(property = tomee-plugin.ejb-remote, defaultValue = true)
+protected boolean ejbRemote;
+
 @Parameter(defaultValue = ${project.packaging}, readonly = true)
 protected String packaging;
 
@@ -643,6 +646,9 @@ public abstract class AbstractTomEEMojo 
 if (quickSession) {
 
strings.add(-Dopenejb.session.manager=org.apache.tomee.catalina.session.QuickSessionManager);
 }
+if (removeTomeeWebapp  ejbRemote) { // if we have tomee webapp no 
need to activate ejb remote support this way
+strings.add(-Dtomee.remote.support=true);
+}
 if (!deployOpenEjbApplication) { // true is the default so don't need 
to set the property
 if (args == null || !args.contains(-D + deployOpenEjbAppKey)) {
 strings.add(-D + deployOpenEjbAppKey + =false);

Modified: 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java?rev=1510878r1=1510877r2=1510878view=diff
==
--- 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java
 (original)
+++ 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java
 Tue Aug  6 07:53:28 2013
@@ -84,8 +84,8 @@ public abstract class UpdatableTomEEMojo
 forceReloadable = true;
 }
 
-if (removeTomeeWebapp) {
-getLog().warn(TomEE webapp is asked to be removed 
(removeTomeeWebapptrue/removeTomeeWebapp) so you can use reload feature);
+if (removeTomeeWebapp  !ejbRemote) {
+getLog().warn(TomEE webapp is asked to be removed 
(ejbRemotetrue or removeTomeeWebapptrue/removeTomeeWebapp) so you can 
use reload feature);
 }
 
 super.run();
@@ -330,8 +330,8 @@ public abstract class UpdatableTomEEMojo
 }
 
 private Deployer deployer() {
-if (removeTomeeWebapp) {
-throw new OpenEJBRuntimeException(Can't use reload feature 
without TomEE Webapp, please set removeTomeeWebapp to false);
+if (removeTomeeWebapp  !ejbRemote) {
+throw new OpenEJBRuntimeException(Can't use reload feature 
without TomEE Webapp, please set removeTomeeWebapp to false or ejbRemote to 
true);
 }
 
 final Properties properties = new Properties();

Modified: 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/GlobalListenerSupport.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/GlobalListenerSupport.java?rev=1510878r1=1510877r2=1510878view=diff
==
--- 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina

svn commit: r1510888 - in /tomee/tomee/trunk/server: openejb-client/src/main/java/org/apache/openejb/client/ openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/

2013-08-06 Thread rmannibucau
Author: rmannibucau
Date: Tue Aug  6 09:01:42 2013
New Revision: 1510888

URL: http://svn.apache.org/r1510888
Log:
trying to ensure compatiility with previous ejbd protocol (without 
authenticationInfo)

Modified:

tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/Client.java

tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java

tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EJBResponse.java

tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/ProtocolMetaData.java

tomee/tomee/trunk/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java

tomee/tomee/trunk/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java

Modified: 
tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/Client.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/Client.java?rev=1510888r1=1510887r2=1510888view=diff
==
--- 
tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/Client.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/Client.java
 Tue Aug  6 09:01:42 2013
@@ -54,7 +54,7 @@ public class Client {
 private boolean FINER = logger.isLoggable(Level.FINER);
 
 public static final ThreadLocalSetURI failed = new 
ThreadLocalSetURI();
-private static final ProtocolMetaData PROTOCOL_VERSION = new 
ProtocolMetaData(3.1);
+private static final ProtocolMetaData PROTOCOL_VERSION = new 
ProtocolMetaData(4.6);
 private static final int maxConditionRetry = 
Integer.parseInt(System.getProperty(openejb.client.retry.condition.max, 
20));
 
 private ListClass? extends Throwable retryConditions = new 
CopyOnWriteArrayListClass? extends Throwable();

Modified: 
tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java?rev=1510888r1=1510887r2=1510888view=diff
==
--- 
tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java
 Tue Aug  6 09:01:42 2013
@@ -239,7 +239,6 @@ public class EJBRequest implements Clust
 
 @Override
 public void readExternal(final ObjectInput in) throws IOException, 
ClassNotFoundException {
-
 ClassNotFoundException ex = null;
 
 deploymentId = null;
@@ -407,6 +406,10 @@ public class EJBRequest implements Clust
 @SuppressWarnings(unchecked)
 @Override
 public void readExternal(final ObjectInput in) throws IOException, 
ClassNotFoundException {
+readExternal(in , new ProtocolMetaData(4.6));
+}
+
+public void readExternal(final ObjectInput in, final ProtocolMetaData 
metaData) throws IOException, ClassNotFoundException {
 
 this.version = in.readByte();
 
@@ -444,8 +447,10 @@ public class EJBRequest implements Clust
 }
 
 //Version 3
-if (this.version = 3) {
+if (metaData.isAtLeast(4, 6)) {
 authentication = 
JNDIContext.AuthenticationInfo.class.cast(in.readObject());
+} else {
+authentication = null;
 }
 
 if (result != null) {

Modified: 
tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EJBResponse.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EJBResponse.java?rev=1510888r1=1510887r2=1510888view=diff
==
--- 
tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EJBResponse.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/EJBResponse.java
 Tue Aug  6 09:01:42 2013
@@ -26,9 +26,8 @@ public class EJBResponse implements Clus
  * Version provides the protocol hint for backwards compatibility:
  * 1. Initial
  * 2. Append times.
- * 3. JNDIContext.AuthenticationInfo.
  */
-public static final byte VERSION = 3;
+public static final byte VERSION = 2;
 
 private transient byte version = VERSION;
 private transient int responseCode = -1;

Modified: 
tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client/ProtocolMetaData.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-client/src/main/java/org/apache/openejb/client

svn commit: r1510890 - in /tomee/tomee/trunk/arquillian: ./ arquillian-common/src/main/java/org/apache/openejb/arquillian/common/ arquillian-common/src/main/resources/META-INF/services/ arquillian-ope

2013-08-06 Thread rmannibucau
Author: rmannibucau
Date: Tue Aug  6 09:16:33 2013
New Revision: 1510890

URL: http://svn.apache.org/r1510890
Log:
TOMEE-1015 updating to arquillian 1.1.1.Final to get multiline support in 
arquillian.xml

Removed:

tomee/tomee/trunk/arquillian/arquillian-common/src/main/java/org/apache/openejb/arquillian/common/PatchConfigurationExtension.java

tomee/tomee/trunk/arquillian/arquillian-common/src/main/java/org/apache/openejb/arquillian/common/PatchConfigurationRegistar.java

tomee/tomee/trunk/arquillian/arquillian-common/src/main/resources/META-INF/services/
Modified:

tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/OpenEJBConfiguration.java

tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java
tomee/tomee/trunk/arquillian/pom.xml

Modified: 
tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/OpenEJBConfiguration.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/OpenEJBConfiguration.java?rev=1510890r1=1510889r2=1510890view=diff
==
--- 
tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/OpenEJBConfiguration.java
 (original)
+++ 
tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/OpenEJBConfiguration.java
 Tue Aug  6 09:16:33 2013
@@ -16,6 +16,7 @@
  */
 package org.apache.openejb.arquillian.openejb;
 
+import org.jboss.arquillian.config.descriptor.api.Multiline;
 import org.jboss.arquillian.container.spi.ConfigurationException;
 import 
org.jboss.arquillian.container.spi.client.container.ContainerConfiguration;
 
@@ -31,6 +32,7 @@ public class OpenEJBConfiguration implem
 return properties;
 }
 
+@Multiline
 public void setProperties(String properties) {
 this.properties = properties;
 }

Modified: 
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java?rev=1510890r1=1510889r2=1510890view=diff
==
--- 
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java
 (original)
+++ 
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java
 Tue Aug  6 09:16:33 2013
@@ -17,6 +17,7 @@
 package org.apache.openejb.arquillian.common;
 
 
+import org.jboss.arquillian.config.descriptor.api.Multiline;
 import org.jboss.arquillian.container.spi.ConfigurationException;
 import 
org.jboss.arquillian.container.spi.client.container.ContainerConfiguration;
 
@@ -34,11 +35,12 @@ public class TomEEConfiguration implemen
 protected String stopHost = localhost; // generally localhost but host 
(http) can be different
 protected String stopCommand = SHUTDOWN; // default one - can be 
overriden in server.xml
 protected String serverXml = null;
-protected String properties = ;
 protected String portRange = ; // only used if port  0, empty means 
whatever, can be 1024-65535
 protected boolean quickSession = true;
 protected boolean unpackWars = true;
 
+protected String properties = ;
+
 public boolean isUnpackWars() {
 return unpackWars;
 }
@@ -110,6 +112,7 @@ public class TomEEConfiguration implemen
 return properties;
 }
 
+@Multiline
 public void setProperties(String properties) {
 this.properties = properties;
 }

Modified: tomee/tomee/trunk/arquillian/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/pom.xml?rev=1510890r1=1510889r2=1510890view=diff
==
--- tomee/tomee/trunk/arquillian/pom.xml (original)
+++ tomee/tomee/trunk/arquillian/pom.xml Tue Aug  6 09:16:33 2013
@@ -32,7 +32,7 @@
   nameOpenEJB :: Arquillian Adaptors Parent/name
 
   properties
-version.arquillian1.0.4.Final/version.arquillian
+version.arquillian1.1.1.Final/version.arquillian
 
version.shrinkwrap.descriptor2.0.0-alpha-5/version.shrinkwrap.descriptor
 version.shrinkwrap.shrinkwrap1.1.2/version.shrinkwrap.shrinkwrap
   /properties




svn commit: r1510894 - /tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cdi/SessionNormalScopeBeanHandler.java

2013-08-06 Thread rmannibucau
Author: rmannibucau
Date: Tue Aug  6 10:16:23 2013
New Revision: 1510894

URL: http://svn.apache.org/r1510894
Log:
wrong key usage in SessionNormalScopeBeanHandler

Modified:

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cdi/SessionNormalScopeBeanHandler.java

Modified: 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cdi/SessionNormalScopeBeanHandler.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cdi/SessionNormalScopeBeanHandler.java?rev=1510894r1=1510893r2=1510894view=diff
==
--- 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cdi/SessionNormalScopeBeanHandler.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/cdi/SessionNormalScopeBeanHandler.java
 Tue Aug  6 10:16:23 2013
@@ -68,10 +68,8 @@ public class SessionNormalScopeBeanHandl
 final Object webbeansInstance = getContextualInstance();
 final MapBean?, UpdateInfo beanUpdateInfoMap = OBJECTS.get();
 
-UpdateInfo info = beanUpdateInfoMap.get(this);
-if (info == null) {
-info = new UpdateInfo(bean, getBeanManager(), webbeansInstance);
-beanUpdateInfoMap.put(bean, info);
+if (!beanUpdateInfoMap.containsKey(bean)) {
+beanUpdateInfoMap.put(bean, new UpdateInfo(bean, getBeanManager(), 
webbeansInstance));
 }
 
 return webbeansInstance;




svn commit: r1511019 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java

2013-08-06 Thread rmannibucau
Author: rmannibucau
Date: Tue Aug  6 16:25:31 2013
New Revision: 1511019

URL: http://svn.apache.org/r1511019
Log:
new OWB api for DecoratorHandler

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java?rev=1511019r1=1511018r2=1511019view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java
 Tue Aug  6 16:25:31 2013
@@ -1587,7 +1587,7 @@ public class BeanContext extends Deploym
 
CreationalContextImpl.class.cast(creationalContext).putDelegate(beanInstance);
 final Object decoratorInstance = 
decorator.create(CreationalContext.class.cast(creationalContext));
 instances.put(decorator, decoratorInstance);
-beanInstance = pf.createProxyInstance(proxyClass, 
instance, new DecoratorHandler(interceptorInfo, instances, i - 1, instance));
+beanInstance = pf.createProxyInstance(proxyClass, 
instance, new DecoratorHandler(interceptorInfo, instances, i - 1, instance, 
cdiEjbBean.getId()));
 }
 }
 }




svn commit: r1511186 - /tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java

2013-08-07 Thread rmannibucau
Author: rmannibucau
Date: Wed Aug  7 06:04:47 2013
New Revision: 1511186

URL: http://svn.apache.org/r1511186
Log:
TOMEE-1016 webapp rest ejbs for ears are not filtered from their origin

Modified:

tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java

Modified: 
tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java?rev=1511186r1=1511185r2=1511186view=diff
==
--- 
tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
 Wed Aug  7 06:04:47 2013
@@ -98,7 +98,7 @@ public abstract class RESTService implem
 return;
 }
 
-final MapString, EJBRestServiceInfo restEjbs = getRestEjbs(appInfo);
+final MapString, EJBRestServiceInfo restEjbs = getRestEjbs(appInfo, 
webApp.moduleId);
 
 final ClassLoader classLoader = 
getClassLoader(webContext.getClassLoader());
 final CollectionInjection injections = webContext.getInjections();
@@ -544,7 +544,7 @@ public abstract class RESTService implem
 Thread.currentThread().setContextClassLoader(appClassLoader);
 
 try {
-final MapString, EJBRestServiceInfo restEjbs = 
getRestEjbs(appInfo);
+final MapString, EJBRestServiceInfo restEjbs = 
getRestEjbs(appInfo, null);
 if (restEjbs.isEmpty()) {
 return;
 }
@@ -639,9 +639,13 @@ public abstract class RESTService implem
 
 protected abstract boolean containsJaxRsConfiguration(final Properties 
properties);
 
-protected MapString, EJBRestServiceInfo getRestEjbs(final AppInfo 
appInfo) {
+protected MapString, EJBRestServiceInfo getRestEjbs(final AppInfo 
appInfo, final String webapp) {
 final MapString, BeanContext beanContexts = new HashMapString, 
BeanContext();
 for (final EjbJarInfo ejbJar : appInfo.ejbJars) {
+if (ejbJar.webapp  webapp != null  
!ejbJar.moduleId.equals(webapp)) {
+continue;
+}
+
 for (final EnterpriseBeanInfo bean : ejbJar.enterpriseBeans) {
 if (bean.restService) {
 final BeanContext beanContext = 
containerSystem.getBeanContext(bean.ejbDeploymentId);




svn commit: r1511188 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java

2013-08-07 Thread rmannibucau
Author: rmannibucau
Date: Wed Aug  7 06:20:41 2013
New Revision: 1511188

URL: http://svn.apache.org/r1511188
Log:
TOMEE-1017 web fragments should consider adding an entry if not already here 
only

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java?rev=1511188r1=1511187r2=1511188view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
 Wed Aug  7 06:20:41 2013
@@ -29,8 +29,8 @@ import org.apache.openejb.jee.FacesConfi
 import org.apache.openejb.jee.HandlerChains;
 import org.apache.openejb.jee.JavaWsdlMapping;
 import org.apache.openejb.jee.JaxbJavaee;
+import org.apache.openejb.jee.Keyable;
 import org.apache.openejb.jee.Listener;
-import org.apache.openejb.jee.PersistenceContextRef;
 import org.apache.openejb.jee.TldTaglib;
 import org.apache.openejb.jee.WebApp;
 import org.apache.openejb.jee.WebFragment;
@@ -79,6 +79,7 @@ import java.net.URL;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 public class ReadDescriptors implements DynamicDeployer {
 private static final Logger logger = 
Logger.getInstance(LogCategory.OPENEJB_STARTUP, ReadDescriptors.class);
@@ -562,14 +563,16 @@ public class ReadDescriptors implements 
 final Source url = getSource(rawUrl);
 try {
 final WebFragment webFragment = 
JaxbOpenejb.unmarshal(WebFragment.class, url.get());
-
webModule.getWebApp().getPersistenceContextRef().addAll(webFragment.getPersistenceContextRef());
-
webModule.getWebApp().getPersistenceUnitRef().addAll(webFragment.getPersistenceUnitRef());
-
webModule.getWebApp().getMessageDestinationRef().addAll(webFragment.getMessageDestinationRef());
-
webModule.getWebApp().getDataSource().addAll(webFragment.getDataSource());
-
webModule.getWebApp().getEjbLocalRef().addAll(webFragment.getEjbLocalRef());
-
webModule.getWebApp().getEjbRef().addAll(webFragment.getEjbRef());
-
webModule.getWebApp().getEnvEntry().addAll(webFragment.getEnvEntry());
-
webModule.getWebApp().getServiceRef().addAll(webFragment.getServiceRef());
+
+// in tomcat if the env entry is already don't 
override it
+
mergeOnlyMissingEntries(webModule.getWebApp().getPersistenceContextRefMap(), 
webFragment.getPersistenceContextRef());
+
mergeOnlyMissingEntries(webModule.getWebApp().getPersistenceUnitRefMap(), 
webFragment.getPersistenceUnitRef());
+
mergeOnlyMissingEntries(webModule.getWebApp().getMessageDestinationRefMap(), 
webFragment.getMessageDestinationRef());
+
mergeOnlyMissingEntries(webModule.getWebApp().getDataSourceMap(), 
webFragment.getDataSource());
+
mergeOnlyMissingEntries(webModule.getWebApp().getEjbLocalRefMap(), 
webFragment.getEjbLocalRef());
+
mergeOnlyMissingEntries(webModule.getWebApp().getEjbRefMap(), 
webFragment.getEjbRef());
+
mergeOnlyMissingEntries(webModule.getWebApp().getServiceRefMap(), 
webFragment.getServiceRef());
+
mergeOnlyMissingEntries(webModule.getWebApp().getEnvEntryMap(), 
webFragment.getEnvEntry());
 } catch (final Exception e) {
 logger.warning(can't read  + url.toString(), e);
 }
@@ -578,6 +581,15 @@ public class ReadDescriptors implements 
 }
 }
 
+private static A extends KeyableString void 
mergeOnlyMissingEntries(final MapString, A existing, final CollectionA 
news) {
+for (final A entry : news) {
+final String key = entry.getKey();
+if (!existing.containsKey(key)) {
+existing.put(key, entry);
+}
+}
+}
+
 public static ApplicationClient readApplicationClient(final URL url) 
throws OpenEJBException {
 final ApplicationClient applicationClient;
 try {




svn commit: r1511833 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java

2013-08-08 Thread rmannibucau
Author: rmannibucau
Date: Thu Aug  8 15:31:31 2013
New Revision: 1511833

URL: http://svn.apache.org/r1511833
Log:
TOMEE-1017 web fragments should consider adding an entry if not already here 
only - resources were not merged

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java?rev=1511833r1=1511832r2=1511833view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
 Thu Aug  8 15:31:31 2013
@@ -573,6 +573,8 @@ public class ReadDescriptors implements 
 
mergeOnlyMissingEntries(webModule.getWebApp().getEjbRefMap(), 
webFragment.getEjbRef());
 
mergeOnlyMissingEntries(webModule.getWebApp().getServiceRefMap(), 
webFragment.getServiceRef());
 
mergeOnlyMissingEntries(webModule.getWebApp().getEnvEntryMap(), 
webFragment.getEnvEntry());
+
mergeOnlyMissingEntries(webModule.getWebApp().getResourceEnvRefMap(), 
webFragment.getResourceEnvRef());
+
mergeOnlyMissingEntries(webModule.getWebApp().getResourceRefMap(), 
webFragment.getResourceRef());
 } catch (final Exception e) {
 logger.warning(can't read  + url.toString(), e);
 }




svn commit: r1512239 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java

2013-08-09 Thread rmannibucau
Author: rmannibucau
Date: Fri Aug  9 10:27:01 2013
New Revision: 1512239

URL: http://svn.apache.org/r1512239
Log:
trying to use openjpa.ConnectionFactoryName and openjpa.ConnectionFactory2Name 
when no jtadatasource or nonjtadatasource are configured in an openjpa 
persistence unit

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java?rev=1512239r1=1512238r2=1512239view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
 Fri Aug  9 10:27:01 2013
@@ -1313,6 +1313,15 @@ public class AutoConfig implements Dynam
 //
unit.setNonJtaDataSource(unit.getJtaDataSource()+NonJta);
 //}
 
+if 
(org.apache.openjpa.persistence.PersistenceProviderImpl.equals(unit.getProvider()))
 {
+if (unit.getJtaDataSource() == null) {
+
unit.setJtaDataSource(unit.getProperty(openjpa.ConnectionFactoryName));
+}
+if (unit.getNonJtaDataSource() == null) {
+
unit.setNonJtaDataSource(unit.getProperty(openjpa.ConnectionFactory2Name));
+}
+}
+
 logger.debug(raw jta-data-source + unit.getJtaDataSource() + 
/jta-datasource);
 logger.debug(raw non-jta-data-source + 
unit.getNonJtaDataSource() + /non-jta-datasource);
 




svn commit: r1513051 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb: assembler/classic/Assembler.java cdi/ThreadSingletonServiceImpl.java

2013-08-12 Thread rmannibucau
Author: rmannibucau
Date: Mon Aug 12 06:48:26 2013
New Revision: 1513051

URL: http://svn.apache.org/r1513051
Log:
TOMEE-1019 more late init for openejb.session-context and 
openejb.classloader.skip-app-loader-if-possible

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1513051r1=1513050r2=1513051view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 Mon Aug 12 06:48:26 2013
@@ -217,7 +217,7 @@ public class Assembler extends Assembler
 public static final String TIMER_STORE_CLASS = timerStore.class;
 private static final ReentrantLock lock = new ReentrantLock(true);
 
-private static final boolean SKIP_APP_LOADER_IF_POSSIBLE = 
true.equalsIgnoreCase(SystemInstance.get().getProperty(openejb.classloader.skip-app-loader-if-possible,
 true));
+private final boolean skipLoaderIfPossible;
 
 Messages messages = new Messages(Assembler.class.getPackage().getName());
 private final CoreContainerSystem containerSystem;
@@ -281,6 +281,7 @@ public class Assembler extends Assembler
 }
 
 public Assembler(final JndiFactory jndiFactory) {
+skipLoaderIfPossible = 
true.equalsIgnoreCase(SystemInstance.get().getProperty(openejb.classloader.skip-app-loader-if-possible,
 true));
 persistenceClassLoaderHandler = new 
PersistenceClassLoaderHandlerImpl();
 
 installNaming();
@@ -1862,7 +1863,7 @@ public class Assembler extends Assembler
 // some lib (DS for instance) rely on AppClassLoader for CDI bean 
manager usage (common for tests cases where you
 // try to get the app BM from the AppClassLoader having stored it in a 
map).
 // since we don't really need to create a classloader here when 
starting from classpath just let skip this step
-if (SKIP_APP_LOADER_IF_POSSIBLE) { // TODO: maybe use a boolean to 
know if all urls comes from the classpath to avoid this validation
+if (skipLoaderIfPossible) { // TODO: maybe use a boolean to know if 
all urls comes from the classpath to avoid this validation
 final CollectionFile urls = new ArrayListFile();
 for (final URL url : ClassLoaders.findUrls(parent)) { // need to 
convert it to file since urls can be file:/xxx or jar:file:///xxx
 try {

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java?rev=1513051r1=1513050r2=1513051view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java
 Mon Aug 12 06:48:26 2013
@@ -58,7 +58,7 @@ public class ThreadSingletonServiceImpl 
 
 public static final Logger logger = 
Logger.getInstance(LogCategory.OPENEJB_STARTUP, 
ThreadSingletonServiceImpl.class);
 
-private final String sessionContextClass;
+private String sessionContextClass = null;
 
 //this needs to be static because OWB won't tell us what the existing 
SingletonService is and you can't set it twice.
 private static final ThreadLocalWebBeansContext contexts = new 
ThreadLocalWebBeansContext();
@@ -66,11 +66,15 @@ public class ThreadSingletonServiceImpl 
 private static final String WEBBEANS_FAILOVER_ISSUPPORTFAILOVER = 
org.apache.webbeans.web.failover.issupportfailover;
 
 public ThreadSingletonServiceImpl() {
-sessionContextClass = 
SystemInstance.get().getProperty(openejb.session-context, ).trim();
+// no-op
 }
 
 @Override
 public void initialize(final StartupObject startupObject) {
+if (sessionContextClass == null) { // done here cause Cdibuilder 
trigger this class loading and that's from Warmup so we can't init too early 
config
+sessionContextClass = 
SystemInstance.get().getProperty(openejb.session-context, ).trim();
+}
+
 final AppContext appContext = startupObject.getAppContext();
 
 appContext.setCdiEnabled(hasBeans(startupObject.getAppInfo()));




svn commit: r1513074 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb: assembler/classic/DeployTimeEnhancer.java resource/jdbc/DataSourceFactory.java util/classloader/UR

2013-08-12 Thread rmannibucau
Author: rmannibucau
Date: Mon Aug 12 08:15:25 2013
New Revision: 1513074

URL: http://svn.apache.org/r1513074
Log:
OPENEJB-2035 replacing real jar when using deploy time enhacement otherwise 
existing classloaders are broken + trying to use container classloader to 
create datasource when possible

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java?rev=1513074r1=1513073r2=1513074view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/DeployTimeEnhancer.java
 Mon Aug 12 08:15:25 2013
@@ -27,7 +27,6 @@ import org.apache.openejb.util.Logger;
 import org.apache.openejb.util.Saxs;
 import org.apache.openejb.util.URLs;
 import org.apache.openejb.util.classloader.URLClassLoaderFirst;
-import org.apache.xbean.finder.filter.Filter;
 import org.xml.sax.Attributes;
 import org.xml.sax.SAXException;
 import org.xml.sax.helpers.DefaultHandler;
@@ -39,7 +38,6 @@ import java.io.IOException;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
 import java.net.URL;
-import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -60,7 +58,6 @@ public class DeployTimeEnhancer {
 private static final String PROPERTIES_FILE_PROP = propertiesFile;
 private static final String META_INF_PERSISTENCE_XML = 
META-INF/persistence.xml;
 private static final String TMP_ENHANCEMENT_SUFFIX = .tmp-enhancement;
-private static final String JAR_ENHANCEMENT_SUFFIX = -enhanced;
 
 private final Method enhancerMethod;
 private final Constructor? optionsConstructor;
@@ -91,37 +88,32 @@ public class DeployTimeEnhancer {
 
 // find persistence.xml
 final MapString, ListString classesByPXml = new HashMapString, 
ListString();
-final Filter filter = new AlreadyEnhancedFilter();
 final ListURL usedUrls = new ArrayListURL(); // for fake 
classloader
 for (URL url : event.getUrls()) {
 final File file = URLs.toFile(url);
-if (filter.accept(file.getName())) {
-if (file.isDirectory()) {
-final String pXmls = getWarPersistenceXml(url);
-if (pXmls != null) {
-feed(classesByPXml, pXmls);
-}
+if (file.isDirectory()) {
+final String pXmls = getWarPersistenceXml(url);
+if (pXmls != null) {
+feed(classesByPXml, pXmls);
+}
 
-usedUrls.add(url);
-} else if (file.getName().endsWith(.jar)) {
-try {
-final JarFile jar = new JarFile(file);
-ZipEntry entry = 
jar.getEntry(META_INF_PERSISTENCE_XML);
-if (entry != null) {
-final String path = file.getAbsolutePath();
-final File unpacked = new File(path.substring(0, 
path.length() - 4) + TMP_ENHANCEMENT_SUFFIX);
-JarExtractor.extract(file, unpacked);
+usedUrls.add(url);
+} else if (file.getName().endsWith(.jar)) {
+try {
+final JarFile jar = new JarFile(file);
+ZipEntry entry = jar.getEntry(META_INF_PERSISTENCE_XML);
+if (entry != null) {
+final String path = file.getAbsolutePath();
+final File unpacked = new File(path.substring(0, 
path.length() - 4) + TMP_ENHANCEMENT_SUFFIX);
+JarExtractor.extract(file, unpacked);
 
-// replace jar by folder url since otherwise 
enhancement doesn't work
-usedUrls.add(unpacked.toURI().toURL());
+// replace jar by folder url since otherwise 
enhancement doesn't work
+usedUrls.add(unpacked.toURI().toURL());
 
-feed(classesByPXml, new File(unpacked, 
META_INF_PERSISTENCE_XML).getAbsolutePath());
-}
-} catch (IOException e

svn commit: r1513627 - /tomee/tomee/trunk/examples/polling-parent/pom.xml

2013-08-13 Thread rmannibucau
Author: rmannibucau
Date: Tue Aug 13 19:54:01 2013
New Revision: 1513627

URL: http://svn.apache.org/r1513627
Log:
updating xbean for polling sample

Modified:
tomee/tomee/trunk/examples/polling-parent/pom.xml

Modified: tomee/tomee/trunk/examples/polling-parent/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/polling-parent/pom.xml?rev=1513627r1=1513626r2=1513627view=diff
==
--- tomee/tomee/trunk/examples/polling-parent/pom.xml (original)
+++ tomee/tomee/trunk/examples/polling-parent/pom.xml Tue Aug 13 19:54:01 2013
@@ -164,7 +164,7 @@
   /dependencyManagement
 
   properties
-xbean.version3.11/xbean.version
+xbean.version3.14/xbean.version
 project.build.sourceEncodingUTF-8/project.build.sourceEncoding
   /properties
 




svn commit: r1513745 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java

2013-08-14 Thread rmannibucau
Author: rmannibucau
Date: Wed Aug 14 07:22:26 2013
New Revision: 1513745

URL: http://svn.apache.org/r1513745
Log:
passivation capable id are kept by bm

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java?rev=1513745r1=1513744r2=1513745view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
 Wed Aug 14 07:22:26 2013
@@ -256,6 +256,15 @@ public class WebappBeanManager extends B
 return deploymentBeans;
 }
 
+@Override
+public Bean? getPassivationCapableBean(final String id) {
+final Bean? bean = super.getPassivationCapableBean(id);
+if (bean == null) {
+return getParentBm().getPassivationCapableBean(id);
+}
+return bean;
+}
+
 public void afterStart() {
 deploymentBeans = new CopyOnWriteArraySetBean?(); // override 
parent one with a webapp bean list
 for (final Bean? bean : getParentBm().getBeans()) {




svn commit: r1516714 - in /tomee/tomee/trunk: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/util/ container/openejb-core/src/main/java/org/apache/openejb/rest/ server/opene

2013-08-23 Thread rmannibucau
Author: rmannibucau
Date: Fri Aug 23 07:11:37 2013
New Revision: 1516714

URL: http://svn.apache.org/r1516714
Log:
TOMEE-1020 creating @Provider (jaxrs) from contructor if parameters uses 
@Context

Added:

tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/ProviderWithConstructorTest.java
  - copied, changed from r1516706, 
tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/CdiInterceptorContextTest.java
Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/util/ServiceInfos.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/rest/ThreadLocalContextManager.java

tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/util/ServiceInfos.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/util/ServiceInfos.java?rev=1516714r1=1516713r2=1516714view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/util/ServiceInfos.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/util/ServiceInfos.java
 Fri Aug 23 07:11:37 2013
@@ -72,6 +72,10 @@ public final class ServiceInfos {
 }
 
 public static ListObject resolve(final CollectionServiceInfo 
serviceInfos, final String[] ids) {
+return resolve(serviceInfos, ids, null);
+}
+
+public static ListObject resolve(final CollectionServiceInfo 
serviceInfos, final String[] ids, final Factory factory) {
 if (ids == null || ids.length == 0) {
 return null;
 }
@@ -81,8 +85,13 @@ public final class ServiceInfos {
 Object instance = resolve(serviceInfos, id);
 if (instance == null) {  // maybe id == classname
 try {
-instance = 
Thread.currentThread().getContextClassLoader().loadClass(id).newInstance();
-} catch (Exception e) {
+final Class? aClass = 
Thread.currentThread().getContextClassLoader().loadClass(id);
+if (factory == null) {
+instance = aClass.newInstance();
+} else {
+instance = factory.newInstance(aClass);
+}
+} catch (final Exception e) {
 // ignore
 }
 }
@@ -147,4 +156,8 @@ public final class ServiceInfos {
 
 return service;
 }
+
+public static interface Factory {
+Object newInstance(final Class? clazz) throws Exception;
+}
 }

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/rest/ThreadLocalContextManager.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/rest/ThreadLocalContextManager.java?rev=1516714r1=1516713r2=1516714view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/rest/ThreadLocalContextManager.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/rest/ThreadLocalContextManager.java
 Fri Aug 23 07:11:37 2013
@@ -17,7 +17,17 @@
 
 package org.apache.openejb.rest;
 
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletRequest;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import javax.ws.rs.core.Application;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Request;
+import javax.ws.rs.core.SecurityContext;
+import javax.ws.rs.core.UriInfo;
+import javax.ws.rs.ext.ContextResolver;
+import javax.ws.rs.ext.Providers;
 import java.util.Map;
 
 public class ThreadLocalContextManager {
@@ -53,4 +63,29 @@ public class ThreadLocalContextManager {
 }
 OTHERS.remove();
 }
+
+public static Object findThreadLocal(final Class? type) {
+if (Request.class.equals(type)) {
+return ThreadLocalContextManager.REQUEST;
+} else if (UriInfo.class.equals(type)) {
+return ThreadLocalContextManager.URI_INFO;
+} else if (HttpHeaders.class.equals(type)) {
+return ThreadLocalContextManager.HTTP_HEADERS;
+} else if (SecurityContext.class.equals(type)) {
+return ThreadLocalContextManager.SECURITY_CONTEXT;
+} else if (ContextResolver.class.equals(type)) {
+return ThreadLocalContextManager.CONTEXT_RESOLVER;
+} else if (Providers.class.equals(type)) {
+return ThreadLocalContextManager.PROVIDERS

svn commit: r1517462 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java

2013-08-26 Thread rmannibucau
Author: rmannibucau
Date: Mon Aug 26 08:45:42 2013
New Revision: 1517462

URL: http://svn.apache.org/r1517462
Log:
typo introduced in a previous refactoring

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java?rev=1517462r1=1517461r2=1517462view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java
 Mon Aug 26 08:45:42 2013
@@ -233,7 +233,7 @@ public class CdiScanner implements Scann
 return;
 }
 
-for (final String clazz : CONTAINER_CLASSES.get(bval)) {
+for (final String clazz : CONTAINER_CLASSES.get(key)) {
 try {
 classes.add(loader.loadClass(clazz));
 } catch (final Throwable th) { // classnotfoundexception ot 
noclassdeffounderror




svn commit: r1517468 - /tomee/tomee/trunk/examples/alternate-descriptors/pom.xml

2013-08-26 Thread rmannibucau
Author: rmannibucau
Date: Mon Aug 26 08:58:22 2013
New Revision: 1517468

URL: http://svn.apache.org/r1517468
Log:
slf4j is not an option since G uses it

Modified:
tomee/tomee/trunk/examples/alternate-descriptors/pom.xml

Modified: tomee/tomee/trunk/examples/alternate-descriptors/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/alternate-descriptors/pom.xml?rev=1517468r1=1517467r2=1517468view=diff
==
--- tomee/tomee/trunk/examples/alternate-descriptors/pom.xml (original)
+++ tomee/tomee/trunk/examples/alternate-descriptors/pom.xml Mon Aug 26 
08:58:22 2013
@@ -90,10 +90,6 @@
   scopetest/scope
   exclusions
 exclusion
-  artifactIdslf4j-api/artifactId
-  groupIdorg.slf4j/groupId
-/exclusion
-exclusion
   artifactIdopenjpa/artifactId
   groupIdorg.apache.openjpa/groupId
 /exclusion




svn commit: r1517470 - /tomee/tomee/trunk/examples/multiple-tomee-arquillian/pom.xml

2013-08-26 Thread rmannibucau
Author: rmannibucau
Date: Mon Aug 26 09:00:01 2013
New Revision: 1517470

URL: http://svn.apache.org/r1517470
Log:
using correct arquillian version

Modified:
tomee/tomee/trunk/examples/multiple-tomee-arquillian/pom.xml

Modified: tomee/tomee/trunk/examples/multiple-tomee-arquillian/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/multiple-tomee-arquillian/pom.xml?rev=1517470r1=1517469r2=1517470view=diff
==
--- tomee/tomee/trunk/examples/multiple-tomee-arquillian/pom.xml (original)
+++ tomee/tomee/trunk/examples/multiple-tomee-arquillian/pom.xml Mon Aug 26 
09:00:01 2013
@@ -98,13 +98,7 @@
 dependency
   groupIdorg.jboss.arquillian.junit/groupId
   artifactIdarquillian-junit-container/artifactId
-  version1.0.0.Final/version
-  scopetest/scope
-/dependency
-dependency
-  groupIdorg.jboss.arquillian.container/groupId
-  artifactIdarquillian-container-test-impl-base/artifactId
-  version1.0.0.Final/version
+  version1.1.1.Final/version
   scopetest/scope
 /dependency
 dependency




svn commit: r1517495 - in /tomee/tomee/trunk: server/openejb-cxf/pom.xml tomee/tomee-plus-webapp/pom.xml

2013-08-26 Thread rmannibucau
Author: rmannibucau
Date: Mon Aug 26 11:25:46 2013
New Revision: 1517495

URL: http://svn.apache.org/r1517495
Log:
forcing xml-apis which is needed by xerces but in scope test in our parent pom

Modified:
tomee/tomee/trunk/server/openejb-cxf/pom.xml
tomee/tomee/trunk/tomee/tomee-plus-webapp/pom.xml

Modified: tomee/tomee/trunk/server/openejb-cxf/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/pom.xml?rev=1517495r1=1517494r2=1517495view=diff
==
--- tomee/tomee/trunk/server/openejb-cxf/pom.xml (original)
+++ tomee/tomee/trunk/server/openejb-cxf/pom.xml Mon Aug 26 11:25:46 2013
@@ -76,6 +76,11 @@
   artifactIdxercesImpl/artifactId
 /dependency
 dependency
+  groupIdxml-apis/groupId
+  artifactIdxml-apis/artifactId
+  scoperuntime/scope !-- transitive from xerces --
+/dependency
+dependency
   groupIdorg.slf4j/groupId
   artifactIdslf4j-api/artifactId
 /dependency

Modified: tomee/tomee/trunk/tomee/tomee-plus-webapp/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-plus-webapp/pom.xml?rev=1517495r1=1517494r2=1517495view=diff
==
--- tomee/tomee/trunk/tomee/tomee-plus-webapp/pom.xml (original)
+++ tomee/tomee/trunk/tomee/tomee-plus-webapp/pom.xml Mon Aug 26 11:25:46 2013
@@ -87,6 +87,11 @@
   /exclusions
 /dependency
 dependency
+  groupIdxml-apis/groupId
+  artifactIdxml-apis/artifactId
+  scoperuntime/scope !-- transitive from xerces but in test scope in 
parent so needed here --
+/dependency
+dependency
   groupIdorg.apache.openejb/groupId
   artifactIdopenejb-rest/artifactId
   version${openejb.version}/version




svn commit: r1517512 - /tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/

2013-08-26 Thread rmannibucau
Author: rmannibucau
Date: Mon Aug 26 12:02:44 2013
New Revision: 1517512

URL: http://svn.apache.org/r1517512
Log:
fixing faces-config.xml for jsf 2.2 reading (in not blocking mode and not in 
working mode)

Removed:

tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesConfigFromAction.java

tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesConfigNavigationCase.java

tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesConfigNavigationRule.java

tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesConfigRedirect.java
Modified:

tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesApplication.java

tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesConfig.java

tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesConfigFlowDefinition.java

tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/XmlString.java

Modified: 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesApplication.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesApplication.java?rev=1517512r1=1517511r2=1517512view=diff
==
--- 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesApplication.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesApplication.java
 Mon Aug 26 12:02:44 2013
@@ -76,12 +76,12 @@ import javax.xml.bind.annotation.adapter
 elResolver,
 propertyResolver,
 variableResolver,
-resourceHandler,
-systemEventListener,
+resourceHandler,
+systemEventListener,
 localeConfig,
 resourceBundle,
 applicationExtension,
-defaultValidators
+defaultValidators
 })
 public class FacesApplication {
 

Modified: 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesConfig.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesConfig.java?rev=1517512r1=1517511r2=1517512view=diff
==
--- 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesConfig.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesConfig.java
 Mon Aug 26 12:02:44 2013
@@ -86,7 +86,9 @@ import javax.xml.bind.annotation.adapter
 lifecycle,
 validator,
 behavior,
-facesConfigExtension
+facesConfigExtension,
+flowDefinitions,
+protectedViews
 })
 public class FacesConfig {
 

Modified: 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesConfigFlowDefinition.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesConfigFlowDefinition.java?rev=1517512r1=1517511r2=1517512view=diff
==
--- 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesConfigFlowDefinition.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/FacesConfigFlowDefinition.java
 Mon Aug 26 12:02:44 2013
@@ -105,7 +105,7 @@ public class FacesConfigFlowDefinition {
 @XmlElement(name = flow-return)
 protected ListFacesConfigFlowDefinitionFlowReturn flowReturn;
 @XmlElement(name = navigation-rule)
-protected ListFacesConfigNavigationRule navigationRule;
+protected ListFacesNavigationRule navigationRule;
 @XmlElement(name = flow-call)
 protected ListFacesConfigFlowDefinitionFlowCall flowCall;
 @XmlElement(name = method-call)
@@ -340,9 +340,9 @@ public class FacesConfigFlowDefinition {
  * 
  * 
  */
-public ListFacesConfigNavigationRule getNavigationRule() {
+public ListFacesNavigationRule getNavigationRule() {
 if (navigationRule == null) {
-navigationRule = new ArrayListFacesConfigNavigationRule();
+navigationRule = new ArrayListFacesNavigationRule();
 }
 return this.navigationRule;
 }

Modified: 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/XmlString.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/XmlString.java?rev=1517512r1=1517511r2=1517512view=diff
==
--- 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/XmlString.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee

svn commit: r1518605 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java

2013-08-29 Thread rmannibucau
Author: rmannibucau
Date: Thu Aug 29 11:40:34 2013
New Revision: 1518605

URL: http://svn.apache.org/r1518605
Log:
TOMEE-1024 @Description on parameters

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java?rev=1518605r1=1518604r2=1518605view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/monitoring/DynamicMBeanWrapper.java
 Thu Aug 29 11:40:34 2013
@@ -16,7 +16,6 @@
  */
 package org.apache.openejb.monitoring;
 
-import com.sun.jmx.mbeanserver.Introspector;
 import org.apache.openejb.api.internal.Internal;
 import org.apache.openejb.api.jmx.Description;
 import org.apache.openejb.api.jmx.MBean;
@@ -228,22 +227,24 @@ public class DynamicMBeanWrapper impleme
 }
 
 private MBeanOperationInfo newMethodDescriptor(final String 
operationDescr, final Method m) {
+final MBeanOperationInfo jvmInfo = new 
MBeanOperationInfo(operationDescr, m);
 return new MBeanOperationInfo(
 m.getName(),
 operationDescr,
-methodSignature(m),
+methodSignature(jvmInfo, m),
 m.getReturnType().getName(),
 MBeanOperationInfo.UNKNOWN,
-Introspector.descriptorForElement(m));
+jvmInfo.getDescriptor()); // avoid to copy the logic
 }
 
-private static MBeanParameterInfo[] methodSignature(final Method method) {
+private static MBeanParameterInfo[] methodSignature(final 
MBeanOperationInfo jvmInfo, final Method method) {
 final Class?[] classes = method.getParameterTypes();
 final Annotation[][] annots = method.getParameterAnnotations();
-return parameters(classes, annots);
+return parameters(jvmInfo, classes, annots);
 }
 
-static MBeanParameterInfo[] parameters(final Class?[] classes,
+static MBeanParameterInfo[] parameters(final MBeanOperationInfo jvmInfo,
+   final Class?[] classes,
final Annotation[][] annots) {
 final MBeanParameterInfo[] params =
 new MBeanParameterInfo[classes.length];
@@ -251,7 +252,7 @@ public class DynamicMBeanWrapper impleme
 
 String desc = ;
 for (int i = 0; i  classes.length; i++) {
-final Descriptor d = 
Introspector.descriptorForAnnotations(annots[i]);
+final Descriptor d = jvmInfo.getSignature()[i].getDescriptor();
 final String pn = arg + i;
 for (final Annotation a : annots[i]) {
 final Class? extends Annotation type = a.annotationType();




svn commit: r1518607 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config: AppInfoBuilder.java CleanEnvEntries.java

2013-08-29 Thread rmannibucau
Author: rmannibucau
Date: Thu Aug 29 11:43:20 2013
New Revision: 1518607

URL: http://svn.apache.org/r1518607
Log:
TOMEE-1023 merging app env-entry with ejbs

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/CleanEnvEntries.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java?rev=1518607r1=1518606r2=1518607view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
 Thu Aug 29 11:43:20 2013
@@ -236,8 +236,6 @@ class AppInfoBuilder {
 // Get the ejb-jar.xml object
 final EnterpriseBean enterpriseBean = 
beanData.get(beanInfo.ejbName);
 
-setApplicationEnvEntries(appModule.getApplication(), 
enterpriseBean);
-
 // Build the JNDI info tree for the EJB
 jndiEncInfoBuilder.build(enterpriseBean, beanInfo.ejbName, 
ejbJar.moduleName, ejbModule.getModuleUri(), ejbJar.moduleJndiEnc, 
beanInfo.jndiEnc);
 
@@ -307,14 +305,6 @@ class AppInfoBuilder {
 
 }
 
-private void setApplicationEnvEntries(final Application app, final 
EnterpriseBean enterpriseBean) {
-if (app == null || enterpriseBean == null) {
-return;
-}
-
-enterpriseBean.getEnvEntry().addAll(app.getEnvEntry());
-}
-
 private void buildPojoConfiguration(final AppModule appModule, final 
AppInfo appInfo) {
 for (final Map.EntryString, PojoConfiguration config : 
appModule.getPojoConfigurations().entrySet()) {
 final IdPropertiesInfo info = new IdPropertiesInfo();

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/CleanEnvEntries.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/CleanEnvEntries.java?rev=1518607r1=1518606r2=1518607view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/CleanEnvEntries.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/CleanEnvEntries.java
 Thu Aug 29 11:43:20 2013
@@ -26,8 +26,10 @@ import org.apache.openejb.jee.JndiConsum
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.Map;
 import java.util.Set;
 
 /**
@@ -48,63 +50,77 @@ public class CleanEnvEntries implements 
 return appModule;
 }
 
-public AppModule removeUnsetEnvEntries(AppModule appModule) throws 
OpenEJBException {
+public AppModule removeUnsetEnvEntries(final AppModule appModule) throws 
OpenEJBException {
+final MapString, EnvEntry appEnvEntryMap = 
getAppEnvEntryMap(appModule);
 
-for (ClientModule module : appModule.getClientModules()) {
+for (final ClientModule module : appModule.getClientModules()) {
 final JndiConsumer consumer = module.getApplicationClient();
 if (consumer == null) continue;
 
-removeUnsetEnvEntries(consumer);
+removeUnsetEnvEntries(appEnvEntryMap, consumer);
 }
 
-for (WebModule module : appModule.getWebModules()) {
+for (final WebModule module : appModule.getWebModules()) {
 final JndiConsumer consumer = module.getWebApp();
 if (consumer == null) continue;
 
-removeUnsetEnvEntries(consumer);
+removeUnsetEnvEntries(appEnvEntryMap, consumer);
 }
 
-for (EjbModule module : appModule.getEjbModules()) {
+for (final EjbModule module : appModule.getEjbModules()) {
 final EjbJar ejbJar = module.getEjbJar();
 if (ejbJar == null) continue;
 
-for (EnterpriseBean consumer : ejbJar.getEnterpriseBeans()) {
-removeUnsetEnvEntries(consumer);
+for (final EnterpriseBean consumer : ejbJar.getEnterpriseBeans()) {
+removeUnsetEnvEntries(appEnvEntryMap, consumer);
 }
 }
 
 return appModule;
 }
 
-private void removeUnsetEnvEntries(JndiConsumer consumer) {
+private static MapString, EnvEntry getAppEnvEntryMap(final AppModule 
appModule) {
+if (appModule.getApplication() != null  
appModule.getApplication().getEnvEntry() != null) {
+return appModule.getApplication().getEnvEntryMap

svn commit: r1518611 - /tomee/tomee/trunk/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml

2013-08-29 Thread rmannibucau
Author: rmannibucau
Date: Thu Aug 29 11:47:34 2013
New Revision: 1518611

URL: http://svn.apache.org/r1518611
Log:
TOMEE-1025 queues and topics are destinations

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml?rev=1518611r1=1518610r2=1518611view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
 Thu Aug 29 11:47:34 2013
@@ -1024,7 +1024,7 @@
   ServiceProvider
   id=Default Queue
   service=Resource
-  types=javax.jms.Queue, Queue
+  types=javax.jms.Queue, Queue, javax.jms.Destination
   constructor=destination
   class-name=org.apache.activemq.command.ActiveMQQueue
 
@@ -1036,7 +1036,7 @@
   ServiceProvider
   id=Default Topic
   service=Resource
-  types=javax.jms.Topic, Topic
+  types=javax.jms.Topic, Topic, javax.jms.Destination
   constructor=destination
   class-name=org.apache.activemq.command.ActiveMQTopic
 




svn commit: r1518661 - /tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/BodyContent$JAXB.java

2013-08-29 Thread rmannibucau
Author: rmannibucau
Date: Thu Aug 29 14:28:16 2013
New Revision: 1518661

URL: http://svn.apache.org/r1518661
Log:
tolerating body context whatever the case is since tomcat uses it in its samples

Modified:

tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/BodyContent$JAXB.java

Modified: 
tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/BodyContent$JAXB.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/BodyContent%24JAXB.java?rev=1518661r1=1518660r2=1518661view=diff
==
--- 
tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/BodyContent$JAXB.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/BodyContent$JAXB.java
 Thu Aug 29 14:28:16 2013
@@ -42,13 +42,13 @@ public class BodyContent$JAXB
 
 public static BodyContent parseBodyContent(XoXMLStreamReader reader, 
RuntimeContext context, String value)
 throws Exception {
-if (tagdependent.equals(value)) {
+if (tagdependent.equalsIgnoreCase(value)) {
 return BodyContent.TAGDEPENDENT;
-} else if (JSP.equals(value)) {
+} else if (JSP.equalsIgnoreCase(value)) {
 return BodyContent.JSP;
-} else if (empty.equals(value)) {
+} else if (empty.equalsIgnoreCase(value)) {
 return BodyContent.EMPTY;
-} else if (scriptless.equals(value)) {
+} else if (scriptless.equalsIgnoreCase(value)) {
 return BodyContent.SCRIPTLESS;
 } else {
 context.unexpectedEnumValue(reader, BodyContent.class, value, 
tagdependent, JSP, empty, scriptless);




svn commit: r1519379 - in /tomee/tomee/trunk/container/openejb-core/src: main/java/org/apache/openejb/assembler/classic/ main/java/org/apache/openejb/core/timer/ test/java/org/apache/openejb/timer/

2013-09-02 Thread rmannibucau
Author: rmannibucau
Date: Mon Sep  2 10:04:23 2013
New Revision: 1519379

URL: http://svn.apache.org/r1519379
Log:
TOMEE-1011 calendar timer can be auto created or not

Added:

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/GetTimerTest.java
  - copied, changed from r1519376, 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/InitialIntervalTimerTest.java
Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/CalendarTimerData.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/DatabaseTimerStore.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/MemoryTimerStore.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerStore.java

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/EjbTimerImplSerializableTest.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1519379r1=1519378r2=1519379view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 Mon Sep  2 10:04:23 2013
@@ -1034,7 +1034,8 @@ public class Assembler extends Assembler
null,
entry.getKey(),

scheduleData.getExpression(),
-   
scheduleData.getConfig());
+   
scheduleData.getConfig(),
+true);
 }
 }
 beanContext.setEjbTimerService(timerService);

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/CalendarTimerData.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/CalendarTimerData.java?rev=1519379r1=1519378r2=1519379view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/CalendarTimerData.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/CalendarTimerData.java
 Mon Sep  2 10:04:23 2013
@@ -22,6 +22,9 @@ import org.quartz.impl.triggers.Abstract
 
 import javax.ejb.ScheduleExpression;
 import javax.ejb.TimerConfig;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
 import java.lang.reflect.Method;
 
 /**
@@ -30,11 +33,13 @@ import java.lang.reflect.Method;
 public class CalendarTimerData extends TimerData {
 private static final long serialVersionUID = 1L;
 
-private final ScheduleExpression scheduleExpression;
+private ScheduleExpression scheduleExpression;
+private boolean autoCreated;
 
-public CalendarTimerData(long id, EjbTimerServiceImpl timerService, String 
deploymentId, Object primaryKey, Method timeoutMethod, TimerConfig timerConfig, 
ScheduleExpression scheduleExpression) {
+public CalendarTimerData(long id, EjbTimerServiceImpl timerService, String 
deploymentId, Object primaryKey, Method timeoutMethod, TimerConfig timerConfig, 
ScheduleExpression scheduleExpression, boolean auto) {
 super(id, timerService, deploymentId, primaryKey, timeoutMethod, 
timerConfig);
 this.scheduleExpression = scheduleExpression;
+this.autoCreated = auto;
 }
 
 @Override
@@ -46,6 +51,10 @@ public class CalendarTimerData extends T
 return scheduleExpression;
 }
 
+public boolean isAutoCreated() {
+return autoCreated;
+}
+
 @Override
 public AbstractTrigger? initializeTrigger() {
 try {
@@ -57,6 +66,24 @@ public class CalendarTimerData extends T
 }
 
 @Override
+protected void writeObject(final ObjectOutputStream out) throws 
IOException {
+super.writeObject(out

svn commit: r1519716 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer: CalendarTimerData.java TimerData.java

2013-09-03 Thread rmannibucau
Author: rmannibucau
Date: Tue Sep  3 15:14:09 2013
New Revision: 1519716

URL: http://svn.apache.org/r1519716
Log:
making CalendarTimerData serializable

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/CalendarTimerData.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/CalendarTimerData.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/CalendarTimerData.java?rev=1519716r1=1519715r2=1519716view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/CalendarTimerData.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/CalendarTimerData.java
 Tue Sep  3 15:14:09 2013
@@ -65,16 +65,14 @@ public class CalendarTimerData extends T
 }
 }
 
-@Override
-protected void writeObject(final ObjectOutputStream out) throws 
IOException {
-super.writeObject(out);
+private void writeObject(final ObjectOutputStream out) throws IOException {
+super.doWriteObject(out);
 out.writeBoolean(autoCreated);
 out.writeObject(scheduleExpression);
 }
 
-@Override
-protected void readObject(final ObjectInputStream in) throws IOException {
-super.readObject(in);
+private void readObject(final ObjectInputStream in) throws IOException {
+super.doReadObject(in);
 autoCreated = in.readBoolean();
 try {
 scheduleExpression = 
ScheduleExpression.class.cast(in.readObject());

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java?rev=1519716r1=1519715r2=1519716view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java
 Tue Sep  3 15:14:09 2013
@@ -112,7 +112,11 @@ public abstract class TimerData implemen
 this.timeoutMethod = timeoutMethod;
 }
 
-protected void writeObject(final ObjectOutputStream out) throws 
IOException {
+private void writeObject(final ObjectOutputStream out) throws IOException {
+doWriteObject(out);
+}
+
+protected void doWriteObject(final ObjectOutputStream out) throws 
IOException {
 out.writeLong(id);
 out.writeUTF(deploymentId);
 out.writeBoolean(persistent);
@@ -124,7 +128,11 @@ public abstract class TimerData implemen
 out.writeUTF(timeoutMethod.getName());
 }
 
-protected void readObject(final ObjectInputStream in) throws IOException {
+private void readObject(final ObjectInputStream in) throws IOException {
+doReadObject(in);
+}
+
+protected void doReadObject(final ObjectInputStream in) throws IOException 
{
 id = in.readLong();
 deploymentId = in.readUTF();
 persistent = in.readBoolean();
@@ -154,7 +162,6 @@ public abstract class TimerData implemen
 timeoutMethod = method;
 break;
 }
-
 }
 }
 




svn commit: r1519725 - /tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/QuartzPersistenceForEJBTimersTest.java

2013-09-03 Thread rmannibucau
Author: rmannibucau
Date: Tue Sep  3 15:45:18 2013
New Revision: 1519725

URL: http://svn.apache.org/r1519725
Log:
typo in comments

Modified:

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/QuartzPersistenceForEJBTimersTest.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/QuartzPersistenceForEJBTimersTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/QuartzPersistenceForEJBTimersTest.java?rev=1519725r1=1519724r2=1519725view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/QuartzPersistenceForEJBTimersTest.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/QuartzPersistenceForEJBTimersTest.java
 Tue Sep  3 15:45:18 2013
@@ -92,14 +92,14 @@ public class QuartzPersistenceForEJBTime
 @Configuration
 public Properties configuration() {
 return new PropertiesBuilder()
-// see 
src/main/resources/import-QuartzPersistenceForEJBTimersDB.sql for the init 
script
+// see 
src/test/resources/import-QuartzPersistenceForEJBTimersDB.sql for the init 
script
 .p(QuartzPersistenceForEJBTimersDB, 
new://Resource?type=DataSource)
 .p(QuartzPersistenceForEJBTimersDB.JtaManaged, true)
 .p(QuartzPersistenceForEJBTimersDB.JdbcUrl, 
jdbc:hsqldb:mem:QuartzPersistenceForEJBTimersDB)
 .p(QuartzPersistenceForEJBTimersDB.UserName, SA)
 .p(QuartzPersistenceForEJBTimersDB.Password, )
 
-// see 
src/main/resources/import-QuartzPersistenceForEJBTimersDBNoTx.sql for the init 
script
+// see 
src/test/resources/import-QuartzPersistenceForEJBTimersDBNoTx.sql for the init 
script
 .p(QuartzPersistenceForEJBTimersDBNoTx, 
new://Resource?type=DataSource)
 .p(QuartzPersistenceForEJBTimersDBNoTx.JtaManaged, false)
 .p(QuartzPersistenceForEJBTimersDBNoTx.JdbcUrl, 
jdbc:hsqldb:mem:QuartzPersistenceForEJBTimersDBNoTx)




svn commit: r1519724 - in /tomee/tomee/trunk/container/openejb-core/src/test: java/org/apache/openejb/timer/ resources/

2013-09-03 Thread rmannibucau
Author: rmannibucau
Date: Tue Sep  3 15:44:11 2013
New Revision: 1519724

URL: http://svn.apache.org/r1519724
Log:
adding a quartz test with persistence

Added:

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/QuartzPersistenceForEJBTimersTest.java

tomee/tomee/trunk/container/openejb-core/src/test/resources/import-QuartzPersistenceForEJBTimersDB.sql

tomee/tomee/trunk/container/openejb-core/src/test/resources/import-QuartzPersistenceForEJBTimersDBNoTx.sql

Added: 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/QuartzPersistenceForEJBTimersTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/QuartzPersistenceForEJBTimersTest.java?rev=1519724view=auto
==
--- 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/QuartzPersistenceForEJBTimersTest.java
 (added)
+++ 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/QuartzPersistenceForEJBTimersTest.java
 Tue Sep  3 15:44:11 2013
@@ -0,0 +1,143 @@
+/**
+ *  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.timer;
+
+import org.apache.openejb.config.AppModule;
+import org.apache.openejb.config.EjbModule;
+import org.apache.openejb.jee.EjbJar;
+import org.apache.openejb.jee.SingletonBean;
+import org.apache.openejb.junit.ApplicationComposer;
+import org.apache.openejb.testing.Configuration;
+import org.apache.openejb.testing.Module;
+import org.apache.openejb.testng.PropertiesBuilder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.quartz.impl.jdbcjobstore.HSQLDBDelegate;
+import org.quartz.impl.jdbcjobstore.JobStoreCMT;
+import org.quartz.simpl.SimpleThreadPool;
+
+import javax.annotation.PreDestroy;
+import javax.annotation.Resource;
+import javax.ejb.EJB;
+import javax.ejb.Schedule;
+import javax.ejb.Singleton;
+import javax.ejb.Timeout;
+import javax.ejb.Timer;
+import javax.ejb.TimerConfig;
+import javax.ejb.TimerService;
+import java.util.Collection;
+import java.util.Properties;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+@RunWith(ApplicationComposer.class)
+public class QuartzPersistenceForEJBTimersTest {
+@EJB
+private MyTimedEjb bean;
+
+@Test
+public void doTest() {
+assertNotNull(bean);
+assertEquals(0, bean.timers().size());
+bean.newTimer();
+assertEquals(1, bean.timers().size());
+}
+
+@Module
+public AppModule application() {
+final EjbModule ejbModule = new EjbModule(new EjbJar());
+ejbModule.getEjbJar().addEnterpriseBean(new 
SingletonBean(MyTimedEjb.class).localBean());
+
+final Properties quartzConfig = new PropertiesBuilder()
+.p(org.quartz.scheduler.instanceName, TestScheduler)
+.p(org.quartz.scheduler.instanceId, AUTO)
+.p(org.quartz.threadPool.class, SimpleThreadPool.class.getName())
+.p(org.quartz.threadPool.threadCount, 4)
+.p(org.quartz.threadPool.threadPriority, 5)
+.p(org.quartz.jobStore.class, JobStoreCMT.class.getName())
+.p(org.quartz.jobStore.driverDelegateClass, 
HSQLDBDelegate.class.getName())
+.p(org.quartz.jobStore.dataSource, QUARTZ)
+.p(org.quartz.jobStore.nonManagedTXDataSource, QUARTZ_NOTX)
+.p(org.quartz.jobStore.tablePrefix, qrtz_)
+.p(org.quartz.jobStore.isClustered, true)
+.p(org.quartz.jobStore.clusterCheckinInterval, 6)
+.p(org.quartz.jobStore.txIsolationLevelSerializable, true)
+.p(org.quartz.jobStore.maxMisfiresToHandleAtATime, 100)
+.p(org.quartz.dataSource.QUARTZ.jndiURL, 
openejb:Resource/QuartzPersistenceForEJBTimersDB)
+.p(org.quartz.dataSource.QUARTZ_NOTX.jndiURL, 
openejb:Resource/QuartzPersistenceForEJBTimersDBNoTx)
+.build();
+
+
+final AppModule appModule = new 
AppModule(Thread.currentThread().getContextClassLoader(), null);
+appModule.getEjbModules().add(ejbModule

svn commit: r1519990 - in /tomee/tomee/trunk/container/openejb-core/src: main/java/org/apache/openejb/core/timer/ test/java/org/apache/openejb/timer/ test/resources/

2013-09-04 Thread rmannibucau
Author: rmannibucau
Date: Wed Sep  4 12:04:04 2013
New Revision: 1519990

URL: http://svn.apache.org/r1519990
Log:
correct serializability for TimerData and related expressions

Removed:

tomee/tomee/trunk/container/openejb-core/src/test/resources/import-QuartzPersistenceForEJBTimersDBNoTx.sql
Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EJBCronTrigger.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/GetTimerTest.java

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/QuartzPersistenceForEJBTimersTest.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EJBCronTrigger.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EJBCronTrigger.java?rev=1519990r1=1519989r2=1519990view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EJBCronTrigger.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EJBCronTrigger.java
 Wed Sep  4 12:04:04 2013
@@ -21,6 +21,7 @@ import org.apache.openejb.util.Logger;
 import org.quartz.impl.triggers.CronTriggerImpl;
 
 import javax.ejb.ScheduleExpression;
+import java.io.Serializable;
 import java.text.DateFormatSymbols;
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -576,7 +577,7 @@ public class EJBCronTrigger extends Cron
 
}
 
-   private abstract static class FieldExpression {
+   private abstract static class FieldExpression implements Serializable {
 
 
protected static final Calendar CALENDAR = new 
GregorianCalendar(Locale.US); // For getting min/max field values
@@ -624,14 +625,8 @@ public class EJBCronTrigger extends Cron
}

protected boolean isValidResult(Calendar calendar, Integer 
result){
-   
-   if (result!=null  
result=calendar.getActualMinimum(field)  result 
=calendar.getActualMaximum(field)){
-return true;
-} 
-   
-   return false;
-   
-   }
+return result != null  result = 
calendar.getActualMinimum(field)  result = calendar.getActualMaximum(field);
+}
 
/**
 * Returns the next allowed value in this calendar for the given

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java?rev=1519990r1=1519989r2=1519990view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerData.java
 Wed Sep  4 12:04:04 2013
@@ -125,6 +125,7 @@ public abstract class TimerData implemen
 out.writeObject(primaryKey);
 out.writeObject(timerService);
 out.writeObject(info);
+out.writeObject(trigger);
 out.writeUTF(timeoutMethod.getName());
 }
 
@@ -143,12 +144,14 @@ public abstract class TimerData implemen
 primaryKey = in.readObject();
 timerService = (EjbTimerServiceImpl) in.readObject();
 info = in.readObject();
+trigger = AbstractTrigger.class.cast(in.readObject());
 } catch (ClassNotFoundException e) {
 throw new IOException(e);
 }
 
 final String mtd = in.readUTF();
 final BeanContext beanContext = 
SystemInstance.get().getComponent(ContainerSystem.class).getBeanContext(deploymentId);
+scheduler = timerService.getScheduler();
 for (IteratorMap.EntryMethod, MethodContext it = 
beanContext.iteratorMethodContext(); it.hasNext(); ) {
 final MethodContext methodContext = it.next().getValue();
 /* this doesn't work in all cases

Modified: 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/GetTimerTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/GetTimerTest.java?rev=1519990r1=1519989r2=1519990view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/GetTimerTest.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/GetTimerTest.java
 Wed

svn commit: r1520221 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebAppInjectionResolver.java

2013-09-04 Thread rmannibucau
Author: rmannibucau
Date: Thu Sep  5 05:35:12 2013
New Revision: 1520221

URL: http://svn.apache.org/r1520221
Log:
new owb api

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebAppInjectionResolver.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebAppInjectionResolver.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebAppInjectionResolver.java?rev=1520221r1=1520220r2=1520221view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebAppInjectionResolver.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebAppInjectionResolver.java
 Thu Sep  5 05:35:12 2013
@@ -32,10 +32,10 @@ public class WebAppInjectionResolver ext
 }
 
 @Override
-public SetBean? implResolveByType(final Type injectionPointType, final 
Class? injectinPointClass, final Annotation... qualifiers) {
-final SetBean? set = super.implResolveByType(injectionPointType, 
injectinPointClass, qualifiers);
+public SetBean? implResolveByType(final boolean delegate, final Type 
injectionPointType, final Class? injectinPointClass, final Annotation... 
qualifiers) {
+final SetBean? set = super.implResolveByType(delegate, 
injectionPointType, injectinPointClass, qualifiers);
 if (set.isEmpty()) {
-return 
context.getParent().getBeanManagerImpl().getInjectionResolver().implResolveByType(injectionPointType,
 injectinPointClass, qualifiers);
+return 
context.getParent().getBeanManagerImpl().getInjectionResolver().implResolveByType(delegate,
 injectionPointType, injectinPointClass, qualifiers);
 }
 return set;
 }




svn commit: r1520847 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb: OpenEjbContainer.java util/JuliLogStreamFactory.java

2013-09-08 Thread rmannibucau
Author: rmannibucau
Date: Sun Sep  8 09:22:22 2013
New Revision: 1520847

URL: http://svn.apache.org/r1520847
Log:
OPENEJB-2037 better handling of logging for EJBContainer

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java?rev=1520847r1=1520846r2=1520847view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java
 Sun Sep  8 09:22:22 2013
@@ -92,22 +92,19 @@ import static org.apache.openejb.cdi.Sco
  * @version $Rev$ $Date$
  */
 public class OpenEjbContainer extends EJBContainer {
-
 static {
-Core.warmup();
-
 // if tomee embedded was ran we'll lost log otherwise
 final String logManger = 
System.getProperty(java.util.logging.manager);
 if (logManger != null) {
 try {
 
Thread.currentThread().getContextClassLoader().loadClass(logManger);
-} catch (Exception ignored) {
+} catch (final Exception ignored) {
 final Field field;
 try {
 field = LogManager.class.getDeclaredField(manager);
 field.setAccessible(true);
 field.set(null, new 
JuliLogStreamFactory.OpenEJBLogManager());
-} catch (Exception ignore) {
+} catch (final Exception ignore) {
 // ignore
 }
 }
@@ -115,9 +112,9 @@ public class OpenEjbContainer extends EJ
 }
 
 public static final String OPENEJB_EMBEDDED_REMOTABLE = 
openejb.embedded.remotable;
-static Logger logger = Logger.getInstance(LogCategory.OPENEJB_STARTUP, 
OpenEjbContainer.class);
 
 private static OpenEjbContainer instance;
+private static Logger logger = null; // initialized lazily to get the 
logging config from properties
 
 private ServiceManagerProxy serviceManager;
 private Options options;
@@ -141,8 +138,8 @@ public class OpenEjbContainer extends EJ
 session = new MockHttpSession();
 try {
 startContexts(webBeanContext.getContextsService(), servletContext, 
session);
-} catch (Exception e) {
-logger.warning(can't start all CDI contexts, e);
+} catch (final Exception e) {
+logger().warning(can't start all CDI contexts, e);
 }
 }
 
@@ -163,7 +160,7 @@ public class OpenEjbContainer extends EJ
 try {
 assembler.destroyApplication(info);
 } catch (UndeployException e) {
-logger.error(e.getMessage(), e);
+logger().error(e.getMessage(), e);
 }
 }
 }
@@ -171,10 +168,10 @@ public class OpenEjbContainer extends EJ
 try {
 stopContexts(webBeanContext.getContextsService(), servletContext, 
session);
 } catch (Exception e) {
-logger.warning(can't stop all CDI contexts, e);
+logger().warning(can't stop all CDI contexts, e);
 }
 
-logger.info(Destroying OpenEJB container);
+logger().info(Destroying OpenEJB container);
 OpenEJB.destroy();
 instance = null;
 }
@@ -223,7 +220,7 @@ public class OpenEjbContainer extends EJ
 try {
 OWBInjector.inject(webBeanContext.getBeanManagerImpl(), object, 
null);
 } catch (Throwable t) {
-logger.warning(an error occured while injecting the class ' + 
object.getClass().getName() + ':  + t.getMessage());
+logger().warning(an error occured while injecting the class ' + 
object.getClass().getName() + ':  + t.getMessage());
 } finally {
 if (context != null) {
 ThreadContext.exit(oldContext);
@@ -276,10 +273,17 @@ public class OpenEjbContainer extends EJ
 serviceManager = new ServiceManagerProxy();
 serviceManager.start();
 } catch (ServiceManagerProxy.AlreadyStartedException e) {
-logger.debug(Network services already started.  Ignoring option  
+ OPENEJB_EMBEDDED_REMOTABLE);
+logger().debug(Network services already started.  Ignoring option 
 + OPENEJB_EMBEDDED_REMOTABLE);
 }
 }
 
+private static Logger logger() { // don't trigger init too eagerly to be 
sure to be configured
+if (logger == null) {
+logger = Logger.getInstance(LogCategory.OPENEJB_STARTUP

svn commit: r1524405 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb: config/DeploymentLoader.java persistence/PersistenceBootstrap.java

2013-09-18 Thread rmannibucau
Author: rmannibucau
Date: Wed Sep 18 13:39:39 2013
New Revision: 1524405

URL: http://svn.apache.org/r1524405
Log:
TOMEE-1032 trying to read WEB-INF/persistence.xml file in our persistence 
bootstrap (for openjpa enhancement at load time)

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceBootstrap.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java?rev=1524405r1=1524404r2=1524405view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
 Wed Sep 18 13:39:39 2013
@@ -110,7 +110,7 @@ public class DeploymentLoader implements
 
 private boolean scanManagedBeans = true;
 private static final CollectionString KNOWN_DESCRIPTORS = 
Arrays.asList(app-ctx.xml, module.properties, application.properties, 
web.xml, ejb-jar.xml, openejb-jar.xml, env-entries.properties, 
beans.xml, ra.xml, application.xml, application-client.xml, 
persistence-fragment.xml, persistence.xml, validation.xml, 
NewLoaderLogic.EXCLUSION_FILE);
-private static String ALTDD = 
SystemInstance.get().getOptions().get(OPENEJB_ALTDD_PREFIX, (String) null);
+public static String ALTDD = 
SystemInstance.get().getOptions().get(OPENEJB_ALTDD_PREFIX, (String) null);
 
 public AppModule load(final File jarFile) throws OpenEJBException {
 // verify we have a valid file

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceBootstrap.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceBootstrap.java?rev=1524405r1=1524404r2=1524405view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceBootstrap.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceBootstrap.java
 Wed Sep 18 13:39:39 2013
@@ -16,10 +16,13 @@
  */
 package org.apache.openejb.persistence;
 
+import org.apache.openejb.config.DeploymentLoader;
 import org.apache.openejb.core.TempClassLoader;
 import org.apache.openejb.javaagent.Agent;
 import org.apache.openejb.loader.IO;
+import org.apache.openejb.util.URLs;
 import org.apache.openejb.util.Saxs;
+import org.apache.xbean.finder.ClassLoaders;
 import org.xml.sax.Attributes;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
@@ -30,6 +33,7 @@ import javax.persistence.spi.Persistence
 import javax.sql.DataSource;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.parsers.SAXParser;
+import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintWriter;
@@ -43,9 +47,11 @@ import java.sql.SQLException;
 import java.sql.SQLFeatureNotSupportedException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
@@ -84,38 +90,74 @@ public class PersistenceBootstrap {
 try {
 debug(searching for persistence.xml files);
 
-ArrayListURL urls = 
Collections.list(classLoader.getResources(META-INF/persistence.xml));
+// create persistence.xml names respecting altdd
+final CollectionString pXmlNames = new ArrayListString();
+if (DeploymentLoader.ALTDD != null) {
+for (final String p : DeploymentLoader.ALTDD.split(,)) {
+pXmlNames.add(p + .persistence.xml);
+pXmlNames.add(p + -persistence.xml);
+}
+} else {
+pXmlNames.add(persistence.xml);
+}
+
+final ListURL urls = new LinkedListURL();
+for (final String pXmlName : pXmlNames) { // find persistence.xml 
in the classloader and in WEB-INF
+
urls.addAll(Collections.list(classLoader.getResources(META-INF/ + pXmlName)));
+try {
+final CollectionURL loaderUrls = 
ClassLoaders.findUrls(classLoader);
+for (final URL url : loaderUrls) {
+final File file = URLs.toFile(url);
+if (classes.equals(file.getName())  
WEB-INF.equals

svn commit: r1524648 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java

2013-09-19 Thread rmannibucau
Author: rmannibucau
Date: Thu Sep 19 08:12:03 2013
New Revision: 1524648

URL: http://svn.apache.org/r1524648
Log:
TOMEE-1034 ability to preload some classes at container setup (Maven.resolver() 
use case) + fixing new OWB API in core

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java?rev=1524648r1=1524647r2=1524648view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
 Thu Sep 19 08:12:03 2013
@@ -51,15 +51,15 @@ public class WebappBeanManager extends B
 }
 
 @Override
-public void fireEvent(final Object event, final EventMetadata metadata) {
+public void fireEvent(final Object event, final EventMetadata metadata, 
final boolean isLifecycleEvent) {
 final Class? eventClass = event.getClass();
 
if(ClassUtil.isDefinitionContainsTypeVariables(ClassUtil.getClass(metadata.getType(
 {
 throw new IllegalArgumentException(Event class :  + 
event.getClass().getName() +  can not be defined as generic type);
 }
 
-getNotificationManager().fireEvent(event, metadata);
+getNotificationManager().fireEvent(event, metadata, isLifecycleEvent);
 if (isEvent(eventClass)) {
-getParentBm().getNotificationManager().fireEvent(event, metadata);
+getParentBm().getNotificationManager().fireEvent(event, metadata, 
isLifecycleEvent);
 }
 }
 




svn commit: r1524656 - /tomee/tomee/trunk/arquillian/arquillian-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianUtil.java

2013-09-19 Thread rmannibucau
Author: rmannibucau
Date: Thu Sep 19 08:32:42 2013
New Revision: 1524656

URL: http://svn.apache.org/r1524656
Log:
don't forget to pre-init the class otherwise it is useless

Modified:

tomee/tomee/trunk/arquillian/arquillian-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianUtil.java

Modified: 
tomee/tomee/trunk/arquillian/arquillian-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianUtil.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianUtil.java?rev=1524656r1=1524655r2=1524656view=diff
==
--- 
tomee/tomee/trunk/arquillian/arquillian-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianUtil.java
 (original)
+++ 
tomee/tomee/trunk/arquillian/arquillian-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianUtil.java
 Thu Sep 19 08:32:42 2013
@@ -137,7 +137,7 @@ public final class ArquillianUtil {
 @Override
 public void run() {
 try {
-loader.loadClass(clazz);
+Class.forName(clazz, true, loader);
 } catch (final Throwable th) {
 // no-op
 }




svn commit: r1524926 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java

2013-09-20 Thread rmannibucau
Author: rmannibucau
Date: Fri Sep 20 07:47:37 2013
New Revision: 1524926

URL: http://svn.apache.org/r1524926
Log:
TOMEE-1038 avoid ambiguity and then not deterministic auto resource creation

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java?rev=1524926r1=1524925r2=1524926view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
 Fri Sep 20 07:47:37 2013
@@ -1611,6 +1611,7 @@ public class AutoConfig implements Dynam
 final Properties overrides = 
ConfigurationFactory.getSystemProperties(nonJtaResourceInfo.id, 
nonJtaResourceInfo.service);
 nonJtaResourceInfo.properties.putAll(overrides);
 
nonJtaResourceInfo.properties.setProperty(JtaManaged, false);
+nonJtaResourceInfo.properties.remove(Definition); // 
if created from annotation we just want live config
 
 logAutoCreateResource(nonJtaResourceInfo, 
DataSource, unit.getName());
 logger.info(configureService.configuring, 
nonJtaResourceInfo.id, nonJtaResourceInfo.service, jtaResourceInfo.id);
@@ -1671,6 +1672,7 @@ public class AutoConfig implements Dynam
 final Properties overrides = 
ConfigurationFactory.getSystemProperties(jtaResourceInfo.id, 
jtaResourceInfo.service);
 jtaResourceInfo.properties.putAll(overrides);
 jtaResourceInfo.properties.setProperty(JtaManaged, 
true);
+jtaResourceInfo.properties.remove(Definition); // if 
created from annotation we just want live config
 
 logAutoCreateResource(jtaResourceInfo, DataSource, 
unit.getName());
 logger.info(configureService.configuring, 
jtaResourceInfo.id, jtaResourceInfo.service, nonJtaResourceInfo.id);




svn commit: r1525270 - in /tomee/tomee/trunk/arquillian/ziplock: ./ src/main/java/org/apache/ziplock/maven/ src/test/ src/test/java/ src/test/java/org/ src/test/java/org/apache/ src/test/java/org/apac

2013-09-21 Thread rmannibucau
Author: rmannibucau
Date: Sat Sep 21 18:05:50 2013
New Revision: 1525270

URL: http://svn.apache.org/r1525270
Log:
TOMEE-1041 basic mvn integration in ziplock - surely to enhance

Added:
tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/

tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java

tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/PreloadableTestWar.java

tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/PreloadableWar.java
tomee/tomee/trunk/arquillian/ziplock/src/test/
tomee/tomee/trunk/arquillian/ziplock/src/test/java/
tomee/tomee/trunk/arquillian/ziplock/src/test/java/org/
tomee/tomee/trunk/arquillian/ziplock/src/test/java/org/apache/
tomee/tomee/trunk/arquillian/ziplock/src/test/java/org/apache/ziplock/
tomee/tomee/trunk/arquillian/ziplock/src/test/java/org/apache/ziplock/maven/

tomee/tomee/trunk/arquillian/ziplock/src/test/java/org/apache/ziplock/maven/MvnTest.java
Modified:
tomee/tomee/trunk/arquillian/ziplock/pom.xml

Modified: tomee/tomee/trunk/arquillian/ziplock/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/ziplock/pom.xml?rev=1525270r1=1525269r2=1525270view=diff
==
--- tomee/tomee/trunk/arquillian/ziplock/pom.xml (original)
+++ tomee/tomee/trunk/arquillian/ziplock/pom.xml Sat Sep 21 18:05:50 2013
@@ -37,6 +37,13 @@
 /dependency
 
 dependency
+  groupIdorg.jboss.shrinkwrap.resolver/groupId
+  artifactIdshrinkwrap-resolver-impl-maven/artifactId
+  version2.0.0/version
+  scopeprovided/scope
+/dependency
+
+dependency
   groupIdorg.apache.openejb/groupId
   artifactIdopenejb-jee/artifactId
   version${openejb.version}/version
@@ -47,5 +54,15 @@
   version${javaee-api.version}/version
 /dependency
 
+dependency
+  groupIdjunit/groupId
+  artifactIdjunit/artifactId
+/dependency
+dependency
+  groupIdorg.jboss.shrinkwrap/groupId
+  artifactIdshrinkwrap-impl-base/artifactId
+  version${version.shrinkwrap.shrinkwrap}/version
+  scopetest/scope
+/dependency
   /dependencies
 /project

Added: 
tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java?rev=1525270view=auto
==
--- 
tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java
 (added)
+++ 
tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java
 Sat Sep 21 18:05:50 2013
@@ -0,0 +1,189 @@
+/*
+ * 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.ziplock.maven;
+
+import org.apache.ziplock.IO;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ArchivePath;
+import org.jboss.shrinkwrap.api.Filter;
+import org.jboss.shrinkwrap.api.GenericArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.Asset;
+import org.jboss.shrinkwrap.api.asset.StringAsset;
+import org.jboss.shrinkwrap.api.importer.ExplodedImporter;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.jboss.shrinkwrap.resolver.api.maven.Maven;
+import org.jboss.shrinkwrap.resolver.api.maven.ScopeType;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.HashMap;
+import java.util.Map;
+
+public final class Mvn {
+/**
+ * Client war.
+ *
+ * @return create a war with src/main/resources, src/main/webapp and all 
compile and runtime dependencies
+ */
+public static Archive? war() {
+return war(test.war, null);
+}
+
+/**
+ * Server war without tests clases.
+ *
+ * @return create a war with src/main/resources, src/main/webapp and all 
compile, runtime and test dependencies
+ */
+public static Archive? testWar() {
+return war(test.war, null

svn commit: r1525331 - in /tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven: Mvn.java PreloadableTestWar.java PreloadableWar.java

2013-09-22 Thread rmannibucau
Author: rmannibucau
Date: Sun Sep 22 08:21:56 2013
New Revision: 1525331

URL: http://svn.apache.org/r1525331
Log:
TOMEE-1041 adding Mvn.Builder to create archives

Modified:

tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java

tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/PreloadableTestWar.java

tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/PreloadableWar.java

Modified: 
tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java?rev=1525331r1=1525330r2=1525331view=diff
==
--- 
tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java
 (original)
+++ 
tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java
 Sun Sep 22 08:21:56 2013
@@ -38,88 +38,148 @@ import java.util.HashMap;
 import java.util.Map;
 
 public final class Mvn {
-/**
- * Client war.
- *
- * @return create a war with src/main/resources, src/main/webapp and all 
compile and runtime dependencies
- */
-public static Archive? war() {
-return war(test.war, null);
-}
+public static class Builder {
+private File basedir = null;
+private File resources = null;
+private File webapp = null;
+private File classes = null;
+private String basePackage = null;
+private String name = test.war;
+private MapFile, String additionalResources = new HashMapFile, 
String();
+private ScopeType[] scopes = { ScopeType.COMPILE, ScopeType.RUNTIME };
 
-/**
- * Server war without tests clases.
- *
- * @return create a war with src/main/resources, src/main/webapp and all 
compile, runtime and test dependencies
- */
-public static Archive? testWar() {
-return war(test.war, null, ScopeType.COMPILE, ScopeType.RUNTIME, 
ScopeType.TEST);
-}
+public Builder scopes(final ScopeType... scopes) {
+this.scopes = scopes;
+return this;
+}
 
-public static Archive? war(final String name, final String basePackage, 
final ScopeType... scopes) {
-final File basedir = basedir();
+public Builder basedir(final File path) {
+this.basedir = path;
+return this;
+}
 
-final WebArchive webArchive = ShrinkWrap.create(WebArchive.class, 
name);
+public Builder resources(final File path) {
+this.resources = path;
+return this;
+}
 
-if (basePackage == null) {
-final File classes = new File(basedir, target/classes/);
-add(webArchive, classes, /WEB-INF/classes/);
-} else {
-webArchive.addPackages(true, basePackage);
+public Builder webapp(final File path) {
+this.webapp = path;
+return this;
 }
 
-final File webapp = new File(basedir, src/main/webapp);
-add(webArchive, webapp, /);
-if (basePackage != null) {
-final File resources = new File(basedir, src/main/resources);
-add(webArchive, resources, /WEB-INF/classes/);
+public Builder classes(final File path) {
+this.classes = path;
+return this;
 }
 
-final ScopeType[] types;
-if (scopes == null || scopes.length == 0) {
-types = new ScopeType[]{ ScopeType.COMPILE, ScopeType.RUNTIME };
-} else {
-types = scopes;
+public Builder applicationPackage(final String base) {
+this.basePackage = base;
+return this;
 }
-try {
-final File[] deps = Maven.resolver().offline().loadPomFromFile(new 
File(basedir, pom.xml))
-
.importDependencies(types).resolve().withTransitivity().asFile();
-if (deps.length  0) {
-webArchive.addAsLibraries(deps);
-}
-} catch (final Exception e) {
-// no-op
+
+public Builder name(final String name) {
+this.name = name;
+return this;
 }
 
-return webArchive;
-}
+public Builder additionalResource(final File folder, final String 
root) {
+additionalResources.put(folder, root);
+return this;
+}
+
+public Archive? build() {
+initDefaults();
+
+final WebArchive webArchive = ShrinkWrap.create(WebArchive.class, 
name);
+
+if (basePackage != null) {
+webArchive.addPackages(true, basePackage);
+}
+add(webArchive, classes, /WEB-INF/classes/)
+.add(webArchive, resources, /WEB-INF/classes/)
+.add(webArchive, webapp, /);
+for (final

svn commit: r1525608 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java

2013-09-23 Thread rmannibucau
Author: rmannibucau
Date: Mon Sep 23 14:35:18 2013
New Revision: 1525608

URL: http://svn.apache.org/r1525608
Log:
we don't need this ugly hack which makes tomee maven plugin don't look like 
tomee standalone - was before we fix NPE in DataTypeConverter

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java?rev=1525608r1=1525607r2=1525608view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
 Mon Sep 23 14:35:18 2013
@@ -122,7 +122,7 @@ public class RemoteServer {
 }
 
 public void start() {
-start(Collections.EMPTY_LIST, start, true);
+start(Collections.StringemptyList(), start, true);
 }
 
 public void start(final ListString additionalArgs, final String cmd, 
final boolean checkPortAvailable) {
@@ -201,14 +201,10 @@ public class RemoteServer {
 final File conf = new File(home, conf);
 final File loggingProperties = new File(conf, 
logging.properties);
 
-File endorsed = new File(home, endorsed);
-if (javaVersion != null  javaVersion.startsWith(1.7.)) 
{ // java 7
-endorsed = new File(home, endorsed7); // doesn't 
exist but just to ignore it with j7
-}
+final File endorsed = new File(home, endorsed);
 final File temp = new File(home, temp);
 
-final ListString argsList = new ArrayListString() {
-};
+final ListString argsList = new ArrayListString();
 argsList.add(java);
 argsList.add(-XX:+HeapDumpOnOutOfMemoryError);
 
@@ -228,10 +224,7 @@ public class RemoteServer {
 }
 
 if (javaOpts != null) {
-final String[] strings = javaOpts.split( +);
-for (final String string : strings) {
-argsList.add(string);
-}
+Collections.addAll(argsList, javaOpts.split( +));
 }
 
 final MapString, String addedArgs = new HashMapString, 
String();




svn commit: r1525843 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/GeronimoTransactionManagerFactory.java

2013-09-24 Thread rmannibucau
Author: rmannibucau
Date: Tue Sep 24 10:54:54 2013
New Revision: 1525843

URL: http://svn.apache.org/r1525843
Log:
using objectweb default since we don't provide any apache packaged version of 
BlockLogBuffer

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/GeronimoTransactionManagerFactory.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/GeronimoTransactionManagerFactory.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/GeronimoTransactionManagerFactory.java?rev=1525843r1=1525842r2=1525843view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/GeronimoTransactionManagerFactory.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/GeronimoTransactionManagerFactory.java
 Tue Sep 24 10:54:54 2013
@@ -77,7 +77,7 @@ public class GeronimoTransactionManagerF
 SystemInstance.get().setComponent(XAResourceWrapper.class, new 
GeronimoXAResourceWrapper());
 
 xidFactory = new XidFactoryImpl(tmId == null ? DEFAULT_TM_ID: 
tmId);
-txLog = new HOWLLog(bufferClassName == null ? 
org.apache.howl.log.BlockLogBuffer : bufferClassName,
+txLog = new HOWLLog(bufferClassName == null ? 
org.objectweb.howl.log.BlockLogBuffer : bufferClassName,
 bufferSizeKb == 0 ? DEFAULT_BUFFER_SIZE : bufferSizeKb,
 checksumEnabled,
 adler32Checksum,




svn commit: r1525886 - /tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/XADataSourceTest.java

2013-09-24 Thread rmannibucau
Author: rmannibucau
Date: Tue Sep 24 13:37:40 2013
New Revision: 1525886

URL: http://svn.apache.org/r1525886
Log:
adding a test on xa datasources

Added:

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/XADataSourceTest.java

Added: 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/XADataSourceTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/XADataSourceTest.java?rev=1525886view=auto
==
--- 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/XADataSourceTest.java
 (added)
+++ 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/XADataSourceTest.java
 Tue Sep 24 13:37:40 2013
@@ -0,0 +1,171 @@
+/*
+ * 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.resource.jdbc;
+
+import org.apache.openejb.jee.EjbJar;
+import org.apache.openejb.jee.SingletonBean;
+import org.apache.openejb.jee.jpa.unit.Persistence;
+import org.apache.openejb.jee.jpa.unit.PersistenceUnit;
+import org.apache.openejb.junit.ApplicationComposer;
+import org.apache.openejb.loader.Files;
+import org.apache.openejb.testing.Configuration;
+import org.apache.openejb.testing.Module;
+import org.hsqldb.jdbc.pool.JDBCXADataSource;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import javax.ejb.EJB;
+import javax.ejb.EJBException;
+import javax.ejb.Singleton;
+import javax.persistence.Entity;
+import javax.persistence.EntityManager;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.PersistenceContext;
+import java.io.File;
+import java.util.Properties;
+
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertThat;
+
+@RunWith(ApplicationComposer.class)
+public class XADataSourceTest {
+@EJB
+private XAEJB ejb;
+
+@Test
+public void checkOperationsWork() {
+ejb.doSthg();
+ejb.assertPersisted();
+try {
+ejb.forceRollback();
+} catch (final EJBException ejbEx) {
+assertThat(ejbEx.getCause(), 
instanceOf(IllegalArgumentException.class));
+}
+}
+
+@Configuration
+public java.util.Properties config() {
+final File file = new File(target/test/xa/howl);
+if (file.isDirectory()) {
+Files.delete(file);
+}
+
+final Properties p = new Properties();
+p.put(openejb.jdbc.log, dbcp-alternative);
+
+p.put(txMgr, new://TransactionManager?type=TransactionManager);
+p.put(txMgr.txRecovery, true);
+p.put(txMgr.logFileDir, target/test/xa/howl);
+
+p.put(xadb, new://Resource?type=DataSource);
+p.put(xadb.JdbcDriver, JDBCXADataSource.class.getName());
+p.put(xadb.JdbcUrl, jdbc:hsqldb:mem:xa);
+p.put(xadb.UserName, sa);
+p.put(xadb.Password, );
+p.put(xadb.JtaManaged, true);
+
+p.put(xadbn, new://Resource?type=DataSource);
+p.put(xadbn.JdbcDriver, JDBCXADataSource.class.getName());
+p.put(xadbn.JdbcUrl, jdbc:hsqldb:mem:xa);
+p.put(xadbn.UserName, sa);
+p.put(xadbn.Password, );
+p.put(xadbn.JtaManaged, false);
+
+p.put(xadb2, new://Resource?type=DataSource);
+p.put(xadb2.JdbcDriver, JDBCXADataSource.class.getName());
+p.put(xadb2.JdbcUrl, jdbc:hsqldb:mem:xa2);
+p.put(xadb2.UserName, sa);
+p.put(xadb2.Password, );
+p.put(xadb2.JtaManaged, true);
+
+p.put(xadbn2, new://Resource?type=DataSource);
+p.put(xadbn2.JdbcDriver, JDBCXADataSource.class.getName());
+p.put(xadbn2.JdbcUrl, jdbc:hsqldb:mem:xa2);
+p.put(xadbn2.UserName, sa);
+p.put(xadbn2.Password, );
+p.put(xadbn2.JtaManaged, false);
+return p;
+}
+
+@Module
+public Persistence pXml() throws Exception {
+final Persistence persistence = new Persistence();
+{
+final PersistenceUnit persistenceUnit = new

svn commit: r1525901 - in /tomee/tomee/trunk/container/openejb-core/src: main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java test/java/org/apache/openejb/resource/jdbc/XADa

2013-09-24 Thread rmannibucau
Author: rmannibucau
Date: Tue Sep 24 14:38:30 2013
New Revision: 1525901

URL: http://svn.apache.org/r1525901
Log:
TOMEE-1044 using equals instead of == to compare transactions

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/XADataSourceTest.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java?rev=1525901r1=1525900r2=1525901view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/managed/local/ManagedConnection.java
 Tue Sep 24 14:38:30 2013
@@ -82,7 +82,7 @@ public class ManagedConnection implement
 // if we have a tx check it is the same this connection is linked 
to
 if (currentTransaction != null) {
 if (isUnderTransaction(currentTransaction.getStatus())) {
-if (currentTransaction != transaction) {
+if (!currentTransaction.equals(transaction)) {
 throw new SQLException(Connection can not be used 
while enlisted in another transaction);
 }
 return invokeUnderTransaction(delegate, method, args);

Modified: 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/XADataSourceTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/XADataSourceTest.java?rev=1525901r1=1525900r2=1525901view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/XADataSourceTest.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/XADataSourceTest.java
 Tue Sep 24 14:38:30 2013
@@ -22,6 +22,8 @@ import org.apache.openejb.jee.jpa.unit.P
 import org.apache.openejb.jee.jpa.unit.PersistenceUnit;
 import org.apache.openejb.junit.ApplicationComposer;
 import org.apache.openejb.loader.Files;
+import org.apache.openejb.resource.jdbc.dbcp.DbcpDataSourceCreator;
+import org.apache.openejb.resource.jdbc.pool.DataSourceCreator;
 import org.apache.openejb.testing.Configuration;
 import org.apache.openejb.testing.Module;
 import org.hsqldb.jdbc.pool.JDBCXADataSource;
@@ -67,7 +69,7 @@ public class XADataSourceTest {
 }
 
 final Properties p = new Properties();
-p.put(openejb.jdbc.log, dbcp-alternative);
+p.put(DataSourceCreator.class.getName(), 
DbcpDataSourceCreator.class.getName());
 
 p.put(txMgr, new://TransactionManager?type=TransactionManager);
 p.put(txMgr.txRecovery, true);




svn commit: r1526114 - /tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UnDeployMojo.java

2013-09-25 Thread rmannibucau
Author: rmannibucau
Date: Wed Sep 25 06:03:53 2013
New Revision: 1526114

URL: http://svn.apache.org/r1526114
Log:
TOMEE-1045 better app matching algorithm in undeploy mojo

Modified:

tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UnDeployMojo.java

Modified: 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UnDeployMojo.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UnDeployMojo.java?rev=1526114r1=1526113r2=1526114view=diff
==
--- 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UnDeployMojo.java
 (original)
+++ 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/UnDeployMojo.java
 Wed Sep 25 06:03:53 2013
@@ -22,6 +22,10 @@ import org.apache.maven.plugin.MojoFailu
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.assembler.Deployer;
+import org.apache.openejb.assembler.classic.AppInfo;
+
+import java.util.ArrayList;
+import java.util.Collection;
 
 /**
  * Simply undeploy an application in a running TomEE
@@ -32,8 +36,29 @@ public class UnDeployMojo extends Abstra
 public void execute() throws MojoExecutionException, MojoFailureException {
 final Deployer deployer = (Deployer) 
lookup(openejb/DeployerBusinessRemote);
 try {
-deployer.undeploy(path);
-} catch (OpenEJBException e) {
+final CollectionAppInfo apps = deployer.getDeployedApps();
+final CollectionString paths = new 
ArrayListString(apps.size());
+for (final AppInfo info : apps) {
+paths.add(info.path);
+}
+
+if (paths.contains(path)) { // exact matching
+deployer.undeploy(path);
+} else {
+for (final String proposed : paths) { // exact matching + 
extension
+if (path.equals(proposed + .war) || path.equals(proposed 
+ .ear) || path.equals(proposed + .jar)) {
+deployer.undeploy(proposed);
+return;
+}
+}
+for (final String proposed : paths) { // just the app/folder 
name
+if (proposed.endsWith(/ + path) || 
proposed.endsWith(\\ + path)) {
+deployer.undeploy(proposed);
+return;
+}
+}
+}
+} catch (final OpenEJBException e) {
 throw new TomEEException(e.getMessage(), e);
 }
 }




svn commit: r1526142 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb: assembler/classic/Assembler.java config/AppModule.java config/AutoConfig.java config/DeploymentLoa

2013-09-25 Thread rmannibucau
Author: rmannibucau
Date: Wed Sep 25 09:27:03 2013
New Revision: 1526142

URL: http://svn.apache.org/r1526142
Log:
TOMEE-1047 TOMEE-1046 allowing to deploy N times resource adapters (could be 
great to find a better config than system properties) + allowing to use 
existing resource as jta datasource - skipping some check if it comes from a 
resource adapter. In clear we can now use tranql

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ServiceUtils.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1526142r1=1526141r2=1526142view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 Wed Sep 25 09:27:03 2013
@@ -775,6 +775,7 @@ public class Assembler extends Assembler
 }
 for (final ResourceInfo outbound : connector.outbound) {
 createResource(outbound);
+outbound.properties.setProperty(openejb.connector, 
true); // set it after as a marker but not as an attribute (no 
getOpenejb().setConnector(...))
 }
 for (final MdbContainerInfo inbound : connector.inbound) {
 createContainer(inbound);

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java?rev=1526142r1=1526141r2=1526142view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AppModule.java
 Wed Sep 25 09:27:03 2013
@@ -77,28 +77,32 @@ public class AppModule implements Deploy
 this(classLoader, jarLocation, null, false);
 }
 
-public T extends DeploymentModule AppModule(final T module) {
+public T extends DeploymentModule AppModule(final T... modules) {
+final T firstModule = modules[0];
+
 this.standaloneModule = true;
-this.classLoader = module.getClassLoader();
-this.application = new Application(module.getModuleId());
+this.classLoader = firstModule.getClassLoader();
+this.application = new Application(firstModule.getModuleId());
 
-this.id = new ID(null, application, null, module.getFile(), 
module.getModuleUri(), this);
+this.id = new ID(null, application, null, firstModule.getFile(), 
firstModule.getModuleUri(), this);
 this.validation = new ValidationContext(this);
 
-final Class? extends DeploymentModule type = module.getClass();
+for (final T module : modules) {
+final Class? extends DeploymentModule type = module.getClass();
 
-if (type == EjbModule.class) {
-getEjbModules().add((EjbModule) module);
-} else if (type == ClientModule.class) {
-getClientModules().add((ClientModule) module);
-} else if (type == ConnectorModule.class) {
-getConnectorModules().add((ConnectorModule) module);
-} else if (type == WebModule.class) {
-getWebModules().add((WebModule) module);
-} else if (type == PersistenceModule.class) {
-addPersistenceModule((PersistenceModule) module);
-} else {
-throw new IllegalArgumentException(Unknown module type:  + 
type.getName());
+if (type == EjbModule.class) {
+getEjbModules().add((EjbModule) module);
+} else if (type == ClientModule.class) {
+getClientModules().add((ClientModule) module);
+} else if (type == ConnectorModule.class) {
+getConnectorModules().add((ConnectorModule) module);
+} else if (type == WebModule.class) {
+getWebModules().add((WebModule) module);
+} else if (type == PersistenceModule.class) {
+addPersistenceModule((PersistenceModule

svn commit: r1526181 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java

2013-09-25 Thread rmannibucau
Author: rmannibucau
Date: Wed Sep 25 14:09:45 2013
New Revision: 1526181

URL: http://svn.apache.org/r1526181
Log:
forcing container loader in scheduler thread factory to avoid side effects

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java?rev=1526181r1=1526180r2=1526181view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Pool.java
 Wed Sep 25 14:09:45 2013
@@ -16,6 +16,7 @@
  */
 package org.apache.openejb.util;
 
+import org.apache.openejb.core.ParentClassLoaderFinder;
 import org.apache.openejb.monitoring.Managed;
 
 import java.lang.ref.SoftReference;
@@ -1152,16 +1153,25 @@ public class PoolT {
 
 @Override
 public Thread newThread(final Runnable r) {
-final Thread t = new Thread(group, r, 
org.apache.openejb.pool.scheduler. + count.getAndIncrement());
-if (!t.isDaemon()) {
-t.setDaemon(true);
-}
+final ClassLoader loader = 
Thread.currentThread().getContextClassLoader();
+final ClassLoader containerLoader = 
ParentClassLoaderFinder.Helper.get();
+Thread.currentThread().setContextClassLoader(containerLoader);
+try {
+final Thread t = new Thread(group, r, 
org.apache.openejb.pool.scheduler. + count.getAndIncrement());
+if (!t.isDaemon()) {
+t.setDaemon(true);
+}
 
-if (t.getPriority() != Thread.NORM_PRIORITY) {
-t.setPriority(Thread.NORM_PRIORITY);
-}
+if (t.getPriority() != Thread.NORM_PRIORITY) {
+t.setPriority(Thread.NORM_PRIORITY);
+}
+
+t.setContextClassLoader(containerLoader);
 
-return t;
+return t;
+} finally {
+Thread.currentThread().setContextClassLoader(loader);
+}
 }
 }
 }




svn commit: r1526213 - in /tomee/tomee/trunk/container/openejb-core/src: main/java/org/apache/openejb/assembler/classic/ main/java/org/apache/openejb/resource/jdbc/dbcp/ test/java/org/apache/openejb/r

2013-09-25 Thread rmannibucau
Author: rmannibucau
Date: Wed Sep 25 16:00:02 2013
New Revision: 1526213

URL: http://svn.apache.org/r1526213
Log:
completing xa test (hsqldb doesnt support it) + adding a way to get a xa 
datasource in our dbcp datasources from our resources

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/resource/jdbc/XADataSourceTest.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1526213r1=1526212r2=1526213view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 Wed Sep 25 16:00:02 2013
@@ -2071,8 +2071,12 @@ public class Assembler extends Assembler
 
 public void createResource(final ResourceInfo serviceInfo) throws 
OpenEJBException {
 final ObjectRecipe serviceRecipe = createRecipe(serviceInfo);
-serviceRecipe.setProperty(transactionManager, transactionManager);
-serviceRecipe.setProperty(ServiceId, serviceInfo.id);
+if 
(false.equalsIgnoreCase(serviceInfo.properties.getProperty(SkipImplicitAttributes,
 false))) {
+serviceRecipe.setProperty(transactionManager, 
transactionManager);
+serviceRecipe.setProperty(ServiceId, serviceInfo.id);
+}
+serviceInfo.properties.remove(SkipImplicitAttributes);
+
 serviceRecipe.setProperty(properties, new UnsetPropertiesRecipe());
 
 final Properties props = 
PropertyPlaceHolderHelper.holds(serviceInfo.properties);
@@ -2501,6 +2505,12 @@ public class Assembler extends Assembler
 private static void logUnusedProperties(final MapString, Object 
unsetProperties, final ServiceInfo info) {
 for (final String property : unsetProperties.keySet()) {
 //TODO: DMB: Make more robust later
+if (property.equalsIgnoreCase(Definition)) {
+return;
+}
+if (property.equalsIgnoreCase(SkipImplicitAttributes)) {
+return;
+}
 if (property.equalsIgnoreCase(JndiName)) {
 return;
 }

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java?rev=1526213r1=1526212r2=1526213view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java
 Wed Sep 25 16:00:02 2013
@@ -16,17 +16,25 @@
  */
 package org.apache.openejb.resource.jdbc.dbcp;
 
+import org.apache.commons.dbcp.ConnectionFactory;
+import org.apache.openejb.OpenEJB;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.resource.jdbc.BasicDataSourceUtil;
 import org.apache.openejb.resource.jdbc.IsolationLevels;
 import org.apache.openejb.resource.jdbc.cipher.PasswordCipher;
 import org.apache.openejb.resource.jdbc.plugin.DataSourcePlugin;
 
+import javax.naming.InitialContext;
 import javax.sql.DataSource;
+import javax.sql.XADataSource;
 import java.io.File;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
 import java.sql.SQLException;
 import java.sql.SQLFeatureNotSupportedException;
 import java.util.Properties;
+import java.util.concurrent.atomic.AtomicReference;
 import java.util.concurrent.locks.ReentrantLock;
 import java.util.logging.Logger;
 
@@ -51,6 +59,52 @@ public class BasicManagedDataSource exte
 registerAsMbean(name);
 }
 
+@Override
+protected ConnectionFactory createConnectionFactory() throws SQLException {
+final String xaDataSource = getXADataSource();
+if (xaDataSource != null  getXaDataSourceInstance() == null) {
+try {
+try {
+
Thread.currentThread().getContextClassLoader().loadClass(xaDataSource);
+} catch (final ClassNotFoundException cnfe) {
+setJndiXaDataSource(xaDataSource);
+} catch (final NoClassDefFoundError

svn commit: r1526225 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java

2013-09-25 Thread rmannibucau
Author: rmannibucau
Date: Wed Sep 25 16:43:41 2013
New Revision: 1526225

URL: http://svn.apache.org/r1526225
Log:
TOMEE-1048 supporting redeployment of timers

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java?rev=1526225r1=1526224r2=1526225view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
 Wed Sep 25 16:43:41 2013
@@ -500,7 +500,12 @@ public class EjbTimerServiceImpl impleme
 triggerDataMap.put(EjbTimeoutJob.TIMER_DATA, timerData);
 
 try {
-if (!scheduler.checkExists(new TriggerKey(atrigger.getName(), 
atrigger.getGroup( {
+final TriggerKey triggerKey = new TriggerKey(atrigger.getName(), 
atrigger.getGroup());
+if (!scheduler.checkExists(triggerKey)) {
+scheduler.scheduleJob(trigger);
+} else if 
(Trigger.TriggerState.PAUSED.equals(scheduler.getTriggerState(triggerKey))) { 
// redeployment
+// more consistent in the semantic than a resume but resume 
would maybe be more relevant here
+scheduler.unscheduleJob(triggerKey);
 scheduler.scheduleJob(trigger);
 }
 } catch (Exception e) {




svn commit: r1526411 - /tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java

2013-09-26 Thread rmannibucau
Author: rmannibucau
Date: Thu Sep 26 08:13:41 2013
New Revision: 1526411

URL: http://svn.apache.org/r1526411
Log:
forgot to call get so toString was used to build path

Modified:

tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java

Modified: 
tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java?rev=1526411r1=1526410r2=1526411view=diff
==
--- 
tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java
 (original)
+++ 
tomee/tomee/trunk/arquillian/ziplock/src/main/java/org/apache/ziplock/maven/Mvn.java
 Thu Sep 26 08:13:41 2013
@@ -258,7 +258,7 @@ public final class Mvn {
 
 public void update(final Archive? archive) {
 for (final Map.EntryArchivePath, Asset r : paths.entrySet()) {
-archive.add(r.getValue(), prefix + r.getKey());
+archive.add(r.getValue(), prefix + r.getKey().get());
 }
 }
 }




svn commit: r1526419 - in /tomee/tomee/trunk/container: openejb-core/src/main/java/org/apache/openejb/config/ openejb-core/src/test/java/org/apache/openejb/cdi/ openejb-core/src/test/resources/ openej

2013-09-26 Thread rmannibucau
Author: rmannibucau
Date: Thu Sep 26 08:52:45 2013
New Revision: 1526419

URL: http://svn.apache.org/r1526419
Log:
TOMEE-1050 tolerate weld/candi config in beans.xml

Added:

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/cdi/BeansXmlNamespaceTest.java

tomee/tomee/trunk/container/openejb-core/src/test/resources/beans-namespace.xml
Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java

tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JaxbJavaee.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java?rev=1526419r1=1526418r2=1526419view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ReadDescriptors.java
 Thu Sep 26 08:52:45 2013
@@ -633,6 +633,7 @@ public class ReadDescriptors implements 
 } catch (SAXException e) {
 throw new OpenEJBException(Cannot parse the beans.xml);// file: 
 + url.toExternalForm(), e);
 } catch (JAXBException e) {
+e.printStackTrace();
 throw new OpenEJBException(Cannot unmarshall the beans.xml);// 
file:  + url.toExternalForm(), e);
 } catch (IOException e) {
 throw new OpenEJBException(Cannot read the beans.xml);// file:  
+ url.toExternalForm(), e);

Added: 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/cdi/BeansXmlNamespaceTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/cdi/BeansXmlNamespaceTest.java?rev=1526419view=auto
==
--- 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/cdi/BeansXmlNamespaceTest.java
 (added)
+++ 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/cdi/BeansXmlNamespaceTest.java
 Thu Sep 26 08:52:45 2013
@@ -0,0 +1,35 @@
+/**
+ * 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.cdi;
+
+import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.config.ReadDescriptors;
+import org.apache.openejb.jee.Beans;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class BeansXmlNamespaceTest {
+@Test
+public void read() throws OpenEJBException {
+final Beans beans = 
ReadDescriptors.readBeans(getClass().getResourceAsStream(/beans-namespace.xml));
+assertEquals(1, beans.getInterceptors().size());
+assertEquals(foo, beans.getInterceptors().iterator().next());
+assertEquals(1, beans.getDecorators().size());
+assertEquals(bar, beans.getDecorators().iterator().next());
+}
+}

Added: 
tomee/tomee/trunk/container/openejb-core/src/test/resources/beans-namespace.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/resources/beans-namespace.xml?rev=1526419view=auto
==
--- 
tomee/tomee/trunk/container/openejb-core/src/test/resources/beans-namespace.xml 
(added)
+++ 
tomee/tomee/trunk/container/openejb-core/src/test/resources/beans-namespace.xml 
Thu Sep 26 08:52:45 2013
@@ -0,0 +1,45 @@
+?xml version=1.0 encoding=UTF-8?
+!--
+
+  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

svn commit: r1526948 - in /tomee/tomee/trunk/server/openejb-http/src: main/java/org/apache/openejb/server/httpd/HttpListenerRegistry.java test/java/org/apache/openejb/server/httpd/CustomHttpMethodTest

2013-09-27 Thread rmannibucau
Author: rmannibucau
Date: Fri Sep 27 15:20:07 2013
New Revision: 1526948

URL: http://svn.apache.org/r1526948
Log:
adding a test on OPTIONS request method

Added:

tomee/tomee/trunk/server/openejb-http/src/test/java/org/apache/openejb/server/httpd/CustomHttpMethodTest.java
Modified:

tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpListenerRegistry.java

Modified: 
tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpListenerRegistry.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpListenerRegistry.java?rev=1526948r1=1526947r2=1526948view=diff
==
--- 
tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpListenerRegistry.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpListenerRegistry.java
 Fri Sep 27 15:20:07 2013
@@ -31,8 +31,10 @@ public class HttpListenerRegistry implem
 private final ThreadLocalFilterListener currentFilterListener = new 
ThreadLocalFilterListener();
 
 public HttpListenerRegistry() {
+// no-op
 }
 
+@Override
 public void onMessage(HttpRequest request, HttpResponse response) throws 
Exception {
 final String path = request.getURI().getPath();
 final FilterListener currentFL = currentFilterListener.get();

Added: 
tomee/tomee/trunk/server/openejb-http/src/test/java/org/apache/openejb/server/httpd/CustomHttpMethodTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-http/src/test/java/org/apache/openejb/server/httpd/CustomHttpMethodTest.java?rev=1526948view=auto
==
--- 
tomee/tomee/trunk/server/openejb-http/src/test/java/org/apache/openejb/server/httpd/CustomHttpMethodTest.java
 (added)
+++ 
tomee/tomee/trunk/server/openejb-http/src/test/java/org/apache/openejb/server/httpd/CustomHttpMethodTest.java
 Fri Sep 27 15:20:07 2013
@@ -0,0 +1,79 @@
+/**
+ * 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.httpd;
+
+import org.apache.openejb.jee.EjbJar;
+import org.apache.openejb.junit.ApplicationComposer;
+import org.apache.openejb.loader.IO;
+import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.testing.Configuration;
+import org.apache.openejb.testing.EnableServices;
+import org.apache.openejb.testing.Module;
+import org.apache.openejb.testng.PropertiesBuilder;
+import org.apache.openejb.util.NetworkUtil;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.Properties;
+import java.util.concurrent.atomic.AtomicReference;
+
+import static org.junit.Assert.assertEquals;
+
+@EnableServices({ httpejbd })
+@RunWith(ApplicationComposer.class)
+public class CustomHttpMethodTest {
+private int nextAvailablePort = -1;
+
+@Test
+public void custom() throws URISyntaxException, IOException {
+final AtomicReferenceString method = new AtomicReferenceString();
+final HttpListenerRegistry registry = 
SystemInstance.get().getComponent(HttpListenerRegistry.class);
+registry.addHttpListener(new HttpListener() {
+@Override
+public void onMessage(final HttpRequest request, final 
HttpResponse response) throws Exception {
+method.set(request.getMethod());
+}
+}, /custom);
+try {
+final URL url = new URL(http://localhost:; + nextAvailablePort + 
/custom);
+final HttpURLConnection connection = 
HttpURLConnection.class.cast(url.openConnection());
+connection.setRequestMethod(OPTIONS);
+final InputStream inputStream = connection.getInputStream();
+IO.slurp(inputStream);
+assertEquals(OPTIONS, method.get());
+inputStream.close();
+} finally {
+registry.removeHttpListener

svn commit: r1527471 - in /tomee/tomee/trunk: arquillian/arquillian-tomee-common/ arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ arquillian/arquillian-tomee-emb

2013-09-30 Thread rmannibucau
Author: rmannibucau
Date: Mon Sep 30 07:44:54 2013
New Revision: 1527471

URL: http://svn.apache.org/r1527471
Log:
TOMEE-1051 using a filter for arquillian to avoid issues when mapping an app 
filter to /*

Added:

tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianFilterRunner.java

tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/filter/

tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/filter/AllFilterTest.java

tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/filter/MyFilter.java
Modified:
tomee/tomee/trunk/arquillian/arquillian-tomee-common/pom.xml

tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java

tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java

tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java

tomee/tomee/trunk/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java

Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-common/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-common/pom.xml?rev=1527471r1=1527470r2=1527471view=diff
==
--- tomee/tomee/trunk/arquillian/arquillian-tomee-common/pom.xml (original)
+++ tomee/tomee/trunk/arquillian/arquillian-tomee-common/pom.xml Mon Sep 30 
07:44:54 2013
@@ -31,6 +31,12 @@
 
   dependencies
 dependency
+  groupIdorg.apache.geronimo.specs/groupId
+  artifactIdgeronimo-servlet_2.5_spec/artifactId
+  version1.2/version
+  scopetest/scope
+/dependency
+dependency
   groupIdorg.apache.openejb/groupId
   artifactIdarquillian-common/artifactId
   version${project.version}/version

Added: 
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianFilterRunner.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianFilterRunner.java?rev=1527471view=auto
==
--- 
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianFilterRunner.java
 (added)
+++ 
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ArquillianFilterRunner.java
 Mon Sep 30 07:44:54 2013
@@ -0,0 +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.arquillian.common;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServlet;
+import java.io.IOException;
+
+// this filter simply allows us to invoke arquillian servlet directly
+// instead of needing to pass through the servlet filters
+//
+// it allows us to work out of the box with framework using a dispatcher 
(filter) on /*
+// it is commonn with tapestry, spring, wicket, 
+//
+// We can't rely on scanning (@WebFilter) since we can't enrich the app 
because we need it for client tests too and
+// we need it to be added first
+//
+// @WebFilter(urlPatterns = /ArquillianServletRunner, filterName = 
org.apache.openejb.arquillian.common.ArquillianFilterRunner)
+public class ArquillianFilterRunner

svn commit: r1527478 - /tomee/site/trunk/content/tomee-maven-plugin.mdtext

2013-09-30 Thread rmannibucau
Author: rmannibucau
Date: Mon Sep 30 08:06:11 2013
New Revision: 1527478

URL: http://svn.apache.org/r1527478
Log:
adding a note on quit command in tomee mvn plugin

Modified:
tomee/site/trunk/content/tomee-maven-plugin.mdtext

Modified: tomee/site/trunk/content/tomee-maven-plugin.mdtext
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/tomee-maven-plugin.mdtext?rev=1527478r1=1527477r2=1527478view=diff
==
--- tomee/site/trunk/content/tomee-maven-plugin.mdtext (original)
+++ tomee/site/trunk/content/tomee-maven-plugin.mdtext Mon Sep 30 08:06:11 2013
@@ -40,6 +40,9 @@ Should print output like the following:
 
 Note that for the tomee:deploy and tomee:undeploy goals, the path can either 
be specified within the configuration/ section of the `pom.xml` using the 
path parameter, or it can be passed via the user property 
tomee-plugin.archive. If a relative path is passed for the deploy path archive, 
this must be relative to the TomEE server.
 
+Note 2: running tomee maven plugin you can type 'quit' directly in the console 
to shutdown correctly the
+server. 'reload' is also available when internal openejb application is 
deployed.
+
 Available configuration elements:
 
 div class=sectionh3Optional Parametersa 
name=Optional_Parameters/a/h3




svn commit: r1527481 - /tomee/tomee/trunk/tomee/tomee-static-content/pom.xml

2013-09-30 Thread rmannibucau
Author: rmannibucau
Date: Mon Sep 30 08:13:10 2013
New Revision: 1527481

URL: http://svn.apache.org/r1527481
Log:
adding parent to tomee-static-content to be able to deploy

Modified:
tomee/tomee/trunk/tomee/tomee-static-content/pom.xml

Modified: tomee/tomee/trunk/tomee/tomee-static-content/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-static-content/pom.xml?rev=1527481r1=1527480r2=1527481view=diff
==
--- tomee/tomee/trunk/tomee/tomee-static-content/pom.xml (original)
+++ tomee/tomee/trunk/tomee/tomee-static-content/pom.xml Mon Sep 30 08:13:10 
2013
@@ -14,6 +14,11 @@
 --
 project xmlns=http://maven.apache.org/POM/4.0.0; 
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
  xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd;
+  parent
+artifactIdtomee/artifactId
+groupIdorg.apache.openejb/groupId
+version1.6.0-SNAPSHOT/version
+  /parent
   modelVersion4.0.0/modelVersion
   groupIdorg.apache.openejb.staticweb/groupId
   artifactIdtomee-static-content/artifactId




svn commit: r1528315 - in /tomee/tomee/trunk/server/openejb-cxf-rs/src: main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java test/java/org/apache/openejb/server/cxf/rs/RsJMXTest.java

2013-10-02 Thread rmannibucau
Author: rmannibucau
Date: Wed Oct  2 06:34:37 2013
New Revision: 1528315

URL: http://svn.apache.org/r1528315
Log:
adding a test on jaxrs jmx mbeans

Added:

tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/RsJMXTest.java
Modified:

tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java

Modified: 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java?rev=1528315r1=1528314r2=1528315view=diff
==
--- 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
 Wed Oct  2 06:34:37 2013
@@ -28,7 +28,6 @@ import org.apache.cxf.jaxrs.model.Method
 import org.apache.cxf.jaxrs.model.OperationResourceInfo;
 import org.apache.cxf.jaxrs.provider.JAXBElementProvider;
 import org.apache.cxf.jaxrs.provider.json.JSONProvider;
-import org.apache.cxf.jaxrs.utils.ResourceUtils;
 import org.apache.cxf.service.invoker.Invoker;
 import org.apache.cxf.transport.http.AbstractHTTPDestination;
 import org.apache.cxf.transport.http.HTTPTransportFactory;
@@ -449,13 +448,15 @@ public class CxfRsHttpListener implement
 
 Collections.sort(resourcesToLog);
 
-for (Logs.LogResourceEndpointInfo resource : resourcesToLog) {
+for (final Logs.LogResourceEndpointInfo resource : resourcesToLog) {
 
 // Init and register MBeans
 final ObjectNameBuilder jmxName = new 
ObjectNameBuilder(openejb.management)
+.set(j2eeType, JAX-RS)
 .set(J2EEServer, openejb)
-.set(name, resource.classname)
-.set(j2eeType, REST- + resource.type);
+.set(J2EEApplication, base)
+.set(EndpointType, resource.type)
+.set(name, resource.classname);
 
 ObjectName jmxObjectName = jmxName.build();
 LocalMBeanServer.registerDynamicWrapperSilently(
@@ -463,7 +464,6 @@ public class CxfRsHttpListener implement
 jmxObjectName);
 
 jmxNames.add(jmxObjectName);
-//
 
 LOGGER.info( Service URI: 
 + Logs.forceLength(resource.address, addressSize, true) + 
 - 
@@ -533,9 +533,7 @@ public class CxfRsHttpListener implement
 {
 final String provider = 
serviceConfiguration.getProperties().getProperty(PROVIDERS_KEY);
 if (provider != null) {
-if (providersConfig == null) {
-providersConfig = new HashSetString();
-}
+providersConfig = new HashSetString();
 providersConfig.addAll(Arrays.asList(provider.split(,)));
 }
 
@@ -638,20 +636,15 @@ public class CxfRsHttpListener implement
 this.address = jmxName.address;
 this.classname = jmxName.classname;
 
-final String[] names = new String[operations.size()];
-final String[] values = new String[operations.size()];
+final String[] names = new String[jmxName.operations.size()];
+final String[] values = new String[jmxName.operations.size()];
 int idx = 0;
-for (Logs.LogOperationEndpointInfo operation : jmxName.operations) 
{
-names[idx] = Logs.forceLength(operation.http, 
jmxName.methodSize, false) +  
-+ Logs.forceLength(operation.address, 
operation.address.length(), true);
-values[idx] = Logs.forceLength(operation.method, 
jmxName.methodStrSize, true);
+for (final Logs.LogOperationEndpointInfo operation : 
jmxName.operations) {
+names[idx] = operation.http +   + operation.address;
+values[idx] = operation.method;
 idx++;
 }
-LocalMBeanServer.tabularData(
-Operations,
-Operations for this endpoint,
-names, values
-);
+operations = LocalMBeanServer.tabularData(Operations, 
Operations for this endpoint, names, values);
 }
 
 @ManagedAttribute

Added: 
tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/RsJMXTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/RsJMXTest.java?rev=1528315view=auto
==
--- 
tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb

svn commit: r1528361 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core: ./ cmp/ entity/ mdb/ singleton/ stateful/ stateless/ timer/

2013-10-02 Thread rmannibucau
Author: rmannibucau
Date: Wed Oct  2 08:26:36 2013
New Revision: 1528361

URL: http://svn.apache.org/r1528361
Log:
starting @Scedule in BeanContext.start + ensuring it can be eagerly started if 
used in @PostContruct

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/BaseContext.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/CmpContainer.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/entity/EntityContainer.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/mdb/MdbContainer.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonContainer.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessContainer.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerService.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/MemoryTimerStore.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/NullEjbTimerServiceImpl.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/TimerServiceWrapper.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/BaseContext.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/BaseContext.java?rev=1528361r1=1528360r2=1528361view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/BaseContext.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/BaseContext.java
 Wed Oct  2 08:26:36 2013
@@ -17,6 +17,7 @@
 package org.apache.openejb.core;
 
 import org.apache.openejb.BeanContext;
+import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.core.ivm.IntraVmArtifact;
 import org.apache.openejb.core.timer.EjbTimerService;
 import org.apache.openejb.core.timer.TimerServiceImpl;
@@ -178,12 +179,20 @@ public abstract class BaseContext implem
 public TimerService getTimerService() throws IllegalStateException {
 check(Call.getTimerService);
 
-ThreadContext threadContext = ThreadContext.getThreadContext();
-BeanContext beanContext = threadContext.getBeanContext();
-EjbTimerService timerService = beanContext.getEjbTimerService();
+final ThreadContext threadContext = ThreadContext.getThreadContext();
+final BeanContext beanContext = threadContext.getBeanContext();
+final EjbTimerService timerService = beanContext.getEjbTimerService();
 if (timerService == null) {
 throw new IllegalStateException(This ejb does not support timers 
 + beanContext.getDeploymentID());
 }
+
+if (!timerService.isStarted()) {
+try {
+timerService.start();
+} catch (final OpenEJBException e) {
+throw new IllegalStateException(e);
+}
+}
 return new TimerServiceImpl(timerService, 
threadContext.getPrimaryKey(), beanContext.getEjbTimeout());
 }
 

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/CmpContainer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/CmpContainer.java?rev=1528361r1=1528360r2=1528361view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/CmpContainer.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/CmpContainer.java
 Wed Oct  2 08:26:36 2013
@@ -16,19 +16,26 @@
  */
 package org.apache.openejb.core.cmp;
 
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.rmi.NoSuchObjectException;
-import java.rmi.RemoteException;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.ArrayList;
-import java.util.LinkedHashSet;
-import java.util.Set;
+import org.apache.openejb.ApplicationException;
+import org.apache.openejb.BeanContext;
+import org.apache.openejb.ContainerType;
+import org.apache.openejb.InterfaceType;
+import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.ProxyInfo;
+import

svn commit: r1528729 - in /tomee/tomee/trunk/server: openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/ openejb-cxf/src/main/java/org

2013-10-03 Thread rmannibucau
Author: rmannibucau
Date: Thu Oct  3 06:31:05 2013
New Revision: 1528729

URL: http://svn.apache.org/r1528729
Log:
adding wsdl and slurp wsdl in cxf jaxws mbeans

Modified:

tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfService.java

tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java

tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java

tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoWsContainer.java

tomee/tomee/trunk/server/openejb-cxf/src/test/java/org/apache/openejb/server/cxf/WsJMXTest.java

tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java

Modified: 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfService.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfService.java?rev=1528729r1=1528728r2=1528729view=diff
==
--- 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfService.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfService.java
 Thu Oct  3 06:31:05 2013
@@ -49,6 +49,13 @@ public class CxfService extends WsServic
 SaajInterceptor.registerInterceptors();
 }
 
+@Override
+protected void setWsdl(final HttpListener listener, final String wsdl) {
+if (CxfWsContainer.class.isInstance(listener)) {
+CxfWsContainer.class.cast(listener).setWsldUrl(wsdl);
+}
+}
+
 protected HttpListener createEjbWsContainer(URL moduleBaseUrl, PortData 
port, BeanContext beanContext, ServiceConfiguration config) {
 final Bus bus = CxfUtil.getBus();
 

Modified: 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java?rev=1528729r1=1528728r2=1528729view=diff
==
--- 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java
 Thu Oct  3 06:31:05 2013
@@ -20,13 +20,9 @@ package org.apache.openejb.server.cxf;
 import org.apache.cxf.Bus;
 import org.apache.cxf.transport.http.AbstractHTTPDestination;
 import org.apache.cxf.transport.http.HTTPTransportFactory;
-import org.apache.openejb.api.internal.Internal;
-import org.apache.openejb.api.jmx.Description;
-import org.apache.openejb.api.jmx.MBean;
 import org.apache.openejb.assembler.classic.util.ServiceConfiguration;
 import org.apache.openejb.core.webservices.PortData;
 import org.apache.openejb.monitoring.LocalMBeanServer;
-import org.apache.openejb.monitoring.ObjectNameBuilder;
 import org.apache.openejb.server.cxf.transport.HttpTransportFactory;
 import org.apache.openejb.server.cxf.transport.util.CxfUtil;
 import org.apache.openejb.server.httpd.HttpListener;
@@ -34,7 +30,6 @@ import org.apache.openejb.server.httpd.H
 import org.apache.openejb.server.httpd.HttpResponse;
 
 import javax.management.ObjectName;
-import javax.management.openmbean.TabularData;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -47,7 +42,6 @@ public abstract class CxfWsContainer imp
 protected final ServiceConfiguration serviceConfiguration;
 private ObjectName jmxName;
 
-
 public CxfWsContainer(final Bus bus, final PortData port, final 
ServiceConfiguration config) {
 this.bus = bus;
 this.port = port;
@@ -72,6 +66,8 @@ public abstract class CxfWsContainer imp
 protected abstract CxfEndpoint createEndpoint();
 protected abstract ObjectName registerMBean();
 
+protected abstract void setWsldUrl(String wsdl);
+
 public void destroy() {
 unregisterMBean();
 

Modified: 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java?rev=1528729r1=1528728r2=1528729view=diff
==
--- 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java
 Thu Oct  3 06:31:05 2013
@@ -28,17 +28,21 @@ import org.apache.openejb.assembler.clas
 import org.apache.openejb.core.webservices.HandlerChainData;
 import

svn commit: r1528735 - in /tomee/tomee/trunk/server/openejb-cxf-rs/src: main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java test/java/org/apache/openejb/server/cxf/rs/RsJMXTest.java

2013-10-03 Thread rmannibucau
Author: rmannibucau
Date: Thu Oct  3 07:18:46 2013
New Revision: 1528735

URL: http://svn.apache.org/r1528735
Log:
adding getWadl in cxf-rs mbeans

Modified:

tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java

tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/RsJMXTest.java

Modified: 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java?rev=1528735r1=1528734r2=1528735view=diff
==
--- 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
 Thu Oct  3 07:18:46 2013
@@ -20,12 +20,15 @@ import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
 import org.apache.cxf.jaxrs.JAXRSServiceImpl;
+import org.apache.cxf.jaxrs.ext.RequestHandler;
 import org.apache.cxf.jaxrs.ext.ResourceComparator;
 import org.apache.cxf.jaxrs.lifecycle.ResourceProvider;
 import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider;
 import org.apache.cxf.jaxrs.model.ClassResourceInfo;
 import org.apache.cxf.jaxrs.model.MethodDispatcher;
 import org.apache.cxf.jaxrs.model.OperationResourceInfo;
+import org.apache.cxf.jaxrs.model.ProviderInfo;
+import org.apache.cxf.jaxrs.model.wadl.WadlGenerator;
 import org.apache.cxf.jaxrs.provider.JAXBElementProvider;
 import org.apache.cxf.jaxrs.provider.json.JSONProvider;
 import org.apache.cxf.service.invoker.Invoker;
@@ -38,9 +41,11 @@ import org.apache.openejb.api.internal.I
 import org.apache.openejb.api.jmx.Description;
 import org.apache.openejb.api.jmx.MBean;
 import org.apache.openejb.api.jmx.ManagedAttribute;
+import org.apache.openejb.api.jmx.ManagedOperation;
 import org.apache.openejb.assembler.classic.ServiceInfo;
 import org.apache.openejb.assembler.classic.util.ServiceConfiguration;
 import org.apache.openejb.assembler.classic.util.ServiceInfos;
+import org.apache.openejb.loader.IO;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.monitoring.LocalMBeanServer;
 import org.apache.openejb.monitoring.ObjectNameBuilder;
@@ -70,6 +75,8 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.lang.annotation.Annotation;
 import java.lang.reflect.Constructor;
+import java.net.HttpURLConnection;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -114,6 +121,16 @@ public class CxfRsHttpListener implement
 STATIC_CONTENT_TYPES.put(ico, image/ico);
 STATIC_CONTENT_TYPES.put(pdf, application/pdf);
 STATIC_CONTENT_TYPES.put(xsd, application/xml);
+
+// bug in CXF? it prevents to get the wadl as json otherwise
+if 
(true.equalsIgnoreCase(SystemInstance.get().getProperty(openejb.cxf-rs.wadl-generator.ignoreMessageWriters,
 true))) {
+for (final ProviderInfoRequestHandler rh : 
org.apache.cxf.jaxrs.provider.ProviderFactory.getSharedInstance().getRequestHandlers())
 {
+final RequestHandler provider = rh.getProvider();
+if (WadlGenerator.class.isInstance(provider)) {
+
WadlGenerator.class.cast(provider).setIgnoreMessageWriters(false);
+}
+}
+}
 }
 
 public CxfRsHttpListener(final HTTPTransportFactory httpTransportFactory, 
final String star) {
@@ -648,6 +665,41 @@ public class CxfRsHttpListener implement
 
 @ManagedAttribute
 @Description(The type of the REST service)
+public String getWadlUrl() {
+if (address.endsWith(?_wadl)) {
+return address;
+}
+return address + ?_wadl;
+}
+
+@ManagedOperation
+@Description(The type of the REST service)
+public String getWadl(final String format) {
+if (format != null  format.toLowerCase().contains(json)) {
+InputStream inputStream = null;
+try {
+final URL url = new URL(getWadlUrl() + _type=json);
+final HttpURLConnection connection = 
HttpURLConnection.class.cast(url.openConnection());
+connection.setRequestProperty(Accept, 
application/json);
+connection.setRequestProperty(Content-type, 
application/json);
+inputStream = connection.getInputStream();
+return IO.slurp(inputStream);
+} catch (final Exception e) {
+return e.getMessage();
+} finally

svn commit: r1528748 - /tomee/tomee/trunk/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java

2013-10-03 Thread rmannibucau
Author: rmannibucau
Date: Thu Oct  3 08:47:17 2013
New Revision: 1528748

URL: http://svn.apache.org/r1528748
Log:
adding some logs in tomee webapp adapter to see if the failling test on 
buildbot is due to buildbot envrt or a bug

Modified:

tomee/tomee/trunk/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java

Modified: 
tomee/tomee/trunk/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java?rev=1528748r1=1528747r2=1528748view=diff
==
--- 
tomee/tomee/trunk/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java
 (original)
+++ 
tomee/tomee/trunk/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java
 Thu Oct  3 08:47:17 2013
@@ -99,9 +99,9 @@ public class TomEEWebappContainer extend
 System.setProperty(catalina.home, 
openejbHome.getAbsolutePath());
 System.setProperty(catalina.base, 
openejbHome.getAbsolutePath());
 
-System.setProperty(openejb.deploymentId.format, 
{appId}/{ejbJarId}/{ejbName});
+System.setProperty(openejb.deploymentId.format, 
System.getProperty(openejb.deploymentId.format, 
{appId}/{ejbJarId}/{ejbName}));
 
-Paths paths = new Paths(webapp);
+final Paths paths = new Paths(webapp);
 installer = new Installer(paths, true);
 if (!configuration.isUseInstallerServlet()) {
 installer.installAll();
@@ -141,22 +141,32 @@ public class TomEEWebappContainer extend
 if (!wereOpenejbHomeSet  configuration.isUseInstallerServlet()) {
 // instead of calling the Installer, let's just do like users 
do
 // call the servlet installer instead
-String baseUrl = http://; + configuration.getHost() + : + 
configuration.getHttpPort() + /tomee/installer;
+final String baseUrl = http://; + configuration.getHost() + 
: + configuration.getHttpPort() + /tomee/installer;
 
 assert installer != null;
 installer.addTomEEAdminConfInTomcatUsers(true);
 
-RemoteServer tmpContainer = new RemoteServer();
+final RemoteServer tmpContainer = new RemoteServer();
 tmpContainer.start();
 
-URL url = new URL(baseUrl);
-URLConnection uc = url.openConnection();
-// dG9tZWU6dG9tZWU= -- Base64 of tomee:tomee
-String authorizationString = Basic dG9tZWU6dG9tZWU=;
-uc.setRequestProperty (Authorization, authorizationString);
-InputStream is = uc.getInputStream();
-org.apache.openejb.loader.IO.slurp(is);
-is.close();
+final URL url = new URL(baseUrl);
+logger.info(Calling TomEE Installer Servlet on  + url);
+
+for (int i = 0; i  3; i++) {
+final URLConnection uc = url.openConnection();
+// dG9tZWU6dG9tZWU= -- Base64 of tomee:tomee
+final String authorizationString = Basic 
dG9tZWU6dG9tZWU=;
+uc.setRequestProperty (Authorization, 
authorizationString);
+try {
+final InputStream is = uc.getInputStream();
+org.apache.openejb.loader.IO.slurp(is);
+is.close();
+break;
+} catch (final Exception e) {
+logger.warning(e.getMessage());
+Thread.sleep(1000);
+}
+}
 
 tmpContainer.stop();
 tmpContainer.getServer().waitFor();
@@ -164,6 +174,7 @@ public class TomEEWebappContainer extend
 
 container = new RemoteServer();
 
container.start(Arrays.asList(-Dorg.apache.openejb.servlet.filters= + 
ArquillianFilterRunner.class.getName() + = + 
ServletMethodExecutor.ARQUILLIAN_SERVLET_MAPPING), start, true);
+container.killOnExit();
 } catch (Exception e) {
 throw new LifecycleException(Unable to start remote container, 
e);
 }




svn commit: r1528814 - /tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java

2013-10-03 Thread rmannibucau
Author: rmannibucau
Date: Thu Oct  3 11:36:24 2013
New Revision: 1528814

URL: http://svn.apache.org/r1528814
Log:
no more need of this hack by default since it will be addressed in cxf

Modified:

tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java

Modified: 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java?rev=1528814r1=1528813r2=1528814view=diff
==
--- 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
 Thu Oct  3 11:36:24 2013
@@ -122,8 +122,8 @@ public class CxfRsHttpListener implement
 STATIC_CONTENT_TYPES.put(pdf, application/pdf);
 STATIC_CONTENT_TYPES.put(xsd, application/xml);
 
-// bug in CXF? it prevents to get the wadl as json otherwise
-if 
(true.equalsIgnoreCase(SystemInstance.get().getProperty(openejb.cxf-rs.wadl-generator.ignoreMessageWriters,
 true))) {
+// CXF-5319: bug in CXF? it prevents to get the wadl as json otherwise
+if 
(true.equalsIgnoreCase(SystemInstance.get().getProperty(openejb.cxf-rs.wadl-generator.ignoreMessageWriters,
 false))) {
 for (final ProviderInfoRequestHandler rh : 
org.apache.cxf.jaxrs.provider.ProviderFactory.getSharedInstance().getRequestHandlers())
 {
 final RequestHandler provider = rh.getProvider();
 if (WadlGenerator.class.isInstance(provider)) {




svn commit: r1530319 - in /tomee/tomee/trunk: arquillian/arquillian-tomee-remote/ arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/ container/openejb-core/src

2013-10-08 Thread rmannibucau
Author: rmannibucau
Date: Tue Oct  8 15:54:55 2013
New Revision: 1530319

URL: http://svn.apache.org/r1530319
Log:
TOMEE-1053 @HandlesTypes support

Added:

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/API.java

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/HandleTypesTest.java

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/Impl.java

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/Init.java
Modified:
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/pom.xml

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/FinderFactory.java

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java

tomee/tomee/trunk/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/EmbeddedJarScanner.java

Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-remote/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-remote/pom.xml?rev=1530319r1=1530318r2=1530319view=diff
==
--- tomee/tomee/trunk/arquillian/arquillian-tomee-remote/pom.xml (original)
+++ tomee/tomee/trunk/arquillian/arquillian-tomee-remote/pom.xml Tue Oct  8 
15:54:55 2013
@@ -104,6 +104,25 @@
 /dependency
 
 dependency
+  groupIdorg.apache.openejb/groupId
+  artifactIdtomee-loader/artifactId
+  version1.6.0-SNAPSHOT/version
+  scopetest/scope
+/dependency
+dependency
+  groupIdorg.apache.openejb/groupId
+  artifactIdtomee-catalina/artifactId
+  version1.6.0-SNAPSHOT/version
+  scopetest/scope
+/dependency
+dependency
+  groupIdorg.apache.xbean/groupId
+  artifactIdxbean-finder-shaded/artifactId
+  version3.14/version
+  scopeprovided/scope
+/dependency
+
+dependency
   groupIdorg.apache.geronimo.specs/groupId
   artifactIdgeronimo-j2ee-deployment_1.1_spec/artifactId
   version1.1/version

Added: 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/API.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/API.java?rev=1530319view=auto
==
--- 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/API.java
 (added)
+++ 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/API.java
 Tue Oct  8 15:54:55 2013
@@ -0,0 +1,20 @@
+/**
+ * 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.arquillian.handletypes;
+
+public interface API {
+}

Added: 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/HandleTypesTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/HandleTypesTest.java?rev=1530319view=auto
==
--- 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/HandleTypesTest.java
 (added)
+++ 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/HandleTypesTest.java
 Tue Oct  8 15:54:55 2013
@@ -0,0 +1,53 @@
+/**
+ * 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

svn commit: r1530323 - /tomee/tomee/trunk/arquillian/arquillian-tomee-remote/pom.xml

2013-10-08 Thread rmannibucau
Author: rmannibucau
Date: Tue Oct  8 16:00:55 2013
New Revision: 1530323

URL: http://svn.apache.org/r1530323
Log:
removing debug deps

Modified:
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/pom.xml

Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-remote/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-remote/pom.xml?rev=1530323r1=1530322r2=1530323view=diff
==
--- tomee/tomee/trunk/arquillian/arquillian-tomee-remote/pom.xml (original)
+++ tomee/tomee/trunk/arquillian/arquillian-tomee-remote/pom.xml Tue Oct  8 
16:00:55 2013
@@ -104,25 +104,6 @@
 /dependency
 
 dependency
-  groupIdorg.apache.openejb/groupId
-  artifactIdtomee-loader/artifactId
-  version1.6.0-SNAPSHOT/version
-  scopetest/scope
-/dependency
-dependency
-  groupIdorg.apache.openejb/groupId
-  artifactIdtomee-catalina/artifactId
-  version1.6.0-SNAPSHOT/version
-  scopetest/scope
-/dependency
-dependency
-  groupIdorg.apache.xbean/groupId
-  artifactIdxbean-finder-shaded/artifactId
-  version3.14/version
-  scopeprovided/scope
-/dependency
-
-dependency
   groupIdorg.apache.geronimo.specs/groupId
   artifactIdgeronimo-j2ee-deployment_1.1_spec/artifactId
   version1.1/version




svn commit: r1530524 - in /tomee/tomee/trunk: arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/ container/openejb-core/src/main/java/org/apache/openejb/config

2013-10-09 Thread rmannibucau
Author: rmannibucau
Date: Wed Oct  9 08:26:53 2013
New Revision: 1530524

URL: http://svn.apache.org/r1530524
Log:
TOMEE-1053 @HandlesTypes support - linking lazily = only when inheritance is 
used in @HandlesTypes + printing a message saying it will be 'slow'

Added:

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/AnotherChild.java

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/Decorated.java

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/Decoration.java
  - copied, changed from r1530497, 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/API.java

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/HandleTypesAnnotationOnlyTest.java

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/HandleTypesInterfaceOnlyTest.java
  - copied, changed from r1530497, 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/HandleTypesTest.java

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/InitAnnotationOnly.java
  - copied, changed from r1530497, 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/Init.java

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/InitInterfaceOnly.java
Modified:

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/HandleTypesTest.java

tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/Init.java

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/FinderFactory.java

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java

Added: 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/AnotherChild.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/AnotherChild.java?rev=1530524view=auto
==
--- 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/AnotherChild.java
 (added)
+++ 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/AnotherChild.java
 Wed Oct  9 08:26:53 2013
@@ -0,0 +1,20 @@
+/**
+ * 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.arquillian.handletypes;
+
+public class AnotherChild implements API {
+}

Added: 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/Decorated.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/Decorated.java?rev=1530524view=auto
==
--- 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/Decorated.java
 (added)
+++ 
tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/handletypes/Decorated.java
 Wed Oct  9 08:26:53 2013
@@ -0,0 +1,21 @@
+/**
+ * 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

svn commit: r1530527 - /tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java

2013-10-09 Thread rmannibucau
Author: rmannibucau
Date: Wed Oct  9 08:37:43 2013
New Revision: 1530527

URL: http://svn.apache.org/r1530527
Log:
TOMEE-1053 @HandlesTypes support - no more linking but 
enableFindImplementations/enableFindSubclasses

Modified:

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java

Modified: 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java?rev=1530527r1=1530526r2=1530527view=diff
==
--- 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 Wed Oct  9 08:37:43 2013
@@ -416,11 +416,8 @@ public class OpenEJBContextConfig extend
 
 if (typeInitializerMap.size()  0  finder != null) {
 final ClassLoader loader = 
context.getLoader().getClassLoader();
-if (handlesTypesNonAnnotations) {
-if (AnnotationFinder.class.isInstance(finder)) {
-AnnotationFinder.class.cast(finder).link();
-}
-}
+boolean foundSubClasses = false;
+boolean foundImplementations = false;
 
 for (final Map.EntryClass?, 
SetServletContainerInitializer entry : typeInitializerMap.entrySet()) {
 final Class? annotation = entry.getKey();
@@ -435,6 +432,19 @@ public class OpenEJBContextConfig extend
 } else {
 try { // we need to load the class 
(entry.getKey()) with the finder classloader = tempClassLoader otherwise 
isAssignable is false in almost all cases
 logger.info(Using @HandlesTypes on a parent 
class (and not an annotation) is a performance killer. See  + 
annotation.getName() +  on  + sci.getClass().getName());
+if (AnnotationFinder.class.isInstance(finder)) 
{
+if (annotation.isInterface()) {
+if (!foundImplementations) {
+
AnnotationFinder.class.cast(finder).enableFindImplementations();
+foundImplementations = true;
+}
+} else {
+if (!foundSubClasses) {
+
AnnotationFinder.class.cast(finder).enableFindSubclasses();
+foundSubClasses = true;
+}
+}
+}
 
 final Class? reloadedClass = 
tempLoader.loadClass(annotation.getName());
 final ListClass? implementations = 
List.class.cast(finder.findImplementations(reloadedClass));




svn commit: r1530530 - /tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java

2013-10-09 Thread rmannibucau
Author: rmannibucau
Date: Wed Oct  9 08:43:33 2013
New Revision: 1530530

URL: http://svn.apache.org/r1530530
Log:
TOMEE-1053 @HandlesTypes support - better cleanup

Modified:

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java

Modified: 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java?rev=1530530r1=1530529r2=1530530view=diff
==
--- 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 Wed Oct  9 08:43:33 2013
@@ -455,11 +455,11 @@ public class OpenEJBContextConfig extend
 }
 }
 }
-
-// done
-finder = null;
-tempLoader = null;
 }
+
+// done
+finder = null;
+tempLoader = null;
 } catch (RuntimeException e) { // if exception occurs we have to clear 
the threadlocal
 webInfClassesAnnotationsProcessed = false;
 throw e;




svn commit: r1530618 - in /tomee/tomee/trunk/examples/deltaspike-configproperty: ./ src/main/java/org/superbiz/deltaspike/config/

2013-10-09 Thread rmannibucau
Author: rmannibucau
Date: Wed Oct  9 14:15:51 2013
New Revision: 1530618

URL: http://svn.apache.org/r1530618
Log:
DS 0.5 on deltaspike-configproperty

Modified:
tomee/tomee/trunk/examples/deltaspike-configproperty/pom.xml

tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/Counter.java

tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/MyConfigSource.java

tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/MyConfigSourceProvider.java

Modified: tomee/tomee/trunk/examples/deltaspike-configproperty/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/deltaspike-configproperty/pom.xml?rev=1530618r1=1530617r2=1530618view=diff
==
--- tomee/tomee/trunk/examples/deltaspike-configproperty/pom.xml (original)
+++ tomee/tomee/trunk/examples/deltaspike-configproperty/pom.xml Wed Oct  9 
14:15:51 2013
@@ -32,7 +32,7 @@
 plugins
   plugin
 groupIdorg.apache.maven.plugins/groupId
-artifactIdmaven-compiler-plugin/artifactId
+artifactIdmaven-compiler-plugin/artifactId
 version3.0/version
 configuration
   source1.6/source
@@ -58,12 +58,12 @@
 dependency
   groupIdorg.apache.deltaspike.core/groupId
   artifactIddeltaspike-core-impl/artifactId
-  version0.2-incubating/version
+  version0.5/version
 /dependency
 dependency
   groupIdorg.apache.deltaspike.core/groupId
   artifactIddeltaspike-core-api/artifactId
-  version0.2-incubating/version
+  version0.5/version
 /dependency
 dependency
   groupIdjunit/groupId

Modified: 
tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/Counter.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/Counter.java?rev=1530618r1=1530617r2=1530618view=diff
==
--- 
tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/Counter.java
 (original)
+++ 
tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/Counter.java
 Wed Oct  9 14:15:51 2013
@@ -16,7 +16,7 @@
  */
 package org.superbiz.deltaspike.config;
 
-import org.apache.deltaspike.core.api.config.annotation.ConfigProperty;
+import org.apache.deltaspike.core.api.config.ConfigProperty;
 
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Inject;

Modified: 
tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/MyConfigSource.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/MyConfigSource.java?rev=1530618r1=1530617r2=1530618view=diff
==
--- 
tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/MyConfigSource.java
 (original)
+++ 
tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/MyConfigSource.java
 Wed Oct  9 14:15:51 2013
@@ -21,6 +21,7 @@ import org.apache.deltaspike.core.util.P
 
 import java.io.IOException;
 import java.net.URL;
+import java.util.Collections;
 import java.util.Enumeration;
 import java.util.Map;
 import java.util.Properties;
@@ -57,6 +58,11 @@ public class MyConfigSource extends Base
 }
 
 @Override
+public MapString, String getProperties() {
+return Collections.emptyMap(); // not scannable
+}
+
+@Override
 public String getPropertyValue(String key) {
 return properties.getProperty(key);
 }
@@ -65,4 +71,9 @@ public class MyConfigSource extends Base
 public String getConfigName() {
 return MY_CONF_FILE_NAME;
 }
+
+@Override
+public boolean isScannable() {
+return false;
+}
 }

Modified: 
tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/MyConfigSourceProvider.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/MyConfigSourceProvider.java?rev=1530618r1=1530617r2=1530618view=diff
==
--- 
tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/MyConfigSourceProvider.java
 (original)
+++ 
tomee/tomee/trunk/examples/deltaspike-configproperty/src/main/java/org/superbiz/deltaspike/config/MyConfigSourceProvider.java
 Wed Oct  9 14:15:51 2013
@@ -23,7 +23,6 @@ import java.util.Arrays;
 import java.util.List;
 
 public class

svn commit: r1531198 - /tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java

2013-10-10 Thread rmannibucau
Author: rmannibucau
Date: Fri Oct 11 05:26:48 2013
New Revision: 1531198

URL: http://svn.apache.org/r1531198
Log:
TOMEE-1055 completing docBase find algorithm

Modified:

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java

Modified: 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java?rev=1531198r1=1531197r2=1531198view=diff
==
--- 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
 Fri Oct 11 05:26:48 2013
@@ -23,6 +23,7 @@ import org.apache.catalina.Host;
 import org.apache.catalina.core.StandardContext;
 import org.apache.catalina.core.StandardEngine;
 import org.apache.catalina.core.StandardHost;
+import org.apache.catalina.util.ContextName;
 
 import java.io.File;
 
@@ -42,7 +43,7 @@ public class Contexts {
 public static File warPath(final Context standardContext) {
 final File file = realWarPath(standardContext);
 if (file == null) {
-return file;
+return null;
 }
 
 final String name = file.getName();
@@ -69,20 +70,29 @@ public class Contexts {
 container = container.getParent();
 }
 
-File file = new File(standardContext.getDocBase());
-if (!file.isAbsolute()) {
-if (container == null) {
-docBase = new File(engineBase(standardContext), 
standardContext.getDocBase());
-} else {
-final String appBase = ((Host) container).getAppBase();
-file = new File(appBase);
-if (!file.isAbsolute()) {
-file = new File(engineBase(standardContext), appBase);
+if (standardContext.getDocBase() != null) {
+File file = new File(standardContext.getDocBase());
+if (!file.isAbsolute()) {
+if (container == null) {
+docBase = new File(engineBase(standardContext), 
standardContext.getDocBase());
+} else {
+final String appBase = ((Host) container).getAppBase();
+file = new File(appBase);
+if (!file.isAbsolute()) {
+file = new File(engineBase(standardContext), appBase);
+}
+docBase = new File(file, standardContext.getDocBase());
 }
-docBase = new File(file, standardContext.getDocBase());
+} else {
+docBase = file;
 }
 } else {
-docBase = file;
+final String path = standardContext.getPath();
+if (path == null) {
+throw new IllegalStateException(Can't find docBase);
+} else {
+docBase = new File(new ContextName(path, 
standardContext.getWebappVersion()).getBaseName());
+}
 }
 
 if (!docBase.exists()) { // for old compatibility, will be removed soon




svn commit: r1531551 - in /tomee/tomee/trunk/container/openejb-core/src: main/java/org/apache/openejb/BeanContext.java test/java/org/apache/openejb/appexception/ test/java/org/apache/openejb/appexcept

2013-10-12 Thread rmannibucau
Author: rmannibucau
Date: Sat Oct 12 15:58:08 2013
New Revision: 1531551

URL: http://svn.apache.org/r1531551
Log:
TOMEE-1057 @ApplicationException even if not registered in ejb-jar.xml

Added:

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/appexception/

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/appexception/AppExceptionTest.java
Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java?rev=1531551r1=1531550r2=1531551view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java
 Sat Oct 12 15:58:08 2013
@@ -53,15 +53,8 @@ import org.apache.webbeans.portable.Inje
 import org.apache.webbeans.proxy.InterceptorDecoratorProxyFactory;
 import org.apache.xbean.recipe.ConstructionException;
 
-import javax.ejb.EJBHome;
-import javax.ejb.EJBLocalHome;
-import javax.ejb.EJBLocalObject;
-import javax.ejb.EJBObject;
-import javax.ejb.Lock;
-import javax.ejb.LockType;
-import javax.ejb.MessageDrivenBean;
-import javax.ejb.TimedObject;
-import javax.ejb.Timer;
+import javax.ejb.*;
+import javax.ejb.ApplicationException;
 import javax.enterprise.context.ConversationScoped;
 import javax.enterprise.context.spi.CreationalContext;
 import javax.enterprise.inject.spi.Decorator;
@@ -84,6 +77,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 import java.util.TreeSet;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.Future;
 
 @SuppressWarnings(unchecked)
@@ -225,7 +219,7 @@ public class BeanContext extends Deploym
 private final ListInterceptorInstance userInterceptors = new 
ArrayListInterceptorInstance();
 private final ListInjection injections = new ArrayListInjection();
 private final MapClass, InterfaceType interfaces = new HashMapClass, 
InterfaceType();
-private final MapClass, ExceptionType exceptions = new HashMapClass, 
ExceptionType();
+private final MapClass, ExceptionType exceptions = new 
ConcurrentHashMapClass, ExceptionType();
 
 private final boolean localbean;
 private Duration accessTimeout;
@@ -527,11 +521,17 @@ public class BeanContext extends Deploym
 }
 
 // Unregistered - runtime exceptions are system exception and the rest 
are application exceptions
+final Class? extends Throwable eClass = e.getClass();
+final ApplicationException applicationException = 
eClass.getAnnotation(ApplicationException.class);
+if (applicationException != null) {
+addApplicationException(eClass, applicationException.rollback(), 
applicationException.inherited());
+return getExceptionType(e);
+}
+
 if (e instanceof RuntimeException) {
 return ExceptionType.SYSTEM;
-} else {
-return ExceptionType.APPLICATION;
 }
+return ExceptionType.APPLICATION;
 }
 
 public BeanContext(final String id, final Context jndiContext, final 
ModuleContext moduleContext, final Class beanClass, final Class mdbInterface, 
final MapString, String activationProperties) throws SystemException {

Added: 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/appexception/AppExceptionTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/appexception/AppExceptionTest.java?rev=1531551view=auto
==
--- 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/appexception/AppExceptionTest.java
 (added)
+++ 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/appexception/AppExceptionTest.java
 Sat Oct 12 15:58:08 2013
@@ -0,0 +1,64 @@
+/**
+ * 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

svn commit: r1531809 - /tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java

2013-10-14 Thread rmannibucau
Author: rmannibucau
Date: Mon Oct 14 08:04:21 2013
New Revision: 1531809

URL: http://svn.apache.org/r1531809
Log:
TOMEE-1058 Expose configurable classpath parameter. Thanks Bob Ziuchkovski for 
the patch

Modified:

tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java

Modified: 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java?rev=1531809r1=1531808r2=1531809view=diff
==
--- 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
 (original)
+++ 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
 Mon Oct 14 08:04:21 2013
@@ -178,6 +178,9 @@ public abstract class AbstractTomEEMojo 
 @Parameter
 protected MapString, String systemVariables;
 
+@Parameter
+private ListString classpaths;
+
 @Parameter(property = tomee-plugin.quick-session, defaultValue = true)
 private boolean quickSession;
 
@@ -234,7 +237,6 @@ public abstract class AbstractTomEEMojo 
 
 protected File deployedFile = null;
 protected RemoteServer server = null;
-private String additionalCp = null;
 
 @Override
 public void execute() throws MojoExecutionException, MojoFailureException {
@@ -269,8 +271,11 @@ public abstract class AbstractTomEEMojo 
 }
 }
 
+if (classpaths == null) { // NPE protection for activateSimpleLog() 
and run()
+classpaths = new ArrayListString();
+}
 if (simpleLog) {
-additionalCp = activateSimpleLog();
+activateSimpleLog();
 }
 
 if (!keepServerXmlAsthis) {
@@ -279,9 +284,22 @@ public abstract class AbstractTomEEMojo 
 if (!skipCurrentProject) {
 copyWar();
 }
+
 run();
 }
 
+protected String getAdditionalClasspath() {
+if (!classpaths.isEmpty()) {
+final StringBuilder cpBuilder = new StringBuilder();
+for (final String cp : classpaths) {
+cpBuilder.append(cp);
+cpBuilder.append(File.pathSeparatorChar);
+}
+return cpBuilder.substring(0, cpBuilder.length() - 1); // Dump the 
final path separator
+}
+return null;
+}
+
 private ListString webappsAlreadyAdded() {
 final ListString list = new ArrayListString();
 final File webapps = new File(catalinaBase, webappDir);
@@ -305,17 +323,18 @@ public abstract class AbstractTomEEMojo 
 if (loggingProperties.exists()  !new File(config, 
conf/logging.properties).exists()) {
 try {
 final String content = IO.slurp(loggingProperties)
-.replace(SimpleFormatter.class.getName(), 
SimpleTomEEFormatter.class.getName());
+.replace(SimpleFormatter.class.getName(), 
SimpleTomEEFormatter.class.getName());
 final FileWriter writer = new FileWriter(loggingProperties);
 try {
 writer.write(content);
 } finally {
 IO.close(writer);
 }
-} catch (Exception e) {
+} catch (final Exception e) {
 getLog().error(Can't set SimpleTomEEFormatter, e);
 return null;
 }
+classpaths.add(cp);
 return cp;
 }
 return null;
@@ -520,9 +539,9 @@ public abstract class AbstractTomEEMojo 
 if (tomeeHttpsPort != null  tomeeHttpsPort  0  
parser.value(HTTPS, null) == null) {
 // ensure connector is not commented
 value = value.replace(Service name=\Catalina\, Service 
name=\Catalina\\n
-+ Connector port=\ + tomeeHttpsPort + \ 
protocol=\HTTP/1.1\ SSLEnabled=\true\\n +
-scheme=\https\ secure=\true\\n +
-clientAuth=\false\ sslProtocol=\TLS\ 
/\n);
++ Connector port=\ + tomeeHttpsPort + \ 
protocol=\HTTP/1.1\ SSLEnabled=\true\\n +
+scheme=\https\ secure=\true\\n +
+clientAuth=\false\ sslProtocol=\TLS\ 
/\n);
 }
 
 if (tomeeHttpsPort == null) {
@@ -534,12 +553,12 @@ public abstract class AbstractTomEEMojo 
 try {
 writer = new FileWriter(serverXml);
 writer.write(value
-.replace(parser.http(), Integer.toString(tomeeHttpPort))
-.replace(parser.https(), Integer.toString(tomeeHttpsPort))
-.replace(parser.ajp(), Integer.toString(tomeeAjpPort

svn commit: r1531832 - in /tomee/tomee/trunk/maven/tomee-maven-plugin: ./ src/main/java/org/apache/openejb/maven/plugin/ src/test/ src/test/java/ src/test/java/org/ src/test/java/org/apache/ src/test/

2013-10-14 Thread rmannibucau
Author: rmannibucau
Date: Mon Oct 14 09:26:31 2013
New Revision: 1531832

URL: http://svn.apache.org/r1531832
Log:
adding a basic way to test tomee maven plugin

Added:
tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/
tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/
tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/
tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/
tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/

tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/

tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/

tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/Config.java

tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/TomEEMavenPluginRule.java

tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/Url.java

tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/

tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/TomEEMavenPluginTest.java
Modified:
tomee/tomee/trunk/maven/tomee-maven-plugin/pom.xml

tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java

Modified: tomee/tomee/trunk/maven/tomee-maven-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/pom.xml?rev=1531832r1=1531831r2=1531832view=diff
==
--- tomee/tomee/trunk/maven/tomee-maven-plugin/pom.xml (original)
+++ tomee/tomee/trunk/maven/tomee-maven-plugin/pom.xml Mon Oct 14 09:26:31 2013
@@ -62,6 +62,15 @@
   groupIdorg.codehaus.plexus/groupId
   artifactIdplexus-utils/artifactId
 /dependency
+
+dependency
+  groupIdorg.apache.openejb/groupId
+  artifactIdapache-tomee/artifactId
+  version${project.version}/version
+  scopetest/scope
+  classifierwebprofile/classifier
+  typezip/type
+/dependency
   /dependencies
 
   properties

Modified: 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java?rev=1531832r1=1531831r2=1531832view=diff
==
--- 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
 (original)
+++ 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
 Mon Oct 14 09:26:31 2013
@@ -1,4 +1,3 @@
-package org.apache.openejb.maven.plugin;
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  *  contributor license agreements.  See the NOTICE file distributed with
@@ -15,6 +14,7 @@ package org.apache.openejb.maven.plugin;
  *   See the License for the specific language governing permissions and
  *   limitations under the License.
  */
+package org.apache.openejb.maven.plugin;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
@@ -119,10 +119,10 @@ public abstract class AbstractTomEEMojo 
 protected String tomeeClassifier;
 
 @Parameter(property = tomee-plugin.shutdown, defaultValue = 8005)
-protected int tomeeShutdownPort = 8005;
+protected int tomeeShutdownPort;
 
 @Parameter(property = tomee-plugin.ajp, defaultValue = 8009)
-protected int tomeeAjpPort = 8009;
+protected int tomeeAjpPort;
 
 @Parameter(property = tomee-plugin.https)
 protected Integer tomeeHttpsPort;
@@ -182,7 +182,7 @@ public abstract class AbstractTomEEMojo 
 private ListString classpaths;
 
 @Parameter(property = tomee-plugin.quick-session, defaultValue = true)
-private boolean quickSession;
+protected boolean quickSession;
 
 @Parameter(property = tomee-plugin.force-reloadable, defaultValue = 
false)
 protected boolean forceReloadable;
@@ -370,7 +370,7 @@ public abstract class AbstractTomEEMojo 
 getLog().warn(can't create ' + destParent.getPath() + ');
 }
 
-for (String file : files) {
+for (final String file : files) {
 updateLib(file, destParent, defaultType);
 }
 }
@@ -827,7 +827,7 @@ public abstract class AbstractTomEEMojo 
 }
 }
 
-private void unzip(File mvnTomEE, File catalinaBase) {
+private void unzip(final File mvnTomEE, final File catalinaBase) {
 ZipFile in = null;
 try {
 in = new ZipFile(mvnTomEE);

Added: 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/Config.java
URL: 
http

svn commit: r1531960 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java

2013-10-14 Thread rmannibucau
Author: rmannibucau
Date: Mon Oct 14 16:07:49 2013
New Revision: 1531960

URL: http://svn.apache.org/r1531960
Log:
typo in swizzle fix commit, we shouldn't exclude all swizzle

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java?rev=1531960r1=1531959r2=1531960view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
 Mon Oct 14 16:07:49 2013
@@ -321,7 +321,7 @@ public class URLClassLoaderFirst extends
 if (swizzle.startsWith(stream.)) return true;
 if (swizzle.startsWith(rss.)) return true;
 if (swizzle.startsWith(Grep.class) || 
swizzle.startsWith(Lexer.class)) return true;
-return true;
+return false;
 }
 if (org.startsWith(w3c.dom)) return true;
 if (org.startsWith(quartz)) return true;




svn commit: r1533368 - in /tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf: CxfService.java CxfWsContainer.java ejb/EjbWsContainer.java pojo/PojoWsContainer.java

2013-10-18 Thread rmannibucau
Author: rmannibucau
Date: Fri Oct 18 09:25:00 2013
New Revision: 1533368

URL: http://svn.apache.org/r1533368
Log:
TOMEE-1060 using a single http transport factory

Modified:

tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfService.java

tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java

tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java

tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoWsContainer.java

Modified: 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfService.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfService.java?rev=1533368r1=1533367r2=1533368view=diff
==
--- 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfService.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfService.java
 Fri Oct 18 09:25:00 2013
@@ -24,12 +24,15 @@ import org.apache.openejb.core.webservic
 import org.apache.openejb.server.cxf.client.SaajInterceptor;
 import org.apache.openejb.server.cxf.ejb.EjbWsContainer;
 import org.apache.openejb.server.cxf.pojo.PojoWsContainer;
+import org.apache.openejb.server.cxf.transport.HttpTransportFactory;
 import org.apache.openejb.server.cxf.transport.util.CxfUtil;
 import org.apache.openejb.server.httpd.HttpListener;
 import org.apache.openejb.server.webservices.WsService;
 
 import javax.naming.Context;
 import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.TreeMap;
@@ -39,6 +42,8 @@ public class CxfService extends WsServic
 
 private final MapString, CxfWsContainer wsContainers = new 
TreeMapString, CxfWsContainer();
 
+private HttpTransportFactory httpTransportFactory;
+
 public String getName() {
 return cxf;
 }
@@ -47,6 +52,16 @@ public class CxfService extends WsServic
 super.init(props);
 CxfUtil.configureBus();
 SaajInterceptor.registerInterceptors();
+
+initBusTransport(CxfUtil.getBus());
+}
+
+private void initBusTransport(final Bus bus) {
+httpTransportFactory = new HttpTransportFactory(bus);
+final ListString ids = new 
ArrayListString(httpTransportFactory.getTransportIds().size() + 1);
+ids.addAll(httpTransportFactory.getTransportIds());
+ids.add(http://schemas.xmlsoap.org/wsdl/soap/;);
+httpTransportFactory.setTransportIds(ids);
 }
 
 @Override
@@ -64,7 +79,7 @@ public class CxfService extends WsServic
 try {
 CxfCatalogUtils.loadOASISCatalog(bus, moduleBaseUrl, 
META-INF/jax-ws-catalog.xml);
 
-final EjbWsContainer container = new EjbWsContainer(bus, port, 
beanContext, config);
+final EjbWsContainer container = new EjbWsContainer(bus, 
httpTransportFactory, port, beanContext, config);
 container.start();
 wsContainers.put(beanContext.getDeploymentID().toString(), 
container);
 return container;
@@ -83,7 +98,7 @@ public class CxfService extends WsServic
 try {
 CxfCatalogUtils.loadOASISCatalog(bus, moduleBaseUrl, 
META-INF/jax-ws-catalog.xml);
 
-PojoWsContainer container = new PojoWsContainer(loader, bus, port, 
context, target, bdgs, services);
+PojoWsContainer container = new PojoWsContainer(loader, 
httpTransportFactory, bus, port, context, target, bdgs, services);
 container.start();
 wsContainers.put(serviceId, container);
 return container;

Modified: 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java?rev=1533368r1=1533367r2=1533368view=diff
==
--- 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java
 Fri Oct 18 09:25:00 2013
@@ -23,40 +23,32 @@ import org.apache.cxf.transport.http.HTT
 import org.apache.openejb.assembler.classic.util.ServiceConfiguration;
 import org.apache.openejb.core.webservices.PortData;
 import org.apache.openejb.monitoring.LocalMBeanServer;
-import org.apache.openejb.server.cxf.transport.HttpTransportFactory;
 import org.apache.openejb.server.cxf.transport.util.CxfUtil;
 import org.apache.openejb.server.httpd.HttpListener;
 import org.apache.openejb.server.httpd.HttpRequest;
 import

svn commit: r1534509 - in /tomee/tomee/trunk: arquillian/arquillian-tomee-tests/arquillian-tomee-jms-tests/src/test/resources/arquillian.xml container/openejb-core/src/main/java/org/apache/openejb/res

2013-10-22 Thread rmannibucau
Author: rmannibucau
Date: Tue Oct 22 06:32:36 2013
New Revision: 1534509

URL: http://svn.apache.org/r1534509
Log:
TOMEE-1062 AMQ 5.9.0

Modified:

tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-jms-tests/src/test/resources/arquillian.xml

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
tomee/tomee/trunk/pom.xml

Modified: 
tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-jms-tests/src/test/resources/arquillian.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-jms-tests/src/test/resources/arquillian.xml?rev=1534509r1=1534508r2=1534509view=diff
==
--- 
tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-jms-tests/src/test/resources/arquillian.xml
 (original)
+++ 
tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-jms-tests/src/test/resources/arquillian.xml
 Tue Oct 22 06:32:36 2013
@@ -26,7 +26,7 @@
   property name=dirtarget/apache-tomee-remote/property
   property 
name=appWorkingDirtarget/arquillian-test-working-dir/property
   property name=properties
-Default\ JMS\ Resource\ Adapter.BrokerXmlConfig = 
broker:(tcp://localhost:61616)?useJmx=falseamp;broker.persistent=false
+Default\ JMS\ Resource\ Adapter.BrokerXmlConfig = 
broker:(tcp://localhost:61616)?useJmx=falseamp;persistent=false
 My\ DataSource.JdbcUrl = jdbc:hsqldb:mem:hsqldb
 My\ Unmanaged\ DataSource.JdbcUrl = jdbc:hsqldb:mem:hsqldb
 
@@ -42,7 +42,7 @@
   property name=dirtarget/apache-tomee-remote/property
   property 
name=appWorkingDirtarget/arquillian-test-working-dir/property
   property name=properties
-Default\ JMS\ Resource\ Adapter.BrokerXmlConfig = 
broker:(tcp://localhost:61616)?useJmx=falseamp;broker.persistent=false
+Default\ JMS\ Resource\ Adapter.BrokerXmlConfig = 
broker:(tcp://localhost:61616)?useJmx=falseamp;persistent=false
 My\ DataSource.JdbcUrl = jdbc:hsqldb:mem:hsqldb
 My\ Unmanaged\ DataSource.JdbcUrl = jdbc:hsqldb:mem:hsqldb
 
@@ -58,7 +58,7 @@
   property name=dirtarget/apache-tomee-remote/property
   property 
name=appWorkingDirtarget/arquillian-test-working-dir/property
   property name=properties
-Default\ JMS\ Resource\ Adapter.BrokerXmlConfig = 
broker:(tcp://localhost:61616)?useJmx=falseamp;broker.persistent=false
+Default\ JMS\ Resource\ Adapter.BrokerXmlConfig = 
broker:(tcp://localhost:61616)?useJmx=falseamp;persistent=false
 My\ DataSource.JdbcUrl = jdbc:hsqldb:mem:hsqldb
 My\ Unmanaged\ DataSource.JdbcUrl = jdbc:hsqldb:mem:hsqldb
 
@@ -66,4 +66,4 @@
   /property
 /configuration
   /container
-/arquillian
\ No newline at end of file
+/arquillian

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java?rev=1534509r1=1534508r2=1534509view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
 Tue Oct 22 06:32:36 2013
@@ -60,7 +60,7 @@ public class ActiveMQ5Factory implements
 final Properties properties = getLowerCaseProperties();
 final URI uri = URLs.uri(brokerURI.getRawSchemeSpecificPart());
 broker = BrokerFactory.createBroker(uri);
-brokers.put(brokerURI, broker);
+brokers.put(brokerURI, ActiveMQ5Factorybroker);
 
 if (!uri.getScheme().toLowerCase().startsWith(xbean)) {
 

Modified: tomee/tomee/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/pom.xml?rev=1534509r1=1534508r2=1534509view=diff
==
--- tomee/tomee/trunk/pom.xml (original)
+++ tomee/tomee/trunk/pom.xml Tue Oct 22 06:32:36 2013
@@ -142,7 +142,7 @@
 project.build.sourceEncodingUTF-8/project.build.sourceEncoding
 
 bval.version0.5/bval.version
-org.apache.activemq.version5.8.0/org.apache.activemq.version
+org.apache.activemq.version5.9.0/org.apache.activemq.version
 quartz.version2.2.0/quartz.version
 org.springframework.version3.1.3.RELEASE/org.springframework.version
 junit.version4.11/junit.version




svn commit: r1534513 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java

2013-10-22 Thread rmannibucau
Author: rmannibucau
Date: Tue Oct 22 06:37:43 2013
New Revision: 1534513

URL: http://svn.apache.org/r1534513
Log:
oops typo

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java?rev=1534513r1=1534512r2=1534513view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
 Tue Oct 22 06:37:43 2013
@@ -60,7 +60,7 @@ public class ActiveMQ5Factory implements
 final Properties properties = getLowerCaseProperties();
 final URI uri = URLs.uri(brokerURI.getRawSchemeSpecificPart());
 broker = BrokerFactory.createBroker(uri);
-brokers.put(brokerURI, ActiveMQ5Factorybroker);
+brokers.put(brokerURI, broker);
 
 if (!uri.getScheme().toLowerCase().startsWith(xbean)) {
 




svn commit: r1534921 - in /tomee/tomee/trunk/container/openejb-jee-accessors/src: main/java/org/apache/openejb/jee/ test/resources/

2013-10-23 Thread rmannibucau
Author: rmannibucau
Date: Wed Oct 23 06:27:57 2013
New Revision: 1534921

URL: http://svn.apache.org/r1534921
Log:
TOMEE-1021 swallowing errors reading faces-config.xml - Note: this is done 
hacking the generating code while we don't upgrade to JSF 2.2

Modified:

tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesAbsoluteOrdering$JAXB.java

tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesApplication$JAXB.java

tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesBehavior$JAXB.java

tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesComponent$JAXB.java

tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesConverter$JAXB.java

tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesFactory$JAXB.java

tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesLifecycle$JAXB.java

tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesNavigationRule$JAXB.java

tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesOrdering$JAXB.java

tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesReferencedBean$JAXB.java

tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesRenderKit$JAXB.java

tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesValidator$JAXB.java

tomee/tomee/trunk/container/openejb-jee-accessors/src/test/resources/a-faces-config-22.xml

Modified: 
tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesAbsoluteOrdering$JAXB.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesAbsoluteOrdering%24JAXB.java?rev=1534921r1=1534920r2=1534921view=diff
==
--- 
tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesAbsoluteOrdering$JAXB.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesAbsoluteOrdering$JAXB.java
 Wed Oct 23 06:27:57 2013
@@ -116,7 +116,9 @@ public class FacesAbsoluteOrdering$JAXB
 }
 nameOrOthers.add(nameOrOthersItem1);
 } else {
-context.unexpectedElement(elementReader, new 
QName(http://java.sun.com/xml/ns/javaee;, others), new 
QName(http://java.sun.com/xml/ns/javaee;, name));
+// just here ATM to not prevent users to get JSF 2.2 feature 
because we can't read it
+// TODO: handle it properly
+// context.unexpectedElement(elementReader, new 
QName(http://java.sun.com/xml/ns/javaee;, others), new 
QName(http://java.sun.com/xml/ns/javaee;, name));
 }
 }
 if (nameOrOthers != null) {

Modified: 
tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesApplication$JAXB.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesApplication%24JAXB.java?rev=1534921r1=1534920r2=1534921view=diff
==
--- 
tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesApplication$JAXB.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-jee-accessors/src/main/java/org/apache/openejb/jee/FacesApplication$JAXB.java
 Wed Oct 23 06:27:57 2013
@@ -381,7 +381,9 @@ public class FacesApplication$JAXB
 }
 defaultValidators.add(defaultValidatorsItem);
 } else {
-context.unexpectedElement(elementReader, new 
QName(http://java.sun.com/xml/ns/javaee;, action-listener), new 
QName(http://java.sun.com/xml/ns/javaee;, default-render-kit-id), new 
QName(http://java.sun.com/xml/ns/javaee;, message-bundle), new 
QName(http://java.sun.com/xml/ns/javaee;, navigation-handler), new 
QName(http://java.sun.com/xml/ns/javaee;, view-handler), new 
QName(http://java.sun.com/xml/ns/javaee;, state-manager), new 
QName(http://java.sun.com/xml/ns/javaee;, el-resolver), new 
QName(http://java.sun.com/xml/ns/javaee;, property-resolver), new 
QName(http://java.sun.com/xml/ns/javaee;, variable-resolver), new 
QName(http://java.sun.com/xml/ns/javaee;, resource-handler), new 
QName(http://java.sun.com/xml/ns/javaee;, system-event-listener), new 
QName(http://java.sun.com/xml/ns/javaee;, locale-config), new 
QName(http://java.sun.com/xml/ns/javaee;, resource-bundle), new 
QName(http://java.sun.com/xml/ns/javaee;, application-e
 xtension

svn commit: r1535046 - /tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java

2013-10-23 Thread rmannibucau
Author: rmannibucau
Date: Wed Oct 23 15:01:19 2013
New Revision: 1535046

URL: http://svn.apache.org/r1535046
Log:
adding tomee-plugin.catalina-base to be able to override catalina base in tomee 
mvn plugin

Modified:

tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java

Modified: 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java?rev=1535046r1=1535045r2=1535046view=diff
==
--- 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
 (original)
+++ 
tomee/tomee/trunk/maven/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
 Wed Oct 23 15:01:19 2013
@@ -139,7 +139,7 @@ public abstract class AbstractTomEEMojo 
 @Parameter(property = tomee-plugin.debugPort, defaultValue = 5005)
 protected int debugPort;
 
-@Parameter(defaultValue = ${project.build.directory}/apache-tomee)
+@Parameter(defaultValue = ${project.build.directory}/apache-tomee, 
property = tomee-plugin.catalina-base)
 protected File catalinaBase;
 
 /**




svn commit: r1535283 - /tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/core/singleton/AsyncPostContructTest.java

2013-10-24 Thread rmannibucau
Author: rmannibucau
Date: Thu Oct 24 06:20:30 2013
New Revision: 1535283

URL: http://svn.apache.org/r1535283
Log:
adding a test validating our behavior for @PostContruct + @Singleton + @Async 
in postcontruct method is fine (regarding the need)

Added:

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/core/singleton/AsyncPostContructTest.java

Added: 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/core/singleton/AsyncPostContructTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/core/singleton/AsyncPostContructTest.java?rev=1535283view=auto
==
--- 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/core/singleton/AsyncPostContructTest.java
 (added)
+++ 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/core/singleton/AsyncPostContructTest.java
 Thu Oct 24 06:20:30 2013
@@ -0,0 +1,114 @@
+/**
+ * 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.core.singleton;
+
+import org.apache.openejb.jee.EnterpriseBean;
+import org.apache.openejb.jee.SingletonBean;
+import org.apache.openejb.junit.ApplicationComposer;
+import org.apache.openejb.testing.Module;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.Resource;
+import javax.ejb.AsyncResult;
+import javax.ejb.Asynchronous;
+import javax.ejb.EJB;
+import javax.ejb.SessionContext;
+import javax.ejb.Singleton;
+import javax.ejb.Startup;
+import java.util.concurrent.Future;
+
+import static org.testng.Assert.assertSame;
+import static org.testng.Assert.assertTrue;
+
+@RunWith(ApplicationComposer.class)
+public class AsyncPostContructTest {
+@EJB
+private BuildMeAsync buildMeAsync;
+
+@Module
+public EnterpriseBean asyncConstructBean() {
+final SingletonBean singletonBean = new 
SingletonBean(BuildMeAsync.class);
+singletonBean.setInitOnStartup(true);
+return singletonBean.localBean();
+}
+
+@Test
+public void postConstructShouldEndsBeforeAsyncCall() {
+final long start = buildMeAsync.getStartEnd();
+final long async = buildMeAsync.getAsyncStart();
+assertTrue(async  start);
+assertSame(buildMeAsync.getAsyncInstance(), 
buildMeAsync.getAsyncInstance());
+}
+
+@Startup
+@Singleton
+public static class BuildMeAsync {
+@Resource
+private SessionContext sc;
+
+private FutureBoolean future;
+private long startEnd;
+private long asyncStart;
+private Object startInstance;
+private Object asyncInstance;
+
+@PostConstruct
+public void start() {
+startInstance = this;
+future = sc.getBusinessObject(BuildMeAsync.class).async();
+try {
+Thread.sleep(100);
+} catch (final InterruptedException e) {
+// no-op
+}
+startEnd = System.currentTimeMillis();
+}
+
+@Asynchronous
+public FutureBoolean async() {
+asyncStart = System.currentTimeMillis();
+asyncInstance = this;
+return new AsyncResultBoolean(true);
+}
+
+public void waitFuture() {
+try {
+future.get();
+} catch (final Exception e) {
+// no-op
+}
+}
+
+public long getStartEnd() {
+return startEnd;
+}
+
+public long getAsyncStart() {
+return asyncStart;
+}
+
+public Object getStartInstance() {
+return startInstance;
+}
+
+public Object getAsyncInstance() {
+return asyncInstance;
+}
+}
+}




svn commit: r1535644 - in /tomee/tomee/trunk/server: openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/ openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ openejb-cxf/src/main/java/o

2013-10-25 Thread rmannibucau
Author: rmannibucau
Date: Fri Oct 25 06:26:10 2013
New Revision: 1535644

URL: http://svn.apache.org/r1535644
Log:
cleaning a bit CXF logs - which can conflict with our logs - when deploying 
webservices

Modified:

tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java

tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java

tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfWsContainer.java

tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbEndpoint.java

tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/ejb/EjbWsContainer.java

tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoEndpoint.java

tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/pojo/PojoWsContainer.java

Modified: 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java?rev=1535644r1=1535643r2=1535644view=diff
==
--- 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
 Fri Oct 25 06:26:10 2013
@@ -16,7 +16,9 @@
  */
 package org.apache.openejb.server.cxf.rs;
 
+import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.endpoint.Server;
+import org.apache.cxf.endpoint.ServerImpl;
 import org.apache.cxf.helpers.IOUtils;
 import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
 import org.apache.cxf.jaxrs.JAXRSServiceImpl;
@@ -87,11 +89,14 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.logging.Level;
 import java.util.regex.Pattern;
 
 public class CxfRsHttpListener implements RsHttpListener {
 private static final Logger LOGGER = 
Logger.getInstance(LogCategory.OPENEJB_RS, CxfRsHttpListener.class);
 
+private static final java.util.logging.Logger SERVER_IMPL_LOGGER = 
LogUtils.getL7dLogger(ServerImpl.class);
+
 public static final String CXF_JAXRS_PREFIX = cxf.jaxrs.;
 public static final String PROVIDERS_KEY = CXF_JAXRS_PREFIX + providers;
 public static final String STATIC_RESOURCE_KEY = CXF_JAXRS_PREFIX + 
static-resources-list;
@@ -382,7 +387,14 @@ public class CxfRsHttpListener implement
 factory.setResourceClasses(classes);
 factory.setInvoker(new AutoJAXRSInvoker(restEjbs));
 
-server = factory.create();
+final Level level = SERVER_IMPL_LOGGER.getLevel();
+SERVER_IMPL_LOGGER.setLevel(Level.OFF);
+try {
+server = factory.create();
+} finally {
+SERVER_IMPL_LOGGER.setLevel(level);
+}
+
 this.context = webContext;
 if (!webContext.startsWith(/)) {
 this.context = / + webContext;

Modified: 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java?rev=1535644r1=1535643r2=1535644view=diff
==
--- 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
 Fri Oct 25 06:26:10 2013
@@ -18,6 +18,7 @@
 package org.apache.openejb.server.cxf;
 
 import org.apache.cxf.Bus;
+import org.apache.cxf.common.logging.LogUtils;
 import org.apache.cxf.databinding.DataBinding;
 import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.endpoint.ServerImpl;
@@ -27,6 +28,7 @@ import org.apache.cxf.jaxws.support.JaxW
 import org.apache.cxf.jaxws.support.JaxWsImplementorInfo;
 import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
 import org.apache.cxf.service.Service;
+import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
 import org.apache.cxf.transport.http.HTTPTransportFactory;
 import org.apache.openejb.OpenEJBRuntimeException;
 import org.apache.openejb.assembler.classic.ServiceInfo;
@@ -48,9 +50,16 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.concurrent.Executor;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 public abstract class CxfEndpoint {
 public static final String CXF_JAXWS_PREFIX = cxf.jaxws.;
+
+// to be able

svn commit: r1535656 - /tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JAXBContextFactory.java

2013-10-25 Thread rmannibucau
Author: rmannibucau
Date: Fri Oct 25 08:34:44 2013
New Revision: 1535656

URL: http://svn.apache.org/r1535656
Log:
using fastBoot property when using jaxb

Modified:

tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JAXBContextFactory.java

Modified: 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JAXBContextFactory.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JAXBContextFactory.java?rev=1535656r1=1535655r2=1535656view=diff
==
--- 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JAXBContextFactory.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JAXBContextFactory.java
 Fri Oct 25 08:34:44 2013
@@ -17,6 +17,8 @@
  */
 package org.apache.openejb.jee;
 
+import org.apache.openejb.loader.SystemInstance;
+
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
 import java.util.Map;
@@ -24,10 +26,30 @@ import java.util.concurrent.TimeUnit;
 import java.util.logging.Level;
 
 public final class JAXBContextFactory {
+private static final boolean USE_FAST_BOOT = 
true.equals(SystemInstance.get().getProperty(openejb.jaxb.fastBoot, 
true));
+private static final String FAST_BOOT = 
com.sun.xml.bind.v2.runtime.JAXBContextImpl.fastBoot;
 
 private static final java.util.logging.Logger log = 
java.util.logging.Logger.getLogger(JAXBContextFactory.class.getName());
 //private static boolean useSXC = false;
 
+private static String setFastBoot() {
+final String fastBoot = System.getProperty(FAST_BOOT);
+if (USE_FAST_BOOT) {
+System.setProperty(FAST_BOOT, Boolean.TRUE.toString());
+}
+return fastBoot;
+}
+
+private static void resetFastBoot(final String fastBoot) {
+if (USE_FAST_BOOT) {
+if (fastBoot == null) {
+System.clearProperty(FAST_BOOT);
+} else {
+System.setProperty(FAST_BOOT, fastBoot);
+}
+}
+}
+
 public static JAXBContext newInstance(final String s) throws JAXBException 
{
 //if (useSXC) {
 //try {
@@ -37,7 +59,12 @@ public final class JAXBContextFactory {
 //}
 final Event event = Event.start(s);
 try {
-return JAXBContext.newInstance(s);
+final String fastBoot = setFastBoot();
+try {
+return JAXBContext.newInstance(s);
+} finally {
+resetFastBoot(fastBoot);
+}
 } finally {
 event.stop();
 }
@@ -53,7 +80,12 @@ public final class JAXBContextFactory {
 
 final Event event = Event.start(s);
 try {
-return JAXBContext.newInstance(s, classLoader);
+final String fastBoot = setFastBoot();
+try {
+return JAXBContext.newInstance(s, classLoader);
+} finally {
+resetFastBoot(fastBoot);
+}
 } finally {
 event.stop();
 }
@@ -69,7 +101,12 @@ public final class JAXBContextFactory {
 
 final Event event = Event.start(s);
 try {
-return JAXBContext.newInstance(s, classLoader, properties);
+final String fastBoot = setFastBoot();
+try {
+return JAXBContext.newInstance(s, classLoader, properties);
+} finally {
+resetFastBoot(fastBoot);
+}
 } finally {
 event.stop();
 }
@@ -90,7 +127,12 @@ public final class JAXBContextFactory {
 sb.deleteCharAt(sb.length() - 1);
 final Event event = Event.start(sb.toString());
 try {
-return JAXBContext.newInstance(classes);
+final String fastBoot = setFastBoot();
+try {
+return JAXBContext.newInstance(classes);
+} finally {
+resetFastBoot(fastBoot);
+}
 } finally {
 event.stop();
 }
@@ -112,7 +154,12 @@ public final class JAXBContextFactory {
 sb.deleteCharAt(sb.length() - 1);
 final Event event = Event.start(sb.toString());
 try {
-return JAXBContext.newInstance(classes, properties);
+final String fastBoot = setFastBoot();
+try {
+return JAXBContext.newInstance(classes, properties);
+} finally {
+resetFastBoot(fastBoot);
+}
 } finally {
 event.stop();
 }




svn commit: r1535684 - in /tomee/tomee/trunk/server/openejb-webservices/src: main/java/org/apache/openejb/server/webservices/saaj/ test/java/org/apache/openejb/server/webservices/saaj/

2013-10-25 Thread rmannibucau
Author: rmannibucau
Date: Fri Oct 25 11:08:26 2013
New Revision: 1535684

URL: http://svn.apache.org/r1535684
Log:
using sun default soap*factories + using sun as default provider if using our 
factories. We saw with jlmonteiro it can help a lot under some conditions when 
security is on.

Modified:

tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajFactoryFinder.java

tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajUniverse.java

tomee/tomee/trunk/server/openejb-webservices/src/test/java/org/apache/openejb/server/webservices/saaj/SaajUniverseTest.java

Modified: 
tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajFactoryFinder.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajFactoryFinder.java?rev=1535684r1=1535683r2=1535684view=diff
==
--- 
tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajFactoryFinder.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajFactoryFinder.java
 Fri Oct 25 11:08:26 2013
@@ -53,17 +53,23 @@ class SaajFactoryFinder {
 }
 
 private static void initDefaultSAAJProvider() {
-final String provider = 
SystemInstance.get().getOptions().get(SAAJ_PROVIDER_PROPERTY, (String) null);
+final String provider = 
SystemInstance.get().getOptions().get(SAAJ_PROVIDER_PROPERTY, sun); // sun is 
the best default we can get + can impact perfs a lot
 if (provider != null) {
 if (provider.equalsIgnoreCase(axis2)) {
 DEFAULT_SAAJ_UNIVERSE = SaajUniverse.Type.AXIS2;
 } else if (provider.equalsIgnoreCase(sun)) {
 DEFAULT_SAAJ_UNIVERSE = SaajUniverse.Type.SUN;
+} else if (provider.equalsIgnoreCase(default)) {
+DEFAULT_SAAJ_UNIVERSE = null;
 } else {
 throw new ServerRuntimeException(Invalid SAAJ universe 
specified:  + provider);
 }
 
-logger.info(Default SAAJ universe:  + DEFAULT_SAAJ_UNIVERSE);
+if (DEFAULT_SAAJ_UNIVERSE != null) {
+logger.info(Default SAAJ universe:  + DEFAULT_SAAJ_UNIVERSE);
+} else {
+logger.info(Default SAAJ universe not set);
+}
 } else {
 logger.info(Default SAAJ universe not set);
 }

Modified: 
tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajUniverse.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajUniverse.java?rev=1535684r1=1535683r2=1535684view=diff
==
--- 
tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajUniverse.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/saaj/SaajUniverse.java
 Fri Oct 25 11:08:26 2013
@@ -16,6 +16,7 @@
  */
 package org.apache.openejb.server.webservices.saaj;
 
+import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;
 
@@ -25,10 +26,12 @@ public class SaajUniverse {
 private static final Logger logger = 
Logger.getInstance(LogCategory.OPENEJB_WS, SaajUniverse.class);
 
 static {
-setProperty(javax.xml.soap.MessageFactory, 
org.apache.openejb.server.webservices.saaj.MessageFactoryImpl);
-setProperty(javax.xml.soap.SOAPFactory, 
org.apache.openejb.server.webservices.saaj.SoapFactoryImpl);
-setProperty(javax.xml.soap.SOAPConnectionFactory, 
org.apache.openejb.server.webservices.saaj.SoapConnectionFactoryImpl);
-setProperty(javax.xml.soap.MetaFactory, 
org.apache.openejb.server.webservices.saaj.SaajMetaFactoryImpl);
+if 
(SystemInstance.get().getOptions().get(openejb.soap.override-factory, false)) 
{ // default are far faster than our chain
+setProperty(javax.xml.soap.MessageFactory, 
org.apache.openejb.server.webservices.saaj.MessageFactoryImpl);
+setProperty(javax.xml.soap.SOAPFactory, 
org.apache.openejb.server.webservices.saaj.SoapFactoryImpl);
+setProperty(javax.xml.soap.SOAPConnectionFactory, 
org.apache.openejb.server.webservices.saaj.SoapConnectionFactoryImpl);
+setProperty(javax.xml.soap.MetaFactory, 
org.apache.openejb.server.webservices.saaj.SaajMetaFactoryImpl);
+}
 }
 
 private static void setProperty(String name, String value) {

Modified: 
tomee/tomee/trunk

svn commit: r1535719 - /tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JAXBContextFactory.java

2013-10-25 Thread rmannibucau
Author: rmannibucau
Date: Fri Oct 25 12:55:06 2013
New Revision: 1535719

URL: http://svn.apache.org/r1535719
Log:
SystemInstance not available in jee

Modified:

tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JAXBContextFactory.java

Modified: 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JAXBContextFactory.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JAXBContextFactory.java?rev=1535719r1=1535718r2=1535719view=diff
==
--- 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JAXBContextFactory.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JAXBContextFactory.java
 Fri Oct 25 12:55:06 2013
@@ -17,8 +17,6 @@
  */
 package org.apache.openejb.jee;
 
-import org.apache.openejb.loader.SystemInstance;
-
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
 import java.util.Map;
@@ -26,7 +24,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.logging.Level;
 
 public final class JAXBContextFactory {
-private static final boolean USE_FAST_BOOT = 
true.equals(SystemInstance.get().getProperty(openejb.jaxb.fastBoot, 
true));
+private static final boolean USE_FAST_BOOT = 
true.equals(System.getProperty(openejb.jaxb.fastBoot, true));
 private static final String FAST_BOOT = 
com.sun.xml.bind.v2.runtime.JAXBContextImpl.fastBoot;
 
 private static final java.util.logging.Logger log = 
java.util.logging.Logger.getLogger(JAXBContextFactory.class.getName());




svn commit: r1535727 - /tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java

2013-10-25 Thread rmannibucau
Author: rmannibucau
Date: Fri Oct 25 13:30:12 2013
New Revision: 1535727

URL: http://svn.apache.org/r1535727
Log:
TOMEE-1065 when ear has a single war using the war context for arquillian

Modified:

tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java

Modified: 
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java?rev=1535727r1=1535726r2=1535727view=diff
==
--- 
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
 (original)
+++ 
tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
 Fri Oct 25 13:30:12 2013
@@ -247,17 +247,18 @@ public abstract class TomEEContainerCon
 }
 
 final AppInfo appInfo;
+final String archiveName = archive.getName();
 try {
 appInfo = deployer().deploy(file.getAbsolutePath());
 if (appInfo != null) {
-moduleIds.put(archive.getName(), new 
DeployedApp(appInfo.path, file.getParentFile()));
+moduleIds.put(archiveName, new DeployedApp(appInfo.path, 
file.getParentFile()));
 Files.deleteOnExit(file); // i folder
 } else {
 LOGGER.severe(appInfo was not found for  + 
file.getPath() + , available are:  + apps());
 throw new OpenEJBException(can't get appInfo);
 }
 } catch (OpenEJBException re) { // clean up in undeploy needs it
-moduleIds.put(archive.getName(), new 
DeployedApp(file.getPath(), file.getParentFile()));
+moduleIds.put(archiveName, new DeployedApp(file.getPath(), 
file.getParentFile()));
 throw re;
 }
 
@@ -269,7 +270,7 @@ public abstract class TomEEContainerCon
 
 String arquillianServlet;
 // Avoids inconvertible types error in windows build
-if (archive instanceof WebArchive) {
+if (archiveName.endsWith(.war) || (archiveName.endsWith(.ear) 
 appInfo.webApps.size() == 1)) {
 arquillianServlet = / + 
getArchiveNameWithoutExtension(archive);
 } else {
 arquillianServlet = /arquillian-protocol;




svn commit: r1536354 - /tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java

2013-10-28 Thread rmannibucau
Author: rmannibucau
Date: Mon Oct 28 13:56:11 2013
New Revision: 1536354

URL: http://svn.apache.org/r1536354
Log:
cleaning up no more used variables

Modified:

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java

Modified: 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java?rev=1536354r1=1536353r2=1536354view=diff
==
--- 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 Mon Oct 28 13:56:11 2013
@@ -57,7 +57,6 @@ import org.apache.tomee.catalina.realm.T
 import org.apache.tomee.common.NamingUtil;
 import org.apache.tomee.common.ResourceFactory;
 import org.apache.tomee.loader.TomcatHelper;
-import org.apache.xbean.finder.AnnotationFinder;
 import org.apache.xbean.finder.IAnnotationFinder;
 
 import javax.servlet.ServletContainerInitializer;
@@ -416,8 +415,6 @@ public class OpenEJBContextConfig extend
 
 if (typeInitializerMap.size()  0  finder != null) {
 final ClassLoader loader = 
context.getLoader().getClassLoader();
-boolean foundSubClasses = false;
-boolean foundImplementations = false;
 
 for (final Map.EntryClass?, 
SetServletContainerInitializer entry : typeInitializerMap.entrySet()) {
 final Class? annotation = entry.getKey();




svn commit: r1536355 - /tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java

2013-10-28 Thread rmannibucau
Author: rmannibucau
Date: Mon Oct 28 14:00:33 2013
New Revision: 1536355

URL: http://svn.apache.org/r1536355
Log:
generics are more an issue in xbean findByXXX than something great when used in 
a generic backbone

Modified:

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java

Modified: 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java?rev=1536355r1=1536354r2=1536355view=diff
==
--- 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 Mon Oct 28 14:00:33 2013
@@ -432,9 +432,9 @@ public class OpenEJBContextConfig extend
 
 final ListClass? implementations;
 if (annotation.isInterface()) {
-implementations = 
finder.findImplementations(reloadedClass);
+implementations = 
List.class.cast(finder.findImplementations(reloadedClass));
 } else {
-implementations = 
finder.findSubclasses(reloadedClass);
+implementations = 
List.class.cast(finder.findSubclasses(reloadedClass));
 }
 
 addClassesWithRightLoader(loader, sci, 
implementations);




svn commit: r1536594 - in /tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina: TomcatWebAppBuilder.java websocket/JavaEEDefaultServerEnpointConfigurator.java

2013-10-29 Thread rmannibucau
Author: rmannibucau
Date: Tue Oct 29 06:22:47 2013
New Revision: 1536594

URL: http://svn.apache.org/r1536594
Log:
no need of websockets for tomee embedded by default + prefixing tomee realm 
objectname to avoid conflicts

Modified:

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java

tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/websocket/JavaEEDefaultServerEnpointConfigurator.java

Modified: 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java?rev=1536594r1=1536593r2=1536594view=diff
==
--- 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
 (original)
+++ 
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
 Tue Oct 29 06:22:47 2013
@@ -49,6 +49,7 @@ import org.apache.catalina.ha.CatalinaCl
 import org.apache.catalina.ha.tcp.SimpleTcpCluster;
 import org.apache.catalina.loader.VirtualWebappLoader;
 import org.apache.catalina.loader.WebappLoader;
+import org.apache.catalina.realm.RealmBase;
 import org.apache.catalina.session.StandardManager;
 import org.apache.catalina.startup.Constants;
 import org.apache.catalina.startup.ContextConfig;
@@ -141,7 +142,6 @@ import javax.servlet.jsp.JspFactory;
 import javax.sql.DataSource;
 import javax.transaction.TransactionManager;
 import javax.transaction.TransactionSynchronizationRegistry;
-import javax.websocket.server.ServerEndpointConfig;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
@@ -160,6 +160,7 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
 import java.util.TreeMap;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
 
@@ -206,6 +207,8 @@ public class TomcatWebAppBuilder impleme
 }
 }
 
+private final MapClassLoader, InstanceManager instanceManagers = new 
ConcurrentHashMapClassLoader, InstanceManager();
+
 /**
  * Context information for web applications
  */
@@ -315,19 +318,22 @@ public class TomcatWebAppBuilder impleme
 deploymentLoader = new DeploymentLoader();
 }
 
-private static void forceEEServerEndpointConfigurator() {
+private void forceEEServerEndpointConfigurator() {
 // by reflection cause
 // 1- tomcat algorithm uses ServiceLoader.next() so no real way to 
ensure it is our META-INF/services/...
 // 2- avoids getResources which can be slow depending the server config
 try {
-final Field f = 
ServerEndpointConfig.Configurator.class.getDeclaredField(defaultImpl);
+final Class? clazz = 
Thread.currentThread().getContextClassLoader().loadClass(javax.websocket.server.ServerEndpointConfig$Configurator);
+final Field f = clazz.getDeclaredField(defaultImpl);
 boolean acc = f.isAccessible();
 f.setAccessible(true);
 try {
-f.set(null, new JavaEEDefaultServerEnpointConfigurator());
+f.set(null, new 
JavaEEDefaultServerEnpointConfigurator(instanceManagers));
 } finally {
 f.setAccessible(acc);
 }
+} catch (final ClassNotFoundException cnfe) {
+// no-op
 } catch (final Exception e) {
 logger.warning(Can't set TomEE 
ServerEndpointConfig$Configurator, e);
 }
@@ -372,6 +378,9 @@ public class TomcatWebAppBuilder impleme
 
 protected Realm tomeeRealm(final Realm realm) {
 final TomEERealm trealm = new TomEERealm();
+if (RealmBase.class.isInstance(realm)) {
+trealm.setRealmPath(/tomee/ + 
RealmBase.class.cast(realm).getRealmPath());
+}
 trealm.addRealm(realm);
 return trealm;
 }
@@ -1323,7 +1332,7 @@ public class TomcatWebAppBuilder impleme
 
 final JavaeeInstanceManager instanceManager = new 
JavaeeInstanceManager(webContext, standardContext);
 standardContext.setInstanceManager(instanceManager);
-
JavaEEDefaultServerEnpointConfigurator.registerInstanceManager(classLoader, 
instanceManager);
+instanceManagers.put(classLoader, instanceManager);
 
standardContext.getServletContext().setAttribute(InstanceManager.class.getName(),
 standardContext.getInstanceManager());
 
 } catch (Exception e) {
@@ -1832,8 +1841,11 @@ public class TomcatWebAppBuilder impleme
 logger.error(error stopping classloader of webapp  + 
standardContext.getName(), e);
 }
 ClassLoaderUtil.cleanOpenJPACache(old

svn commit: r1536601 - /tomee/tomee/trunk/pom.xml

2013-10-29 Thread rmannibucau
Author: rmannibucau
Date: Tue Oct 29 08:11:44 2013
New Revision: 1536601

URL: http://svn.apache.org/r1536601
Log:
TOMEE-962 myfaces 2.1.13

Modified:
tomee/tomee/trunk/pom.xml

Modified: tomee/tomee/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/pom.xml?rev=1536601r1=1536600r2=1536601view=diff
==
--- tomee/tomee/trunk/pom.xml (original)
+++ tomee/tomee/trunk/pom.xml Tue Oct 29 08:11:44 2013
@@ -151,7 +151,7 @@
 geronimo.connector.version3.1.1/geronimo.connector.version
 geronimo-osgi.version1.1/geronimo-osgi.version
 
geronimo-javamail_1.4_spec.version1.7.1/geronimo-javamail_1.4_spec.version
-myfaces.version2.1.12/myfaces.version
+myfaces.version2.1.13/myfaces.version
 slf4j.version1.7.5/slf4j.version
 log4j.version1.2.17/log4j.version
 osgi.framework.version4.2.0/osgi.framework.version




svn commit: r1536800 - in /tomee/tomee/trunk/container/openejb-core/src: main/java/org/apache/openejb/config/FinderFactory.java test/java/org/apache/openejb/meta/MetaTest.java

2013-10-29 Thread rmannibucau
Author: rmannibucau
Date: Tue Oct 29 16:40:38 2013
New Revision: 1536800

URL: http://svn.apache.org/r1536800
Log:
seems MetaRunner needs finder.link() so forcing the linkage

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/FinderFactory.java

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/meta/MetaTest.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/FinderFactory.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/FinderFactory.java?rev=1536800r1=1536799r2=1536800view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/FinderFactory.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/FinderFactory.java
 Tue Oct 29 16:40:38 2013
@@ -62,7 +62,7 @@ public class FinderFactory {
 }
 
 public IAnnotationFinder create(DeploymentModule module) throws Exception {
-IAnnotationFinder finder;
+final AnnotationFinder finder;
 if (module instanceof WebModule) {
 WebModule webModule = (WebModule) module;
 final AnnotationFinder annotationFinder = newFinder(new 
WebappAggregatedArchive(webModule, webModule.getScannableUrls()));
@@ -92,13 +92,14 @@ public class FinderFactory {
 
 if (module instanceof Module) {
 final DebugArchive archive = new DebugArchive(new 
ConfigurableClasspathArchive((Module) module, url));
-final AnnotationFinder annotationFinder = newFinder(archive);
-enableFinderOptions(annotationFinder);
-finder = annotationFinder;
+finder = newFinder(archive);
 } else {
-final AnnotationFinder annotationFinder = newFinder(new 
DebugArchive(new ConfigurableClasspathArchive(module.getClassLoader(), url)));
-enableFinderOptions(annotationFinder);
-finder = annotationFinder;
+finder = newFinder(new DebugArchive(new 
ConfigurableClasspathArchive(module.getClassLoader(), url)));
+}
+if (true.equals(module.getProperties().getProperty(FORCE_LINK, 
false))) {
+finder.link();
+} else {
+enableFinderOptions(finder);
 }
 } else {
 finder = new AnnotationFinder(new ClassesArchive());

Modified: 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/meta/MetaTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/meta/MetaTest.java?rev=1536800r1=1536799r2=1536800view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/meta/MetaTest.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/meta/MetaTest.java
 Tue Oct 29 16:40:38 2013
@@ -27,6 +27,7 @@ import org.apache.openejb.assembler.clas
 import org.apache.openejb.config.AppModule;
 import org.apache.openejb.config.ConfigurationFactory;
 import org.apache.openejb.config.EjbModule;
+import org.apache.openejb.config.FinderFactory;
 import org.apache.openejb.jee.ContainerTransaction;
 import org.apache.openejb.jee.EjbJar;
 import org.apache.openejb.jee.EnterpriseBean;
@@ -163,6 +164,9 @@ public @interface MetaTest {
 }
 
 final AppModule app = 
factory.loadApplication(this.getClass().getClassLoader(), test, files);
+for (final EjbModule ejbModule : app.getEjbModules()) {
+
ejbModule.getProperties().setProperty(FinderFactory.FORCE_LINK, 
Boolean.TRUE.toString());
+}
 
 OpenEjbConfiguration conf = factory.getOpenEjbConfiguration();
 
@@ -249,7 +253,9 @@ public @interface MetaTest {
 OpenejbJar openejbJar = new OpenejbJar();
 
openejbJar.addEjbDeployment(ejbJar.getEnterpriseBeans()[0]).setContainerId(foo);
 
-return new EjbModule(ejbJar, openejbJar);
+final EjbModule ejbModule = new EjbModule(ejbJar, openejbJar);
+ejbModule.getProperties().setProperty(FinderFactory.FORCE_LINK, 
Boolean.TRUE.toString());
+return ejbModule;
 }
 
 private T T newBean(ClassT beanType, Class ejbClass) {




svn commit: r1537544 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java

2013-10-31 Thread rmannibucau
Author: rmannibucau
Date: Thu Oct 31 16:28:15 2013
New Revision: 1537544

URL: http://svn.apache.org/r1537544
Log:
TOMEE-1069 undeploying rar resources correctly

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1537544r1=1537543r2=1537544view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 Thu Oct 31 16:28:15 2013
@@ -1317,7 +1317,9 @@ public class Assembler extends Assembler
 
 logger.debug(Undeploying Applications);
 final Assembler assembler = this;
-for (final AppInfo appInfo : assembler.getDeployedApplications()) {
+final ListAppInfo deployedApps = new 
ArrayListAppInfo(assembler.getDeployedApplications());
+Collections.reverse(deployedApps); // if an app relies on the 
previous one it surely relies on it too at undeploy time
+for (final AppInfo appInfo : deployedApps) {
 try {
 assembler.destroyApplication(appInfo.path);
 } catch (UndeployException e) {
@@ -1758,6 +1760,18 @@ public class Assembler extends Assembler
 logger.warning(can't unbind resource '{0}', id);
 }
 }
+for (final ConnectorInfo connector : appInfo.connectors) {
+if (connector.resourceAdapter == null || 
connector.resourceAdapter.id == null) {
+continue;
+}
+
+final String name = OPENEJB_RESOURCE_JNDI_PREFIX + 
connector.resourceAdapter.id;
+try {
+destroyLookedUpResource(globalContext, 
connector.resourceAdapter.id, name);
+} catch (final NamingException e) {
+logger.warning(can't unbind resource '{0}', connector);
+}
+}
 
 containerSystem.removeAppContext(appInfo.appId);
 




svn commit: r1538528 - in /tomee/tomee/trunk: examples/spring-data-proxy-meta/src/test/java/org/superbiz/dynamic/DynamicUserDaoTest.java server/openejb-http/src/main/java/org/apache/openejb/server/htt

2013-11-04 Thread rmannibucau
Author: rmannibucau
Date: Mon Nov  4 08:44:14 2013
New Revision: 1538528

URL: http://svn.apache.org/r1538528
Log:
removing OWB deprecated calls + a little cleanup in spring-data-proxy-meta

Modified:

tomee/tomee/trunk/examples/spring-data-proxy-meta/src/test/java/org/superbiz/dynamic/DynamicUserDaoTest.java

tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java

Modified: 
tomee/tomee/trunk/examples/spring-data-proxy-meta/src/test/java/org/superbiz/dynamic/DynamicUserDaoTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/spring-data-proxy-meta/src/test/java/org/superbiz/dynamic/DynamicUserDaoTest.java?rev=1538528r1=1538527r2=1538528view=diff
==
--- 
tomee/tomee/trunk/examples/spring-data-proxy-meta/src/test/java/org/superbiz/dynamic/DynamicUserDaoTest.java
 (original)
+++ 
tomee/tomee/trunk/examples/spring-data-proxy-meta/src/test/java/org/superbiz/dynamic/DynamicUserDaoTest.java
 Mon Nov  4 08:44:14 2013
@@ -59,7 +59,6 @@ public class DynamicUserDaoTest {
 p.setProperty(openejb.exclude-include.order, exclude-include);
 
 p.setProperty(jdbc/DynamicUserDaoTest, 
new://Resource?type=DataSource);
-p.setProperty(jdbc/DynamicUserDaoTest, 
new://Resource?type=DataSource);
 p.setProperty(jdbc/DynamicUserDaoTest.JdbcDriver, 
org.hsqldb.jdbcDriver);
 p.setProperty(jdbc/DynamicUserDaoTest.JdbcUrl, 
jdbc:hsqldb:mem:moviedb);
 p.setProperty(jdbc/DynamicUserDaoTest.UserName, sa);

Modified: 
tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java?rev=1538528r1=1538527r2=1538528view=diff
==
--- 
tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java
 Mon Nov  4 08:44:14 2013
@@ -21,10 +21,12 @@ import org.apache.openejb.cdi.WebappWebB
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;
 import org.apache.webbeans.config.WebBeansContext;
+import org.apache.webbeans.context.ConversationContext;
 import org.apache.webbeans.conversation.ConversationManager;
 import org.apache.webbeans.el.ELContextStore;
 import org.apache.webbeans.spi.FailOverService;
 
+import javax.enterprise.context.Conversation;
 import javax.enterprise.context.RequestScoped;
 import javax.enterprise.context.SessionScoped;
 import javax.servlet.ServletRequestEvent;
@@ -33,8 +35,7 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpSessionActivationListener;
 import javax.servlet.http.HttpSessionEvent;
 import javax.servlet.http.HttpSessionListener;
-import java.util.ArrayList;
-import java.util.Collection;
+import java.util.Map;
 
 /**
  * @version $Rev$ $Date$
@@ -152,8 +153,13 @@ public class EndWebBeansListener impleme
 
WebappWebBeansContext.class.cast(webBeansContext).getParent().getContextsService().endContext(SessionScoped.class,
 event.getSession());
 }
 
-ConversationManager conversationManager = 
webBeansContext.getConversationManager();
-
conversationManager.destroyConversationContextWithSessionId(event.getSession().getId());
+final ConversationManager conversationManager = 
webBeansContext.getConversationManager();
+final MapConversation, ConversationContext cc = 
conversationManager.getAndRemoveConversationMapWithSessionId(event.getSession().getId());
+for (final ConversationContext c : cc.values()) {
+if (c != null) {
+c.destroy();
+}
+}
 }
 
 




svn commit: r1538537 - in /tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd: BeginWebBeansListener.java EndWebBeansListener.java

2013-11-04 Thread rmannibucau
Author: rmannibucau
Date: Mon Nov  4 09:23:11 2013
New Revision: 1538537

URL: http://svn.apache.org/r1538537
Log:
OWB-910 starting request scope when session is invalidated too

Modified:

tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/BeginWebBeansListener.java

tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java

Modified: 
tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/BeginWebBeansListener.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/BeginWebBeansListener.java?rev=1538537r1=1538536r2=1538537view=diff
==
--- 
tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/BeginWebBeansListener.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/BeginWebBeansListener.java
 Mon Nov  4 09:23:11 2013
@@ -84,7 +84,7 @@ public class BeginWebBeansListener imple
 
 try {
 if (logger.isDebugEnabled()) {
-logger.debug(Starting a new request : [{0}], 
event.getServletRequest().getRemoteAddr());
+logger.debug(Starting a new request : [{0}], event == null ? 
null : event.getServletRequest().getRemoteAddr());
 }
 
 if (webBeansContext instanceof WebappWebBeansContext) { // start 
before child
@@ -96,7 +96,7 @@ public class BeginWebBeansListener imple
 // the first time. See OWB-457
 
 } catch (Exception e) {
-logger.error(OWBLogConst.ERROR_0019, event.getServletRequest());
+logger.error(OWBLogConst.ERROR_0019, event == null ? null : 
event.getServletRequest());
 WebBeansUtil.throwRuntimeExceptions(e);
 }
 }
@@ -125,13 +125,20 @@ public class BeginWebBeansListener imple
  */
 @Override
 public void sessionDestroyed(HttpSessionEvent event) {
-// no-op
+ensureRequestScope();
+}
+
+private void ensureRequestScope() {
+if 
(!webBeansContext.getContextsService().getCurrentContext(RequestScoped.class).isActive())
 {
+requestInitialized(null);
+EndWebBeansListener.FAKE_REQUEST.set(true);
+}
 }
 
 
 @Override
 public void sessionWillPassivate(HttpSessionEvent event) {
-// no-op
+ensureRequestScope();
 }
 
 @Override
@@ -145,13 +152,14 @@ public class BeginWebBeansListener imple
 public void contextInitialized(ServletContextEvent servletContextEvent) {
 try {
 
OpenEJBLifecycle.initializeServletContext(servletContextEvent.getServletContext(),
 webBeansContext);
-} catch (Exception e) {
-e.printStackTrace();
+} catch (final Exception e) {
+logger.warning(e.getMessage(), e);
 }
+ensureRequestScope();
 }
 
 @Override
 public void contextDestroyed(ServletContextEvent servletContextEvent) {
-// no-op
+ensureRequestScope();
 }
 }

Modified: 
tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java?rev=1538537r1=1538536r2=1538537view=diff
==
--- 
tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java
 (original)
+++ 
tomee/tomee/trunk/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/EndWebBeansListener.java
 Mon Nov  4 09:23:11 2013
@@ -29,6 +29,8 @@ import org.apache.webbeans.spi.FailOverS
 import javax.enterprise.context.Conversation;
 import javax.enterprise.context.RequestScoped;
 import javax.enterprise.context.SessionScoped;
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
 import javax.servlet.ServletRequestEvent;
 import javax.servlet.ServletRequestListener;
 import javax.servlet.http.HttpServletRequest;
@@ -42,7 +44,9 @@ import java.util.Map;
  *
  * Used as a stack executed at the end of the request too. Avoid multiple 
(useless) listeners.
  */
-public class EndWebBeansListener implements ServletRequestListener, 
HttpSessionListener, HttpSessionActivationListener {
+public class EndWebBeansListener implements ServletContextListener, 
ServletRequestListener, HttpSessionListener, HttpSessionActivationListener {
+
+static final ThreadLocalBoolean FAKE_REQUEST = new 
ThreadLocalBoolean();
 
 private final String contextKey;
 
@@ -86,11 +90,17 @@ public class EndWebBeansListener impleme
 logger.debug(Destroying a request : [{0}], 
event.getServletRequest().getRemoteAddr());
 }
 
-final Object

svn commit: r1539303 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java

2013-11-06 Thread rmannibucau
Author: rmannibucau
Date: Wed Nov  6 10:42:28 2013
New Revision: 1539303

URL: http://svn.apache.org/r1539303
Log:
now we scan with linkage we can get rest applications which are abstract

Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=1539303r1=1539302r2=1539303view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
 Wed Nov  6 10:42:28 2013
@@ -1232,6 +1232,10 @@ public class AnnotationDeployer implemen
 }
 
 private static void addRestApplicationIfPossible(final WebModule 
webModule, final Class? extends Application app) {
+if (Modifier.isAbstract(app.getModifiers())) {
+return;
+}
+
 if (app.getConstructors().length == 0) {
 webModule.getRestApplications().add(app.getName());
 } else {
@@ -2007,6 +2011,10 @@ public class AnnotationDeployer implemen
 } catch (ClassNotFoundException e) {
 throw new OpenEJBException(Unable to load 
Application class:  + application, e);
 }
+if (Modifier.isAbstract(clazz.getModifiers())) {
+continue;
+}
+
 try {
 Application app = 
Application.class.cast(clazz.newInstance());
 try {
@@ -2021,9 +2029,9 @@ public class AnnotationDeployer implemen
 }
 // if app depends on cdi no need to do it
 }
-} catch (InstantiationException e) {
+} catch (final InstantiationException e) {
 throw new OpenEJBException(Unable to instantiate 
Application class:  + application, e);
-} catch (IllegalAccessException e) {
+} catch (final IllegalAccessException e) {
 throw new OpenEJBException(Unable to access 
Application class:  + application, e);
 }
 }




svn commit: r1539582 - in /tomee/tomee/trunk/container/openejb-core/src: main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java test/java/org/apache/openejb/classloader/ test/java/org/

2013-11-07 Thread rmannibucau
Author: rmannibucau
Date: Thu Nov  7 10:10:18 2013
New Revision: 1539582

URL: http://svn.apache.org/r1539582
Log:
TOMEE-1071 .skipping classes supposed in the jvm when they are effectively in 
the jvm

Added:

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/classloader/

tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/classloader/SkipClassesTest.java
Modified:

tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java

Modified: 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java?rev=1539582r1=1539581r2=1539582view=diff
==
--- 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
 (original)
+++ 
tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
 Thu Nov  7 10:10:18 2013
@@ -52,6 +52,8 @@ public class URLClassLoaderFirst extends
 }
 
 public static final String SLF4J_BINDER_CLASS = 
org/slf4j/impl/StaticLoggerBinder.class;
+private static final String CLASS_EXT = .class;
+public static final ClassLoader SYSTEM_CLASS_LOADER = 
ClassLoader.getSystemClassLoader();
 
 public static void reloadConfig() {
 list(FORCED_SKIP, openejb.classloader.forced-skip);
@@ -202,7 +204,7 @@ public class URLClassLoaderFirst extends
 if (name.startsWith(javax.faces.)) return false;
 if (name.startsWith(javax.mail.)) return false;
 if (name.startsWith(javax.)) return isInServer(name);
-if (name.startsWith(sun.)) return true;
+if (name.startsWith(sun.)) return isInJvm(name);
 
 // can be provided in the webapp
 if (name.startsWith(javax.servlet.jsp.jstl)) return false;
@@ -323,7 +325,9 @@ public class URLClassLoaderFirst extends
 if (swizzle.startsWith(Grep.class) || 
swizzle.startsWith(Lexer.class)) return true;
 return false;
 }
-if (org.startsWith(w3c.dom)) return true;
+if (org.startsWith(w3c.dom)) {
+return isInJvm(name);
+}
 if (org.startsWith(quartz)) return true;
 if (org.startsWith(eclipse.jdt.)) return true;
 
@@ -334,17 +338,16 @@ public class URLClassLoaderFirst extends
 }
 
 // other packages
-if (name.startsWith(com.sun.)) {
-final String sun = name.substring(com.sun..length());
-if (sun.startsWith(org.apache.)) return true;
-if (sun.startsWith(crypto.)) return true;
-return false;
-}
+if (name.startsWith(com.sun.)) return isInJvm(name);
 if (name.startsWith(serp.bytecode)) return true;
 
 return false;
 }
 
+private static boolean isInJvm(final String name) {
+return SYSTEM_CLASS_LOADER.getResource(name.replace('.', '/') + 
CLASS_EXT) != null;
+}
+
 private static boolean isInServer(final String name) {
 if (name.startsWith(javax.)) {
 final String sub = name.substring(javax..length());

Added: 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/classloader/SkipClassesTest.java
URL: 
http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/classloader/SkipClassesTest.java?rev=1539582view=auto
==
--- 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/classloader/SkipClassesTest.java
 (added)
+++ 
tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/classloader/SkipClassesTest.java
 Thu Nov  7 10:10:18 2013
@@ -0,0 +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.classloader;
+
+import static org.junit.Assert.assertFalse;
+import static

<    1   2   3   4   5   6   7   8   9   10   >