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(-)
----------------------------------------------------------------------