svn commit: r1627379 - /tomee/tomee/branches/tomee-1.7.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/realm/LazyRealm.java
Author: rmannibucau Date: Wed Sep 24 18:03:28 2014 New Revision: 1627379 URL: http://svn.apache.org/r1627379 Log: LazyRealm lifecyle, we can get the web beans context before being deployed Modified: tomee/tomee/branches/tomee-1.7.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/realm/LazyRealm.java Modified: tomee/tomee/branches/tomee-1.7.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/realm/LazyRealm.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/realm/LazyRealm.java?rev=1627379r1=1627378r2=1627379view=diff == --- tomee/tomee/branches/tomee-1.7.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/realm/LazyRealm.java (original) +++ tomee/tomee/branches/tomee-1.7.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/realm/LazyRealm.java Wed Sep 24 18:03:28 2014 @@ -110,6 +110,9 @@ public class LazyRealm extends Lifecycle final BeanManager bm = webBeansContext.getBeanManagerImpl(); final SetBean? beans = bm.getBeans(clazz); final Bean? bean = bm.resolve(beans); +if (bean == null) { +return null; +} creationalContext = bm.createCreationalContext(null); instance = bm.getReference(bean, clazz, creationalContext); }
svn commit: r1627580 - /tomee/tomee/trunk/pom.xml
Author: rmannibucau Date: Thu Sep 25 18:25:37 2014 New Revision: 1627580 URL: http://svn.apache.org/r1627580 Log: myfaces 2.2.5 Modified: tomee/tomee/trunk/pom.xml Modified: tomee/tomee/trunk/pom.xml URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/pom.xml?rev=1627580r1=1627579r2=1627580view=diff == --- tomee/tomee/trunk/pom.xml (original) +++ tomee/tomee/trunk/pom.xml Thu Sep 25 18:25:37 2014 @@ -172,7 +172,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.2.4/myfaces.version +myfaces.version2.2.5/myfaces.version mojarra.version2.1.28/mojarra.version slf4j.version1.7.7/slf4j.version log4j.version1.2.17/log4j.version
svn commit: r1627581 - /tomee/tomee/branches/tomee-1.7.x/pom.xml
Author: rmannibucau Date: Thu Sep 25 18:25:58 2014 New Revision: 1627581 URL: http://svn.apache.org/r1627581 Log: myfaces 2.1.16 Modified: tomee/tomee/branches/tomee-1.7.x/pom.xml Modified: tomee/tomee/branches/tomee-1.7.x/pom.xml URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/pom.xml?rev=1627581r1=1627580r2=1627581view=diff == --- tomee/tomee/branches/tomee-1.7.x/pom.xml (original) +++ tomee/tomee/branches/tomee-1.7.x/pom.xml Thu Sep 25 18:25:58 2014 @@ -171,7 +171,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.15/myfaces.version +myfaces.version2.1.16/myfaces.version mojarra.version2.1.29/mojarra.version slf4j.version1.7.7/slf4j.version log4j.version1.2.17/log4j.version
svn commit: r1628284 - /tomee/tomee/trunk/pom.xml
Author: rmannibucau Date: Mon Sep 29 20:01:35 2014 New Revision: 1628284 URL: http://svn.apache.org/r1628284 Log: tomcat 8.0.14 Modified: tomee/tomee/trunk/pom.xml Modified: tomee/tomee/trunk/pom.xml URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/pom.xml?rev=1628284r1=1628283r2=1628284view=diff == --- tomee/tomee/trunk/pom.xml (original) +++ tomee/tomee/trunk/pom.xml Mon Sep 29 20:01:35 2014 @@ -128,7 +128,7 @@ version.shrinkwrap.descriptor2.0.0-alpha-6/version.shrinkwrap.descriptor version.shrinkwrap.shrinkwrap1.1.2/version.shrinkwrap.shrinkwrap -tomcat.version8.0.12/tomcat.version +tomcat.version8.0.14/tomcat.version cxf.version3.1.0-SNAPSHOT/cxf.version !--2.6.4 requires wss4j 1.6.8--
svn commit: r1628303 - /tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
Author: rmannibucau Date: Mon Sep 29 20:43:19 2014 New Revision: 1628303 URL: http://svn.apache.org/r1628303 Log: TOMEE-1366 avoid exception on logger.setLevel when cxf doesn't support it Modified: tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java 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=1628303r1=1628302r2=1628303view=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 Mon Sep 29 20:43:19 2014 @@ -96,11 +96,19 @@ public abstract class CxfEndpoint { protected Service doServiceCreate() { final Level level = FACTORY_BEAN_LOG.getLevel(); -FACTORY_BEAN_LOG.setLevel(Level.SEVERE); +try { +FACTORY_BEAN_LOG.setLevel(Level.SEVERE); +} catch (final UnsupportedOperationException uoe) { + // no-op +} try { service = serviceFactory.create(); } finally { -FACTORY_BEAN_LOG.setLevel(level); +try { +FACTORY_BEAN_LOG.setLevel(level); +} catch (final UnsupportedOperationException uoe) { + // no-op +} } return service; }
svn commit: r1628304 - /tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
Author: rmannibucau Date: Mon Sep 29 20:43:28 2014 New Revision: 1628304 URL: http://svn.apache.org/r1628304 Log: TOMEE-1366 avoid exception on logger.setLevel when cxf doesn't support it Modified: tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java Modified: tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java?rev=1628304r1=1628303r2=1628304view=diff == --- tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java (original) +++ tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java Mon Sep 29 20:43:28 2014 @@ -96,11 +96,19 @@ public abstract class CxfEndpoint { protected Service doServiceCreate() { final Level level = FACTORY_BEAN_LOG.getLevel(); -FACTORY_BEAN_LOG.setLevel(Level.SEVERE); +try { +FACTORY_BEAN_LOG.setLevel(Level.SEVERE); +} catch (final UnsupportedOperationException uoe) { + // no-op +} try { service = serviceFactory.create(); } finally { -FACTORY_BEAN_LOG.setLevel(level); +try { +FACTORY_BEAN_LOG.setLevel(level); +} catch (final UnsupportedOperationException uoe) { + // no-op +} } return service; }
svn commit: r1628383 - in /tomee/tomee/trunk/maven/tomee-maven-plugin/src: main/java/org/apache/openejb/maven/plugin/ test/java/org/apache/openejb/maven/plugin/ test/java/org/apache/openejb/maven/plug
Author: rmannibucau Date: Tue Sep 30 10:04:42 2014 New Revision: 1628383 URL: http://svn.apache.org/r1628383 Log: TOMEE-1361 ensuring we can reload a jaxrs app Added: tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/Mojo.java - copied, changed from r1628374, 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/app/ tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/app/Endpoint.java tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java - copied, changed from r1628374, 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/src/main/java/org/apache/openejb/maven/plugin/UpdatableTomEEMojo.java tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/TomEEMavenPluginRule.java 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=1628383r1=1628382r2=1628383view=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 Sep 30 10:04:42 2014 @@ -216,7 +216,7 @@ public abstract class UpdatableTomEEMojo return RELOAD_CMD.equalsIgnoreCase(line); } -protected synchronized void reload() { +public synchronized void reload() { if (deployOpenEjbApplication) { String path = deployedFile.getAbsolutePath(); if (path.endsWith(.war) || path.endsWith(.ear)) { Copied: tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/Mojo.java (from r1628374, tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/Url.java) URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/Mojo.java?p2=tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/Mojo.javap1=tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/Url.javar1=1628374r2=1628383rev=1628383view=diff == --- tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/Url.java (original) +++ tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/Mojo.java Tue Sep 30 10:04:42 2014 @@ -23,5 +23,5 @@ import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) -public @interface Url { +public @interface Mojo { } Modified: tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/TomEEMavenPluginRule.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/TomEEMavenPluginRule.java?rev=1628383r1=1628382r2=1628383view=diff == --- tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/TomEEMavenPluginRule.java (original) +++ tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/TomEEMavenPluginRule.java Tue Sep 30 10:04:42 2014 @@ -87,7 +87,10 @@ public class TomEEMavenPluginRule implem final TestTomEEMojo testMojo = newMojo(); for (final Field f : testInstance.getClass().getDeclaredFields()) { -if (f.getAnnotation(Url.class) != null) { +if (f.getAnnotation(Mojo.class) != null) { +f.setAccessible(true); +f.set(testInstance, testMojo); +} else if (f.getAnnotation(Url.class) != null) { f.setAccessible(true); f.set(testInstance, http://localhost:; + testMojo.tomeeHttpPort); } else if (f.getAnnotation(Config.class) != null) { @@ -95,7 +98,7 @@ public class TomEEMavenPluginRule implem final Field mojoField = AbstractTomEEMojo.class.getDeclaredField(f.getName()); mojoField.setAccessible(true); -f.set(mojoField, f.get(testInstance)); +mojoField.set(testMojo, f.get(testInstance
svn commit: r1628385 - in /tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin: app/Endpoint.java test/JAXRSReloadTest.java
Author: rmannibucau Date: Tue Sep 30 10:09:59 2014 New Revision: 1628385 URL: http://svn.apache.org/r1628385 Log: TOMEE-1361 ensuring we can reload a jaxrs app - more validations Modified: tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/app/Endpoint.java tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java Modified: tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/app/Endpoint.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/app/Endpoint.java?rev=1628385r1=1628384r2=1628385view=diff == --- tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/app/Endpoint.java (original) +++ tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/app/Endpoint.java Tue Sep 30 10:09:59 2014 @@ -21,8 +21,16 @@ import javax.ws.rs.Path; @Path(ping) public class Endpoint { +private static final long TIME_MILLIS = System.currentTimeMillis(); + @GET public String ping() { return pong; } + +@GET +@Path(time) +public long time() { +return TIME_MILLIS; +} } Modified: tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java?rev=1628385r1=1628384r2=1628385view=diff == --- tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java (original) +++ tomee/tomee/trunk/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java Tue Sep 30 10:09:59 2014 @@ -32,8 +32,10 @@ import java.io.File; import java.io.IOException; import java.net.URL; +import static java.lang.Thread.sleep; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; public class JAXRSReloadTest { private static File JAXRS_APP = new File(target/tests/webapps/app-jaxrs); @@ -80,8 +82,23 @@ public class JAXRSReloadTest { @Test public void simpleStart() throws Exception { +// eager check setup is ok and it works (avoid to mix redeployment checks with simple deployment) assertThat(IO.slurp(new URL(url + /app-jaxrs/ping)).trim(), is(pong)); -mojo.reload(); -assertThat(IO.slurp(new URL(url + /app-jaxrs/ping)).trim(), is(pong)); + +long lastTime = 0; +for (int i = 0; i 10; i++) { +sleep(100); // just to make time more explicit +mojo.reload(); + +// it still works +assertThat(IO.slurp(new URL(url + /app-jaxrs/ping)).trim(), is(pong)); + +// we redeployed since we have a new deployment date +final long time = Long.parseLong(IO.slurp(new URL(url + /app-jaxrs/ping/time)).trim()); +if (i 0) { +assertTrue(time = lastTime); +} +lastTime = time; +} } }
svn commit: r1628555 - in /tomee/tomee/trunk/arquillian: arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ arquillian-tomee-remote/ arquillian-tomee-remote/src/test/java/org/
Author: rmannibucau Date: Tue Sep 30 21:45:01 2014 New Revision: 1628555 URL: http://svn.apache.org/r1628555 Log: TOMEE-1367 singleDumpByArchiveName to avoid to dump N times the same SW archive Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java tomee/tomee/trunk/arquillian/arquillian-tomee-remote/pom.xml tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/CheckServerInfoTest.java tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/unpack/UnpackTest.java tomee/tomee/trunk/arquillian/arquillian-tomee-remote/src/test/resources/arquillian.xml 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=1628555r1=1628554r2=1628555view=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 Sep 30 21:45:01 2014 @@ -45,6 +45,7 @@ public class TomEEConfiguration implemen protected String properties = ; protected String webContextToUseWithEars; protected boolean keepServerXmlAsThis; +protected boolean singleDumpByArchiveName = false; public boolean isUnpackWars() { return unpackWars; @@ -211,4 +212,12 @@ public class TomEEConfiguration implemen public void setKeepServerXmlAsThis(final boolean keepServerXmlAsThis) { this.keepServerXmlAsThis = keepServerXmlAsThis; } + +public boolean isSingleDumpByArchiveName() { +return singleDumpByArchiveName; +} + +public void setSingleDumpByArchiveName(final boolean singleDumpByArchiveName) { +this.singleDumpByArchiveName = singleDumpByArchiveName; +} } 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=1628555r1=1628554r2=1628555view=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 Tue Sep 30 21:45:01 2014 @@ -254,11 +254,9 @@ public abstract class TomEEContainerCon final File file = dumpFile(archive); final String fileName = file.getName(); -if (fileName.endsWith(.war)) { // ?? -final File extracted = new File(file.getParentFile(), fileName.substring(0, fileName.length() - 4)); -if (extracted.exists()) { -extracted.deleteOnExit(); -} +if (fileName.endsWith(.war) || fileName.endsWith(.ear)) { +// extracted folder, TODO: openejb work dir is ignored here +Files.deleteOnExit(new File(file.getParentFile(), fileName.substring(0, fileName.length() - 4))); } final AppInfo appInfo; @@ -330,20 +328,37 @@ public abstract class TomEEContainerCon Files.deleteOnExit(new File(tmpDir)); File file; -int i = 0; -do { // be sure we don't override something existing -file = new File(tmpDir + File.separator + i++ + File.separator + archive.getName()); -} while (file.getParentFile().exists()); // we will delete the parent (to clean even complicated unpacking) +if (configuration.isSingleDumpByArchiveName()) { +file = new File(tmpDir + File.separator + archive.getName()); +} else { +int i = 0; +do { // be sure we don't override something existing +file = new File(tmpDir + File.separator + i++ + File.separator + archive.getName()); +} while (file.getParentFile().exists()); // we will delete the parent (to clean even complicated unpacking) +} if (!file.getParentFile().exists() !file.getParentFile().mkdirs()) { LOGGER.warning(can't create + file.getParent()); } Files.deleteOnExit(file.getParentFile()); +final Assignable
svn commit: r1628558 - in /tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common: TomEEConfiguration.java TomEEContainer.java
Author: rmannibucau Date: Tue Sep 30 21:47:37 2014 New Revision: 1628558 URL: http://svn.apache.org/r1628558 Log: TOMEE-1367 singleDumpByArchiveName to avoid to dump N times the same SW archive - ported to 1.7.x Modified: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java Modified: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java?rev=1628558r1=1628557r2=1628558view=diff == --- tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java (original) +++ tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java Tue Sep 30 21:47:37 2014 @@ -45,6 +45,7 @@ public class TomEEConfiguration implemen protected String properties = ; protected String webContextToUseWithEars; protected boolean keepServerXmlAsThis; +protected boolean singleDumpByArchiveName = false; public boolean isUnpackWars() { return unpackWars; @@ -211,4 +212,12 @@ public class TomEEConfiguration implemen public void setKeepServerXmlAsThis(final boolean keepServerXmlAsThis) { this.keepServerXmlAsThis = keepServerXmlAsThis; } + +public boolean isSingleDumpByArchiveName() { +return singleDumpByArchiveName; +} + +public void setSingleDumpByArchiveName(final boolean singleDumpByArchiveName) { +this.singleDumpByArchiveName = singleDumpByArchiveName; +} } Modified: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java?rev=1628558r1=1628557r2=1628558view=diff == --- tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java (original) +++ tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java Tue Sep 30 21:47:37 2014 @@ -77,9 +77,9 @@ public abstract class TomEEContainerCon protected boolean isTestable(final Archive? archive, final DeploymentDescription deploymentDescription) { return deploymentDescription != null - deploymentDescription.isArchiveDeployment() - (deploymentDescription.getArchive() == archive || deploymentDescription.getTestableArchive() == archive) - deploymentDescription.testable(); + deploymentDescription.isArchiveDeployment() + (deploymentDescription.getArchive() == archive || deploymentDescription.getTestableArchive() == archive) + deploymentDescription.testable(); } @Override @@ -99,10 +99,11 @@ public abstract class TomEEContainerCon // with multiple containers we don't want it so let the user eb able to skip it if (configuration.getExportConfAsSystemProperty()) { +final ObjectMap map = new ObjectMap(configuration); // // Export the config back out to properties // -for (final Map.EntryString, Object entry : new ObjectMap(configuration).entrySet()) { +for (final Map.EntryString, Object entry : map.entrySet()) { for (final String prefix : prefixes.value()) { try { final String property = prefix + . + entry.getKey(); @@ -130,7 +131,8 @@ public abstract class TomEEContainerCon randomPorts.add(i); } -for (final Map.EntryString, Object entry : new ObjectMap(configuration).entrySet()) { +final ObjectMap map = new ObjectMap(configuration); +for (final Map.EntryString, Object entry : map.entrySet()) { if (!entry.getKey().toLowerCase().endsWith(port)) { continue; } @@ -252,11 +254,9 @@ public abstract class TomEEContainerCon final File file = dumpFile(archive); final String fileName = file.getName(); -if (fileName.endsWith(.war)) { // ?? -final File extracted = new File(file.getParentFile
svn commit: r1628740 - /tomee/tomee/trunk/arquillian/arquillian-openejb-transaction-provider/pom.xml
Author: rmannibucau Date: Wed Oct 1 15:38:40 2014 New Revision: 1628740 URL: http://svn.apache.org/r1628740 Log: TOMEE-1368 using arquillian-transaction-impl-base 1.0.1.Final Modified: tomee/tomee/trunk/arquillian/arquillian-openejb-transaction-provider/pom.xml Modified: tomee/tomee/trunk/arquillian/arquillian-openejb-transaction-provider/pom.xml URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-openejb-transaction-provider/pom.xml?rev=1628740r1=1628739r2=1628740view=diff == --- tomee/tomee/trunk/arquillian/arquillian-openejb-transaction-provider/pom.xml (original) +++ tomee/tomee/trunk/arquillian/arquillian-openejb-transaction-provider/pom.xml Wed Oct 1 15:38:40 2014 @@ -39,7 +39,7 @@ dependency groupIdorg.jboss.arquillian.extension/groupId artifactIdarquillian-transaction-impl-base/artifactId - version1.0.0.Alpha3/version + version1.0.1.Final/version exclusions exclusion groupIdorg.jboss.arquillian.core/groupId
svn commit: r1628741 - /tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-openejb-transaction-provider/pom.xml
Author: rmannibucau Date: Wed Oct 1 15:40:04 2014 New Revision: 1628741 URL: http://svn.apache.org/r1628741 Log: TOMEE-1368 using arquillian-transaction-impl-base 1.0.1.Final Modified: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-openejb-transaction-provider/pom.xml Modified: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-openejb-transaction-provider/pom.xml URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-openejb-transaction-provider/pom.xml?rev=1628741r1=1628740r2=1628741view=diff == --- tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-openejb-transaction-provider/pom.xml (original) +++ tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-openejb-transaction-provider/pom.xml Wed Oct 1 15:40:04 2014 @@ -39,7 +39,7 @@ dependency groupIdorg.jboss.arquillian.extension/groupId artifactIdarquillian-transaction-impl-base/artifactId - version1.0.0.Alpha3/version + version1.0.1.Final/version exclusions exclusion groupIdorg.jboss.arquillian.core/groupId
svn commit: r1628758 - in /tomee/tomee/trunk/examples: ./ arquillian-jpa/ arquillian-jpa/src/ arquillian-jpa/src/main/ arquillian-jpa/src/main/java/ arquillian-jpa/src/main/java/org/ arquillian-jpa/sr
Author: rmannibucau Date: Wed Oct 1 16:33:18 2014 New Revision: 1628758 URL: http://svn.apache.org/r1628758 Log: TOMEE-1369 arquillian-persistence sample Added: tomee/tomee/trunk/examples/arquillian-jpa/ tomee/tomee/trunk/examples/arquillian-jpa/README.md tomee/tomee/trunk/examples/arquillian-jpa/pom.xml tomee/tomee/trunk/examples/arquillian-jpa/src/ tomee/tomee/trunk/examples/arquillian-jpa/src/main/ tomee/tomee/trunk/examples/arquillian-jpa/src/main/java/ tomee/tomee/trunk/examples/arquillian-jpa/src/main/java/org/ tomee/tomee/trunk/examples/arquillian-jpa/src/main/java/org/superbiz/ tomee/tomee/trunk/examples/arquillian-jpa/src/main/java/org/superbiz/arquillian/ tomee/tomee/trunk/examples/arquillian-jpa/src/main/java/org/superbiz/arquillian/persistence/ tomee/tomee/trunk/examples/arquillian-jpa/src/main/java/org/superbiz/arquillian/persistence/User.java tomee/tomee/trunk/examples/arquillian-jpa/src/main/resources/ tomee/tomee/trunk/examples/arquillian-jpa/src/main/resources/META-INF/ tomee/tomee/trunk/examples/arquillian-jpa/src/main/resources/META-INF/beans.xml tomee/tomee/trunk/examples/arquillian-jpa/src/main/resources/META-INF/persistence.xml tomee/tomee/trunk/examples/arquillian-jpa/src/test/ tomee/tomee/trunk/examples/arquillian-jpa/src/test/java/ tomee/tomee/trunk/examples/arquillian-jpa/src/test/java/org/ tomee/tomee/trunk/examples/arquillian-jpa/src/test/java/org/superbiz/ tomee/tomee/trunk/examples/arquillian-jpa/src/test/java/org/superbiz/arquillian/ tomee/tomee/trunk/examples/arquillian-jpa/src/test/java/org/superbiz/arquillian/test/ tomee/tomee/trunk/examples/arquillian-jpa/src/test/java/org/superbiz/arquillian/test/persistence/ tomee/tomee/trunk/examples/arquillian-jpa/src/test/java/org/superbiz/arquillian/test/persistence/PersistenceTest.java tomee/tomee/trunk/examples/arquillian-jpa/src/test/resources/ tomee/tomee/trunk/examples/arquillian-jpa/src/test/resources/arquillian.xml tomee/tomee/trunk/examples/arquillian-jpa/src/test/resources/datasets/ tomee/tomee/trunk/examples/arquillian-jpa/src/test/resources/datasets/expected-users.yml tomee/tomee/trunk/examples/arquillian-jpa/src/test/resources/datasets/users.yml Modified: tomee/tomee/trunk/examples/pom.xml Added: tomee/tomee/trunk/examples/arquillian-jpa/README.md URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/arquillian-jpa/README.md?rev=1628758view=auto == --- tomee/tomee/trunk/examples/arquillian-jpa/README.md (added) +++ tomee/tomee/trunk/examples/arquillian-jpa/README.md Wed Oct 1 16:33:18 2014 @@ -0,0 +1,169 @@ +Title: Arquillian Persistence Extension + +A sample showing how to use TomEE, Arquillian and its Persistence Extension. + +Note that it doesn't work with embedded containers (openejb, tomee-embedded) +if you don't use workarounds like https://github.com/rmannibucau/persistence-with-openejb-and-arquillian +(see src/test/resources folder). + +# Running (output) + +--- + T E S T S +--- +Running org.superbiz.arquillian.test.persistence.PersistenceTest +oct. 01, 2014 6:30:23 PM org.apache.openejb.arquillian.common.Setup findHome +INFOS: Unable to find home in: /home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/apache-tomee-remote +oct. 01, 2014 6:30:23 PM org.apache.openejb.arquillian.common.MavenCache getArtifact +INFOS: Downloading org.apache.openejb:apache-tomee:2.0.0-SNAPSHOT:zip:webprofile please wait... +oct. 01, 2014 6:30:23 PM org.apache.openejb.arquillian.common.Zips unzip +INFOS: Extracting '/home/rmannibucau/.m2/repository/org/apache/openejb/apache-tomee/2.0.0-SNAPSHOT/apache-tomee-2.0.0-SNAPSHOT-webprofile.zip' to '/home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/apache-tomee-remote' +oct. 01, 2014 6:30:24 PM org.apache.tomee.arquillian.remote.RemoteTomEEContainer configure +INFOS: Downloaded container to: /home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/apache-tomee-remote/apache-tomee-webprofile-2.0.0-SNAPSHOT +INFOS - Server version: Apache Tomcat/8.0.14 +INFOS - Server built: Sep 24 2014 09:01:51 +INFOS - Server number: 8.0.14.0 +INFOS - OS Name:Linux +INFOS - OS Version: 3.13.0-35-generic +INFOS - Architecture: amd64 +INFOS - JVM Version:1.7.0_67-b01 +INFOS - JVM Vendor: Oracle Corporation +INFOS - The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib +INFOS - Initializing ProtocolHandler [http-nio-52256] +INFOS - Using a shared selector for servlet
svn commit: r1628761 - /tomee/javaee-api/trunk/pom.xml
Author: rmannibucau Date: Wed Oct 1 16:39:52 2014 New Revision: 1628761 URL: http://svn.apache.org/r1628761 Log: using releases Modified: tomee/javaee-api/trunk/pom.xml Modified: tomee/javaee-api/trunk/pom.xml URL: http://svn.apache.org/viewvc/tomee/javaee-api/trunk/pom.xml?rev=1628761r1=1628760r2=1628761view=diff == --- tomee/javaee-api/trunk/pom.xml (original) +++ tomee/javaee-api/trunk/pom.xml Wed Oct 1 16:39:52 2014 @@ -675,7 +675,7 @@ /dependencies properties - geronimo-interceptor_1.2_spec.version1.0-SNAPSHOT/geronimo-interceptor_1.2_spec.version + geronimo-interceptor_1.2_spec.version1.0-alpha-1/geronimo-interceptor_1.2_spec.version geronimo-jms_1.1_spec.version1.1.1/geronimo-jms_1.1_spec.version geronimo-jpa_2.0_spec.version1.1/geronimo-jpa_2.0_spec.version geronimo-jta_1.2_spec.version1.0-SNAPSHOT/geronimo-jta_1.2_spec.version @@ -689,20 +689,20 @@ geronimo-ejb_3.2_spec.version1.0-SNAPSHOT/geronimo-ejb_3.2_spec.version geronimo-jsp_2.2_spec.version1.0/geronimo-jsp_2.2_spec.version geronimo-ws-metadata_2.0_spec.version1.1.3/geronimo-ws-metadata_2.0_spec.version - geronimo-annotation_1.2_spec.version1.0.MR2-SNAPSHOT/geronimo-annotation_1.2_spec.version - geronimo-validation_1.1_spec.version1.0-SNAPSHOT/geronimo-validation_1.1_spec.version + geronimo-annotation_1.2_spec.version1.0-alpha-1/geronimo-annotation_1.2_spec.version + geronimo-validation_1.1_spec.version1.0-alpha-1/geronimo-validation_1.1_spec.version geronimo-activation_1.1_spec.version1.1/geronimo-activation_1.1_spec.version geronimo-stax-api_1.2_spec.version1.1/geronimo-stax-api_1.2_spec.version geronimo-saaj_1.3_spec.version1.1/geronimo-saaj_1.3_spec.version geronimo-atinject_1.0_spec.version1.0/geronimo-atinject_1.0_spec.version geronimo-jaspic_1.0_spec.version1.1/geronimo-jaspic_1.0_spec.version - geronimo-jcdi_1.1_spec.version1.0-SNAPSHOT/geronimo-jcdi_1.1_spec.version + geronimo-jcdi_1.1_spec.version1.0-alpha-1/geronimo-jcdi_1.1_spec.version geronimo-jaxws_2.2_spec.version1.1/geronimo-jaxws_2.2_spec.version geronimo-osgi.version1.0/geronimo-osgi.version - geronimo-json_1.0_spec.version1.0-SNAPSHOT/geronimo-json_1.0_spec.version - geronimo-concurrent_1.0_spec.version1.0-SNAPSHOT/geronimo-concurrent_1.0_spec.version + geronimo-json_1.0_spec.version1.0-alpha-1/geronimo-json_1.0_spec.version + geronimo-concurrent_1.0_spec.version1.0-alpha-1/geronimo-concurrent_1.0_spec.version geronimo-jbatch_1.0_spec.version1.0/geronimo-jbatch_1.0_spec.version - geronimo-jcache_1.0_spec.version1.0-SNAPSHOT/geronimo-jcache_1.0_spec.version + geronimo-jcache_1.0_spec.version1.0-alpha-1/geronimo-jcache_1.0_spec.version tomcat.version8.0.12/tomcat.version /properties /project
svn commit: r1628763 - /tomee/tomee/trunk/container/openejb-core/src/main/resources/default.exclusions
Author: rmannibucau Date: Wed Oct 1 16:43:00 2014 New Revision: 1628763 URL: http://svn.apache.org/r1628763 Log: excluding websocket-api from scanning Modified: tomee/tomee/trunk/container/openejb-core/src/main/resources/default.exclusions Modified: tomee/tomee/trunk/container/openejb-core/src/main/resources/default.exclusions URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/resources/default.exclusions?rev=1628763r1=1628762r2=1628763view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/resources/default.exclusions (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/resources/default.exclusions Wed Oct 1 16:43:00 2014 @@ -223,6 +223,7 @@ tomcat-tribes tomcat-servlet tomcat-spdy tomcat-util +tomcat-websocket-api tomee- tools.jar twitter4j- @@ -232,7 +233,7 @@ webbeans-ee webbeans-ejb webbeans-impl webbeans-spi -tomcat-websocket-api +websocket-api woodstox-core-asl- ws-commons-util- wsdl4j-
svn commit: r1628774 - /tomee/tomee/branches/tomee-1.7.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
Author: rmannibucau Date: Wed Oct 1 16:58:33 2014 New Revision: 1628774 URL: http://svn.apache.org/r1628774 Log: TOMEE-1370 supporting sym links for @WebXXX scanning Modified: tomee/tomee/branches/tomee-1.7.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java Modified: tomee/tomee/branches/tomee-1.7.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java?rev=1628774r1=1628773r2=1628774view=diff == --- tomee/tomee/branches/tomee-1.7.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java (original) +++ tomee/tomee/branches/tomee-1.7.x/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java Wed Oct 1 16:58:33 2014 @@ -634,7 +634,13 @@ public class OpenEJBContextConfig extend } private boolean isIncludedIn(final String filePath, final File classAsFile) throws MalformedURLException { -final File file = URLs.toFile(new URL(filePath)); +final File toFile = URLs.toFile(new URL(filePath)); +File file; +try { // symb links +file = toFile.getCanonicalFile(); +} catch (final IOException e) { +file = toFile; +} File current = classAsFile; while (current != null current.exists()) {
svn commit: r1628775 - /tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
Author: rmannibucau Date: Wed Oct 1 16:58:53 2014 New Revision: 1628775 URL: http://svn.apache.org/r1628775 Log: TOMEE-1370 supporting sym links for @WebXXX scanning + backport as protection but shouldn't be needed 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=1628775r1=1628774r2=1628775view=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 1 16:58:53 2014 @@ -656,16 +656,19 @@ public class OpenEJBContextConfig extend } private boolean isIncludedIn(final String filePath, final File classAsFile) throws MalformedURLException { -final File file = URLs.toFile(new URL(filePath)); +final File toFile = URLs.toFile(new URL(filePath)); +File file; +try { // symb links +file = toFile.getCanonicalFile(); +} catch (final IOException e) { +file = toFile; +} File current = classAsFile; while (current != null current.exists()) { if (current.equals(file)) { final File parent = current.getParentFile(); -if (classes.equals(current.getName()) parent != null WEB-INF.equals(parent.getName())) { -return false; -} -return true; +return !(classes.equals(current.getName()) parent != null WEB-INF.equals(parent.getName())); } current = current.getParentFile(); if (BASE.equals(current)) {
svn commit: r1628892 - /tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java
Author: rmannibucau Date: Thu Oct 2 06:44:00 2014 New Revision: 1628892 URL: http://svn.apache.org/r1628892 Log: style Modified: tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java Modified: tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java?rev=1628892r1=1628891r2=1628892view=diff == --- tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java (original) +++ tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java Thu Oct 2 06:44:00 2014 @@ -41,7 +41,7 @@ public class StandardContextCustomizer { module = webModule; } -public void customize(final @Observes LifecycleEvent event) { +public void customize(@Observes final LifecycleEvent event) { final Object data = event.getSource(); if (!StandardContext.class.isInstance(data)) { return;
svn commit: r1628894 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java
Author: rmannibucau Date: Thu Oct 2 06:46:34 2014 New Revision: 1628894 URL: http://svn.apache.org/r1628894 Log: useless field Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java?rev=1628894r1=1628893r2=1628894view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/NetworkUtil.java Thu Oct 2 06:46:34 2014 @@ -121,11 +121,9 @@ public final class NetworkUtil { private static final class LastPort { private final int port; -private final long time; -private LastPort(final int port, final long time) { +private LastPort(final int port) { this.port = port; -this.time = time; } } }
svn commit: r1628895 - /tomee/tomee/trunk/examples/deltaspike-fullstack/src/test/java/org/superbiz/deltaspike/test/MockedPageBeanTest.java
Author: rmannibucau Date: Thu Oct 2 06:57:14 2014 New Revision: 1628895 URL: http://svn.apache.org/r1628895 Log: imports Modified: tomee/tomee/trunk/examples/deltaspike-fullstack/src/test/java/org/superbiz/deltaspike/test/MockedPageBeanTest.java Modified: tomee/tomee/trunk/examples/deltaspike-fullstack/src/test/java/org/superbiz/deltaspike/test/MockedPageBeanTest.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/deltaspike-fullstack/src/test/java/org/superbiz/deltaspike/test/MockedPageBeanTest.java?rev=1628895r1=1628894r2=1628895view=diff == --- tomee/tomee/trunk/examples/deltaspike-fullstack/src/test/java/org/superbiz/deltaspike/test/MockedPageBeanTest.java (original) +++ tomee/tomee/trunk/examples/deltaspike-fullstack/src/test/java/org/superbiz/deltaspike/test/MockedPageBeanTest.java Thu Oct 2 06:57:14 2014 @@ -18,10 +18,10 @@ */ package org.superbiz.deltaspike.test; -import junit.framework.Assert; import org.apache.deltaspike.core.spi.scope.window.WindowContext; import org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner; import org.apache.deltaspike.testcontrol.api.mock.DynamicMockManager; +import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.superbiz.deltaspike.WebappMessageBundle; @@ -34,7 +34,8 @@ import org.superbiz.deltaspike.view.conf import javax.faces.context.FacesContext; import javax.inject.Inject; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; @RunWith(CdiTestRunner.class) public class MockedPageBeanTest
svn commit: r1628914 - /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
Author: rmannibucau Date: Thu Oct 2 09:38:36 2014 New Revision: 1628914 URL: http://svn.apache.org/r1628914 Log: using CanonicalFile when trying to skip app loader Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1628914r1=1628913r2=1628914view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Thu Oct 2 09:38:36 2014 @@ -1946,7 +1946,7 @@ public class Assembler extends Assembler 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 { -urls.add(URLs.toFile(url)); +urls.add(URLs.toFile(url).getCanonicalFile()); } catch (final Exception error) { if (logger.isDebugEnabled()) { logger.debug(Can't determine url for: + url.toExternalForm(), error); @@ -1957,7 +1957,7 @@ public class Assembler extends Assembler boolean allIsIntheClasspath = true; for (final URL url : filtered) { try { -if (!urls.contains(URLs.toFile(url))) { +if (!urls.contains(URLs.toFile(url).getCanonicalFile())) { allIsIntheClasspath = false; break; }
svn commit: r1628913 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
Author: rmannibucau Date: Thu Oct 2 09:37:45 2014 New Revision: 1628913 URL: http://svn.apache.org/r1628913 Log: using CanonicalFile when trying to skip app loader 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=1628913r1=1628912r2=1628913view=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 2 09:37:45 2014 @@ -1990,7 +1990,7 @@ public class Assembler extends Assembler final CollectionFile urls = new HashSet(); for (final URL url : ClassLoaders.findUrls(parent)) { // need to convert it to file since urls can be file:/xxx or jar:file:///xxx try { -urls.add(URLs.toFile(url)); +urls.add(URLs.toFile(url).getCanonicalFile()); } catch (final Exception error) { if (logger.isDebugEnabled()) { logger.debug(Can't determine url for: + url.toExternalForm(), error); @@ -2001,7 +2001,7 @@ public class Assembler extends Assembler boolean allIsIntheClasspath = true; for (final URL url : filtered) { try { -if (!urls.contains(URLs.toFile(url))) { +if (!urls.contains(URLs.toFile(url).getCanonicalFile())) { allIsIntheClasspath = false; if (logger.isDebugEnabled()) { logger.debug(url.toExternalForm() + ( + URLs.toFile(url)
svn commit: r1628957 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
Author: rmannibucau Date: Thu Oct 2 12:26:00 2014 New Revision: 1628957 URL: http://svn.apache.org/r1628957 Log: TOMEE-1371 if using kahadb or leveldb or any persistence adapter force broker to be persistent 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=1628957r1=1628956r2=1628957view=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 Thu Oct 2 12:26:00 2014 @@ -22,6 +22,7 @@ import org.apache.activemq.broker.Broker import org.apache.activemq.broker.BrokerService; import org.apache.activemq.ra.ActiveMQResourceAdapter; import org.apache.activemq.store.PersistenceAdapter; +import org.apache.activemq.store.PersistenceAdapterFactory; import org.apache.activemq.store.jdbc.JDBCPersistenceAdapter; import org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter; import org.apache.activemq.store.memory.MemoryPersistenceAdapter; @@ -36,6 +37,7 @@ import org.apache.xbean.propertyeditor.P import javax.naming.Context; import javax.naming.NamingException; import javax.sql.DataSource; +import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; @@ -89,6 +91,8 @@ public class ActiveMQ5Factory implements if (persistenceAdapter != null) { broker.setPersistenceAdapter(persistenceAdapter); +// if user didn't set persistent to true then setPersistenceAdapter() alone is ignored so forcing it with the factory +broker.setPersistenceFactory(new ProvidedPersistenceAdapterPersistenceAdapterFactory(persistenceAdapter)); broker.setPersistent(true); tomeeConfig(broker); } else { @@ -316,4 +320,17 @@ public class ActiveMQ5Factory implements public CollectionBrokerService getBrokers() { return brokers.values(); } + +private static class ProvidedPersistenceAdapterPersistenceAdapterFactory implements PersistenceAdapterFactory { +private final PersistenceAdapter instance; + +public ProvidedPersistenceAdapterPersistenceAdapterFactory(final PersistenceAdapter persistenceAdapter) { +this.instance = persistenceAdapter; +} + +@Override +public PersistenceAdapter createPersistenceAdapter() throws IOException { +return instance; +} +} }
svn commit: r1628958 - /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java
Author: rmannibucau Date: Thu Oct 2 12:26:27 2014 New Revision: 1628958 URL: http://svn.apache.org/r1628958 Log: TOMEE-1371 if using kahadb or leveldb or any persistence adapter force broker to be persistent Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java?rev=1628958r1=1628957r2=1628958view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/ActiveMQ5Factory.java Thu Oct 2 12:26:27 2014 @@ -22,6 +22,7 @@ import org.apache.activemq.broker.Broker import org.apache.activemq.broker.BrokerService; import org.apache.activemq.ra.ActiveMQResourceAdapter; import org.apache.activemq.store.PersistenceAdapter; +import org.apache.activemq.store.PersistenceAdapterFactory; import org.apache.activemq.store.jdbc.JDBCPersistenceAdapter; import org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter; import org.apache.activemq.store.memory.MemoryPersistenceAdapter; @@ -36,6 +37,7 @@ import org.apache.xbean.propertyeditor.P import javax.naming.Context; import javax.naming.NamingException; import javax.sql.DataSource; +import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; @@ -89,6 +91,8 @@ public class ActiveMQ5Factory implements if (persistenceAdapter != null) { broker.setPersistenceAdapter(persistenceAdapter); +// if user didn't set persistent to true then setPersistenceAdapter() alone is ignored so forcing it with the factory +broker.setPersistenceFactory(new ProvidedPersistenceAdapterPersistenceAdapterFactory(persistenceAdapter)); broker.setPersistent(true); tomeeConfig(broker); } else { @@ -316,4 +320,17 @@ public class ActiveMQ5Factory implements public CollectionBrokerService getBrokers() { return brokers.values(); } + +private static class ProvidedPersistenceAdapterPersistenceAdapterFactory implements PersistenceAdapterFactory { +private final PersistenceAdapter instance; + +public ProvidedPersistenceAdapterPersistenceAdapterFactory(final PersistenceAdapter persistenceAdapter) { +this.instance = persistenceAdapter; +} + +@Override +public PersistenceAdapter createPersistenceAdapter() throws IOException { +return instance; +} +} }
svn commit: r1628966 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
Author: rmannibucau Date: Thu Oct 2 13:13:36 2014 New Revision: 1628966 URL: http://svn.apache.org/r1628966 Log: TOMEE-1372 JtaManaged shouldn't be mandatory to be able to use a datasource with jpa 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=1628966r1=1628965r2=1628966view=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 Thu Oct 2 13:13:36 2014 @@ -102,6 +102,8 @@ import java.util.Set; import java.util.TreeMap; import java.util.TreeSet; +import static java.util.Arrays.asList; + public class AutoConfig implements DynamicDeployer, JndiConstants { public static final String ORIGIN_ANNOTATION = Annotation; @@ -1358,11 +1360,43 @@ public class AutoConfig implements Dynam final String prefix = app.getModuleId() + /; String jtaDataSourceId = null; -if (!resourceLocal) { +String nonJtaDataSourceId = null; + +// first try exact matching without JtaManaged which is not mandatory actually (custom DS + JTADataSourceWrapperFactory) +final String jtaWithJavaAndSlash = replaceJavaAndSlash(unit.getJtaDataSource()); +for (final String potentialName : asList(prefix + jtaWithJavaAndSlash, jtaWithJavaAndSlash)) { +final ResourceInfo jtaInfo = configFactory.getResourceInfo(potentialName); +if (jtaInfo != null) { +if (!false.equalsIgnoreCase(jtaInfo.properties.getProperty(JtaManaged)) // don't test true since it can be missing + (jtaInfo.types.contains(DataSource) || jtaInfo.types.contains(DataSource.class.getName( { +jtaDataSourceId = jtaInfo.id; +break; +} else { +logger.warning(Found matching datasource: + jtaInfo.id + but this one is not a JTA datasource); +} +} +} + +final String nonJtaWithJavaAndSlash = replaceJavaAndSlash(unit.getNonJtaDataSource()); +for (final String potentialName : asList(prefix + nonJtaWithJavaAndSlash, nonJtaWithJavaAndSlash)) { +final ResourceInfo info = configFactory.getResourceInfo(potentialName); +if (info != null) { +if (!true.equalsIgnoreCase(info.properties.getProperty(JtaManaged)) + (info.types.contains(DataSource) || info.types.contains(DataSource.class.getName( { +nonJtaDataSourceId = info.id; +break; +} else { +logger.warning(Found matching datasource: + info.id + but this one is a JTA datasource); +} +} +} + +// then that's ok to force configuration +if (jtaDataSourceId == null !resourceLocal) { required.put(JtaManaged, true); -jtaDataSourceId = findResourceId(prefix + replaceJavaAndSlash(unit.getJtaDataSource()), DataSource, required, null); +jtaDataSourceId = findResourceId(prefix + jtaWithJavaAndSlash, DataSource, required, null); if (jtaDataSourceId == null) { // test with javax.sql.DataSource before DataSource since RA can register resources without our shortcut -jtaDataSourceId = findResourceId(replaceJavaAndSlash(unit.getJtaDataSource()), javax.sql.DataSource, required, null); +jtaDataSourceId = findResourceId(jtaWithJavaAndSlash, javax.sql.DataSource, required, null); } /* this shouldn't be mandatory anymore since our DataSource has as alias javax.sql.DataSource if (jtaDataSourceId == null) { @@ -1371,10 +1405,12 @@ public class AutoConfig implements Dynam */ } -required.put(JtaManaged, false); -String nonJtaDataSourceId = findResourceId(prefix + replaceJavaAndSlash(unit.getNonJtaDataSource()), DataSource, required, null); if (nonJtaDataSourceId == null) { -nonJtaDataSourceId = findResourceId(replaceJavaAndSlash(unit.getNonJtaDataSource()), DataSource, required, null); +required.put(JtaManaged, false); +nonJtaDataSourceId = findResourceId(prefix + nonJtaWithJavaAndSlash, DataSource, required, null
svn commit: r1628967 - /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
Author: rmannibucau Date: Thu Oct 2 13:14:27 2014 New Revision: 1628967 URL: http://svn.apache.org/r1628967 Log: TOMEE-1372 JtaManaged shouldn't be mandatory to be able to use a datasource with jpa Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java?rev=1628967r1=1628966r2=1628967view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java Thu Oct 2 13:14:27 2014 @@ -102,6 +102,8 @@ import java.util.Set; import java.util.TreeMap; import java.util.TreeSet; +import static java.util.Arrays.asList; + public class AutoConfig implements DynamicDeployer, JndiConstants { public static final String ORIGIN_ANNOTATION = Annotation; @@ -1360,11 +1362,43 @@ public class AutoConfig implements Dynam final String prefix = app.getModuleId() + /; String jtaDataSourceId = null; -if (!resourceLocal) { +String nonJtaDataSourceId = null; + +// first try exact matching without JtaManaged which is not mandatory actually (custom DS + JTADataSourceWrapperFactory) +final String jtaWithJavaAndSlash = replaceJavaAndSlash(unit.getJtaDataSource()); +for (final String potentialName : asList(prefix + jtaWithJavaAndSlash, jtaWithJavaAndSlash)) { +final ResourceInfo jtaInfo = configFactory.getResourceInfo(potentialName); +if (jtaInfo != null) { +if (!false.equalsIgnoreCase(jtaInfo.properties.getProperty(JtaManaged)) // don't test true since it can be missing + (jtaInfo.types.contains(DataSource) || jtaInfo.types.contains(DataSource.class.getName( { +jtaDataSourceId = jtaInfo.id; +break; +} else { +logger.warning(Found matching datasource: + jtaInfo.id + but this one is not a JTA datasource); +} +} +} + +final String nonJtaWithJavaAndSlash = replaceJavaAndSlash(unit.getNonJtaDataSource()); +for (final String potentialName : asList(prefix + nonJtaWithJavaAndSlash, nonJtaWithJavaAndSlash)) { +final ResourceInfo info = configFactory.getResourceInfo(potentialName); +if (info != null) { +if (!true.equalsIgnoreCase(info.properties.getProperty(JtaManaged)) + (info.types.contains(DataSource) || info.types.contains(DataSource.class.getName( { +nonJtaDataSourceId = info.id; +break; +} else { +logger.warning(Found matching datasource: + info.id + but this one is a JTA datasource); +} +} +} + +// then that's ok to force configuration +if (jtaDataSourceId == null !resourceLocal) { required.put(JtaManaged, true); -jtaDataSourceId = findResourceId(prefix + replaceJavaAndSlash(unit.getJtaDataSource()), DataSource, required, null); +jtaDataSourceId = findResourceId(prefix + jtaWithJavaAndSlash, DataSource, required, null); if (jtaDataSourceId == null) { // test with javax.sql.DataSource before DataSource since RA can register resources without our shortcut -jtaDataSourceId = findResourceId(replaceJavaAndSlash(unit.getJtaDataSource()), javax.sql.DataSource, required, null); +jtaDataSourceId = findResourceId(jtaWithJavaAndSlash, javax.sql.DataSource, required, null); } /* this shouldn't be mandatory anymore since our DataSource has as alias javax.sql.DataSource if (jtaDataSourceId == null) { @@ -1373,10 +1407,12 @@ public class AutoConfig implements Dynam */ } -required.put(JtaManaged, false); -String nonJtaDataSourceId = findResourceId(prefix + replaceJavaAndSlash(unit.getNonJtaDataSource()), DataSource, required, null); if (nonJtaDataSourceId == null) { -nonJtaDataSourceId = findResourceId(replaceJavaAndSlash(unit.getNonJtaDataSource()), DataSource, required, null); +required.put(JtaManaged, false); +nonJtaDataSourceId = findResourceId(prefix
svn commit: r1628973 - /tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java
Author: rmannibucau Date: Thu Oct 2 13:49:56 2014 New Revision: 1628973 URL: http://svn.apache.org/r1628973 Log: pmd Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java 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=1628973r1=1628972r2=1628973view=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 Thu Oct 2 13:49:56 2014 @@ -45,7 +45,7 @@ public class TomEEConfiguration implemen protected String properties = ; protected String webContextToUseWithEars; protected boolean keepServerXmlAsThis; -protected boolean singleDumpByArchiveName = false; +protected boolean singleDumpByArchiveName; public boolean isUnpackWars() { return unpackWars;
svn commit: r1628974 - /tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java
Author: rmannibucau Date: Thu Oct 2 13:50:17 2014 New Revision: 1628974 URL: http://svn.apache.org/r1628974 Log: pmd Modified: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java Modified: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java?rev=1628974r1=1628973r2=1628974view=diff == --- tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java (original) +++ tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java Thu Oct 2 13:50:17 2014 @@ -45,7 +45,7 @@ public class TomEEConfiguration implemen protected String properties = ; protected String webContextToUseWithEars; protected boolean keepServerXmlAsThis; -protected boolean singleDumpByArchiveName = false; +protected boolean singleDumpByArchiveName; public boolean isUnpackWars() { return unpackWars;
svn commit: r1628977 - /tomee/tomee/trunk/server/openejb-cxf-rs/pom.xml
Author: rmannibucau Date: Thu Oct 2 13:57:28 2014 New Revision: 1628977 URL: http://svn.apache.org/r1628977 Log: using johnzon release 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=1628977r1=1628976r2=1628977view=diff == --- tomee/tomee/trunk/server/openejb-cxf-rs/pom.xml (original) +++ tomee/tomee/trunk/server/openejb-cxf-rs/pom.xml Thu Oct 2 13:57:28 2014 @@ -117,7 +117,7 @@ dependency !-- JohnzonProvider, WadlDocumentMessageBodyWriter and JsrProvider -- groupIdorg.apache.johnzon/groupId artifactIdjohnzon-jaxrs/artifactId - version1.0-SNAPSHOT/version + version0.1-incubating/version /dependency /dependencies /project
svn commit: r1628979 - in /tomee/tomee/trunk: arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/ container/openejb-core/src/m
Author: rmannibucau Date: Thu Oct 2 13:58:18 2014 New Revision: 1628979 URL: http://svn.apache.org/r1628979 Log: TOMEE-1374 TOMEE-1373 unregistring AlternativeDriver + trying to detect we have to create with app loader a datasource Added: tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/ tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/CipherFromAppTest.java tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/MyConstantCipher.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java Added: tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/CipherFromAppTest.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/CipherFromAppTest.java?rev=1628979view=auto == --- tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/CipherFromAppTest.java (added) +++ tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/CipherFromAppTest.java Thu Oct 2 13:58:18 2014 @@ -0,0 +1,59 @@ +/* + * 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.tests.cipher; + +import org.apache.openejb.cipher.PasswordCipher; +import org.apache.openejb.resource.jdbc.managed.local.ManagedDataSource; +import org.apache.tomee.jdbc.TomEEDataSourceCreator; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.Archive; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.asset.StringAsset; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.Test; +import org.junit.runner.RunWith; + +import javax.annotation.Resource; +import javax.sql.DataSource; + +import static org.junit.Assert.assertEquals; + +@RunWith(Arquillian.class) +public class CipherFromAppTest { +@Deployment +public static Archive? war() { +return ShrinkWrap.create(WebArchive.class, CipherFromAppTest.class.getName() + .war) +.addClass(MyConstantCipher.class) +.addAsWebInfResource(new StringAsset(MyConstantCipher.class.getName()), classes/META-INF/ + PasswordCipher.class.getName() + /constant) +.addAsWebInfResource(new StringAsset( + +resource + + Resource type=\DataSource\ id=\cipher\ + + PasswordCipher = constant + + /Resource + +/resource), resources.xml); +} + +@Resource(name = cipher) +private DataSource ds; + +@Test +public void checkPassword() { +final DataSource delegate = ManagedDataSource.class.cast(ds).getDelegate(); +assertEquals(new MyConstantCipher().decrypt(null), TomEEDataSourceCreator.TomEEDataSource.class.cast(delegate).getPoolProperties().getPassword()); +} +} Added: tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/MyConstantCipher.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/MyConstantCipher.java?rev=1628979view=auto == --- tomee/tomee/trunk/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/MyConstantCipher.java (added
svn commit: r1628980 - in /tomee/tomee/branches/tomee-1.7.x: arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/ container/ope
Author: rmannibucau Date: Thu Oct 2 13:59:22 2014 New Revision: 1628980 URL: http://svn.apache.org/r1628980 Log: TOMEE-1374 TOMEE-1373 unregistring AlternativeDriver + trying to detect we have to create with app loader a datasource Added: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/ tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/CipherFromAppTest.java tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/MyConstantCipher.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/DataSourceFactory.java Added: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/CipherFromAppTest.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/CipherFromAppTest.java?rev=1628980view=auto == --- tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/CipherFromAppTest.java (added) +++ tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/CipherFromAppTest.java Thu Oct 2 13:59:22 2014 @@ -0,0 +1,59 @@ +/* + * 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.tests.cipher; + +import org.apache.openejb.cipher.PasswordCipher; +import org.apache.openejb.resource.jdbc.managed.local.ManagedDataSource; +import org.apache.tomee.jdbc.TomEEDataSourceCreator; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.shrinkwrap.api.Archive; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.asset.StringAsset; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.Test; +import org.junit.runner.RunWith; + +import javax.annotation.Resource; +import javax.sql.DataSource; + +import static org.junit.Assert.assertEquals; + +@RunWith(Arquillian.class) +public class CipherFromAppTest { +@Deployment +public static Archive? war() { +return ShrinkWrap.create(WebArchive.class, CipherFromAppTest.class.getName() + .war) +.addClass(MyConstantCipher.class) +.addAsWebInfResource(new StringAsset(MyConstantCipher.class.getName()), classes/META-INF/ + PasswordCipher.class.getName() + /constant) +.addAsWebInfResource(new StringAsset( + +resource + + Resource type=\DataSource\ id=\cipher\ + + PasswordCipher = constant + + /Resource + +/resource), resources.xml); +} + +@Resource(name = cipher) +private DataSource ds; + +@Test +public void checkPassword() { +final DataSource delegate = ManagedDataSource.class.cast(ds).getDelegate(); +assertEquals(new MyConstantCipher().decrypt(null), TomEEDataSourceCreator.TomEEDataSource.class.cast(delegate).getPoolProperties().getPassword()); +} +} Added: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/MyConstantCipher.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/cipher/MyConstantCipher.java?rev=1628980view=auto == --- tomee/tomee/branches
svn commit: r1629050 - in /tomee/tomee/trunk: container/openejb-core/src/main/java/org/apache/openejb/config/ examples/deltaspike-fullstack/ maven/tomee-embedded-maven-plugin/src/main/java/org/apache/
Author: rmannibucau Date: Thu Oct 2 19:24:53 2014 New Revision: 1629050 URL: http://svn.apache.org/r1629050 Log: TOMEE-1375 mvn tomee-embedded:run as jetty:run Added: tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/test/ tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/test/java/ tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/test/java/org/ tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/test/java/org/apache/ tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/test/java/org/apache/openejb/ tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/test/java/org/apache/openejb/maven/ tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/test/java/org/apache/openejb/maven/plugins/ tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/test/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojoTest.java tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/test/java/org/superbiz/ tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/test/java/org/superbiz/Endpoint.java tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/test/resources/ tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/test/resources/META-INF/ tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/test/resources/META-INF/beans.xml 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/config/DeploymentsResolver.java tomee/tomee/trunk/examples/deltaspike-fullstack/pom.xml tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java tomee/tomee/trunk/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ClasspathAsWebappTest.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=1629050r1=1629049r2=1629050view=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 Thu Oct 2 19:24:53 2014 @@ -216,31 +216,8 @@ public class DeploymentLoader implements final AppModule appModule = new AppModule(webModule.getClassLoader(), file.getAbsolutePath(), new Application(), true); addWebModule(webModule, appModule); -final MapString, Object otherDD = new HashMapString, Object(); -final ListURL urls = webModule.getScannableUrls(); -final ResourceFinder finder = new ResourceFinder(, urls.toArray(new URL[urls.size()])); -otherDD.putAll(getDescriptors(finder, false)); +addWebModuleDescriptors(baseUrl, webModule, appModule); -// persistence.xml is done separately since we manage a list of url and not s single url -try { -final ListURL persistenceXmls = finder.findAll(ddDir + persistence.xml); -if (persistenceXmls.size() = 1) { -final URL old = (URL) otherDD.get(persistence.xml); -if (old != null !persistenceXmls.contains(old)) { -persistenceXmls.add(old); -} -otherDD.put(persistence.xml, persistenceXmls); -} -} catch (final IOException e) { -// ignored -} - -addConnectorModules(appModule, webModule); - -addWebPersistenceDD(persistence.xml, otherDD, appModule); -addWebPersistenceDD(persistence-fragment.xml, otherDD, appModule); -addPersistenceUnits(appModule, baseUrl); -addWebFragments(webModule, urls); appModule.setStandloneWebModule(); appModule.setDelegateFirst(true); // force it for webapps return appModule; @@ -270,7 +247,35 @@ public class DeploymentLoader implements } } -private void addConnectorModules(final AppModule appModule, final WebModule webModule) throws OpenEJBException { +public static void addWebModuleDescriptors(final URL baseUrl, final WebModule webModule, final AppModule appModule) throws
svn commit: r1629132 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
Author: rmannibucau Date: Fri Oct 3 08:11:56 2014 New Revision: 1629132 URL: http://svn.apache.org/r1629132 Log: style checks 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=1629132r1=1629131r2=1629132view=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 Oct 3 08:11:56 2014 @@ -1628,7 +1628,7 @@ public class AutoConfig implements Dynam required.clear(); required.put(JtaManaged, false); -for (final String key : Arrays.asList(JdbcDriver, JdbcUrl)) { +for (final String key : asList(JdbcDriver, JdbcUrl)) { if (jtaProperties.containsKey(key)) { required.put(key, jtaProperties.get(key)); } @@ -1690,7 +1690,7 @@ public class AutoConfig implements Dynam required.clear(); required.put(JtaManaged, true); -for (final String key : Arrays.asList(JdbcDriver, JdbcUrl)) { +for (final String key : asList(JdbcDriver, JdbcUrl)) { if (nonJtaProperties.containsKey(key)) { required.put(key, nonJtaProperties.get(key)); }
svn commit: r1629133 - /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
Author: rmannibucau Date: Fri Oct 3 08:12:14 2014 New Revision: 1629133 URL: http://svn.apache.org/r1629133 Log: style Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java?rev=1629133r1=1629132r2=1629133view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java Fri Oct 3 08:12:14 2014 @@ -1630,7 +1630,7 @@ public class AutoConfig implements Dynam required.clear(); required.put(JtaManaged, false); -for (final String key : Arrays.asList(JdbcDriver, JdbcUrl)) { +for (final String key : asList(JdbcDriver, JdbcUrl)) { if (jtaProperties.containsKey(key)) { required.put(key, jtaProperties.get(key)); } @@ -1692,7 +1692,7 @@ public class AutoConfig implements Dynam required.clear(); required.put(JtaManaged, true); -for (final String key : Arrays.asList(JdbcDriver, JdbcUrl)) { +for (final String key : asList(JdbcDriver, JdbcUrl)) { if (nonJtaProperties.containsKey(key)) { required.put(key, nonJtaProperties.get(key)); }
svn commit: r1629135 - /tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
Author: rmannibucau Date: Fri Oct 3 08:18:40 2014 New Revision: 1629135 URL: http://svn.apache.org/r1629135 Log: TOMEE-1366 last setLevel guard for cxf Modified: tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java Modified: tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java?rev=1629135r1=1629134r2=1629135view=diff == --- tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java (original) +++ tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java Fri Oct 3 08:18:40 2014 @@ -214,11 +214,19 @@ public abstract class CxfEndpoint { } final Level level = SERVER_IMPL_LOGGER.getLevel(); -SERVER_IMPL_LOGGER.setLevel(Level.SEVERE); +try { +SERVER_IMPL_LOGGER.setLevel(Level.SEVERE); +} catch (final UnsupportedOperationException uoe) { +// no-op +} try { server = svrFactory.create(); } finally { -SERVER_IMPL_LOGGER.setLevel(level); +try { +SERVER_IMPL_LOGGER.setLevel(level); +} catch (final UnsupportedOperationException uoe) { +// no-op +} } init();
svn commit: r1629136 - /tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
Author: rmannibucau Date: Fri Oct 3 08:18:45 2014 New Revision: 1629136 URL: http://svn.apache.org/r1629136 Log: TOMEE-1366 last setLevel guard for cxf Modified: tomee/tomee/trunk/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java 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=1629136r1=1629135r2=1629136view=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 3 08:18:45 2014 @@ -214,11 +214,19 @@ public abstract class CxfEndpoint { } final Level level = SERVER_IMPL_LOGGER.getLevel(); -SERVER_IMPL_LOGGER.setLevel(Level.SEVERE); +try { +SERVER_IMPL_LOGGER.setLevel(Level.SEVERE); +} catch (final UnsupportedOperationException uoe) { +// no-op +} try { server = svrFactory.create(); } finally { -SERVER_IMPL_LOGGER.setLevel(level); +try { +SERVER_IMPL_LOGGER.setLevel(level); +} catch (final UnsupportedOperationException uoe) { +// no-op +} } init();
svn commit: r1629214 - in /tomee/tomee/trunk/examples/deltaspike-fullstack/src: main/java/org/superbiz/deltaspike/repository/jpa/ main/java/org/superbiz/deltaspike/service/ main/resources/META-INF/ ma
Author: rmannibucau Date: Fri Oct 3 14:43:33 2014 New Revision: 1629214 URL: http://svn.apache.org/r1629214 Log: using javax.transaction.Transactional Modified: tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/AbstractGenericJpaRepository.java tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/EntityManagerProducer.java tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/JpaFeedbackRepository.java tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/service/DomainService.java tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/resources/META-INF/beans.xml tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/resources/META-INF/persistence.xml tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/webapp/pages/index.xhtml tomee/tomee/trunk/examples/deltaspike-fullstack/src/test/java/org/superbiz/deltaspike/test/PageBeanTest.java Modified: tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/AbstractGenericJpaRepository.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/AbstractGenericJpaRepository.java?rev=1629214r1=1629213r2=1629214view=diff == --- tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/AbstractGenericJpaRepository.java (original) +++ tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/AbstractGenericJpaRepository.java Fri Oct 3 14:43:33 2014 @@ -41,7 +41,7 @@ public abstract class AbstractGenericJpa { Class currentClass = getClass(); -if (currentClass.getName().contains($$)) +while (currentClass.getName().contains($$)) { //we are in a proxy currentClass = currentClass.getSuperclass(); } Modified: tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/EntityManagerProducer.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/EntityManagerProducer.java?rev=1629214r1=1629213r2=1629214view=diff == --- tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/EntityManagerProducer.java (original) +++ tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/EntityManagerProducer.java Fri Oct 3 14:43:33 2014 @@ -20,32 +20,18 @@ package org.superbiz.deltaspike.reposito import javax.enterprise.context.ApplicationScoped; import javax.enterprise.context.RequestScoped; -import javax.enterprise.inject.Default; -import javax.enterprise.inject.Disposes; import javax.enterprise.inject.Produces; import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.PersistenceUnit; +import javax.persistence.PersistenceContext; @ApplicationScoped -public class EntityManagerProducer -{ -@PersistenceUnit(unitName = demoApplicationPU) -private EntityManagerFactory entityManagerFactory; +public class EntityManagerProducer { +@PersistenceContext(unitName = demoApplicationPU) +private EntityManager entityManager; @Produces -@Default @RequestScoped -public EntityManager create() -{ -return this.entityManagerFactory.createEntityManager(); -} - -public void dispose(@Disposes @Default EntityManager entityManager) -{ -if (entityManager.isOpen()) -{ -entityManager.close(); -} +public EntityManager create() { +return entityManager; } } Modified: tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/JpaFeedbackRepository.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/JpaFeedbackRepository.java?rev=1629214r1=1629213r2=1629214view=diff == --- tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/JpaFeedbackRepository.java (original) +++ tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/java/org/superbiz/deltaspike/repository/jpa/JpaFeedbackRepository.java Fri Oct 3 14:43:33 2014 @@ -18,11 +18,12 @@ */ package org.superbiz.deltaspike.repository.jpa; -import org.apache.deltaspike.jpa.api.transaction.Transactional; import org.superbiz.deltaspike.domain.Feedback; import
svn commit: r1629393 - /tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/TransactionRegistryInTimeoutTest.java
Author: rmannibucau Date: Sat Oct 4 13:45:18 2014 New Revision: 1629393 URL: http://svn.apache.org/r1629393 Log: TOMEE-1379 check TransactionSynchronizationRegistry works with timers Added: tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/TransactionRegistryInTimeoutTest.java Added: tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/TransactionRegistryInTimeoutTest.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/TransactionRegistryInTimeoutTest.java?rev=1629393view=auto == --- tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/TransactionRegistryInTimeoutTest.java (added) +++ tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/timer/TransactionRegistryInTimeoutTest.java Sat Oct 4 13:45:18 2014 @@ -0,0 +1,145 @@ +/* + * 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.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.Resource; +import javax.ejb.EJB; +import javax.ejb.Lock; +import javax.ejb.LockType; +import javax.ejb.ScheduleExpression; +import javax.ejb.SessionContext; +import javax.ejb.Singleton; +import javax.ejb.Timeout; +import javax.ejb.Timer; +import javax.ejb.TimerConfig; +import javax.ejb.TimerService; +import javax.naming.InitialContext; +import javax.naming.NamingException; +import javax.transaction.Synchronization; +import javax.transaction.TransactionSynchronizationRegistry; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +@RunWith(ApplicationComposer.class) +public class TransactionRegistryInTimeoutTest { +@EJB +private EjbTimerTx ejb; + +@Test +public void run() { +ejb.setTimerNow(); +try { +ejb.latch().await(1, TimeUnit.MINUTES); +} catch (final InterruptedException e) { +Thread.interrupted(); +fail(e.getMessage()); +} +final TxListener sync = ejb.sync(); +assertNotNull(sync); +assertTrue(sync.done 0); +} + +@Module +public EnterpriseBean bean() { +return new SingletonBean(EjbTimerTx.class).localBean(); +} + +@Singleton +@Lock(LockType.READ) +public static class EjbTimerTx { +@Resource +private TimerService timerService; + +@Resource +private TransactionSynchronizationRegistry registry; + +@Resource +private SessionContext context; + +private final CountDownLatch latch = new CountDownLatch(1); +private final TxListener sync = new TxListener(latch); + +@Timeout +@Lock(LockType.WRITE) +public void timerFired() { +try { +final String jndi = java:comp/TransactionSynchronizationRegistry; +final TransactionSynchronizationRegistry txRegistry = (TransactionSynchronizationRegistry) new InitialContext().lookup(jndi); +assertNotNull(txRegistry); +assertNotNull(context.lookup(jndi)); +assertNotNull(registry); +txRegistry.registerInterposedSynchronization(sync); +} catch (final NamingException e) { +throw new IllegalStateException(e); +} +} + +public TxListener sync() { +return sync; +} + +public CountDownLatch latch() { +return latch; +} + +public Timer setTimerNow() { +final ScheduleExpression schedule = new ScheduleExpression().second(*/3).minute(*).hour(*); + +final TimerConfig timerConfig = new TimerConfig(); +timerConfig.setPersistent(false); + +return
svn commit: r1629430 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
Author: rmannibucau Date: Sat Oct 4 17:53:04 2014 New Revision: 1629430 URL: http://svn.apache.org/r1629430 Log: TOMEE-1379 ensure to commit with app loader 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=1629430r1=1629429r2=1629430view=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 Sat Oct 4 17:53:04 2014 @@ -755,6 +755,8 @@ public class EjbTimerServiceImpl impleme */ @SuppressWarnings(ReturnInsideFinallyBlock) public void ejbTimeout(final TimerData timerData) { +final Thread thread = Thread.currentThread(); +final ClassLoader loader = thread.getContextClassLoader(); // container loader try { Timer timer = getTimer(timerData.getId()); // quartz can be backed by some advanced config (jdbc for instance) @@ -790,6 +792,10 @@ public class EjbTimerServiceImpl impleme return; } +// if app registered Synchronization we need it for commit()/rollback() +// so forcing it and not relying on container for it +thread.setContextClassLoader(deployment.getClassLoader() != null ? deployment.getClassLoader() : loader); + SetAccessible.on(ejbTimeout); container.invoke(deployment.getDeploymentID(), InterfaceType.TIMEOUT, @@ -846,6 +852,8 @@ public class EjbTimerServiceImpl impleme log.warning(Error occured while calling ejbTimeout, e); throw e; } finally { +thread.setContextClassLoader(loader); + // clean up the timer store //TODO shall we do all this via Quartz listener ??? if (timerData.getType() == TimerType.SingleAction) {
svn commit: r1629431 - /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java
Author: rmannibucau Date: Sat Oct 4 17:53:09 2014 New Revision: 1629431 URL: http://svn.apache.org/r1629431 Log: TOMEE-1379 ensure to commit with app loader Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java?rev=1629431r1=1629430r2=1629431view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EjbTimerServiceImpl.java Sat Oct 4 17:53:09 2014 @@ -758,6 +758,8 @@ public class EjbTimerServiceImpl impleme */ @SuppressWarnings(ReturnInsideFinallyBlock) public void ejbTimeout(final TimerData timerData) { +final Thread thread = Thread.currentThread(); +final ClassLoader loader = thread.getContextClassLoader(); // container loader try { Timer timer = getTimer(timerData.getId()); // quartz can be backed by some advanced config (jdbc for instance) @@ -793,6 +795,10 @@ public class EjbTimerServiceImpl impleme return; } +// if app registered Synchronization we need it for commit()/rollback() +// so forcing it and not relying on container for it +thread.setContextClassLoader(deployment.getClassLoader() != null ? deployment.getClassLoader() : loader); + SetAccessible.on(ejbTimeout); container.invoke(deployment.getDeploymentID(), InterfaceType.TIMEOUT, @@ -849,6 +855,8 @@ public class EjbTimerServiceImpl impleme log.warning(Error occured while calling ejbTimeout, e); throw e; } finally { +thread.setContextClassLoader(loader); + // clean up the timer store //TODO shall we do all this via Quartz listener ??? if (timerData.getType() == TimerType.SingleAction) {
svn commit: r1629490 - /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
Author: rmannibucau Date: Sun Oct 5 13:10:16 2014 New Revision: 1629490 URL: http://svn.apache.org/r1629490 Log: backporting Thiago fix to avoid NPE is a persistence unit datasource isnull Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java?rev=1629490r1=1629489r2=1629490view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java Sun Oct 5 13:10:16 2014 @@ -1367,6 +1367,10 @@ public class AutoConfig implements Dynam // first try exact matching without JtaManaged which is not mandatory actually (custom DS + JTADataSourceWrapperFactory) final String jtaWithJavaAndSlash = replaceJavaAndSlash(unit.getJtaDataSource()); for (final String potentialName : asList(prefix + jtaWithJavaAndSlash, jtaWithJavaAndSlash)) { +if(potentialName == null) { +// If unit.getJtaDataSource() is null, one of the potentialName is also null. +continue; +} final ResourceInfo jtaInfo = configFactory.getResourceInfo(potentialName); if (jtaInfo != null) { if (!false.equalsIgnoreCase(jtaInfo.properties.getProperty(JtaManaged)) // don't test true since it can be missing @@ -1381,6 +1385,10 @@ public class AutoConfig implements Dynam final String nonJtaWithJavaAndSlash = replaceJavaAndSlash(unit.getNonJtaDataSource()); for (final String potentialName : asList(prefix + nonJtaWithJavaAndSlash, nonJtaWithJavaAndSlash)) { +if(potentialName == null) { +// If unit.getNonJtaDataSource() is null, one of the potentialName is also null +continue; +} final ResourceInfo info = configFactory.getResourceInfo(potentialName); if (info != null) { if (!true.equalsIgnoreCase(info.properties.getProperty(JtaManaged))
svn commit: r1629496 - in /tomee/tomee/trunk/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded: ClasspathAsWebappTest.java ThreadStackRule.java
Author: rmannibucau Date: Sun Oct 5 13:44:08 2014 New Revision: 1629496 URL: http://svn.apache.org/r1629496 Log: adding a rule to get some info when the server is hanging Added: tomee/tomee/trunk/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ThreadStackRule.java Modified: tomee/tomee/trunk/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ClasspathAsWebappTest.java Modified: tomee/tomee/trunk/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ClasspathAsWebappTest.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ClasspathAsWebappTest.java?rev=1629496r1=1629495r2=1629496view=diff == --- tomee/tomee/trunk/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ClasspathAsWebappTest.java (original) +++ tomee/tomee/trunk/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ClasspathAsWebappTest.java Sun Oct 5 13:44:08 2014 @@ -19,6 +19,7 @@ package org.apache.tomee.embedded; import org.apache.openejb.loader.IO; import org.apache.openejb.loader.JarLocation; import org.apache.openejb.util.NetworkUtil; +import org.junit.Rule; import org.junit.Test; import javax.ejb.EJB; @@ -45,9 +46,11 @@ import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.core.Application; import java.io.IOException; +import java.lang.reflect.Modifier; import java.net.MalformedURLException; import java.net.URI; import java.net.URL; +import java.util.Iterator; import java.util.Set; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -65,6 +68,9 @@ public class ClasspathAsWebappTest { @EJB private Task2 anEjb; +@Rule +public final ThreadStackRule debugWatcher = new ThreadStackRule(); + @Test public void run() throws MalformedURLException { MyInitializer.found = null; @@ -78,6 +84,13 @@ public class ClasspathAsWebappTest { // Servlet (initializer, servlet) assertNotNull(MyInitializer.found); +final IteratorClass? it = MyInitializer.found.iterator(); +while (it.hasNext()) { // ThreadStackRule defines one for instance +final Class? next = it.next(); +if (next.getEnclosingClass() != null !Modifier.isStatic(next.getModifiers())) { +it.remove(); +} +} assertEquals(1, MyInitializer.found.size()); assertEquals(Task1.class, MyInitializer.found.iterator().next()); try { Added: tomee/tomee/trunk/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ThreadStackRule.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ThreadStackRule.java?rev=1629496view=auto == --- tomee/tomee/trunk/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ThreadStackRule.java (added) +++ tomee/tomee/trunk/tomee/tomee-embedded/src/test/java/org/apache/tomee/embedded/ThreadStackRule.java Sun Oct 5 13:44:08 2014 @@ -0,0 +1,69 @@ +/** + * 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.tomee.embedded; + +import org.apache.openejb.util.DaemonThreadFactory; +import org.apache.openejb.util.Pipe; +import org.junit.rules.TestRule; +import org.junit.runner.Description; +import org.junit.runners.model.Statement; + +import java.lang.management.ManagementFactory; +import java.lang.management.RuntimeMXBean; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; + +// only for debugging purpose (mainly on buildbot) +public class ThreadStackRule implements TestRule { +@Override +public Statement apply(final Statement base, final Description description) { +if (System.getProperty(os.name, unknown).toLowerCase().startsWith(windows)) { +return base; +} +return new Statement() { +@Override
svn commit: r1629580 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb: assembler/classic/ bval/
Author: rmannibucau Date: Mon Oct 6 07:24:30 2014 New Revision: 1629580 URL: http://svn.apache.org/r1629580 Log: TOMEE-1381 passing good ValidatorFactory property to JPA Added: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.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/assembler/classic/EntityManagerFactoryCallable.java tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/bval/ValidatorUtil.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=1629580r1=1629579r2=1629580view=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 Oct 6 07:24:30 2014 @@ -711,6 +711,9 @@ public class Assembler extends Assembler final MapString, LazyValidatorFactory lazyValidatorFactories = new HashMapString, LazyValidatorFactory(); final MapString, LazyValidator lazyValidators = new HashMapString, LazyValidator(); final boolean isGeronimo = SystemInstance.get().hasProperty(openejb.geronimo); + +// try to not create N times the same validator for a single app +final MapComparableValidationConfig, ValidatorFactory validatorFactoriesByConfig = new HashMapComparableValidationConfig, ValidatorFactory(); if (!isGeronimo) { // Bean Validation // ValidatorFactory needs to be put in the map sent to the entity manager factory @@ -719,15 +722,27 @@ public class Assembler extends Assembler final MapString, ValidatorFactory validatorFactories = new HashMapString, ValidatorFactory(); for (final CommonInfoObject info : vfs) { -ValidatorFactory factory = null; -try { // lazy cause of CDI :( -final LazyValidatorFactory handler = new LazyValidatorFactory(classLoader, info.validationInfo); -factory = (ValidatorFactory) Proxy.newProxyInstance( -appContext.getClassLoader(), VALIDATOR_FACTORY_INTERFACES, handler); -lazyValidatorFactories.put(info.uniqueId, handler); -} catch (final ValidationException ve) { -logger.warning(can't build the validation factory for module + info.uniqueId, ve); -continue; +final ComparableValidationConfig conf = new ComparableValidationConfig( +info.validationInfo.providerClassName, info.validationInfo.messageInterpolatorClass, +info.validationInfo.traversableResolverClass, info.validationInfo.constraintFactoryClass, +info.validationInfo.parameterNameProviderClass, info.validationInfo.version, +info.validationInfo.propertyTypes, info.validationInfo.constraintMappings, +info.validationInfo.executableValidationEnabled, info.validationInfo.validatedTypes +); +ValidatorFactory factory = validatorFactoriesByConfig.get(conf); +if (factory == null) { +try { // lazy cause of CDI :( +final LazyValidatorFactory handler = new LazyValidatorFactory(classLoader, info.validationInfo); +factory = (ValidatorFactory) Proxy.newProxyInstance( +appContext.getClassLoader(), VALIDATOR_FACTORY_INTERFACES, handler); +lazyValidatorFactories.put(info.uniqueId, handler); +} catch (final ValidationException ve) { +logger.warning(can't build the validation factory for module + info.uniqueId, ve); +continue; +} +validatorFactoriesByConfig.put(conf, factory); +} else { +lazyValidatorFactories.put(info.uniqueId, LazyValidatorFactory.class.cast(Proxy.getInvocationHandler
svn commit: r1629581 - in /tomee/tomee/trunk/examples/deltaspike-fullstack/src: main/resources/META-INF/validation.xml test/java/org/superbiz/deltaspike/test/PageBeanTest.java
Author: rmannibucau Date: Mon Oct 6 07:25:37 2014 New Revision: 1629581 URL: http://svn.apache.org/r1629581 Log: ensuring BVal works with JPA in a test Removed: tomee/tomee/trunk/examples/deltaspike-fullstack/src/main/resources/META-INF/validation.xml Modified: tomee/tomee/trunk/examples/deltaspike-fullstack/src/test/java/org/superbiz/deltaspike/test/PageBeanTest.java Modified: tomee/tomee/trunk/examples/deltaspike-fullstack/src/test/java/org/superbiz/deltaspike/test/PageBeanTest.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/deltaspike-fullstack/src/test/java/org/superbiz/deltaspike/test/PageBeanTest.java?rev=1629581r1=1629580r2=1629581view=diff == --- tomee/tomee/trunk/examples/deltaspike-fullstack/src/test/java/org/superbiz/deltaspike/test/PageBeanTest.java (original) +++ tomee/tomee/trunk/examples/deltaspike-fullstack/src/test/java/org/superbiz/deltaspike/test/PageBeanTest.java Mon Oct 6 07:25:37 2014 @@ -26,20 +26,13 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.superbiz.deltaspike.WebappMessageBundle; import org.superbiz.deltaspike.domain.User; -import org.superbiz.deltaspike.domain.validation.UniqueUserName; import org.superbiz.deltaspike.repository.UserRepository; import org.superbiz.deltaspike.view.RegistrationPage; import org.superbiz.deltaspike.view.config.Pages; import javax.faces.context.FacesContext; import javax.inject.Inject; -import javax.validation.ConstraintViolation; -import javax.validation.Validator; -import java.util.Set; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; +import javax.persistence.PersistenceException; @RunWith(CdiTestRunner.class) public class PageBeanTest @@ -59,26 +52,21 @@ public class PageBeanTest @Inject private ContextControl contextControl; -@Inject -private Validator validator; - -@Test +@Test(expected = PersistenceException.class) public void duplicatedUser() { final String userName = tomee; final String firstName = Apache; final String lastName = TomEE; -this.userRepository.save(new User(userName, firstName, lastName)); -final SetConstraintViolationUser error = validator.validate(new User(userName, firstName, lastName), UniqueUserName.class); -assertNotNull(error); -assertEquals(1, error.size()); +this.userRepository.saveAndFlush(new User(userName, firstName, lastName)); +this.userRepository.saveAndFlush(new User(userName, firstName + 2, lastName + 2)); } @Test public void saveUser() { -final String userName = gp; +final String userName = GP; final String firstName = Gerhard; final String lastName = Petracek; this.windowContext.activateWindow(testWindow);
svn commit: r1629582 - in /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb: assembler/classic/ bval/
Author: rmannibucau Date: Mon Oct 6 07:26:04 2014 New Revision: 1629582 URL: http://svn.apache.org/r1629582 Log: TOMEE-1381 passing good ValidatorFactory property to JPA Added: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/LazyValidatorFactory.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityManagerFactoryCallable.java tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/LazyValidator.java tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/bval/ValidatorUtil.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1629582r1=1629581r2=1629582view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Mon Oct 6 07:26:04 2014 @@ -36,16 +36,13 @@ import org.apache.openejb.Injection; import org.apache.openejb.JndiConstants; import org.apache.openejb.MethodContext; import org.apache.openejb.NoSuchApplicationException; -import org.apache.openejb.OpenEJB; import org.apache.openejb.OpenEJBException; import org.apache.openejb.OpenEJBRuntimeException; import org.apache.openejb.UndeployException; -import org.apache.openejb.api.DestroyableResource; import org.apache.openejb.assembler.classic.event.AssemblerAfterApplicationCreated; import org.apache.openejb.assembler.classic.event.AssemblerBeforeApplicationDestroyed; import org.apache.openejb.assembler.classic.event.AssemblerCreated; import org.apache.openejb.assembler.classic.event.AssemblerDestroyed; -import org.apache.openejb.assembler.classic.event.BeanContextsInitializedEvent; import org.apache.openejb.assembler.classic.event.ContainerSystemPostCreate; import org.apache.openejb.assembler.classic.event.ContainerSystemPreDestroy; import org.apache.openejb.assembler.monitoring.JMXContainer; @@ -95,7 +92,6 @@ import org.apache.openejb.jpa.integratio import org.apache.openejb.loader.IO; import org.apache.openejb.loader.JarLocation; import org.apache.openejb.loader.Options; -import org.apache.openejb.loader.ProvisioningUtil; import org.apache.openejb.loader.SystemInstance; import org.apache.openejb.monitoring.DynamicMBeanWrapper; import org.apache.openejb.monitoring.LocalMBeanServer; @@ -227,7 +223,8 @@ public class Assembler extends Assembler public static final String TIMER_STORE_CLASS = timerStore.class; private static final ReentrantLock lock = new ReentrantLock(true); public static final String OPENEJB_TIMERS_ON = openejb.timers.on; - +public static final Class?[] VALIDATOR_FACTORY_INTERFACES = new Class?[]{ValidatorFactory.class}; +public static final Class?[] VALIDATOR_INTERFACES = new Class?[]{Validator.class}; private final boolean skipLoaderIfPossible; Messages messages = new Messages(Assembler.class.getPackage().getName()); @@ -325,8 +322,6 @@ public class Assembler extends Assembler final CollectionURL urls = NewLoaderLogic.applyBuiltinExcludes(new UrlSet(Assembler.class.getClassLoader()).excludeJvm()).getUrls(); Extensions.installExtensions(new ResourceFinder(META-INF, urls.toArray(new URL[urls.size()]))); return; -} catch (final MalformedURLException e) { -// no-op } catch (final IOException e) { // no-op } @@ -475,8 +470,9 @@ public class Assembler extends Assembler */ @SuppressWarnings(ThrowableResultOfMethodCallIgnored) public void buildContainerSystem(final OpenEjbConfiguration configInfo) throws Exception { -if (SystemInstance.get().getOptions().get(OPENEJB_JPA_DEPLOY_TIME_ENHANCEMENT_PROP, false)) { -SystemInstance.get().addObserver(new DeployTimeEnhancer()); +final SystemInstance systemInstance = SystemInstance.get
svn commit: r1629603 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java
Author: rmannibucau Date: Mon Oct 6 10:12:06 2014 New Revision: 1629603 URL: http://svn.apache.org/r1629603 Log: style Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java?rev=1629603r1=1629602r2=1629603view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java Mon Oct 6 10:12:06 2014 @@ -73,24 +73,36 @@ public class ComparableValidationConfig final ComparableValidationConfig that = (ComparableValidationConfig) o; -if (executableValidationEnabled != that.executableValidationEnabled) return false; -if (constraintFactoryClass != null ? !constraintFactoryClass.equals(that.constraintFactoryClass) : that.constraintFactoryClass != null) +if (executableValidationEnabled != that.executableValidationEnabled) { return false; -if (constraintMappings != null ? !constraintMappings.equals(that.constraintMappings) : that.constraintMappings != null) +} +if (constraintFactoryClass != null ? !constraintFactoryClass.equals(that.constraintFactoryClass) : that.constraintFactoryClass != null) { return false; -if (messageInterpolatorClass != null ? !messageInterpolatorClass.equals(that.messageInterpolatorClass) : that.messageInterpolatorClass != null) +} +if (constraintMappings != null ? !constraintMappings.equals(that.constraintMappings) : that.constraintMappings != null) { return false; -if (parameterNameProviderClass != null ? !parameterNameProviderClass.equals(that.parameterNameProviderClass) : that.parameterNameProviderClass != null) +} +if (messageInterpolatorClass != null ? !messageInterpolatorClass.equals(that.messageInterpolatorClass) : that.messageInterpolatorClass != null) { return false; -if (propertyTypes != null ? !propertyTypes.equals(that.propertyTypes) : that.propertyTypes != null) +} +if (parameterNameProviderClass != null ? !parameterNameProviderClass.equals(that.parameterNameProviderClass) : that.parameterNameProviderClass != null) { return false; -if (providerClassName != null ? !providerClassName.equals(that.providerClassName) : that.providerClassName != null) +} +if (propertyTypes != null ? !propertyTypes.equals(that.propertyTypes) : that.propertyTypes != null) { return false; -if (traversableResolverClass != null ? !traversableResolverClass.equals(that.traversableResolverClass) : that.traversableResolverClass != null) +} +if (providerClassName != null ? !providerClassName.equals(that.providerClassName) : that.providerClassName != null) { return false; -if (validatedTypes != null ? !validatedTypes.equals(that.validatedTypes) : that.validatedTypes != null) +} +if (traversableResolverClass != null ? !traversableResolverClass.equals(that.traversableResolverClass) : that.traversableResolverClass != null) { return false; -if (version != null ? !version.equals(that.version) : that.version != null) return false; +} +if (validatedTypes != null ? !validatedTypes.equals(that.validatedTypes) : that.validatedTypes != null) { +return false; +} +if (version != null ? !version.equals(that.version) : that.version != null) { +return false; +} return true; }
svn commit: r1629604 - in /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic: Assembler.java ComparableValidationConfig.java
Author: rmannibucau Date: Mon Oct 6 10:12:34 2014 New Revision: 1629604 URL: http://svn.apache.org/r1629604 Log: style + missing methods (wrong refactoring in previous commit) Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1629604r1=1629603r2=1629604view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Mon Oct 6 10:12:34 2014 @@ -92,6 +92,7 @@ import org.apache.openejb.jpa.integratio import org.apache.openejb.loader.IO; import org.apache.openejb.loader.JarLocation; import org.apache.openejb.loader.Options; +import org.apache.openejb.loader.ProvisioningUtil; import org.apache.openejb.loader.SystemInstance; import org.apache.openejb.monitoring.DynamicMBeanWrapper; import org.apache.openejb.monitoring.LocalMBeanServer; @@ -531,6 +532,10 @@ public class Assembler extends Assembler } } +public boolean isDeployed(final String path) { +return deployedApplications.containsKey(ProvisioningUtil.realLocation(path)); +} + public CollectionAppInfo getDeployedApplications() { return new ArrayListAppInfo(deployedApplications.values()); } Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java?rev=1629604r1=1629603r2=1629604view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java Mon Oct 6 10:12:34 2014 @@ -59,18 +59,24 @@ public class ComparableValidationConfig final ComparableValidationConfig that = (ComparableValidationConfig) o; -if (constraintFactoryClass != null ? !constraintFactoryClass.equals(that.constraintFactoryClass) : that.constraintFactoryClass != null) +if (constraintFactoryClass != null ? !constraintFactoryClass.equals(that.constraintFactoryClass) : that.constraintFactoryClass != null) { return false; -if (constraintMappings != null ? !constraintMappings.equals(that.constraintMappings) : that.constraintMappings != null) +} +if (constraintMappings != null ? !constraintMappings.equals(that.constraintMappings) : that.constraintMappings != null) { return false; -if (messageInterpolatorClass != null ? !messageInterpolatorClass.equals(that.messageInterpolatorClass) : that.messageInterpolatorClass != null) +} +if (messageInterpolatorClass != null ? !messageInterpolatorClass.equals(that.messageInterpolatorClass) : that.messageInterpolatorClass != null) { return false; -if (propertyTypes != null ? !propertyTypes.equals(that.propertyTypes) : that.propertyTypes != null) +} +if (propertyTypes != null ? !propertyTypes.equals(that.propertyTypes) : that.propertyTypes != null) { return false; -if (providerClassName != null ? !providerClassName.equals(that.providerClassName) : that.providerClassName != null) +} +if (providerClassName != null ? !providerClassName.equals(that.providerClassName) : that.providerClassName != null) { return false; -if (traversableResolverClass != null ? !traversableResolverClass.equals(that.traversableResolverClass) : that.traversableResolverClass != null) +} +if (traversableResolverClass != null ? !traversableResolverClass.equals(that.traversableResolverClass) : that.traversableResolverClass != null) { return false; +} return true; }
svn commit: r1629615 - in /tomee/tomee/branches/tomee-1.7.x: container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ container/openejb-core/src/main/java/org/apache/openejb/cdi/ con
Author: rmannibucau Date: Mon Oct 6 11:01:01 2014 New Revision: 1629615 URL: http://svn.apache.org/r1629615 Log: don't init logger too early Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java tomee/tomee/branches/tomee-1.7.x/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1629615r1=1629614r2=1629615view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Mon Oct 6 11:01:01 2014 @@ -217,7 +217,7 @@ public class Assembler extends Assembler } public static final String OPENEJB_URL_PKG_PREFIX = IvmContext.class.getPackage().getName(); -public static final Logger logger = Logger.getInstance(LogCategory.OPENEJB_STARTUP, Assembler.class); +public final Logger logger; public static final String OPENEJB_JPA_DEPLOY_TIME_ENHANCEMENT_PROP = openejb.jpa.deploy-time-enhancement; public static final String PROPAGATE_APPLICATION_EXCEPTIONS = openejb.propagate.application-exceptions; private static final String GLOBAL_UNIQUE_ID = global; @@ -289,6 +289,7 @@ public class Assembler extends Assembler } public Assembler(final JndiFactory jndiFactory) { +logger = Logger.getInstance(LogCategory.OPENEJB_STARTUP, Assembler.class); skipLoaderIfPossible = true.equalsIgnoreCase(SystemInstance.get().getProperty(openejb.classloader.skip-app-loader-if-possible, true)); persistenceClassLoaderHandler = new PersistenceClassLoaderHandlerImpl(); @@ -1147,7 +1148,7 @@ public class Assembler extends Assembler return ejbs; } -private static TimerStore newTimerStore(final BeanContext beanContext) { +private TimerStore newTimerStore(final BeanContext beanContext) { for (final DeploymentContext context : Arrays.asList(beanContext, beanContext.getModuleContext(), beanContext.getModuleContext().getAppContext())) { final String timerStoreClass = context.getProperties().getProperty(TIMER_STORE_CLASS); if (timerStoreClass != null) { @@ -1493,7 +1494,7 @@ public class Assembler extends Assembler return resources; } -private static void destroyResource(final String name, final String className, final Object object) { +private void destroyResource(final String name, final String className, final Object object) { if (object instanceof ResourceAdapter) { final ResourceAdapter resourceAdapter = (ResourceAdapter) object; try { @@ -2664,6 +2665,7 @@ public class Assembler extends Assembler } private static void logUnusedProperties(final MapString, Object unsetProperties, final ServiceInfo info) { +Logger logger = null; for (final String property : unsetProperties.keySet()) { //TODO: DMB: Make more robust later if (property.equalsIgnoreCase(Definition)) { @@ -2703,6 +2705,9 @@ public class Assembler extends Assembler continue; // inline service (no sp) } +if (logger == null) { +logger = SystemInstance.get().getComponent(Assembler.class).logger; +} logger.getChildLogger(service).warning(unusedProperty, property, info.id); } } @@ -2779,7 +2784,7 @@ public class Assembler extends Assembler transformers.add(classFileTransformer); } } else if (!logged.getAndSet(true)) { -logger.warning(assembler.noAgent); + SystemInstance.get().getComponent(Assembler.class).logger.warning(assembler.noAgent); } } @@ -2793,7 +2798,7 @@ public class Assembler extends Assembler instrumentation.removeTransformer(transformer); } } else { -logger.error(assembler.noAgent); + SystemInstance.get().getComponent(Assembler.class).logger.error(assembler.noAgent); } } } Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache
svn commit: r1629618 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
Author: rmannibucau Date: Mon Oct 6 11:07:41 2014 New Revision: 1629618 URL: http://svn.apache.org/r1629618 Log: we miss configure(Props) in LogStreamfactory so workaround for a known property, we can desire to do it for few more and maybe use a ThreadLocal but it would be a as poor solution as today Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java?rev=1629618r1=1629617r2=1629618view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java Mon Oct 6 11:07:41 2014 @@ -82,21 +82,36 @@ public class Logger { factoryName = org.apache.openejb.util.Log4j2LogStreamFactory; } -if (factoryName != null) { +// we can be called before having SystemInstance so we need this hack to set some specific +// environment +// without changing LogStreamFactory contract +final String specialKey = openejb.jul.forceReload; +final String original = System.getProperty(specialKey); +System.setProperty(specialKey, config.getProperty(specialKey, SystemInstance.isInitialized() ? SystemInstance.get().getOptions().get(specialKey, (String) null) : null)); -logStreamFactory = createFactory(factoryName); -} +try { +if (factoryName != null) { -if (isLog4jImplied()) { -logStreamFactory = createFactory(org.apache.openejb.util.Log4jLogStreamFactory); -} +logStreamFactory = createFactory(factoryName); +} -//Fall back - JUL -if (logStreamFactory == null) { -logStreamFactory = new JuliLogStreamFactory(); -} +if (isLog4jImplied()) { +logStreamFactory = createFactory(org.apache.openejb.util.Log4jLogStreamFactory); +} -checkForIgnoredLog4jConfig(); +//Fall back - JUL +if (logStreamFactory == null) { +logStreamFactory = new JuliLogStreamFactory(); +} + +checkForIgnoredLog4jConfig(); +} finally { +if (original == null) { +System.clearProperty(specialKey); +} else { +System.setProperty(specialKey, original); +} +} } private static void checkForIgnoredLog4jConfig() {
svn commit: r1629626 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
Author: rmannibucau Date: Mon Oct 6 12:19:49 2014 New Revision: 1629626 URL: http://svn.apache.org/r1629626 Log: avoid NPE Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java?rev=1629626r1=1629625r2=1629626view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java Mon Oct 6 12:19:49 2014 @@ -87,7 +87,10 @@ public class Logger { // without changing LogStreamFactory contract final String specialKey = openejb.jul.forceReload; final String original = System.getProperty(specialKey); -System.setProperty(specialKey, config.getProperty(specialKey, SystemInstance.isInitialized() ? SystemInstance.get().getOptions().get(specialKey, (String) null) : null)); +final String property = config.getProperty(specialKey, SystemInstance.isInitialized() ? SystemInstance.get().getOptions().get(specialKey, (String) null) : null); +if (property != null) { +System.setProperty(specialKey, property); +} try { if (factoryName != null) {
svn commit: r1629700 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
Author: rmannibucau Date: Mon Oct 6 16:18:30 2014 New Revision: 1629700 URL: http://svn.apache.org/r1629700 Log: reducing potential locks Modified: 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/util/JuliLogStreamFactory.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java?rev=1629700r1=1629699r2=1629700view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java Mon Oct 6 16:18:30 2014 @@ -161,13 +161,15 @@ public class JuliLogStreamFactory implem public String getProperty(final String name) { final String parentValue = super.getProperty(name); -if (SystemInstance.get().getProperties().containsKey(name)) { -return SystemInstance.get().getProperty(name); -} +if (SystemInstance.isInitialized()) { +if (SystemInstance.get().getProperties().containsKey(name)) { +return SystemInstance.get().getProperty(name); +} -final String propertyKeyValue = logging + reverseProperty(name); -if (SystemInstance.get().getProperties().containsKey(propertyKeyValue)) { -return SystemInstance.get().getProperty(propertyKeyValue); +final String propertyKeyValue = logging + reverseProperty(name); +if (SystemInstance.get().getProperties().containsKey(propertyKeyValue)) { +return SystemInstance.get().getProperty(propertyKeyValue); +} } // if it is one of ours loggers and no value is defined let set our nice logging style @@ -182,17 +184,18 @@ public class JuliLogStreamFactory implem } return parentValue; } +} -private static String reverseProperty(final String name) { -if (name.contains(.) !name.endsWith(.)) { -final int idx = name.lastIndexOf('.'); -return name.substring(idx) + . + name.substring(0, idx); -} -return name; +private static String reverseProperty(final String name) { +if (name.contains(.) !name.endsWith(.)) { +final int idx = name.lastIndexOf('.'); +return name.substring(idx) + . + name.substring(0, idx); } +return name; +} -private static boolean isOverridableLogger(final String name) { -return useOpenEJBHandler +private static boolean isOverridableLogger(final String name) { +return useOpenEJBHandler || name.toLowerCase().contains(openejb) || name.toLowerCase().contains(transaction) || name.toLowerCase().contains(cxf) @@ -202,7 +205,6 @@ public class JuliLogStreamFactory implem || name.startsWith(net.sf.ehcache.) || name.startsWith(org.quartz.) || name.startsWith(org.hibernate.); -} } public static class OpenEJBSimpleLayoutHandler extends ConsoleHandler {
svn commit: r1629699 - /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
Author: rmannibucau Date: Mon Oct 6 16:18:21 2014 New Revision: 1629699 URL: http://svn.apache.org/r1629699 Log: reducing potential locks Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java?rev=1629699r1=1629698r2=1629699view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java Mon Oct 6 16:18:21 2014 @@ -155,13 +155,15 @@ public class JuliLogStreamFactory implem public String getProperty(final String name) { final String parentValue = super.getProperty(name); -if (SystemInstance.get().getProperties().containsKey(name)) { -return SystemInstance.get().getProperty(name); -} +if (SystemInstance.isInitialized()) { +if (SystemInstance.get().getProperties().containsKey(name)) { +return SystemInstance.get().getProperty(name); +} -final String propertyKeyValue = logging + reverseProperty(name); -if (SystemInstance.get().getProperties().containsKey(propertyKeyValue)) { -return SystemInstance.get().getProperty(propertyKeyValue); +final String propertyKeyValue = logging + reverseProperty(name); +if (SystemInstance.get().getProperties().containsKey(propertyKeyValue)) { +return SystemInstance.get().getProperty(propertyKeyValue); +} } // if it is one of ours loggers and no value is defined let set our nice logging style @@ -176,17 +178,18 @@ public class JuliLogStreamFactory implem } return parentValue; } +} -private static String reverseProperty(final String name) { -if (name.contains(.) !name.endsWith(.)) { -final int idx = name.lastIndexOf('.'); -return name.substring(idx) + . + name.substring(0, idx); -} -return name; +private static String reverseProperty(final String name) { +if (name.contains(.) !name.endsWith(.)) { +final int idx = name.lastIndexOf('.'); +return name.substring(idx) + . + name.substring(0, idx); } +return name; +} -private static boolean isOverridableLogger(final String name) { -return useOpenEJBHandler +private static boolean isOverridableLogger(final String name) { +return useOpenEJBHandler || name.toLowerCase().contains(openejb) || name.toLowerCase().contains(transaction) || name.toLowerCase().contains(cxf) @@ -196,7 +199,6 @@ public class JuliLogStreamFactory implem || name.startsWith(net.sf.ehcache.) || name.startsWith(org.quartz.) || name.startsWith(org.hibernate.); -} } public static class OpenEJBSimpleLayoutHandler extends ConsoleHandler {
svn commit: r1629702 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
Author: rmannibucau Date: Mon Oct 6 16:26:45 2014 New Revision: 1629702 URL: http://svn.apache.org/r1629702 Log: reducing potential locks Modified: 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/util/JuliLogStreamFactory.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java?rev=1629702r1=1629701r2=1629702view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java Mon Oct 6 16:26:45 2014 @@ -53,7 +53,6 @@ public class JuliLogStreamFactory implem final Options options = SystemInstance.get().getOptions(); final boolean forceLogs = options.get(openejb.jul.forceReload, false); if ((!tomee || embedded || forceLogs) System.getProperty(java.util.logging.manager) == null) { -System.setProperty(java.util.logging.manager, OpenEJBLogManager.class.getName()); if (options.get(OPENEJB_LOG_COLOR_PROP, false) isNotIDE()) { consoleHandlerClazz = org.apache.openejb.log.ConsoleColorHandler.class.getName(); } else { @@ -93,6 +92,8 @@ public class JuliLogStreamFactory implem // no-op } } +// do it last since otherwise it can lock +System.setProperty(java.util.logging.manager, OpenEJBLogManager.class.getName()); } try {
svn commit: r1629708 - in /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi: OpenEJBLifecycle.java ThreadSingletonServiceImpl.java
Author: rmannibucau Date: Mon Oct 6 16:47:38 2014 New Revision: 1629708 URL: http://svn.apache.org/r1629708 Log: TOMEE-1382 allow to override LoaderService of OWB + don't load for free cdi extensions Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java?rev=1629708r1=1629707r2=1629708view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java Mon Oct 6 16:47:38 2014 @@ -169,9 +169,6 @@ public class OpenEJBLifecycle implements //Deploy the beans try { -//Load Extensions - webBeansContext.getExtensionLoader().loadExtensionServices(Thread.currentThread().getContextClassLoader()); // init in OpenEJBLifecycle - //Initialize contexts this.contextsService.init(startupObject); Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java?rev=1629708r1=1629707r2=1629708view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/ThreadSingletonServiceImpl.java Mon Oct 6 16:47:38 2014 @@ -121,9 +121,9 @@ public class ThreadSingletonServiceImpl services.put(ELAdaptor.class, new CustomELAdapter(appContext)); services.put(ScannerService.class, new CdiScanner()); final LoaderService loaderService = SystemInstance.get().getComponent(LoaderService.class); -if (loaderService == null) { +if (loaderService == null !properties.containsKey(LoaderService.class.getName())) { services.put(LoaderService.class, new OptimizedLoaderService()); -} else { +} else if (loaderService != null) { services.put(LoaderService.class, loaderService); }
svn commit: r1629709 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi: OpenEJBLifecycle.java ThreadSingletonServiceImpl.java
Author: rmannibucau Date: Mon Oct 6 16:47:40 2014 New Revision: 1629709 URL: http://svn.apache.org/r1629709 Log: TOMEE-1382 allow to override LoaderService of OWB + don't load for free cdi extensions Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.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/cdi/OpenEJBLifecycle.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java?rev=1629709r1=1629708r2=1629709view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/OpenEJBLifecycle.java Mon Oct 6 16:47:40 2014 @@ -167,9 +167,6 @@ public class OpenEJBLifecycle implements //Deploy the beans CdiScanner cdiScanner = null; try { -//Load Extensions - webBeansContext.getExtensionLoader().loadExtensionServices(Thread.currentThread().getContextClassLoader()); // init in OpenEJBLifecycle - //Initialize contexts this.contextsService.init(startupObject); 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=1629709r1=1629708r2=1629709view=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 Oct 6 16:47:40 2014 @@ -126,9 +126,9 @@ public class ThreadSingletonServiceImpl services.put(ELAdaptor.class, new CustomELAdapter(appContext)); services.put(ScannerService.class, new CdiScanner()); final LoaderService loaderService = SystemInstance.get().getComponent(LoaderService.class); -if (loaderService == null) { +if (loaderService == null !properties.containsKey(LoaderService.class.getName())) { services.put(LoaderService.class, new OptimizedLoaderService()); -} else { +} else if (loaderService != null) { services.put(LoaderService.class, loaderService); }
svn commit: r1629830 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
Author: rmannibucau Date: Tue Oct 7 08:59:53 2014 New Revision: 1629830 URL: http://svn.apache.org/r1629830 Log: id is useless Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java?rev=1629830r1=1629829r2=1629830view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java Tue Oct 7 08:59:53 2014 @@ -239,8 +239,7 @@ public abstract class BaseEjbProxyHandle // bean was undeployed if (method.getName().equals(writeReplace)) { // session serialization, we just need to replace this final BeanContext beanContext = beanContextRef.get(); -final Object id = beanContext.getDeploymentID(); -if (beanContext != null id != null) { +if (beanContext != null) { return _writeReplace(proxy); } }
svn commit: r1629831 - /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
Author: rmannibucau Date: Tue Oct 7 09:00:18 2014 New Revision: 1629831 URL: http://svn.apache.org/r1629831 Log: id is useless Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java?rev=1629831r1=1629830r2=1629831view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java Tue Oct 7 09:00:18 2014 @@ -241,8 +241,7 @@ public abstract class BaseEjbProxyHandle // bean was undeployed if (method.getName().equals(writeReplace)) { // session serialization, we just need to replace this final BeanContext beanContext = beanContextRef.get(); -final Object id = beanContext.getDeploymentID(); -if (beanContext != null id != null) { +if (beanContext != null) { return _writeReplace(proxy); } }
svn commit: r1629848 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util: JuliLogStreamFactory.java Logger.java
Author: rmannibucau Date: Tue Oct 7 10:11:24 2014 New Revision: 1629848 URL: http://svn.apache.org/r1629848 Log: TOMEE-1385 allow to change consoleHandlerClazz Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java?rev=1629848r1=1629847r2=1629848view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java Tue Oct 7 10:11:24 2014 @@ -19,6 +19,7 @@ package org.apache.openejb.util; import org.apache.openejb.loader.Options; import org.apache.openejb.loader.SystemInstance; +import org.apache.openejb.log.ConsoleColorHandler; import org.apache.openejb.log.SingleLineFormatter; import org.apache.openejb.util.reflection.Reflections; import org.apache.webbeans.logger.WebBeansLoggerFacade; @@ -53,10 +54,13 @@ public class JuliLogStreamFactory implem final Options options = SystemInstance.get().getOptions(); final boolean forceLogs = options.get(openejb.jul.forceReload, false); if ((!tomee || embedded || forceLogs) System.getProperty(java.util.logging.manager) == null) { -if (options.get(OPENEJB_LOG_COLOR_PROP, false) isNotIDE()) { -consoleHandlerClazz = org.apache.openejb.log.ConsoleColorHandler.class.getName(); -} else { -consoleHandlerClazz = OpenEJBSimpleLayoutHandler.class.getName(); +consoleHandlerClazz = System.getProperty(openejb.jul.consoleHandlerClazz); +if (consoleHandlerClazz == null) { +if (options.get(OPENEJB_LOG_COLOR_PROP, false) isNotIDE()) { +consoleHandlerClazz = ConsoleColorHandler.class.getName(); +} else { +consoleHandlerClazz = OpenEJBSimpleLayoutHandler.class.getName(); +} } try { // check it will not fail later (case when a framework change the JVM classloading) Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java?rev=1629848r1=1629847r2=1629848view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java Tue Oct 7 10:11:24 2014 @@ -85,11 +85,16 @@ public class Logger { // we can be called before having SystemInstance so we need this hack to set some specific // environment // without changing LogStreamFactory contract -final String specialKey = openejb.jul.forceReload; -final String original = System.getProperty(specialKey); -final String property = config.getProperty(specialKey, SystemInstance.isInitialized() ? SystemInstance.get().getOptions().get(specialKey, (String) null) : null); -if (property != null) { -System.setProperty(specialKey, property); +final String[] specialKeys = new String[] { openejb.jul.forceReload, openejb.jul.consoleHandlerClazz }; +final String[] originals = new String[specialKeys.length]; +for (int i = 0; i specialKeys.length; i++) { +originals[i] = System.getProperty(specialKeys[i]); +final String property = config.getProperty( +specialKeys[i], +SystemInstance.isInitialized() ? SystemInstance.get().getOptions().get(specialKeys[i], (String) null) : null); +if (property != null) { +System.setProperty(specialKeys[i], property); +} } try { @@ -109,10 +114,12 @@ public class Logger { checkForIgnoredLog4jConfig(); } finally { -if (original == null) { -System.clearProperty(specialKey); -} else { -System.setProperty(specialKey, original); +for (int i = 0; i specialKeys.length; i++) { +if (originals[i] == null) { +System.clearProperty(specialKeys[i]); +} else { +System.setProperty(specialKeys[i], originals[i]); +} } } }
svn commit: r1629849 - /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
Author: rmannibucau Date: Tue Oct 7 10:17:05 2014 New Revision: 1629849 URL: http://svn.apache.org/r1629849 Log: TOMEE-1385 allow to change consoleHandlerClazz - ensure to not triger SystemInstance when not relevant Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java?rev=1629849r1=1629848r2=1629849view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java Tue Oct 7 10:17:05 2014 @@ -50,10 +50,10 @@ public class JuliLogStreamFactory implem final boolean embedded = is(org.apache.tomee.embedded.Container); // if embedded case enhance a bit logging if not set -final Options options = SystemInstance.get().getOptions(); +final Options options = SystemInstance.isInitialized() ? SystemInstance.get().getOptions() : new Options(System.getProperties()); final boolean forceLogs = options.get(openejb.jul.forceReload, false); if ((!tomee || embedded || forceLogs) System.getProperty(java.util.logging.manager) == null) { -consoleHandlerClazz = System.getProperty(openejb.jul.consoleHandlerClazz); +consoleHandlerClazz = options.get(openejb.jul.consoleHandlerClazz, (String) null); if (consoleHandlerClazz == null) { if (options.get(OPENEJB_LOG_COLOR_PROP, false) isNotIDE()) { consoleHandlerClazz = ConsoleColorHandler.class.getName();
svn commit: r1629850 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
Author: rmannibucau Date: Tue Oct 7 10:17:08 2014 New Revision: 1629850 URL: http://svn.apache.org/r1629850 Log: TOMEE-1385 allow to change consoleHandlerClazz - ensure to not triger SystemInstance when not relevant Modified: 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/util/JuliLogStreamFactory.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java?rev=1629850r1=1629849r2=1629850view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java Tue Oct 7 10:17:08 2014 @@ -51,10 +51,10 @@ public class JuliLogStreamFactory implem final boolean embedded = is(org.apache.tomee.embedded.Container); // if embedded case enhance a bit logging if not set -final Options options = SystemInstance.get().getOptions(); +final Options options = SystemInstance.isInitialized() ? SystemInstance.get().getOptions() : new Options(System.getProperties()); final boolean forceLogs = options.get(openejb.jul.forceReload, false); if ((!tomee || embedded || forceLogs) System.getProperty(java.util.logging.manager) == null) { -consoleHandlerClazz = System.getProperty(openejb.jul.consoleHandlerClazz); +consoleHandlerClazz = options.get(openejb.jul.consoleHandlerClazz, (String) null); if (consoleHandlerClazz == null) { if (options.get(OPENEJB_LOG_COLOR_PROP, false) isNotIDE()) { consoleHandlerClazz = ConsoleColorHandler.class.getName();
svn commit: r1629874 - /tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
Author: rmannibucau Date: Tue Oct 7 12:50:23 2014 New Revision: 1629874 URL: http://svn.apache.org/r1629874 Log: TOMEE-1386 skipping wink providers to not conflict with 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=1629874r1=1629873r2=1629874view=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 Tue Oct 7 12:50:23 2014 @@ -351,7 +351,8 @@ public class CxfRsHttpListener implement for (final Object o : additionalProviders) { if (o instanceof Class?) { final Class? clazz = (Class?) o; -if (false.equalsIgnoreCase(SystemInstance.get().getProperty(clazz.getName() + .activated, true))) { +final String name = clazz.getName(); +if (shouldSkipProvider(name)) { continue; } @@ -366,22 +367,23 @@ public class CxfRsHttpListener implement continue; } } catch (final Throwable th) { -LOGGER.info(Can't use CDI to create provider + clazz.getName()); +LOGGER.info(Can't use CDI to create provider + name); } } -final CollectionObject instance = ServiceInfos.resolve(services, new String[]{clazz.getName()}, OpenEJBProviderFactory.INSTANCE); +final CollectionObject instance = ServiceInfos.resolve(services, new String[]{name}, OpenEJBProviderFactory.INSTANCE); if (instance != null !instance.isEmpty()) { instances.add(instance.iterator().next()); } else { try { instances.add(newProvider(clazz)); } catch (final Exception e) { -LOGGER.error(can't instantiate + clazz.getName(), e); +LOGGER.error(can't instantiate + name, e); } } } else { -if (false.equalsIgnoreCase(SystemInstance.get().getProperty(o.getClass().getName() + .activated, true))) { +final String name = o.getClass().getName(); +if (shouldSkipProvider(name)) { continue; } instances.add(o); @@ -391,6 +393,11 @@ public class CxfRsHttpListener implement return instances; } +private static boolean shouldSkipProvider(final String name) { +return false.equalsIgnoreCase(SystemInstance.get().getProperty(name + .activated, true)) +|| name.startsWith(org.apache.wink.common.internal.); +} + private static void addMandatoryProviders(final CollectionObject instances) { instances.add(new JsrProvider()); // is this one really mandatory? instances.add(new WadlDocumentMessageBodyWriter());
svn commit: r1629880 - /tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
Author: rmannibucau Date: Tue Oct 7 12:54:45 2014 New Revision: 1629880 URL: http://svn.apache.org/r1629880 Log: TOMEE-1386 skipping wink providers to not conflict with CXF + backporting provider CDI support for Application (default) deployment mode and deprecated EJB one (not for singleton and pojo) Modified: tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java Modified: tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java?rev=1629880r1=1629879r2=1629880view=diff == --- tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java (original) +++ tomee/tomee/branches/tomee-1.7.x/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java Tue Oct 7 12:54:45 2014 @@ -64,7 +64,11 @@ import org.apache.openejb.util.LogCatego import org.apache.openejb.util.Logger; import org.apache.openejb.util.proxy.ProxyEJB; import org.apache.webbeans.config.WebBeansContext; +import org.apache.webbeans.container.BeanManagerImpl; +import org.apache.webbeans.context.creational.CreationalContextImpl; +import javax.enterprise.context.spi.CreationalContext; +import javax.enterprise.inject.spi.Bean; import javax.management.ObjectName; import javax.management.openmbean.TabularData; import javax.naming.Context; @@ -86,6 +90,7 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -119,6 +124,7 @@ public class CxfRsHttpListener implement private String servlet = ; private final CollectionPattern staticResourcesList = new CopyOnWriteArrayListPattern(); private final ListObjectName jmxNames = new ArrayListObjectName(); +private final CollectionCreationalContext? toRelease = new LinkedHashSetCreationalContext?(); private static final char[] URL_SEP = new char[] { '?', '#', ';' }; @@ -275,7 +281,8 @@ public class CxfRsHttpListener implement @Override public void deploySingleton(final String contextRoot, final String fullContext, final Object o, final Application appInstance, final CollectionObject additionalProviders, final ServiceConfiguration configuration) { -deploy(contextRoot, o.getClass(), fullContext, new SingletonResourceProvider(o), o, appInstance, null, additionalProviders, configuration); +deploy(contextRoot, o.getClass(), fullContext, new SingletonResourceProvider(o), +o, appInstance, null, additionalProviders, configuration, null); } @Deprecated @@ -291,7 +298,7 @@ public class CxfRsHttpListener implement final CollectionObject additionalProviders, final ServiceConfiguration configuration) { deploy(contextRoot, loadedClazz, fullContext, new OpenEJBPerRequestPojoResourceProvider(loader, loadedClazz, injections, context, owbCtx), -null, app, null, additionalProviders, configuration); +null, app, null, additionalProviders, configuration, null); } @Deprecated @@ -303,16 +310,18 @@ public class CxfRsHttpListener implement final ServiceConfiguration configuration) { final Object proxy = ProxyEJB.subclassProxy(beanContext); -deploy(contextRoot, beanContext.getBeanClass(), fullContext, new NoopResourceProvider(beanContext.getBeanClass(), proxy), proxy, null, new OpenEJBEJBInvoker(Collections.singleton(beanContext)), additionalProviders, configuration); +deploy(contextRoot, beanContext.getBeanClass(), fullContext, new NoopResourceProvider(beanContext.getBeanClass(), proxy), +proxy, null, new OpenEJBEJBInvoker(Collections.singleton(beanContext)), additionalProviders, configuration, beanContext.getWebBeansContext()); } private void deploy(final String contextRoot, final Class? clazz, final String address, final ResourceProvider rp, final Object serviceBean, -final Application app, final Invoker invoker, final CollectionObject additionalProviders, final ServiceConfiguration configuration) { +final Application app, final Invoker invoker, final CollectionObject additionalProviders, final ServiceConfiguration configuration, +final WebBeansContext webBeansContext) { final ClassLoader oldLoader = Thread.currentThread().getContextClassLoader(); Thread.currentThread
svn commit: r1629893 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java
Author: rmannibucau Date: Tue Oct 7 13:50:44 2014 New Revision: 1629893 URL: http://svn.apache.org/r1629893 Log: TOMEE-1265 ensure PolicyContext is loaded when hitting BasicJaccProvider Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java?rev=1629893r1=1629892r2=1629893view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java Tue Oct 7 13:50:44 2014 @@ -33,6 +33,14 @@ import java.util.Map; * @version $Rev$ $Date$ */ public class BasicJaccProvider extends JaccProvider { +static { +// force preloading to avoid to loop under SecurityManager +try { +Class.forName(PolicyContext.class.getName()); +} catch (final ClassNotFoundException e) { +// no-op +} +} private final MapString, BasicPolicyConfiguration configurations = new HashMapString, BasicPolicyConfiguration();
svn commit: r1629894 - /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java
Author: rmannibucau Date: Tue Oct 7 13:50:59 2014 New Revision: 1629894 URL: http://svn.apache.org/r1629894 Log: TOMEE-1265 ensure PolicyContext is loaded when hitting BasicJaccProvider Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java?rev=1629894r1=1629893r2=1629894view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/core/security/jacc/BasicJaccProvider.java Tue Oct 7 13:50:59 2014 @@ -33,6 +33,14 @@ import java.util.Map; * @version $Rev$ $Date$ */ public class BasicJaccProvider extends JaccProvider { +static { +// force preloading to avoid to loop under SecurityManager +try { +Class.forName(PolicyContext.class.getName()); +} catch (final ClassNotFoundException e) { +// no-op +} +} private MapString, BasicPolicyConfiguration configurations = new HashMapString, BasicPolicyConfiguration();
svn commit: r1629934 - /tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
Author: rmannibucau Date: Tue Oct 7 17:38:04 2014 New Revision: 1629934 URL: http://svn.apache.org/r1629934 Log: TOMEE-1387 deleting faster temp folder Modified: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java Modified: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java?rev=1629934r1=1629933r2=1629934view=diff == --- tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java (original) +++ tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java Tue Oct 7 17:38:04 2014 @@ -167,11 +167,18 @@ public class EmbeddedTomEEContainer exte throw new DeploymentException(Unable to undeploy, e); } final File file = ARCHIVES.remove(archive); -final File folder = new File(file.getParentFile(), file.getName().substring(0, file.getName().length() - 5)); +final File folder = new File(file.getParentFile(), file.getName().substring(0, file.getName().length() - 4)); if (folder.exists()) { Files.delete(folder); } Files.delete(file); +if (!configuration.isSingleDumpByArchiveName()) { +final File parentFile = file.getParentFile(); +final File[] parentChildren = parentFile.listFiles(); +if (parentChildren == null || parentChildren.length == 0) { +Files.delete(file.getParentFile()); +} +} } private void startCdiContexts(final String name) {
svn commit: r1629935 - /tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
Author: rmannibucau Date: Tue Oct 7 17:38:27 2014 New Revision: 1629935 URL: http://svn.apache.org/r1629935 Log: TOMEE-1387 deleting faster temp folder Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java?rev=1629935r1=1629934r2=1629935view=diff == --- tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java (original) +++ tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java Tue Oct 7 17:38:27 2014 @@ -167,11 +167,18 @@ public class EmbeddedTomEEContainer exte throw new DeploymentException(Unable to undeploy, e); } final File file = ARCHIVES.remove(archive); -final File folder = new File(file.getParentFile(), file.getName().substring(0, file.getName().length() - 5)); +final File folder = new File(file.getParentFile(), file.getName().substring(0, file.getName().length() - 4)); if (folder.exists()) { Files.delete(folder); } Files.delete(file); +if (!configuration.isSingleDumpByArchiveName()) { +final File parentFile = file.getParentFile(); +final File[] parentChildren = parentFile.listFiles(); +if (parentChildren == null || parentChildren.length == 0) { +Files.delete(file.getParentFile()); +} +} } private void startCdiContexts(final String name) {
svn commit: r1629943 - in /tomee/tomee/trunk/arquillian: arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquilli
Author: rmannibucau Date: Tue Oct 7 18:23:00 2014 New Revision: 1629943 URL: http://svn.apache.org/r1629943 Log: better delete strategy for arquillian archives and respect isSingleDumpByArchiveName Modified: 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 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=1629943r1=1629942r2=1629943view=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 Tue Oct 7 18:23:00 2014 @@ -279,14 +279,14 @@ public abstract class TomEEContainerCon } if (appInfo != null) { -moduleIds.put(archiveName, new DeployedApp(appInfo.path, file.getParentFile())); +moduleIds.put(archiveName, new DeployedApp(appInfo.path, file)); 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 (final OpenEJBException re) { // clean up in undeploy needs it -moduleIds.put(archiveName, new DeployedApp(file.getPath(), file.getParentFile())); +moduleIds.put(archiveName, new DeployedApp(file.getPath(), file)); throw re; } @@ -353,7 +353,7 @@ public abstract class TomEEContainerCon if (file.exists()) { size = file.length(); } -finalArchive.as(ZipExporter.class).exportTo(file, true); +finalArchive.as(ZipExporter.class).exportTo(file, configuration.isSingleDumpByArchiveName()); if (size 0 size != file.length()) { LOGGER.warning(\nFile overwritten but size doesn't match: (now) + file.length() + /(before) + size + name=+ file.getName() @@ -445,13 +445,18 @@ public abstract class TomEEContainerCon } finally { if (deployed != null !configuration.isSingleDumpByArchiveName()) { LOGGER.info(cleaning + deployed.file.getAbsolutePath()); -Files.tryTodelete(deployed.file); // i folder +Files.delete(deployed.file); // i folder final File pathFile = new File(deployed.path); if (!deployed.path.equals(deployed.file.getAbsolutePath()) pathFile.exists()) { LOGGER.info(cleaning + pathFile); Files.delete(pathFile); } +final File parentFile = deployed.file.getParentFile(); +final File[] parentChildren = parentFile.listFiles(); +if (parentChildren == null || parentChildren.length == 0) { +Files.delete(deployed.file.getParentFile()); +} } } } Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java?rev=1629943r1=1629942r2=1629943view=diff == --- tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java (original) +++ tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java Tue Oct 7 18:23:00 2014 @@ -167,12 +167,12 @@ public class EmbeddedTomEEContainer exte throw new DeploymentException(Unable to undeploy, e); } final File file = ARCHIVES.remove(archive); -final File folder = new File(file.getParentFile(), file.getName().substring(0, file.getName().length() - 4)); -if (folder.exists()) { -Files.delete(folder); -} -Files.delete(file); if (!configuration.isSingleDumpByArchiveName()) { +final File folder = new File(file.getParentFile(), file.getName().substring(0, file.getName().length() - 4)); +if (folder.exists
svn commit: r1629942 - in /tomee/tomee/branches/tomee-1.7.x/arquillian: arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ arquillian-tomee-embedded/src/main/java/org/apache/o
Author: rmannibucau Date: Tue Oct 7 18:22:52 2014 New Revision: 1629942 URL: http://svn.apache.org/r1629942 Log: better delete strategy for arquillian archives and respect isSingleDumpByArchiveName Modified: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java Modified: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java?rev=1629942r1=1629941r2=1629942view=diff == --- tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java (original) +++ tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java Tue Oct 7 18:22:52 2014 @@ -279,14 +279,14 @@ public abstract class TomEEContainerCon } if (appInfo != null) { -moduleIds.put(archiveName, new DeployedApp(appInfo.path, file.getParentFile())); +moduleIds.put(archiveName, new DeployedApp(appInfo.path, file)); 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 (final OpenEJBException re) { // clean up in undeploy needs it -moduleIds.put(archiveName, new DeployedApp(file.getPath(), file.getParentFile())); +moduleIds.put(archiveName, new DeployedApp(file.getPath(), file)); throw re; } @@ -353,7 +353,7 @@ public abstract class TomEEContainerCon if (file.exists()) { size = file.length(); } -finalArchive.as(ZipExporter.class).exportTo(file, true); +finalArchive.as(ZipExporter.class).exportTo(file, configuration.isSingleDumpByArchiveName()); if (size 0 size != file.length()) { LOGGER.warning(\nFile overwritten but size doesn't match: (now) + file.length() + /(before) + size + name=+ file.getName() @@ -445,13 +445,18 @@ public abstract class TomEEContainerCon } finally { if (deployed != null !configuration.isSingleDumpByArchiveName()) { LOGGER.info(cleaning + deployed.file.getAbsolutePath()); -Files.tryTodelete(deployed.file); // i folder +Files.delete(deployed.file); // i folder final File pathFile = new File(deployed.path); if (!deployed.path.equals(deployed.file.getAbsolutePath()) pathFile.exists()) { LOGGER.info(cleaning + pathFile); Files.delete(pathFile); } +final File parentFile = deployed.file.getParentFile(); +final File[] parentChildren = parentFile.listFiles(); +if (parentChildren == null || parentChildren.length == 0) { +Files.delete(deployed.file.getParentFile()); +} } } } Modified: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java?rev=1629942r1=1629941r2=1629942view=diff == --- tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java (original) +++ tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java Tue Oct 7 18:22:52 2014 @@ -167,12 +167,12 @@ public class EmbeddedTomEEContainer exte throw new DeploymentException(Unable to undeploy, e); } final File file = ARCHIVES.remove(archive); -final File folder = new File(file.getParentFile(), file.getName().substring(0, file.getName().length() - 4)); -if (folder.exists()) { -Files.delete(folder); -} -Files.delete(file); if (!configuration.isSingleDumpByArchiveName
svn commit: r1629946 - /tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
Author: rmannibucau Date: Tue Oct 7 18:25:48 2014 New Revision: 1629946 URL: http://svn.apache.org/r1629946 Log: oops, forgot to negate isSingleDumpByArchiveName Modified: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java Modified: tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java?rev=1629946r1=1629945r2=1629946view=diff == --- tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java (original) +++ tomee/tomee/branches/tomee-1.7.x/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java Tue Oct 7 18:25:48 2014 @@ -353,7 +353,7 @@ public abstract class TomEEContainerCon if (file.exists()) { size = file.length(); } -finalArchive.as(ZipExporter.class).exportTo(file, configuration.isSingleDumpByArchiveName()); +finalArchive.as(ZipExporter.class).exportTo(file, !configuration.isSingleDumpByArchiveName()); if (size 0 size != file.length()) { LOGGER.warning(\nFile overwritten but size doesn't match: (now) + file.length() + /(before) + size + name=+ file.getName()
svn commit: r1629945 - /tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
Author: rmannibucau Date: Tue Oct 7 18:25:42 2014 New Revision: 1629945 URL: http://svn.apache.org/r1629945 Log: oops, forgot to negate isSingleDumpByArchiveName 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=1629945r1=1629944r2=1629945view=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 Tue Oct 7 18:25:42 2014 @@ -353,7 +353,7 @@ public abstract class TomEEContainerCon if (file.exists()) { size = file.length(); } -finalArchive.as(ZipExporter.class).exportTo(file, configuration.isSingleDumpByArchiveName()); +finalArchive.as(ZipExporter.class).exportTo(file, !configuration.isSingleDumpByArchiveName()); if (size 0 size != file.length()) { LOGGER.warning(\nFile overwritten but size doesn't match: (now) + file.length() + /(before) + size + name=+ file.getName()
svn commit: r1630043 - in /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing: ApplicationComposers.java JaxrsProviders.java
Author: rmannibucau Date: Wed Oct 8 09:30:37 2014 New Revision: 1630043 URL: http://svn.apache.org/r1630043 Log: TOMEE-1388 @JaxrsProviders Added: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/JaxrsProviders.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java?rev=1630043r1=1630042r2=1630043view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java Wed Oct 8 09:30:37 2014 @@ -61,6 +61,7 @@ import org.apache.openejb.jee.jpa.unit.P import org.apache.openejb.jee.jpa.unit.PersistenceUnit; import org.apache.openejb.jee.oejb3.EjbDeployment; import org.apache.openejb.jee.oejb3.OpenejbJar; +import org.apache.openejb.jee.oejb3.PojoDeployment; import org.apache.openejb.loader.IO; import org.apache.openejb.loader.SystemInstance; import org.apache.openejb.spi.ContainerSystem; @@ -496,9 +497,33 @@ public final class ApplicationComposers ejbModule.setBeans(beans(new Beans(), cdiDecorators, cdiInterceptors, cdiAlternatives)); } +final JaxrsProviders providers = method.getAnnotation(JaxrsProviders.class); +final Class?[] providersClasses = providers == null ? null : providers.value(); +if (providers != null) { +if (classes == null) { +classes = providersClasses; +} else { +final CollectionClass? newClasses = new ArrayListClass?(asList(classes)); +newClasses.addAll(asList(providersClasses)); +classes = newClasses.toArray(new Class?[newClasses.size()]); +} +} + final IAnnotationFinder finder = finderFromClasses(webModule, classes, findFiles(jarsAnnotation)); webModule.setFinder(finder); ejbModule.setFinder(webModule.getFinder()); + +if (providersClasses != null) { +OpenejbJar openejbJar = ejbModule.getOpenejbJar(); +if (openejbJar == null) { +openejbJar = new OpenejbJar(); +ejbModule.setOpenejbJar(openejbJar); +} +final PojoDeployment pojoDeployment = new PojoDeployment(); + pojoDeployment.setClassName(providers.applicationName()); + pojoDeployment.getProperties().setProperty(cxf.jaxrs.providers, Join.join(,, providersClasses).replace(class , )); +openejbJar.getPojoDeployment().add(pojoDeployment); +} } else if (obj instanceof WebModule) { // will add the ejbmodule too webModulesNb++; Added: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/JaxrsProviders.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/JaxrsProviders.java?rev=1630043view=auto == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/JaxrsProviders.java (added) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/JaxrsProviders.java Wed Oct 8 09:30:37 2014 @@ -0,0 +1,30 @@ +/* + * 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
svn commit: r1630044 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing: ApplicationComposers.java JaxrsProviders.java
Author: rmannibucau Date: Wed Oct 8 09:30:42 2014 New Revision: 1630044 URL: http://svn.apache.org/r1630044 Log: TOMEE-1388 @JaxrsProviders Added: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/JaxrsProviders.java - copied, changed from r1629578, tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/Classes.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java?rev=1630044r1=1630043r2=1630044view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java Wed Oct 8 09:30:42 2014 @@ -61,6 +61,7 @@ import org.apache.openejb.jee.jpa.unit.P import org.apache.openejb.jee.jpa.unit.PersistenceUnit; import org.apache.openejb.jee.oejb3.EjbDeployment; import org.apache.openejb.jee.oejb3.OpenejbJar; +import org.apache.openejb.jee.oejb3.PojoDeployment; import org.apache.openejb.loader.IO; import org.apache.openejb.loader.SystemInstance; import org.apache.openejb.spi.ContainerSystem; @@ -496,9 +497,32 @@ public final class ApplicationComposers ejbModule.setBeans(beans(new Beans(), cdiDecorators, cdiInterceptors, cdiAlternatives)); } +final JaxrsProviders providers = method.getAnnotation(JaxrsProviders.class); +final Class?[] providersClasses = providers == null ? null : providers.value(); +if (providers != null) { +if (classes == null) { +classes = providersClasses; +} else { +final CollectionClass? newClasses = new ArrayList(asList(classes)); +newClasses.addAll(asList(providersClasses)); +classes = newClasses.toArray(new Class?[newClasses.size()]); +} +} + final IAnnotationFinder finder = finderFromClasses(webModule, classes, findFiles(jarsAnnotation)); webModule.setFinder(finder); ejbModule.setFinder(webModule.getFinder()); +if (providersClasses != null) { +OpenejbJar openejbJar = ejbModule.getOpenejbJar(); +if (openejbJar == null) { +openejbJar = new OpenejbJar(); +ejbModule.setOpenejbJar(openejbJar); +} +final PojoDeployment pojoDeployment = new PojoDeployment(); + pojoDeployment.setClassName(providers.applicationName()); + pojoDeployment.getProperties().setProperty(cxf.jaxrs.providers, Join.join(,, providersClasses).replace(class , )); +openejbJar.getPojoDeployment().add(pojoDeployment); +} } else if (obj instanceof WebModule) { // will add the ejbmodule too webModulesNb++; Copied: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/JaxrsProviders.java (from r1629578, tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/Classes.java) URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/JaxrsProviders.java?p2=tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/JaxrsProviders.javap1=tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/Classes.javar1=1629578r2=1630044rev=1630044view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/Classes.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/JaxrsProviders.java Wed Oct 8 09:30:42 2014 @@ -24,14 +24,7 @@ import java.lang.annotation.Target; @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) -public @interface Classes { +public @interface JaxrsProviders { Class?[] value() default {}; - -Class?[] cdiInterceptors() default {}; - -Class?[] cdiDecorators() default {}; - -Class?[] cdiAlternatives() default {}; - -boolean cdi() default false; +String applicationName() default jaxrs-application; }
svn commit: r1630149 - in /tomee/tomee/trunk/tck: bval-embedded/pom.xml bval-tomee/pom.xml
Author: rmannibucau Date: Wed Oct 8 15:46:50 2014 New Revision: 1630149 URL: http://svn.apache.org/r1630149 Log: last bval tcks Modified: tomee/tomee/trunk/tck/bval-embedded/pom.xml tomee/tomee/trunk/tck/bval-tomee/pom.xml Modified: tomee/tomee/trunk/tck/bval-embedded/pom.xml URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tck/bval-embedded/pom.xml?rev=1630149r1=1630148r2=1630149view=diff == --- tomee/tomee/trunk/tck/bval-embedded/pom.xml (original) +++ tomee/tomee/trunk/tck/bval-embedded/pom.xml Wed Oct 8 15:46:50 2014 @@ -27,7 +27,7 @@ nameOpenEJB :: TCK :: Bean Validation Embedded/name properties -tck.version1.1.0.Final/tck.version +tck.version1.1.3.Final/tck.version validation.providerorg.apache.bval.jsr.ApacheValidationProvider/validation.provider /properties Modified: tomee/tomee/trunk/tck/bval-tomee/pom.xml URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tck/bval-tomee/pom.xml?rev=1630149r1=1630148r2=1630149view=diff == --- tomee/tomee/trunk/tck/bval-tomee/pom.xml (original) +++ tomee/tomee/trunk/tck/bval-tomee/pom.xml Wed Oct 8 15:46:50 2014 @@ -29,7 +29,7 @@ properties openejb.home${project.build.directory}${file.separator}apache-tomee-webprofile-${tomee.version}/openejb.home -tck.version1.1.0.Final/tck.version +tck.version1.1.3.Final/tck.version validation.providerorg.apache.bval.jsr.ApacheValidationProvider/validation.provider /properties
svn commit: r1630150 - in /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb: cdi/CdiScanner.java testing/ApplicationComposers.java
Author: rmannibucau Date: Wed Oct 8 15:47:12 2014 New Revision: 1630150 URL: http://svn.apache.org/r1630150 Log: TOMEE-1389 better CDI integration for app composer and tets enrichment Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.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=1630150r1=1630149r2=1630150view=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 Wed Oct 8 15:47:12 2014 @@ -102,7 +102,7 @@ public class CdiScanner implements Scann for (final EjbJarInfo ejbJar : appInfo.ejbJars) { final BeansInfo beans = ejbJar.beans; -if (beans == null) { +if (beans == null || false.equalsIgnoreCase(ejbJar.properties.getProperty(openejb.cdi.activated))) { continue; } Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java?rev=1630150r1=1630149r2=1630150view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java Wed Oct 8 15:47:12 2014 @@ -45,6 +45,7 @@ import org.apache.openejb.config.sys.Ope import org.apache.openejb.core.LocalInitialContextFactory; import org.apache.openejb.core.Operation; import org.apache.openejb.core.ThreadContext; +import org.apache.openejb.core.WebContext; import org.apache.openejb.core.ivm.naming.InitContextFactory; import org.apache.openejb.injection.FallbackPropertyInjector; import org.apache.openejb.jee.Application; @@ -334,10 +335,11 @@ public final class ApplicationComposers ejbDeployment.setDeploymentId(testClass.getName()); final EjbModule ejbModule = new EjbModule(ejbJar, openejbJar); +ejbModule.getProperties().setProperty(openejb.cdi.activated, false); final FinderFactory.OpenEJBAnnotationFinder finder = new FinderFactory.OpenEJBAnnotationFinder(new ClassesArchive(ancestors(testClass))); ejbModule.setFinder(finder); if (finder.findMetaAnnotatedFields(Inject.class).size() -+ finder.findMetaAnnotatedMethods(Inject.class).size() 0) { // activate cdi to avoid WARNINGs ++ finder.findMetaAnnotatedMethods(Inject.class).size() 0) { // activate cdi to avoid WARNINGs ejbModule.setBeans(new Beans()); } appModule.getEjbModules().add(ejbModule); @@ -759,22 +761,7 @@ public final class ApplicationComposers final BeanContext context = containerSystem.getBeanContext(testClass.getName()); -final ThreadContext callContext = new ThreadContext(context, null, Operation.INJECTION); -final ThreadContext oldContext = ThreadContext.enter(callContext); -try { -final InjectionProcessor processor = new InjectionProcessor(inputTestInstance, context.getInjections(), context.getJndiContext()); - -processor.createInstance(); -try { -OWBInjector.inject(appContext.getBeanManager(), inputTestInstance, null); -} catch (final Throwable t) { -// TODO handle this differently -// this is temporary till the injector can be rewritten -t.printStackTrace(); -} -} finally { -ThreadContext.exit(oldContext); -} +enrich(inputTestInstance, context); System.setProperty(Context.INITIAL_CONTEXT_FACTORY, InitContextFactory.class.getName()); @@ -805,6 +792,39 @@ public final class ApplicationComposers testClassFinders.put(this, testClassFinder); } +private void enrich(final Object inputTestInstance, final BeanContext context) throws org.apache.openejb.OpenEJBException { +final ThreadContext callContext = new ThreadContext(context, null, Operation.INJECTION); +final ThreadContext oldContext = ThreadContext.enter(callContext); +try { +final InjectionProcessor processor = new InjectionProcessor(inputTestInstance, context.getInjections
svn commit: r1630151 - in /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb: cdi/CdiScanner.java testing/ApplicationComposers.java
Author: rmannibucau Date: Wed Oct 8 15:47:20 2014 New Revision: 1630151 URL: http://svn.apache.org/r1630151 Log: TOMEE-1389 better CDI integration for app composer and tets enrichment Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java?rev=1630151r1=1630150r2=1630151view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiScanner.java Wed Oct 8 15:47:20 2014 @@ -94,8 +94,7 @@ public class CdiScanner implements Scann for (final EjbJarInfo ejbJar : appInfo.ejbJars) { final BeansInfo beans = ejbJar.beans; - -if (beans == null) { +if (beans == null || false.equalsIgnoreCase(ejbJar.properties.getProperty(openejb.cdi.activated))) { continue; } Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java?rev=1630151r1=1630150r2=1630151view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/testing/ApplicationComposers.java Wed Oct 8 15:47:20 2014 @@ -45,6 +45,7 @@ import org.apache.openejb.config.sys.Ope import org.apache.openejb.core.LocalInitialContextFactory; import org.apache.openejb.core.Operation; import org.apache.openejb.core.ThreadContext; +import org.apache.openejb.core.WebContext; import org.apache.openejb.core.ivm.naming.InitContextFactory; import org.apache.openejb.injection.FallbackPropertyInjector; import org.apache.openejb.jee.Application; @@ -334,6 +335,7 @@ public final class ApplicationComposers ejbDeployment.setDeploymentId(testClass.getName()); final EjbModule ejbModule = new EjbModule(ejbJar, openejbJar); +ejbModule.getProperties().setProperty(openejb.cdi.activated, false); final FinderFactory.OpenEJBAnnotationFinder finder = new FinderFactory.OpenEJBAnnotationFinder(new ClassesArchive(ancestors(testClass))); ejbModule.setFinder(finder); if (finder.findMetaAnnotatedFields(Inject.class).size() @@ -752,22 +754,7 @@ public final class ApplicationComposers final BeanContext context = containerSystem.getBeanContext(testClass.getName()); -final ThreadContext callContext = new ThreadContext(context, null, Operation.INJECTION); -final ThreadContext oldContext = ThreadContext.enter(callContext); -try { -final InjectionProcessor processor = new InjectionProcessor(inputTestInstance, context.getInjections(), context.getJndiContext()); - -processor.createInstance(); -try { -OWBInjector.inject(appContext.getBeanManager(), inputTestInstance, null); -} catch (final Throwable t) { -// TODO handle this differently -// this is temporary till the injector can be rewritten -t.printStackTrace(); -} -} finally { -ThreadContext.exit(oldContext); -} +enrich(inputTestInstance, context); System.setProperty(Context.INITIAL_CONTEXT_FACTORY, InitContextFactory.class.getName()); @@ -798,6 +785,39 @@ public final class ApplicationComposers testClassFinders.put(this, testClassFinder); } +private void enrich(final Object inputTestInstance, final BeanContext context) throws org.apache.openejb.OpenEJBException { +final ThreadContext callContext = new ThreadContext(context, null, Operation.INJECTION); +final ThreadContext oldContext = ThreadContext.enter(callContext); +try { +final InjectionProcessor processor = new InjectionProcessor(inputTestInstance, context.getInjections(), context.getJndiContext()); +processor.createInstance(); + +Throwable error = null; +try { +OWBInjector.inject(appContext.getBeanManager
svn commit: r1630362 - in /tomee/tomee/trunk: container/openejb-core/src/main/java/org/apache/openejb/util/ maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/ tomee/tome
Author: rmannibucau Date: Thu Oct 9 10:14:05 2014 New Revision: 1630362 URL: http://svn.apache.org/r1630362 Log: ensuring webapp loader have the right parent (at least openejb one) + correct default for logger properties Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java?rev=1630362r1=1630361r2=1630362view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java Thu Oct 9 10:14:05 2014 @@ -33,7 +33,6 @@ import java.util.ResourceBundle; public class Logger { private static final String SUFFIX = .Messages; private static final String OPENEJB = org.apache.openejb; -private static final Properties EMPTY_PROPS = new Properties(); private static LogStreamFactory logStreamFactory; // don't return the instance since it needs to stay private but export which one is used to allow integration with other libs (as tomcat ;)) @@ -46,7 +45,7 @@ public class Logger { } public static synchronized void configure() { -configure(EMPTY_PROPS); +configure(System.getProperties()); } public static synchronized void configure(final Properties config) { Modified: tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java?rev=1630362r1=1630361r2=1630362view=diff == --- tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java (original) +++ tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java Thu Oct 9 10:14:05 2014 @@ -124,6 +124,9 @@ public class TomEEEmbeddedMojo extends A @Parameter(defaultValue = ${project}, readonly = true, required = true) private MavenProject project; +@Parameter(property = tomee-embedded-plugin.mavenLog, defaultValue = true) +private boolean mavenLog; + @Override public void execute() throws MojoExecutionException, MojoFailureException { if (!classpathAsWar pom.equals(packaging)) { @@ -131,11 +134,18 @@ public class TomEEEmbeddedMojo extends A return; } -final ClassLoader loader = Thread.currentThread().getContextClassLoader(); +final Properties originalSystProp = new Properties(); +originalSystProp.putAll(System.getProperties()); + +final Thread thread = Thread.currentThread(); +final ClassLoader loader = thread.getContextClassLoader(); final String logFactory = System.getProperty(openejb.log.factory); MavenLogStreamFactory.setLogger(getLog()); -System.setProperty(openejb.log.factory, org.apache.openejb.maven.util.MavenLogStreamFactory); +if (mavenLog) { +System.setProperty(openejb.log.factory, org.apache.openejb.maven.util.MavenLogStreamFactory); +System.setProperty(openejb.jul.forceReload, true); +} final Container container = new Container(); final Configuration config = getConfig(); @@ -167,10 +177,10 @@ public class TomEEEmbeddedMojo extends A if (context != null) { getLog().warn(Context will be ignored since not using classpathAsWar); } -container.deploy(warFile.getName(), warFile); +container.deploy(context == null ? warFile.getName() : context, warFile); } else { if (useProjectClasspath) { - Thread.currentThread().setContextClassLoader(createClassLoader(loader)); +thread.setContextClassLoader(createClassLoader(loader)); } container.deployClasspathAsWebApp(context, docBase); // null is handled properly so no issue here } @@ -200,7 +210,8 @@ public class TomEEEmbeddedMojo extends A } else { System.setProperty(openejb.log.factory, logFactory); } -Thread.currentThread().setContextClassLoader(loader
svn commit: r1630368 - /tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java
Author: rmannibucau Date: Thu Oct 9 11:13:28 2014 New Revision: 1630368 URL: http://svn.apache.org/r1630368 Log: respecting context even for standard deployment Modified: tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java Modified: tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java?rev=1630368r1=1630367r2=1630368view=diff == --- tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java (original) +++ tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java Thu Oct 9 11:13:28 2014 @@ -174,10 +174,7 @@ public class TomEEEmbeddedMojo extends A Runtime.getRuntime().addShutdownHook(hook); if (!classpathAsWar) { -if (context != null) { -getLog().warn(Context will be ignored since not using classpathAsWar); -} -container.deploy(context == null ? warFile.getName() : context, warFile); +container.deploy(context == null ? warFile.getName() : context, warFile, true); } else { if (useProjectClasspath) { thread.setContextClassLoader(createClassLoader(loader));
svn commit: r1630374 - in /tomee/tomee/trunk: container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Containe
Author: rmannibucau Date: Thu Oct 9 11:45:57 2014 New Revision: 1630374 URL: http://svn.apache.org/r1630374 Log: tomee embedded needs to respect webdescriptors as well Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.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=1630374r1=1630373r2=1630374view=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 Thu Oct 9 11:45:57 2014 @@ -1678,7 +1678,7 @@ public class DeploymentLoader implements return map; } -protected MapString, URL getWebDescriptors(final File warFile) throws IOException { +public static MapString, URL getWebDescriptors(final File warFile) throws IOException { final MapString, URL descriptors = new TreeMapString, URL(); // xbean resource finder has a bug when you use any uri but META-INF Modified: tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java?rev=1630374r1=1630373r2=1630374view=diff == --- tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java (original) +++ tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java Thu Oct 9 11:45:57 2014 @@ -157,7 +157,8 @@ public class Container implements AutoCl contextRoot = / + context; } -final WebModule webModule = new WebModule(new WebApp(), contextRoot, loader, docBase == null ? fakeRootDir().getAbsolutePath() : docBase.getAbsolutePath(), contextRoot); +final File jarLocation = docBase == null ? fakeRootDir() : docBase; +final WebModule webModule = new WebModule(new WebApp(), contextRoot, loader, jarLocation.getAbsolutePath(), contextRoot); if (docBase == null) { webModule.getProperties().put(fakeJarLocation, true); } @@ -176,6 +177,7 @@ public class Container implements AutoCl final AppModule app = new AppModule(loader, null); app.setStandloneWebModule(); try { + webModule.getAltDDs().putAll(DeploymentLoader.getWebDescriptors(jarLocation)); DeploymentLoader.addWebModule(webModule, app); DeploymentLoader.addWebModuleDescriptors(new File(webModule.getJarLocation()).toURI().toURL(), webModule, app); } catch (final Exception e) {
svn commit: r1630518 - /tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
Author: rmannibucau Date: Thu Oct 9 15:52:59 2014 New Revision: 1630518 URL: http://svn.apache.org/r1630518 Log: we shouldn't loose system props configs when we add few configuration in container properties even for logging Modified: tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java Modified: tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java?rev=1630518r1=1630517r2=1630518view=diff == --- tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java (original) +++ tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java Thu Oct 9 15:52:59 2014 @@ -290,7 +290,10 @@ public class Container implements AutoCl final Properties props = configuration.getProperties(); if (props != null) { -Logger.configure(configuration.getProperties()); +// inherit from system props +final Properties properties = new Properties(System.getProperties()); +properties.putAll(configuration.getProperties()); +Logger.configure(properties); } else { Logger.configure(); }
svn commit: r1630556 - /tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java
Author: rmannibucau Date: Thu Oct 9 19:00:25 2014 New Revision: 1630556 URL: http://svn.apache.org/r1630556 Log: better matching of context (handling '' and '/xxx') Modified: tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java Modified: tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java?rev=1630556r1=1630555r2=1630556view=diff == --- tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java (original) +++ tomee/tomee/trunk/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/internal/StandardContextCustomizer.java Thu Oct 9 19:00:25 2014 @@ -48,7 +48,11 @@ public class StandardContextCustomizer { } final StandardContext context = StandardContext.class.cast(data); -if (!module.getContextRoot().equals(context.getPath())) { +final String contextRoot = module.getContextRoot(); +final String path = context.getPath(); +final boolean rightPath = (path.isEmpty() contextRoot.equals(path)) +|| (contextRoot.startsWith(/) ? contextRoot : '/' + contextRoot).equals(path); +if (!rightPath) { return; }
svn commit: r1630559 - /tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java
Author: rmannibucau Date: Thu Oct 9 19:13:04 2014 New Revision: 1630559 URL: http://svn.apache.org/r1630559 Log: forcing a / in context - should be optional but make eveything clearer later and our customizer more deterministic Modified: tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java Modified: tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java?rev=1630559r1=1630558r2=1630559view=diff == --- tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java (original) +++ tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java Thu Oct 9 19:13:04 2014 @@ -174,7 +174,7 @@ public class TomEEEmbeddedMojo extends A Runtime.getRuntime().addShutdownHook(hook); if (!classpathAsWar) { -container.deploy(context == null ? warFile.getName() : context, warFile, true); +container.deploy('/' + (context == null ? warFile.getName() : context), warFile, true); } else { if (useProjectClasspath) { thread.setContextClassLoader(createClassLoader(loader));
svn commit: r1630572 - in /tomee/tomee/trunk: maven/maven-util/ maven/maven-util/src/main/java/org/apache/openejb/maven/util/ maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/p
Author: rmannibucau Date: Thu Oct 9 19:42:38 2014 New Revision: 1630572 URL: http://svn.apache.org/r1630572 Log: integrating MavenLogStreamFactory with tomee Added: tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/TomEEMavenLog.java Modified: tomee/tomee/trunk/maven/maven-util/pom.xml tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/MavenLogStreamFactory.java tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/ReloadableLog.java tomee/tomee/trunk/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/formatter/log/TomEELog.java Modified: tomee/tomee/trunk/maven/maven-util/pom.xml URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/maven-util/pom.xml?rev=1630572r1=1630571r2=1630572view=diff == --- tomee/tomee/trunk/maven/maven-util/pom.xml (original) +++ tomee/tomee/trunk/maven/maven-util/pom.xml Thu Oct 9 19:42:38 2014 @@ -38,5 +38,11 @@ groupIdorg.apache.openejb/groupId artifactIdopenejb-core/artifactId /dependency +dependency + groupIdorg.apache.openejb/groupId + artifactIdtomee-juli/artifactId + version${tomee.version}/version + scopeprovided/scope +/dependency /dependencies /project Modified: tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/MavenLogStreamFactory.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/MavenLogStreamFactory.java?rev=1630572r1=1630571r2=1630572view=diff == --- tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/MavenLogStreamFactory.java (original) +++ tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/MavenLogStreamFactory.java Thu Oct 9 19:42:38 2014 @@ -17,12 +17,23 @@ package org.apache.openejb.maven.util; import org.apache.maven.plugin.logging.Log; +import org.apache.openejb.log.logger.AbstractDelegatingLogger; import org.apache.openejb.util.LogCategory; import org.apache.openejb.util.LogStream; import org.apache.openejb.util.LogStreamFactory; +import org.apache.webbeans.logger.WebBeansLoggerFacade; +import org.apache.webbeans.logger.WebBeansLoggerFactory; + +import java.util.Locale; +import java.util.logging.Level; +import java.util.logging.LogRecord; +import java.util.logging.Logger; public class MavenLogStreamFactory implements LogStreamFactory { private static Log logger; +static { + System.setProperty(WebBeansLoggerFacade.OPENWEBBEANS_LOGGING_FACTORY_PROP, OWBMavenLogFactory.class.getName()); +} @Override public LogStream createLogStream(final LogCategory logCategory) { @@ -33,6 +44,88 @@ public class MavenLogStreamFactory imple MavenLogStreamFactory.logger = logger; } +public static Log currentLogger() { +return logger; +} + +public static class MavenLogger extends AbstractDelegatingLogger { +public MavenLogger(final String name, final String resourceBundleName) { +super(name, resourceBundleName); +} + +@Override +public Level getLevel() { +if (logger.isDebugEnabled()) { +return Level.FINER; +} else if (logger.isInfoEnabled()) { +return Level.INFO; +} else if (logger.isWarnEnabled()) { +return Level.WARNING; +} else if (logger.isErrorEnabled()) { +return Level.SEVERE; +} +return Level.OFF; +} + +@Override +public boolean isLoggable(final Level level) { +final int i = level.intValue(); +if (i == Level.OFF.intValue()) { +return false; +} else if (i = Level.SEVERE.intValue()) { +return logger.isErrorEnabled(); +} else if (i = Level.WARNING.intValue()) { +return logger.isWarnEnabled(); +} else if (i = Level.INFO.intValue()) { +return logger.isInfoEnabled(); +} +return logger.isDebugEnabled(); +} + +@Override +protected void internalLogFormatted(final String msg, final LogRecord record) { +final Level level = record.getLevel(); +final Throwable t = record.getThrown(); +if (Level.FINE.equals(level) || Level.FINER.equals(level) || Level.CONFIG.equals(level)) { +if (t == null) { +logger.debug(msg); +} else { +logger.debug(msg, t); +} +} else if (Level.INFO.equals(level
svn commit: r1630578 - /tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java
Author: rmannibucau Date: Thu Oct 9 20:01:15 2014 New Revision: 1630578 URL: http://svn.apache.org/r1630578 Log: supporting reloading of java.util.logging.SimpleFormatter.format Modified: tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java Modified: tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java?rev=1630578r1=1630577r2=1630578view=diff == --- tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java (original) +++ tomee/tomee/trunk/maven/tomee-embedded-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/TomEEEmbeddedMojo.java Thu Oct 9 20:01:15 2014 @@ -29,11 +29,14 @@ import org.apache.openejb.core.ParentCla import org.apache.openejb.core.ProvidedClassLoaderFinder; import org.apache.openejb.loader.SystemInstance; import org.apache.openejb.maven.util.MavenLogStreamFactory; +import org.apache.openejb.util.JuliLogStreamFactory; import org.apache.tomee.embedded.Configuration; import org.apache.tomee.embedded.Container; import java.io.File; +import java.io.IOException; import java.lang.reflect.Field; +import java.lang.reflect.Modifier; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; @@ -43,6 +46,8 @@ import java.util.Map; import java.util.Properties; import java.util.Scanner; import java.util.Set; +import java.util.logging.LogManager; +import java.util.logging.SimpleFormatter; /** * Run an Embedded TomEE. @@ -137,6 +142,9 @@ public class TomEEEmbeddedMojo extends A final Properties originalSystProp = new Properties(); originalSystProp.putAll(System.getProperties()); +// we use MavenLogStreamFactory but if user set some JUL config in properties we want to respect them +configureJULIfNeeded(); + final Thread thread = Thread.currentThread(); final ClassLoader loader = thread.getContextClassLoader(); @@ -212,6 +220,29 @@ public class TomEEEmbeddedMojo extends A } } +private void configureJULIfNeeded() { +if (containerProperties != null true.equalsIgnoreCase(containerProperties.get(openejb.jul.forceReload))) { +System.getProperties().putAll(containerProperties); +new JuliLogStreamFactory(); // easiest way to support forceReload, note this doesn't do that much ATM +final String simpleFormat = containerProperties.get(java.util.logging.SimpleFormatter.format); +if (simpleFormat != null) { +try { +final Field field = SimpleFormatter.class.getDeclaredField(format); +field.setAccessible(true); +final int modifiers = field.getModifiers(); +if (Modifier.isFinal(modifiers)) { +final Field modifiersField = Field.class.getDeclaredField(modifiers); +modifiersField.setAccessible(true); +modifiersField.setInt(field, modifiers ~Modifier.FINAL); +} +field.set(null, simpleFormat); +} catch (final Throwable ignored) { +// no-op: don't block for it +} +} +} +} + private ClassLoader createClassLoader(final ClassLoader parent) { final ListURL urls = new ArrayList(); for (final Artifact artifact : (SetArtifact) project.getArtifacts()) {
svn commit: r1630580 - in /tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util: MavenLogStreamFactory.java OpenJPALog.java
Author: rmannibucau Date: Thu Oct 9 20:04:00 2014 New Revision: 1630580 URL: http://svn.apache.org/r1630580 Log: openjpa.log for maven Added: tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/OpenJPALog.java Modified: tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/MavenLogStreamFactory.java Modified: tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/MavenLogStreamFactory.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/MavenLogStreamFactory.java?rev=1630580r1=1630579r2=1630580view=diff == --- tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/MavenLogStreamFactory.java (original) +++ tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/MavenLogStreamFactory.java Thu Oct 9 20:04:00 2014 @@ -33,6 +33,15 @@ public class MavenLogStreamFactory imple private static Log logger; static { System.setProperty(WebBeansLoggerFacade.OPENWEBBEANS_LOGGING_FACTORY_PROP, OWBMavenLogFactory.class.getName()); +try { +if (System.getProperty(openjpa.Log) == null) { + MavenLogStreamFactory.class.getClassLoader().loadClass(org.apache.openjpa.lib.log.LogFactoryAdapter); +System.setProperty(openjpa.Log, org.apache.openejb.maven.util.OpenJPALog); +} +} catch (final Exception ignored) { +// no-op: openjpa is not at the classpath +} + } @Override Added: tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/OpenJPALog.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/OpenJPALog.java?rev=1630580view=auto == --- tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/OpenJPALog.java (added) +++ tomee/tomee/trunk/maven/maven-util/src/main/java/org/apache/openejb/maven/util/OpenJPALog.java Thu Oct 9 20:04:00 2014 @@ -0,0 +1,96 @@ +/** + * 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.maven.util; + +import org.apache.openjpa.lib.log.Log; + +public class OpenJPALog implements Log { +@Override +public boolean isErrorEnabled() { +return MavenLogStreamFactory.currentLogger().isErrorEnabled(); +} + +@Override +public boolean isFatalEnabled() { +return MavenLogStreamFactory.currentLogger().isErrorEnabled(); +} + +@Override +public boolean isInfoEnabled() { +return MavenLogStreamFactory.currentLogger().isInfoEnabled(); +} + +@Override +public boolean isTraceEnabled() { +return MavenLogStreamFactory.currentLogger().isDebugEnabled(); +} + +@Override +public boolean isWarnEnabled() { +return MavenLogStreamFactory.currentLogger().isWarnEnabled(); +} + +@Override +public void trace(final Object message) { +MavenLogStreamFactory.currentLogger().debug(String.valueOf(message)); +} + +@Override +public void trace(final Object message, final Throwable t) { +MavenLogStreamFactory.currentLogger().debug(String.valueOf(message), t); +} + +@Override +public void info(final Object message) { +MavenLogStreamFactory.currentLogger().info(String.valueOf(message)); +} + +@Override +public void info(final Object message, final Throwable t) { +MavenLogStreamFactory.currentLogger().info(String.valueOf(message), t); +} + +@Override +public void warn(final Object message) { +MavenLogStreamFactory.currentLogger().warn(String.valueOf(message)); +} + +@Override +public void warn(final Object message, final Throwable t) { +MavenLogStreamFactory.currentLogger().warn(String.valueOf(message), t); +} + +@Override +public void error(final Object message) { +MavenLogStreamFactory.currentLogger().error(String.valueOf(message
svn commit: r1630691 - /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
Author: rmannibucau Date: Fri Oct 10 07:32:22 2014 New Revision: 1630691 URL: http://svn.apache.org/r1630691 Log: unused import Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java?rev=1630691r1=1630690r2=1630691view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java Fri Oct 10 07:32:22 2014 @@ -89,7 +89,6 @@ import javax.ws.rs.ext.ContextResolver; import javax.ws.rs.ext.Providers; import java.net.URI; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Comparator;
svn commit: r1630739 - /tomee/tomee/trunk/pom.xml
Author: rmannibucau Date: Fri Oct 10 09:04:14 2014 New Revision: 1630739 URL: http://svn.apache.org/r1630739 Log: seems it was already done Modified: tomee/tomee/trunk/pom.xml Modified: tomee/tomee/trunk/pom.xml URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/pom.xml?rev=1630739r1=1630738r2=1630739view=diff == --- tomee/tomee/trunk/pom.xml (original) +++ tomee/tomee/trunk/pom.xml Fri Oct 10 09:04:14 2014 @@ -322,18 +322,6 @@ artifactIdmaven-doap-plugin/artifactId version1.1/version /plugin -plugin - groupIdorg.apache.maven.plugins/groupId - artifactIdmaven-remote-resources-plugin/artifactId - version1.5/version - dependencies -dependency - groupIdorg.apache.maven.shared/groupId - artifactIdmaven-filtering/artifactId - version1.2/version -/dependency - /dependencies -/plugin /plugins /pluginManagement
svn commit: r1630742 - /tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JaxbJavaee.java
Author: rmannibucau Date: Fri Oct 10 09:24:45 2014 New Revision: 1630742 URL: http://svn.apache.org/r1630742 Log: if we get new ee 7 namespace then switch back to ee 6 one to ensure xml parsing doesn't fail, surely something to enhance we we'll get all the ee 7 xsd Modified: tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JaxbJavaee.java Modified: tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JaxbJavaee.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JaxbJavaee.java?rev=1630742r1=1630741r2=1630742view=diff == --- tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JaxbJavaee.java (original) +++ tomee/tomee/trunk/container/openejb-jee/src/main/java/org/apache/openejb/jee/JaxbJavaee.java Fri Oct 10 09:24:45 2014 @@ -324,6 +324,21 @@ public class JaxbJavaee { super(xmlReader); } +private static String eeUri(final String uri) { +// if ee 7 then switch back on ee 6 to not break compatibility - to rework surely when we'll be fully ee 7 +return http://xmlns.jcp.org/xml/ns/javaee.equals(uri) ? http://java.sun.com/xml/ns/javaee: uri; +} + +@Override +public void startElement(final String uri, final String localName, final String qName, final Attributes atts) throws SAXException { +super.startElement(eeUri(uri), localName, qName, atts); +} + +@Override +public void endElement(final String uri, final String localName, final String qName) throws SAXException { +super.endElement(eeUri(uri), localName, qName); +} + @Override public InputSource resolveEntity(final String publicId, final String systemId) throws SAXException, IOException { final SetString publicIds = currentPublicId.get();
svn commit: r1630747 - in /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb: Extensions.java assembler/classic/Assembler.java config/ConfigurationFactory.java
Author: rmannibucau Date: Fri Oct 10 09:59:33 2014 New Revision: 1630747 URL: http://svn.apache.org/r1630747 Log: TOMEE-1392 support multiple line in META-INF/org.apache.openejb.extension Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/Extensions.java tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/Extensions.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/Extensions.java?rev=1630747r1=1630746r2=1630747view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/Extensions.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/Extensions.java Fri Oct 10 09:59:33 2014 @@ -23,10 +23,14 @@ import org.apache.openejb.util.Logger; import org.apache.xbean.finder.ResourceFinder; import java.io.IOException; +import java.net.URL; +import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; +import static java.util.Arrays.asList; + /** * The Extensions API mimics the equivalent CDI Extension/@Observes API * p/ @@ -58,7 +62,7 @@ public final class Extensions { // no-op } -public static CollectionClass? findExtensions(final ResourceFinder finder) { +public static CollectionClass? findExtensions(final Finder finder) { try { return finder.findAvailableClasses(org.apache.openejb.extension); } catch (final IOException e) { @@ -67,7 +71,7 @@ public final class Extensions { } } -public static void installExtensions(final ResourceFinder finder) { +public static void installExtensions(final Finder finder) { try { final ListClass? classes = finder.findAvailableClasses(org.apache.openejb.extension); addExtensions(classes); @@ -97,4 +101,24 @@ public final class Extensions { } } } + +public static class Finder extends ResourceFinder { +public Finder(final String path, final URL... urls) { +super(path, urls); +} + +// ensure we support multiple class by file +public ListString findAvailableStrings(final String uri) throws IOException { +ListString strings = super.findAvailableStrings(uri); +if (!strings.isEmpty()) { +final ListString copy = new ArrayListString(strings); +strings.clear(); +for (final String s : copy) { +strings.addAll(asList(s.replace(\r, ).split(\n))); +} +} + +return strings; +} +} } Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1630747r1=1630746r2=1630747view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Fri Oct 10 09:59:33 2014 @@ -322,14 +322,14 @@ public class Assembler extends Assembler private void installExtensions() { try { final CollectionURL urls = NewLoaderLogic.applyBuiltinExcludes(new UrlSet(Assembler.class.getClassLoader()).excludeJvm()).getUrls(); -Extensions.installExtensions(new ResourceFinder(META-INF, urls.toArray(new URL[urls.size()]))); +Extensions.installExtensions(new Extensions.Finder(META-INF, urls.toArray(new URL[urls.size()]))); return; } catch (final IOException e) { // no-op } // if an error occurred do it brutely -Extensions.installExtensions(new ResourceFinder(META-INF)); +Extensions.installExtensions(new Extensions.Finder(META-INF)); } private void setConfiguration(final OpenEjbConfiguration config) { Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev
svn commit: r1630748 - in /tomee/tomee/trunk/container/openejb-core/src: main/java/org/apache/openejb/ main/java/org/apache/openejb/assembler/classic/ main/java/org/apache/openejb/config/ test/java/or
Author: rmannibucau Date: Fri Oct 10 09:59:50 2014 New Revision: 1630748 URL: http://svn.apache.org/r1630748 Log: TOMEE-1392 support multiple line in META-INF/org.apache.openejb.extension Added: tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/ExtensionsTest.java tomee/tomee/trunk/container/openejb-core/src/test/resources/META-INF/multiple Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/Extensions.java 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/ConfigurationFactory.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/Extensions.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/Extensions.java?rev=1630748r1=1630747r2=1630748view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/Extensions.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/Extensions.java Fri Oct 10 09:59:50 2014 @@ -23,10 +23,14 @@ import org.apache.openejb.util.Logger; import org.apache.xbean.finder.ResourceFinder; import java.io.IOException; +import java.net.URL; +import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; +import static java.util.Arrays.asList; + /** * The Extensions API mimics the equivalent CDI Extension/@Observes API * p/ @@ -58,7 +62,7 @@ public final class Extensions { // no-op } -public static CollectionClass? findExtensions(final ResourceFinder finder) { +public static CollectionClass? findExtensions(final Finder finder) { try { return finder.findAvailableClasses(org.apache.openejb.extension); } catch (final IOException e) { @@ -67,7 +71,7 @@ public final class Extensions { } } -public static void installExtensions(final ResourceFinder finder) { +public static void installExtensions(final Finder finder) { try { final ListClass? classes = finder.findAvailableClasses(org.apache.openejb.extension); addExtensions(classes); @@ -97,4 +101,24 @@ public final class Extensions { } } } + +public static class Finder extends ResourceFinder { +public Finder(final String path, final URL... urls) { +super(path, urls); +} + +// ensure we support multiple class by file +public ListString findAvailableStrings(final String uri) throws IOException { +ListString strings = super.findAvailableStrings(uri); +if (!strings.isEmpty()) { +final ListString copy = new ArrayList(strings); +strings.clear(); +for (final String s : copy) { +strings.addAll(asList(s.replace(\r, ).split(\n))); +} +} + +return strings; +} +} } 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=1630748r1=1630747r2=1630748view=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 Fri Oct 10 09:59:50 2014 @@ -326,14 +326,14 @@ public class Assembler extends Assembler private void installExtensions() { try { final CollectionURL urls = NewLoaderLogic.applyBuiltinExcludes(new UrlSet(Assembler.class.getClassLoader()).excludeJvm()).getUrls(); -Extensions.installExtensions(new ResourceFinder(META-INF, urls.toArray(new URL[urls.size()]))); +Extensions.installExtensions(new Extensions.Finder(META-INF, urls.toArray(new URL[urls.size()]))); return; } catch (final IOException e) { // no-op } // if an error occurred do it brutely -Extensions.installExtensions(new ResourceFinder(META-INF)); +Extensions.installExtensions(new Extensions.Finder(META-INF)); } private void setConfiguration(final OpenEjbConfiguration config) { Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev=1630748r1
svn commit: r1630767 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
Author: rmannibucau Date: Fri Oct 10 11:44:56 2014 New Revision: 1630767 URL: http://svn.apache.org/r1630767 Log: unused import Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java?rev=1630767r1=1630766r2=1630767view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java Fri Oct 10 11:44:56 2014 @@ -96,7 +96,6 @@ import org.apache.openejb.util.classload import org.apache.openejb.util.proxy.QueryProxy; import org.apache.xbean.finder.IAnnotationFinder; import org.apache.xbean.finder.MetaAnnotatedClass; -import org.apache.xbean.finder.ResourceFinder; import org.apache.xbean.recipe.ObjectRecipe; import org.apache.xbean.recipe.Option;
svn commit: r1630880 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java
Author: rmannibucau Date: Fri Oct 10 12:59:35 2014 New Revision: 1630880 URL: http://svn.apache.org/r1630880 Log: try to apply the same hack as for ApplicationComposers to handle cdi in callers for EJBContainer 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=1630880r1=1630879r2=1630880view=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 Fri Oct 10 12:59:35 2014 @@ -24,6 +24,7 @@ import org.apache.openejb.config.Configu import org.apache.openejb.config.ConnectorModule; import org.apache.openejb.config.DeploymentLoader; import org.apache.openejb.config.EjbModule; +import org.apache.openejb.config.FinderFactory; import org.apache.openejb.config.NewLoaderLogic; import org.apache.openejb.config.PersistenceModule; import org.apache.openejb.config.ValidationFailedException; @@ -52,11 +53,13 @@ import org.apache.openejb.util.ServiceMa import org.apache.webbeans.config.WebBeansContext; import org.apache.webbeans.web.lifecycle.test.MockHttpSession; import org.apache.webbeans.web.lifecycle.test.MockServletContext; +import org.apache.xbean.finder.archive.ClassesArchive; import org.apache.xbean.naming.context.ContextFlyweight; import javax.ejb.EJBException; import javax.ejb.embeddable.EJBContainer; import javax.ejb.spi.EJBContainerProvider; +import javax.inject.Inject; import javax.naming.Context; import javax.naming.Name; import javax.naming.NameNotFoundException; @@ -83,6 +86,7 @@ import java.util.logging.LogManager; import static org.apache.openejb.cdi.ScopeHelper.startContexts; import static org.apache.openejb.cdi.ScopeHelper.stopContexts; +import static org.apache.openejb.util.Classes.ancestors; /** * @version $Rev$ $Date$ @@ -305,7 +309,10 @@ public final class OpenEjbContainer exte ejbDeployment.setDeploymentId(name); } -appModule.getEjbModules().add(new EjbModule(ejbJar, openejbJar)); +final EjbModule ejbModule = new EjbModule(ejbJar, openejbJar); +ejbModule.getProperties().setProperty(openejb.cdi.activated, false); // BeanManagerImpl will likely be empty +ejbModule.setBeans(new Beans()); // avoid warnings but not effectvely used +appModule.getEjbModules().add(ejbModule); final AppInfo appInfo;
svn commit: r1630893 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/OpenEjbContainer.java
Author: rmannibucau Date: Fri Oct 10 13:52:12 2014 New Revision: 1630893 URL: http://svn.apache.org/r1630893 Log: unused imports 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=1630893r1=1630892r2=1630893view=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 Fri Oct 10 13:52:12 2014 @@ -24,7 +24,6 @@ import org.apache.openejb.config.Configu import org.apache.openejb.config.ConnectorModule; import org.apache.openejb.config.DeploymentLoader; import org.apache.openejb.config.EjbModule; -import org.apache.openejb.config.FinderFactory; import org.apache.openejb.config.NewLoaderLogic; import org.apache.openejb.config.PersistenceModule; import org.apache.openejb.config.ValidationFailedException; @@ -53,13 +52,11 @@ import org.apache.openejb.util.ServiceMa import org.apache.webbeans.config.WebBeansContext; import org.apache.webbeans.web.lifecycle.test.MockHttpSession; import org.apache.webbeans.web.lifecycle.test.MockServletContext; -import org.apache.xbean.finder.archive.ClassesArchive; import org.apache.xbean.naming.context.ContextFlyweight; import javax.ejb.EJBException; import javax.ejb.embeddable.EJBContainer; import javax.ejb.spi.EJBContainerProvider; -import javax.inject.Inject; import javax.naming.Context; import javax.naming.Name; import javax.naming.NameNotFoundException; @@ -86,7 +83,6 @@ import java.util.logging.LogManager; import static org.apache.openejb.cdi.ScopeHelper.startContexts; import static org.apache.openejb.cdi.ScopeHelper.stopContexts; -import static org.apache.openejb.util.Classes.ancestors; /** * @version $Rev$ $Date$
svn commit: r1630909 - in /tomee/tomee/trunk/server/openejb-cxf-rs/src: main/java/org/apache/openejb/server/cxf/rs/ test/java/org/apache/openejb/server/cxf/rs/
Author: rmannibucau Date: Fri Oct 10 14:26:30 2014 New Revision: 1630909 URL: http://svn.apache.org/r1630909 Log: supporting cxf.jaxrs.skip-provider-scanning in system properties + using it by default for our cxf-rs EJBContainer tests to avoid side effects 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/CustomExceptionMapperTest.java tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/DynamicSubclassEjbDeploymentTest.java tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/EjbDeploymentTest.java tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/PathParamAtClassLevelTest.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=1630909r1=1630908r2=1630909view=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 10 14:26:30 2014 @@ -708,7 +708,8 @@ public class CxfRsHttpListener implement // another property to configure the scanning of providers but this one is consistent with current cxf config // the other one is more generic but need another file -final boolean ignoreAutoProviders = false.equalsIgnoreCase(serviceConfiguration.getProperties().getProperty(CXF_JAXRS_PREFIX + skip-provider-scanning)); +final String key = CXF_JAXRS_PREFIX + skip-provider-scanning; +final boolean ignoreAutoProviders = true.equalsIgnoreCase(SystemInstance.get().getProperty(key, serviceConfiguration.getProperties().getProperty(key, false))); final CollectionObject additionalProviders = ignoreAutoProviders ? Collections.emptyList() : givenAdditionalProviders; ListObject providers = null; if (providersConfig != null) { Modified: tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/CustomExceptionMapperTest.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/CustomExceptionMapperTest.java?rev=1630909r1=1630908r2=1630909view=diff == --- tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/CustomExceptionMapperTest.java (original) +++ tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/CustomExceptionMapperTest.java Fri Oct 10 14:26:30 2014 @@ -49,6 +49,7 @@ public class CustomExceptionMapperTest { properties.setProperty(OpenEjbContainer.OPENEJB_EMBEDDED_REMOTABLE, true); properties.setProperty(DeploymentLoader.OPENEJB_ALTDD_PREFIX, em); properties.setProperty(httpejbd.port, Integer.toString(port)); +properties.setProperty(cxf.jaxrs.skip-provider-scanning, true); container = EJBContainer.createEJBContainer(properties); } Modified: tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/DynamicSubclassEjbDeploymentTest.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/DynamicSubclassEjbDeploymentTest.java?rev=1630909r1=1630908r2=1630909view=diff == --- tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/DynamicSubclassEjbDeploymentTest.java (original) +++ tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/DynamicSubclassEjbDeploymentTest.java Fri Oct 10 14:26:30 2014 @@ -51,6 +51,7 @@ public class DynamicSubclassEjbDeploymen public static void start() throws Exception { port = NetworkUtil.getNextAvailablePort(); final Properties properties = new Properties(); +properties.setProperty(cxf.jaxrs.skip-provider-scanning, true); properties.setProperty(httpejbd.port, Integer.toString(port)); properties.setProperty(DeploymentFilterable.CLASSPATH_INCLUDE, .*openejb-cxf-rs.*); properties.setProperty(OpenEjbContainer.OPENEJB_EMBEDDED_REMOTABLE, true); Modified: tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache/openejb/server/cxf/rs/EjbDeploymentTest.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/src/test/java/org/apache
svn commit: r1631084 - /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
Author: rmannibucau Date: Sat Oct 11 17:16:19 2014 New Revision: 1631084 URL: http://svn.apache.org/r1631084 Log: avoid to fail loading Logger if owb is missing Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java?rev=1631084r1=1631083r2=1631084view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java Sat Oct 11 17:16:19 2014 @@ -102,7 +102,11 @@ public class JuliLogStreamFactory implem // no-op: openjpa is not at the classpath so don't trigger it loading with our logger } -System.setProperty(WebBeansLoggerFacade.class.getName(), org.apache.webbeans.logger.JULLoggerFactory); +try { +System.setProperty(WebBeansLoggerFacade.class.getName(), org.apache.webbeans.logger.JULLoggerFactory); +} catch (final Throwable th) { +// ignored, surely arquillian remote only so OWB is not here +} } private static void setRootLogger(final OpenEJBLogManager value) {
svn commit: r1631083 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java
Author: rmannibucau Date: Sat Oct 11 17:16:11 2014 New Revision: 1631083 URL: http://svn.apache.org/r1631083 Log: avoid to fail loading Logger if owb is missing Modified: 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/util/JuliLogStreamFactory.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java?rev=1631083r1=1631082r2=1631083view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/JuliLogStreamFactory.java Sat Oct 11 17:16:11 2014 @@ -109,7 +109,11 @@ public class JuliLogStreamFactory implem // no-op: openjpa is not at the classpath so don't trigger it loading with our logger } -System.setProperty(WebBeansLoggerFacade.class.getName(), org.apache.webbeans.logger.JULLoggerFactory); +try { +System.setProperty(WebBeansLoggerFacade.class.getName(), org.apache.webbeans.logger.JULLoggerFactory); +} catch (final Throwable th) { +// ignored, surely arquillian remote only so OWB is not here +} } private static void setRootLogger(final OpenEJBLogManager value) {
svn commit: r1631085 - /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java
Author: rmannibucau Date: Sat Oct 11 17:22:03 2014 New Revision: 1631085 URL: http://svn.apache.org/r1631085 Log: ComparableValidationConfig should be Serializable Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java?rev=1631085r1=1631084r2=1631085view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java Sat Oct 11 17:22:03 2014 @@ -16,10 +16,11 @@ */ package org.apache.openejb.assembler.classic; +import java.io.Serializable; import java.util.List; import java.util.Properties; -public class ComparableValidationConfig { +public class ComparableValidationConfig implements Serializable { private final String providerClassName; private final String messageInterpolatorClass; private final String traversableResolverClass;
svn commit: r1631086 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java
Author: rmannibucau Date: Sat Oct 11 17:22:20 2014 New Revision: 1631086 URL: http://svn.apache.org/r1631086 Log: ComparableValidationConfig should be Serializable Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java?rev=1631086r1=1631085r2=1631086view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ComparableValidationConfig.java Sat Oct 11 17:22:20 2014 @@ -16,10 +16,11 @@ */ package org.apache.openejb.assembler.classic; +import java.io.Serializable; import java.util.List; import java.util.Properties; -public class ComparableValidationConfig { +public class ComparableValidationConfig implements Serializable { private final String providerClassName; private final String messageInterpolatorClass; private final String traversableResolverClass;
svn commit: r1631094 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java
Author: rmannibucau Date: Sat Oct 11 17:51:48 2014 New Revision: 1631094 URL: http://svn.apache.org/r1631094 Log: this field shouldn't be serialized but it can since it is in AppInfo through PersistenceUnitInfo#properties so ensureing we don't break everything Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java?rev=1631094r1=1631093r2=1631094view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java Sat Oct 11 17:51:48 2014 @@ -35,13 +35,13 @@ import java.util.Map; public class ValidatorFactoryWrapper implements ValidatorFactory, Serializable { public static final Logger logger = Logger.getInstance(LogCategory.OPENEJB, ValidatorFactoryWrapper.class); -private final MapComparableValidationConfig, ValidatorFactory fallbackValidators; +private transient final MapComparableValidationConfig, ValidatorFactory fallbackValidators; private ValidatorFactory factory() { try { return ValidatorUtil.lookupFactory(); } catch (final NamingException e) { // in absolute we should sort them to get the closest one of the persistence-unit? -if (!fallbackValidators.isEmpty()) { +if (fallbackValidators != null !fallbackValidators.isEmpty()) { return fallbackValidators.values().iterator().next(); } return ValidatorUtil.tryJndiLaterFactory();
svn commit: r1631093 - /tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java
Author: rmannibucau Date: Sat Oct 11 17:51:45 2014 New Revision: 1631093 URL: http://svn.apache.org/r1631093 Log: this field shouldn't be serialized but it can since it is in AppInfo through PersistenceUnitInfo#properties so ensureing we don't break everything Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java Modified: tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java URL: http://svn.apache.org/viewvc/tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java?rev=1631093r1=1631092r2=1631093view=diff == --- tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java (original) +++ tomee/tomee/branches/tomee-1.7.x/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java Sat Oct 11 17:51:45 2014 @@ -34,13 +34,13 @@ import java.util.Map; public class ValidatorFactoryWrapper implements ValidatorFactory, Serializable { public static final Logger logger = Logger.getInstance(LogCategory.OPENEJB, ValidatorFactoryWrapper.class); -private final MapComparableValidationConfig, ValidatorFactory fallbackValidators; +private transient final MapComparableValidationConfig, ValidatorFactory fallbackValidators; private ValidatorFactory factory() { try { return ValidatorUtil.lookupFactory(); } catch (final NamingException e) { // in absolute we should sort them to get the closest one of the persistence-unit? -if (!fallbackValidators.isEmpty()) { +if (fallbackValidators != null !fallbackValidators.isEmpty()) { return fallbackValidators.values().iterator().next(); } return ValidatorUtil.tryJndiLaterFactory();
svn commit: r1631096 - /tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java
Author: rmannibucau Date: Sat Oct 11 17:53:36 2014 New Revision: 1631096 URL: http://svn.apache.org/r1631096 Log: final + transient is not symmetric Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java?rev=1631096r1=1631095r2=1631096view=diff == --- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java (original) +++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ValidatorFactoryWrapper.java Sat Oct 11 17:53:36 2014 @@ -35,7 +35,7 @@ import java.util.Map; public class ValidatorFactoryWrapper implements ValidatorFactory, Serializable { public static final Logger logger = Logger.getInstance(LogCategory.OPENEJB, ValidatorFactoryWrapper.class); -private transient final MapComparableValidationConfig, ValidatorFactory fallbackValidators; +private transient MapComparableValidationConfig, ValidatorFactory fallbackValidators; private ValidatorFactory factory() { try {