Author: buildbot Date: Sun Dec 9 03:10:19 2018 New Revision: 1037644 Log: Staging update by buildbot for tomee
Modified: websites/staging/tomee/trunk/cgi-bin/ (props changed) websites/staging/tomee/trunk/content/ (props changed) websites/staging/tomee/trunk/content/community/contributors.html websites/staging/tomee/trunk/content/latest/docs/functional-testing-with-openejb,-jetty-and-selenium.html websites/staging/tomee/trunk/content/master/docs/functional-testing-with-openejb,-jetty-and-selenium.html websites/staging/tomee/trunk/content/tomee-8.0/docs/functional-testing-with-openejb,-jetty-and-selenium.html Propchange: websites/staging/tomee/trunk/cgi-bin/ ------------------------------------------------------------------------------ --- cms:source-revision (original) +++ cms:source-revision Sun Dec 9 03:10:19 2018 @@ -1 +1 @@ -1848496 +1848497 Propchange: websites/staging/tomee/trunk/content/ ------------------------------------------------------------------------------ --- cms:source-revision (original) +++ cms:source-revision Sun Dec 9 03:10:19 2018 @@ -1 +1 @@ -1848496 +1848497 Modified: websites/staging/tomee/trunk/content/community/contributors.html ============================================================================== --- websites/staging/tomee/trunk/content/community/contributors.html (original) +++ websites/staging/tomee/trunk/content/community/contributors.html Sun Dec 9 03:10:19 2018 @@ -97,11 +97,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Dain Sundstrom" src="http://www.gravatar.com/avatar/9b67307a606e8dbc311c449cd4cae2aa?s=140" style="width:140px"> + <img alt="Andy" src="http://www.gravatar.com/avatar/fea00dfa5f55664b225d9c072d9c6766?s=140" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Dain Sundstrom</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Andy</h3> <p></p> <ul class="list-inline"> @@ -110,11 +110,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Andy" src="http://www.gravatar.com/avatar/fea00dfa5f55664b225d9c072d9c6766?s=140" style="width:140px"> + <img alt="Dain Sundstrom" src="http://www.gravatar.com/avatar/9b67307a606e8dbc311c449cd4cae2aa?s=140" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Andy</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Dain Sundstrom</h3> <p></p> <ul class="list-inline"> @@ -170,6 +170,19 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> + <img alt="Mark Struberg" src="http://www.gravatar.com/avatar/30fae5bce90608fb3df5c018c586aea6?s=140" style="width:140px"> + <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> + </div> + <div class="col-sm-7"> + <h3 class="contributor-name" style="font-size:1.4em;">Mark Struberg</h3> + <p></p> + <ul class="list-inline"> + + </div> + </div> + + <div class="col-sm-4"> + <div class="photo col-sm-5"> <img alt="Romain Manni-Bucau" src="http://www.gravatar.com/avatar/a8010b78704a70577a7b079f1bc2c981?s=140" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> @@ -195,19 +208,6 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Mark Struberg" src="http://www.gravatar.com/avatar/30fae5bce90608fb3df5c018c586aea6?s=140" style="width:140px"> - <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> - </div> - <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Mark Struberg</h3> - <p></p> - <ul class="list-inline"> - - </div> - </div> - - <div class="col-sm-4"> - <div class="photo col-sm-5"> <img alt="Thiago Veronezi" src="http://www.gravatar.com/avatar/a02777ec107dbbdaa723f4115397dbb0?s=140" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> @@ -234,11 +234,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Manu George" src="../img/manugeorge.jpg" style="width:140px"> + <img alt="Vishwanath" src="https://twitter.com/stratwine/profile_image?size=bigger" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Manu George</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Vishwanath</h3> <p></p> <ul class="list-inline"> @@ -247,11 +247,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Lajos Moczar" src="../img/noimg.png" style="width:140px"> + <img alt="Rick McGuire" src="../img/rickmcguire.jpg" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Lajos Moczar</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Rick McGuire</h3> <p></p> <ul class="list-inline"> @@ -260,11 +260,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Karan Singh Malhi" src="https://twitter.com/KrnMal/profile_image?size=bigger" style="width:140px"> + <img alt="Lajos Moczar" src="../img/noimg.png" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Karan Singh Malhi</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Lajos Moczar</h3> <p></p> <ul class="list-inline"> @@ -273,11 +273,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Vishwanath" src="https://twitter.com/stratwine/profile_image?size=bigger" style="width:140px"> + <img alt="Kevan Lee Miller" src="https://twitter.com/kevanmiller/profile_image?size=bigger" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Vishwanath</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Kevan Lee Miller</h3> <p></p> <ul class="list-inline"> @@ -299,11 +299,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Kevan Lee Miller" src="https://twitter.com/kevanmiller/profile_image?size=bigger" style="width:140px"> + <img alt="Karan Singh Malhi" src="https://twitter.com/KrnMal/profile_image?size=bigger" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Kevan Lee Miller</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Karan Singh Malhi</h3> <p></p> <ul class="list-inline"> @@ -312,11 +312,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Rick McGuire" src="../img/rickmcguire.jpg" style="width:140px"> + <img alt="Manu George" src="../img/manugeorge.jpg" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Rick McGuire</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Manu George</h3> <p></p> <ul class="list-inline"> @@ -351,11 +351,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="David Jencks" src="../img/noimg.png" style="width:140px"> + <img alt="Lin Quan Jiang" src="../img/genspring.jpg" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">David Jencks</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Lin Quan Jiang</h3> <p></p> <ul class="list-inline"> @@ -364,11 +364,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Matt Richard Hogstrom" src="https://twitter.com/hogstrom/profile_image?size=bigger" style="width:140px"> + <img alt="David Jencks" src="../img/noimg.png" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Matt Richard Hogstrom</h3> + <h3 class="contributor-name" style="font-size:1.4em;">David Jencks</h3> <p></p> <ul class="list-inline"> @@ -377,11 +377,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Gianny Damour" src="../img/gdamour.jpg" style="width:140px"> + <img alt="Matt Richard Hogstrom" src="https://twitter.com/hogstrom/profile_image?size=bigger" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Gianny Damour</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Matt Richard Hogstrom</h3> <p></p> <ul class="list-inline"> @@ -390,11 +390,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Jean-Louis Monteiro" src="https://twitter.com/JLouisMonteiro/profile_image?size=bigger" style="width:140px"> + <img alt="Jeff Genender" src="../img/jgenender.jpg" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Jean-Louis Monteiro</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Jeff Genender</h3> <p></p> <ul class="list-inline"> @@ -416,11 +416,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Jarek Gawor" src="https://twitter.com/jgawor/profile_image?size=bigger" style="width:140px"> + <img alt="Daniel Stefan Haischt" src="https://twitter.com/uebermodean/profile_image?size=bigger" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Jarek Gawor</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Daniel Stefan Haischt</h3> <p></p> <ul class="list-inline"> @@ -429,11 +429,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Lin Quan Jiang" src="../img/genspring.jpg" style="width:140px"> + <img alt="Gianny Damour" src="../img/gdamour.jpg" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Lin Quan Jiang</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Gianny Damour</h3> <p></p> <ul class="list-inline"> @@ -442,11 +442,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Jacek Laskowski" src="https://twitter.com/jaceklaskowski/profile_image?size=bigger" style="width:140px"> + <img alt="Jarek Gawor" src="https://twitter.com/jgawor/profile_image?size=bigger" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Jacek Laskowski</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Jarek Gawor</h3> <p></p> <ul class="list-inline"> @@ -455,11 +455,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Daniel Stefan Haischt" src="https://twitter.com/uebermodean/profile_image?size=bigger" style="width:140px"> + <img alt="Jacek Laskowski" src="https://twitter.com/jaceklaskowski/profile_image?size=bigger" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Daniel Stefan Haischt</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Jacek Laskowski</h3> <p></p> <ul class="list-inline"> @@ -468,11 +468,11 @@ <div class="col-sm-4"> <div class="photo col-sm-5"> - <img alt="Jeff Genender" src="../img/jgenender.jpg" style="width:140px"> + <img alt="Jean-Louis Monteiro" src="https://twitter.com/JLouisMonteiro/profile_image?size=bigger" style="width:140px"> <i class="pull-right fa fa-star-o" style="color:#F38F24;"></i> </div> <div class="col-sm-7"> - <h3 class="contributor-name" style="font-size:1.4em;">Jeff Genender</h3> + <h3 class="contributor-name" style="font-size:1.4em;">Jean-Louis Monteiro</h3> <p></p> <ul class="list-inline"> Modified: websites/staging/tomee/trunk/content/latest/docs/functional-testing-with-openejb,-jetty-and-selenium.html ============================================================================== --- websites/staging/tomee/trunk/content/latest/docs/functional-testing-with-openejb,-jetty-and-selenium.html (original) +++ websites/staging/tomee/trunk/content/latest/docs/functional-testing-with-openejb,-jetty-and-selenium.html Sun Dec 9 03:10:19 2018 @@ -127,98 +127,98 @@ configure them to see the EJB and WAR mo private Server server; private EmbeddedServer() { - try { - // initialize OpenEJB & add some test data - Properties properties = new Properties(); - properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory"); - InitialContext ic = new InitialContext(properties); - PeopleFacade facade = (PeopleFacade) ic.lookup("PeopleFacadeEJBRemote"); - new TestFixture(facade).addTestData(); - - // setup web app - WebAppContext context = new WebAppContext(); - context.setWar(computeWarPath()); - InitialContext initialContext = setupJndi(context); - - // start the server - context.setServletHandler(new EmbeddedServerServletHandler(initialContext)); - context.setContextPath("/"); - server = new Server(9091); - server.addHandler(context); - - server.start(); - } catch (Exception e) { - e.printStackTrace(); - } + try { + // initialize OpenEJB & add some test data + Properties properties = new Properties(); + properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory"); + InitialContext ic = new InitialContext(properties); + PeopleFacade facade = (PeopleFacade) ic.lookup("PeopleFacadeEJBRemote"); + new TestFixture(facade).addTestData(); + + // setup web app + WebAppContext context = new WebAppContext(); + context.setWar(computeWarPath()); + InitialContext initialContext = setupJndi(context); + + // start the server + context.setServletHandler(new EmbeddedServerServletHandler(initialContext)); + context.setContextPath("/"); + server = new Server(9091); + server.addHandler(context); + + server.start(); + } catch (Exception e) { + e.printStackTrace(); + } } private InitialContext setupJndi(WebAppContext context) throws NamingException { - // setup local JNDI - InitialContext initialContext = new InitialContext(); - WebApp webApp = getWebApp(context); - Collection<EjbRef> refs = webApp.getEjbRef(); - for (EjbRef ref : refs) { - String ejbLink = ref.getEjbLink(); - - // get enterprise bean info - EnterpriseBeanInfo beanInfo = new EJBHelper().getEJBInfo(ejbLink); - if (beanInfo.jndiNames != null && beanInfo.jndiNames.size() > 0) { - String jndiName = "java:openejb/ejb/" + beanInfo.jndiNames.get(0); - initialContext.bind("java:comp/env/" + ref.getEjbRefName(), new LinkRef(jndiName)); + // setup local JNDI + InitialContext initialContext = new InitialContext(); + WebApp webApp = getWebApp(context); + Collection<EjbRef> refs = webApp.getEjbRef(); + for (EjbRef ref : refs) { + String ejbLink = ref.getEjbLink(); + + // get enterprise bean info + EnterpriseBeanInfo beanInfo = new EJBHelper().getEJBInfo(ejbLink); + if (beanInfo.jndiNames != null && beanInfo.jndiNames.size() > 0) { + String jndiName = "java:openejb/ejb/" + beanInfo.jndiNames.get(0); + initialContext.bind("java:comp/env/" + ref.getEjbRefName(), new LinkRef(jndiName)); + } } - } - return initialContext; + return initialContext; } private String computeWarPath() { - String currentPath = new File(".").getAbsolutePath(); - String warPath; + String currentPath = new File(".").getAbsolutePath(); + String warPath; - String[] pathParts = currentPath.split("(\\\\|/)+"); + String[] pathParts = currentPath.split("(\\\\|/)+"); - int webPart = Arrays.asList(pathParts).indexOf("PersonWEB"); - if (webPart == -1) { - warPath = "PersonWEB/src/main/webapp"; - } else { - StringBuffer buffer = new StringBuffer(); + int webPart = Arrays.asList(pathParts).indexOf("PersonWEB"); + if (webPart == -1) { + warPath = "PersonWEB/src/main/webapp"; + } else { + StringBuffer buffer = new StringBuffer(); + + for (int i = 0; i < webPart; i++) { + buffer.append(pathParts[i]); + buffer.append(File.separator); + } - for (int i = 0; i < webPart; i++) { - buffer.append(pathParts[i]); - buffer.append(File.separator); + buffer.append("PersonWEB/src/main/webapp"); + warPath = buffer.toString(); } - - buffer.append("PersonWEB/src/main/webapp"); - warPath = buffer.toString(); - } - return warPath; + return warPath; } public static EmbeddedServer getInstance() { - return instance; + return instance; } public Server getServer() { - return server; + return server; } public static void main(String[] args) { - try { - EmbeddedServer.getInstance().getServer().join(); - } catch (Exception e) { - e.printStackTrace(); - } + try { + EmbeddedServer.getInstance().getServer().join(); + } catch (Exception e) { + e.printStackTrace(); + } } private WebApp getWebApp(WebAppContext context) { - WebApp webApp = null; + WebApp webApp = null; - try { - FileInputStream is = new FileInputStream(new File(context.getWar() + "/WEB-INF/web.xml").getAbsolutePath()); - webApp = (WebApp) JaxbJavaee.unmarshal(WebApp.class, is); - } catch (Exception e) { - e.printStackTrace(); - } - return webApp; + try { + FileInputStream is = new FileInputStream(new File(context.getWar() + "/WEB-INF/web.xml").getAbsolutePath()); + webApp = (WebApp) JaxbJavaee.unmarshal(WebApp.class, is); + } catch (Exception e) { + e.printStackTrace(); + } + return webApp; } }</code></pre> </div> @@ -248,51 +248,39 @@ looks like this:</p> private InitialContext initialContext; public EmbeddedServerServletHandler(InitialContext initialContext) { - this.initialContext = initialContext; + this.initialContext = initialContext; } public Servlet customizeServlet(Servlet servlet) throws Exception { - Class<? extends Servlet> servletClass = servlet.getClass(); - Field[]</code></pre> -</div> -</div> -<div class="paragraph"> -<p>declaredFields = servletClass.getDeclaredFields();</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-java" data-lang="java"> for (Field declaredField : declaredFields) { - Annotation[]</code></pre> -</div> -</div> -<div class="paragraph"> -<p>annotations = declaredField.getAnnotations();</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-java" data-lang="java"> for (Annotation annotation : annotations) { - if (EJB.class.equals(annotation.annotationType())) { - // inject into this field - Class<?> fieldType = declaredField.getType(); - EnterpriseBeanInfo beanInfo = getBeanFor(fieldType); - if (beanInfo == null) { - continue; - } + Class<? extends Servlet> servletClass = servlet.getClass(); + Field[] declaredFields = servletClass.getDeclaredFields(); - String jndiName = "java:openejb/ejb/" + beanInfo.jndiNames.get(0); - Object o = initialContext.lookup(jndiName); + for (Field declaredField : declaredFields) { + Annotation[] annotations = declaredField.getAnnotations(); - declaredField.setAccessible(true); - declaredField.set(servlet, o); - } + for (Annotation annotation : annotations) { + if (EJB.class.equals(annotation.annotationType())) { + // inject into this field + Class<?> fieldType = declaredField.getType(); + EnterpriseBeanInfo beanInfo = getBeanFor(fieldType); + if (beanInfo == null) { + continue; + } + + String jndiName = "java:openejb/ejb/" + beanInfo.jndiNames.get(0); + Object o = initialContext.lookup(jndiName); + + declaredField.setAccessible(true); + declaredField.set(servlet, o); + } + } } - } - return super.customizeServlet(servlet); + return super.customizeServlet(servlet); } private EnterpriseBeanInfo getBeanFor(Class<?> fieldType) { - return new EJBHelper().getBeanInfo(fieldType); + return new EJBHelper().getBeanInfo(fieldType); } }</code></pre> </div> @@ -316,14 +304,14 @@ sure the Embedded server is running, and protected DefaultSelenium selenium; protected void setUp() throws Exception { - super.setUp(); - EmbeddedServer.getInstance(); - selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://localhost:9091/"); - selenium.start(); + super.setUp(); + EmbeddedServer.getInstance(); + selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://localhost:9091/"); + selenium.start(); } protected void tearDown() throws Exception { - selenium.stop(); + selenium.stop(); } }</code></pre> </div> @@ -335,17 +323,16 @@ sure the Embedded server is running, and <div class="content"> <pre class="highlight"><code class="language-java" data-lang="java">public class AddPersonTest extends FunctionalTestCase { public void testShouldAddAPerson() throws Exception { - selenium.open("/People"); - selenium.type("firstname", "Jonathan"); - selenium.type("lastname", "Gallimore"); + selenium.open("/People"); + selenium.type("firstname", "Jonathan"); + selenium.type("lastname", "Gallimore"); selenium.click("//input[@name='add' and @value='Add']"); - selenium.waitForPageToLoad("30000"); - selenium.type("filter", "gallimore"); - selenium.click("submit"); - selenium.waitForPageToLoad("30000"); + selenium.waitForPageToLoad("30000"); + selenium.type("filter", "gallimore"); + selenium.click("submit"); + selenium.waitForPageToLoad("30000"); assertEquals(1, selenium.getXpathCount("//div[@id='people']/ul/li").intValue()); assertEquals("Jonathan Gallimore", selenium.getText("//div[@id='people']/ul/li[1]")); - } }</code></pre> </div> Modified: websites/staging/tomee/trunk/content/master/docs/functional-testing-with-openejb,-jetty-and-selenium.html ============================================================================== --- websites/staging/tomee/trunk/content/master/docs/functional-testing-with-openejb,-jetty-and-selenium.html (original) +++ websites/staging/tomee/trunk/content/master/docs/functional-testing-with-openejb,-jetty-and-selenium.html Sun Dec 9 03:10:19 2018 @@ -127,98 +127,98 @@ configure them to see the EJB and WAR mo private Server server; private EmbeddedServer() { - try { - // initialize OpenEJB & add some test data - Properties properties = new Properties(); - properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory"); - InitialContext ic = new InitialContext(properties); - PeopleFacade facade = (PeopleFacade) ic.lookup("PeopleFacadeEJBRemote"); - new TestFixture(facade).addTestData(); - - // setup web app - WebAppContext context = new WebAppContext(); - context.setWar(computeWarPath()); - InitialContext initialContext = setupJndi(context); - - // start the server - context.setServletHandler(new EmbeddedServerServletHandler(initialContext)); - context.setContextPath("/"); - server = new Server(9091); - server.addHandler(context); - - server.start(); - } catch (Exception e) { - e.printStackTrace(); - } + try { + // initialize OpenEJB & add some test data + Properties properties = new Properties(); + properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory"); + InitialContext ic = new InitialContext(properties); + PeopleFacade facade = (PeopleFacade) ic.lookup("PeopleFacadeEJBRemote"); + new TestFixture(facade).addTestData(); + + // setup web app + WebAppContext context = new WebAppContext(); + context.setWar(computeWarPath()); + InitialContext initialContext = setupJndi(context); + + // start the server + context.setServletHandler(new EmbeddedServerServletHandler(initialContext)); + context.setContextPath("/"); + server = new Server(9091); + server.addHandler(context); + + server.start(); + } catch (Exception e) { + e.printStackTrace(); + } } private InitialContext setupJndi(WebAppContext context) throws NamingException { - // setup local JNDI - InitialContext initialContext = new InitialContext(); - WebApp webApp = getWebApp(context); - Collection<EjbRef> refs = webApp.getEjbRef(); - for (EjbRef ref : refs) { - String ejbLink = ref.getEjbLink(); - - // get enterprise bean info - EnterpriseBeanInfo beanInfo = new EJBHelper().getEJBInfo(ejbLink); - if (beanInfo.jndiNames != null && beanInfo.jndiNames.size() > 0) { - String jndiName = "java:openejb/ejb/" + beanInfo.jndiNames.get(0); - initialContext.bind("java:comp/env/" + ref.getEjbRefName(), new LinkRef(jndiName)); + // setup local JNDI + InitialContext initialContext = new InitialContext(); + WebApp webApp = getWebApp(context); + Collection<EjbRef> refs = webApp.getEjbRef(); + for (EjbRef ref : refs) { + String ejbLink = ref.getEjbLink(); + + // get enterprise bean info + EnterpriseBeanInfo beanInfo = new EJBHelper().getEJBInfo(ejbLink); + if (beanInfo.jndiNames != null && beanInfo.jndiNames.size() > 0) { + String jndiName = "java:openejb/ejb/" + beanInfo.jndiNames.get(0); + initialContext.bind("java:comp/env/" + ref.getEjbRefName(), new LinkRef(jndiName)); + } } - } - return initialContext; + return initialContext; } private String computeWarPath() { - String currentPath = new File(".").getAbsolutePath(); - String warPath; + String currentPath = new File(".").getAbsolutePath(); + String warPath; - String[] pathParts = currentPath.split("(\\\\|/)+"); + String[] pathParts = currentPath.split("(\\\\|/)+"); - int webPart = Arrays.asList(pathParts).indexOf("PersonWEB"); - if (webPart == -1) { - warPath = "PersonWEB/src/main/webapp"; - } else { - StringBuffer buffer = new StringBuffer(); + int webPart = Arrays.asList(pathParts).indexOf("PersonWEB"); + if (webPart == -1) { + warPath = "PersonWEB/src/main/webapp"; + } else { + StringBuffer buffer = new StringBuffer(); + + for (int i = 0; i < webPart; i++) { + buffer.append(pathParts[i]); + buffer.append(File.separator); + } - for (int i = 0; i < webPart; i++) { - buffer.append(pathParts[i]); - buffer.append(File.separator); + buffer.append("PersonWEB/src/main/webapp"); + warPath = buffer.toString(); } - - buffer.append("PersonWEB/src/main/webapp"); - warPath = buffer.toString(); - } - return warPath; + return warPath; } public static EmbeddedServer getInstance() { - return instance; + return instance; } public Server getServer() { - return server; + return server; } public static void main(String[] args) { - try { - EmbeddedServer.getInstance().getServer().join(); - } catch (Exception e) { - e.printStackTrace(); - } + try { + EmbeddedServer.getInstance().getServer().join(); + } catch (Exception e) { + e.printStackTrace(); + } } private WebApp getWebApp(WebAppContext context) { - WebApp webApp = null; + WebApp webApp = null; - try { - FileInputStream is = new FileInputStream(new File(context.getWar() + "/WEB-INF/web.xml").getAbsolutePath()); - webApp = (WebApp) JaxbJavaee.unmarshal(WebApp.class, is); - } catch (Exception e) { - e.printStackTrace(); - } - return webApp; + try { + FileInputStream is = new FileInputStream(new File(context.getWar() + "/WEB-INF/web.xml").getAbsolutePath()); + webApp = (WebApp) JaxbJavaee.unmarshal(WebApp.class, is); + } catch (Exception e) { + e.printStackTrace(); + } + return webApp; } }</code></pre> </div> @@ -248,51 +248,39 @@ looks like this:</p> private InitialContext initialContext; public EmbeddedServerServletHandler(InitialContext initialContext) { - this.initialContext = initialContext; + this.initialContext = initialContext; } public Servlet customizeServlet(Servlet servlet) throws Exception { - Class<? extends Servlet> servletClass = servlet.getClass(); - Field[]</code></pre> -</div> -</div> -<div class="paragraph"> -<p>declaredFields = servletClass.getDeclaredFields();</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-java" data-lang="java"> for (Field declaredField : declaredFields) { - Annotation[]</code></pre> -</div> -</div> -<div class="paragraph"> -<p>annotations = declaredField.getAnnotations();</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-java" data-lang="java"> for (Annotation annotation : annotations) { - if (EJB.class.equals(annotation.annotationType())) { - // inject into this field - Class<?> fieldType = declaredField.getType(); - EnterpriseBeanInfo beanInfo = getBeanFor(fieldType); - if (beanInfo == null) { - continue; - } + Class<? extends Servlet> servletClass = servlet.getClass(); + Field[] declaredFields = servletClass.getDeclaredFields(); - String jndiName = "java:openejb/ejb/" + beanInfo.jndiNames.get(0); - Object o = initialContext.lookup(jndiName); + for (Field declaredField : declaredFields) { + Annotation[] annotations = declaredField.getAnnotations(); - declaredField.setAccessible(true); - declaredField.set(servlet, o); - } + for (Annotation annotation : annotations) { + if (EJB.class.equals(annotation.annotationType())) { + // inject into this field + Class<?> fieldType = declaredField.getType(); + EnterpriseBeanInfo beanInfo = getBeanFor(fieldType); + if (beanInfo == null) { + continue; + } + + String jndiName = "java:openejb/ejb/" + beanInfo.jndiNames.get(0); + Object o = initialContext.lookup(jndiName); + + declaredField.setAccessible(true); + declaredField.set(servlet, o); + } + } } - } - return super.customizeServlet(servlet); + return super.customizeServlet(servlet); } private EnterpriseBeanInfo getBeanFor(Class<?> fieldType) { - return new EJBHelper().getBeanInfo(fieldType); + return new EJBHelper().getBeanInfo(fieldType); } }</code></pre> </div> @@ -316,14 +304,14 @@ sure the Embedded server is running, and protected DefaultSelenium selenium; protected void setUp() throws Exception { - super.setUp(); - EmbeddedServer.getInstance(); - selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://localhost:9091/"); - selenium.start(); + super.setUp(); + EmbeddedServer.getInstance(); + selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://localhost:9091/"); + selenium.start(); } protected void tearDown() throws Exception { - selenium.stop(); + selenium.stop(); } }</code></pre> </div> @@ -335,17 +323,16 @@ sure the Embedded server is running, and <div class="content"> <pre class="highlight"><code class="language-java" data-lang="java">public class AddPersonTest extends FunctionalTestCase { public void testShouldAddAPerson() throws Exception { - selenium.open("/People"); - selenium.type("firstname", "Jonathan"); - selenium.type("lastname", "Gallimore"); + selenium.open("/People"); + selenium.type("firstname", "Jonathan"); + selenium.type("lastname", "Gallimore"); selenium.click("//input[@name='add' and @value='Add']"); - selenium.waitForPageToLoad("30000"); - selenium.type("filter", "gallimore"); - selenium.click("submit"); - selenium.waitForPageToLoad("30000"); + selenium.waitForPageToLoad("30000"); + selenium.type("filter", "gallimore"); + selenium.click("submit"); + selenium.waitForPageToLoad("30000"); assertEquals(1, selenium.getXpathCount("//div[@id='people']/ul/li").intValue()); assertEquals("Jonathan Gallimore", selenium.getText("//div[@id='people']/ul/li[1]")); - } }</code></pre> </div> Modified: websites/staging/tomee/trunk/content/tomee-8.0/docs/functional-testing-with-openejb,-jetty-and-selenium.html ============================================================================== --- websites/staging/tomee/trunk/content/tomee-8.0/docs/functional-testing-with-openejb,-jetty-and-selenium.html (original) +++ websites/staging/tomee/trunk/content/tomee-8.0/docs/functional-testing-with-openejb,-jetty-and-selenium.html Sun Dec 9 03:10:19 2018 @@ -127,98 +127,98 @@ configure them to see the EJB and WAR mo private Server server; private EmbeddedServer() { - try { - // initialize OpenEJB & add some test data - Properties properties = new Properties(); - properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory"); - InitialContext ic = new InitialContext(properties); - PeopleFacade facade = (PeopleFacade) ic.lookup("PeopleFacadeEJBRemote"); - new TestFixture(facade).addTestData(); - - // setup web app - WebAppContext context = new WebAppContext(); - context.setWar(computeWarPath()); - InitialContext initialContext = setupJndi(context); - - // start the server - context.setServletHandler(new EmbeddedServerServletHandler(initialContext)); - context.setContextPath("/"); - server = new Server(9091); - server.addHandler(context); - - server.start(); - } catch (Exception e) { - e.printStackTrace(); - } + try { + // initialize OpenEJB & add some test data + Properties properties = new Properties(); + properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory"); + InitialContext ic = new InitialContext(properties); + PeopleFacade facade = (PeopleFacade) ic.lookup("PeopleFacadeEJBRemote"); + new TestFixture(facade).addTestData(); + + // setup web app + WebAppContext context = new WebAppContext(); + context.setWar(computeWarPath()); + InitialContext initialContext = setupJndi(context); + + // start the server + context.setServletHandler(new EmbeddedServerServletHandler(initialContext)); + context.setContextPath("/"); + server = new Server(9091); + server.addHandler(context); + + server.start(); + } catch (Exception e) { + e.printStackTrace(); + } } private InitialContext setupJndi(WebAppContext context) throws NamingException { - // setup local JNDI - InitialContext initialContext = new InitialContext(); - WebApp webApp = getWebApp(context); - Collection<EjbRef> refs = webApp.getEjbRef(); - for (EjbRef ref : refs) { - String ejbLink = ref.getEjbLink(); - - // get enterprise bean info - EnterpriseBeanInfo beanInfo = new EJBHelper().getEJBInfo(ejbLink); - if (beanInfo.jndiNames != null && beanInfo.jndiNames.size() > 0) { - String jndiName = "java:openejb/ejb/" + beanInfo.jndiNames.get(0); - initialContext.bind("java:comp/env/" + ref.getEjbRefName(), new LinkRef(jndiName)); + // setup local JNDI + InitialContext initialContext = new InitialContext(); + WebApp webApp = getWebApp(context); + Collection<EjbRef> refs = webApp.getEjbRef(); + for (EjbRef ref : refs) { + String ejbLink = ref.getEjbLink(); + + // get enterprise bean info + EnterpriseBeanInfo beanInfo = new EJBHelper().getEJBInfo(ejbLink); + if (beanInfo.jndiNames != null && beanInfo.jndiNames.size() > 0) { + String jndiName = "java:openejb/ejb/" + beanInfo.jndiNames.get(0); + initialContext.bind("java:comp/env/" + ref.getEjbRefName(), new LinkRef(jndiName)); + } } - } - return initialContext; + return initialContext; } private String computeWarPath() { - String currentPath = new File(".").getAbsolutePath(); - String warPath; + String currentPath = new File(".").getAbsolutePath(); + String warPath; - String[] pathParts = currentPath.split("(\\\\|/)+"); + String[] pathParts = currentPath.split("(\\\\|/)+"); - int webPart = Arrays.asList(pathParts).indexOf("PersonWEB"); - if (webPart == -1) { - warPath = "PersonWEB/src/main/webapp"; - } else { - StringBuffer buffer = new StringBuffer(); + int webPart = Arrays.asList(pathParts).indexOf("PersonWEB"); + if (webPart == -1) { + warPath = "PersonWEB/src/main/webapp"; + } else { + StringBuffer buffer = new StringBuffer(); + + for (int i = 0; i < webPart; i++) { + buffer.append(pathParts[i]); + buffer.append(File.separator); + } - for (int i = 0; i < webPart; i++) { - buffer.append(pathParts[i]); - buffer.append(File.separator); + buffer.append("PersonWEB/src/main/webapp"); + warPath = buffer.toString(); } - - buffer.append("PersonWEB/src/main/webapp"); - warPath = buffer.toString(); - } - return warPath; + return warPath; } public static EmbeddedServer getInstance() { - return instance; + return instance; } public Server getServer() { - return server; + return server; } public static void main(String[] args) { - try { - EmbeddedServer.getInstance().getServer().join(); - } catch (Exception e) { - e.printStackTrace(); - } + try { + EmbeddedServer.getInstance().getServer().join(); + } catch (Exception e) { + e.printStackTrace(); + } } private WebApp getWebApp(WebAppContext context) { - WebApp webApp = null; + WebApp webApp = null; - try { - FileInputStream is = new FileInputStream(new File(context.getWar() + "/WEB-INF/web.xml").getAbsolutePath()); - webApp = (WebApp) JaxbJavaee.unmarshal(WebApp.class, is); - } catch (Exception e) { - e.printStackTrace(); - } - return webApp; + try { + FileInputStream is = new FileInputStream(new File(context.getWar() + "/WEB-INF/web.xml").getAbsolutePath()); + webApp = (WebApp) JaxbJavaee.unmarshal(WebApp.class, is); + } catch (Exception e) { + e.printStackTrace(); + } + return webApp; } }</code></pre> </div> @@ -248,51 +248,39 @@ looks like this:</p> private InitialContext initialContext; public EmbeddedServerServletHandler(InitialContext initialContext) { - this.initialContext = initialContext; + this.initialContext = initialContext; } public Servlet customizeServlet(Servlet servlet) throws Exception { - Class<? extends Servlet> servletClass = servlet.getClass(); - Field[]</code></pre> -</div> -</div> -<div class="paragraph"> -<p>declaredFields = servletClass.getDeclaredFields();</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-java" data-lang="java"> for (Field declaredField : declaredFields) { - Annotation[]</code></pre> -</div> -</div> -<div class="paragraph"> -<p>annotations = declaredField.getAnnotations();</p> -</div> -<div class="listingblock"> -<div class="content"> -<pre class="highlight"><code class="language-java" data-lang="java"> for (Annotation annotation : annotations) { - if (EJB.class.equals(annotation.annotationType())) { - // inject into this field - Class<?> fieldType = declaredField.getType(); - EnterpriseBeanInfo beanInfo = getBeanFor(fieldType); - if (beanInfo == null) { - continue; - } + Class<? extends Servlet> servletClass = servlet.getClass(); + Field[] declaredFields = servletClass.getDeclaredFields(); - String jndiName = "java:openejb/ejb/" + beanInfo.jndiNames.get(0); - Object o = initialContext.lookup(jndiName); + for (Field declaredField : declaredFields) { + Annotation[] annotations = declaredField.getAnnotations(); - declaredField.setAccessible(true); - declaredField.set(servlet, o); - } + for (Annotation annotation : annotations) { + if (EJB.class.equals(annotation.annotationType())) { + // inject into this field + Class<?> fieldType = declaredField.getType(); + EnterpriseBeanInfo beanInfo = getBeanFor(fieldType); + if (beanInfo == null) { + continue; + } + + String jndiName = "java:openejb/ejb/" + beanInfo.jndiNames.get(0); + Object o = initialContext.lookup(jndiName); + + declaredField.setAccessible(true); + declaredField.set(servlet, o); + } + } } - } - return super.customizeServlet(servlet); + return super.customizeServlet(servlet); } private EnterpriseBeanInfo getBeanFor(Class<?> fieldType) { - return new EJBHelper().getBeanInfo(fieldType); + return new EJBHelper().getBeanInfo(fieldType); } }</code></pre> </div> @@ -316,14 +304,14 @@ sure the Embedded server is running, and protected DefaultSelenium selenium; protected void setUp() throws Exception { - super.setUp(); - EmbeddedServer.getInstance(); - selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://localhost:9091/"); - selenium.start(); + super.setUp(); + EmbeddedServer.getInstance(); + selenium = new DefaultSelenium("localhost", 4444, "*iexplore", "http://localhost:9091/"); + selenium.start(); } protected void tearDown() throws Exception { - selenium.stop(); + selenium.stop(); } }</code></pre> </div> @@ -335,17 +323,16 @@ sure the Embedded server is running, and <div class="content"> <pre class="highlight"><code class="language-java" data-lang="java">public class AddPersonTest extends FunctionalTestCase { public void testShouldAddAPerson() throws Exception { - selenium.open("/People"); - selenium.type("firstname", "Jonathan"); - selenium.type("lastname", "Gallimore"); + selenium.open("/People"); + selenium.type("firstname", "Jonathan"); + selenium.type("lastname", "Gallimore"); selenium.click("//input[@name='add' and @value='Add']"); - selenium.waitForPageToLoad("30000"); - selenium.type("filter", "gallimore"); - selenium.click("submit"); - selenium.waitForPageToLoad("30000"); + selenium.waitForPageToLoad("30000"); + selenium.type("filter", "gallimore"); + selenium.click("submit"); + selenium.waitForPageToLoad("30000"); assertEquals(1, selenium.getXpathCount("//div[@id='people']/ul/li").intValue()); assertEquals("Jonathan Gallimore", selenium.getText("//div[@id='people']/ul/li[1]")); - } }</code></pre> </div>