You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jg...@apache.org on 2016/05/13 14:33:46 UTC
[1/2] tomee git commit: Adding test
Repository: tomee
Updated Branches:
refs/heads/master 53a6babc9 -> e8c1d70d4
Adding test
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/7054afcb
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/7054afcb
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/7054afcb
Branch: refs/heads/master
Commit: 7054afcbda5c9978ad07045fba766cdbaae9981a
Parents: 012f0b3
Author: Jonathan Gallimore <jo...@jrg.me.uk>
Authored: Fri May 13 15:31:17 2016 +0100
Committer: Jonathan Gallimore <jo...@jrg.me.uk>
Committed: Fri May 13 15:31:17 2016 +0100
----------------------------------------------------------------------
.../core/ivm/EjbObjectInputStreamTest.java | 201 +++++++++++++++++++
1 file changed, 201 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/7054afcb/container/openejb-core/src/test/java/org/apache/openejb/core/ivm/EjbObjectInputStreamTest.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/test/java/org/apache/openejb/core/ivm/EjbObjectInputStreamTest.java b/container/openejb-core/src/test/java/org/apache/openejb/core/ivm/EjbObjectInputStreamTest.java
new file mode 100644
index 0000000..6bf7e92
--- /dev/null
+++ b/container/openejb-core/src/test/java/org/apache/openejb/core/ivm/EjbObjectInputStreamTest.java
@@ -0,0 +1,201 @@
+package org.apache.openejb.core.ivm;
+
+import org.apache.openejb.OpenEJB;
+import org.apache.openejb.assembler.classic.AppInfo;
+import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.assembler.classic.ProxyFactoryInfo;
+import org.apache.openejb.assembler.classic.SecurityServiceInfo;
+import org.apache.openejb.assembler.classic.StatelessSessionContainerInfo;
+import org.apache.openejb.assembler.classic.TransactionServiceInfo;
+import org.apache.openejb.config.AppModule;
+import org.apache.openejb.config.ConfigurationFactory;
+import org.apache.openejb.config.EjbModule;
+import org.apache.openejb.core.LocalInitialContextFactory;
+import org.apache.openejb.jee.EjbJar;
+import org.apache.openejb.jee.StatelessBean;
+import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.spi.ContainerSystem;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.Test;
+
+import javax.ejb.Remote;
+import javax.ejb.Stateless;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import java.util.Properties;
+
+import static org.junit.Assert.assertEquals;
+
+public class EjbObjectInputStreamTest {
+
+ private InitialContext context;
+ private Assembler assembler;
+ private ConfigurationFactory config;
+ private String oldWhitelist;
+ private String oldBlacklist;
+
+ @Before
+ public void setUp() throws Exception {
+ oldWhitelist = System.getProperty("tomee.serialization.class.whitelist");
+ oldBlacklist = System.getProperty("tomee.serialization.class.blacklist");
+
+ System.setProperty("tomee.serialization.class.whitelist", "org.apache.openejb.,java.lang.SecurityException,java.lang.RuntimeException,java.lang.Exception,"
+ + "java.lang.Throwable,java.lang.StackTraceElement,java.util.Collections,java.util.ArrayList,java.util.Properties,java.util.Hashtable,java.util.HashSet,"
+ + "java.net.URI,java.util.TreeSet,java.util.LinkedHashSet,java.lang.String");
+
+ System.setProperty("tomee.serialization.class.blacklist", "-");
+
+ config = new ConfigurationFactory();
+ assembler = new Assembler();
+
+ assembler.createProxyFactory(config.configureService(ProxyFactoryInfo.class));
+ assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
+ assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
+ assembler.createContainer(config.configureService(StatelessSessionContainerInfo.class));
+
+ final Properties props = new Properties();
+ props.setProperty(Context.INITIAL_CONTEXT_FACTORY, LocalInitialContextFactory.class.getName());
+ context = new InitialContext(props);
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ for (final AppInfo appInfo : assembler.getDeployedApplications()) {
+ assembler.destroyApplication(appInfo.path);
+ }
+ SystemInstance.get().setComponent(Assembler.class, null);
+ SystemInstance.get().setComponent(ContainerSystem.class, null);
+
+ if (oldWhitelist != null) {
+ System.setProperty("tomee.serialization.class.whitelist", oldWhitelist);
+ }
+
+ if (oldWhitelist != null) {
+ System.setProperty("tomee.serialization.class.blacklist", oldBlacklist);
+ }
+ }
+
+ @AfterClass
+ public static void afterClass() throws Exception {
+ OpenEJB.destroy();
+ }
+
+ @Test
+ public void testShouldAllowPrimitiveArraysToBeSerialized() throws Exception {
+ final EjbJar ejbJar = new EjbJar();
+ final StatelessBean statelessBean = new StatelessBean(TestBean.class);
+ ejbJar.addEnterpriseBean(statelessBean);
+
+ final AppModule app = new AppModule(this.getClass().getClassLoader(), "Test");
+ final EjbModule ejbModule = new EjbModule(ejbJar);
+ ejbModule.setModuleId("EjbModule");
+ app.getEjbModules().add(ejbModule);
+ assembler.createApplication(config.configureApplication(app));
+
+ final TestRemote testBean = (TestRemote) context.lookup("TestBeanRemote");
+ assertEquals('J', testBean.getChar());
+ assertEquals("Hello", new String(testBean.getCharArray()));
+ assertEquals("test", new String(testBean.getCharArrayArray()[0]));
+ assertEquals("run", new String(testBean.getCharArrayArray()[1]));
+ assertEquals(1, testBean.getIntArray()[0]);
+ assertEquals(2, testBean.getIntArray()[1]);
+ assertEquals(true, testBean.getBooleanArray()[0]);
+ assertEquals(false, testBean.getBooleanArray()[1]);
+ assertEquals(0xD, testBean.getByteArray()[0]);
+ assertEquals(0xE, testBean.getByteArray()[1]);
+ assertEquals(0xA, testBean.getByteArray()[2]);
+ assertEquals(0xD, testBean.getByteArray()[3]);
+ assertEquals(0xB, testBean.getByteArray()[4]);
+ assertEquals(0xE, testBean.getByteArray()[5]);
+ assertEquals(0xE, testBean.getByteArray()[6]);
+ assertEquals(0xF, testBean.getByteArray()[7]);
+ assertEquals(1, testBean.getShortArray()[0]);
+ assertEquals(2, testBean.getShortArray()[1]);
+ assertEquals(1.1f, testBean.getFloatArray()[0], 0.001);
+ assertEquals(2.2f, testBean.getFloatArray()[1], 0.001);
+ assertEquals(5L, testBean.getLongArray()[0]);
+ assertEquals(6L, testBean.getLongArray()[1]);
+ assertEquals(1.1, testBean.getDoubleArray()[0], 0.001);
+ assertEquals(2.2, testBean.getDoubleArray()[1], 0.001);
+ }
+
+ public interface TestRemote {
+ char[] getCharArray();
+
+ char[][] getCharArrayArray();
+
+ char getChar();
+
+ int[] getIntArray();
+
+ boolean[] getBooleanArray();
+
+ byte[] getByteArray();
+
+ short[] getShortArray();
+
+ float[] getFloatArray();
+
+ long[] getLongArray();
+
+ double[] getDoubleArray();
+ }
+
+ @Stateless
+ @Remote(TestRemote.class)
+ public static class TestBean implements TestRemote {
+
+ @Override
+ public char[] getCharArray() {
+ return "Hello".toCharArray();
+ }
+
+ @Override
+ public char[][] getCharArrayArray() {
+ return new char[] [] { new char[] { 't', 'e', 's', 't' }, new char[] { 'r', 'u', 'n' }};
+ }
+
+ @Override
+ public char getChar() {
+ return 'J';
+ }
+
+ @Override
+ public int[] getIntArray() {
+ return new int[] { 1, 2 };
+ }
+
+ @Override
+ public boolean[] getBooleanArray() {
+ return new boolean[] { true, false };
+ }
+
+ @Override
+ public byte[] getByteArray() {
+ return new byte[] { 0xD, 0xE, 0xA, 0xD, 0xB, 0xE, 0xE, 0xF };
+ }
+
+ @Override
+ public short[] getShortArray() {
+ return new short[] { 1, 2 };
+ }
+
+ @Override
+ public float[] getFloatArray() {
+ return new float[] { 1.1f, 2.2f };
+ }
+
+ @Override
+ public long[] getLongArray() {
+ return new long[] { 5L, 6L };
+ }
+
+ @Override
+ public double[] getDoubleArray() {
+ return new double[] { 1.1, 2.2 };
+ }
+ }
+
+}
[2/2] tomee git commit: Merge remote-tracking branch 'apache/master'
Posted by jg...@apache.org.
Merge remote-tracking branch 'apache/master'
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/e8c1d70d
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/e8c1d70d
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/e8c1d70d
Branch: refs/heads/master
Commit: e8c1d70d4e319dd0a857bad8dca9a59165c3e263
Parents: 7054afc 53a6bab
Author: Jonathan Gallimore <jo...@jrg.me.uk>
Authored: Fri May 13 15:32:09 2016 +0100
Committer: Jonathan Gallimore <jo...@jrg.me.uk>
Committed: Fri May 13 15:32:09 2016 +0100
----------------------------------------------------------------------
.../arquillian/tests/securityejb/Init.java | 40 ++
.../securityejb/SecurityEJBPropagationTest.java | 53 +++
.../securityejb/TheAuthConfigProvider.java | 69 +++
.../arquillian/tests/securityejb/TheEJb.java | 33 ++
.../tests/securityejb/TheServerAuthConfig.java | 83 ++++
.../tests/securityejb/TheServerAuthContext.java | 55 +++
.../tests/securityejb/TheServerAuthModule.java | 90 ++++
.../tests/securityejb/TheServlet.java | 65 +++
.../org/apache/openejb/ClassLoaderUtil.java | 3 +
.../main/java/org/apache/openejb/OpenEJB.java | 1 -
.../org/apache/openejb/config/AutoConfig.java | 3 +-
.../apache/openejb/config/sys/SaxOpenejb.java | 6 +
.../apache/openejb/config/sys/StackHandler.java | 3 +
.../core/security/AbstractSecurityService.java | 5 +
.../openejb/resource/AutoConnectionTracker.java | 5 +
.../GeronimoConnectionManagerFactory.java | 105 +++--
.../resource/activemq/ActiveMQ5Factory.java | 113 ++++-
.../openejb/ri/sp/PseudoSecurityService.java | 6 +
.../org/apache/openejb/spi/SecurityService.java | 8 +
.../main/java/org/apache/openejb/util/URLs.java | 5 +-
.../src/main/resources/default.exclusions | 1 +
.../openejb/activemq/AMQXASupportTest.java | 6 +-
.../openejb/activemq/KahaDBSupportTest.java | 5 +-
.../apache/openejb/config/AutoConfigTest.java | 448 +++++++++++++++++++
.../core/stateless/StatelessPoolStatsTest.java | 1 +
.../GeronimoConnectionManagerFactoryTest.java | 184 ++++++++
.../resource/activemq/ActiveMQ5FactoryTest.java | 18 +
.../org/apache/openejb/loader/JarLocation.java | 31 +-
.../apache/openejb/loader/SystemInstance.java | 83 ++++
examples/jpa-eclipselink/pom.xml | 2 +-
.../org/superbiz/eclipselink/MoviesTest.java | 54 +++
.../src/main/webapp/WEB-INF/moviefun.jsp | 4 -
examples/moviefun/src/main/webapp/index.jsp | 5 -
examples/moviefun/src/main/webapp/setup.jsp | 4 -
.../apache/openejb/maven/plugin/ExecMojo.java | 3 +
.../maven/plugin/customizer/monkey/Monkey.java | 94 ++++
.../monkey/classloader/ClassLoaderFactory.java | 75 ++++
.../monkey/file/PatchFolderFinder.java | 36 ++
.../customizer/monkey/index/FileIndexer.java | 137 ++++++
.../plugin/customizer/monkey/index/Item.java | 52 +++
.../customizer/monkey/jar/JarPatcher.java | 190 ++++++++
.../plugin/customizer/monkey/MonkeyTest.java | 115 +++++
.../src/test/java/test/patch/MyMain.java | 22 +
.../src/test/java/test/patch/foo/Another.java | 16 +
.../main/resources/archetype-resources/pom.xml | 10 +-
pom.xml | 4 +-
.../apache/openejb/server/httpd/EEFilter.java | 293 ++++++++++++
.../openejb/server/httpd/HttpRequestImpl.java | 4 +-
.../openejb/server/httpd/WebBeansFilter.java | 259 -----------
.../catalina/startup/OpenEJBContextConfig.java | 6 +-
.../tomee/catalina/JavaeeInstanceManager.java | 4 +-
.../org/apache/tomee/catalina/TomEERealm.java | 58 +--
.../tomee/catalina/TomEEWebappClassLoader.java | 2 +
.../tomee/catalina/TomcatSecurityService.java | 12 +
.../tomee/catalina/TomcatWebAppBuilder.java | 5 +-
.../java/org/apache/tomee/embedded/Main.java | 29 +-
.../internal/StandardContextCustomizer.java | 6 +-
57 files changed, 2628 insertions(+), 401 deletions(-)
----------------------------------------------------------------------