You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2018/11/30 22:26:45 UTC

[01/34] tomee-site-generator git commit: Code to download source from other repos

Repository: tomee-site-generator
Updated Branches:
  refs/heads/master e06942447 -> 3538e28d8


Code to download source from other repos


Project: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/commit/88e7874a
Tree: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/tree/88e7874a
Diff: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/diff/88e7874a

Branch: refs/heads/master
Commit: 88e7874ae1c79fd9e11c226ae698b65a6f3e0f07
Parents: e069424
Author: dblevins <da...@gmail.com>
Authored: Sun Nov 25 15:57:18 2018 -0800
Committer: dblevins <da...@gmail.com>
Committed: Sun Nov 25 15:57:18 2018 -0800

----------------------------------------------------------------------
 pom.xml                                         |  15 ++
 .../java/org/apache/tomee/website/Sources.java  | 212 +++++++++++++++++++
 2 files changed, 227 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/88e7874a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 1b74108..4e6d466 100755
--- a/pom.xml
+++ b/pom.xml
@@ -92,6 +92,21 @@
       <artifactId>svnkit</artifactId>
       <version>1.8.15</version>
     </dependency>
+    <dependency>
+      <groupId>org.eclipse.jgit</groupId>
+      <artifactId>org.eclipse.jgit</artifactId>
+      <version>5.1.3.201810200350-r</version>
+    </dependency>
+    <dependency>
+      <groupId>org.eclipse.jgit</groupId>
+      <artifactId>org.eclipse.jgit.pgm</artifactId>
+      <version>5.1.3.201810200350-r</version>
+    </dependency>
+    <dependency>
+      <groupId>args4j</groupId>
+      <artifactId>args4j</artifactId>
+      <version>2.33</version>
+    </dependency>
   </dependencies>
 
   <build>

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/88e7874a/src/main/java/org/apache/tomee/website/Sources.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Sources.java b/src/main/java/org/apache/tomee/website/Sources.java
new file mode 100644
index 0000000..5b64990
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/Sources.java
@@ -0,0 +1,212 @@
+/*
+ * 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.website;
+
+import org.apache.openejb.loader.IO;
+import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.api.PullResult;
+import org.eclipse.jgit.api.errors.GitAPIException;
+import org.eclipse.jgit.api.errors.RefNotAdvertisedException;
+import org.eclipse.jgit.internal.storage.file.FileRepository;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * The goal of this class is to combine several git repositories and branches into
+ * one canonical base that can be used with jbake.
+ *
+ * Repositories are cloned outside of target into a '/repos/' directory so that
+ * repeated running can be supported.  Subsequent runs will do a git pull to check
+ * for new content.
+ *
+ * The prepare step will copy relevant asciidoc and markdown sources into the
+ * target/jbake/<name> directory.
+ *
+ */
+public class Sources {
+
+    private final File destination;
+    private final File repos;
+    private final File mainSource;
+    private final List<Source> sources = new ArrayList<>();
+
+    public Sources(final File destination, final File repos, final File mainSource, final Source... sources) {
+        this.destination = destination;
+        this.repos = repos;
+        this.mainSource = mainSource;
+
+        destination.mkdirs();
+        repos.mkdirs();
+
+        Collections.addAll(this.sources, sources);
+    }
+
+    public void prepare() {
+        sources.stream()
+                .peek(source -> source.setDir(new File(repos, source.getName())))
+                .peek(Sources::download)
+                .forEach(Sources::done);
+        ;
+
+        try {
+            IO.copyDirectory(mainSource, destination);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private static void done(final Source source) {
+        System.out.println("Done " + source);
+    }
+
+    public static void main(String[] args) throws Exception {
+        final Sources sources = new Sources(new File("target/jbake"), new File("repos"), new File("src/main/jbake/content"),
+                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "master", "master"),
+                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "tomee-7.1.0", "tomee-7.1"),
+                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "tomee-7.0.5", "tomee-7.0"),
+                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "tomee-8.0.0-M1", "tomee-8.0", true)
+        );
+
+        sources.prepare();
+    }
+
+    private static void download(final Source source) {
+        if (source.getDir().exists()) {
+
+            try {
+                pull(source);
+            } catch (Exception e) {
+                System.out.println("Pull Failed. " + source);
+                e.printStackTrace();
+            }
+
+        } else {
+
+            try {
+                clone(source);
+            } catch (Exception e) {
+                System.out.println("Clone Failed. " + source);
+                e.printStackTrace();
+            }
+        }
+    }
+
+    private static void clone(final Source source) throws Exception {
+        System.out.println("  > git clone " + source.getScmUrl());
+
+        jgit("clone", source.getScmUrl(), "-b", source.getBranch(), source.getDir().getAbsolutePath());
+    }
+
+    private static void pull(final Source source) throws IOException, GitAPIException {
+        System.out.println("  > git pull");
+
+        final Git git = new Git(new FileRepository(source.getDir().getAbsolutePath() + "/.git"));
+
+        try {
+            final PullResult call = git.pull()
+                    .setRemote("origin")
+                    .setRemoteBranchName(source.getBranch())
+                    .call();
+
+            if (call.getMergeResult() != null) {
+                System.out.println(call.getMergeResult().getMergeStatus());
+            }
+
+            if (!call.isSuccessful()) {
+                System.out.println("Pull Failed.  Will Remove and clone.");
+                // delete
+                deleteDirectory(source.getDir());
+                // and try again
+                download(source);
+            }
+        } catch (RefNotAdvertisedException ignore) {
+            // we are on a tag
+        }
+    }
+
+    public static void jgit(final String... args) throws Exception {
+        org.eclipse.jgit.pgm.Main.main(args);
+    }
+
+
+    public static class Source {
+        private final String name;
+        private final String scmUrl;
+        private final String branch;
+        private final boolean latest;
+        private File dir;
+
+        public Source(final String scmUrl, final String branch, final String name) {
+            this(scmUrl, branch, name, false);
+        }
+
+        public Source(final String scmUrl, final String branch, final String name, final boolean latest) {
+            this.scmUrl = scmUrl;
+            this.branch = branch;
+            this.name = name;
+            this.latest = latest;
+        }
+
+        public boolean isLatest() {
+            return latest;
+        }
+
+        public String getScmUrl() {
+            return scmUrl;
+        }
+
+        public String getBranch() {
+            return branch;
+        }
+
+        public String getName() {
+            return name;
+        }
+
+        public File getDir() {
+            return dir;
+        }
+
+        public void setDir(final File dir) {
+            this.dir = dir;
+        }
+
+        @Override
+        public String toString() {
+            return "Source{" +
+                    "name='" + name + '\'' +
+                    ", scmUrl='" + scmUrl + '\'' +
+                    ", branch='" + branch + '\'' +
+                    '}';
+        }
+    }
+
+    private static boolean deleteDirectory(File dir) {
+        File[] allContents = dir.listFiles();
+        if (allContents != null) {
+            for (File file : allContents) {
+                deleteDirectory(file);
+            }
+        }
+        return dir.delete();
+    }
+
+}


[12/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/rest-cdi.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/rest-cdi.adoc b/src/main/jbake/content/examples/rest-cdi.adoc
deleted file mode 100755
index a2afbd4..0000000
--- a/src/main/jbake/content/examples/rest-cdi.adoc
+++ /dev/null
@@ -1,394 +0,0 @@
-= Simple REST with CDI
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example rest-cdi can be browsed at https://github.com/apache/tomee/tree/master/examples/rest-cdi
-
-
-Defining a REST service is pretty easy, simply ad @Path annotation to a class then define on methods
-the HTTP method to use (@GET, @POST, ...).
-
-= The Code
-
-==  The REST service: @Path, @Produces, @Consumes
-
-Here we see a bean that uses the Bean-Managed Concurrency option as well as the @Startup annotation which causes the bean to be instantiated by the container when the application starts. Singleton beans with @ConcurrencyManagement(BEAN) are responsible for their own thread-safety. The bean shown is a simple properties "registry" and provides a place where options could be set and retrieved by all beans in the application.
-
-Actually lines:
-
-
-[source,java]
-----
-@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-
-are optional since it is the default configuration. And these lines can be configured by method too
-if you need to be more precise.
-
-@Path("/greeting")
-@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-public class GreetingService {
-    @GET
-    public Response message() {
-        return new Response("Hi REST!");
-    }
-
-    @POST
-    public Response lowerCase(final Request message) {
-        return new Response(message.getValue().toLowerCase());
-    }
-}
-----
-
-
-=  Testing
-
-==  Test for the JAXRS service
-
-The test uses the OpenEJB ApplicationComposer to make it trivial.
-
-The idea is first to activate the jaxrs services. This is done using @EnableServices annotation.
-
-Then we create on the fly the application simply returning an object representing the web.xml. Here we simply
-use it to define the context root but you can use it to define your REST Application too. And to complete the
-application definition we add @Classes annotation to define the set of classes to use in this app.
-
-Finally to test it we use cxf client API to call the REST service in get() and post() methods.
-
-Side note: to show we use JSON or XML depending on the test method we activated on EnableServices the attribute httpDebug
-which prints the http messages in the logs.
-
-
-[source,java]
-----
-package org.superbiz.rest;
-
-import org.apache.cxf.jaxrs.client.WebClient;
-import org.apache.openejb.jee.WebApp;
-import org.apache.openejb.junit.ApplicationComposer;
-import org.apache.openejb.junit.Classes;
-import org.apache.openejb.junit.EnableServices;
-import org.apache.openejb.junit.Module;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import javax.ws.rs.core.MediaType;
-import java.io.IOException;
-
-import static org.junit.Assert.assertEquals;
-
-@EnableServices(value = "jaxrs", httpDebug = true)
-@RunWith(ApplicationComposer.class)
-public class GreetingServiceTest {
-    @Module
-    @Classes(value = {GreetingService.class, Greeting.class}, cdi = true) //This enables the CDI magic
-    public WebApp app() {
-        return new WebApp().contextRoot("test");
-    }
-
-    @Test
-    public void getXml() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/test/greeting/")
-                .accept(MediaType.APPLICATION_XML_TYPE)
-                .get(Response.class).getValue();
-        assertEquals("Hi REST!", message);
-    }
-
-    @Test
-    public void postXml() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/test/greeting/")
-                .accept(MediaType.APPLICATION_XML_TYPE)
-                .post(new Request("Hi REST!"), Response.class).getValue();
-        assertEquals("hi rest!", message);
-    }
-
-    @Test
-    public void getJson() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/test/greeting/")
-                .accept(MediaType.APPLICATION_JSON_TYPE)
-                .get(Response.class).getValue();
-        assertEquals("Hi REST!", message);
-    }
-
-    @Test
-    public void postJson() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/test/greeting/")
-                .accept(MediaType.APPLICATION_JSON_TYPE)
-                .post(new Request("Hi REST!"), Response.class).getValue();
-        assertEquals("hi rest!", message);
-    }
-}
-----
-
-
-
-= Running
-
-Running the example is fairly simple. In the "rest-cdi" directory run:
-
-    $ mvn clean install
-
-Which should create output like the following.
-
-    /opt/softs/java/jdk1.6.0_30/bin/java -ea -Didea.launcher.port=7534 -Didea.launcher.bin.path=/opt/softs/idea/bin -Dfile.encoding=UTF-8 -classpath /opt/softs/idea/lib/idea_rt.jar:/opt/softs/idea/plugins/junit/lib/junit-rt.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/plugin.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/javaws.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/jce.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/charsets.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/resources.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/deploy.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/management-agent.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/jsse.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/rt.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/ext/localedata.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/ext/sunjce_provider.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/ext/sunpkcs11.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/ext/dnsns.jar:/opt/dev/openejb/openejb-trunk/examples/rest-cdi/target/test-classes:/opt/dev/openejb/openejb-trunk/examples/rest-cdi/tar
 get/classes:/home/rmannibucau/.m2/repository/org/apache/openejb/javaee-api/6.0-4/javaee-api-6.0-4.jar:/home/rmannibucau/.m2/repository/junit/junit/4.10/junit-4.10.jar:/home/rmannibucau/.m2/repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-cxf-rs/4.5.1/openejb-cxf-rs-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-http/4.5.1/openejb-http-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-core/4.5.1/openejb-core-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/mbean-annotation-api/4.5.1/mbean-annotation-api-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-jpa-integration/4.5.1/openejb-jpa-integration-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-api/4.5.1/openejb-api-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/open
 ejb/openejb-loader/4.5.1/openejb-loader-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-javaagent/4.5.1/openejb-javaagent-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-jee/4.5.1/openejb-jee-4.5.1.jar:/home/rmannibucau/.m2/repository/com/sun/xml/bind/jaxb-impl/2.1.13/jaxb-impl-2.1.13.jar:/home/rmannibucau/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar:/home/rmannibucau/.m2/repository/org/apache/activemq/activemq-ra/5.7.0/activemq-ra-5.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/activemq/activemq-core/5.7.0/activemq-core-5.7.0.jar:/home/rmannibucau/.m2/repository/org/slf4j/slf4j-api/1.7.2/slf4j-api-1.7.2.jar:/home/rmannibucau/.m2/repository/org/apache/activemq/kahadb/5.7.0/kahadb-5.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/activemq/protobuf/activemq-protobuf/1.1/activemq-protobuf-1.1.jar:/home/rmannibucau/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar:/home/rmannibucau/.m2/r
 epository/commons-net/commons-net/3.1/commons-net-3.1.jar:/home/rmannibucau/.m2/repository/org/apache/geronimo/components/geronimo-connector/3.1.1/geronimo-connector-3.1.1.jar:/home/rmannibucau/.m2/repository/org/apache/geronimo/components/geronimo-transaction/3.1.1/geronimo-transaction-3.1.1.jar:/home/rmannibucau/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-connector_1.6_spec/1.0/geronimo-j2ee-connector_1.6_spec-1.0.jar:/home/rmannibucau/.m2/repository/org/objectweb/howl/howl/1.0.1-1/howl-1.0.1-1.jar:/home/rmannibucau/.m2/repository/org/apache/geronimo/javamail/geronimo-javamail_1.4_mail/1.8.2/geronimo-javamail_1.4_mail-1.8.2.jar:/home/rmannibucau/.m2/repository/org/apache/xbean/xbean-asm-shaded/3.12/xbean-asm-shaded-3.12.jar:/home/rmannibucau/.m2/repository/org/apache/xbean/xbean-finder-shaded/3.12/xbean-finder-shaded-3.12.jar:/home/rmannibucau/.m2/repository/org/apache/xbean/xbean-reflect/3.12/xbean-reflect-3.12.jar:/home/rmannibucau/.m2/repository/org/apache/xbean/xbea
 n-naming/3.12/xbean-naming-3.12.jar:/home/rmannibucau/.m2/repository/org/apache/xbean/xbean-bundleutils/3.12/xbean-bundleutils-3.12.jar:/home/rmannibucau/.m2/repository/org/hsqldb/hsqldb/2.2.8/hsqldb-2.2.8.jar:/home/rmannibucau/.m2/repository/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4.jar:/home/rmannibucau/.m2/repository/commons-pool/commons-pool/1.5.7/commons-pool-1.5.7.jar:/home/rmannibucau/.m2/repository/org/codehaus/swizzle/swizzle-stream/1.6.1/swizzle-stream-1.6.1.jar:/home/rmannibucau/.m2/repository/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar:/home/rmannibucau/.m2/repository/org/quartz-scheduler/quartz/2.1.6/quartz-2.1.6.jar:/home/rmannibucau/.m2/repository/org/slf4j/slf4j-jdk14/1.7.2/slf4j-jdk14-1.7.2.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-impl/1.1.6/openwebbeans-impl-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-spi/1.1.6/openwebbeans-spi-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openw
 ebbeans-ejb/1.1.6/openwebbeans-ejb-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-ee/1.1.6/openwebbeans-ee-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-ee-common/1.1.6/openwebbeans-ee-common-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-web/1.1.6/openwebbeans-web-1.1.6.jar:/home/rmannibucau/.m2/repository/org/javassist/javassist/3.15.0-GA/javassist-3.15.0-GA.jar:/home/rmannibucau/.m2/repository/org/apache/openjpa/openjpa/2.2.0/openjpa-2.2.0.jar:/home/rmannibucau/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4.jar:/home/rmannibucau/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/home/rmannibucau/.m2/repository/net/sourceforge/serp/serp/1.13.1/serp-1.13.1.jar:/home/rmannibucau/.m2/repository/asm/asm/3.2/asm-3.2.jar:/home/rmannibucau/.m2/repository/org/apache/bval/bval-core/0.5/bval-core-0.5.jar:/home/rmannibucau/.m2/repository/
 commons-beanutils/commons-beanutils-core/1.8.3/commons-beanutils-core-1.8.3.jar:/home/rmannibucau/.m2/repository/org/apache/bval/bval-jsr303/0.5/bval-jsr303-0.5.jar:/home/rmannibucau/.m2/repository/org/fusesource/jansi/jansi/1.8/jansi-1.8.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-server/4.5.1/openejb-server-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-client/4.5.1/openejb-client-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-ejbd/4.5.1/openejb-ejbd-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-rest/4.5.1/openejb-rest-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-cxf-transport/4.5.1/openejb-cxf-transport-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-transports-http/2.7.0/cxf-rt-transports-http-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-api/2.7.0/cxf-api-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/ws/xmlschema/xmlschema-c
 ore/2.0.3/xmlschema-core-2.0.3.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-core/2.7.0/cxf-rt-core-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-frontend-jaxrs/2.7.0/cxf-rt-frontend-jaxrs-2.7.0.jar:/home/rmannibucau/.m2/repository/javax/ws/rs/javax.ws.rs-api/2.0-m10/javax.ws.rs-api-2.0-m10.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-bindings-xml/2.7.0/cxf-rt-bindings-xml-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-rs-extension-providers/2.7.0/cxf-rt-rs-extension-providers-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-rs-extension-search/2.7.0/cxf-rt-rs-extension-search-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-rs-security-cors/2.7.0/cxf-rt-rs-security-cors-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-rs-security-oauth2/2.7.0/cxf-rt-rs-security-oauth2-2.7.0.jar:/home/rmannibucau/.m2/repository/org/codehaus/jettison/jettison/1.3/jettison-1.3.jar:/home/rman
 nibucau/.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 org.superbiz.rest.GreetingServiceTest
-    INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-    INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-    INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-    INFO - Creating TransactionManager(id=Default Transaction Manager)
-    INFO - Creating SecurityService(id=Default Security Service)
-    INFO - Initializing network services
-    INFO - Creating ServerService(id=httpejbd)
-    INFO - Using 'print=true'
-    INFO - Using 'indent.xml=true'
-    INFO - Creating ServerService(id=cxf-rs)
-    INFO - Initializing network services
-    INFO - Starting service httpejbd
-    INFO - Started service httpejbd
-    INFO - Starting service cxf-rs
-    INFO - Started service cxf-rs
-    INFO -   ** Bound Services **
-    INFO -   NAME                 IP              PORT  
-    INFO -   httpejbd             127.0.0.1       4204  
-    INFO - -------
-    INFO - Ready!
-    INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-    INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-    INFO - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
-    INFO - Creating Container(id=Default Managed Container)
-    INFO - Using directory /tmp for stateful session passivation
-    INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest" loaded.
-    INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-    INFO - Existing thread singleton service in SystemInstance() null
-    INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@54128635
-    INFO - Succeeded in installing singleton service
-    INFO - OpenWebBeans Container is starting...
-    INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-    INFO - All injection points are validated successfully.
-    INFO - OpenWebBeans Container has started, it took 102 ms.
-    INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest)
-    INFO - Setting the server's publish address to be http://127.0.0.1:4204/test
-    INFO - REST Service: http://127.0.0.1:4204/test/greeting/.*  -> Pojo org.superbiz.rest.GreetingService
-    FINE - ******************* REQUEST ******************
-    GET http://localhost:4204/test/greeting/
-    Host=localhost:4204
-    User-Agent=Apache CXF 2.7.0
-    Connection=keep-alive
-    Accept=application/xml
-    Content-Type=*/*
-    Pragma=no-cache
-    Cache-Control=no-cache
-    
-    
-    **********************************************
-    
-    FINE - HTTP/1.1 200 OK
-    Date: Fri, 09 Nov 2012 11:59:00 GMT
-    Content-Length: 44
-    Set-Cookie: EJBSESSIONID=fc5037fa-641c-495d-95ca-0755cfa50beb; Path=/
-    Content-Type: application/xml
-    Connection: close
-    Server: OpenEJB/4.5.1 Linux/3.2.0-23-generic (amd64)
-    
-
-[source,xml]
-----
-<response><value>Hi REST!</value></response>
-INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Stopping network services
-INFO - Stopping server services
-INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Using 'print=true'
-INFO - Using 'indent.xml=true'
-INFO - Creating ServerService(id=cxf-rs)
-INFO - Initializing network services
-INFO - Starting service httpejbd
-INFO - Started service httpejbd
-INFO - Starting service cxf-rs
-INFO - Started service cxf-rs
-INFO -   ** Bound Services **
-INFO -   NAME                 IP              PORT  
-INFO -   httpejbd             127.0.0.1       4204  
-INFO - -------
-INFO - Ready!
-INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory /tmp for stateful session passivation
-INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest" loaded.
-INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Existing thread singleton service in SystemInstance() null
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@54128635
-INFO - Succeeded in installing singleton service
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 11 ms.
-INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest)
-INFO - Setting the server's publish address to be http://127.0.0.1:4204/test
-INFO - REST Service: http://127.0.0.1:4204/test/greeting/.*  -> Pojo org.superbiz.rest.GreetingService
-FINE - ******************* REQUEST ******************
-POST http://localhost:4204/test/greeting/
-Host=localhost:4204
-Content-Length=97
-User-Agent=Apache CXF 2.7.0
-Connection=keep-alive
-Accept=application/xml
-Content-Type=application/xml
-Pragma=no-cache
-Cache-Control=no-cache
-
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><request><value>Hi REST!</value></request>
-**********************************************
-
-FINE - HTTP/1.1 200 OK
-Date: Fri, 09 Nov 2012 11:59:00 GMT
-Content-Length: 44
-Set-Cookie: EJBSESSIONID=7cb2246d-5738-4a85-aac5-c0fb5340d36a; Path=/
-Content-Type: application/xml
-Connection: close
-Server: OpenEJB/4.5.1 Linux/3.2.0-23-generic (amd64)
-
-<response><value>hi rest!</value></response>
-INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Stopping network services
-INFO - Stopping server services
-INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Using 'print=true'
-INFO - Using 'indent.xml=true'
-INFO - Creating ServerService(id=cxf-rs)
-INFO - Initializing network services
-INFO - Starting service httpejbd
-INFO - Started service httpejbd
-INFO - Starting service cxf-rs
-INFO - Started service cxf-rs
-INFO -   ** Bound Services **
-INFO -   NAME                 IP              PORT  
-INFO -   httpejbd             127.0.0.1       4204  
-INFO - -------
-INFO - Ready!
-INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory /tmp for stateful session passivation
-INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest" loaded.
-INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Existing thread singleton service in SystemInstance() null
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@54128635
-INFO - Succeeded in installing singleton service
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 10 ms.
-INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest)
-INFO - Setting the server's publish address to be http://127.0.0.1:4204/test
-INFO - REST Service: http://127.0.0.1:4204/test/greeting/.*  -> Pojo org.superbiz.rest.GreetingService
-FINE - ******************* REQUEST ******************
-GET http://localhost:4204/test/greeting/
-Host=localhost:4204
-User-Agent=Apache CXF 2.7.0
-Connection=keep-alive
-Accept=application/json
-Content-Type=*/*
-Pragma=no-cache
-Cache-Control=no-cache
-
-
-**********************************************
-
-FINE - HTTP/1.1 200 OK
-Date: Fri, 09 Nov 2012 11:59:00 GMT
-Content-Length: 33
-Set-Cookie: EJBSESSIONID=7112a057-fc4c-4f52-a556-1617320d2275; Path=/
-Content-Type: application/json
-Connection: close
-Server: OpenEJB/4.5.1 Linux/3.2.0-23-generic (amd64)
-
-{"response":{"value":"Hi REST!"}}
-INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Stopping network services
-INFO - Stopping server services
-INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Using 'print=true'
-INFO - Using 'indent.xml=true'
-INFO - Creating ServerService(id=cxf-rs)
-INFO - Initializing network services
-INFO - Starting service httpejbd
-INFO - Started service httpejbd
-INFO - Starting service cxf-rs
-INFO - Started service cxf-rs
-INFO -   ** Bound Services **
-INFO -   NAME                 IP              PORT  
-INFO -   httpejbd             127.0.0.1       4204  
-INFO - -------
-INFO - Ready!
-INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory /tmp for stateful session passivation
-INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest" loaded.
-INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Existing thread singleton service in SystemInstance() null
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@54128635
-INFO - Succeeded in installing singleton service
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 10 ms.
-INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest)
-INFO - Setting the server's publish address to be http://127.0.0.1:4204/test
-INFO - REST Service: http://127.0.0.1:4204/test/greeting/.*  -> Pojo org.superbiz.rest.GreetingService
-FINE - ******************* REQUEST ******************
-POST http://localhost:4204/test/greeting/
-Host=localhost:4204
-Content-Length=97
-User-Agent=Apache CXF 2.7.0
-Connection=keep-alive
-Accept=application/json
-Content-Type=application/xml
-Pragma=no-cache
-Cache-Control=no-cache
-
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><request><value>Hi REST!</value></request>
-**********************************************
-
-FINE - HTTP/1.1 200 OK
-Date: Fri, 09 Nov 2012 11:59:01 GMT
-Content-Length: 33
-Set-Cookie: EJBSESSIONID=50cf1d2b-a940-4afb-8993-fff7f9cc6d83; Path=/
-Content-Type: application/json
-Connection: close
-Server: OpenEJB/4.5.1 Linux/3.2.0-23-generic (amd64)
-
-{"response":{"value":"hi rest!"}}
-INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Stopping network services
-INFO - Stopping server services
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/rest-example-with-application.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/rest-example-with-application.adoc b/src/main/jbake/content/examples/rest-example-with-application.adoc
deleted file mode 100755
index 8b9d47a..0000000
--- a/src/main/jbake/content/examples/rest-example-with-application.adoc
+++ /dev/null
@@ -1,90 +0,0 @@
-= REST Example with Application
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example rest-example-with-application can be browsed at https://github.com/apache/tomee/tree/master/examples/rest-example-with-application
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  ApplicationConfig
-
-
-[source,java]
-----
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.core.Application;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-@ApplicationPath("/rest-prefix")
-public class ApplicationConfig extends Application {
-    public Set<Class<?>> getClasses() {
-        return new HashSet<Class<?>>(Arrays.asList(SimpleRESTPojo.class, SimpleRESTEJB.class));
-    }
-}
-----
-
-
-==  SimpleRESTEJB
-
-
-[source,java]
-----
-import javax.ejb.Lock;
-import javax.ejb.LockType;
-import javax.ejb.Singleton;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import java.util.Date;
-
-@Singleton
-@Lock(LockType.READ)
-@Path("/ejb")
-public class SimpleRESTEJB {
-    @GET
-    public String ejb() {
-        return "ejb ok @ " + new Date().toString();
-    }
-}
-----
-
-
-==  SimpleRESTPojo
-
-
-[source,java]
-----
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import java.util.Date;
-
-@Path("/pojo")
-public class SimpleRESTPojo {
-    @GET
-    public String pojo() {
-        return "pojo ok @ " + new Date().toString();
-    }
-}
-----
-
-
-==  web.xml
-
-
-[source,xml]
-----
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         metadata-complete="false"
-         version="2.5">
-
-  <display-name>OpenEJB REST Example</display-name>
-</web-app>
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/rest-example.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/rest-example.adoc b/src/main/jbake/content/examples/rest-example.adoc
deleted file mode 100755
index c62eecb..0000000
--- a/src/main/jbake/content/examples/rest-example.adoc
+++ /dev/null
@@ -1,641 +0,0 @@
-= REST Example
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example rest-example can be browsed at https://github.com/apache/tomee/tree/master/examples/rest-example
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  CommentDAO
-
-
-[source,java]
-----
-package org.superbiz.rest.dao;
-
-import org.superbiz.rest.model.Comment;
-import org.superbiz.rest.model.Post;
-
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import java.util.Collections;
-import java.util.List;
-
-@Stateless
-public class CommentDAO extends DAO {
-    @EJB
-    private DAO dao;
-
-    public List<Comment> list(long postId) {
-        Post post = dao.find(Post.class, postId);
-        if (post == null) {
-            throw new IllegalArgumentException("post with id " + postId + " not found");
-        }
-        return Collections.unmodifiableList(post.getComments());
-    }
-
-    public Comment create(String author, String content, long postId) {
-        Post post = dao.find(Post.class, postId);
-        if (post == null) {
-            throw new IllegalArgumentException("post with id " + postId + " not found");
-        }
-
-        Comment comment = new Comment();
-        comment.setAuthor(author);
-        comment.setContent(content);
-        dao.create(comment);
-        comment.setPost(post);
-        return comment;
-    }
-
-    public void delete(long id) {
-        dao.delete(Comment.class, id);
-    }
-
-    public Comment update(long id, String author, String content) {
-        Comment comment = dao.find(Comment.class, id);
-        if (comment == null) {
-            throw new IllegalArgumentException("comment with id " + id + " not found");
-        }
-
-        comment.setAuthor(author);
-        comment.setContent(content);
-        return dao.update(comment);
-    }
-}
-----
-
-
-==  DAO
-
-
-[source,java]
-----
-package org.superbiz.rest.dao;
-
-import javax.ejb.Stateless;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.Query;
-import java.util.List;
-
-/**
- * Simply maps the entitymanager.
- * It simplifies refactoring (unitName change) and wraps some logic (limited queries).
- *
- */
-@Stateless
-public class DAO {
-    @PersistenceContext(unitName = "blog")
-    private EntityManager em;
-
-    public <E> E create(E e) {
-        em.persist(e);
-        return e;
-    }
-
-    public <E> E update(E e) {
-        return em.merge(e);
-    }
-
-    public <E> void delete(Class<E> clazz, long id) {
-        em.remove(em.find(clazz, id));
-    }
-
-    public <E> E find(Class<E> clazz, long id) {
-        return em.find(clazz, id);
-    }
-
-    public <E> List<E> find(Class<E> clazz, String query, int min, int max) {
-        return queryRange(em.createQuery(query, clazz), min, max).getResultList();
-    }
-
-    public <E> List<E> namedFind(Class<E> clazz, String query, int min, int max) {
-        return queryRange(em.createNamedQuery(query, clazz), min, max).getResultList();
-    }
-
-    private static Query queryRange(Query query, int min, int max) {
-        if (max >= 0) {
-            query.setMaxResults(max);
-        }
-        if (min >= 0) {
-            query.setFirstResult(min);
-        }
-        return query;
-    }
-}
-----
-
-
-==  PostDAO
-
-
-[source,java]
-----
-package org.superbiz.rest.dao;
-
-import org.superbiz.rest.model.Post;
-import org.superbiz.rest.model.User;
-
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import java.util.List;
-
-@Stateless
-public class PostDAO {
-    @EJB
-    private DAO dao;
-
-    public Post create(String title, String content, long userId) {
-        User user = dao.find(User.class, userId);
-        Post post = new Post();
-        post.setTitle(title);
-        post.setContent(content);
-        post.setUser(user);
-        return dao.create(post);
-    }
-
-    public Post find(long id) {
-        return dao.find(Post.class, id);
-    }
-
-    public List<Post> list(int first, int max) {
-        return dao.namedFind(Post.class, "post.list", first, max);
-    }
-
-    public void delete(long id) {
-        dao.delete(Post.class, id);
-    }
-
-    public Post update(long id, long userId, String title, String content) {
-        User user = dao.find(User.class, userId);
-        if (user == null) {
-            throw new IllegalArgumentException("user id " + id + " not found");
-        }
-
-        Post post = dao.find(Post.class, id);
-        if (post == null) {
-            throw new IllegalArgumentException("post id " + id + " not found");
-        }
-
-        post.setTitle(title);
-        post.setContent(content);
-        post.setUser(user);
-        return dao.update(post);
-    }
-}
-----
-
-
-==  UserDAO
-
-
-[source,java]
-----
-package org.superbiz.rest.dao;
-
-import org.superbiz.rest.model.User;
-
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import java.util.List;
-
-@Stateless
-public class UserDAO {
-    @EJB
-    private DAO dao;
-
-    public User create(String name, String pwd, String mail) {
-        User user = new User();
-        user.setFullname(name);
-        user.setPassword(pwd);
-        user.setEmail(mail);
-        return dao.create(user);
-    }
-
-    public List<User> list(int first, int max) {
-        return dao.namedFind(User.class, "user.list", first, max);
-    }
-
-    public User find(long id) {
-        return dao.find(User.class, id);
-    }
-
-    public void delete(long id) {
-        dao.delete(User.class, id);
-    }
-
-    public User update(long id, String name, String pwd, String mail) {
-        User user = dao.find(User.class, id);
-        if (user == null) {
-            throw new IllegalArgumentException("setUser id " + id + " not found");
-        }
-
-        user.setFullname(name);
-        user.setPassword(pwd);
-        user.setEmail(mail);
-        return dao.update(user);
-    }
-}
-----
-
-
-==  Comment
-
-
-[source,java]
-----
-package org.superbiz.rest.model;
-
-import javax.persistence.Entity;
-import javax.persistence.JoinColumn;
-import javax.persistence.Lob;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-@Entity
-@NamedQueries({
-        @NamedQuery(name = "comment.list", query = "select c from Comment c")
-}
-----
-
-
-==  DatedModel
-
-
-[source,java]
-----
-package org.superbiz.rest.model;
-
-import javax.persistence.MappedSuperclass;
-import javax.persistence.PrePersist;
-import java.util.Date;
-
-@MappedSuperclass
-public abstract class DatedModel extends Model {
-    private Date created;
-
-    @PrePersist
-    public void create() {
-        created = new Date();
-    }
-
-    public Date getCreated() {
-        return created;
-    }
-
-    public void setCreated(Date created) {
-        this.created = created;
-    }
-}
-----
-
-
-==  Model
-
-
-[source,java]
-----
-package org.superbiz.rest.model;
-
-import javax.persistence.Access;
-import javax.persistence.AccessType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.MappedSuperclass;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-
-@MappedSuperclass
-@Access(AccessType.FIELD)
-@XmlAccessorType(XmlAccessType.FIELD)
-public abstract class Model {
-
-    @Id
-    @GeneratedValue
-    protected long id;
-
-    public long getId() {
-        return id;
-    }
-
-    public void setId(long id) {
-        this.id = id;
-    }
-}
-----
-
-
-==  Post
-
-
-[source,java]
-----
-package org.superbiz.rest.model;
-
-import javax.persistence.Entity;
-import javax.persistence.FetchType;
-import javax.persistence.Lob;
-import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.OneToMany;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Size;
-import javax.xml.bind.annotation.XmlRootElement;
-import java.util.ArrayList;
-import java.util.List;
-
-@Entity
-@NamedQueries({
-        @NamedQuery(name = "post.list", query = "select p from Post p")
-}
-----
-
-
-==  User
-
-
-[source,java]
-----
-package org.superbiz.rest.model;
-
-import javax.persistence.Entity;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
-import javax.xml.bind.annotation.XmlRootElement;
-
-@Entity
-@NamedQueries({
-        @NamedQuery(name = "user.list", query = "select u from User u")
-}
-----
-
-
-==  CommentService
-
-
-[source,java]
-----
-package org.superbiz.rest.service;
-
-import org.superbiz.rest.dao.CommentDAO;
-import org.superbiz.rest.model.Comment;
-
-import javax.ejb.EJB;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import java.util.List;
-
-@Path("/api/comment")
-@Produces({"text/xml", "application/json"})
-public class CommentService {
-    @EJB
-    private CommentDAO commentDao;
-
-    @Path("/create")
-    @PUT
-    public Comment create(@QueryParam("author") String author,
-                          @QueryParam("content") String content,
-                          @QueryParam("postId") long postId) {
-        return commentDao.create(author, content, postId);
-    }
-
-    @Path("/list/{postId}")
-    @GET
-    public List<Comment> list(@PathParam("postId") long postId) {
-        return commentDao.list(postId);
-    }
-
-    @Path("/delete/{id}")
-    @DELETE
-    public void delete(@PathParam("id") long id) {
-        commentDao.delete(id);
-    }
-
-    @Path("/update/{id}")
-    @POST
-    public Comment update(@PathParam("id") long id,
-                          @QueryParam("author") String author,
-                          @QueryParam("content") String content) {
-        return commentDao.update(id, author, content);
-    }
-}
-----
-
-
-==  PostService
-
-
-[source,java]
-----
-package org.superbiz.rest.service;
-
-import org.superbiz.rest.dao.PostDAO;
-import org.superbiz.rest.model.Post;
-
-import javax.ejb.EJB;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import java.util.List;
-
-@Path("/api/post")
-@Produces({"text/xml", "application/json"})
-public class PostService {
-    @EJB
-    private PostDAO dao;
-
-    @Path("/create")
-    @PUT
-    public Post create(@QueryParam("title") String title,
-                       @QueryParam("content") String content,
-                       @QueryParam("userId") long userId) {
-        return dao.create(title, content, userId);
-    }
-
-    @Path("/list")
-    @GET
-    public List<Post> list(@QueryParam("first") @DefaultValue("0") int first,
-                           @QueryParam("max") @DefaultValue("20") int max) {
-        return dao.list(first, max);
-    }
-
-    @Path("/show/{id}")
-    @GET
-    public Post show(@PathParam("id") long id) {
-        return dao.find(id);
-    }
-
-    @Path("/delete/{id}")
-    @DELETE
-    public void delete(@PathParam("id") long id) {
-        dao.delete(id);
-    }
-
-    @Path("/update/{id}")
-    @POST
-    public Post update(@PathParam("id") long id,
-                       @QueryParam("userId") long userId,
-                       @QueryParam("title") String title,
-                       @QueryParam("content") String content) {
-        return dao.update(id, userId, title, content);
-    }
-}
-----
-
-
-==  UserService
-
-
-[source,java]
-----
-package org.superbiz.rest.service;
-
-import org.superbiz.rest.dao.UserDAO;
-import org.superbiz.rest.model.User;
-
-import javax.ejb.EJB;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import java.util.List;
-
-@Path("/api/user")
-@Produces({"text/xml", "application/json"})
-public class UserService {
-    @EJB
-    private UserDAO dao;
-
-    @Path("/create")
-    @PUT
-    public User create(@QueryParam("name") String name,
-                       @QueryParam("pwd") String pwd,
-                       @QueryParam("mail") String mail) {
-        return dao.create(name, pwd, mail);
-    }
-
-    @Path("/list")
-    @GET
-    public List<User> list(@QueryParam("first") @DefaultValue("0") int first,
-                           @QueryParam("max") @DefaultValue("20") int max) {
-        return dao.list(first, max);
-    }
-
-    @Path("/show/{id}")
-    @GET
-    public User show(@PathParam("id") long id) {
-        return dao.find(id);
-    }
-
-    @Path("/delete/{id}")
-    @DELETE
-    public void delete(@PathParam("id") long id) {
-        dao.delete(id);
-    }
-
-    @Path("/update/{id}")
-    @POST
-    public User update(@PathParam("id") long id,
-                       @QueryParam("name") String name,
-                       @QueryParam("pwd") String pwd,
-                       @QueryParam("mail") String mail) {
-        return dao.update(id, name, pwd, mail);
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence version="2.0"
-             xmlns="http://java.sun.com/xml/ns/persistence"
-             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
-                       http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
-  <persistence-unit name="blog">
-    <jta-data-source>My DataSource</jta-data-source>
-    <non-jta-data-source>My Unmanaged DataSource</non-jta-data-source>
-    <class>org.superbiz.rest.model.User</class>
-    <class>org.superbiz.rest.model.Post</class>
-    <class>org.superbiz.rest.model.Comment</class>
-    <class>org.superbiz.rest.model.Model</class>
-    <class>org.superbiz.rest.model.DatedModel</class>
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  web.xml
-
-
-[source,xml]
-----
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         metadata-complete="false"
-         version="2.5">
-
-  <display-name>OpenEJB REST Example</display-name>
-</web-app>
-----
-
-    
-
-==  UserDaoTest
-
-
-[source,java]
-----
-packagenull
-}
-----
-
-
-==  UserServiceTest
-
-
-[source,java]
-----
-packagenull
-}
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/rest-jaas.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/rest-jaas.adoc b/src/main/jbake/content/examples/rest-jaas.adoc
deleted file mode 100755
index 7587b09..0000000
--- a/src/main/jbake/content/examples/rest-jaas.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= rest-jaas
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example rest-jaas can be browsed at https://github.com/apache/tomee/tree/master/examples/rest-jaas
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/rest-on-ejb.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/rest-on-ejb.adoc b/src/main/jbake/content/examples/rest-on-ejb.adoc
deleted file mode 100755
index a9f344b..0000000
--- a/src/main/jbake/content/examples/rest-on-ejb.adoc
+++ /dev/null
@@ -1,360 +0,0 @@
-= REST on EJB
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example rest-on-ejb can be browsed at https://github.com/apache/tomee/tree/master/examples/rest-on-ejb
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  User
-
-
-[source,java]
-----
-package org.superbiz.rest;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.xml.bind.annotation.XmlRootElement;
-
-@Entity
-@NamedQueries({
-        @NamedQuery(name = "user.list", query = "select u from User u")
-}
-----
-
-
-==  UserService
-
-
-[source,java]
-----
-package org.superbiz.rest;
-
-import javax.ejb.Lock;
-import javax.ejb.LockType;
-import javax.ejb.Singleton;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.DefaultValue;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Outputs are copied because of the enhancement of OpenJPA.
- *
- */
-@Singleton
-@Lock(LockType.WRITE)
-@Path("/user")
-@Produces(MediaType.APPLICATION_XML)
-public class UserService {
-    @PersistenceContext
-    private EntityManager em;
-
-    @Path("/create")
-    @PUT
-    public User create(@QueryParam("name") String name,
-                       @QueryParam("pwd") String pwd,
-                       @QueryParam("mail") String mail) {
-        User user = new User();
-        user.setFullname(name);
-        user.setPassword(pwd);
-        user.setEmail(mail);
-        em.persist(user);
-        return user;
-    }
-
-    @Path("/list")
-    @GET
-    public List<User> list(@QueryParam("first") @DefaultValue("0") int first,
-                           @QueryParam("max") @DefaultValue("20") int max) {
-        List<User> users = new ArrayList<User>();
-        List<User> found = em.createNamedQuery("user.list", User.class).setFirstResult(first).setMaxResults(max).getResultList();
-        for (User u : found) {
-            users.add(u.copy());
-        }
-        return users;
-    }
-
-    @Path("/show/{id}")
-    @GET
-    public User find(@PathParam("id") long id) {
-        User user = em.find(User.class, id);
-        if (user == null) {
-            return null;
-        }
-        return user.copy();
-    }
-
-    @Path("/delete/{id}")
-    @DELETE
-    public void delete(@PathParam("id") long id) {
-        User user = em.find(User.class, id);
-        if (user != null) {
-            em.remove(user);
-        }
-    }
-
-    @Path("/update/{id}")
-    @POST
-    public Response update(@PathParam("id") long id,
-                           @QueryParam("name") String name,
-                           @QueryParam("pwd") String pwd,
-                           @QueryParam("mail") String mail) {
-        User user = em.find(User.class, id);
-        if (user == null) {
-            throw new IllegalArgumentException("user id " + id + " not found");
-        }
-
-        user.setFullname(name);
-        user.setPassword(pwd);
-        user.setEmail(mail);
-        em.merge(user);
-
-        return Response.ok(user.copy()).build();
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence version="2.0"
-             xmlns="http://java.sun.com/xml/ns/persistence"
-             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
-                       http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
-  <persistence-unit name="user">
-    <jta-data-source>My DataSource</jta-data-source>
-    <non-jta-data-source>My Unmanaged DataSource</non-jta-data-source>
-    <class>org.superbiz.rest.User</class>
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  UserServiceTest
-
-
-[source,java]
-----
-package org.superbiz.rest;
-
-import org.apache.cxf.jaxrs.client.WebClient;
-import org.apache.openejb.OpenEjbContainer;
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import javax.naming.NamingException;
-import javax.ws.rs.core.Response;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.Unmarshaller;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertNull;
-import static junit.framework.Assert.fail;
-
-public class UserServiceTest {
-    private static Context context;
-    private static UserService service;
-    private static List<User> users = new ArrayList<User>();
-
-    @BeforeClass
-    public static void start() throws NamingException {
-        Properties properties = new Properties();
-        properties.setProperty(OpenEjbContainer.OPENEJB_EMBEDDED_REMOTABLE, "true");
-        context = EJBContainer.createEJBContainer(properties).getContext();
-
-        // create some records
-        service = (UserService) context.lookup("java:global/rest-on-ejb/UserService");
-        users.add(service.create("foo", "foopwd", "foo@foo.com"));
-        users.add(service.create("bar", "barpwd", "bar@bar.com"));
-    }
-
-    @AfterClass
-    public static void close() throws NamingException {
-        if (context != null) {
-            context.close();
-        }
-    }
-
-    @Test
-    public void create() {
-        int expected = service.list(0, 100).size() + 1;
-        Response response = WebClient.create("http://localhost:4204")
-                .path("/user/create")
-                .query("name", "dummy")
-                .query("pwd", "unbreakable")
-                .query("mail", "foo@bar.fr")
-                .put(null);
-        List<User> list = service.list(0, 100);
-        for (User u : list) {
-            if (!users.contains(u)) {
-                service.delete(u.getId());
-                return;
-            }
-        }
-        fail("user was not added");
-    }
-
-    @Test
-    public void delete() throws Exception {
-        User user = service.create("todelete", "dontforget", "delete@me.com");
-
-        WebClient.create("http://localhost:4204").path("/user/delete/" + user.getId()).delete();
-
-        user = service.find(user.getId());
-        assertNull(user);
-    }
-
-    @Test
-    public void show() {
-        User user = WebClient.create("http://localhost:4204")
-                .path("/user/show/" + users.iterator().next().getId())
-                .get(User.class);
-        assertEquals("foo", user.getFullname());
-        assertEquals("foopwd", user.getPassword());
-        assertEquals("foo@foo.com", user.getEmail());
-    }
-
-    @Test
-    public void list() throws Exception {
-        String users = WebClient.create("http://localhost:4204")
-                .path("/user/list")
-                .get(String.class);
-        assertEquals(
-                "<users>" +
-                        "<user>" +
-                        "<email>foo@foo.com</email>" +
-                        "<fullname>foo</fullname>" +
-                        "<id>1</id>" +
-                        "<password>foopwd</password>" +
-                        "</user>" +
-                        "<user>" +
-                        "<email>bar@bar.com</email>" +
-                        "<fullname>bar</fullname>" +
-                        "<id>2</id>" +
-                        "<password>barpwd</password>" +
-                        "</user>" +
-                        "</users>", users);
-    }
-
-    @Test
-    public void update() throws Exception {
-        User created = service.create("name", "pwd", "mail");
-        Response response = WebClient.create("http://localhost:4204")
-                .path("/user/update/" + created.getId())
-                .query("name", "corrected")
-                .query("pwd", "userpwd")
-                .query("mail", "it@is.ok")
-                .post(null);
-
-        JAXBContext ctx = JAXBContext.newInstance(User.class);
-        Unmarshaller unmarshaller = ctx.createUnmarshaller();
-        User modified = (User) unmarshaller.unmarshal(InputStream.class.cast(response.getEntity()));
-
-        assertEquals("corrected", modified.getFullname());
-        assertEquals("userpwd", modified.getPassword());
-        assertEquals("it@is.ok", modified.getEmail());
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.rest.UserServiceTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/rest-on-ejb
-INFO - openejb.base = /Users/dblevins/examples/rest-on-ejb
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/rest-on-ejb/target/classes
-INFO - Beginning load: /Users/dblevins/examples/rest-on-ejb/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/rest-on-ejb
-INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-INFO - Auto-creating a container for bean UserService: Container(type=SINGLETON, id=Default Singleton Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.rest.UserServiceTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=user)
-INFO - Configuring Service(id=Default JDBC Database, type=Resource, provider-id=Default JDBC Database)
-INFO - Auto-creating a Resource with id 'Default JDBC Database' of type 'DataSource for 'user'.
-INFO - Configuring Service(id=Default Unmanaged JDBC Database, type=Resource, provider-id=Default Unmanaged JDBC Database)
-INFO - Auto-creating a Resource with id 'Default Unmanaged JDBC Database' of type 'DataSource for 'user'.
-INFO - Adjusting PersistenceUnit user <jta-data-source> to Resource ID 'Default JDBC Database' from 'My DataSource'
-INFO - Adjusting PersistenceUnit user <non-jta-data-source> to Resource ID 'Default Unmanaged JDBC Database' from 'My Unmanaged DataSource'
-INFO - Enterprise application "/Users/dblevins/examples/rest-on-ejb" loaded.
-INFO - Assembling app: /Users/dblevins/examples/rest-on-ejb
-INFO - PersistenceUnit(name=user, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 407ms
-INFO - Jndi(name="java:global/rest-on-ejb/UserService!org.superbiz.rest.UserService")
-INFO - Jndi(name="java:global/rest-on-ejb/UserService")
-INFO - Jndi(name="java:global/EjbModule1789767313/org.superbiz.rest.UserServiceTest!org.superbiz.rest.UserServiceTest")
-INFO - Jndi(name="java:global/EjbModule1789767313/org.superbiz.rest.UserServiceTest")
-INFO - Created Ejb(deployment-id=org.superbiz.rest.UserServiceTest, ejb-name=org.superbiz.rest.UserServiceTest, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=UserService, ejb-name=UserService, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=org.superbiz.rest.UserServiceTest, ejb-name=org.superbiz.rest.UserServiceTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=UserService, ejb-name=UserService, container=Default Singleton Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/rest-on-ejb)
-INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Creating ServerService(id=admin)
-INFO - Creating ServerService(id=ejbd)
-INFO - Creating ServerService(id=ejbds)
-INFO - Creating ServerService(id=cxf-rs)
-INFO - Initializing network services
-  ** Starting Services **
-  NAME                 IP              PORT  
-  httpejbd             127.0.0.1       4204  
-  admin thread         127.0.0.1       4200  
-  ejbd                 127.0.0.1       4201  
-  ejbd                 127.0.0.1       4203  
--------
-Ready!
-WARN - Query "select u from User u" is removed from cache  excluded permanently. Query "select u from User u" is not cached because it uses pagination..
-Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.102 sec
-
-Results :
-
-Tests run: 5, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/rest-xml-json.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/rest-xml-json.adoc b/src/main/jbake/content/examples/rest-xml-json.adoc
deleted file mode 100755
index 5628b87..0000000
--- a/src/main/jbake/content/examples/rest-xml-json.adoc
+++ /dev/null
@@ -1,394 +0,0 @@
-= Simple REST
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example rest-xml-json can be browsed at https://github.com/apache/tomee/tree/master/examples/rest-xml-json
-
-
-Defining a REST service is pretty easy, simply ad @Path annotation to a class then define on methods
-the HTTP method to use (@GET, @POST, ...).
-
-= The Code
-
-==  The REST service: @Path, @Produces, @Consumes
-
-Here we see a bean that uses the Bean-Managed Concurrency option as well as the @Startup annotation which causes the bean to be instantiated by the container when the application starts. Singleton beans with @ConcurrencyManagement(BEAN) are responsible for their own thread-safety. The bean shown is a simple properties "registry" and provides a place where options could be set and retrieved by all beans in the application.
-
-Actually lines:
-
-
-[source,java]
-----
-@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-
-are optional since it is the default configuration. And these lines can be configured by method too
-if you need to be more precise.
-
-@Path("/greeting")
-@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
-public class GreetingService {
-    @GET
-    public Response message() {
-        return new Response("Hi REST!");
-    }
-
-    @POST
-    public Response lowerCase(final Request message) {
-        return new Response(message.getValue().toLowerCase());
-    }
-}
-----
-
-
-=  Testing
-
-==  Test for the JAXRS service
-
-The test uses the OpenEJB ApplicationComposer to make it trivial.
-
-The idea is first to activate the jaxrs services. This is done using @EnableServices annotation.
-
-Then we create on the fly the application simply returning an object representing the web.xml. Here we simply
-use it to define the context root but you can use it to define your REST Application too. And to complete the
-application definition we add @Classes annotation to define the set of classes to use in this app.
-
-Finally to test it we use cxf client API to call the REST service in get() and post() methods.
-
-Side note: to show we use JSON or XML depending on the test method we activated on EnableServices the attribute httpDebug
-which prints the http messages in the logs.
-
-
-[source,java]
-----
-package org.superbiz.rest;
-
-import org.apache.cxf.jaxrs.client.WebClient;
-import org.apache.openejb.jee.WebApp;
-import org.apache.openejb.junit.ApplicationComposer;
-import org.apache.openejb.junit.Classes;
-import org.apache.openejb.junit.EnableServices;
-import org.apache.openejb.junit.Module;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import javax.ws.rs.core.MediaType;
-import java.io.IOException;
-
-import static org.junit.Assert.assertEquals;
-
-@EnableServices(value = "jaxrs", httpDebug = true)
-@RunWith(ApplicationComposer.class)
-public class GreetingServiceTest {
-    @Module
-    @Classes(GreetingService.class)
-    public WebApp app() {
-        return new WebApp().contextRoot("test");
-    }
-
-    @Test
-    public void getXml() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/test/greeting/")
-                .accept(MediaType.APPLICATION_XML_TYPE)
-                .get(Response.class).getValue();
-        assertEquals("Hi REST!", message);
-    }
-
-    @Test
-    public void postXml() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/test/greeting/")
-                .accept(MediaType.APPLICATION_XML_TYPE)
-                .post(new Request("Hi REST!"), Response.class).getValue();
-        assertEquals("hi rest!", message);
-    }
-
-    @Test
-    public void getJson() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/test/greeting/")
-                .accept(MediaType.APPLICATION_JSON_TYPE)
-                .get(Response.class).getValue();
-        assertEquals("Hi REST!", message);
-    }
-
-    @Test
-    public void postJson() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/test/greeting/")
-                .accept(MediaType.APPLICATION_JSON_TYPE)
-                .post(new Request("Hi REST!"), Response.class).getValue();
-        assertEquals("hi rest!", message);
-    }
-}
-----
-
-
-
-= Running
-
-Running the example is fairly simple. In the "rest-xml-json" directory run:
-
-    $ mvn clean install
-
-Which should create output like the following.
-
-    /opt/softs/java/jdk1.6.0_30/bin/java -ea -Didea.launcher.port=7534 -Didea.launcher.bin.path=/opt/softs/idea/bin -Dfile.encoding=UTF-8 -classpath /opt/softs/idea/lib/idea_rt.jar:/opt/softs/idea/plugins/junit/lib/junit-rt.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/plugin.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/javaws.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/jce.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/charsets.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/resources.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/deploy.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/management-agent.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/jsse.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/rt.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/ext/localedata.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/ext/sunjce_provider.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/ext/sunpkcs11.jar:/opt/softs/java/jdk1.6.0_30/jre/lib/ext/dnsns.jar:/opt/dev/openejb/openejb-trunk/examples/rest-xml-json/target/test-classes:/opt/dev/openejb/openejb-trunk/examples/rest-xm
 l-json/target/classes:/home/rmannibucau/.m2/repository/org/apache/openejb/javaee-api/6.0-4/javaee-api-6.0-4.jar:/home/rmannibucau/.m2/repository/junit/junit/4.10/junit-4.10.jar:/home/rmannibucau/.m2/repository/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-cxf-rs/4.5.1/openejb-cxf-rs-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-http/4.5.1/openejb-http-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-core/4.5.1/openejb-core-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/mbean-annotation-api/4.5.1/mbean-annotation-api-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-jpa-integration/4.5.1/openejb-jpa-integration-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-api/4.5.1/openejb-api-4.5.1.jar:/home/rmannibucau/.m2/repository/org/a
 pache/openejb/openejb-loader/4.5.1/openejb-loader-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-javaagent/4.5.1/openejb-javaagent-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-jee/4.5.1/openejb-jee-4.5.1.jar:/home/rmannibucau/.m2/repository/com/sun/xml/bind/jaxb-impl/2.1.13/jaxb-impl-2.1.13.jar:/home/rmannibucau/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar:/home/rmannibucau/.m2/repository/org/apache/activemq/activemq-ra/5.7.0/activemq-ra-5.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/activemq/activemq-core/5.7.0/activemq-core-5.7.0.jar:/home/rmannibucau/.m2/repository/org/slf4j/slf4j-api/1.7.2/slf4j-api-1.7.2.jar:/home/rmannibucau/.m2/repository/org/apache/activemq/kahadb/5.7.0/kahadb-5.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/activemq/protobuf/activemq-protobuf/1.1/activemq-protobuf-1.1.jar:/home/rmannibucau/.m2/repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar:/home/rmannib
 ucau/.m2/repository/commons-net/commons-net/3.1/commons-net-3.1.jar:/home/rmannibucau/.m2/repository/org/apache/geronimo/components/geronimo-connector/3.1.1/geronimo-connector-3.1.1.jar:/home/rmannibucau/.m2/repository/org/apache/geronimo/components/geronimo-transaction/3.1.1/geronimo-transaction-3.1.1.jar:/home/rmannibucau/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-connector_1.6_spec/1.0/geronimo-j2ee-connector_1.6_spec-1.0.jar:/home/rmannibucau/.m2/repository/org/objectweb/howl/howl/1.0.1-1/howl-1.0.1-1.jar:/home/rmannibucau/.m2/repository/org/apache/geronimo/javamail/geronimo-javamail_1.4_mail/1.8.2/geronimo-javamail_1.4_mail-1.8.2.jar:/home/rmannibucau/.m2/repository/org/apache/xbean/xbean-asm-shaded/3.12/xbean-asm-shaded-3.12.jar:/home/rmannibucau/.m2/repository/org/apache/xbean/xbean-finder-shaded/3.12/xbean-finder-shaded-3.12.jar:/home/rmannibucau/.m2/repository/org/apache/xbean/xbean-reflect/3.12/xbean-reflect-3.12.jar:/home/rmannibucau/.m2/repository/org/apache/
 xbean/xbean-naming/3.12/xbean-naming-3.12.jar:/home/rmannibucau/.m2/repository/org/apache/xbean/xbean-bundleutils/3.12/xbean-bundleutils-3.12.jar:/home/rmannibucau/.m2/repository/org/hsqldb/hsqldb/2.2.8/hsqldb-2.2.8.jar:/home/rmannibucau/.m2/repository/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4.jar:/home/rmannibucau/.m2/repository/commons-pool/commons-pool/1.5.7/commons-pool-1.5.7.jar:/home/rmannibucau/.m2/repository/org/codehaus/swizzle/swizzle-stream/1.6.1/swizzle-stream-1.6.1.jar:/home/rmannibucau/.m2/repository/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar:/home/rmannibucau/.m2/repository/org/quartz-scheduler/quartz/2.1.6/quartz-2.1.6.jar:/home/rmannibucau/.m2/repository/org/slf4j/slf4j-jdk14/1.7.2/slf4j-jdk14-1.7.2.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-impl/1.1.6/openwebbeans-impl-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-spi/1.1.6/openwebbeans-spi-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebb
 eans/openwebbeans-ejb/1.1.6/openwebbeans-ejb-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-ee/1.1.6/openwebbeans-ee-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-ee-common/1.1.6/openwebbeans-ee-common-1.1.6.jar:/home/rmannibucau/.m2/repository/org/apache/openwebbeans/openwebbeans-web/1.1.6/openwebbeans-web-1.1.6.jar:/home/rmannibucau/.m2/repository/org/javassist/javassist/3.15.0-GA/javassist-3.15.0-GA.jar:/home/rmannibucau/.m2/repository/org/apache/openjpa/openjpa/2.2.0/openjpa-2.2.0.jar:/home/rmannibucau/.m2/repository/commons-lang/commons-lang/2.4/commons-lang-2.4.jar:/home/rmannibucau/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/home/rmannibucau/.m2/repository/net/sourceforge/serp/serp/1.13.1/serp-1.13.1.jar:/home/rmannibucau/.m2/repository/asm/asm/3.2/asm-3.2.jar:/home/rmannibucau/.m2/repository/org/apache/bval/bval-core/0.5/bval-core-0.5.jar:/home/rmannibucau/.m2/r
 epository/commons-beanutils/commons-beanutils-core/1.8.3/commons-beanutils-core-1.8.3.jar:/home/rmannibucau/.m2/repository/org/apache/bval/bval-jsr303/0.5/bval-jsr303-0.5.jar:/home/rmannibucau/.m2/repository/org/fusesource/jansi/jansi/1.8/jansi-1.8.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-server/4.5.1/openejb-server-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-client/4.5.1/openejb-client-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-ejbd/4.5.1/openejb-ejbd-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-rest/4.5.1/openejb-rest-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/openejb/openejb-cxf-transport/4.5.1/openejb-cxf-transport-4.5.1.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-transports-http/2.7.0/cxf-rt-transports-http-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-api/2.7.0/cxf-api-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/ws/xmlschema/x
 mlschema-core/2.0.3/xmlschema-core-2.0.3.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-core/2.7.0/cxf-rt-core-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-frontend-jaxrs/2.7.0/cxf-rt-frontend-jaxrs-2.7.0.jar:/home/rmannibucau/.m2/repository/javax/ws/rs/javax.ws.rs-api/2.0-m10/javax.ws.rs-api-2.0-m10.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-bindings-xml/2.7.0/cxf-rt-bindings-xml-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-rs-extension-providers/2.7.0/cxf-rt-rs-extension-providers-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-rs-extension-search/2.7.0/cxf-rt-rs-extension-search-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-rs-security-cors/2.7.0/cxf-rt-rs-security-cors-2.7.0.jar:/home/rmannibucau/.m2/repository/org/apache/cxf/cxf-rt-rs-security-oauth2/2.7.0/cxf-rt-rs-security-oauth2-2.7.0.jar:/home/rmannibucau/.m2/repository/org/codehaus/jettison/jettison/1.3/jettison-1.3.jar:
 /home/rmannibucau/.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 org.superbiz.rest.GreetingServiceTest
-    INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-    INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-    INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-    INFO - Creating TransactionManager(id=Default Transaction Manager)
-    INFO - Creating SecurityService(id=Default Security Service)
-    INFO - Initializing network services
-    INFO - Creating ServerService(id=httpejbd)
-    INFO - Using 'print=true'
-    INFO - Using 'indent.xml=true'
-    INFO - Creating ServerService(id=cxf-rs)
-    INFO - Initializing network services
-    INFO - Starting service httpejbd
-    INFO - Started service httpejbd
-    INFO - Starting service cxf-rs
-    INFO - Started service cxf-rs
-    INFO -   ** Bound Services **
-    INFO -   NAME                 IP              PORT  
-    INFO -   httpejbd             127.0.0.1       4204  
-    INFO - -------
-    INFO - Ready!
-    INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-    INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-    INFO - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
-    INFO - Creating Container(id=Default Managed Container)
-    INFO - Using directory /tmp for stateful session passivation
-    INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest" loaded.
-    INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-    INFO - Existing thread singleton service in SystemInstance() null
-    INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@54128635
-    INFO - Succeeded in installing singleton service
-    INFO - OpenWebBeans Container is starting...
-    INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-    INFO - All injection points are validated successfully.
-    INFO - OpenWebBeans Container has started, it took 102 ms.
-    INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest)
-    INFO - Setting the server's publish address to be http://127.0.0.1:4204/test
-    INFO - REST Service: http://127.0.0.1:4204/test/greeting/.*  -> Pojo org.superbiz.rest.GreetingService
-    FINE - ******************* REQUEST ******************
-    GET http://localhost:4204/test/greeting/
-    Host=localhost:4204
-    User-Agent=Apache CXF 2.7.0
-    Connection=keep-alive
-    Accept=application/xml
-    Content-Type=*/*
-    Pragma=no-cache
-    Cache-Control=no-cache
-    
-    
-    **********************************************
-    
-    FINE - HTTP/1.1 200 OK
-    Date: Fri, 09 Nov 2012 11:59:00 GMT
-    Content-Length: 44
-    Set-Cookie: EJBSESSIONID=fc5037fa-641c-495d-95ca-0755cfa50beb; Path=/
-    Content-Type: application/xml
-    Connection: close
-    Server: OpenEJB/4.5.1 Linux/3.2.0-23-generic (amd64)
-    
-
-[source,xml]
-----
-<response><value>Hi REST!</value></response>
-INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Stopping network services
-INFO - Stopping server services
-INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Using 'print=true'
-INFO - Using 'indent.xml=true'
-INFO - Creating ServerService(id=cxf-rs)
-INFO - Initializing network services
-INFO - Starting service httpejbd
-INFO - Started service httpejbd
-INFO - Starting service cxf-rs
-INFO - Started service cxf-rs
-INFO -   ** Bound Services **
-INFO -   NAME                 IP              PORT  
-INFO -   httpejbd             127.0.0.1       4204  
-INFO - -------
-INFO - Ready!
-INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory /tmp for stateful session passivation
-INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest" loaded.
-INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Existing thread singleton service in SystemInstance() null
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@54128635
-INFO - Succeeded in installing singleton service
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 11 ms.
-INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest)
-INFO - Setting the server's publish address to be http://127.0.0.1:4204/test
-INFO - REST Service: http://127.0.0.1:4204/test/greeting/.*  -> Pojo org.superbiz.rest.GreetingService
-FINE - ******************* REQUEST ******************
-POST http://localhost:4204/test/greeting/
-Host=localhost:4204
-Content-Length=97
-User-Agent=Apache CXF 2.7.0
-Connection=keep-alive
-Accept=application/xml
-Content-Type=application/xml
-Pragma=no-cache
-Cache-Control=no-cache
-
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><request><value>Hi REST!</value></request>
-**********************************************
-
-FINE - HTTP/1.1 200 OK
-Date: Fri, 09 Nov 2012 11:59:00 GMT
-Content-Length: 44
-Set-Cookie: EJBSESSIONID=7cb2246d-5738-4a85-aac5-c0fb5340d36a; Path=/
-Content-Type: application/xml
-Connection: close
-Server: OpenEJB/4.5.1 Linux/3.2.0-23-generic (amd64)
-
-<response><value>hi rest!</value></response>
-INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Stopping network services
-INFO - Stopping server services
-INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Using 'print=true'
-INFO - Using 'indent.xml=true'
-INFO - Creating ServerService(id=cxf-rs)
-INFO - Initializing network services
-INFO - Starting service httpejbd
-INFO - Started service httpejbd
-INFO - Starting service cxf-rs
-INFO - Started service cxf-rs
-INFO -   ** Bound Services **
-INFO -   NAME                 IP              PORT  
-INFO -   httpejbd             127.0.0.1       4204  
-INFO - -------
-INFO - Ready!
-INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory /tmp for stateful session passivation
-INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest" loaded.
-INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Existing thread singleton service in SystemInstance() null
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@54128635
-INFO - Succeeded in installing singleton service
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 10 ms.
-INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest)
-INFO - Setting the server's publish address to be http://127.0.0.1:4204/test
-INFO - REST Service: http://127.0.0.1:4204/test/greeting/.*  -> Pojo org.superbiz.rest.GreetingService
-FINE - ******************* REQUEST ******************
-GET http://localhost:4204/test/greeting/
-Host=localhost:4204
-User-Agent=Apache CXF 2.7.0
-Connection=keep-alive
-Accept=application/json
-Content-Type=*/*
-Pragma=no-cache
-Cache-Control=no-cache
-
-
-**********************************************
-
-FINE - HTTP/1.1 200 OK
-Date: Fri, 09 Nov 2012 11:59:00 GMT
-Content-Length: 33
-Set-Cookie: EJBSESSIONID=7112a057-fc4c-4f52-a556-1617320d2275; Path=/
-Content-Type: application/json
-Connection: close
-Server: OpenEJB/4.5.1 Linux/3.2.0-23-generic (amd64)
-
-{"response":{"value":"Hi REST!"}}
-INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Stopping network services
-INFO - Stopping server services
-INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Using 'print=true'
-INFO - Using 'indent.xml=true'
-INFO - Creating ServerService(id=cxf-rs)
-INFO - Initializing network services
-INFO - Starting service httpejbd
-INFO - Started service httpejbd
-INFO - Starting service cxf-rs
-INFO - Started service cxf-rs
-INFO -   ** Bound Services **
-INFO -   NAME                 IP              PORT  
-INFO -   httpejbd             127.0.0.1       4204  
-INFO - -------
-INFO - Ready!
-INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory /tmp for stateful session passivation
-INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest" loaded.
-INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Existing thread singleton service in SystemInstance() null
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@54128635
-INFO - Succeeded in installing singleton service
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 10 ms.
-INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest)
-INFO - Setting the server's publish address to be http://127.0.0.1:4204/test
-INFO - REST Service: http://127.0.0.1:4204/test/greeting/.*  -> Pojo org.superbiz.rest.GreetingService
-FINE - ******************* REQUEST ******************
-POST http://localhost:4204/test/greeting/
-Host=localhost:4204
-Content-Length=97
-User-Agent=Apache CXF 2.7.0
-Connection=keep-alive
-Accept=application/json
-Content-Type=application/xml
-Pragma=no-cache
-Cache-Control=no-cache
-
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?><request><value>Hi REST!</value></request>
-**********************************************
-
-FINE - HTTP/1.1 200 OK
-Date: Fri, 09 Nov 2012 11:59:01 GMT
-Content-Length: 33
-Set-Cookie: EJBSESSIONID=50cf1d2b-a940-4afb-8993-fff7f9cc6d83; Path=/
-Content-Type: application/json
-Connection: close
-Server: OpenEJB/4.5.1 Linux/3.2.0-23-generic (amd64)
-
-{"response":{"value":"hi rest!"}}
-INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-INFO - Stopping network services
-INFO - Stopping server services
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/scala-basic.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/scala-basic.adoc b/src/main/jbake/content/examples/scala-basic.adoc
deleted file mode 100755
index e60894c..0000000
--- a/src/main/jbake/content/examples/scala-basic.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= scala-basic
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example scala-basic can be browsed at https://github.com/apache/tomee/tree/master/examples/scala-basic
-
-No README.md yet, be the first to contribute one!


[26/34] tomee-site-generator git commit: Merge old content. Move tech content to main build.

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat-ejb.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat-ejb.mdtext b/src/main/jbake/content/tomcat-ejb.mdtext
new file mode 100644
index 0000000..090254f
--- /dev/null
+++ b/src/main/jbake/content/tomcat-ejb.mdtext
@@ -0,0 +1,5 @@
+Title: Tomcat EJB
+
+Tomcat + Java EE = TomEE, the Java Enterprise Edition of Tomcat.  With TomEE you get Tomcat with EJB added and integrated and ready to go!
+
+{include:apache-tomee.mdtext}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat-installation.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat-installation.mdtext b/src/main/jbake/content/tomcat-installation.mdtext
new file mode 100644
index 0000000..32ae3f2
--- /dev/null
+++ b/src/main/jbake/content/tomcat-installation.mdtext
@@ -0,0 +1,168 @@
+Title: Tomcat Installation
+{composition-setup}
+{composition-setup}
+
+<a name="TomcatInstallation-Overview"></a>
+# Overview
+
+Tomcat installation is very simple, and can be describes as "Unpack and
+Run".  These instructions were written using Tomcat 6.0.14 but any recent
+6.x version should work.  If you are comfortable with the CLI, these the
+following quick instructions will get you going ASAP; otherwise skip to the [OPENEJB:Download Tomcat](#download.html)
+ section.
+
+1. Download Tomcat zip or tar.gz
+1. Unpack archive
+1. Platform specific setup
+** \[OPENEJB:Unix\](openejb:unix\.html)
+ If zip was unpacked, *chmod u+x bin/*.sh*
+** \[OPENEJB:Windows\](openejb:windows\.html)
+ *set JAVA_HOME =C:\your\java\installation* 
+1. Run bin/startup.sh or bin/startup.bat
+1. Visit http://localhost:8080/
+1. Run bin/shutdown.sh or bin/shutdown.bat
+
+<a name="TomcatInstallation-{anchor:download}DownloadTomcat"></a>
+# {anchor:download} Download Tomcat
+
+Download Tomcat 6 zip file from [here](http://tomcat.apache.org/download-60.cgi#6.0.14)
+.    
+
+<a name="TomcatInstallation-UnpackTomcat"></a>
+# Unpack Tomcat
+
+Unpack the Tomcat zip file  which will create a new directory containing
+the complete Tomcat installation.
+
+{deck:id=unpack tomcat}
+{card:label=Windows}{noformat:nopanel=true}
+C:\>jar -xvf apache-tomcat-6.0.14.zip
+  created: apache-tomcat-6.0.14/
+  created: apache-tomcat-6.0.14/bin/
+  created: apache-tomcat-6.0.14/conf/
+...snip...
+
+C:\>dir apache-tomcat-6.0.14
+ Volume in drive C has no label.
+ Volume Serial Number is 0000-0000
+
+ Directory of C:\apache-tomcat-6.0.14
+
+09/20/2007  09:14 PM	<DIR>	       .
+09/20/2007  09:14 PM	<DIR>	       ..
+09/20/2007  09:15 PM	<DIR>	       bin
+09/20/2007  09:15 PM	<DIR>	       conf
+09/20/2007  09:15 PM	<DIR>	       lib
+07/20/2007  04:20 AM		11,560 LICENSE
+09/20/2007  09:14 PM	<DIR>	       logs
+07/20/2007  04:20 AM		   556 NOTICE
+07/20/2007  04:20 AM		 6,656 RELEASE-NOTES
+07/20/2007  04:20 AM		 5,829 RUNNING.txt
+09/20/2007  09:14 PM	<DIR>	       temp
+09/20/2007  09:14 PM	<DIR>	       webapps
+09/20/2007  09:14 PM	<DIR>	       work
+	       4 File(s)	 24,601 bytes
+	       9 Dir(s)   5,085,085,696 bytes free
+
+    {card:label=Unix}{noformat:nopanel=true}
+    $ jar -xvf apache-tomcat-6.0.14.zip 
+      created: apache-tomcat-6.0.14/
+      created: apache-tomcat-6.0.14/bin/
+      created: apache-tomcat-6.0.14/conf/
+    ...snip...
+    
+    $ ls apache-tomcat-6.0.14/  
+    LICENSE        RELEASE-NOTES  bin/	     lib/	    temp/	  
+work/
+    NOTICE	       RUNNING.txt    conf/	     logs/	    webapps/
+
+{deck}
+
+# \[OPENEJB:Windows\](openejb:windows\.html)
+ Set JAVA_HOME environment variable
+
+For Windows users, the Tomcat shell scripts must know the location of the
+Java installation, and this is done with environment variables.  The
+following command will set the JAVA_HOME environment variable:
+
+{deck:id=unpack tomcat}
+{card:label=Windows}{noformat:nopanel=true}
+C:\>set JAVA_HOME =C:\your\java\installation
+
+    {deck}
+    
+# \[OPENEJB:Unix\]
+ Make shell scripts executable
+    
+    For Unix users, the shell scripts in the Tomcat installation are not
+executable by default, so in order to execute them, you must set mark them
+as executable.	If you unpacked the Tomcat tar.gz file, the scripts are
+already executable.  The following command will make all shell scripts
+executable:
+    
+    {deck:id=unpack tomcat}
+    {card:label=Unix}{noformat:nopanel=true}
+    apache-tomcat-6.0.14$ chmod u+x bin/*.sh
+
+{deck}
+
+<a name="TomcatInstallation-StartTomcat"></a>
+# Start Tomcat
+
+Execute the following command to start the Tomcat server:
+
+{deck:id=Start Tomcat}
+{card:label=Windows}{noformat:nopanel=true}
+C:\>cd apache-tomcat-6.0.14\bin
+
+C:\apache-tomcat-6.0.14\bin>startup.bat
+Using CATALINA_BASE:   C:\apache-tomcat-6.0.14
+Using CATALINA_HOME:   C:\apache-tomcat-6.0.14
+Using CATALINA_TMPDIR: C:\apache-tomcat-6.0.14\temp
+Using JRE_HOME:        C:\your\java\installation
+
+    {card:label=Unix}{noformat:nopanel=true}
+    $ cd apache-tomcat-6.0.14/bin
+    
+    apache-tomcat-6.0.14/bin$ ./startup.sh 
+    Using CATALINA_BASE:   /your/tomcat/installation/apache-tomcat-6.0.14
+    Using CATALINA_HOME:   /your/tomcat/installation/apache-tomcat-6.0.14
+    Using CATALINA_TMPDIR: /your/tomcat/installation/apache-tomcat-6.0.14/temp
+    Using JRE_HOME:        /your/java/installation
+
+{deck}
+
+*NOTE:* Your output will be different from the example above due to
+differences in installation location.
+
+<a name="TomcatInstallation-VerifyTomcatisRunning"></a>
+# Verify Tomcat is Running
+
+Visit [http://localhost:8080/](http://localhost:8080/)
+ and you should see the Tomcat welcome page.
+
+
+<a name="TomcatInstallation-StopTomcat"></a>
+# Stop Tomcat
+
+Shutdown Tomcat by executing the following command:
+
+{deck:id=Start Tomcat}
+{card:label=Windows}{noformat:nopanel=true}
+C:\apache-tomcat-6.0.14\bin>shutdown.bat
+Using CATALINA_BASE:   C:\apache-tomcat-6.0.14
+Using CATALINA_HOME:   C:\apache-tomcat-6.0.14
+Using CATALINA_TMPDIR: C:\apache-tomcat-6.0.14\temp
+Using JRE_HOME:        C:\your\java\installation
+
+    {card:label=Unix}{noformat:nopanel=true}
+    apache-tomcat-6.0.14/bin$ ./shutdown.sh 
+    Using CATALINA_BASE:   /your/tomcat/installation/apache-tomcat-6.0.14
+    Using CATALINA_HOME:   /your/tomcat/installation/apache-tomcat-6.0.14
+    Using CATALINA_TMPDIR: /your/tomcat/installation/apache-tomcat-6.0.14/temp
+    Using JRE_HOME:        /your/java/installation
+
+{deck}
+
+*NOTE:* Your output will be different from the example above due to
+differences in installation locations.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat-java-ee.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat-java-ee.mdtext b/src/main/jbake/content/tomcat-java-ee.mdtext
new file mode 100644
index 0000000..c25b1bd
--- /dev/null
+++ b/src/main/jbake/content/tomcat-java-ee.mdtext
@@ -0,0 +1,5 @@
+Title: Tomcat Java EE
+
+Tomcat + Java EE = TomEE, the Java Enterprise Edition of Tomcat.
+
+{include:apache-tomee.mdtext}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat-javaee.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat-javaee.mdtext b/src/main/jbake/content/tomcat-javaee.mdtext
new file mode 100644
index 0000000..f02a02f
--- /dev/null
+++ b/src/main/jbake/content/tomcat-javaee.mdtext
@@ -0,0 +1,5 @@
+Title: Tomcat JavaEE
+
+Tomcat + Java EE = TomEE, the Java Enterprise Edition of Tomcat.
+
+{include:apache-tomee.mdtext}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat-jaxrs.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat-jaxrs.mdtext b/src/main/jbake/content/tomcat-jaxrs.mdtext
new file mode 100644
index 0000000..2429ded
--- /dev/null
+++ b/src/main/jbake/content/tomcat-jaxrs.mdtext
@@ -0,0 +1,5 @@
+Title: Tomcat JAX-RS
+
+Tomcat + Java EE = TomEE, the Java Enterprise Edition of Tomcat.  With TomEE you get Tomcat with JAX-RS added and integrated and ready to go!
+
+{include:apache-tomee.mdtext}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat-jaxws.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat-jaxws.mdtext b/src/main/jbake/content/tomcat-jaxws.mdtext
new file mode 100644
index 0000000..60d9e9c
--- /dev/null
+++ b/src/main/jbake/content/tomcat-jaxws.mdtext
@@ -0,0 +1,5 @@
+Title: Tomcat JAX-WS
+
+Tomcat + Java EE = TomEE, the Java Enterprise Edition of Tomcat.  With TomEE you get Tomcat with JAX-WS added and integrated and ready to go!
+
+{include:apache-tomee.mdtext}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat-jms.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat-jms.mdtext b/src/main/jbake/content/tomcat-jms.mdtext
new file mode 100644
index 0000000..655dc99
--- /dev/null
+++ b/src/main/jbake/content/tomcat-jms.mdtext
@@ -0,0 +1,53 @@
+Title: Tomcat JMS
+
+Tomcat + Java EE = TomEE, the Java Enterprise Edition of Tomcat.  With TomEE you get Tomcat with JMS added and integrated and ready to go!
+
+In a plain Servlet, Filter or Listener you can do fun things like injection of JMS Topics or Queues:
+
+    import javax.annotation.Resource;
+    import javax.servlet.http.HttpServlet;
+    import javax.jms.Topic;
+    import javax.jms.Queue;
+    import javax.jms.ConnectionFactory;
+
+    public class MyServet extends HttpServlet {
+
+        @Resource(name = "foo")
+        private Topic fooTopic;
+
+        @Resource(name = "bar")
+        private Queue barQueue;
+
+        @Resource
+        private ConnectionFactory connectionFactory;
+
+        @Override
+        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+            //...
+
+            Connection connection = connectionFactory.createConnection();
+            connection.start();
+
+            // Create a Session
+            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+            // Create a MessageProducer from the Session to the Topic or Queue
+            MessageProducer producer = session.createProducer(fooTopic);
+            producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+
+            // Create a message
+            TextMessage message = session.createTextMessage("Hello World!");
+
+            // Tell the producer to send the message
+            producer.send(message);
+
+            //...
+        }
+
+    }
+
+No need to add even a single library!  In the above scenario even the "foo" Topic and the "bar" Queue would be automatically created with no configuration necessary.
+
+[Download](downloads.html) TomEE and you're minutes away from a functioning JMS application on Tomcat.
+
+{include:apache-tomee.mdtext}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat-jpa.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat-jpa.mdtext b/src/main/jbake/content/tomcat-jpa.mdtext
new file mode 100644
index 0000000..3b75a4d
--- /dev/null
+++ b/src/main/jbake/content/tomcat-jpa.mdtext
@@ -0,0 +1,59 @@
+Title: Tomcat JPA
+
+Tomcat + Java EE = TomEE, the Java Enterprise Edition of Tomcat.  With TomEE you get Tomcat with JPA added and integrated and ready to go!
+
+In a plain Servlet, Filter or Listener you can do fun things like injection of JPA EntityManager or EntityManagerFactory:
+
+    import javax.annotation.Resource;
+    import javax.persistence.EntityManager;
+    import javax.persistence.PersistenceContext;
+    import javax.servlet.http.HttpServlet;
+    import javax.transaction.UserTransaction;
+
+    public class MyServet extends HttpServlet {
+
+        @Resource
+        private UserTransaction userTransaction;
+
+        @PersistenceContext
+        private EntityManager entityManager;
+
+
+        @Override
+        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+            //...
+
+            userTransaction.begin();
+
+            try {
+                entityManager.persist(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
+                entityManager.persist(new Movie("Joel Coen", "Fargo", 1996));
+                entityManager.persist(new Movie("Joel Coen", "The Big Lebowski", 1998));
+            } finally {
+                userTransaction.commit();
+            }
+
+            //...
+        }
+
+    }
+
+No need to add even a single library!  To make the above work all you need is a `WEB-INF/persistence.xml` file in your webapp like the following:
+
+    <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
+
+      <persistence-unit name="movie-unit">
+        <jta-data-source>movieDatabase</jta-data-source>
+        <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
+
+        <properties>
+          <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
+        </properties>
+      </persistence-unit>
+    </persistence>
+
+DataSources will automatically be created if they haven't be configured explicitly.
+
+[Download](downloads.html) TomEE and you're minutes away from a functioning JPA application on Tomcat.
+
+{include:apache-tomee.mdtext}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat-jsf.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat-jsf.mdtext b/src/main/jbake/content/tomcat-jsf.mdtext
new file mode 100644
index 0000000..536c5a4
--- /dev/null
+++ b/src/main/jbake/content/tomcat-jsf.mdtext
@@ -0,0 +1,5 @@
+Title: Tomcat CDI
+
+Tomcat + Java EE = TomEE, the Java Enterprise Edition of Tomcat.  With TomEE you get Tomcat with JSF added and integrated and ready to go!
+
+{include:apache-tomee.mdtext}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat-object-factory.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat-object-factory.mdtext b/src/main/jbake/content/tomcat-object-factory.mdtext
new file mode 100644
index 0000000..1a3c77e
--- /dev/null
+++ b/src/main/jbake/content/tomcat-object-factory.mdtext
@@ -0,0 +1,12 @@
+Title: Tomcat Object Factory
+*The TomcatEjbFactory as discussed in the [OnJava article "OpenEJB: EJB for Tomcat"](http://www.onjava.com/pub/a/onjava/2003/02/12/ejb_tomcat.html)
+ is no longer required.*
+
+As of OpenEJB 3.0 references from Servlets to EJBs happen automatically
+with usage of the [@EJB annotation](openejbx30:injection-of-other-ejbs-example.html)
+ in the Servlet, Filter or Listener or with the <ejb-ref> or
+<ejb-local-ref> declared in the web.xml.
+
+See the [Tomcat Integration](openejbx30:tomcat.html)
+ page for the most up-to-date details on using OpenEJB inside Tomcat.
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat.mdtext b/src/main/jbake/content/tomcat.mdtext
new file mode 100644
index 0000000..517131d
--- /dev/null
+++ b/src/main/jbake/content/tomcat.mdtext
@@ -0,0 +1,144 @@
+Title: Tomcat
+
+<a name="Tomcat-Introduction"></a>
+# Introduction
+
+The OpenEJB plugin for Tomcat makes all of the OpenEJB features available
+to Servlets, including:
+
+ * @Annotations
+   ** @Resource
+   ** @PersistenceUnit
+   ** @PersistenceContext
+   ** @EJB
+ * JPA - Java Persistence Architecture
+ * JMS - Java Messaging Service
+ * JTA - Transaction Processing
+   ** TransactionManager
+   ** Container Managed Transactions
+   ** XA Support
+ * JavaMail
+
+In addition, WAR files can contain EJB modules and JPA persistence units
+eliminating the annoying construction of .ear files.  Adding EJBs and JPA
+Persistence beans to your application is as simple as adding the
+@Stateless, @Stateful, @MessageDriven or @Entity to a class.  The packaging
+is refered to as [OPENEJB:Collapsed EAR](openejb:collapsed-ear.html)
+ style as the war file, ejb jar, and persistence unit files are merged into
+one archive and share the same classloader.
+
+*Requirements:*
+ * OpenEJB 3.x
+ * Tomcat 6.x or 5.5
+ * Java 1.5 or 1.6
+
+<a name="Tomcat-{anchor:quickinstructions}InstallationfortheImpatient"></a>
+# Installation for the Impatient
+
+Assuming you have a [normal working Tomcat 6.x or 5.5 installation](tomcat-installation.html)
+:
+
+1. Download [openejb.war](openejb:download.html)
+1. Copy openejb.war to $\{catalina.base\}/webapps/openejb.war (Note: the
+file *must* be named openejb.war)
+1. Start Tomcat if it is not already running
+1. (optional) Visit [http://localhost:8080/openejb/installer](http://localhost:8080/openejb/installer)
+ and click the 'install' button
+
+<a name="Tomcat-Examples,TutorialsandTests"></a>
+# Examples, Tutorials and Tests
+
+<a name="Tomcat-ejb-examples.war"></a>
+## ejb-examples.war
+
+See the webapps/ejb-examples/ directory in the [openejb-examples zip](openejb:download.html)
+.
+
+<a name="Tomcat-{anchor:problems}Problems?"></a>
+#Problems?
+
+<a name="Tomcat-HTTPStatus403"></a>
+## HTTP Status 403 
+
+Did you get a "HTTP Status 403" error page containing the description
+"Access to the specified resource () has been forbidden." when visiting [http://localhost:8080/openejb](http://localhost:8080/openejb)
+?
+
+The openejb.war is protected by a Tomcat valve that restricts access to the
+application to the computer on which Tomcat is running.  If your browser is
+running on the same computer as Tomcat, try accessing OpenEJB using this
+link instead [http://127.0.0.1:8080/openejb](http://127.0.0.1:8080/openejb)
+.
+
+If you want to access the openejb.war from another computer, you will need
+to either remove the valve, or modify the IP list in the valve declaration.
+
+The easiest way to remove the valve it to simply delete the
+webapps/openejb/META-INF/context.xml file and the webapps/openejb.war file
+*while Tomcat is stopped*.  Warning that Tomcat keeps a copy of all
+context.xml files under conf/Catalina/localhost/<appname>.xml, so you may
+need to delete the conf/Catalina/localhost/openejb.xml file as well.  The
+openejb.war file must be removed because some versions of Tomcat will use
+the context.xml file packed in the openejb.war file regardless of what is
+in the unpacked directory.
+
+<a name="Tomcat-DuplicateDeploymentIdException:"></a>
+## DuplicateDeploymentIdException:
+If you try to deploy the same ejb in two different web applications, then
+you will get the following exception (in conf/openejb.log):
+
+    org.apache.openejb.DuplicateDeploymentIdException: Application cannot be
+deployed as it contains deployment-ids which are in use: 
+
+To fix the issue, do the following:
+1. Create a file named system.properties under the conf directory
+1. Add the following to the system.properties file and save
+
+    openejb.deploymentId.format={moduleId}/{ejbName}
+
+
+<a name="Tomcat-java.lang.OutOfMemoryError:PermGenspace"></a>
+## java.lang.OutOfMemoryError: PermGen space 
+By default, the JVM starts with a small PermGen. Tomcat does not increase
+this limit, so you may encounter this exception by the time Tomcat deploys
+and executes your application. If you get this exception, you should
+consider increasing the PermGen allocation for the Tomcat JVM. You can
+achieve this by adding "-XX:MaxPermSize=256m" to the CATALINA_OPTS
+environment variable before starting Tomcat.
+
+<a name="Tomcat-OtherIssues"></a>
+## Other Issues
+
+If you are having problems with the installation, please send a message to
+the OpenEJB users [mailing list](openejb:mailing-lists.html)
+ containing any error message(s) and the following information:
+
+* OpenEJB Version
+* Tomcat Version
+* Java Version (execute java -version)
+* Operating System Type and Version
+
+
+<a name="Tomcat-Limitations"></a>
+# Limitations
+
+ *JavaAgent* - OpenEJB uses OpenJPA to provide JPA and CMP persistence, and
+OpenJPA currently requires a JavaAgent to function properly.  This
+requirement is something that the OpenJPA project is working on removing. 
+Once removed, the OpenEJB plugin for Tomcat will no longer need to modify
+the startup shell scripts and you will not need to restart Tomcat after the
+OpenEJB installation.
+
+<a name="Tomcat-Misc"></a>
+# Misc
+
+This document is a starting point for using OpenEJB in Tomcat and will
+evolve based on user contributions. If you wish to contribute to this
+document, feel very welcome to click the 'Edit' link in the lower right and
+make changes and add new HOWTO's and other docs.  
+
+<a name="Tomcat-JSFInjectionSupport"></a>
+# JSF Injection Support
+Now you can inject EJB's into JSF managed beans. Currently we have tested
+with JSF 1.2 RI (Mojarra) and MyFaces v1.2.3 . We would definitely
+appreciate any feedback on other JSF implementations. 

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.0.0-beta-1.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.0.0-beta-1.mdtext b/src/main/jbake/content/tomee-1.0.0-beta-1.mdtext
new file mode 100644
index 0000000..9b19829
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.0.0-beta-1.mdtext
@@ -0,0 +1,53 @@
+Title: Downloads
+
+
+
+* Release Date: October 6th, 2011
+
+
+{page-header
+# <small>Java EE6 Certified</small>
+}
+
+## Apache TomEE Web Profile
+
+ * [apache-tomee-1.0.0-beta-1-webprofile.tar.gz](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/apache-tomee-1.0.0-beta-1-webprofile.tar.gz) ([asc](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/apache-tomee-1.0.0-beta-1-webprofile.tar.gz.asc) [md5](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/apache-tomee-1.0.0-beta-1-webprofile.tar.gz.md5))
+ * [apache-tomee-1.0.0-beta-1-webprofile.zip](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/apache-tomee-1.0.0-beta-1-webprofile.zip) ([asc](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/apache-tomee-1.0.0-beta-1-webprofile.zip.asc) [md5](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/apache-tomee-1.0.0-beta-1-webprofile.zip.md5))
+
+
+{page-header
+# <small>NOT Java EE6 Certified</small>
+}
+
+## Apache TomEE Plus
+
+ * [apache-tomee-1.0.0-beta-1-plus.tar.gz](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/apache-tomee-1.0.0-beta-1-plus.tar.gz) ([asc](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/apache-tomee-1.0.0-beta-1-plus.tar.gz.asc) [md5](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/apache-tomee-1.0.0-beta-1-plus.tar.gz.md5))
+ * [apache-tomee-1.0.0-beta-1-plus.zip](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/apache-tomee-1.0.0-beta-1-plus.zip) ([asc](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/apache-tomee-1.0.0-beta-1-plus.zip.asc) [md5](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/apache-tomee-1.0.0-beta-1-plus.zip.md5))
+
+## Apache Tomcat Drop-in wars
+
+ * [openejb-tomcat-webapp-4.0.0-beta-1.war](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-tomcat-webapp-4.0.0-beta-1.war) ([asc](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-tomcat-webapp-4.0.0-beta-1.war.asc) [md5](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-tomcat-webapp-4.0.0-beta-1.war.md5))
+ * [openejb-tomcat-plus-webapp-4.0.0-beta-1.war](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-tomcat-plus-webapp-4.0.0-beta-1.war) ([asc](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-tomcat-plus-webapp-4.0.0-beta-1.war.asc) [md5](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-tomcat-plus-webapp-4.0.0-beta-1.war.md5))
+
+## Apache OpenEJB Standalone Server
+
+ * [openejb-standalone-4.0.0-beta-1.tar.gz](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-standalone-4.0.0-beta-1.tar.gz) ([asc](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-standalone-4.0.0-beta-1.tar.gz.asc) [md5](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-standalone-4.0.0-beta-1.tar.gz.md5))
+ * [openejb-standalone-4.0.0-beta-1.zip](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-standalone-4.0.0-beta-1.zip) ([asc](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-standalone-4.0.0-beta-1.zip.asc) [md5](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-standalone-4.0.0-beta-1.zip.md5))
+
+
+## Source and Examples
+
+ * [openejb-4.0.0-beta-1-source-release.zip](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-4.0.0-beta-1-source-release.zip) ([asc](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-4.0.0-beta-1-source-release.zip.asc) [md5](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/openejb-4.0.0-beta-1-source-release.zip.md5))
+ * [examples-4.0.0-beta-1-src.tar.gz](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/examples-4.0.0-beta-1-src.tar.gz) ([asc](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/examples-4.0.0-beta-1-src.tar.gz.asc) [md5](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/examples-4.0.0-beta-1-src.tar.gz.md5))
+ * [examples-4.0.0-beta-1-src.zip](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/examples-4.0.0-beta-1-src.zip) ([asc](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/examples-4.0.0-beta-1-src.zip.asc) [md5](http://www.apache.org/dyn/closer.cgi/openejb/4.0.0-beta-1/examples-4.0.0-beta-1-src.zip.md5))
+
+
+## Previous Release
+
+ *    [openejb-3.1.4.zip](http://www.apache.org/dyn/closer.cgi/openejb/3.1.4/openejb-3.1.4.zip)
+ *    [openejb-3.1.4.tar.gz](http://www.apache.org/dyn/closer.cgi/openejb/3.1.4/openejb-3.1.4.tar.gz)
+ *    [openejb-3.1.4-src.tar.gz](http://www.apache.org/dyn/closer.cgi/openejb/3.1.4/openejb-3.1.4-src.tar.gz)
+ *    [openejb-3.1.4-src.zip](http://www.apache.org/dyn/closer.cgi/openejb/3.1.4/openejb-3.1.4-src.zip)
+
+## Old releases archive
+[OpenEJB releases archive](http://archive.apache.org/dist/openejb/)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.5.0-release-notes.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.5.0-release-notes.mdtext b/src/main/jbake/content/tomee-1.5.0-release-notes.mdtext
new file mode 100644
index 0000000..ea59173
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.5.0-release-notes.mdtext
@@ -0,0 +1,290 @@
+Title: Apache TomEE 1.5.0 Release Notes
+
+<h2>Upgrades</h2>
+
+<ul>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-243">TOMEE-243</a> HSQLDB 2.2.8</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-431">TOMEE-431</a> Shrinkwrap Descriptor 2.0.0-alpha-3</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-378">TOMEE-378</a> Quartz 2.1.6</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-271">TOMEE-271</a> Tomcat 7.0.30</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-365">TOMEE-365</a> OpenWebBeans 1.1.6</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-426">TOMEE-426</a> ActiveMQ 5.6.0</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-428">TOMEE-428</a> MyFaces 2.1.9</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-215">TOMEE-215</a> CXF 2.6.2</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-214">TOMEE-214</a> Arquillian 1.0.1</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-458">TOMEE-458</a> BVal 0.5</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1894">OPENEJB-1894</a> karaf 2.2.9</li>
+</ul>
+
+<h2>New Features</h2>
+
+<ul>
+
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-347">TOMEE-347</a> Allow switching datasource connection pool</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-331">TOMEE-331</a> Optimized scanning via exclusions.list in WEB-INF allows</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-266">TOMEE-266</a> Internal EJBs can be secured</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-264">TOMEE-264</a> Filter APIs we already provide if they are in a webapp</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-399">TOMEE-399</a> Expose Quartz through JMX</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-259">TOMEE-259</a> Mojarra integration</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-250">TOMEE-250</a> Element &lt;Service&gt; for declaring services generically in the tomee.xml</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-386">TOMEE-386</a> Support for META-INF/module.properties file and overriding</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-387">TOMEE-387</a> Support for META-INF/application.properties file and overriding</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-280">TOMEE-280</a> Deploy-time JPA Enhancement</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-187">TOMEE-187</a> New TomEE JAX-RS Distribution</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-377">TOMEE-377</a> Configuration of CXF Bus</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-421">TOMEE-421</a> JMX management of DataSources</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1228">OPENEJB-1228</a> ShrinkWrap Deployment Support</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1899">OPENEJB-1899</a> Mockito integration</li>
+</ul>
+
+<h2>Improvements</h2>
+
+<ul>
+
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-235">TOMEE-235</a> ability to provide a custom server.xml using arquillian adapters</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-194">TOMEE-194</a> managing pathparam at class level</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-346">TOMEE-346</a> providing log4j in a webapp needs to set openejb.skip.log4j=false</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-191">TOMEE-191</a> can't use DataSourceRealm with a DataSource defined in tomee.xml</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-348">TOMEE-348</a> propagate all cxf endpoint properties to the SOAP endpoint</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-190">TOMEE-190</a> Duplicate Libraries in distribution</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-146">TOMEE-146</a> Trim unused code</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-241">TOMEE-241</a> close webappclasslaoder after undeployment</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-336">TOMEE-336</a> ability to skip dbcp pool for @DataSourceDefinition</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-130">TOMEE-130</a> Improve openejb webapp console to match current site look and feel</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-230">TOMEE-230</a> tomee.sh uses old lib folder</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-332">TOMEE-332</a> yank tomee version from arquillian adapter config and use LATEST</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-330">TOMEE-330</a> more relevant error message when using tomee < tomee+ and webservice injection are done</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-269">TOMEE-269</a> use a maven specific logger when running tomee:run from tomee maven plugin</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-328">TOMEE-328</a> Re organise Arquillian sub modules versionning</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-4">TOMEE-4</a> Example demonstrating Arquillian Adapter</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-262">TOMEE-262</a> since TOMEE-261 is done we can check the needed JtaPlatform for hibernate is in the webapp</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-260">TOMEE-260</a> Validate: REST Service has no non-public resources</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-398">TOMEE-398</a> Unified Executor configuration options (@Asynchronous, @Timeout)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-397">TOMEE-397</a> META-INF/resources.xml always needs qualified names</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-391">TOMEE-391</a> config for retry attemps on timer methods</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-257">TOMEE-257</a> replace deployment listener and webdeployementlistener by our brand new observer api</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-251">TOMEE-251</a> extract jpa provide integration in a jar to be able to use it from a war</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-252">TOMEE-252</a> engine name needs to be Catalina</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-253">TOMEE-253</a> updatechecker doesn't handle tomee version properly</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-382">TOMEE-382</a> configuration for asynch task pool</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-385">TOMEE-385</a> Complete application properties scoping</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-205">TOMEE-205</a> Create the skeleton of the new Tomee UI </li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-208">TOMEE-208</a> add servlets to httpcontext (arquillian adapters)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-204">TOMEE-204</a> Don't fail app deployment if a TLD class cannot be loaded</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-203">TOMEE-203</a> Ensure all tomee-* jars and archives use the TomEE version number</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-406">TOMEE-406</a> Support Duration syntax in all known time related properties</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-282">TOMEE-282</a> logging tomee is downloaded from arquillian adapter</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-402">TOMEE-402</a> ScriptLoginModule</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-281">TOMEE-281</a> ignore endorsed lib for java 7</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-184">TOMEE-184</a> using cxf (and not our repackaged version)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-183">TOMEE-183</a> Optimize Arquillian Adapter by avoiding intermediate jar creation</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-189">TOMEE-189</a> EAR and CDI is not well integrated</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-372">TOMEE-372</a> don't load webapp enrichment classes directly from system classloader even if available</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-374">TOMEE-374</a> Embedded TomEE use same defaults as Embedded OpenEJB</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-41">TOMEE-41</a> Overzealous class scanning</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-274">TOMEE-274</a> allowing the user to override the folder where retrieved tomee are cache in arquillian adapters (by default m2 repo is not used to avoid to corrupt it)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-277">TOMEE-277</a> better model to be able to filter cdi beans</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-276">TOMEE-276</a> allow to define the same interceptor/decorator/alternative in multiple beans.xml</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-270">TOMEE-270</a> don't stop deployment during deployment if a noclassdeffound if thrown on a field</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-273">TOMEE-273</a> solder @Requires doesn't work</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-171">TOMEE-171</a> TomEE automatically directs embedded (@DataSourceDefinition) h2 datasource to hsqldb</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-279">TOMEE-279</a> using tomcat default host instead of hardcoded "localhost"</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-278">TOMEE-278</a> AnnotatedType can be null so dont put it in a map</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-220">TOMEE-220</a> revisit runnable tomee-embedded cli</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-361">TOMEE-361</a> skip JSF startup even if our internal faces-config.xml is found (but no more)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-224">TOMEE-224</a> Create Servlet that loads the "JNDI" panel data</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-418">TOMEE-418</a> ability to use fast session generation for dev environment in arquillian adapters (remote) + tomee mvn plugin</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-225">TOMEE-225</a> Create Servlet that loads the "Saved Objects" panel data</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-368">TOMEE-368</a> better handling of myfaces container listener</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-369">TOMEE-369</a> be sure to not exclude too much in tempclassloader (in particular with myfaces)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-366">TOMEE-366</a> delete temp file in arquillian tomee adapter even if deployer lookup fail</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-367">TOMEE-367</a> create webapp classloader even for embedded deployment</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-427">TOMEE-427</a> Shortcurt to debug with tomee maven plugin</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-23">TOMEE-23</a> Ignore .DS_Store files when deploying in Tomcat</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-350">TOMEE-350</a> allow to customize TempClassLoader force skip/load with multiple packages</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-359">TOMEE-359</a> taking into account filtering even for fragments</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-213">TOMEE-213</a> close webappclassloader after undeployment and not in its middle</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-219">TOMEE-219</a> Make jaxrs services managed by cdi when possible</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-358">TOMEE-358</a> activating back MyFacesContainerInitializer and adding StartupServletContextListener by default</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-417">TOMEE-417</a> ability to provide jaxrs providers, interceptors... in the webapp</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-414">TOMEE-414</a> support to provide slf4j in the application</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-415">TOMEE-415</a> use by default openejb classloader to create quartz scheduler</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1900">OPENEJB-1900</a> @LocalBean package and friendly scoped methods</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1901">OPENEJB-1901</a> @LocalClient doesn't work with EJBContainer</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1853">OPENEJB-1853</a> expose basicdatasource writable config through jmx</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1791">OPENEJB-1791</a> managing a conf.d folder as under unix for services</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1843">OPENEJB-1843</a> support @before @after @beforeclass @afterclass in embedded arquillian adapter (classloader is not correct so "BeanManagerProvider" can't work)</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1795">OPENEJB-1795</a> support @Inject for synamic EJB (interface only)</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1845">OPENEJB-1845</a> look in web-inf/classes/meta-inf for persistence.xml for embedded arquillian adapter and check classloaderasset get a better root url</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1863">OPENEJB-1863</a> no need to create a thread we are waiting to create an entitymanagerfactory</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1864">OPENEJB-1864</a> remove openejb-javaagent from openejb-core test since it is not mandatory and buggy (due to openjpa-javaagen) with java 7</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1576">OPENEJB-1576</a> Example: CDI Decorators</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1860">OPENEJB-1860</a> openejb.descriptors.output logging and functional improvements</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1858">OPENEJB-1858</a> be more tolerant on the tx manager type for managedconnection factory</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1823">OPENEJB-1823</a> allow to undeploy resources linked to an app with the app undeployment</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1420">OPENEJB-1420</a> Classloading issue in OSGI</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1840">OPENEJB-1840</a> managing request/session scopes in standalone</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1734">OPENEJB-1734</a> Shell to query and invoke EJBs through commands interactively</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1117">OPENEJB-1117</a> ServiceManager does not work in OSGi environment</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1889">OPENEJB-1889</a> when an EJB implements too many interfaces it fails with the message "TODO"</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1887">OPENEJB-1887</a> &lt;ServiceProvider&gt; inheritance to reduce redundant config in service-jar.xml files</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1888">OPENEJB-1888</a> add a way to hide log messages which are not relevant for openejb/tomee</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1896">OPENEJB-1896</a> Slightly reduce memory footprint of EJBs</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1892">OPENEJB-1892</a> embedded logging format is not applied to OpenJPA</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1891">OPENEJB-1891</a> get duration time of the query when logging sql</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1890">OPENEJB-1890</a> make openejb embedded arquillian adapter working with shrinkwrap maven and libraries which are not on classpath</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1761">OPENEJB-1761</a> improve default JUL logging</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1763">OPENEJB-1763</a> Allow EjbModule to be returned as a part of in-class configuration in ApplicationComposer (@Module)</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1271">OPENEJB-1271</a> Add pofiles to allow JPA provider to be changed</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1867">OPENEJB-1867</a> ability to configure the default job scheduler</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1277">OPENEJB-1277</a> RemoteInitialContextFactory .close() method to logout</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1868">OPENEJB-1868</a> allow to set a ejbtimerservice by ejb</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1865">OPENEJB-1865</a> add lib folder to classpath in openejb standalone like in tomee</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1866">OPENEJB-1866</a> add openejb-jpa-integration to ear libs</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1871">OPENEJB-1871</a> don't use webbeanslogger</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1870">OPENEJB-1870</a> allow to provide server event listener in apps</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1875">OPENEJB-1875</a> New LoginModule based on ServiceProvider</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1874">OPENEJB-1874</a> remove openejb-jsf</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1872">OPENEJB-1872</a> refactor a bit the way we hide internal beans (Comp) since now we have the structure to do it</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1877">OPENEJB-1877</a> refactor datasourcefactory and jdbc package to split it in subpackages for consistency</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1878">OPENEJB-1878</a> ability to create an entitymanager at startup</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1881">OPENEJB-1881</a> Multipoint "broadcast" attribute</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1883">OPENEJB-1883</a> rewrite ScopeHelper to use ContextsService</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1780">OPENEJB-1780</a> Application relative EJB WebService addresses</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1850">OPENEJB-1850</a> groovy jpa test</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1851">OPENEJB-1851</a> groovy spock sample</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1849">OPENEJB-1849</a> adding groovy cdi sample</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1841">OPENEJB-1841</a> basic console colors</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1897">OPENEJB-1897</a> easy way to mock beans injections</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1772">OPENEJB-1772</a> maven plugin to be able to dump info tree and avoid to create it when starting the app</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1514">OPENEJB-1514</a> Example: @Schedule Methods</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1649">OPENEJB-1649</a> Arquillian Tests</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-695">OWB-695</a> Cause missing in AnnotationDB$CrossReferenceException </li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-704">OWB-704</a> use method filter in javassist proxies instead of "manual" filtering</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-702">OWB-702</a> Add serialization unit tests to openwebbeans-web to catch future regressions</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-701">OWB-701</a> Support ASM for Bean Proxies</li>
+</ul>
+
+<h2>Bugs</h2>
+
+<ul>
+
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-12">TOMEE-12</a> org.apache.openejb.config.AnnotationDeployer throws InstantiationException on com.sun.jersey.api.core.ApplicationAdapter</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-193">TOMEE-193</a> soap webservices are now deployed by default in the webapp context but what if the webservice is not in a webapp?</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-199">TOMEE-199</a> tomcat deployer doesnt work well for cdi apps</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-197">TOMEE-197</a> When running TomEE embedded in Eclipse jsp files do not hot deploy</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-10">TOMEE-10</a> JNDI Browser in the openejb.war does not show @LocalBean views as EJBs</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-198">TOMEE-198</a> JAX-RS and JAX-WS does not work when together in a single application</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-345">TOMEE-345</a> make EjbTimerServiceImpl serializable</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-141">TOMEE-141</a> when using OpenEJBListener with dropinwar approach we should try to fnid the war of the webapp too...</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-249">TOMEE-249</a> NPE on DatatypeConverter</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-349">TOMEE-349</a> ability to use redeploy from tomcat</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-242">TOMEE-242</a> @ManagedBean for rest services</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-240">TOMEE-240</a> wrap tomcat realm in tomeerealm to manage request.login even in a single request</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-339">TOMEE-339</a> @Context Providers is not supported</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-237">TOMEE-237</a> New gui is broken in IE</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-434">TOMEE-434</a> when using DeployerEjb the JNDI tree is the DeployerEjb one and not the deployed app one</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-267">TOMEE-267</a> Default 'type' ignored in <JndiProvider> and related elements</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-395">TOMEE-395</a> TomEEDataSourceCreator.ContantHashCodeHandler  will change the Exception throwed by the original method</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-392">TOMEE-392</a> EJB properties overriding from system.properties, application.properties or module.properties</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-394">TOMEE-394</a> pojo webservice undeployment doesn't clean eveything -> it prevents redeployment</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-258">TOMEE-258</a> pojo webservices doesnt get injections</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-383">TOMEE-383</a> pojo @WebService deployment without sei fails (NPE)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-200">TOMEE-200</a> CDI injections in Pojo JAXRS webservices can lead to memory leak</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-380">TOMEE-380</a> tomeeshutdownport is not respected by tomee maven plugin</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-388">TOMEE-388</a> Use case "Faces Request Generates Non-Faces Response" locks conversation forever (-> BusyConversationException)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-207">TOMEE-207</a> postcontruct is called before injections in pojo rest services</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-389">TOMEE-389</a> quartz prevent tomee to shutdown properly</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-403">TOMEE-403</a> jaxrs subresource are not working</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-401">TOMEE-401</a> don't filter http method (PATCH was not valid in rest for instance)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-185">TOMEE-185</a> JAXB context can't be created from package</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-362">TOMEE-362</a> service MBeans are not unregistered</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-360">TOMEE-360</a> NPE in BeanManagerImpl scope is null</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-222">TOMEE-222</a> LocalBean can't be serializable</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-221">TOMEE-221</a> IllegalArgumentException: Class 'java.lang.Object' is not annotated with Path</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-419">TOMEE-419</a> JAR/WAR module-name not used</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-422">TOMEE-422</a> JAXRS @Context for HttpServletResponse and ServletConfig</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-424">TOMEE-424</a> [JAXRS] Custom @Context not supported</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-211">TOMEE-211</a> tomee:start command (tomee maven plugin) stay up while tomee is up</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-409">TOMEE-409</a> JAXRS @Context for HttpServletRequest and ServletRequest</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-212">TOMEE-212</a> calling request.login() and ejbcontext.getCallerPrincipal() in the same request is not consistent</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-407">TOMEE-407</a> JavaMail javax.mail.Session resources do not work with authentication</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-218">TOMEE-218</a> RESOURCE_LOCAL entitymanager shouldn't be injected</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-217">TOMEE-217</a> log4j integration issue</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-216">TOMEE-216</a> Changes to InjectionTarget in ProcessInjectionTarget event ignored</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-410">TOMEE-410</a> web.xml validation rejects load-on-startup values having extraneous white spaces</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-411">TOMEE-411</a> Accept spaces in load-on-startup </li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-154">TOMEE-154</a> Deployment fails in ear when injections are done between ejbmodule and webmodule (classloading exception because the webapp classloader is known later)</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1848">OPENEJB-1848</a> Multipoint Automatic Reconnect fails in some situations</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1847">OPENEJB-1847</a> When deploying two ear files in openejb only the first one gets deployed correctly</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1844">OPENEJB-1844</a> annotatedtype are not usable from processAnnotatedType if not already processed</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1720">OPENEJB-1720</a> NPE at at org.apache.openejb.util.AnnotationFinder</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1862">OPENEJB-1862</a> boolean type re not well managed in org.apache.openejb.config.AnnotationDeployer.DiscoverAnnotatedBeans#process</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1855">OPENEJB-1855</a> LinkageError on Mac OS with "sun/security/pkcs11/SunPKCS11"</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1717">OPENEJB-1717</a> When openejb-osgi bundle is restarted, we get an exception (ServiceManager is already initialized)</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1727">OPENEJB-1727</a> couldn't start owb context</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-958">OPENEJB-958</a> logging.properties: DOS line ends and category instead of logger</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1728">OPENEJB-1728</a> Karaf is blocked</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1382">OPENEJB-1382</a> Provide interceptor/thread based context for OWB rather than classloader based context</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1698">OPENEJB-1698</a> EntityBean conflict when a persistent property exists called "deleted"</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1603">OPENEJB-1603</a> InitialContext instantiation fails with ERROR - CDI Beans module deployment failed</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1551">OPENEJB-1551</a> ejb-jar.xml should be optional. </li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1837">OPENEJB-1837</a> WebBeansLogger uses java.util.logging directly and doesn't obey system property openejb.log.factory</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-967">OPENEJB-967</a> NullPointerException during injection into a POJO webservice</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1397">OPENEJB-1397</a> After upgrade to 3.1.3 web services fail with exception</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1643">OPENEJB-1643</a> @Dispose not called</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1438">OPENEJB-1438</a> Wrong jar required for remote client in docs</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1893">OPENEJB-1893</a> @LocalBean references did not survive passivation</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1595">OPENEJB-1595</a> [BUILD FAILED]Compilation error occurs while building openejb trunk</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1126">OPENEJB-1126</a> SAAJ-related test cases no longer work with IBM's SDK</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1876">OPENEJB-1876</a> <ejb-jar id="foo"/> id ignored when ejb-jar contains no child elements</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1879">OPENEJB-1879</a> usage of OWBInjector shall be reworked</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1882">OPENEJB-1882</a> this can't be use in localbeans constructor</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1648">OPENEJB-1648</a> persistence.xml files in WEB-INF/classes/META-INF/ incorrect root url</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1884">OPENEJB-1884</a>  EJBContainer.createEJBContainer(); doesn't register the WebBeansContext correctly</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1886">OPENEJB-1886</a> statsinterceptor should be added before starting the timer if necessary</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-709">OWB-709</a> webbeans-tomcat6 must honour WEB-INF/classes/META-INF/beans.xml</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-694">OWB-694</a> Misleading exception message "Wrong termination object"</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-708">OWB-708</a> PrincipalBean doesnt get found</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-670">OWB-670</a> ProcessInjectionTarget event fired a bit late</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-707">OWB-707</a> tomcat-sample and tomcat7-sample are just broken.</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-703">OWB-703</a> getBeans cache key algorithm must be unique</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-650">OWB-650</a> ContextFactory#destroy*Context have to reset the proxy cache</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-559">OWB-559</a> Method-Injection for methods with more than one parameter fails with OWBInjector</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-699">OWB-699</a> Passivation leads to NPE</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-698">OWB-698</a> InjectableBeanManager not serializable</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-697">OWB-697</a> Non-Static Loggers leads to NonSerizializableException</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-696">OWB-696</a> check for unproxyable API types should get moved to the validateBeans phase</li>
+</ul>
+
+<h2>Tasks & Sub-Tasks</h2>
+
+<ul>
+
+
+
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-342">TOMEE-342</a> webservice with configured deployment url example</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-335">TOMEE-335</a> Create a new JIRA saying: checking and closing JIRAs</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-129">TOMEE-129</a> Tweak TCK setup for JAX-RS tests</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-371">TOMEE-371</a> add an arquillian test using hibernate</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-275">TOMEE-275</a> review OWB integration to see if some stuff should be pushed to OWB</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-272">TOMEE-272</a> add notice for jaxrs tomee distribution</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1688">OPENEJB-1688</a> Build the Arquillian adapters as part of the main OpenEJB build</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1687">OPENEJB-1687</a> Consolidate tests and run against all Arquillian adapter</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1861">OPENEJB-1861</a> remove OWB JMSManager usage from OpenEJB</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1859">OPENEJB-1859</a> cucumber-jvm example</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1857">OPENEJB-1857</a> Example using cdi-query</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1895">OPENEJB-1895</a> Refactored @Asynchronous support</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1869">OPENEJB-1869</a> server event example</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1873">OPENEJB-1873</a> Upgrade to OpenWebBeans-1.1.5</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1885">OPENEJB-1885</a> Simplify EJB proxy code</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1614">OPENEJB-1614</a> Example: @Produces and @Disposes within a @RequestScoped context</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1406">OPENEJB-1406</a> Example: Lookup of EJBs</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1407">OPENEJB-1407</a> Example: Lookup of EJBs with descriptor</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1606">OPENEJB-1606</a> Example: CDI @Decorator and @Delegate</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-361">OPENEJB-361</a> Example: Bean-Managed Transactions</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-352">OPENEJB-352</a> Example: Stateful Bean with Callbacks</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-351">OPENEJB-351</a> Example: Stateless Bean with Callbacks</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1653">OPENEJB-1653</a> Arquillian: JSF Managed Bean Tests</li>
+
+</ul>

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.5.0.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.5.0.mdtext b/src/main/jbake/content/tomee-1.5.0.mdtext
new file mode 100644
index 0000000..64d00c1
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.5.0.mdtext
@@ -0,0 +1,23 @@
+# Apache TomEE 1.5 Released!
+
+We are excited to announce the release of [Apache TomEE 1.5](http://tomee.apache.org/downloads.html).  The volume of
+feedback on the 1.0.0 Final drove such an impressive number of fixes and features into TomEE that the release number
+has been updated to reflect [the changes](tomee-1.5.0-release-notes.html).
+
+The team is proud to announce certification of a new Apache TomEE stack that includes the Web Profile plus JAX-RS for
+RESTful Web Services. The new 'TomEE JAXRS' distribution shows TomEE's commitment to progressing its certification
+efforts beyond the Web Profile and is a great alternative to the TomEE Plus distribution.  See the
+[comparison](http://tomee.apache.org/comparison.html) for a view of all Apache TomEE distributions.
+
+Another great feature is the extended support for database connection pools.  In addition to the previously
+supported Apache Commons-DBCP, the 1.5 release adds transaction support to the native Apache Tomcat and BoneCP
+connection pools.  The two additional pools offer great alternatives to applications under heavy load.  JMX
+instrumentation and statistics have also been added generically to all pools and provide a great level of
+monitoring and management.
+
+Other major features include deploy-time enhancement for JPA Entities via Apache OpenJPA, support including JPA providers in webapps,
+ability to mock and inject mocks in unit tests and a powerful new [TomEE Maven Plugin](maven/index.html) which can
+provision servers, install libraries, deploy webapps and more.
+
+We’d like to thank everyone who gave feedback and contibuted to improve Apache TomEE on a daily basis!
+


[11/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/schedule-events.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/schedule-events.adoc b/src/main/jbake/content/examples/schedule-events.adoc
deleted file mode 100755
index 5d55798..0000000
--- a/src/main/jbake/content/examples/schedule-events.adoc
+++ /dev/null
@@ -1,185 +0,0 @@
-= Schedule CDI Events
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example schedule-events can be browsed at https://github.com/apache/tomee/tree/master/examples/schedule-events
-
-
-This example uses a nice CDI/EJB combination to schedule CDI Events.  This is useful if you want CDI Events that fire regularly or at a specific time or calendar date.
-
-Effectively this is a simple wrapper around the `BeanManager.fireEvent(Object,Annotations...)` method that adds `ScheduleExpression` into the mix.
-
-==  ScheduleExpression and @Timeout
-
-The logic here is simple, we effecitvely expose a method identical to `BeanManager.fireEvent(Object, Annotations...)` and wrap it as  `scheduleEvent(ScheduleExpression, Object, Annotation...)`
-
-To do that we use the EJB `TimerService` (under the covers this is Quartz) and create an `@Timeout` method which will be run when the `ScheduleExpression` activates.
-
-The `@Timeout` method, simply called `timeout`, takes the event and fires it.
-
-
-[source,java]
-----
-@Singleton
-@Lock(LockType.READ)
-public class Scheduler {
-
-    @Resource
-    private TimerService timerService;
-
-    @Resource
-    private BeanManager beanManager;
-
-    public void scheduleEvent(ScheduleExpression schedule, Object event, Annotation... qualifiers) {
-
-        timerService.createCalendarTimer(schedule, new TimerConfig(new EventConfig(event, qualifiers), false));
-    }
-
-    @Timeout
-    private void timeout(Timer timer) {
-        final EventConfig config = (EventConfig) timer.getInfo();
-
-        beanManager.fireEvent(config.getEvent(), config.getQualifiers());
-    }
-
-    // Doesn't actually need to be serializable, just has to implement it
-    private final class EventConfig implements Serializable {
-
-        private final Object event;
-        private final Annotation[] qualifiers;
-
-        private EventConfig(Object event, Annotation[] qualifiers) {
-            this.event = event;
-            this.qualifiers = qualifiers;
-        }
-
-        public Object getEvent() {
-            return event;
-        }
-
-        public Annotation[] getQualifiers() {
-            return qualifiers;
-        }
-    }
-}
-----
-
-
-Then to use it, have `Scheduler` injected as an EJB and enjoy.
-
-
-[source,java]
-----
-public class SomeBean {
-
-    @EJB
-    private Scheduler scheduler;
-
-    public void doit() throws Exception {
-
-        // every five minutes
-        final ScheduleExpression schedule = new ScheduleExpression()
-                .hour("*")
-                .minute("*")
-                .second("*/5");
-
-        scheduler.scheduleEvent(schedule, new TestEvent("five"));
-    }
-
-    /**
-     * Event will fire every five minutes
-     */
-    public void observe(@Observes TestEvent event) {
-        // process the event
-    }
-
-}
-----
-
-
-==  Test Case
-
-A working test case for the above would be as follows:
-
-
-[source,java]
-----
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-import javax.ejb.AccessTimeout;
-import javax.ejb.EJB;
-import javax.ejb.ScheduleExpression;
-import javax.ejb.embeddable.EJBContainer;
-import javax.enterprise.event.Observes;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
-/**
- * @version $Revision$ $Date$
- */
-public class SchedulerTest {
-
-    public static final CountDownLatch events = new CountDownLatch(3);
-
-    @EJB
-    private Scheduler scheduler;
-
-    @Test
-    public void test() throws Exception {
-
-        final ScheduleExpression schedule = new ScheduleExpression()
-                .hour("*")
-                .minute("*")
-                .second("*/5");
-
-        scheduler.scheduleEvent(schedule, new TestEvent("five"));
-
-        Assert.assertTrue(events.await(1, TimeUnit.MINUTES));
-    }
-
-
-    @AccessTimeout(value = 1, unit = TimeUnit.MINUTES)
-    public void observe(@Observes TestEvent event) {
-        if ("five".equals(event.getMessage())) {
-            events.countDown();
-        }
-    }
-
-    public static class TestEvent {
-        private final String message;
-
-        public TestEvent(String message) {
-            this.message = message;
-        }
-
-        public String getMessage() {
-            return message;
-        }
-    }
-
-    @Before
-    public void setup() throws Exception {
-        EJBContainer.createEJBContainer().getContext().bind("inject", this);
-    }
-}
-----
-
-
-
-==  You must know
-
- - CDI Events are not multi-treaded
-
-If there are 10 observers and each of them take 7 minutes to execute, then the total execution time for the one event is 70 minutes.  It would do you absolutely no good to schedule that event to fire more frequently than 70 minutes.
-
-What would happen if you did?  Depends on the `@Singleton` `@Lock` policy
-
- - `@Lock(WRITE)` is the default.  In this mode the `timeout` method would essentially be locked until the previous invocation completes.  Having it fire every 5 minutes even though you can only process one every 70 minutes would eventually cause all the pooled timer threads to be waiting on your Singleton.
- - `@Lock(READ)` allows for parallel execution of the `timeout` method.  Events will fire in parallel for a while.  However since they actually are taking 70 minutes each, within an hour or so we'll run out of threads in the timer pool just like above.
-
-The elegant solution is to use `@Lock(WRITE)` then specify some short timeout like `@AccessTimeout(value = 1, unit = TimeUnit.MINUTES)` on the `timeout` method.  When the next 5 minute invocation is triggered, it will wait up until 1 minute to get access to the Singleton before giving up.  This will keep your timer pool from filling up with backed up jobs -- the "overflow" is simply discarded.
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/schedule-expression.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/schedule-expression.adoc b/src/main/jbake/content/examples/schedule-expression.adoc
deleted file mode 100755
index de97e07..0000000
--- a/src/main/jbake/content/examples/schedule-expression.adoc
+++ /dev/null
@@ -1,185 +0,0 @@
-= Schedule Expression
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example schedule-expression can be browsed at https://github.com/apache/tomee/tree/master/examples/schedule-expression
-
-
-In this example we exercise the `TimerService`.
-
-
-NOTE: "The TimerService interface provides enterprise bean components with access to the container-provided Timer Service. 
-
-The EJB Timer Service allows entity beans, stateless session beans, and message-driven beans to be registered for timer 
-callback events at a specified time, after a specified elapsed time, or after a specified interval."
-
-For a complete description of the TimerService, please refer to the Java EE tutorial dedicated to the 
-link:http://docs.oracle.com/javaee/6/tutorial/doc/bnboy.html[Timer Service].
-
-==  FarmerBrown
-
-At `PostConstruct` we create 5 programmatic timers. First four will most likely not be triggered during the test
-execution, however the last one will timeout a couple of times.
-
-Each timer contains an info attribute, which can be inspected at timeout.   
-
-
-[source,java]
-----
-package org.superbiz.corn;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
-import javax.ejb.Lock;
-import javax.ejb.LockType;
-import javax.ejb.ScheduleExpression;
-import javax.ejb.Singleton;
-import javax.ejb.Startup;
-import javax.ejb.Timeout;
-import javax.ejb.Timer;
-import javax.ejb.TimerConfig;
-import javax.ejb.TimerService;
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * This is where we schedule all of Farmer Brown's corn jobs
- *
- * @version $Revision$ $Date$
- */
-@Singleton
-@Lock(LockType.READ) // allows timers to execute in parallel
-@Startup
-public class FarmerBrown {
-
-    private final AtomicInteger checks = new AtomicInteger();
-
-    @Resource
-    private TimerService timerService;
-
-    @PostConstruct
-    private void construct() {
-        final TimerConfig plantTheCorn = new TimerConfig("plantTheCorn", false);
-        timerService.createCalendarTimer(new ScheduleExpression().month(5).dayOfMonth("20-Last").minute(0).hour(8), plantTheCorn);
-        timerService.createCalendarTimer(new ScheduleExpression().month(6).dayOfMonth("1-10").minute(0).hour(8), plantTheCorn);
-
-        final TimerConfig harvestTheCorn = new TimerConfig("harvestTheCorn", false);
-        timerService.createCalendarTimer(new ScheduleExpression().month(9).dayOfMonth("20-Last").minute(0).hour(8), harvestTheCorn);
-        timerService.createCalendarTimer(new ScheduleExpression().month(10).dayOfMonth("1-10").minute(0).hour(8), harvestTheCorn);
-
-        final TimerConfig checkOnTheDaughters = new TimerConfig("checkOnTheDaughters", false);
-        timerService.createCalendarTimer(new ScheduleExpression().second("*").minute("*").hour("*"), checkOnTheDaughters);
-    }
-
-    @Timeout
-    public void timeout(Timer timer) {
-        if ("plantTheCorn".equals(timer.getInfo())) {
-            plantTheCorn();
-        } else if ("harvestTheCorn".equals(timer.getInfo())) {
-            harvestTheCorn();
-        } else if ("checkOnTheDaughters".equals(timer.getInfo())) {
-            checkOnTheDaughters();
-        }
-    }
-
-    private void plantTheCorn() {
-        // Dig out the planter!!!
-    }
-
-    private void harvestTheCorn() {
-        // Dig out the combine!!!
-    }
-
-    private void checkOnTheDaughters() {
-        checks.incrementAndGet();
-    }
-
-    public int getChecks() {
-        return checks.get();
-    }
-}
-----
-
-
-==  FarmerBrownTest
-
-The test class acquires an instance from the context and waits for 5 seconds to give the timers a chance to timeout.
-
-
-[source,java]
-----
-package org.superbiz.corn;
-
-import junit.framework.TestCase;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-
-import static java.util.concurrent.TimeUnit.SECONDS;
-
-/**
- * @version $Revision$ $Date$
- */
-public class FarmerBrownTest extends TestCase {
-
-    public void test() throws Exception {
-
-        final Context context = EJBContainer.createEJBContainer().getContext();
-
-        final FarmerBrown farmerBrown = (FarmerBrown) context.lookup("java:global/schedule-expression/FarmerBrown");
-
-        // Give Farmer brown a chance to do some work
-        Thread.sleep(SECONDS.toMillis(5));
-
-        final int checks = farmerBrown.getChecks();
-        assertTrue(checks + "", checks > 4);
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.corn.FarmerBrownTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/schedule-expression
-INFO - openejb.base = /Users/dblevins/examples/schedule-expression
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/schedule-expression/target/classes
-INFO - Beginning load: /Users/dblevins/examples/schedule-expression/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/schedule-expression
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-INFO - Auto-creating a container for bean FarmerBrown: Container(type=SINGLETON, id=Default Singleton Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.corn.FarmerBrownTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/schedule-expression" loaded.
-INFO - Assembling app: /Users/dblevins/examples/schedule-expression
-INFO - Jndi(name="java:global/schedule-expression/FarmerBrown!org.superbiz.corn.FarmerBrown")
-INFO - Jndi(name="java:global/schedule-expression/FarmerBrown")
-INFO - Jndi(name="java:global/EjbModule481105279/org.superbiz.corn.FarmerBrownTest!org.superbiz.corn.FarmerBrownTest")
-INFO - Jndi(name="java:global/EjbModule481105279/org.superbiz.corn.FarmerBrownTest")
-INFO - Created Ejb(deployment-id=org.superbiz.corn.FarmerBrownTest, ejb-name=org.superbiz.corn.FarmerBrownTest, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=FarmerBrown, ejb-name=FarmerBrown, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=org.superbiz.corn.FarmerBrownTest, ejb-name=org.superbiz.corn.FarmerBrownTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=FarmerBrown, ejb-name=FarmerBrown, container=Default Singleton Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/schedule-expression)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.141 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/schedule-methods-meta.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/schedule-methods-meta.adoc b/src/main/jbake/content/examples/schedule-methods-meta.adoc
deleted file mode 100755
index 3705c23..0000000
--- a/src/main/jbake/content/examples/schedule-methods-meta.adoc
+++ /dev/null
@@ -1,384 +0,0 @@
-= Schedule Methods Meta
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example schedule-methods-meta can be browsed at https://github.com/apache/tomee/tree/master/examples/schedule-methods-meta
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  BiAnnually
-
-
-[source,java]
-----
-package org.superbiz.corn.meta.api;
-
-import javax.ejb.Schedule;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface BiAnnually {
-    public static interface $ {
-
-        @BiAnnually
-        @Schedule(second = "0", minute = "0", hour = "0", dayOfMonth = "1", month = "1,6")
-        public void method();
-    }
-}
-----
-
-
-==  BiMonthly
-
-
-[source,java]
-----
-package org.superbiz.corn.meta.api;
-
-import javax.ejb.Schedule;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface BiMonthly {
-    public static interface $ {
-
-        @BiMonthly
-        @Schedule(second = "0", minute = "0", hour = "0", dayOfMonth = "1,15")
-        public void method();
-    }
-}
-----
-
-
-==  Daily
-
-
-[source,java]
-----
-package org.superbiz.corn.meta.api;
-
-import javax.ejb.Schedule;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface Daily {
-    public static interface $ {
-
-        @Daily
-        @Schedule(second = "0", minute = "0", hour = "0", dayOfMonth = "*")
-        public void method();
-    }
-}
-----
-
-
-==  HarvestTime
-
-
-[source,java]
-----
-package org.superbiz.corn.meta.api;
-
-import javax.ejb.Schedule;
-import javax.ejb.Schedules;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface HarvestTime {
-    public static interface $ {
-
-        @HarvestTime
-        @Schedules({
-                @Schedule(month = "9", dayOfMonth = "20-Last", minute = "0", hour = "8"),
-                @Schedule(month = "10", dayOfMonth = "1-10", minute = "0", hour = "8")
-        })
-        public void method();
-    }
-}
-----
-
-
-==  Hourly
-
-
-[source,java]
-----
-package org.superbiz.corn.meta.api;
-
-import javax.ejb.Schedule;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface Hourly {
-    public static interface $ {
-
-        @Hourly
-        @Schedule(second = "0", minute = "0", hour = "*")
-        public void method();
-    }
-}
-----
-
-
-==  Metatype
-
-
-[source,java]
-----
-package org.superbiz.corn.meta.api;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Target(ElementType.ANNOTATION_TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Metatype {
-}
-----
-
-
-==  Organic
-
-
-[source,java]
-----
-package org.superbiz.corn.meta.api;
-
-import javax.ejb.Lock;
-import javax.ejb.LockType;
-import javax.ejb.Singleton;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Target(ElementType.TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-
-@Singleton
-@Lock(LockType.READ)
-public @interface Organic {
-}
-----
-
-
-==  PlantingTime
-
-
-[source,java]
-----
-package org.superbiz.corn.meta.api;
-
-import javax.ejb.Schedule;
-import javax.ejb.Schedules;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface PlantingTime {
-    public static interface $ {
-
-        @PlantingTime
-        @Schedules({
-                @Schedule(month = "5", dayOfMonth = "20-Last", minute = "0", hour = "8"),
-                @Schedule(month = "6", dayOfMonth = "1-10", minute = "0", hour = "8")
-        })
-        public void method();
-    }
-}
-----
-
-
-==  Secondly
-
-
-[source,java]
-----
-package org.superbiz.corn.meta.api;
-
-import javax.ejb.Schedule;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface Secondly {
-    public static interface $ {
-
-        @Secondly
-        @Schedule(second = "*", minute = "*", hour = "*")
-        public void method();
-    }
-}
-----
-
-
-==  FarmerBrown
-
-
-[source,java]
-----
-package org.superbiz.corn.meta;
-
-import org.superbiz.corn.meta.api.HarvestTime;
-import org.superbiz.corn.meta.api.Organic;
-import org.superbiz.corn.meta.api.PlantingTime;
-import org.superbiz.corn.meta.api.Secondly;
-
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * This is where we schedule all of Farmer Brown's corn jobs
- *
- * @version $Revision$ $Date$
- */
-@Organic
-public class FarmerBrown {
-
-    private final AtomicInteger checks = new AtomicInteger();
-
-    @PlantingTime
-    private void plantTheCorn() {
-        // Dig out the planter!!!
-    }
-
-    @HarvestTime
-    private void harvestTheCorn() {
-        // Dig out the combine!!!
-    }
-
-    @Secondly
-    private void checkOnTheDaughters() {
-        checks.incrementAndGet();
-    }
-
-    public int getChecks() {
-        return checks.get();
-    }
-}
-----
-
-
-==  FarmerBrownTest
-
-
-[source,java]
-----
-package org.superbiz.corn.meta;
-
-import junit.framework.TestCase;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-
-import static java.util.concurrent.TimeUnit.SECONDS;
-
-/**
- * @version $Revision$ $Date$
- */
-public class FarmerBrownTest extends TestCase {
-
-    public void test() throws Exception {
-
-        final Context context = EJBContainer.createEJBContainer().getContext();
-
-        final FarmerBrown farmerBrown = (FarmerBrown) context.lookup("java:global/schedule-methods-meta/FarmerBrown");
-
-        // Give Farmer brown a chance to do some work
-        Thread.sleep(SECONDS.toMillis(5));
-
-        assertTrue(farmerBrown.getChecks() > 4);
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.corn.meta.FarmerBrownTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/schedule-methods-meta
-INFO - openejb.base = /Users/dblevins/examples/schedule-methods-meta
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/schedule-methods-meta/target/classes
-INFO - Beginning load: /Users/dblevins/examples/schedule-methods-meta/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/schedule-methods-meta
-INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-INFO - Auto-creating a container for bean FarmerBrown: Container(type=SINGLETON, id=Default Singleton Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.corn.meta.FarmerBrownTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/schedule-methods-meta" loaded.
-INFO - Assembling app: /Users/dblevins/examples/schedule-methods-meta
-INFO - Jndi(name="java:global/schedule-methods-meta/FarmerBrown!org.superbiz.corn.meta.FarmerBrown")
-INFO - Jndi(name="java:global/schedule-methods-meta/FarmerBrown")
-INFO - Jndi(name="java:global/EjbModule1809441479/org.superbiz.corn.meta.FarmerBrownTest!org.superbiz.corn.meta.FarmerBrownTest")
-INFO - Jndi(name="java:global/EjbModule1809441479/org.superbiz.corn.meta.FarmerBrownTest")
-INFO - Created Ejb(deployment-id=org.superbiz.corn.meta.FarmerBrownTest, ejb-name=org.superbiz.corn.meta.FarmerBrownTest, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=FarmerBrown, ejb-name=FarmerBrown, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=org.superbiz.corn.meta.FarmerBrownTest, ejb-name=org.superbiz.corn.meta.FarmerBrownTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=FarmerBrown, ejb-name=FarmerBrown, container=Default Singleton Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/schedule-methods-meta)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.166 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/schedule-methods.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/schedule-methods.adoc b/src/main/jbake/content/examples/schedule-methods.adoc
deleted file mode 100755
index 1c01f3e..0000000
--- a/src/main/jbake/content/examples/schedule-methods.adoc
+++ /dev/null
@@ -1,141 +0,0 @@
-= Schedule Methods
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example schedule-methods can be browsed at https://github.com/apache/tomee/tree/master/examples/schedule-methods
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  FarmerBrown
-
-
-[source,java]
-----
-package org.superbiz.corn;
-
-import javax.ejb.Lock;
-import javax.ejb.LockType;
-import javax.ejb.Schedule;
-import javax.ejb.Schedules;
-import javax.ejb.Singleton;
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * This is where we schedule all of Farmer Brown's corn jobs
- *
- * @version $Revision$ $Date$
- */
-@Singleton
-@Lock(LockType.READ) // allows timers to execute in parallel
-public class FarmerBrown {
-
-    private final AtomicInteger checks = new AtomicInteger();
-
-    @Schedules({
-            @Schedule(month = "5", dayOfMonth = "20-Last", minute = "0", hour = "8"),
-            @Schedule(month = "6", dayOfMonth = "1-10", minute = "0", hour = "8")
-    })
-    private void plantTheCorn() {
-        // Dig out the planter!!!
-    }
-
-    @Schedules({
-            @Schedule(month = "9", dayOfMonth = "20-Last", minute = "0", hour = "8"),
-            @Schedule(month = "10", dayOfMonth = "1-10", minute = "0", hour = "8")
-    })
-    private void harvestTheCorn() {
-        // Dig out the combine!!!
-    }
-
-    @Schedule(second = "*", minute = "*", hour = "*")
-    private void checkOnTheDaughters() {
-        checks.incrementAndGet();
-    }
-
-    public int getChecks() {
-        return checks.get();
-    }
-}
-----
-
-
-==  FarmerBrownTest
-
-
-[source,java]
-----
-package org.superbiz.corn;
-
-import junit.framework.TestCase;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-
-import static java.util.concurrent.TimeUnit.SECONDS;
-
-/**
- * @version $Revision$ $Date$
- */
-public class FarmerBrownTest extends TestCase {
-
-    public void test() throws Exception {
-
-        final Context context = EJBContainer.createEJBContainer().getContext();
-
-        final FarmerBrown farmerBrown = (FarmerBrown) context.lookup("java:global/schedule-methods/FarmerBrown");
-
-        // Give Farmer brown a chance to do some work
-        Thread.sleep(SECONDS.toMillis(5));
-
-        assertTrue(farmerBrown.getChecks() > 4);
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.corn.FarmerBrownTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/schedule-methods
-INFO - openejb.base = /Users/dblevins/examples/schedule-methods
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/schedule-methods/target/classes
-INFO - Beginning load: /Users/dblevins/examples/schedule-methods/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/schedule-methods
-INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-INFO - Auto-creating a container for bean FarmerBrown: Container(type=SINGLETON, id=Default Singleton Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.corn.FarmerBrownTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/schedule-methods" loaded.
-INFO - Assembling app: /Users/dblevins/examples/schedule-methods
-INFO - Jndi(name="java:global/schedule-methods/FarmerBrown!org.superbiz.corn.FarmerBrown")
-INFO - Jndi(name="java:global/schedule-methods/FarmerBrown")
-INFO - Jndi(name="java:global/EjbModule660493198/org.superbiz.corn.FarmerBrownTest!org.superbiz.corn.FarmerBrownTest")
-INFO - Jndi(name="java:global/EjbModule660493198/org.superbiz.corn.FarmerBrownTest")
-INFO - Created Ejb(deployment-id=org.superbiz.corn.FarmerBrownTest, ejb-name=org.superbiz.corn.FarmerBrownTest, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=FarmerBrown, ejb-name=FarmerBrown, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=org.superbiz.corn.FarmerBrownTest, ejb-name=org.superbiz.corn.FarmerBrownTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=FarmerBrown, ejb-name=FarmerBrown, container=Default Singleton Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/schedule-methods)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.121 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/server-events.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/server-events.adoc b/src/main/jbake/content/examples/server-events.adoc
deleted file mode 100755
index 94664cd..0000000
--- a/src/main/jbake/content/examples/server-events.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= server-events
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example server-events can be browsed at https://github.com/apache/tomee/tree/master/examples/server-events
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/simple-cdi-interceptor.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/simple-cdi-interceptor.adoc b/src/main/jbake/content/examples/simple-cdi-interceptor.adoc
deleted file mode 100755
index f29d9be..0000000
--- a/src/main/jbake/content/examples/simple-cdi-interceptor.adoc
+++ /dev/null
@@ -1,127 +0,0 @@
-= simple-cdi-interceptor
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example simple-cdi-interceptor can be browsed at https://github.com/apache/tomee/tree/master/examples/simple-cdi-interceptor
-
-= Simple CDI Interceptor
-
-Let's write a simple application that would allow us to book tickets for a movie show. As with all applications, logging is one cross-cutting concern that we have. 
-
-(Relevant snippets are inlined but you can check out the complete code, from the links provided)
-
-How do we mark which methods are to be intercepted ? Wouldn't it be handy to annotate a method like 
-
-
-[source,java]
-----
-@Log
-public void aMethod(){...} 
-
-Let's create an  annotation that would "mark" a method for interception. 
-
-@InterceptorBinding
-@Target({ TYPE, METHOD })
-@Retention(RUNTIME)
-public @interface Log {
-}
-----
-
-
-Sure, you haven't missed the @InterceptorBinding annotation above ! Now that our custom annotation is created, lets attach it (or to use a better term for it, "bind it" )
-to an interceptor. 
-
-So here's our logging interceptor. An @AroundInvoke method and we are almost done.
-
-
-[source,java]
-----
-@Interceptor
-@Log  //binding the interceptor here. now any method annotated with @Log would be intercepted by logMethodEntry
-public class LoggingInterceptor {
-    @AroundInvoke
-    public Object logMethodEntry(InvocationContext ctx) throws Exception {
-        System.out.println("Entering method: " + ctx.getMethod().getName());
-        //or logger.info statement 
-        return ctx.proceed();
-    }
-}
-----
-
-
-Now the @Log annotation we created is bound to this interceptor.
-
-That done, let's annotate at class-level or method-level and have fun intercepting ! 
-
-
-[source,java]
-----
-@Log
-@Stateful
-public class BookShow implements Serializable {
-    private static final long serialVersionUID = 6350400892234496909L;
-    public List<String> getMoviesList() {
-        List<String> moviesAvailable = new ArrayList<String>();
-        moviesAvailable.add("12 Angry Men");
-        moviesAvailable.add("Kings speech");
-        return moviesAvailable;
-    }
-    public Integer getDiscountedPrice(int ticketPrice) {
-        return ticketPrice - 50;
-    }
-    // assume more methods are present
-}
-----
-
-
-The `@Log` annotation applied at class level denotes that all the methods should be intercepted with `LoggingInterceptor`.
-
-Before we say "all done" there's one last thing we are left with ! To enable the interceptors ! 
-
-Lets quickly put up a [beans.xml file]
-
-
-[source,xml]
-----
-<beans>
-  <interceptors>
-    <class>org.superbiz.cdi.bookshow.interceptors.LoggingInterceptor
-    </class>
-  </interceptors>
-</beans>
-----
-
-
- in META-INF
-
-
-Those lines in beans.xml not only "enable" the interceptors, but also define the "order of execution" of the interceptors.
-But we'll see that in another example on multiple-cdi-interceptors.
-
-Fire up the test, and we should see a 'Entering method: getMoviesList' printed in the console.
-
-= Tests
-    Apache OpenEJB 4.0.0-beta-2    build: 20111103-01:00
-    http://tomee.apache.org/
-    INFO - openejb.home = /media/fthree/Workspace/open4/openejb/examples/cdi-simple-interceptors
-    INFO - openejb.base = /media/fthree/Workspace/open4/openejb/examples/cdi-simple-interceptors
-    INFO - Using 'javax.ejb.embeddable.EJBContainer=true' 
-    INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-    INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-    INFO - Found EjbModule in classpath: /media/fthree/Workspace/open4/openejb/examples/cdi-simple-interceptors/target/classes
-    INFO - Beginning load: /media/fthree/Workspace/open4/openejb/examples/cdi-simple-interceptors/target/classes
-    INFO - Configuring enterprise application: /media/fthree/Workspace/open4/openejb/examples/cdi-simple-interceptors
-    INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-    INFO - Auto-creating a container for bean cdi-simple-interceptors.Comp: Container(type=MANAGED, id=Default Managed Container)
-    INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-    INFO - Auto-creating a container for bean BookShow: Container(type=STATEFUL, id=Default Stateful Container)
-    INFO - Enterprise application "/media/fthree/Workspace/open4/openejb/examples/cdi-simple-interceptors" loaded.
-    INFO - Assembling app: /media/fthree/Workspace/open4/openejb/examples/cdi-simple-interceptors
-    INFO - Jndi(name="java:global/cdi-simple-interceptors/BookShow!org.superbiz.cdi.bookshow.beans.BookShow")
-    INFO - Jndi(name="java:global/cdi-simple-interceptors/BookShow")
-    INFO - Created Ejb(deployment-id=BookShow, ejb-name=BookShow, container=Default Stateful Container)
-    INFO - Started Ejb(deployment-id=BookShow, ejb-name=BookShow, container=Default Stateful Container)
-    INFO - Deployed Application(path=/media/fthree/Workspace/open4/openejb/examples/cdi-simple-interceptors)
-    Entering method: getMoviesList

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/simple-cmp2.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/simple-cmp2.adoc b/src/main/jbake/content/examples/simple-cmp2.adoc
deleted file mode 100755
index ffddbc9..0000000
--- a/src/main/jbake/content/examples/simple-cmp2.adoc
+++ /dev/null
@@ -1,361 +0,0 @@
-= EJB 2.1 CMP EntityBeans (CMP2)
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example simple-cmp2 can be browsed at https://github.com/apache/tomee/tree/master/examples/simple-cmp2
-
-
-
-
-OpenEJB, the EJB Container for TomEE and Geronimo,  does support all of EJB 1.1 to 3.1, including CMP2.
-
-The CMP2 implementation is actually done by adapting the CMP2 bean into a JPA Entity dynamically at deploy time.
-
-Appropriate subclasses, a JPA persistence.xml file and a mapping.xml file are generated at deployment
-time for the CMP2 EntityBeans and all the Entities will be then run on OpenJPA.  This innovative code
-has been used as the sole CMP2 implementation in Geronimo for its J2EE 1.4, JavaEE 5 and JavaEE 6 certifications.
-
-The persistence.xml and mapping.xml files generated at deploy time can be saved to disk and included
-in the application, allowing you to:
-
- - gain finer control over persistence options
- - slowly convert individual entities from CMP2 to JPA
-
-Let's see an example.
-
-=  Movies application
-
-The following is a basic EJB 2.1 application consisting of one CMP2 Entity.  For those that are reading this example
-out of curiosity and are not familiar with CMP2 or EJB 2.x, each CMP2 Entity is composed of two parts
-
- - **A Home interface** which has data access methods like "find", "create", and "remove".  This is essentially
-  what people use `@Stateless` beans for today, but with difference that you do not need to supply
-  the implementation of the interface -- the container will generate one for you.  This is partly what inspired
-  the creation of the OpenEJB-specific link:dynamic-dao-implementation.html[Dynamic DAO] feature.
-
- - **An abstract EntityBean class** which declares the persistent "properties" of the entity without actually
-declaring any fields.  It is the container's job to implement the actual methods and create the appropriate
-fields.  OpenEJB will implement this bean as a JPA `@Entity` bean.
-
-As such a CMP2 EntityBean is really just the description of a persistent object and the description of a 
-data-access object.  There is no actual code to write.
-
-The majority of work in CMP2 is done in the xml:
-
- - **ejb-jar.xml** mapping information, which describes the persistent properties of the entity and the queries
- for all *Home* find, create and remove methods.  This information will be converted by OpenEJB into
- a JPA mapping.xml file.  All queries in the cmp2 part of the ejb-jar.xml are converted 
- into named queries in JPA and generally everything is converted to its JPA equivalent. 
-
-==  CMP2 EntityBean, MovieBean
-
-
-[source,java]
-----
-package org.superbiz.cmp2;
-
-import javax.ejb.EntityBean;
-
-public abstract class MovieBean implements EntityBean {
-
-    public MovieBean() {
-    }
-
-    public Integer ejbCreate(String director, String title, int year) {
-        this.setDirector(director);
-        this.setTitle(title);
-        this.setYear(year);
-        return null;
-    }
-
-    public abstract java.lang.Integer getId();
-
-    public abstract void setId(java.lang.Integer id);
-
-    public abstract String getDirector();
-
-    public abstract void setDirector(String director);
-
-    public abstract String getTitle();
-
-    public abstract void setTitle(String title);
-
-    public abstract int getYear();
-
-    public abstract void setYear(int year);
-
-}
-----
-
-
-==  CMP2 Home interface, Movies
-
-
-[source,java]
-----
-package org.superbiz.cmp2;
-
-import javax.ejb.CreateException;
-import javax.ejb.FinderException;
-import java.util.Collection;
-
-/**
- * @version $Revision$ $Date$
- */
-interface Movies extends javax.ejb.EJBLocalHome {
-    Movie create(String director, String title, int year) throws CreateException;
-
-    Movie findByPrimaryKey(Integer primarykey) throws FinderException;
-
-    Collection<Movie> findAll() throws FinderException;
-
-    Collection<Movie> findByDirector(String director) throws FinderException;
-}
-----
-
-
-==  CMP2 mapping in ejb-jar.xml
-
-
-[source,xml]
-----
-<ejb-jar>
-  <enterprise-beans>
-    <entity>
-      <ejb-name>MovieBean</ejb-name>
-      <local-home>org.superbiz.cmp2.Movies</local-home>
-      <local>org.superbiz.cmp2.Movie</local>
-      <ejb-class>org.superbiz.cmp2.MovieBean</ejb-class>
-      <persistence-type>Container</persistence-type>
-      <prim-key-class>java.lang.Integer</prim-key-class>
-      <reentrant>false</reentrant>
-      <cmp-version>2.x</cmp-version>
-      <abstract-schema-name>MovieBean</abstract-schema-name>
-      <cmp-field>
-        <field-name>id</field-name>
-      </cmp-field>
-      <cmp-field>
-        <field-name>director</field-name>
-      </cmp-field>
-      <cmp-field>
-        <field-name>year</field-name>
-      </cmp-field>
-      <cmp-field>
-        <field-name>title</field-name>
-      </cmp-field>
-      <primkey-field>id</primkey-field>
-      <query>
-        <query-method>
-          <method-name>findByDirector</method-name>
-          <method-params>
-            <method-param>java.lang.String</method-param>
-          </method-params>
-        </query-method>
-        <ejb-ql>SELECT m FROM MovieBean m WHERE m.director = ?1</ejb-ql>
-      </query>
-      <query>
-        <query-method>
-          <method-name>findAll</method-name>
-          <method-params/>
-        </query-method>
-        <ejb-ql>SELECT m FROM MovieBean as m</ejb-ql>
-      </query>
-    </entity>
-  </enterprise-beans>
-</ejb-jar>
-----
-
-    
-
-==  openejb-jar.xml
-
-
-[source,xml]
-----
-<openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1">
-  <enterprise-beans>
-    <entity>
-      <ejb-name>MovieBean</ejb-name>
-      <key-generator xmlns="http://www.openejb.org/xml/ns/pkgen-2.1">
-        <uuid/>
-      </key-generator>
-    </entity>
-  </enterprise-beans>
-</openejb-jar>
-----
-
-    
-
-==  MoviesTest
-
-
-[source,java]
-----
-package org.superbiz.cmp2;
-
-import junit.framework.TestCase;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Collection;
-import java.util.Properties;
-
-/**
- * @version $Revision: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public class MoviesTest extends TestCase {
-
-    public void test() throws Exception {
-        Properties p = new Properties();
-        p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        p.put("movieDatabaseUnmanaged", "new://Resource?type=DataSource");
-        p.put("movieDatabaseUnmanaged.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabaseUnmanaged.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-        p.put("movieDatabaseUnmanaged.JtaManaged", "false");
-
-        Context context = new InitialContext(p);
-
-        Movies movies = (Movies) context.lookup("MovieBeanLocalHome");
-
-        movies.create("Quentin Tarantino", "Reservoir Dogs", 1992);
-        movies.create("Joel Coen", "Fargo", 1996);
-        movies.create("Joel Coen", "The Big Lebowski", 1998);
-
-        Collection<Movie> list = movies.findAll();
-        assertEquals("Collection.size()", 3, list.size());
-
-        for (Movie movie : list) {
-            movies.remove(movie.getPrimaryKey());
-        }
-
-        assertEquals("Movies.findAll()", 0, movies.findAll().size());
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.cmp2.MoviesTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/simple-cmp2/target
-INFO - openejb.base = /Users/dblevins/examples/simple-cmp2/target
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabaseUnmanaged, type=Resource, provider-id=Default JDBC Database)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/simple-cmp2/target/classes
-INFO - Beginning load: /Users/dblevins/examples/simple-cmp2/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/simple-cmp2/target/classpath.ear
-INFO - Configuring Service(id=Default CMP Container, type=Container, provider-id=Default CMP Container)
-INFO - Auto-creating a container for bean MovieBean: Container(type=CMP_ENTITY, id=Default CMP Container)
-INFO - Configuring PersistenceUnit(name=cmp)
-INFO - Adjusting PersistenceUnit cmp <jta-data-source> to Resource ID 'movieDatabase' from 'null'
-INFO - Adjusting PersistenceUnit cmp <non-jta-data-source> to Resource ID 'movieDatabaseUnmanaged' from 'null'
-INFO - Enterprise application "/Users/dblevins/examples/simple-cmp2/target/classpath.ear" loaded.
-INFO - Assembling app: /Users/dblevins/examples/simple-cmp2/target/classpath.ear
-INFO - PersistenceUnit(name=cmp, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 160ms
-INFO - Jndi(name=MovieBeanLocalHome) --> Ejb(deployment-id=MovieBean)
-INFO - Jndi(name=global/classpath.ear/simple-cmp2/MovieBean!org.superbiz.cmp2.Movies) --> Ejb(deployment-id=MovieBean)
-INFO - Jndi(name=global/classpath.ear/simple-cmp2/MovieBean) --> Ejb(deployment-id=MovieBean)
-INFO - Created Ejb(deployment-id=MovieBean, ejb-name=MovieBean, container=Default CMP Container)
-INFO - Started Ejb(deployment-id=MovieBean, ejb-name=MovieBean, container=Default CMP Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/simple-cmp2/target/classpath.ear)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.919 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-
-=  CMP2 to JPA
-
-As mentioned OpenEJB will implement the abstract CMP2 `EntityBean` as a JPA `@Entity`, create a `persistence.xml` file and convert all `ejb-jar.xml` mapping and queries to
-a JPA `entity-mappings.xml` file.
-
-Both of these files will be written to disk by setting the system property `openejb.descriptors.output` to `true`.  In the testcase
-above, this can be done via the `InitialContext` parameters via code like this:
-
-    Properties p = new Properties();
-    p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-
-    // setup the data sources as usual...
-
-    // write the generated descriptors
-    p.put("openejb.descriptors.output", "true");
-
-    Context context = new InitialContext(p);
-
-Below are the generated `persistence.xml` and `mapping.xml` files for our CMP2 `EntityBean`
-
-==  CMP2 to JPA generated persistence.xml file
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-    <persistence-unit name="cmp" transaction-type="JTA">
-        <jta-data-source>movieDatabase</jta-data-source>
-        <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-        <mapping-file>META-INF/openejb-cmp-generated-orm.xml</mapping-file>
-        <class>openejb.org.superbiz.cmp2.MovieBean</class>
-        <properties>
-            <property name="openjpa.jdbc.SynchronizeMappings"
-            value="buildSchema(ForeignKeys=true, Indexes=false, IgnoreErrors=true)"/>
-            <property name="openjpa.Log" value="DefaultLevel=INFO"/>
-        </properties>
-    </persistence-unit>
-</persistence>
-----
-
-
-All of this `persitence.xml` can be changed, however the `persistence-unit` must have the `name` fixed to `cmp`.
-
-==  CMP2 to JPA generated mapping file
-
-Note that the `persistence.xml` above refers to this mappings file as `META-INF/openejb-cmp-generated-orm.xml`.  It is possible
-to rename this file to whatever name you prefer, just make sure to update the `<mapping-file>` element of the `cmp` persistence unit
-accordingly.
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm" version="1.0">
-    <entity class="openejb.org.superbiz.cmp2.MovieBean" name="MovieBean">
-        <description>simple-cmp2#MovieBean</description>
-        <table/>
-        <named-query name="MovieBean.findByDirector(java.lang.String)">
-            <query>SELECT m FROM MovieBean m WHERE m.director = ?1</query>
-        </named-query>
-        <named-query name="MovieBean.findAll">
-            <query>SELECT m FROM MovieBean as m</query>
-        </named-query>
-        <attributes>
-            <id name="id">
-                <generated-value strategy="IDENTITY"/>
-            </id>
-            <basic name="director"/>
-            <basic name="year"/>
-            <basic name="title"/>
-        </attributes>
-    </entity>
-</entity-mappings>
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/simple-mdb-and-cdi.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/simple-mdb-and-cdi.adoc b/src/main/jbake/content/examples/simple-mdb-and-cdi.adoc
deleted file mode 100755
index e64b8c9..0000000
--- a/src/main/jbake/content/examples/simple-mdb-and-cdi.adoc
+++ /dev/null
@@ -1,211 +0,0 @@
-= Simple MDB and CDI
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example simple-mdb-and-cdi can be browsed at https://github.com/apache/tomee/tree/master/examples/simple-mdb-and-cdi
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  ChatBean
-
-
-[source,java]
-----
-package org.superbiz.mdb;
-
-import javax.annotation.Resource;
-import javax.ejb.MessageDriven;
-import javax.inject.Inject;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.DeliveryMode;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageListener;
-import javax.jms.MessageProducer;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-@MessageDriven
-public class ChatBean implements MessageListener {
-
-    @Resource
-    private ConnectionFactory connectionFactory;
-
-    @Resource(name = "AnswerQueue")
-    private Queue answerQueue;
-
-    @Inject
-    private ChatRespondCreator responder;
-
-    public void onMessage(Message message) {
-        try {
-
-            final TextMessage textMessage = (TextMessage) message;
-            final String question = textMessage.getText();
-            final String response = responder.respond(question);
-
-            if (response != null) {
-                respond(response);
-            }
-        } catch (JMSException e) {
-            throw new IllegalStateException(e);
-        }
-    }
-
-    private void respond(String text) throws JMSException {
-
-        Connection connection = null;
-        Session session = null;
-
-        try {
-            connection = connectionFactory.createConnection();
-            connection.start();
-
-            // Create a Session
-            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-            // Create a MessageProducer from the Session to the Topic or Queue
-            MessageProducer producer = session.createProducer(answerQueue);
-            producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-
-            // Create a message
-            TextMessage message = session.createTextMessage(text);
-
-            // Tell the producer to send the message
-            producer.send(message);
-        } finally {
-            // Clean up
-            if (session != null) session.close();
-            if (connection != null) connection.close();
-        }
-    }
-}
-----
-
-
-==  ChatRespondCreator
-
-
-[source,java]
-----
-package org.superbiz.mdb;
-
-public class ChatRespondCreator {
-    public String respond(String question) {
-        if ("Hello World!".equals(question)) {
-            return "Hello, Test Case!";
-        } else if ("How are you?".equals(question)) {
-            return "I'm doing well.";
-        } else if ("Still spinning?".equals(question)) {
-            return "Once every day, as usual.";
-        }
-        return null;
-    }
-}
-----
-
-
-==  beans.xml
-
-
-[source,xml]
-----
-<!--
-
-    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.
--->
-<beans/>
-----
-
-    
-
-==  ChatBeanTest
-
-
-[source,java]
-----
-package org.superbiz.mdb;
-
-import junit.framework.TestCase;
-
-import javax.annotation.Resource;
-import javax.ejb.embeddable.EJBContainer;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.JMSException;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-public class ChatBeanTest extends TestCase {
-
-    @Resource
-    private ConnectionFactory connectionFactory;
-
-    @Resource(name = "ChatBean")
-    private Queue questionQueue;
-
-    @Resource(name = "AnswerQueue")
-    private Queue answerQueue;
-
-    public void test() throws Exception {
-        EJBContainer.createEJBContainer().getContext().bind("inject", this);
-
-
-        final Connection connection = connectionFactory.createConnection();
-
-        connection.start();
-
-        final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-        final MessageProducer questions = session.createProducer(questionQueue);
-
-        final MessageConsumer answers = session.createConsumer(answerQueue);
-
-
-        sendText("Hello World!", questions, session);
-
-        assertEquals("Hello, Test Case!", receiveText(answers));
-
-
-        sendText("How are you?", questions, session);
-
-        assertEquals("I'm doing well.", receiveText(answers));
-
-
-        sendText("Still spinning?", questions, session);
-
-        assertEquals("Once every day, as usual.", receiveText(answers));
-    }
-
-    private void sendText(String text, MessageProducer questions, Session session) throws JMSException {
-
-        questions.send(session.createTextMessage(text));
-    }
-
-    private String receiveText(MessageConsumer answers) throws JMSException {
-
-        return ((TextMessage) answers.receive(1000)).getText();
-    }
-}
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/simple-mdb-with-descriptor.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/simple-mdb-with-descriptor.adoc b/src/main/jbake/content/examples/simple-mdb-with-descriptor.adoc
deleted file mode 100755
index 1d37a81..0000000
--- a/src/main/jbake/content/examples/simple-mdb-with-descriptor.adoc
+++ /dev/null
@@ -1,268 +0,0 @@
-= Simple MDB with Descriptor
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example simple-mdb-with-descriptor can be browsed at https://github.com/apache/tomee/tree/master/examples/simple-mdb-with-descriptor
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  ChatBean
-
-
-[source,java]
-----
-package org.superbiz.mdbdesc;
-
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.DeliveryMode;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageListener;
-import javax.jms.MessageProducer;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-public class ChatBean implements MessageListener {
-
-    private ConnectionFactory connectionFactory;
-
-    private Queue answerQueue;
-
-    public void onMessage(Message message) {
-        try {
-
-            final TextMessage textMessage = (TextMessage) message;
-            final String question = textMessage.getText();
-
-            if ("Hello World!".equals(question)) {
-
-                respond("Hello, Test Case!");
-            } else if ("How are you?".equals(question)) {
-
-                respond("I'm doing well.");
-            } else if ("Still spinning?".equals(question)) {
-
-                respond("Once every day, as usual.");
-            }
-        } catch (JMSException e) {
-            throw new IllegalStateException(e);
-        }
-    }
-
-    private void respond(String text) throws JMSException {
-
-        Connection connection = null;
-        Session session = null;
-
-        try {
-            connection = connectionFactory.createConnection();
-            connection.start();
-
-            // Create a Session
-            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-            // Create a MessageProducer from the Session to the Topic or Queue
-            MessageProducer producer = session.createProducer(answerQueue);
-            producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-
-            // Create a message
-            TextMessage message = session.createTextMessage(text);
-
-            // Tell the producer to send the message
-            producer.send(message);
-        } finally {
-            // Clean up
-            if (session != null) session.close();
-            if (connection != null) connection.close();
-        }
-    }
-}
-----
-
-
-==  ejb-jar.xml
-
-
-[source,xml]
-----
-<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" metadata-complete="true">
-  <enterprise-beans>
-
-    <message-driven>
-
-      <ejb-name>ChatBean</ejb-name>
-      <ejb-class>org.superbiz.mdbdesc.ChatBean</ejb-class>
-
-      <messaging-type>javax.jms.MessageListener</messaging-type>
-
-      <activation-config>
-        <activation-config-property>
-          <activation-config-property-name>destination</activation-config-property-name>
-          <activation-config-property-value>ChatBean</activation-config-property-value>
-        </activation-config-property>
-        <activation-config-property>
-          <activation-config-property-name>destinationType</activation-config-property-name>
-          <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
-        </activation-config-property>
-      </activation-config>
-
-      <resource-ref>
-        <res-ref-name>java:comp/env/org.superbiz.mdbdesc.ChatBean/connectionFactory</res-ref-name>
-        <res-type>javax.jms.ConnectionFactory</res-type>
-        <injection-target>
-          <injection-target-class>org.superbiz.mdbdesc.ChatBean</injection-target-class>
-          <injection-target-name>connectionFactory</injection-target-name>
-        </injection-target>
-      </resource-ref>
-
-      <resource-env-ref>
-        <resource-env-ref-name>java:comp/env/AnswerQueue</resource-env-ref-name>
-        <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
-        <mapped-name>AnswerQueue</mapped-name>
-        <injection-target>
-          <injection-target-class>org.superbiz.mdbdesc.ChatBean</injection-target-class>
-          <injection-target-name>answerQueue</injection-target-name>
-        </injection-target>
-      </resource-env-ref>
-
-    </message-driven>
-
-  </enterprise-beans>
-</ejb-jar>
-----
-
-    
-
-==  ChatBeanTest
-
-
-[source,java]
-----
-package org.superbiz.mdb;
-
-import junit.framework.TestCase;
-
-import javax.annotation.Resource;
-import javax.ejb.embeddable.EJBContainer;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.JMSException;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-public class ChatBeanTest extends TestCase {
-
-    @Resource
-    private ConnectionFactory connectionFactory;
-
-    @Resource(name = "ChatBean")
-    private Queue questionQueue;
-
-    @Resource(name = "AnswerQueue")
-    private Queue answerQueue;
-
-    public void test() throws Exception {
-
-        EJBContainer.createEJBContainer().getContext().bind("inject", this);
-
-        final Connection connection = connectionFactory.createConnection();
-
-        connection.start();
-
-        final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-        final MessageProducer questions = session.createProducer(questionQueue);
-
-        final MessageConsumer answers = session.createConsumer(answerQueue);
-
-
-        sendText("Hello World!", questions, session);
-
-        assertEquals("Hello, Test Case!", receiveText(answers));
-
-
-        sendText("How are you?", questions, session);
-
-        assertEquals("I'm doing well.", receiveText(answers));
-
-
-        sendText("Still spinning?", questions, session);
-
-        assertEquals("Once every day, as usual.", receiveText(answers));
-    }
-
-    private void sendText(String text, MessageProducer questions, Session session) throws JMSException {
-
-        questions.send(session.createTextMessage(text));
-    }
-
-    private String receiveText(MessageConsumer answers) throws JMSException {
-
-        return ((TextMessage) answers.receive(1000)).getText();
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.mdb.ChatBeanTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/simple-mdb-with-descriptor
-INFO - openejb.base = /Users/dblevins/examples/simple-mdb-with-descriptor
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/simple-mdb-with-descriptor/target/classes
-INFO - Beginning load: /Users/dblevins/examples/simple-mdb-with-descriptor/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/simple-mdb-with-descriptor
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Configuring Service(id=Default MDB Container, type=Container, provider-id=Default MDB Container)
-INFO - Auto-creating a container for bean ChatBean: Container(type=MESSAGE, id=Default MDB Container)
-INFO - Configuring Service(id=Default JMS Resource Adapter, type=Resource, provider-id=Default JMS Resource Adapter)
-INFO - Configuring Service(id=Default JMS Connection Factory, type=Resource, provider-id=Default JMS Connection Factory)
-INFO - Auto-creating a Resource with id 'Default JMS Connection Factory' of type 'javax.jms.ConnectionFactory for 'ChatBean'.
-INFO - Auto-linking resource-ref 'java:comp/env/org.superbiz.mdbdesc.ChatBean/connectionFactory' in bean ChatBean to Resource(id=Default JMS Connection Factory)
-INFO - Configuring Service(id=AnswerQueue, type=Resource, provider-id=Default Queue)
-INFO - Auto-creating a Resource with id 'AnswerQueue' of type 'javax.jms.Queue for 'ChatBean'.
-INFO - Auto-linking resource-env-ref 'java:comp/env/AnswerQueue' in bean ChatBean to Resource(id=AnswerQueue)
-INFO - Configuring Service(id=ChatBean, type=Resource, provider-id=Default Queue)
-INFO - Auto-creating a Resource with id 'ChatBean' of type 'javax.jms.Queue for 'ChatBean'.
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.mdb.ChatBeanTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Auto-linking resource-ref 'java:comp/env/org.superbiz.mdb.ChatBeanTest/connectionFactory' in bean org.superbiz.mdb.ChatBeanTest to Resource(id=Default JMS Connection Factory)
-INFO - Auto-linking resource-env-ref 'java:comp/env/AnswerQueue' in bean org.superbiz.mdb.ChatBeanTest to Resource(id=AnswerQueue)
-INFO - Auto-linking resource-env-ref 'java:comp/env/ChatBean' in bean org.superbiz.mdb.ChatBeanTest to Resource(id=ChatBean)
-INFO - Enterprise application "/Users/dblevins/examples/simple-mdb-with-descriptor" loaded.
-INFO - Assembling app: /Users/dblevins/examples/simple-mdb-with-descriptor
-INFO - Jndi(name="java:global/EjbModule1842275169/org.superbiz.mdb.ChatBeanTest!org.superbiz.mdb.ChatBeanTest")
-INFO - Jndi(name="java:global/EjbModule1842275169/org.superbiz.mdb.ChatBeanTest")
-INFO - Created Ejb(deployment-id=org.superbiz.mdb.ChatBeanTest, ejb-name=org.superbiz.mdb.ChatBeanTest, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=ChatBean, ejb-name=ChatBean, container=Default MDB Container)
-INFO - Started Ejb(deployment-id=org.superbiz.mdb.ChatBeanTest, ejb-name=org.superbiz.mdb.ChatBeanTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=ChatBean, ejb-name=ChatBean, container=Default MDB Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/simple-mdb-with-descriptor)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.914 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/simple-mdb.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/simple-mdb.adoc b/src/main/jbake/content/examples/simple-mdb.adoc
deleted file mode 100755
index db6c6d0..0000000
--- a/src/main/jbake/content/examples/simple-mdb.adoc
+++ /dev/null
@@ -1,233 +0,0 @@
-= Simple MDB
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example simple-mdb can be browsed at https://github.com/apache/tomee/tree/master/examples/simple-mdb
-
-
-Below is a fun app, a chat application that uses JMS. We create a message driven bean, by marking our class with `@MessageDriven`. A message driven bean has some similarities with a stateless session bean, in the part that it is pooled too.
-
-Well, lets tell our chat-app to listen for incoming messages. That we do by implementing `MessageListener` and overriding the `onMessage(Message message)`.
-
-Then this app "listens" for incoming messages, and the messages picked up are processed by `onMessage(Message message)` method.
-
-That finishes our message driven bean implementation. The "processing" part could be anything that fits your business-requirement.
-
-In this case, it is to respond to the user. The `respond` method shows how a Message can be sent.
-
-This sequence diagram shows how a message is sent.
-
-<img src="../../resources/mdb-flow.png" alt=""/>
-
-==  ChatBean
-
-
-[source,java]
-----
-package org.superbiz.mdb;
-
-import javax.annotation.Resource;
-import javax.ejb.MessageDriven;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.DeliveryMode;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageListener;
-import javax.jms.MessageProducer;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-@MessageDriven
-public class ChatBean implements MessageListener {
-
-    @Resource
-    private ConnectionFactory connectionFactory;
-
-    @Resource(name = "AnswerQueue")
-    private Queue answerQueue;
-
-    public void onMessage(Message message) {
-        try {
-
-            final TextMessage textMessage = (TextMessage) message;
-            final String question = textMessage.getText();
-
-            if ("Hello World!".equals(question)) {
-
-                respond("Hello, Test Case!");
-            } else if ("How are you?".equals(question)) {
-
-                respond("I'm doing well.");
-            } else if ("Still spinning?".equals(question)) {
-
-                respond("Once every day, as usual.");
-            }
-        } catch (JMSException e) {
-            throw new IllegalStateException(e);
-        }
-    }
-
-    private void respond(String text) throws JMSException {
-
-        Connection connection = null;
-        Session session = null;
-
-        try {
-            connection = connectionFactory.createConnection();
-            connection.start();
-
-            // Create a Session
-            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-            // Create a MessageProducer from the Session to the Topic or Queue
-            MessageProducer producer = session.createProducer(answerQueue);
-            producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-
-            // Create a message
-            TextMessage message = session.createTextMessage(text);
-
-            // Tell the producer to send the message
-            producer.send(message);
-        } finally {
-            // Clean up
-            if (session != null) session.close();
-            if (connection != null) connection.close();
-        }
-    }
-}
-----
-
-
-==  ChatBeanTest
-
-
-[source,java]
-----
-package org.superbiz.mdb;
-
-import junit.framework.TestCase;
-
-import javax.annotation.Resource;
-import javax.ejb.embeddable.EJBContainer;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.JMSException;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-public class ChatBeanTest extends TestCase {
-
-    @Resource
-    private ConnectionFactory connectionFactory;
-
-    @Resource(name = "ChatBean")
-    private Queue questionQueue;
-
-    @Resource(name = "AnswerQueue")
-    private Queue answerQueue;
-
-    public void test() throws Exception {
-        EJBContainer.createEJBContainer().getContext().bind("inject", this);
-
-
-        final Connection connection = connectionFactory.createConnection();
-
-        connection.start();
-
-        final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-        final MessageProducer questions = session.createProducer(questionQueue);
-
-        final MessageConsumer answers = session.createConsumer(answerQueue);
-
-
-        sendText("Hello World!", questions, session);
-
-        assertEquals("Hello, Test Case!", receiveText(answers));
-
-
-        sendText("How are you?", questions, session);
-
-        assertEquals("I'm doing well.", receiveText(answers));
-
-
-        sendText("Still spinning?", questions, session);
-
-        assertEquals("Once every day, as usual.", receiveText(answers));
-    }
-
-    private void sendText(String text, MessageProducer questions, Session session) throws JMSException {
-
-        questions.send(session.createTextMessage(text));
-    }
-
-    private String receiveText(MessageConsumer answers) throws JMSException {
-
-        return ((TextMessage) answers.receive(1000)).getText();
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.mdb.ChatBeanTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/simple-mdb
-INFO - openejb.base = /Users/dblevins/examples/simple-mdb
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/simple-mdb/target/classes
-INFO - Beginning load: /Users/dblevins/examples/simple-mdb/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/simple-mdb
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Auto-configuring a message driven bean ChatBean destination ChatBean to be destinationType javax.jms.Queue
-INFO - Configuring Service(id=Default MDB Container, type=Container, provider-id=Default MDB Container)
-INFO - Auto-creating a container for bean ChatBean: Container(type=MESSAGE, id=Default MDB Container)
-INFO - Configuring Service(id=Default JMS Resource Adapter, type=Resource, provider-id=Default JMS Resource Adapter)
-INFO - Configuring Service(id=Default JMS Connection Factory, type=Resource, provider-id=Default JMS Connection Factory)
-INFO - Auto-creating a Resource with id 'Default JMS Connection Factory' of type 'javax.jms.ConnectionFactory for 'ChatBean'.
-INFO - Auto-linking resource-ref 'java:comp/env/org.superbiz.mdb.ChatBean/connectionFactory' in bean ChatBean to Resource(id=Default JMS Connection Factory)
-INFO - Configuring Service(id=AnswerQueue, type=Resource, provider-id=Default Queue)
-INFO - Auto-creating a Resource with id 'AnswerQueue' of type 'javax.jms.Queue for 'ChatBean'.
-INFO - Auto-linking resource-env-ref 'java:comp/env/AnswerQueue' in bean ChatBean to Resource(id=AnswerQueue)
-INFO - Configuring Service(id=ChatBean, type=Resource, provider-id=Default Queue)
-INFO - Auto-creating a Resource with id 'ChatBean' of type 'javax.jms.Queue for 'ChatBean'.
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.mdb.ChatBeanTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Auto-linking resource-ref 'java:comp/env/org.superbiz.mdb.ChatBeanTest/connectionFactory' in bean org.superbiz.mdb.ChatBeanTest to Resource(id=Default JMS Connection Factory)
-INFO - Auto-linking resource-env-ref 'java:comp/env/AnswerQueue' in bean org.superbiz.mdb.ChatBeanTest to Resource(id=AnswerQueue)
-INFO - Auto-linking resource-env-ref 'java:comp/env/ChatBean' in bean org.superbiz.mdb.ChatBeanTest to Resource(id=ChatBean)
-INFO - Enterprise application "/Users/dblevins/examples/simple-mdb" loaded.
-INFO - Assembling app: /Users/dblevins/examples/simple-mdb
-INFO - Jndi(name="java:global/EjbModule1515710343/org.superbiz.mdb.ChatBeanTest!org.superbiz.mdb.ChatBeanTest")
-INFO - Jndi(name="java:global/EjbModule1515710343/org.superbiz.mdb.ChatBeanTest")
-INFO - Created Ejb(deployment-id=org.superbiz.mdb.ChatBeanTest, ejb-name=org.superbiz.mdb.ChatBeanTest, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=ChatBean, ejb-name=ChatBean, container=Default MDB Container)
-INFO - Started Ejb(deployment-id=org.superbiz.mdb.ChatBeanTest, ejb-name=org.superbiz.mdb.ChatBeanTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=ChatBean, ejb-name=ChatBean, container=Default MDB Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/simple-mdb)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.547 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/simple-rest.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/simple-rest.adoc b/src/main/jbake/content/examples/simple-rest.adoc
deleted file mode 100755
index f35d8df..0000000
--- a/src/main/jbake/content/examples/simple-rest.adoc
+++ /dev/null
@@ -1,148 +0,0 @@
-= Simple REST
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example simple-rest can be browsed at https://github.com/apache/tomee/tree/master/examples/simple-rest
-
-
-Defining a REST service is pretty easy, simply ad @Path annotation to a class then define on methods
-the HTTP method to use (@GET, @POST, ...).
-
-= The Code
-
-==  The REST service: @Path, @GET, @POST
-
-Here we see a bean that uses the Bean-Managed Concurrency option as well as the @Startup annotation which causes the bean to be instantiated by the container when the application starts. Singleton beans with @ConcurrencyManagement(BEAN) are responsible for their own thread-safety. The bean shown is a simple properties "registry" and provides a place where options could be set and retrieved by all beans in the application.
-
-
-[source,java]
-----
-package org.superbiz.rest;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-
-@Path("/greeting")
-public class GreetingService {
-    @GET
-    public String message() {
-        return "Hi REST!";
-    }
-
-    @POST
-    public String lowerCase(final String message) {
-        return "Hi REST!".toLowerCase();
-    }
-}
-----
-
-
-=  Testing
-
-==  Test for the JAXRS service
-
-The test uses the OpenEJB ApplicationComposer to make it trivial.
-
-The idea is first to activate the jaxrs services. This is done using @EnableServices annotation.
-
-Then we create on the fly the application simply returning an object representing the web.xml. Here we simply
-use it to define the context root but you can use it to define your REST Application too. And to complete the
-application definition we add @Classes annotation to define the set of classes to use in this app.
-
-Finally to test it we use cxf client API to call the REST service in get() and post() methods.
-
-
-[source,java]
-----
-package org.superbiz.rest;
-
-import org.apache.cxf.jaxrs.client.WebClient;
-import org.apache.openejb.jee.SingletonBean;
-import org.apache.openejb.junit.ApplicationComposer;
-import org.apache.openejb.junit.EnableServices;
-import org.apache.openejb.junit.Module;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.io.IOException;
-
-import static org.junit.Assert.assertEquals;
-
-@EnableServices(value = "jaxrs")
-@RunWith(ApplicationComposer.class)
-public class GreetingServiceTest {
-    @Module
-    public SingletonBean app() {
-        return (SingletonBean) new SingletonBean(GreetingService.class).localBean();
-    }
-
-    @Test
-    public void get() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/GreetingServiceTest/greeting/").get(String.class);
-        assertEquals("Hi REST!", message);
-    }
-
-    @Test
-    public void post() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/GreetingServiceTest/greeting/").post("Hi REST!", String.class);
-        assertEquals("hi rest!", message);
-    }
-}
-----
-
-
-= Running
-
-Running the example is fairly simple. In the "simple-rest" directory run:
-
-    $ mvn clean install
-
-Which should create output like the following.
-
-    INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-    INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-    INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-    INFO - Creating TransactionManager(id=Default Transaction Manager)
-    INFO - Creating SecurityService(id=Default Security Service)
-    INFO - Initializing network services
-    INFO - Creating ServerService(id=httpejbd)
-    INFO - Creating ServerService(id=cxf-rs)
-    INFO - Initializing network services
-    INFO - Starting service httpejbd
-    INFO - Started service httpejbd
-    INFO - Starting service cxf-rs
-    INFO - Started service cxf-rs
-    INFO -   ** Bound Services **
-    INFO -   NAME                 IP              PORT
-    INFO -   httpejbd             127.0.0.1       4204
-    INFO - -------
-    INFO - Ready!
-    INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-    INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-    INFO - Auto-creating a container for bean org.superbiz.rest.GreetingServiceTest: Container(type=MANAGED, id=Default Managed Container)
-    INFO - Creating Container(id=Default Managed Container)
-    INFO - Using directory /tmp for stateful session passivation
-    INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest" loaded.
-    INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-    INFO - Existing thread singleton service in SystemInstance() null
-    INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@12c9b196
-    INFO - Succeeded in installing singleton service
-    INFO - OpenWebBeans Container is starting...
-    INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-    INFO - All injection points are validated successfully.
-    INFO - OpenWebBeans Container has started, it took 11 ms.
-    INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest)
-    INFO - Setting the server's publish address to be http://127.0.0.1:4204/test
-    INFO - REST Service: http://127.0.0.1:4204/test/greeting/.*  -> Pojo org.superbiz.rest.GreetingService
-    INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/GreetingServiceTest
-    INFO - Stopping network services
-    INFO - Stopping server services
-    Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec
-
-    Results :
-
-    Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
-


[21/34] tomee-site-generator git commit: Link documentation to new (work in progress) docs index

Posted by db...@apache.org.
Link documentation to new (work in progress) docs index


Project: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/commit/a9b50301
Tree: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/tree/a9b50301
Diff: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/diff/a9b50301

Branch: refs/heads/master
Commit: a9b50301eab3460c8d69698c395accecf2e25a14
Parents: efed31f
Author: dblevins <da...@gmail.com>
Authored: Mon Nov 26 01:04:27 2018 -0800
Committer: dblevins <da...@gmail.com>
Committed: Mon Nov 26 01:04:27 2018 -0800

----------------------------------------------------------------------
 .../java/org/apache/tomee/website/Docs.java     | 91 ++++++++++++++++++++
 .../java/org/apache/tomee/website/JBake.java    |  8 +-
 .../java/org/apache/tomee/website/Sources.java  | 18 ++--
 .../org/apache/tomee/website/VersionIndex.java  | 67 ++++++++++++++
 .../org/apache/tomee/website/VersionsIndex.java | 70 +++++++++++++++
 src/main/jbake/templates/menu.gsp               |  1 -
 6 files changed, 245 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/a9b50301/src/main/java/org/apache/tomee/website/Docs.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Docs.java b/src/main/java/org/apache/tomee/website/Docs.java
index 500cf3a..547837a 100644
--- a/src/main/java/org/apache/tomee/website/Docs.java
+++ b/src/main/java/org/apache/tomee/website/Docs.java
@@ -17,9 +17,15 @@
 package org.apache.tomee.website;
 
 import org.apache.openejb.loader.IO;
+import org.apache.openejb.util.Join;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 public class Docs {
 
@@ -40,5 +46,90 @@ public class Docs {
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
+
+        if (!hasIndex(destDocs)) {
+            buildIndex(destDocs);
+        }
+    }
+
+    private boolean hasIndex(final File destDocs) {
+        return Stream.of(destDocs.listFiles())
+                .filter(File::isFile)
+                .filter(file -> file.getName().startsWith("index."))
+                .filter(this::isRendered)
+                .findFirst().isPresent();
+    }
+
+    private void buildIndex(final File destDocs) {
+        try {
+            final List<String> links = Files.walk(destDocs.toPath())
+                    .filter(path -> path.toFile().isFile())
+                    .filter(this::isRendered)
+                    .map(path -> toLink(destDocs, path))
+                    .map(Link::toAdoc)
+                    .collect(Collectors.toList());
+
+            final StringBuilder index = new StringBuilder();
+            index.append(":jbake-type: page\n")
+                    .append(":jbake-status: published\n")
+                    .append(":jbake-title: Documentation\n")
+                    .append("\n")
+                    .append("Documentation\n\n")
+            ;
+
+            index.append(Join.join("\n", links));
+
+            IO.copy(IO.read(index.toString()), new File(destDocs, "index.adoc"));
+
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private Link toLink(final File base, final Path path) {
+        final int baseLength = base.getAbsolutePath().length() + 1;
+
+        final String href = path.toFile().getAbsolutePath().substring(baseLength)
+                .replace(".adoc", ".html")
+                .replace(".mdtext", ".html")
+                .replace(".md", ".html");
+
+        final String name = href.replace(".html", "");
+        return new Link(href, name);
+    }
+
+    public static class Link {
+        private final String href;
+        private final String name;
+
+        public Link(final String href, final String name) {
+            this.href = href;
+            this.name = name;
+        }
+
+        public String getHref() {
+            return href;
+        }
+
+        public String getName() {
+            return name;
+        }
+
+        public String toAdoc() {
+            return " - link:" + href + "[" + name + "]";
+        }
+    }
+
+    private boolean isRendered(final Path path) {
+        final File file = path.toFile();
+        return isRendered(file);
+    }
+
+    private boolean isRendered(final File file) {
+        if (file.getName().endsWith(".mdtext")) return true;
+        if (file.getName().endsWith(".md")) return true;
+        if (file.getName().endsWith(".adoc")) return true;
+        if (file.getName().endsWith(".html")) return true;
+        return false;
     }
 }

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/a9b50301/src/main/java/org/apache/tomee/website/JBake.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/JBake.java b/src/main/java/org/apache/tomee/website/JBake.java
index e2e2ea9..20bbbd0 100755
--- a/src/main/java/org/apache/tomee/website/JBake.java
+++ b/src/main/java/org/apache/tomee/website/JBake.java
@@ -42,10 +42,10 @@ public class JBake {
                 new File("target/jbake"),
                 new File("repos"),
                 new File("src/main/jbake"),
-                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "master", "master"),
+                new Source("https://github.com/dblevins/tomee.git", "tomee-8.0.x-docs", "tomee-8.0", true),
                 new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "tomee-7.1.0", "tomee-7.1"),
                 new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "tomee-7.0.5", "tomee-7.0"),
-                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "tomee-8.0.0-M1", "tomee-8.0", true)
+                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "master", "master")
         );
 
         sources.prepare();
@@ -200,11 +200,11 @@ public class JBake {
         final File fileLayoutPdf = new File(adminFolder, "file-layout.pdf");
         final File dirStructurePdf = new File(adminFolder, "directory-structure.pdf");
 
-        if(fileLayoutPdf.exists()){
+        if (fileLayoutPdf.exists()) {
             FileUtils.copyFile(fileLayoutPdf, dirStructurePdf);
         }
 
-        if(fileLayoutHtml.exists()){
+        if (fileLayoutHtml.exists()) {
             FileUtils.copyFile(fileLayoutHtml, dirStructureHtml);
         }
     }

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/a9b50301/src/main/java/org/apache/tomee/website/Sources.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Sources.java b/src/main/java/org/apache/tomee/website/Sources.java
index c8592a4..3af5ca4 100644
--- a/src/main/java/org/apache/tomee/website/Sources.java
+++ b/src/main/java/org/apache/tomee/website/Sources.java
@@ -64,6 +64,10 @@ public class Sources {
         return destination;
     }
 
+    public List<Source> getSources() {
+        return sources;
+    }
+
     /**
      * This is the heart of the code to merge several documentation
      * sources into one tree.
@@ -71,20 +75,24 @@ public class Sources {
     public void prepare() {
         final Docs docs = new Docs(this);
         final Examples2 examples = new Examples2(this);
+        final VersionIndex versionIndex = new VersionIndex(this);
+
+        try {
+            IO.copyDirectory(mainSource, destination);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
 
         sources.stream()
                 .peek(source -> source.setDir(new File(repos, source.getName())))
                 .peek(Repos::download)
                 .peek(docs::prepare)
                 .peek(examples::prepare)
+                .peek(versionIndex::prepare)
                 .forEach(Sources::done);
         ;
 
-        try {
-            IO.copyDirectory(mainSource, destination);
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
+        VersionsIndex.prepare(this);
     }
 
     public File getDestinationFor(final Source source, final String... parts) {

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/a9b50301/src/main/java/org/apache/tomee/website/VersionIndex.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/VersionIndex.java b/src/main/java/org/apache/tomee/website/VersionIndex.java
new file mode 100644
index 0000000..68960aa
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/VersionIndex.java
@@ -0,0 +1,67 @@
+/*
+ * 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.website;
+
+import org.apache.openejb.loader.IO;
+import org.apache.openejb.util.Join;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+public class VersionIndex {
+
+    private final Sources sources;
+
+    public VersionIndex(final Sources sources) {
+        this.sources = sources;
+    }
+
+    public void prepare(final Source source) {
+        final File docs = sources.getDestinationFor(source, "docs");
+        final File examples = sources.getDestinationFor(source, "examples");
+
+        try {
+            final StringBuilder index = new StringBuilder();
+            index.append(":jbake-type: page\n")
+                    .append(":jbake-status: published\n")
+                    .append(":jbake-title: ")
+                    .append(source.getName())
+                    .append(" resources")
+                    .append("\n")
+                    .append("\n")
+            ;
+
+            if (docs.exists()) {
+                index.append(" - link:docs[Documentation]\n");
+            }
+            if (examples.exists()) {
+                index.append(" - link:examples[Examples]\n");
+            }
+
+            IO.copy(IO.read(index.toString()), new File(docs.getParentFile(), "index.adoc"));
+
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/a9b50301/src/main/java/org/apache/tomee/website/VersionsIndex.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/VersionsIndex.java b/src/main/java/org/apache/tomee/website/VersionsIndex.java
new file mode 100644
index 0000000..d44def4
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/VersionsIndex.java
@@ -0,0 +1,70 @@
+/*
+ * 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.website;
+
+import org.apache.openejb.loader.IO;
+
+import java.io.File;
+import java.io.IOException;
+
+public class VersionsIndex {
+
+
+    public static void prepare(final Sources sources) {
+
+
+        try {
+            final StringBuilder index = new StringBuilder();
+            index.append(":jbake-type: page\n")
+                    .append(":jbake-status: published\n")
+                    .append(":jbake-title: Apache TomEE Documentation\n")
+                    .append("\n")
+            ;
+
+
+            for (final Source source : sources.getSources()) {
+                if ("master".equals(source.getName())) continue;
+                if ("latest".equals(source.getName())) continue;
+
+                index.append("*").append(source.getName());
+                if (source.isLatest()) {
+                    index.append(" (latest)");
+                }
+
+                index.append("*\n\n");
+
+                final File docs = sources.getDestinationFor(source, "docs");
+                final File examples = sources.getDestinationFor(source, "examples");
+
+                if (docs.exists()) {
+                    index.append(" - link:").append(source.getName()).append("/docs[Documentation]\n");
+                }
+                if (examples.exists()) {
+                    index.append(" - link:").append(source.getName()).append("/examples[Examples]\n");
+                }
+                index.append("\n\n");
+            }
+
+            IO.copy(IO.read(index.toString()), new File(sources.getDestination(), "content/documentation.adoc"));
+            IO.copy(IO.read(index.toString()), new File(sources.getDestination(), "content/docs.adoc"));
+
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/a9b50301/src/main/jbake/templates/menu.gsp
----------------------------------------------------------------------
diff --git a/src/main/jbake/templates/menu.gsp b/src/main/jbake/templates/menu.gsp
index d4c46c7..d84aceb 100755
--- a/src/main/jbake/templates/menu.gsp
+++ b/src/main/jbake/templates/menu.gsp
@@ -27,7 +27,6 @@
 			<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
 				<ul class="nav navbar-nav navbar-right main-nav">
 					<li><a href="<%if (content.rootpath) {%>${content.rootpath}<% } else { %><% }%>docs.html">Documentation</a></li>
-					<li><a href="<%if (content.rootpath) {%>${content.rootpath}<% } else { %><% }%>examples/index.html">Examples</a></li>
 					<li><a href="<%if (content.rootpath) {%>${content.rootpath}<% } else { %><% }%>community/index.html">Community</a></li>
 					<li><a href="<%if (content.rootpath) {%>${content.rootpath}<% } else { %><% }%>security/index.html">Security</a></li>
 					<li><a href="<%if (content.rootpath) {%>${content.rootpath}<% } else { %><% }%>download-ng.html">Downloads</a></li>


[33/34] tomee-site-generator git commit: Merge old content. Move tech content to main build.

Posted by db...@apache.org.
Merge old content.  Move tech content to main build.


Project: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/commit/b34e23c0
Tree: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/tree/b34e23c0
Diff: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/diff/b34e23c0

Branch: refs/heads/master
Commit: b34e23c09636453da7d4cc22e37fe99e8e122787
Parents: a9b5030
Author: dblevins <da...@gmail.com>
Authored: Mon Nov 26 01:22:58 2018 -0800
Committer: dblevins <da...@gmail.com>
Committed: Mon Nov 26 01:22:59 2018 -0800

----------------------------------------------------------------------
 src/main/jbake/content/admin/cluster/index.adoc | 227 -----
 .../admin/configuration/application.adoc        | 100 ---
 .../content/admin/configuration/containers.adoc | 585 -------------
 .../content/admin/configuration/index.adoc      |  24 -
 .../content/admin/configuration/resources.adoc  | 572 ------------
 .../content/admin/configuration/server.adoc     |  86 --
 src/main/jbake/content/admin/file-layout.adoc   | 144 ----
 src/main/jbake/content/admin/index.adoc         |   7 -
 .../advanced/applicationcomposer/index.adoc     |  76 --
 .../jbake/content/advanced/client/jndi.adoc     | 116 ---
 src/main/jbake/content/advanced/index.adoc      |   7 -
 .../content/advanced/jms/jms-configuration.adoc |  67 --
 .../jbake/content/advanced/setup/index.adoc     | 142 ---
 .../jbake/content/advanced/shading/index.adoc   | 276 ------
 .../content/advanced/tomee-embedded/index.adoc  | 223 -----
 src/main/jbake/content/articles.mdtext          |  39 +
 src/main/jbake/content/azure.mdtext             |   5 +
 .../jbake/content/commercial-support.mdtext     |  24 +
 src/main/jbake/content/comparison.mdtext        | 219 +++++
 src/main/jbake/content/concepts.mdtext          |  75 ++
 src/main/jbake/content/contribute.mdtext        | 199 +++++
 src/main/jbake/content/dev/april2008.mdtext     |  31 +
 src/main/jbake/content/dev/april2009.mdtext     |  32 +
 .../arquillian-test-porting-initiative.mdtext   |  76 ++
 src/main/jbake/content/dev/asf.mdtext           |  24 +
 src/main/jbake/content/dev/august2007.mdtext    |  18 +
 .../content/dev/building-from-source.mdtext     |  44 +
 .../content/dev/cdi-tck-webappsdeployer.mdtext  | 266 ++++++
 .../dev/configuration-and-assembly.mdtext       | 185 ++++
 .../jbake/content/dev/contribution-tips.mdtext  | 201 +++++
 .../jbake/content/dev/creating-itests.mdtext    | 203 +++++
 .../dev/design-application-server.mdtext        |  33 +
 .../dev/design-application-serverlinks.mdtext   |   2 +
 .../jbake/content/dev/design-assembler.mdtext   |  33 +
 .../dev/design-bmp-entitybean-container.mdtext  |  23 +
 .../content/dev/design-classic-assembler.mdtext |  28 +
 .../dev/design-cmp-entitybean-container.mdtext  |  22 +
 .../dev/design-configuration-factory.mdtext     |  38 +
 .../jbake/content/dev/design-container.mdtext   |  36 +
 .../content/dev/design-local-server.mdtext      |  21 +
 .../content/dev/design-local-serverlinks.mdtext |   2 +
 .../design-nova-configuration-factory.mdtext    |  28 +
 .../dev/design-passivation-strategy.mdtext      |  26 +
 .../design-random-access-file-passivater.mdtext |  20 +
 .../content/dev/design-remote-server.mdtext     |  31 +
 .../dev/design-remote-serverlinks.mdtext        |   2 +
 .../content/dev/design-resource-manager.mdtext  |  29 +
 .../content/dev/design-security-service.mdtext  |  27 +
 .../content/dev/design-simple-passivater.mdtext |  18 +
 ...design-stateful-sessionbean-container.mdtext |  24 +
 ...esign-stateless-sessionbean-container.mdtext |  22 +
 .../dev/design-transaction-service.mdtext       |  28 +
 src/main/jbake/content/dev/design.mdtext        |  37 +
 src/main/jbake/content/dev/favicon.ico          | Bin 0 -> 3638 bytes
 src/main/jbake/content/dev/git.mdtext           |  85 ++
 src/main/jbake/content/dev/index.html           |   3 +
 .../jbake/content/dev/itests-overview.mdtext    | 151 ++++
 src/main/jbake/content/dev/january2008.mdtext   |  55 ++
 src/main/jbake/content/dev/january2010.mdtext   |  20 +
 src/main/jbake/content/dev/jira/index.html      |   3 +
 src/main/jbake/content/dev/jira/patches.swjira  |  32 +
 src/main/jbake/content/dev/jira/todo.swjira     |  30 +
 src/main/jbake/content/dev/july2007.mdtext      |  22 +
 src/main/jbake/content/dev/july2008.mdtext      |  19 +
 src/main/jbake/content/dev/july2009.mdtext      |  28 +
 src/main/jbake/content/dev/july2010.mdtext      |  18 +
 src/main/jbake/content/dev/june2007.mdtext      |  16 +
 src/main/jbake/content/dev/logging.mdtext       | 222 +++++
 .../dev/mastering-the-command-line.mdtext       |  97 +++
 src/main/jbake/content/dev/october2007.mdtext   |   8 +
 src/main/jbake/content/dev/october2008.mdtext   |  36 +
 src/main/jbake/content/dev/october2009.mdtext   |   4 +
 .../content/dev/openejb-release-process.mdtext  | 278 ++++++
 src/main/jbake/content/dev/proxies.mdtext       |  34 +
 src/main/jbake/content/dev/release-tomee.mdtext | 283 ++++++
 src/main/jbake/content/dev/roadmap.mdtext       |  23 +
 src/main/jbake/content/dev/rsync.mdtext         |  98 +++
 .../jbake/content/dev/rules-of-thumb.mdtext     |  24 +
 src/main/jbake/content/dev/source-code.mdtext   | 101 +++
 src/main/jbake/content/dev/take-my-code.mdtext  |  14 +
 src/main/jbake/content/dev/thread-dumps.mdtext  |  37 +
 .../content/dev/tips-and-suggestions.mdtext     | 384 +++++++++
 .../dev/validation-keys-audit-report.mdtext     | 282 ++++++
 src/main/jbake/content/dev/website-dev.mdtext   |  51 ++
 .../jbake/content/dev/writing-examples.mdtext   |  95 ++
 .../content/dev/writing-validation-tests.mdtext | 163 ++++
 src/main/jbake/content/dev/xbean-finder.mdtext  | 266 ++++++
 .../content/dev/xbean-usage-in-openejb.mdtext   | 149 ++++
 .../content/developer/classloading/index.adoc   |  59 --
 .../content/developer/configuration/cxf.adoc    |  93 --
 src/main/jbake/content/developer/ide/index.adoc |  25 -
 src/main/jbake/content/developer/index.adoc     |   7 -
 .../jbake/content/developer/json/index.adoc     | 206 -----
 .../developer/migration/tomee-1-to-7.adoc       |  33 -
 .../testing/applicationcomposer/index.adoc      | 335 --------
 .../developer/testing/arquillian/index.adoc     | 421 ---------
 .../jbake/content/developer/testing/index.adoc  |   9 -
 .../content/developer/testing/other/index.adoc  | 134 ---
 .../content/developer/tools/gradle-plugins.adoc |  50 --
 .../jbake/content/developer/tools/index.adoc    |   8 -
 .../content/developer/tools/maven-plugins.adoc  |  12 -
 .../tools/maven/applicationcomposer.adoc        |  47 -
 .../content/developer/tools/maven/embedded.adoc |  53 --
 .../content/developer/tools/maven/tomee.adoc    | 183 ----
 src/main/jbake/content/enterprise-tomcat.mdtext |   5 +
 src/main/jbake/content/evolution-of-ejb.mdtext  | 114 +++
 src/main/jbake/content/faq.mdtext               |  96 +++
 src/main/jbake/content/features.mdtext          |   1 +
 src/main/jbake/content/geronimo.mdtext          |   7 +
 src/main/jbake/content/lightening-demos.mdtext  |  83 ++
 src/main/jbake/content/mailing-lists.mdtext     |  74 ++
 .../jbake/content/management-and-voting.mdtext  |  86 ++
 src/main/jbake/content/powered-by.mdtext        |  20 +
 .../2010_ApacheCon_OpenEJB_InDepth.key          | Bin 0 -> 1310566 bytes
 .../2010_ApacheCon_OpenEJB_InDepth.pdf          | Bin 0 -> 1768517 bytes
 ...heCon_Apache_TomEE_Java_EE_6_Web_Profile.key | Bin 0 -> 1199415 bytes
 ...heCon_Apache_TomEE_Java_EE_6_Web_Profile.pdf | Bin 0 -> 1178889 bytes
 ...Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.key | Bin 0 -> 255576 bytes
 ...Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.pdf | Bin 0 -> 223080 bytes
 ...Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.ppt | Bin 0 -> 174080 bytes
 .../2011_JAX_London_Fun_EJB31_and_OpenEJB.key   | Bin 0 -> 330634 bytes
 .../2011_JAX_London_Fun_EJB31_and_OpenEJB.pdf   | Bin 0 -> 207968 bytes
 ...vaOne_Apache_TomEE_Java_EE_6_Web_Profile.key | Bin 0 -> 1198882 bytes
 ...vaOne_Apache_TomEE_Java_EE_6_Web_Profile.pdf | Bin 0 -> 1164144 bytes
 .../2011_JavaOne_EJB_with_Meta_Annotations.key  | Bin 0 -> 1201626 bytes
 .../2011_JavaOne_EJB_with_Meta_Annotations.pdf  | Bin 0 -> 1080099 bytes
 ...011_JavaOne_Fun_with_EJB_3_1_and_OpenEJB.key | Bin 0 -> 1227795 bytes
 ...011_JavaOne_Fun_with_EJB_3_1_and_OpenEJB.pdf | Bin 0 -> 1386994 bytes
 .../presentations/2011_OSCONj-ApacheTomEE.key   | Bin 0 -> 25496277 bytes
 .../presentations/2011_OSCONj-ApacheTomEE.pdf   | Bin 0 -> 1169806 bytes
 ...2012_JAXConf_Tomcat_to_JavaEE_with_TomEE.key | Bin 0 -> 20876167 bytes
 ...2012_JAXConf_Tomcat_to_JavaEE_with_TomEE.pdf | Bin 0 -> 2841931 bytes
 .../Apache TomEE - Tomcat with a kick.odp       | Bin 0 -> 439454 bytes
 .../Apache TomEE - Tomcat with a kick.pdf       | Bin 0 -> 386594 bytes
 .../jbake/content/presentations/JAOO-2006.pdf   | Bin 0 -> 2344223 bytes
 .../jbake/content/presentations/favicon.ico     | Bin 0 -> 3638 bytes
 src/main/jbake/content/privacy-policy.mdtext    |  23 +
 src/main/jbake/content/robots.txt               |   4 +
 src/main/jbake/content/support.mdtext           |  36 +
 src/main/jbake/content/team.mdtext              | 106 +++
 src/main/jbake/content/time-saved.mdtext        | 245 ++++++
 src/main/jbake/content/tomcat-activemq.mdtext   |  53 ++
 src/main/jbake/content/tomcat-cdi.mdtext        |  54 ++
 .../content/tomcat-detailed-instructions.mdtext | 343 ++++++++
 src/main/jbake/content/tomcat-ejb-refs.mdtext   |  29 +
 src/main/jbake/content/tomcat-ejb.mdtext        |   5 +
 .../jbake/content/tomcat-installation.mdtext    | 168 ++++
 src/main/jbake/content/tomcat-java-ee.mdtext    |   5 +
 src/main/jbake/content/tomcat-javaee.mdtext     |   5 +
 src/main/jbake/content/tomcat-jaxrs.mdtext      |   5 +
 src/main/jbake/content/tomcat-jaxws.mdtext      |   5 +
 src/main/jbake/content/tomcat-jms.mdtext        |  53 ++
 src/main/jbake/content/tomcat-jpa.mdtext        |  59 ++
 src/main/jbake/content/tomcat-jsf.mdtext        |   5 +
 .../jbake/content/tomcat-object-factory.mdtext  |  12 +
 src/main/jbake/content/tomcat.mdtext            | 144 ++++
 .../jbake/content/tomee-1.0.0-beta-1.mdtext     |  53 ++
 .../content/tomee-1.5.0-release-notes.mdtext    | 290 +++++++
 src/main/jbake/content/tomee-1.5.0.mdtext       |  23 +
 .../content/tomee-1.5.1-release-notes.mdtext    | 430 +++++++++
 src/main/jbake/content/tomee-1.5.1.mdtext       |   7 +
 .../content/tomee-1.6.0.1-release-notes.mdtext  |  40 +
 src/main/jbake/content/tomee-1.6.0.1.mdtext     |  26 +
 .../content/tomee-1.6.0.2-release-notes.mdtext  |  34 +
 src/main/jbake/content/tomee-1.6.0.2.mdtext     |  17 +
 .../content/tomee-1.7.0-release-notes.mdtext    | 861 +++++++++++++++++++
 src/main/jbake/content/tomee-1.7.0.mdtext       |  58 ++
 .../content/tomee-1.7.1-release-notes.mdtext    |  67 ++
 src/main/jbake/content/tomee-1.7.1.mdtext       |  49 ++
 .../content/tomee-1.7.2-release-notes.mdtext    | 162 ++++
 src/main/jbake/content/tomee-1.7.2.mdtext       |  42 +
 .../content/tomee-1.7.3-release-notes.mdtext    |  82 ++
 src/main/jbake/content/tomee-1.7.3.mdtext       |  43 +
 .../content/tomee-1.7.4-release-notes.html      |  20 +
 src/main/jbake/content/tomee-1.7.4.mdtext       |  43 +
 .../content/tomee-7.0.0-M1-release-notes.mdtext | 529 ++++++++++++
 src/main/jbake/content/tomee-7.0.0-M1.mdtext    |  41 +
 .../content/tomee-7.0.0-M2-release-notes.mdtext | 138 +++
 src/main/jbake/content/tomee-7.0.0-M2.mdtext    |  41 +
 .../content/tomee-7.0.0-M3-release-notes.mdtext |  17 +
 src/main/jbake/content/tomee-7.0.0-M3.mdtext    |  41 +
 .../content/tomee-7.0.0-release-notes.mdtext    | 281 ++++++
 .../content/tomee-7.0.1-release-notes.mdtext    |  93 ++
 src/main/jbake/content/tomee-7.0.1.mdtext       |  40 +
 .../content/tomee-7.0.2-release-notes.mdtext    | 200 +++++
 src/main/jbake/content/webadmin.mdtext          | 169 ++++
 src/main/jbake/content/webobjects.mdtext        |   7 +
 187 files changed, 11091 insertions(+), 4327 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/admin/cluster/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/admin/cluster/index.adoc b/src/main/jbake/content/admin/cluster/index.adoc
deleted file mode 100755
index 82caad7..0000000
--- a/src/main/jbake/content/admin/cluster/index.adoc
+++ /dev/null
@@ -1,227 +0,0 @@
-== Clustering and High Availability (HA)
-
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-
-=== Session clustering
-
-TomEE fully relies on Tomcat clustering: https://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html[Tomcat Clustering].
-
-The configuration is mainly in `conf/server.xml` and since TomEE 7 CDI `@SessionScoped` is transparently clustered
-through the session.
-
-=== Hazelcast as session provider
-
-Hazelcast did a post on this topic on https://hazelcast.com/use-cases/web-session-clustering/session-clustering-tomee/[Session Clustering With TomEE].
-
-Tomitribe also demonstrated you can distributed `@Stateful` beans easily relying on hazelcast: https://github.com/tomitribe/hazelcast-tomee-poc[Hazelcast TomEE PoC].
-
-=== Load balancing
-
-TomEE being a HTTP server all HTTP load balancer such as HTTPd (a.k.a. Apache2), ngnix, F5 etc... will work.
-
-More documentation on HTTPd link can be found on https://tomcat.apache.org/connectors-doc/webserver_howto/apache.html[Tomcat] website.
-
-=== EJBd
-
-If you use the EJBd protocol (`@Remote` EJB proprietary protocol of TomEE) you can get cluster features on the client
-part.
-
-==== Multicast
-
-Multicast is the preferred way to broadcast the heartbeat on the network. The simple technique of broadcasting a non-changing service URI on the network has specific advantages to multicast. The URI itself is essentially stateless and there is no "i'm alive" URI or an "i'm dead" URI.
-
-In this way the issues with UDP being unordered and unreliable melt away as state is no longer a concern and packet sizes are always small. Complicated libraries that ride atop UDP and attempt to offer reliability (retransmission) and ordering on UDP can be avoided. As well the advantages UDP has over TCP are retained as there are no java layers attempting to force UDP communication to be more TCP-like. The simple design means UDP/Multicast is only used for discovery and from there on out critical information is transmitted over TCP/IP which is obviously going to do a better job at ensuring reliability and ordering.
-
-===== Server Configuration
-
-When you boot the server there should be a conf/multicast.properties file containing:
-
-[source,bash]
-----
-server      = org.apache.openejb.server.discovery.MulticastDiscoveryAgent
-bind        = 239.255.2.3
-port        = 6142
-disabled    = true
-group       = default
-----
-
-Just need to enable that by setting disabled=false. All of the above settings except server can be changed. The port and bind must be valid for general multicast/udp network communication.
-
-The group setting can be changed to further group servers that may use the same multicast channel. As shown below the client also has a group setting which can be used to select an appropriate server from the multicast channel.
-
-IMPORTANT: for multicast to work you need to have ejbd activated as a normal service. This can be done setting in `conf/system.properties` the entry: `openejb.service.manager.class = org.apache.openejb.server.SimpleServiceManager`.
-
-===== Multicast Client
-
-The multicast functionality is not just for servers to find each other in a cluster, it can also be used for EJB clients to discover a server. A special multicast:// URL can be used in the InitialContext properties to signify that multicast should be used to seed the connection process. Such as:
-
-[source,java]
-----
-Properties p = new Properties();
-p.put(Context.INITIAL_CONTEXT_FACTORY,
-"org.apache.openejb.client.RemoteInitialContextFactory");
-p.put(Context.PROVIDER_URL, "multicast://239.255.2.3:6142?group=default");
-InitialContext remoteContext = new InitialContext(p);
-----
-
-The URL has optional query parameters such as schemes and group and timeout which allow you to zero in on a particular type of service of a particular cluster group as well as set how long you are willing to wait in the discovery process till finally giving up. The first matching service that it sees "flowing" around on the UDP stream is the one it picks and sticks to for that and subsequent requests, ensuring UDP is only used when there are no other servers to talk to.
-
-Note that EJB clients do not need to use multicast to find a server. If the client knows the URL of a server in the cluster, it may use it and connect directly to that server, at which point that server will share the full list of its peers.
-
-===== Multicast Servers with TCP Clients
-
-Note that clients do not need to use multicast to communicate with servers. Servers can use multicast to discover each other, but clients are still free to connect to servers in the network using the server's TCP address.
-
-[source,java]
-----
-Properties p = new Properties();
-p.put(Context.INITIAL_CONTEXT_FACTORY,  "org.apache.openejb.client.RemoteInitialContextFactory");
-p.put(Context.PROVIDER_URL, "ejbd://192.168.1.30:4201");
-InitialContext remoteContext = new InitialContext(p);
-When the client connects, the server will send the URLs of all the servers in the group and failover will take place normally.
-----
-
-==== Multipulse
-
-MultiPulse is an alternative multicast lookup that does not use a regular heartbeat. Instead, servers listen for a multicast request packet (a pulse) to which a response is then sent. Multicast network traffic is effectively reduced to an absolute minimum.
-
-MultiPulse is only useful in network scenarios where both client and server can be configured to send multicast UDP packets.
-
-===== Server Configuration
-
-After you boot the server for the first time the default configuration will create the file conf/conf.d/multipulse.properties containing:
-
-[source,bash]
-----
-server      = org.apache.openejb.server.discovery.MulticastPulseAgent
-bind        = 239.255.2.3
-port        = 6142
-disabled    = true
-group       = default
-----
-
-You just need to enable the agent by setting disabled = false. It is advisable to disable multicast in the multicast.properties file, or at least to use a different bind address or port should you wish to use both.
-
-All of the above settings except server can be modified as required. The port and bind must be valid for general multicast/udp network communication.
-
-The group setting can be changed to further group/cluster servers that may use the same multicast channel. As shown below the client also has an optional group setting which can be used to select an appropriate server cluster from the multicast channel (See MultiPulse Client).
-
-The next step is to ensure that the advertised services are configured for discovery. Edit the ejbd.properties file (and any other enabled services such as http, etc.) and ensure that the discovery option is set to a value that remote clients will be able to resolve.
-
-[source,bash]
-----
-server      = org.apache.openejb.server.ejbd.EjbServer
-bind        = 0.0.0.0
-port        = 4201
-disabled    = false
-threads     = 20
-discovery   = ejb:ejbd://{bind}:{port}
-----
-
-NOTE: If either 0.0.0.0 (IPv4) or [::] (IPv6) wildcard bind addresses are used then the server will actually broadcast all of it's known public hosts to clients. Clients will then cycle though and attempt to connect to the provided hosts until successful.
-
-If localhost is used then only clients on the same physical machine will actually 'see' the server response.
-
-===== MultiPulse Client
-
-The multipulse functionality is not just for servers to find each other in a cluster, it can also be used for EJB clients to discover a server. A special multipulse:// URL can be used in the InitialContext properties to signify that multipulse should be used to seed the connection process. Such as:
-
-[source,java]
-----
-Properties p = new Properties();
-p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
-p.put(Context.PROVIDER_URL, "multipulse://239.255.2.3:6142?group=default&timeout=250");
-InitialContext remoteContext = new InitialContext(p);
-----
-
-The URL has optional query parameters such as schemes and group and timeout which allow you to zero in on a particular type of service of a particular cluster group as well as set how long you are willing to wait in the discovery process till finally giving up. The first matching service that it sees "flowing" around on the UDP stream is the one it picks and sticks to for that and subsequent requests, ensuring UDP is only used when there are no other servers to talk to.
-
-Note that EJB clients do not need to use multipulse to find a server. If the client knows the URL of a server in the cluster, it may use it and connect directly to that server, at which point that server will share the full list of its peers.
-
-Multicast Servers with TCP Clients
-
-Note that clients do not need to use multipulse to communicate with servers. Servers can use multicast to discover each other, but clients are still free to connect to servers in the network using the server's TCP address.
-[source,java]
-----
-Properties p = new Properties();
-p.put(Context.INITIAL_CONTEXT_FACTORY,  "org.apache.openejb.client.RemoteInitialContextFactory");
-p.put(Context.PROVIDER_URL, "ejbd://192.168.1.30:4201");
-InitialContext remoteContext = new InitialContext(p);
-----
-
-When the client connects, the server will send the URLs of all the servers in the group and failover will take place normally.
-
-==== Multipoint
-
-As TCP has no real broadcast functionality to speak of, communication of who is in the network is achieved by each server having a physical connection to each other server in the network.
-
-To join the network, the server must be configured to know the address of at least one server in the network and connect to it. When it does both servers will exchange the full list of all the other servers each knows about. Each server will then connect to any new servers they've just learned about and repeat the processes with those new servers. The end result is that everyone has a direct connection to everyone 100% of the time, hence the made-up term "multipoint" to describe this situation of each server having multiple point-to-point connections which create a fully connected graph.
-
-On the client side things are similar. It needs to know the address of at least one server in the network and be able to connect to it. When it does it will get the full (and dynamically maintained) list of every server in the network. The client doesn't connect to each of those servers immediately, but rather consults the list in the event of a failover, using it to decide who to connect to next.
-
-The entire process is essentially the art of using a statically maintained list to bootstrap getting the more valuable dynamically maintained list.
-
-===== Server Configuration
-
-In the server this list can be specified via the conf/multipoint.properties file like so:
-
-[source,bash]
-----
-server      = org.apache.openejb.server.discovery.MultipointDiscoveryAgent
-bind        = 127.0.0.1
-port        = 4212
-disabled    = false
-initialServers = 192.168.1.20:4212, 192.168.1.30:4212, 192.168.1.40:4212
-----
-
-The above configuration shows the server has an port 4212 open for connections by other servers for multipoint communication. The initialServers list should be a comma separated list of other similar servers on the network. Only one of the servers listed is required to be running when this server starts up -- it is not required to list all servers in the network.
-
-===== Client Configuration
-
-Configuration in the client is similar, but note that EJB clients do not participate directly in multipoint communication and do not connect to the multipoint port. The server list is simply a list of the regular ejbd:// urls that a client normally uses to connect to a server.
-
-[source,java]
-----
-Properties p = new Properties();
-p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
-p.put(Context.PROVIDER_URL, "failover:ejbd://192.168.1.20:4201,ejbd://192.168.1.30:4201");
-InitialContext remoteContext = new InitialContext(p);
-----
-
-Failover can work entirely driven by the server, the client does not need to be configured to participate. A client can connect as usual to the server.
-
-[source,java]
-----
-Properties p = new Properties();
-p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
-p.put(Context.PROVIDER_URL, "ejbd://192.168.1.20:4201");
-InitialContext remoteContext = new InitialContext(p);
-----
-
-If the server at 192.168.1.20:4201 supports failover, so will the client.
-
-In this scenario the list of servers used for failover is supplied entirely by the server at 192.168.1.20:4201. The server could have aquired the list via multicast or multipoint (or both), but this detail is not visible to the client.
-
-===== Considerations
-
-====== Network size
-
-The general disadvantage of this topology is the number of connections required. The number of connections for the network of servers is equal to (n * n - n) / 2, where n is the number of servers. For example, with 5 servers you need 10 connections, with 10 servers you need 45 connections, and with 50 servers you need 1225 connections. This is of course the number of connections across the entire network, each individual server only needs n - 1 connections.
-
-The handling of these sockets is all asynchronous Java NIO code which allows the server to handle many connections (all of them) with one thread. From a pure threading perspective, the option is extremely efficient with just one thread to listen and broadcast to many peers.
-
-====== Double connect
-
-It is possible in this process that two servers learn of each other at the same time and each attempts to connect to the other simultaneously, resulting in two connections between the same two servers. When this happens both servers will detect the extra connection and one of the connections will be dropped and one will be kept. In practice this race condition rarely happens and can be avoided almost entirely by fanning out server startup by as little as 100 milliseconds.
-
-===== Recommandation
-
-As mentioned the initialServers is only used for bootstrapping the multipoint network. Once running, all servers will dynamically establish direct connections with each other and there is no single point of failure.
-
-However to ensure that the bootstrapping process can occur successfully, the initialServers property of the conf/multipoint.properties file must be set carefully and with a specific server start order in mind. Each server consults its initialServers list exactly once in the bootstrapping phase at startup, after that time connections are made dynamically.
-
-This means that at least one of the servers listed in initialServers must already be running when the server starts or the server might never become introduced and connected to all the other servers in the network.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/admin/configuration/application.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/admin/configuration/application.adoc b/src/main/jbake/content/admin/configuration/application.adoc
deleted file mode 100755
index be43cd2..0000000
--- a/src/main/jbake/content/admin/configuration/application.adoc
+++ /dev/null
@@ -1,100 +0,0 @@
-= Application Configuration
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-=== `application.properties`
-
-This file is located in `WEB-INF` for a war and `META-INF` for an ear.
-
-==== `@Asynchronous` configuration
-
-Default pool size for `@Asynchronous` is 5. It can be very small for some applications highly relying on
-asynchronism or reactive patterns. Therefore it is possible to customize it adding these entries in `application.properties`:
-
-[.table.table-bordered,options="header"]
-|===
-| Name | Default| Description
-| AsynchronousPool.Size | 5 | Core size of the pool
-| AsynchronousPool.CorePoolSize | 5 | Core size of the pool (inherit its default from .Size alias)
-| AsynchronousPool.MaximumPoolSize | 5 | Maximum size of the pool
-| AsynchronousPool.QueueSize | 5 | Maximum size of the pool
-| AsynchronousPool.KeepAliveTime | 1 minute | Thread keep alive duration
-| AsynchronousPool.AllowCoreThreadTimeOut | true | Should thread timeout
-| AsynchronousPool.QueueType | LINKED (or SYNCHRONOUS if size == 0) | The type of queue of the pool in ARRAY, LINKED, PRIORITY or SYNCHRONOUS (same behavior as java implementations of the same name)
-| AsynchronousPool.ShutdownWaitDuration | 1 minute | How many time to wait for the pool to shutdown when undeploying the application
-| AsynchronousPool.RejectedExecutionHandlerClass | - | A fully qualified name of a `java.util.concurrent.RejectedExecutionHandler`
-|===
-
-==== TimerService and `@Scheduled`
-
-`timerStore.class` allows to switch from the in memory (`org.apache.openejb.core.timer.MemoryTimerStore`) timer storage
-for quartz tasks to a custom implementation (using a database or anything for instance). Constructor can take a `TransactionManager`
-or nothing.
-
-All quartz properties prefixed with `org.apache.openejb.quartz.` (instead of `org.quartz.`) are passthrough to quartz.
-
-==== CDI
-
-The boolean `openejb.cdi.skip-resource-validation` allows to not validate resources ie `@EJB` and `@Resource` usages in CDI beans.
-
-All properties understood by OpenWebBeans will also be passthrough to OpenWebBeans from this location, see http://openwebbeans.apache.org/owbconfig.html[OWB config] for more details.
-
-==== `@WebServiceRef`
-
-[.table.table-bordered,options="header"]
-|===
-| Name | Description
-| cxf.jaxws.client.wsFeatures | Allows to set WSFeature on the client injection. Values is a list (comma separated) of resource id in resources.xml or fully qualified names.
-|===
-
-==== `@Stateless`
-
-[.table.table-bordered,options="header"]
-|===
-| Name | Description
-| AccessTimeout or Timeout | container timeout
-| CloseTimeout | container timeout
-| BackgroundStartup | Don't create instances in parallel if minimum count is > 0, default to false
-|===
-
-=== `resources.xml`
-
-`resources.xml` is a tomee.xml using application classloader.
-
-As `tomee.xml` it supports filtering so you can use environment variables and system properties, for instance
-to use a MySQL database on OpenShift you can do:
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<resources>
-  <Resource id="MySQL" aliases="myAppDataSourceName" type="DataSource">
-    JdbcDriver = com.mysql.jdbc.Driver
-    JdbcUrl = jdbc:mysql://${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT}/rmannibucau?tcpKeepAlive=true
-    UserName = ${OPENSHIFT_MYSQL_DB_USERNAME}
-    Password = ${OPENSHIFT_MYSQL_DB_PASSWORD}
-    ValidationQuery = SELECT 1
-    ValidationInterval = 30000
-    NumTestsPerEvictionRun = 5
-    TimeBetweenEvictionRuns = 30 seconds
-    TestWhileIdle = true
-    MaxActive = 200
-  </Resource>
-</resources>
-----
-
-`resources.xml` supports `Resource`, `Service` and `Container`.
-
-==== `resources.xml` mecanism
-
-`resources.xml` resources are still available globally like any `tomee.xml` resource.
-
-The actual resource is bound in an application subtree called with the application name and a resource facade is bound
-in the global naming tree to be able to route the requests depending the application.
-
-Typically if your application is named `myapp` and your resource id is `myresource` then instead of being registered
-as `myresource`, it will get registered as `myapp/myresource`.
-
-If you get any ambiguity in resource name matching try to fully qualified your resource prefixing it with the application name.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/admin/configuration/containers.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/admin/configuration/containers.adoc b/src/main/jbake/content/admin/configuration/containers.adoc
deleted file mode 100755
index 3d86272..0000000
--- a/src/main/jbake/content/admin/configuration/containers.adoc
+++ /dev/null
@@ -1,585 +0,0 @@
-= Resources
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-All containers will be created automatically - which means you don't need to define them
-if you don't need to tune their configuration - when a bean of their type if found.
-
-To avoid that use `openejb.offline` property and set it to `true`. See link:server.html[Server Configuration] for more detail.
-
-=== @Stateless
-
-A `@Stateless` container.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Container id="Foo" type="STATELESS">
-    AccessTimeout = 30 seconds
-    MaxSize = 10
-    MinSize = 0
-    StrictPooling = true
-    MaxAge = 0 hours
-    ReplaceAged = true
-    ReplaceFlushed = false
-    MaxAgeOffset = -1
-    IdleTimeout = 0 minutes
-    GarbageCollection = false
-    SweepInterval = 5 minutes
-    CallbackThreads = 5
-    CloseTimeout = 5 minutes
-    UseOneSchedulerThreadByBean = false
-    EvictionThreads = 1
-</Container>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Container?type=STATELESS
-Foo.AccessTimeout = 30 seconds
-Foo.MaxSize = 10
-Foo.MinSize = 0
-Foo.StrictPooling = true
-Foo.MaxAge = 0 hours
-Foo.ReplaceAged = true
-Foo.ReplaceFlushed = false
-Foo.MaxAgeOffset = -1
-Foo.IdleTimeout = 0 minutes
-Foo.GarbageCollection = false
-Foo.SweepInterval = 5 minutes
-Foo.CallbackThreads = 5
-Foo.CloseTimeout = 5 minutes
-Foo.UseOneSchedulerThreadByBean = false
-Foo.EvictionThreads = 1
-----
-
-==== Configuration
-
-===== AccessTimeout
-
-Specifies the time an invokation should wait for an instance
-of the pool to become available.
-
-After the timeout is reached, if an instance in the pool cannot
-be obtained, the method invocation will fail.
-
-Usable time units: nanoseconds, microsecons, milliseconds,
-seconds, minutes, hours, days.  Or any combination such as
-"1 hour and 27 minutes and 10 seconds"
-
-Any usage of the `javax.ejb.AccessTimeout` annotation will
-override this setting for the bean or method where the
-annotation is used.
-
-===== MaxSize
-
-Specifies the size of the bean pools for this stateless
-SessionBean container.  If StrictPooling is not used, instances
-will still be created beyond this number if there is demand, but
-they will not be returned to the pool and instead will be
-immediately destroyed.
-
-===== MinSize
-
-Specifies the minimum number of bean instances that should be in
-the pool for each bean.  Pools are prefilled to the minimum on
-startup.  Note this will create start order dependencies between
-other beans that also eagerly start, such as other `@Stateless`
-beans with a minimum or `@Singleton` beans using `@Startup`.  The
-start order.
-
-The minimum pool size is rigidly maintained.  Instances in the
-minimum side of the pool are not eligible for `IdleTimeout` or
-`GarbageCollection`, but are subject to `MaxAge` and flushing.
-
-If the pool is flushed it is immediately refilled to the minimum
-size with `MaxAgeOffset` applied.  If an instance from the minimum
-side of the pool reaches its `MaxAge`, it is also immediately
-replaced.  Replacement is done in a background queue using the
-number of threads specified by `CallbackThreads`.
-
-===== StrictPooling
-
-StrictPooling tells the container what to do when the pool
-reaches it's maximum size and there are incoming requests that
-need instances.
-
-With strict pooling, requests will have to wait for instances to
-become available. The pool size will never grow beyond the the
-set `MaxSize` value.  The maximum amount of time a request should
-wait is specified via the `AccessTimeout` setting.
-
-Without strict pooling, the container will create temporary
-instances to meet demand. The instances will last for just one
-method invocation and then are removed.
-
-Setting `StrictPooling` to `false` and `MaxSize` to `0` will result in
-no pooling. Instead instances will be created on demand and live
-for exactly one method call before being removed.
-
-===== MaxAge
-
-Specifies the maximum time that an instance should live before
-it should be retired and removed from use.  This will happen
-gracefully.  Useful for situations where bean instances are
-designed to hold potentially expensive resources such as memory
-or file handles and need to be periodically cleared out.
-
-Usable time units: nanoseconds, microsecons, milliseconds,
-seconds, minutes, hours, days.  Or any combination such as
-`1 hour and 27 minutes and 10 seconds`
-
-===== ReplaceAged
-
-When `ReplaceAged` is enabled, any instances in the pool that
-expire due to reaching their `MaxAge` will be replaced immediately
-so that the pool will remain at its current size.  Replacement
-is done in a background queue so that incoming threads will not
-have to wait for instance creation.
-
-The aim of his option is to prevent user requests from paying
-the instance creation cost as `MaxAge` is enforced, potentially
-while under heavy load at peak hours.
-
-Instances from the minimum side of the pool are always replaced
-when they reach their `MaxAge`, this setting dictates the
-treatment of non-minimum instances.
-
-===== ReplaceFlushed
-
-When `ReplaceFlushed` is enabled, any instances in the pool that
-are flushed will be replaced immediately so that the pool will
-remain at its current size.  Replacement is done in a background
-queue so that incoming threads will not have to wait for
-instance creation.
-
-The aim of his option is to prevent user requests from paying
-the instance creation cost if a flush performed while under
-heavy load at peak hours.
-
-Instances from the minimum side of the pool are always replaced
-when they are flushed, this setting dictates the treatment of
-non-minimum instances.
-
-A bean may flush its pool by casting the `SessionContext` to
-`Flushable` and calling `flush()`.  See `SweepInterval` for details on
-how flush is performed.
-
-[source,java]
-----
-import javax.annotation.Resource;
-import javax.ejb.SessionContext;
-import javax.ejb.Stateless;
-import java.io.Flushable;
-import java.io.IOException;
-
-public class MyBean {
-
-    private SessionContext sessionContext;
-
-    public void flush() throws IOException {
-
-        ((Flushable) sessionContext).flush();
-    }
-}
-----
-
-===== MaxAgeOffset
-
-Applies to MaxAge usage and would rarely be changed, but is a
-nice feature to understand.
-
-When the container first starts and the pool is filled to the
-minimum size, all those "minimum" instances will have the same
-creation time and therefore all expire at the same time dictated
-by the `MaxAge` setting.  To protect against this sudden drop
-scenario and provide a more gradual expiration from the start
-the container will spread out the age of the instances that fill
-the pool to the minimum using an offset.
-
-The `MaxAgeOffset` is not the final value of the offset, but
-rather it is used in creating the offset and allows the
-spreading to push the initial ages into the future or into the
-past.  The pool is filled at startup as follows:
-
-[source,java]
-----
-for (int i = 0; i < poolMin; i++) {
-    long ageOffset = (maxAge / poolMin * i * maxAgeOffset) % maxAge;
-    pool.add(new Bean(), ageOffset));
-}
-----
-
-The default `MaxAgeOffset` is -1 which causes the initial
-instances in the pool to live a bit longer before expiring.  As
-a concrete example, let's say the MinSize is 4 and the MaxAge is
-100 years.  The generated offsets for the four instances created
-at startup would be 0, -25, -50, -75.  So the first instance
-would be "born" at age 0, die at 100, living 100 years.  The
-second instance would be born at -25, die at 100, living a total
-of 125 years.  The third would live 150 years.  The fourth 175
-years.
-
-A `MaxAgeOffset` of 1 would cause instances to be "born" older
-and therefore die sooner.  Using the same example `MinSize` of 4
-and `MaxAge` of `100 years`, the life spans of these initial four
-instances would be 100, 75, 50, and 25 years respectively.
-
-A `MaxAgeOffset` of 0 will cause no "spreading" of the age of the
-first instances used to fill the pool to the minimum and these
-instances will of course reach their MaxAge at the same time.
-It is possible to set to decimal values such as -0.5, 0.5, -1.2,
-or 1.2.
-
-===== IdleTimeout
-
-Specifies the maximum time that an instance should be allowed to
-sit idly in the pool without use before it should be retired and
-removed.
-
-Usable time units: nanoseconds, microsecons, milliseconds,
-seconds, minutes, hours, days.  Or any combination such as
-"1 hour and 27 minutes and 10 seconds"
-
-===== GarbageCollection
-
-Allows Garbage Collection to be used as a mechanism for shrinking
-the pool.  When set to true all instances in the pool, excluding
-the minimum, are eligible for garbage collection by the virtual
-machine as per the rules of `java.lang.ref.SoftReference` and can be
-claimed by the JVM to free memory.  Instances garbage collected
-will have their `@PreDestroy` methods called during finalization.
-
-In the OpenJDK VM the `-XX:SoftRefLRUPolicyMSPerMB` flag can adjust
-how aggressively SoftReferences are collected.  The default
-OpenJDK setting is 1000, resulting in inactive pooled instances
-living one second of lifetime per free megabyte in the heap, which
-is very aggressive.  The setting should be increased to get the
-most out of the `GarbageCollection` feature of the pool.  Much
-higher settings are safe.  Even a setting as high as 3600000 (1
-hour per free MB in the heap) does not affect the ability for the
-VM to garbage collect SoftReferences in the event that memory is
-needed to avoid an `OutOfMemoryException`.
-
-===== SweepInterval
-
-The frequency in which the container will sweep the pool and
-evict expired instances.  Eviction is how the `IdleTimeout`,
-`MaxAge`, and pool "flush" functionality is enforced.  Higher
-intervals are better.
-
-Instances in use are excluded from sweeping.  Should an instance
-expire while in use it will be evicted immediately upon return
-to the pool.  Effectively `MaxAge` and flushes will be enforced as
-a part of normal activity or sweeping, while IdleTimeout is only
-enforcable via sweeping.  This makes aggressive sweeping less
-important for a pool under moderate load.
-
-Usable time units: nanoseconds, microsecons, milliseconds,
-seconds, minutes, hours, days.  Or any combination such as
-`1 hour and 27 minutes and 10 seconds`
-
-===== CallbackThreads
-
-When sweeping the pool for expired instances a thread pool is
-used to process calling `@PreDestroy` on expired instances as well
-as creating new instances as might be required to fill the pool
-to the minimum after a Flush or `MaxAge` expiration.  The
-`CallbackThreads` setting dictates the size of the thread pool and
-is shared by all beans deployed in the container.
-
-===== CloseTimeout
-
-PostConstruct methods are invoked on all instances in the pool
-when the bean is undeployed and its pool is closed.  The
-`CloseTimeout` specifies the maximum time to wait for the pool to
-close and `PostConstruct` methods to be invoked.
-
-Usable time units: nanoseconds, microsecons, milliseconds,
-seconds, minutes, hours, days.  Or any combination such as
-`1 hour and 27 minutes and 10 seconds`
-
-===== UseOneSchedulerThreadByBean
-
-back to previous behavior (TomEE 1.x) where 1 scheduler thread was used for stateless eviction
-by bean (ie for 500 stateless beans you get 500 eviction threads)
-
-===== EvictionThreads
-
-number of threads to associate to eviction threads (1 is not bad for most applications)
-
-
-=== @Stateful
-
-A `@Stateful` container.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Container id="Foo" type="STATEFUL">
-    AccessTimeout = 30 seconds
-    Cache = org.apache.openejb.core.stateful.SimpleCache
-    Passivator = org.apache.openejb.core.stateful.SimplePassivater
-    TimeOut = 20
-    Frequency = 60
-    Capacity = 1000
-    BulkPassivate = 100
-</Container>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Container?type=STATEFUL
-Foo.AccessTimeout = 30 seconds
-Foo.Cache = org.apache.openejb.core.stateful.SimpleCache
-Foo.Passivator = org.apache.openejb.core.stateful.SimplePassivater
-Foo.TimeOut = 20
-Foo.Frequency = 60
-Foo.Capacity = 1000
-Foo.BulkPassivate = 100
-----
-
-==== Configuration
-
-===== AccessTimeout
-
-Specifies the maximum time an invocation could wait for the
-`@Stateful` bean instance to become available before giving up.
-
-After the timeout is reached a `javax.ejb.ConcurrentAccessTimeoutException`
-will be thrown.
-
-Usable time units: nanoseconds, microsecons, milliseconds,
-seconds, minutes, hours, days.  Or any combination such as
-"1 hour and 27 minutes and 10 seconds"
-
-Any usage of the `javax.ejb.AccessTimeout` annotation will
-override this setting for the bean or method where the
-annotation is used.
-
-===== Cache
-
-The cache is responsible for managing stateful bean
-instances.  The cache can page instances to disk as memory
-is filled and can destroy abandoned instances.  A different
-cache implementation can be used by setting this property
-to the fully qualified class name of the Cache implementation.
-
-===== Passivator
-
-The passivator is responsible for writing beans to disk
-at passivation time. Different passivators can be used
-by setting this property to the fully qualified class name
-of the `PassivationStrategy` implementation. The passivator
-is not responsible for invoking any callbacks or other
-processing, its only responsibly is to write the bean state
-to disk.
-
-Known implementations:
-
-- org.apache.openejb.core.stateful.RAFPassivater
-- org.apache.openejb.core.stateful.SimplePassivater
-
-===== TimeOut
-
-Specifies the time a bean can be idle before it is removed by the container.
-
-This value is measured in minutes. A value of 5 would
-result in a time-out of 5 minutes between invocations.
-A value of -1 would mean no timeout.
-A value of 0 would mean a bean can be immediately removed by the container.
-
-Any usage of the `javax.ejb.StatefulTimeout` annotation will
-override this setting for the bean where the annotation is used.
-
-===== Frequency
-
-Specifies the frequency (in seconds) at which the bean cache is checked for
-idle beans.
-
-===== Capacity
-
-Specifies the size of the bean pools for this
-stateful SessionBean container.
-
-===== BulkPassivate
-
-Property name that specifies the number of instances
-to passivate at one time when doing bulk passivation.
-
-
-=== @Singleton
-
-A `@Singleton` container.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Container id="Foo" type="SINGLETON">
-    AccessTimeout = 30 seconds
-</Container>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Container?type=SINGLETON
-Foo.AccessTimeout = 30 seconds
-----
-
-==== Configuration
-
-===== AccessTimeout
-
-Specifies the maximum time an invocation could wait for the
-`@Singleton` bean instance to become available before giving up.
-
-After the timeout is reached a `javax.ejb.ConcurrentAccessTimeoutException`
-will be thrown.
-
-Usable time units: nanoseconds, microsecons, milliseconds,
-seconds, minutes, hours, days.  Or any combination such as
-`1 hour and 27 minutes and 10 seconds`
-
-Any usage of the `javax.ejb.AccessTimeout` annotation will
-override this setting for the bean or method where the
-annotation is used.
-
-
-=== @MessageDriven
-
-A MDB container.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Container id="Foo" type="MESSAGE">
-    ResourceAdapter = Default JMS Resource Adapter
-    MessageListenerInterface = javax.jms.MessageListener
-    ActivationSpecClass = org.apache.activemq.ra.ActiveMQActivationSpec
-    InstanceLimit = 10
-    FailOnUnknowActivationSpec = true
-</Container>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Container?type=MESSAGE
-Foo.ResourceAdapter = Default JMS Resource Adapter
-Foo.MessageListenerInterface = javax.jms.MessageListener
-Foo.ActivationSpecClass = org.apache.activemq.ra.ActiveMQActivationSpec
-Foo.InstanceLimit = 10
-Foo.FailOnUnknowActivationSpec = true
-----
-
-==== Configuration
-
-===== ResourceAdapter
-
-The resource adapter delivers messages to the container
-
-===== MessageListenerInterface
-
-Specifies the message listener interface handled by this container
-
-===== ActivationSpecClass
-
-Specifies the activation spec class
-
-===== InstanceLimit
-
-Specifies the maximum number of bean instances that are
-allowed to exist for each MDB deployment.
-
-===== FailOnUnknowActivationSpec
-
-Log a warning if true or throw an exception if false is an activation spec can't be respected
-
-
-=== @Managed
-
-A managed bean container.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Container id="Foo" type="MANAGED" />
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Container?type=MANAGED
-----
-
-
-=== CMP entity
-
-A CMP bean container.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Container id="Foo" type="CMP_ENTITY">
-    CmpEngineFactory = org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory
-</Container>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Container?type=CMP_ENTITY
-Foo.CmpEngineFactory = org.apache.openejb.core.cmp.jpa.JpaCmpEngineFactory
-----
-
-==== Configuration
-
-===== CmpEngineFactory
-
-The engine to use for this container. By default TomEE only provides the JPA implementation.
-
-
-=== BMP entity
-
-A BMP entity container.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Container id="Foo" type="BMP_ENTITY">
-    PoolSize = 10
-</Container>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Container?type=BMP_ENTITY
-Foo.PoolSize = 10
-----
-
-==== Configuration
-
-===== PoolSize
-
-Specifies the size of the bean pools for this
-bmp entity container.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/admin/configuration/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/admin/configuration/index.adoc b/src/main/jbake/content/admin/configuration/index.adoc
deleted file mode 100755
index 115d1ba..0000000
--- a/src/main/jbake/content/admin/configuration/index.adoc
+++ /dev/null
@@ -1,24 +0,0 @@
-= Server Configuration
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-=== Container
-
-TomEE specific configuration (ie not inherited one from Tomcat) is based on properties. Therefore
-you can fully configure TomEE using properties in `conf/system.properties`.
-However for convenience it also provides a hybrid XML alternative a.k.a. `conf/tomee.xml`.
-
-- link:server.html[Server Configuration: Properties].
-- link:resources.html[Resources]
-- link:containers.html[Containers]
-
-=== Application
-
-Some settings can be specific to applications, these ones are also properties based and
-are read in `WEB-INF/application.properties`. When you can't use `tomee.xml` to configure
-resources you can use `WEB-INF/resources.xml` which inherit from `tomee.xml` its syntax
-but binds the resources to the application and reuses the application classloader.
-
-More about link:application.html[Container Configuration].

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/admin/configuration/resources.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/admin/configuration/resources.adoc b/src/main/jbake/content/admin/configuration/resources.adoc
deleted file mode 100755
index dc8d84a..0000000
--- a/src/main/jbake/content/admin/configuration/resources.adoc
+++ /dev/null
@@ -1,572 +0,0 @@
-= Resources
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-In TomEE resources are mainly "singleton" (understood as defined once per server or application). Technically
-it can be anything but you will probably meet more Datasources than other type of resources.
-
-
-Most resources will be created automatically if there is no matching resources - by name and type -
-when an injection will be found. To avoid that use `openejb.offline` property and set it to `true`.
-See link:server.html[Server Configuration] for more detail.
-
-=== Definition a resource: how does it work?
-
-Before all let see how properties syntax is equivalent to XML one (system.properties and tomee.xml typically).
-
-Properties syntax uses dot notation to represent setters/properties which are plain properties in XML syntax
-and a URL syntax with query parameters to define the resource where it is directly the resource and tag attributes in XML.
-Finally the id is an attribute in XML and the key of the resource definition in properties.
-
-Let see it with a sample, both delcarations are the same:
-
-[source,bash]
-----
-myDataSource = new://Resource?type=DataSource
-myDataSource.JdbcUrl = jdbc:hsqldb:mem:site
-myDataSource.UserName = sa
-----
-
-[source,xml]
-----
-<Resource id="myDataSource" type="DataSource">
-  JdbcUrl = jdbc:hsqldb:mem:site
-  UserName = sa
-</Resource>
-----
-
-One started you can get injected any resource using `@Resource`:
-
-[source,java]
-----
-@Resource(name = "myDataSource")
-private DataSource dataSource;
-----
-
-=== Factory syntax
-
-Here are the attributes of a resource:
-
-[.table.table-bordered,options="header"]
-|===
-| Name | Optional |Description
-| id | false | name of the resource, will match `openejb:Resource/id` in JNDI tree.
-| provider | true | define a default resource definition using service-jar.xml
-| class-name | true |specify which class to instantiate
-| factory-name | true |specify which method to invoke on the class-name when specified to create the resource
-| properties-provider | true |a class responsible to provide to tomee the properties to use, it can have a property `serviceId` to know which resource it is.
-| classpath | true | a classpath to use to create the resource. Note: if not implementing an interface the resource will be isolated from the applications.
-| aliases | true | other names for the resource, allows for instance to share the same pool for a datasource used with multiple names in applications.
-| post-construct/pre-destroy | true | methods called when creating/destroying the resources.
-| Lazy | true | for resources set them to be created when first accessed and not when deployed
-|===
-
-TomEE supports some implicit properties for resources but sometimes you just want to fully control the
-resource and not use implicit properties which can be affected to a property which doesn't expect such a value (typically the case
-if you create a custom Oracle datasource). For such case you can set `SkipImplicitAttributes` property to `true` and your resource
-will ignore implicit properties.
-
-Implicit properties are:
-
-[.table.table-bordered,options="header"]
-|===
-| Name | Description
-| transactionManager | The JTA transaction manager
-| ServiceId | the "id" of the resource (its name)
-|===
-
-In the same spirit you can skip properties fallback using `SkipPropertiesFallback` and setting it to `true`. It typically avoids to
-fallback all unset properties (no matching property found) to a `Properties` instance and set it if one matching property is found.
-In Oracle case for instance it matches the connection properties which can have side effects.
-
-===== Value ciphering
-
-The propertie values support ciphering using the syntax `cipher:{algorithm}:{cipheredValue}`, for instance `cipher:Static3DES:xMH5uM1V9vQzVUv5LG7YLA==` will
-be read as `Passw0rd`. Ciphers can be computed using `tomee.sh` script: `${tomee.home}/bin/tomee.sh cipher Passw0rd`.
-
-=== Common Resources
-
-==== DataSources
-
-DataSources have defaults for all values and a default datasource can be provided automatically but if you want to
-configure it here are the common properties:
-
-You can set the boolean `JtaManaged` to false if you don't want your datasource to be using JTA - if you manage transactions yourself.
-
-Then other configurations are linked the pool the datasource is using. By default TomEE uses https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html[tomcat-jdbc] but we also provide
-https://commons.apache.org/proper/commons-dbcp/configuration.html[commons-dbcp] (2 for TomEE 7.x and 1 for TomEE 1.x).
-The properties are then the related configurations with these particular
-entries we try to keep in sync for both:
-
-[.table.table-bordered,options="header"]
-|===
-| Name|Description
-| JdbcDriver | the jdbc driver of the datasource
-| JdbcUrl | the jdbc url of the datasource
-| Username | the user to use
-| Password | the password of the user
-|===
-
-===== Password and ciphering
-
-DataSource were the first resource to support password ciphering. Originally it was another property which is still supported.
-It is called `PasswordCipher`. Its value is the ciphering algorithm and it affects the password value. However `cipher:xxx`
-is still supported on `Password` value. Default `PasswordCipher` being `PlainText` it behaves as no ciphering is in place by default.
-
-Sample:
-
-[source,bash]
-----
-ds = new://Resource?type=javax.sql.DataSource
-# our password is "Passw0rd"
-ds.Password = xMH5uM1V9vQzVUv5LG7YLA==
-ds.PasswordCipher = Static3DES
-----
-
-===== Advanced DataSource configuration
-
-TomEE also provides few utilities you can add in DataSource properties:
-
-[.table.table-bordered,options="header"]
-|===
-| Name | Description
-| LogSql | Should SQL be logged (using TomEE logger)
-| LogSqlPackages | if set the logging will show the matching packages (separated by comma) inline when logging the query, allows to know where a query comes from
-| Flushable| if true the datasource can be casted as a Flushable to recreate the pool
-| ResetOnError | if a `SQLException` happens the pool is automatically recreated. Configuration is either "true" to do it each time an exception occurs, `x` or `retry(x)` to do it and retry until maximum `x` times
-| ResetOnErrorMethods | which methods are handled by ResetOnError
-| TomEEProxyHandler | Custom `InvocationHandler` wrapping the datasource calls
-| DataSourceCreator | which pool to use, `dbcp`, `tomcat`, `dbcp-alternative` (DBCP and TomEE proxying instead of DBCP JTA integration), `simple` (no pooling)
-|===
-
-===== DataSource and JTA
-
-`JtaManaged` determines wether or not this data source should be JTA managed
-or user managed.  If set to 'true' it will automatically be enrolled
-in any ongoing transactions.  Calling begin/commit/rollback or setAutoCommit
-on the datasource or connection will not be allowed.  If you need to perform
-these functions yourself, set `JtaManaged` to `false`
-
-===== DataSource and JPA
-
-In terms of JPA persistence.xml:
-
-- `JtaManaged=true` can be used as a 'jta-data-source'
-- `JtaManaged=false` can be used as a 'non-jta-data-source'
-
-=== ActiveMQResourceAdapter
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Resource id="Foo" type="ActiveMQResourceAdapter">
-    BrokerXmlConfig = broker:(tcp://localhost:61616)?useJmx=false
-    ServerUrl = vm://localhost?waitForStart=20000&async=true
-    DataSource = Default Unmanaged JDBC Database
-    StartupTimeout = 10 seconds
-</Resource>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Resource?type=ActiveMQResourceAdapter
-Foo.BrokerXmlConfig = broker:(tcp://localhost:61616)?useJmx=false
-Foo.ServerUrl = vm://localhost?waitForStart=20000&async=true
-Foo.DataSource = Default Unmanaged JDBC Database
-Foo.StartupTimeout = 10 seconds
-----
-
-==== Configuration
-
-===== BrokerXmlConfig
-
-Broker configuration URI as defined by ActiveMQ
-see http://activemq.apache.org/broker-configuration-uri.html
-BrokerXmlConfig xbean:file:conf/activemq.xml - Requires xbean-spring.jar and dependencies
-
-===== ServerUrl
-
-Broker address
-
-===== DataSource
-
-DataSource for persistence messages
-
-===== StartupTimeout
-
-How long to wait for broker startup
-
-
-=== javax.jms.ConnectionFactory
-
-An ActiveMQ (JMS) connection factory.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Resource id="Foo" type="javax.jms.ConnectionFactory">
-    ResourceAdapter = Default JMS Resource Adapter
-    TransactionSupport = xa
-    PoolMaxSize = 10
-    PoolMinSize = 0
-    ConnectionMaxWaitTime = 5 seconds
-    ConnectionMaxIdleTime = 15 Minutes
-</Resource>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Resource?type=javax.jms.ConnectionFactory
-Foo.ResourceAdapter = Default JMS Resource Adapter
-Foo.TransactionSupport = xa
-Foo.PoolMaxSize = 10
-Foo.PoolMinSize = 0
-Foo.ConnectionMaxWaitTime = 5 seconds
-Foo.ConnectionMaxIdleTime = 15 Minutes
-----
-
-==== Configuration
-
-===== ResourceAdapter
-
-An ActiveMQ (JMS) resource adapter.
-
-===== TransactionSupport
-
-Specifies if the connection is enrolled in global transaction
-allowed values: `xa`, `local` or `none`. Default to `xa`.
-
-===== PoolMaxSize
-
-Maximum number of physical connection to the ActiveMQ broker.
-
-===== PoolMinSize
-
-Minimum number of physical connection to the ActiveMQ broker.
-
-===== ConnectionMaxWaitTime
-
-Maximum amount of time to wait for a connection.
-
-===== ConnectionMaxIdleTime
-
-Maximum amount of time a connection can be idle before being reclaimed.
-
-
-=== javax.jms.Queue
-
-An ActiveMQ (JMS) queue.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Resource id="Foo" type="javax.jms.Queue">
-    # not set means id
-    destination =
-</Resource>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Resource?type=javax.jms.Queue
-# not set means id
-Foo.destination =
-----
-
-==== Configuration
-
-===== destination
-
-Specifies the name of the queue
-
-
-=== javax.jms.Topic
-
-An ActiveMQ (JMS) topic.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Resource id="Foo" type="javax.jms.Topic">
-    # not set means id
-    destination =
-</Resource>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Resource?type=javax.jms.Topic
-# not set means id
-Foo.destination =
-----
-
-==== Configuration
-
-===== destination
-
-Specifies the name of the topic
-
-
-=== org.omg.CORBA.ORB
-
-NOTE: to use it you need to add an implementation of corba.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Resource id="Foo" type="org.omg.CORBA.ORB" />
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Resource?type=org.omg.CORBA.ORB
-----
-
-
-=== javax.mail.Session
-
-A mail session.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Resource id="mail/mysession" type="javax.mail.Session">
-  mail.transport.protocol = smtp
-  mail.smtp.host = smtp.provider.com
-  mail.smtp.auth = true
-  mail.smtp.starttls.enable = true
-  mail.smtp.port = 587
-  mail.smtp.user = user@provider.com
-  password = abcdefghij
-</Resource>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-mail/mysession = new://Resource?type=javax.mail.Session
-mail/mysession.mail.transport.protocol = smtp
-mail/mysession.mail.smtp.host = smtp.provider.com
-mail/mysession.mail.smtp.auth = true
-mail/mysession.mail.smtp.starttls.enable = true
-mail/mysession.mail.smtp.port = 587
-mail/mysession.mail.smtp.user = user@provider.com
-mail/mysession.password = abcdefghij
-----
-
-The properties are `javax.mail.Session` ones with the addition of `useDefault` which specifies if `getDefaultInstance()`
-or `getInstance` is used to create the session. `getDefaultInstance()` will ensure that several calls are done with the
-same configuration and return the same instance. For tomee it is likely better to rely on `getInstance()`(ie keep `useDefault` to false)
-and use `aliases` option of the resource to define an alias if you need to share the same instance accross multiple names.
-
-
-=== ManagedExecutorService
-
-A concurrency utility for EE executor service.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Resource id="Foo" type="ManagedExecutorService">
-    Core = 5
-    Max = 25
-    KeepAlive = 5 s
-    Queue = 15
-    ThreadFactory = org.apache.openejb.threads.impl.ManagedThreadFactoryImpl
-    Lazy = true
-</Resource>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Resource?type=ManagedExecutorService
-Foo.Core = 5
-Foo.Max = 25
-Foo.KeepAlive = 5 s
-Foo.Queue = 15
-Foo.ThreadFactory = org.apache.openejb.threads.impl.ManagedThreadFactoryImpl
-Foo.Lazy = true
-----
-
-==== Configuration
-
-===== Core
-
-The pool core size.
-
-===== Max
-
-The pool max size.
-
-===== KeepAlive
-
-The thread keep alive time (in duration format)
-
-===== Queue
-
-The queue type size.
-
-===== ThreadFactory
-
-The thread factory implementation class.
-
-===== Lazy
-
-If set to true the pool is created when first accessed otherwise it is created at startup.
-
-
-=== ManagedScheduledExecutorService
-
-Inherit from `ManagedExecutorService` and adds scheduling abilities.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Resource id="Foo" type="ManagedScheduledExecutorService">
-    Core = 5
-    ThreadFactory = org.apache.openejb.threads.impl.ManagedThreadFactoryImpl
-    Lazy = true
-</Resource>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Resource?type=ManagedScheduledExecutorService
-Foo.Core = 5
-Foo.ThreadFactory = org.apache.openejb.threads.impl.ManagedThreadFactoryImpl
-Foo.Lazy = true
-----
-
-==== Configuration
-
-See `ManagedExecutorService`.
-
-
-=== ManagedThreadFactory
-
-A thread factory for a `ManagedExecutorService`.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Resource id="Foo" type="ManagedThreadFactory">
-    Prefix = openejb-managed-thread-
-    Lazy = true
-</Resource>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Resource?type=ManagedThreadFactory
-Foo.Prefix = openejb-managed-thread-
-Foo.Lazy = true
-----
-
-==== Configuration
-
-===== Prefix
-
-The thread prefix (suffixed with thread id).
-
-
-
-=== ContextService
-
-A concurrency utilities for JavaEE context service. It allows to create
-contextual proxies (inheriting from security, classloader...contexts).
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Resource id="Foo" type="ContextService" />
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Resource?type=ContextService
-----
-
-
-=== JndiProvider: inject remote clients
-
-A thread factory for a `ManagedExecutorService`.
-Default implementation is `org.apache.openejb.threads.impl.ManagedThreadFactoryImpl`.
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Resource id="Foo" type="ManagedThreadFactory">
-    Prefix = openejb-managed-thread-
-    Lazy = true
-</Resource>
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Resource?type=ManagedThreadFactory
-Foo.Prefix = openejb-managed-thread-
-Foo.Lazy = true
-----
-
-==== Configuration
-
-===== Prefix
-
-The thread prefix (suffixed with thread id).
-
-
-
-=== ContextService
-
-A concurrency utilities for JavaEE context service. It allows to create
-contextual proxies (inheriting from security, classloader...contexts).
-
-Declarable in tomee.xml via
-
-[source,xml]
-----
-<Resource id="Foo" type="ContextService" />
-----
-
-Declarable in properties via
-
-[source,bash]
-----
-Foo = new://Resource?type=ContextService
-----
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/admin/configuration/server.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/admin/configuration/server.adoc b/src/main/jbake/content/admin/configuration/server.adoc
deleted file mode 100755
index db2ff19..0000000
--- a/src/main/jbake/content/admin/configuration/server.adoc
+++ /dev/null
@@ -1,86 +0,0 @@
-= Container Configuration
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-=== Server
-
-[.table.table-bordered,options="header"]
-|===
-|Name	|Value|	Description
-|openejb.embedded.remotable|	bool|	activate or not the remote services when available
-|.bind, <service prefix>.port, <service prefix>.disabled, <service prefix>.threads	| host or IP, port, bool|override the host. Available for ejbd and httpejbd services (used by jaxws and jaxrs), number of thread to manage requests
-|openejb.embedded.initialcontext.close	|LOGOUT or DESTROY|	configure the hook called when closing the initial context. Useful when starting OpenEJB from a new InitialContext([properties]) instantiation. By default it simply logs out the logged user if it exists. DESTROY means clean the container.
-|javax.persistence.provider	|string|	override the JPA provider value
-|javax.persistence.transactionType	|string|	override the transaction type for persistence contexts
-|javax.persistence.jtaDataSource	|string|	override the JTA datasource value for persistence contexts
-|javax.persistence.nonJtaDataSource|	string	|override the non JTA datasource value for persistence contexts
-|openejb.descriptors.output	|bool|	dump memory deployment descriptors. Can be used to set complete metadata to true and avoid scanning when starting the container or to check the used configuration.
-|openejb.deployments.classpath.require.descriptor	|CLIENT or EJB|	can allow to filter what you want to scan (client modules or ejb modules)
-|openejb.descriptors.output.folder|	path|	where to dump deployement descriptors if activated.
-|openejb.strict.interface.declaration	|bool|	add some validations on session beans (spec validations in particular). false by default.
-|openejb.conf.file or openejb.configuration|	string|	OpenEJB configuration file path
-|openejb.debuggable-vm-hackery	|bool|	remove JMS informations from deployment
-|openejb.validation.skip	|bool	|skip the validations done when OpenEJB deploys beans
-|openejb.deployments.classpath.ear	|bool|	deploy the classpath as an ear
-|openejb.webservices.enabled|	bool	|activate or not webservices
-|openejb.validation.output.level|	TERSE or MEDIUM or VERBOSE|	level of the logs used to report validation errors
-|openejb.user.mbeans.list	* or a list of classes separated by ,|	list of mbeans to deploy automatically
-|openejb.deploymentId.format	composition (+string) of {ejbName} {ejbType} {ejbClass} and {ejbClass.simpleName}	default {ejbName}. The format to use to deploy ejbs.
-|openejb.deployments.classpath	|bool|	whether or not deploy from classpath
-|openejb.deployments.classpath.include and openejb.deployments.classpath.exclude	|regex|	regex to filter the scanned classpath (when you are in this case)
-|openejb.deployments.package.include and openejb.deployments.package.exclude|	regex|	regex to filter scanned packages
-|openejb.autocreate.jta-datasource-from-non-jta-one|	bool|	whether or not auto create the jta datasource if it doesn't exist but a non jta datasource exists. Useful when using hibernate to be able to get a real non jta datasource.
-|openejb.altdd.prefix	|string|	prefix use for altDD (example test to use a test.ejb-jar.xml).
-|org.apache.openejb.default.system.interceptors	|class names|list of interceptor (qualified names) separated by a comma or a space	add these interceptor on all beans
-|openejb.jndiname.strategy.class	|class name|	an implementation of org.apache.openejb.assembler.classic.JndiBuilder.JndiNameStrategy
-|openejb.jndiname.failoncollision|	bool|	if a NameAlreadyBoundException is thrown or not when 2 EJBs have the same name
-|openejb.jndiname.format |string|composition of these properties: ejbType, ejbClass, ejbClass.simpleName, ejbClass.packageName, ejbName, deploymentId, interfaceType, interfaceType.annotationName, interfaceType.annotationNameLC, interfaceType.xmlName, interfaceType.xmlNameCc, interfaceType.openejbLegacyName, interfaceClass, interfaceClass.simpleName, interfaceClass.packageName	default {deploymentId}{interfaceType.annotationName}. Change the name used for the ejb.
-|openejb.org.quartz.threadPool.class	|class| qualified name which implements org.quartz.spi.ThreadPool	the thread pool used by quartz (used to manage ejb timers)
-|openejb.localcopy	|bool|	default true. whether or not copy EJB arguments[/method/interface] for remote invocations.
-|openejb.cxf.jax-rs.providers	|string|the list of the qualified name of the JAX-RS providers separated by comma or space. Note: to specify a provider for a specific service suffix its class qualified name by ".providers", the value follow the same rules. Note 2: default is a shortcut for jaxb and json providers.
-|openejb.wsAddress.format	|string| composition of {ejbJarId}, ejbDeploymentId, ejbType, ejbClass, ejbClass.simpleName, ejbName, portComponentName, wsdlPort, wsdlService	default /{ejbDeploymentId}. The WS name format.
-|org.apache.openejb.server.webservices.saaj.provider|	axis2, sun or null	|specified the saaj configuration
-|[<uppercase service name>.]<service id>.<name> or [<uppercase service name>.]<service id>	|whatever is supported (generally string, int ...)|	set this value to the corresponding service. example: [EnterpriseBean.]<ejb-name>.activation.<property>, [PERSISTENCEUNIT.]<persistence unit name>.<property>, [RESOURCE.]<name>
-|log4j.category.OpenEJB.options|	DEBUG, INFO, ...	|active one OpenEJB log level. need log4j in the classpath
-|openejb.jmx.active|	bool|	activate (by default) or not the OpenEJB JMX MBeans
-|openejb.nobanner	|bool|	activate or not the OpenEJB banner (activated by default)
-|openejb.check.classloader	|bool|	if true print some information about duplicated classes
-|openejb.check.classloader.verbose|	bool|	if true print classes intersections
-|openejb.additional.exclude	|string separated by comma|	list of prefixes you want to exclude and are not in the default list of exclusion
-|openejb.additional.include	|string separated by comma|	list of prefixes you want to remove from thedefault list of exclusion
-|openejb.offline	|bool|	if true can create datasources and containers automatically
-|openejb.exclude-include.order|	include-exclude or exclude-include|	if the inclusion/exclusion should win on conflicts (intersection)
-|openejb.log.color	|bool|	activate or not the color in the console in embedded mode
-|openejb.log.color.<level in lowercase>	|color in uppercase	|set a color for a particular level. Color are BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, DEFAULT.
-|tomee.serialization.class.blacklist|	string	|default list of packages/classnames excluded for EJBd deserialization (needs to be set on server and client sides). Please see the description of Ejbd Transport for details.
-|tomee.serialization.class.whitelist|	string|	default list of packages/classnames allowed for EJBd deserialization (blacklist wins over whitelist, needs to be set on server and client sides). Please see the description of Ejbd Transport for details.
-|tomee.remote.support	|boolean	|if true /tomee webapp is auto-deployed and EJBd is active (true by default for 1.x, false for 7.x excepted for tomee maven plugin and arquillian)
-|openejb.crosscontext	|bool|	set the cross context property on tomcat context (can be done in the traditionnal way if the deployment is don through the webapp discovery and not the OpenEJB Deployer EJB)
-|openejb.jsessionid-support	|bool|	remove URL from session tracking modes for this context (see javax.servlet.SessionTrackingMode)
-|openejb.myfaces.disable-default-values	|bool|	by default TomEE will initialize myfaces with some its default values to avoid useless logging
-|openejb.web.xml.major	|int|	major version of web.xml. Can be useful to force tomcat to scan servlet 3 annotatino when deploying with a servlet 2.x web.xml
-|tomee.jaxws.subcontext	|string|	sub context used to bind jaxws web services, default is webservices
-|openejb.servicemanager.enabled	|bool|	run all services detected or only known available services (WS and RS
-|tomee.jaxws.oldsubcontext	|bool|	wether or not activate old way to bind jaxws webservices directly on root context
-|openejb.modulename.useHash	|bool|	add a hash after the module name of the webmodule if it is generated from the webmodule location, it avoids conflicts between multiple deployment (through ear) of the same webapp. Note: it disactivated by default since names are less nice this way.
-|openejb.session.manager	|qualified name (string)|	configure a session managaer to use for all contexts
-|tomee.tomcat.resource.wrap	|bool|wrap tomcat resources (context.xml) as tomee resources if possible (true by default)
-|tomee.tomcat.datasource.wrap	|bool|same as tomee.tomcat.resource.wrap for datasource (false by default). Note that setting it to true will create tomee datasources but can have the side effect to create twice singleton resources
-|openejb.environment.default	|bool|should default JMS resources be created or not, default to false to ensure no port is bound or multiple resources are created and completely uncontrolled (doesn't apply to datasources etc for compatibility). For tests only!
-|===
-
-=== Client
-
-[.table.table-bordered,options="header"]
-|===
-|Name|	Value	|Description
-|openejb.client.identityResolver	|implementation of org.apache.openejb.client.IdentityResolver|	default org.apache.openejb.client.JaasIdentityResolver. The class to get the client identity.
-|openejb.client.connection.pool.timeout or openejb.client.connectionpool.timeout	|int (ms)|	the timeout of the client
-|openejb.client.connection.pool.size or openejb.client.connectionpool.size	|int|	size of the socket pool
-|openejb.client.keepalive	|int (ms)|	the keepalive duration
-|openejb.client.protocol.version	|string|	Optional legacy server protocol compatibility level. Allows 4.6.x clients to potentially communicate with older servers. OpenEJB 4.5.2 and older use version "3.1", and 4.6.x currently uses version "4.6" (Default). This does not allow old clients to communicate with new servers prior to 4.6.0
-|tomee.serialization.class.blacklist|	string	|default list of packages/classnames excluded for EJBd deserialization (needs to be set on server and client sides). Please see the description of Ejbd Transport for details.
-|tomee.serialization.class.whitelist|	string|	default list of packages/classnames allowed for EJBd deserialization (blacklist wins over whitelist, needs to be set on server and client sides). Please see the description of Ejbd Transport for details.
-|===

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/admin/file-layout.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/admin/file-layout.adoc b/src/main/jbake/content/admin/file-layout.adoc
deleted file mode 100755
index 433fea3..0000000
--- a/src/main/jbake/content/admin/file-layout.adoc
+++ /dev/null
@@ -1,144 +0,0 @@
-= Directory Structure
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-ifndef::backend-pdf[]
-
-[#filetree.col-md-4]
-[
-    {
-        label: 'apps',
-        description: 'A common but optional folder containing the applications (war, ear, jar). Note: this folder needs to be activated in tomee.xml for instance and is not there by default.',
-        children: [
-            {label:'module1.jar',description:'An ejbmodule'},
-            {label:'myapp',description:'An exploded war or ear'},
-            {label:'anotherapp.war',description:'A war'},
-            {label:'anotherapp',description:'By default TomEE will explode the war next to the .war file, this is customizable.'},
-            {label:'anotherapp2.ear',description:'An ear'},
-            {label:'anotherapp2',description:'By default TomEE will explode the ear next to the .ear file, this is customizable.'}
-        ]
-    },
-    {
-        label: 'bin',
-        description: 'The executable and boot related files',
-        children: [
-            {label:'bootstrap.jar',description:'The jar allowing Tomcat to start'},
-            {label:'catalina.bat',description:'The windows main Tomcat script'},
-            {label:'catalina.bat.original',description:'The original catalina.bat from Tomcat. TomEE customizes it.'},
-            {label:'catalina.sh',description:'The UNIx main Tomcat script'},
-            {label:'catalina.sh.original',description:'The original catalina.sh from Tomcat. TomEE customizes it.'},
-            {label:'catalina-tasks.xml',description:'Some Ant tasks Tomcat provides to work with JMX'},
-            {label:'commons-daemon.jar',description:'When setting up TomEE as a service you need this jar.'},
-            {label:'commons-daemon-native.tar.gz',description:'The native needed by commons-daemon'},
-            {label:'configtest.bat',description:'A windows script to validate the server.xml'},
-            {label:'configtest.sh',description:'A UNIx script to validate the server.xml'},
-            {label:'daemon.sh',description:'A script which can be used as init.d script'},
-            {label:'digest.bat',description:'A windows script to compute a digest'},
-            {label:'digest.sh',description:'A UNIx script to compute a digest'},
-            {label:'service.bat',description:'The windows service script'},
-            {label:'service.install.as.admin.bat',description:'Install TomEE as a service on windows'},
-            {label:'service.readme.txt',description:'The explanations on how to setup TomEE as a windows service'},
-            {label:'service.remove.as.admin.bat',description:'Uninstall TomEE service on windows'},
-            {label:'setclasspath.bat',description:'The script called by catalina.bat to initialize Tomcat classpath'},
-            {label:'setclasspath.sh',description:'The script called by catalina.bat to initialize TomEE classpath'},
-            {label:'setenv.sh',description:'A UNIx user script (optional) where you can specify some JVM options like CATALINA_OPTS environment variable'},
-            {label:'setenv.bat',description:'A windows user script (optional) where you can specify some JVM options like CATALINA_OPTS environment variable'},
-            {label:'shutdown.bat',description:'Stop the server on windows, it is commonly used with -force and a timeout as options'},
-            {label:'shutdown.sh',description:'Stop the server on UNIx, it is commonly used with -force and a timeout as options'},
-            {label:'startup.bat',description:'Start (and forget) TomEE on windows'},
-            {label:'startup.sh',description:'Start (and forget) TomEE on UNIx'},
-            {label:'tomcat-juli.jar',description:'The Tomcat Java Util Logging extensions which allow for instance to configure the logging per application'},
-            {label:'tomcat-native.tar.gz',description:'The Tomcat native used by some connectors'},
-            {label:'TomEE....exe',description:'TomEE windows executables when setup as a service for amd64 architectures'},
-            {label:'tomee.bat',description:'TomEE utility script for windows, allows to compute ciphers for instance'},
-            {label:'tomee.sh',description:'TomEE utility script for UNIx, allows to compute ciphers for instance'},
-            {label:'tool-wrapper.bat',description:'Windows script calling Tomcat Tool utility. It executes a command line with Tomcat classloader.'},
-            {label:'tool-wrapper.sh',description:'UNIx script calling Tomcat Tool utility. It executes a command line with Tomcat classloader.'},
-            {label:'version.bat',description:'Print Tomcat version (for windows)'},
-            {label:'version.sh',description:'Print Tomcat version (for UNIx)'}
-        ]
-    },
-    {
-        label: 'conf',
-        description: 'Folder containing the configuration of TomEE',
-        children: [
-            {label:'Catalina',description:'A folder where Tomcat can copy web application configuration (typically context.xml can be overriden from there)'},
-            {label:'catalina.policy',description:'The server security policy rules'},
-            {label:'catalina.properties',description:'The server boot configuration (classloader etc...)'},
-            {label:'conf.d',description:'A TomEE folder where services can pick configuration'},
-            {label:'context.xml',description:'The default context.xml configuration'},
-            {label:'logging.properties',description:'The logging configuration for the server and applications (overridable)'},
-            {label:'server.xml',description:'The server configuration (Host, Context, Valves, ...)'},
-            {label:'server.xml.original',description:'The original server.xml, TomEE updates it to add its lifecycle manager.'},
-            {label:'system.properties',description:'TomEE global configuration'},
-            {label:'tomcat-users.xml',description:'The default location where tomcat stores users.'},
-            {label:'tomcat-users.xml.original',description:'The Tomcat tomcat-users.xml (TomEE add comments)'},
-            {label:'tomcat-users.xsd',description:'The XSD for tomcat-users.xml'},
-            {label:'tomee.xml',description:'The TomEE configuration file, syntax is hybrid between XML and Properties and it is fully replaceable with system.properties but users generally prefer this file.'},
-            {label:'web.xml',description:'The default web.xml'}
-        ]
-    },
-    {
-        label: 'lib',
-        description: 'Folder containing TomEE binaries',
-        children: [
-            {label:'*.jar',description:'Tomcat + TomEE libraries'}
-        ]
-    },
-    {
-        label: 'logs',
-        description: 'Default location of log files',
-        children: [
-            {label:'catalina.$day.log',description:'By default container logs go there'},
-            {label:'xxx.2016-03-16.log',description:'By default application xxx logs go there (when using servlet API)'},
-            {label:'localhost.$day.log',description:'By default host related logs go there'},
-            {label:'localhost_access_log.$day.txt',description:'By default access logs (request the container processed) go there'}
-        ]
-    },
-    {
-        label: 'temp',
-        description: 'Java temporary directory is redirected by default to this folder',
-        children: [
-            {label:'OpenEJB-dejlzdbhjzbfrzeofrh',description:'A temporary file TomEE can create (suffix depends the startup) to check the instance'}
-        ]
-    },
-    {
-        label: 'webapps',
-        description: 'Folder containing the web applications',
-        children: [
-            {label:'myapp',description:'An exploded war'},
-            {label:'anotherapp.war',description:'A war'},
-            {label:'anotherapp',description:'By default TomEE will explode the war next to the .war file, this is customizable.'}
-        ]
-    },
-    {
-        label: 'work',
-        description: 'Folder where Tomcat and TomEE can work',
-        children: [
-            {
-                label:'Catalina',description:'By default Tomcat Engine is called Catalina. This folder matches engine name.',
-                children: [
-                    {
-                        label:'localhost',description:'A folder by host by engine to seggregate data of each ones',
-                        children: [
-                            {
-                                label:'myapp',description:'An application deployed on the previous level host',
-                                children: [
-                                    { label:'org.apache.jsp.index_jsp.java',description:'The generated JSP source (index.jsp there)' },
-                                    { label:'org.apache.jsp.index_jsp.class',description:'The compiled JSP binary' }
-                                ]
-                            }
-                        ]
-                    }
-                ]
-            }
-        ]
-    }
-]
-
-[#filetreedetail.col-md-8.bs-callout.bs-callout-primary]
-Click on a tree node or open a folder to see the detail there.
-
-endif::[]

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/admin/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/admin/index.adoc b/src/main/jbake/content/admin/index.adoc
deleted file mode 100755
index 9c10d63..0000000
--- a/src/main/jbake/content/admin/index.adoc
+++ /dev/null
@@ -1,7 +0,0 @@
-= Administrator
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-Click link:../docs.html[here] to find the documentation for administrators.
\ No newline at end of file


[19/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/bean-validation-design-by-contract.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/bean-validation-design-by-contract.adoc b/src/main/jbake/content/examples/bean-validation-design-by-contract.adoc
deleted file mode 100755
index e21f0dd..0000000
--- a/src/main/jbake/content/examples/bean-validation-design-by-contract.adoc
+++ /dev/null
@@ -1,240 +0,0 @@
-= bean-validation-design-by-contract
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example bean-validation-design-by-contract can be browsed at https://github.com/apache/tomee/tree/master/examples/bean-validation-design-by-contract
-
-=  Bean Validation - Design By Contract
-
-Bean Validation (aka JSR 303) contains an optional appendix dealing with method validation.
-
-Some implementions of this JSR implement this appendix (Apache bval, Hibernate validator for example).
-
-OpenEJB provides an interceptor which allows you to use this feature to do design by contract.
-
-=  Design by contract
-
-The goal is to be able to configure with a finer grain your contract. In the example you specify
-the minimum centimeters a sport man should jump at pole vaulting:
-
-
-[source,java]
-----
-@Local
-public interface PoleVaultingManager {
-    int points(@Min(120) int centimeters);
-}
-----
-
-
-=  Usage
-
-TomEE and OpenEJB do not provide anymore `BeanValidationAppendixInterceptor` since
-Bean Validation 1.1 does it (with a slighly different usage but the exact same feature).
-
-So basically you don't need to configure anything to use it.
-=  Errors
-
-If a parameter is not validated an exception is thrown, it is an EJBException wrapping a ConstraintViolationException:
-
-    try {
-        gamesManager.addSportMan("I lose", "EN");
-        fail("no space should be in names");
-    } catch (EJBException wrappingException) {
-        assertTrue(wrappingException.getCause() instanceof ConstraintViolationException);
-        ConstraintViolationException exception = ConstraintViolationException.class.cast(wrappingException.getCausedByException());
-        assertEquals(1, exception.getConstraintViolations().size());
-    }
-
-=  Example
-
-==  OlympicGamesManager
-
-
-[source,java]
-----
-package org.superbiz.designbycontract;
-
-import javax.ejb.Stateless;
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
-
-@Stateless
-public class OlympicGamesManager {
-    public String addSportMan(@Pattern(regexp = "^[A-Za-z]+$") String name, @Size(min = 2, max = 4) String country) {
-        if (country.equals("USA")) {
-            return null;
-        }
-        return new StringBuilder(name).append(" [").append(country).append("]").toString();
-    }
-}
-----
-
-
-==  PoleVaultingManager
-
-
-[source,java]
-----
-package org.superbiz.designbycontract;
-
-import javax.ejb.Local;
-import javax.validation.constraints.Min;
-
-@Local
-public interface PoleVaultingManager {
-    int points(@Min(120) int centimeters);
-}
-----
-
-
-==  PoleVaultingManagerBean
-
-
-[source,java]
-----
-package org.superbiz.designbycontract;
-
-import javax.ejb.Stateless;
-
-@Stateless
-public class PoleVaultingManagerBean implements PoleVaultingManager {
-    @Override
-    public int points(int centimeters) {
-        return centimeters - 120;
-    }
-}
-----
-
-
-==  OlympicGamesTest
-
-
-[source,java]
-----
-public class OlympicGamesTest {
-    private static Context context;
-
-    @EJB
-    private OlympicGamesManager gamesManager;
-
-    @EJB
-    private PoleVaultingManager poleVaultingManager;
-
-    @BeforeClass
-    public static void start() {
-        Properties properties = new Properties();
-        properties.setProperty(BeanContext.USER_INTERCEPTOR_KEY, BeanValidationAppendixInterceptor.class.getName());
-        context = EJBContainer.createEJBContainer(properties).getContext();
-    }
-
-    @Before
-    public void inject() throws Exception {
-        context.bind("inject", this);
-    }
-
-    @AfterClass
-    public static void stop() throws Exception {
-        if (context != null) {
-            context.close();
-        }
-    }
-
-    @Test
-    public void sportMenOk() throws Exception {
-        assertEquals("IWin [FR]", gamesManager.addSportMan("IWin", "FR"));
-    }
-
-    @Test
-    public void sportMenKoBecauseOfName() throws Exception {
-        try {
-            gamesManager.addSportMan("I lose", "EN");
-            fail("no space should be in names");
-        } catch (EJBException wrappingException) {
-            assertTrue(wrappingException.getCause() instanceof ConstraintViolationException);
-            ConstraintViolationException exception = ConstraintViolationException.class.cast(wrappingException.getCausedByException());
-            assertEquals(1, exception.getConstraintViolations().size());
-        }
-    }
-
-    @Test
-    public void sportMenKoBecauseOfCountry() throws Exception {
-        try {
-            gamesManager.addSportMan("ILoseTwo", "TOO-LONG");
-            fail("country should be between 2 and 4 characters");
-        } catch (EJBException wrappingException) {
-            assertTrue(wrappingException.getCause() instanceof ConstraintViolationException);
-            ConstraintViolationException exception = ConstraintViolationException.class.cast(wrappingException.getCausedByException());
-            assertEquals(1, exception.getConstraintViolations().size());
-        }
-    }
-
-    @Test
-    public void polVaulting() throws Exception {
-        assertEquals(100, poleVaultingManager.points(220));
-    }
-
-    @Test
-    public void tooShortPolVaulting() throws Exception {
-        try {
-            poleVaultingManager.points(119);
-            fail("the jump is too short");
-        } catch (EJBException wrappingException) {
-            assertTrue(wrappingException.getCause() instanceof ConstraintViolationException);
-            ConstraintViolationException exception = ConstraintViolationException.class.cast(wrappingException.getCausedByException());
-            assertEquals(1, exception.getConstraintViolations().size());
-        }
-    }
-}
-----
-
-
-=  Running
-
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running OlympicGamesTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/bean-validation-design-by-contract
-INFO - openejb.base = /Users/dblevins/examples/bean-validation-design-by-contract
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/bean-validation-design-by-contract/target/classes
-INFO - Beginning load: /Users/dblevins/examples/bean-validation-design-by-contract/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/bean-validation-design-by-contract
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean PoleVaultingManagerBean: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean OlympicGamesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/bean-validation-design-by-contract" loaded.
-INFO - Assembling app: /Users/dblevins/examples/bean-validation-design-by-contract
-INFO - Jndi(name="java:global/bean-validation-design-by-contract/PoleVaultingManagerBean!org.superbiz.designbycontract.PoleVaultingManager")
-INFO - Jndi(name="java:global/bean-validation-design-by-contract/PoleVaultingManagerBean")
-INFO - Jndi(name="java:global/bean-validation-design-by-contract/OlympicGamesManager!org.superbiz.designbycontract.OlympicGamesManager")
-INFO - Jndi(name="java:global/bean-validation-design-by-contract/OlympicGamesManager")
-INFO - Jndi(name="java:global/EjbModule236054577/OlympicGamesTest!OlympicGamesTest")
-INFO - Jndi(name="java:global/EjbModule236054577/OlympicGamesTest")
-INFO - Created Ejb(deployment-id=OlympicGamesManager, ejb-name=OlympicGamesManager, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=PoleVaultingManagerBean, ejb-name=PoleVaultingManagerBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=OlympicGamesTest, ejb-name=OlympicGamesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=OlympicGamesManager, ejb-name=OlympicGamesManager, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=PoleVaultingManagerBean, ejb-name=PoleVaultingManagerBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=OlympicGamesTest, ejb-name=OlympicGamesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/bean-validation-design-by-contract)
-Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.245 sec
-
-Results :
-
-Tests run: 5, Failures: 0, Errors: 0, Skipped: 0
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/bval-evaluation-redeployment.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/bval-evaluation-redeployment.adoc b/src/main/jbake/content/examples/bval-evaluation-redeployment.adoc
deleted file mode 100755
index 0b201bb..0000000
--- a/src/main/jbake/content/examples/bval-evaluation-redeployment.adoc
+++ /dev/null
@@ -1,8 +0,0 @@
-= bval-evaluation-redeployment
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example bval-evaluation-redeployment can be browsed at https://github.com/apache/tomee/tree/master/examples/bval-evaluation-redeployment
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/cdi-alternative-and-stereotypes.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/cdi-alternative-and-stereotypes.adoc b/src/main/jbake/content/examples/cdi-alternative-and-stereotypes.adoc
deleted file mode 100755
index 2f5e99d..0000000
--- a/src/main/jbake/content/examples/cdi-alternative-and-stereotypes.adoc
+++ /dev/null
@@ -1,138 +0,0 @@
-= cdi-alternative-and-stereotypes
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example cdi-alternative-and-stereotypes can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-alternative-and-stereotypes
-
-=  Introduction
-
-CDI is a revolution for Java EE world. This specification is the best one to avoid coupling between classes.
-
-This example simply aims to override bindings at runtime to simplify mocking work.
-
-It uses two kind of mocks:
-1) a mock with no implementation in the classloader
-2) a mock with an implementation in the classloader
-
-The mock answer from CDI is called *alternative*.
-
-Annotating `@Alternative` a class will mean it will replace any implementation if there is no other implementation
-or if it is forced (through `META-INF/beans.xml`).
-
-=  Code explanation
-==  main code
-
-We use an EJB `Jouney` to modelize a journey where the vehicle and the society can change. Here an EJB is used simply
-because it simplifies the test. A jouney wraps the vehicle and society information.
-
-We define then two interfaces to inject it in the `Journey` EJB: `Vehicle` and `Society`.
-
-Finally we add an implementation for `Scociety` interface: `LowCostCompanie`.
-
-If we don't go further `Journey` object will not be able to be created because no `Vehicle` implementation is available.
-
-Note: if we suppose we have a `Vehicle` implementation, the injected Society should be `LowCostCompanie`.
-
-==  test code
-
-The goal here is to test our `Journey` EJB. So we have to provide a `Vehicle` implementation: `SuperCar`.
-
-We want to force the `Society` implementation (for any reason) by our test implementation: `AirOpenEJB`.
-
-One solution could simply be to add `@Alternative` annotation on `AirOpenEJB` and activate it through
-the `META-INF/beans.xml` file.
-
-Here we want to write more explicit code. So we want to replace the `@Alternative` annotation by `@Mock` one.
-
-So we simply define an `@Mock` annotation for classes, resolvable at runtime which is a stereotype (`@Stereotype`)
-which replace `@Alternative`.
-
-Here is the annotation:
-
-
-[source,java]
-----
-@Stereotype // we define a stereotype
-@Retention(RUNTIME) // resolvable at runtime
-@Target(TYPE) // this annotation is a class level one
-@Alternative // it replace @Alternative
-public @interface Mock {}
-
-Note: you can add more CDI annotations after `@Alternative` and it will get the behavior expected (the scope for instance).
-
-So now we have our `@Mock` annotation which is a stereotype able to replace `@Alternative` annotation
-we simply add this annotation to our mocks.
-
-If you run it now you'll have this exception:
-
-javax.enterprise.inject.UnsatisfiedResolutionException: Api type [org.superbiz.cdi.stereotype.Vehicle] is not found with the qualifiers
-Qualifiers: [@javax.enterprise.inject.Default()]
-for injection into Field Injection Point, field name :  vehicle, Bean Owner : [Journey, Name:null, WebBeans Type:ENTERPRISE, API Types:[java.lang.Object,org.superbiz.cdi.stereotype.Journey], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]]
-
-It means the stereotype is not activated. To do it simply add it to your `META-INF/beans.xml`:
-
-<alternatives>
-  <stereotype>org.superbiz.cdi.stereotype.Mock</stereotype>
-</alternatives>
-
-Note: if you don't specify `AirOpenEJB` as `@Alternative` (done through our mock annotation) you'll get this exception:
-
-Caused by: javax.enterprise.inject.AmbiguousResolutionException: There is more than one api type with : org.superbiz.cdi.stereotype.Society with qualifiers : Qualifiers: [@javax.enterprise.inject.Default()]
-for injection into Field Injection Point, field name :  society, Bean Owner : [Journey, Name:null, WebBeans Type:ENTERPRISE, API Types:[org.superbiz.cdi.stereotype.Journey,java.lang.Object], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]]
-found beans:
-AirOpenEJB, Name:null, WebBeans Type:MANAGED, API Types:[org.superbiz.cdi.stereotype.Society,org.superbiz.cdi.stereotype.AirOpenEJB,java.lang.Object], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]
-LowCostCompanie, Name:null, WebBeans Type:MANAGED, API Types:[org.superbiz.cdi.stereotype.Society,org.superbiz.cdi.stereotype.LowCostCompanie,java.lang.Object], Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default]
-
-which simply means two implementations are available for the same injection point (`Journey.society`).
-
-# Conclusion
-
-With CDI it is really easy to define annotations with a strong meaning. You can define business annotations
-or simply technical annotations to simplify your code (as we did with the mock annotation).
-
-Note: if for instance you used qualifiers to inject societies you could have put all these qualifiers on
-the mock class or defined a `@SocietyMock` annotation to be able to inject the same implementation for
-all qualifiers in your tests.
-
-# Output
-
-Running org.superbiz.cdi.stereotype.StereotypeTest
-Apache OpenEJB 7.0.0-SNAPSHOT    build: 20111030-07:54
-http://tomee.apache.org/
-INFO - openejb.home = /opt/dev/openejb/openejb-trunk/examples/cdi-alternative-and-stereotypes
-INFO - openejb.base = /opt/dev/openejb/openejb-trunk/examples/cdi-alternative-and-stereotypes
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /opt/dev/openejb/openejb-trunk/examples/cdi-alternative-and-stereotypes/target/test-classes
-INFO - Found EjbModule in classpath: /opt/dev/openejb/openejb-trunk/examples/cdi-alternative-and-stereotypes/target/classes
-INFO - Beginning load: /opt/dev/openejb/openejb-trunk/examples/cdi-alternative-and-stereotypes/target/test-classes
-INFO - Beginning load: /opt/dev/openejb/openejb-trunk/examples/cdi-alternative-and-stereotypes/target/classes
-INFO - Configuring enterprise application: /opt/dev/openejb/openejb-trunk/examples/cdi-alternative-and-stereotypes
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean cdi-alternative-and-stereotypes_test.Comp: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-INFO - Auto-creating a container for bean Journey: Container(type=SINGLETON, id=Default Singleton Container)
-INFO - Enterprise application "/opt/dev/openejb/openejb-trunk/examples/cdi-alternative-and-stereotypes" loaded.
-INFO - Assembling app: /opt/dev/openejb/openejb-trunk/examples/cdi-alternative-and-stereotypes
-INFO - Jndi(name="java:global/cdi-alternative-and-stereotypes/cdi-alternative-and-stereotypes_test.Comp!org.apache.openejb.BeanContext$Comp")
-INFO - Jndi(name="java:global/cdi-alternative-and-stereotypes/cdi-alternative-and-stereotypes_test.Comp")
-INFO - Jndi(name="java:global/cdi-alternative-and-stereotypes/cdi-alternative-and-stereotypes.Comp!org.apache.openejb.BeanContext$Comp")
-INFO - Jndi(name="java:global/cdi-alternative-and-stereotypes/cdi-alternative-and-stereotypes.Comp")
-INFO - Jndi(name="java:global/cdi-alternative-and-stereotypes/Journey!org.superbiz.cdi.stereotype.Journey")
-INFO - Jndi(name="java:global/cdi-alternative-and-stereotypes/Journey")
-INFO - Jndi(name="java:global/EjbModule162291475/org.superbiz.cdi.stereotype.StereotypeTest!org.superbiz.cdi.stereotype.StereotypeTest")
-INFO - Jndi(name="java:global/EjbModule162291475/org.superbiz.cdi.stereotype.StereotypeTest")
-INFO - Created Ejb(deployment-id=cdi-alternative-and-stereotypes_test.Comp, ejb-name=cdi-alternative-and-stereotypes_test.Comp, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=cdi-alternative-and-stereotypes.Comp, ejb-name=cdi-alternative-and-stereotypes.Comp, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=org.superbiz.cdi.stereotype.StereotypeTest, ejb-name=org.superbiz.cdi.stereotype.StereotypeTest, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=Journey, ejb-name=Journey, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=cdi-alternative-and-stereotypes_test.Comp, ejb-name=cdi-alternative-and-stereotypes_test.Comp, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=cdi-alternative-and-stereotypes.Comp, ejb-name=cdi-alternative-and-stereotypes.Comp, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=org.superbiz.cdi.stereotype.StereotypeTest, ejb-name=org.superbiz.cdi.stereotype.StereotypeTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Journey, ejb-name=Journey, container=Default Singleton Container)
-INFO - Deployed Application(path=/opt/dev/openejb/openejb-trunk/examples/cdi-alternative-and-stereotypes)
-INFO - Undeploying app: /opt/dev/openejb/openejb-trunk/examples/cdi-alternative-and-stereotypes
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/cdi-application-scope.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/cdi-application-scope.adoc b/src/main/jbake/content/examples/cdi-application-scope.adoc
deleted file mode 100755
index cf1730f..0000000
--- a/src/main/jbake/content/examples/cdi-application-scope.adoc
+++ /dev/null
@@ -1,160 +0,0 @@
-= CDI @ApplicationScoped
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example cdi-application-scope can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-application-scope
-
-
-This example show the use of `@ApplicationScoped` annotation for injected objects. An object
-which is defined as `@ApplicationScoped` is created once for the duration of the application.
-
-=  Example
-
-This example depicts a similar scenario to cdi-request-scope. A restaurant guest orders
-a soup from the waiter. The waiter then delivers the soup back to the guest. Another
-guest can order the same soup that was ordered by the previous client - this is where
-the application scope is used. 
-
-==  Waiter
-
-The `Waiter` session bean receives a request from the test class via the `orderSoup()` method
-and sets the name for the `soup` field. The `orderWhatTheOtherGuyHad()` method returns
-the name of the `soup` field.
-
-
-[source,java]
-----
-@Stateless
-public class Waiter {
-
-    @Inject
-    public Soup soup;
-
-    public String orderSoup(String name){
-        soup.setName(name);
-        return soup.getName();
-    }
-
-    public String orderWhatTheOtherGuyHad() {
-        String name = soup.getName();
-        return name;
-    }
-}
-----
-
-
-==  Soup
-
-The `Soup` class is an injectable POJO, defined as `@ApplicationScoped`. This means that an instance
-will be created only once for the duration of the whole application. Try changing the `@ApplicationScoped`
-annotation to `@RequestScoped` and see what happens.
-
-
-[source,java]
-----
-@ApplicationScoped
-public class Soup {
-
-    private String name = "Soup of the day";
-
-    @PostConstruct
-    public void afterCreate() {
-        System.out.println("Soup created");
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name){
-        this.name = name;
-    }
-}
-----
-
-
-
-=  Test Case
-
-This is the entry class for this example. First a soup is ordered via `orderSoup()` method.
-This initiates the `soup` field. Next, `orderWhatTheOtherGuyHad()` method returns the soup
-from the application context.
-
-
-[source,java]
-----
-public class RestaurantTest {
-
-    private static String TOMATO_SOUP = "Tomato Soup";
-    private EJBContainer container;
-
-    @EJB
-    private Waiter joe;
-
-    @Before
-    public void startContainer() throws Exception {
-        container = EJBContainer.createEJBContainer();
-        container.getContext().bind("inject", this);
-    }
-
-    @Test
-    public void orderSoup(){
-        String someSoup = joe.orderSoup(TOMATO_SOUP);
-        assertEquals(TOMATO_SOUP, someSoup);
-
-        String sameSoup = joe.orderWhatTheOtherGuyHad();
-        assertEquals(TOMATO_SOUP, sameSoup);
-    }
-
-    @After
-    public void closeContainer() throws Exception {
-        container.close();
-    }
-}
-----
-
-
-=  Running
-
-In the output you can see that there is just one `Soup` instance created - one for
-the whole application.
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.cdi.applicationscope.RestaurantTest
-Apache OpenEJB 7.0.0-SNAPSHOT    build: 20111224-11:09
-http://tomee.apache.org/
-INFO - openejb.home = C:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-application-scope
-INFO - openejb.base = C:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-application-scope
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: c:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-application-scope\target\classes
-INFO - Beginning load: c:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-application-scope\target\classes
-INFO - Configuring enterprise application: c:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-application-scope
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean cdi-application-scope.Comp: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean Waiter: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Enterprise application "c:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-application-scope" loaded.
-INFO - Assembling app: c:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-application-scope
-INFO - Jndi(name="java:global/cdi-application-scope/Waiter!org.superbiz.cdi.applicationscope.Waiter")
-INFO - Jndi(name="java:global/cdi-application-scope/Waiter")
-INFO - Created Ejb(deployment-id=Waiter, ejb-name=Waiter, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=Waiter, ejb-name=Waiter, container=Default Stateless Container)
-INFO - Deployed Application(path=c:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-application-scope)
-Soup created
-INFO - Undeploying app: c:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-application-scope
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.42 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/cdi-basic.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/cdi-basic.adoc b/src/main/jbake/content/examples/cdi-basic.adoc
deleted file mode 100755
index 8097c63..0000000
--- a/src/main/jbake/content/examples/cdi-basic.adoc
+++ /dev/null
@@ -1,191 +0,0 @@
-= CDI @Inject
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example cdi-basic can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-basic
-
-
-To use `@Inject`, the first thing you need is a `META-INF/beans.xml` file in the module
-or jar.  This effectively turns on CDI and allows the `@Inject` references to work.
-No `META-INF/beans.xml` no injection, period.  This may seem overly strict,
-but it is not without reason.  The CDI API is a bit greedy and does consume a fair
-about of resources by design.
-
-When the container constructs a bean with an `@Inject` reference,
-it will first find or create the object that will be injected.  For the sake of
-simplicity, the is example has a basic `Faculty` pojo with a no-arg constructor.  Anyone
-referencing `@Inject Faculty` will get their own instance of `Faculty`.  If the desire
-is to share the same instance of `Faculty`, see the concept of `scopes` -- this is
-exactly what scopes are for.
-
-=  Example
-
-In this example we have an `@Stateless` bean `Course` with an `@Inject` reference to an
-object of type `Faculty`.  When `Course` is created, the container will also create an
-instance of `Faculty`.  The `@PostConstruct` will be called on the `Faculty`,
-then the `Faculty` instance will be injected into the `Course` bean.  Finally, the
-`@PostConstruct` will be invoked on `Course` and then we're done.  All instances will
-have been created.
-
-The `CourseTest` test case drives this creation process by having `Course` injected
-into it in its `@Setup` method.  By the time our `@Test` method is invoked,
-all the real work should be done and we should be ready to go.  In the test case we do
-some basic asserts to ensure everything was constructed, all `@PostConstruct` methods
-called and everyting injected.
-
-==  Faculty <small>a basic injectable pojo</small>
-
-
-[source,java]
-----
-public class Faculty {
-
-    private List<String> facultyMembers;
-
-    private String facultyName;
-
-    @PostConstruct
-    public void initialize() {
-        this.facultyMembers = new ArrayList<String>();
-        facultyMembers.add("Ian Schultz");
-        facultyMembers.add("Diane Reyes");
-        facultyName = "Computer Science";
-    }
-
-    public List<String> getFacultyMembers() {
-        return facultyMembers;
-    }
-
-    public String getFacultyName() {
-        return facultyName;
-    }
-
-}
-----
-
-
-==  Course <small>a simple session bean</small>
-
-
-[source,java]
-----
-@Stateless
-public class Course {
-
-    @Inject
-    private Faculty faculty;
-
-    private String courseName;
-
-    private int capacity;
-
-    @PostConstruct
-    private void init() {
-        assert faculty != null;
-
-        // These strings can be externalized
-        // We'll see how to do that later
-        this.courseName = "CDI 101 - Introduction to CDI";
-        this.capacity = 100;
-    }
-
-    public String getCourseName() {
-        return courseName;
-    }
-
-    public int getCapacity() {
-        return capacity;
-    }
-
-    public Faculty getFaculty() {
-        return faculty;
-    }
-}
-----
-
-
-=  Test Case
-
-
-[source,java]
-----
-public class CourseTest extends TestCase {
-
-    @EJB
-    private Course course;
-
-    @Before
-    public void setUp() throws Exception {
-        EJBContainer.createEJBContainer().getContext().bind("inject", this);
-    }
-
-    @Test
-    public void test() {
-
-        // Was the EJB injected?
-        assertTrue(course != null);
-
-        // Was the Course @PostConstruct called?
-        assertNotNull(course.getCourseName());
-        assertTrue(course.getCapacity() > 0);
-
-        // Was a Faculty instance injected into Course?
-        final Faculty faculty = course.getFaculty();
-        assertTrue(faculty != null);
-
-        // Was the @PostConstruct called on Faculty?
-        assertEquals(faculty.getFacultyName(), "Computer Science");
-        assertEquals(faculty.getFacultyMembers().size(), 2);
-    }
-}
-----
-
-
-=  Running
-
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.cdi.basic.CourseTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/cdi-basic
-INFO - openejb.base = /Users/dblevins/examples/cdi-basic
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/cdi-basic/target/classes
-INFO - Beginning load: /Users/dblevins/examples/cdi-basic/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/cdi-basic
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean cdi-basic.Comp: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean Course: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Enterprise application "/Users/dblevins/examples/cdi-basic" loaded.
-INFO - Assembling app: /Users/dblevins/examples/cdi-basic
-INFO - Jndi(name="java:global/cdi-basic/cdi-basic.Comp!org.apache.openejb.BeanContext$Comp")
-INFO - Jndi(name="java:global/cdi-basic/cdi-basic.Comp")
-INFO - Jndi(name="java:global/cdi-basic/Course!org.superbiz.cdi.basic.Course")
-INFO - Jndi(name="java:global/cdi-basic/Course")
-INFO - Jndi(name="java:global/EjbModule1833350875/org.superbiz.cdi.basic.CourseTest!org.superbiz.cdi.basic.CourseTest")
-INFO - Jndi(name="java:global/EjbModule1833350875/org.superbiz.cdi.basic.CourseTest")
-INFO - Created Ejb(deployment-id=Course, ejb-name=Course, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=cdi-basic.Comp, ejb-name=cdi-basic.Comp, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=org.superbiz.cdi.basic.CourseTest, ejb-name=org.superbiz.cdi.basic.CourseTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Course, ejb-name=Course, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=cdi-basic.Comp, ejb-name=cdi-basic.Comp, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=org.superbiz.cdi.basic.CourseTest, ejb-name=org.superbiz.cdi.basic.CourseTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/cdi-basic)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.126 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/cdi-ejbcontext-jaas.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/cdi-ejbcontext-jaas.adoc b/src/main/jbake/content/examples/cdi-ejbcontext-jaas.adoc
deleted file mode 100755
index b94d662..0000000
--- a/src/main/jbake/content/examples/cdi-ejbcontext-jaas.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= cdi-ejbcontext-jaas
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example cdi-ejbcontext-jaas can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-ejbcontext-jaas
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/cdi-events.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/cdi-events.adoc b/src/main/jbake/content/examples/cdi-events.adoc
deleted file mode 100755
index a7e43c4..0000000
--- a/src/main/jbake/content/examples/cdi-events.adoc
+++ /dev/null
@@ -1,40 +0,0 @@
-= cdi-events
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example cdi-events can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-events
-
-=  CDI events: loose coupling and extensibility
-
-CDI allows you to extend business code by the Notifier/Observer pattern.
-
-To do it you simply inject a field `Event` in the notifier class. This class is a template
-and the parameter type is the object type to fire. Then when you want to notify observers
-you simply call the method fire of the event object passing as a parameter the event itself
-(your own class!).
-
-On the other side you annotated a method parameter `@Observes` and the parameter type is the sent type
-by the notifier.
-
-Note: of course you can add qualifiers to be more precise on your events.
-
-=  The example
-
-The example is pretty simple: an ejb uses the `@Schedule` annotation to get a notification each second.
-The each second this EJB will send the current date through CDI events.
-
-This is our "business" code. It is a simple behavior (nothing).
-
-In our test (which is considered as an extension) we created an observer (`Observer` class)
-which simply store and log each received date.
-
-The test itself (`EventTest`) simply verifies the dates were received.
-
-=  Conclusion
-
-CDI let's implement very easily plugins through this event mecanism.
-
-If you go further and look at CDI plugin API you'll realize it is simply the same kind
-of events. CDI events is really the basis of CDI.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/cdi-interceptors.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/cdi-interceptors.adoc b/src/main/jbake/content/examples/cdi-interceptors.adoc
deleted file mode 100755
index e973203..0000000
--- a/src/main/jbake/content/examples/cdi-interceptors.adoc
+++ /dev/null
@@ -1,268 +0,0 @@
-= CDI Interceptors
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example cdi-interceptors can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-interceptors
-
-
-Let's write a simple application that would allow us to book tickets for a movie show. As with all applications, logging is one cross-cutting concern that we have. Apart from that, there are some methods in our application, that can be accessed only in the working hours. If accessed at non-working-hours we'll throw out an AccessDeniedException.
-
-How do we mark which methods are to be intercepted? Wouldn't it be handy to annotate a method like
-
-
-[source,java]
-----
-@Log
-public void aMethod(){...}
-
-or
-
-@TimeRestricted
-public void bMethod(){...}
-
-Let's create these annotations that would "mark" a method for interception.
-
-@InterceptorBinding
-@Target({ TYPE, METHOD })
-@Retention(RUNTIME)
-public @interface Log {
-}
-----
-
-
-And
-
-
-[source,java]
-----
-@InterceptorBinding
-@Target({ TYPE, METHOD })
-@Retention(RUNTIME)
-public @interface TimeRestricted {
-}
-----
-
-
-Sure, you haven't missed the `@InterceptorBinding` annotation above! Now that our custom annotations are created, lets attach them (or to use a better term for it, "bind them") to interceptors.
-
-So here's our logging interceptor. An `@AroundInvoke` method and we are almost done.
-
-
-[source,java]
-----
-@Interceptor
-@Log  //binding the interceptor here. now any method annotated with @Log would be intercepted by logMethodEntry
-public class BookForAShowLoggingInterceptor implements Serializable {
-    private static final long serialVersionUID = 8139854519874743530L;
-    private Logger logger = Logger.getLogger("BookForAShowApplicationLogger");
-    @AroundInvoke
-    public Object logMethodEntry(InvocationContext ctx) throws Exception {
-        logger.info("Before entering method:" + ctx.getMethod().getName());
-        InterceptionOrderTracker.getMethodsInterceptedList().add(ctx.getMethod().getName());
-        InterceptionOrderTracker.getInterceptedByList().add(this.getClass().getSimpleName());
-        return ctx.proceed();
-    }
-}
-----
-
-
-Now the `@Log` annotation we created is bound to this interceptor. (Likewise we bind `@TimeRestrict` for `TimeBasedRestrictingInterceptor`. See links below for source)
-
-That done, let's annotate at class-level or method-level and have fun intercepting!
-
-
-[source,java]
-----
-@Log
-@Stateful
-public class BookForAShowOneInterceptorApplied implements Serializable {
-    private static final long serialVersionUID = 6350400892234496909L;
-    public List<String> getMoviesList() {
-        List<String> moviesAvailable = new ArrayList<String>();
-        moviesAvailable.add("12 Angry Men");
-        moviesAvailable.add("Kings speech");
-        return moviesAvailable;
-    }
-    public Integer getDiscountedPrice(int ticketPrice) {
-        return ticketPrice - 50;
-    }
-    // assume more methods are present
-}
-----
-
-
-The `@Log` annotation applied at class level denotes that all the methods should be intercepted with `BookForAShowLoggingInterceptor`.
-
-Before we say "all done" there's one last thing we are left with! To enable the interceptors!
-
-Lets quickly put up a `beans.xml` file like the following in `src/main/resources/META-INF/beans.xml`:
-
-
-[source,xml]
-----
-<beans>
-  <interceptors>
-    <class>org.superbiz.cdi.bookshow.interceptors.BookForAShowLoggingInterceptor
-    </class>
-    <class>org.superbiz.cdi.bookshow.interceptors.TimeBasedRestrictingInterceptor
-    </class>
-  </interceptors>
-</beans>
-----
-
-
-
-By default, a bean archive has no enabled interceptors bound via interceptor
-bindings. An interceptor must be explicitly enabled by listing its class
-in the `beans.xml`.
-
-Those lines in `beans.xml` not only "enable" the interceptors, but also define the "order of execution" of the interceptors.
-
-The order in with a method is annotated has no real significance.
-Eg:
-
-
-[source,java]
-----
-@TimeRestrict
-@Log
-void cMethod(){}
-
-Here the `BookForAShowLoggingInterceptor` would be applied first and then `TimeBasedRestrictingInterceptor`
-
-So now you know that the order is only determined by the order of definition in `beans.xml`. Interceptors which occur earlier in the list are called first.
-
-Also note that a method can be marked for interception by multiple interceptors by applying multiple annotations as above.
-
-This brings us to another question. In the above case there were two interceptors applied together. What if I would require about 4 such interceptors that would go along.... Having to annotate so much makes the code a little clumsy?
-
-No worries! Just create a custom annotation which inherits from others
-
-@Inherited
-@InterceptorBinding
-@Target({ TYPE, METHOD })
-@Retention(RUNTIME)
-@Log
-@TimeRestricted
-public @interface TimeRestrictAndLog {
-}
-----
-
-
-This is interceptor binding inheritance.
-
-The code below demonstrates the many cases that we have discussed.
-
-Not to forget, the old style binding with `@Interceptors(WhicheverInterceptor.class)` is also supported. Have a look at `BookForAShowOldStyleInterceptorBinding` where the comments explain how the newer way discussed above is better.
-
-=  The Code
-
-==  BookForAShowOneInterceptorApplied
-
-`BookForAShowOneInterceptorApplied` shows a simple `@Log` interceptor applied.
-
-
-[source,java]
-----
-package org.superbiz.cdi.bookshow.beans;
-
-import org.superbiz.cdi.bookshow.interceptorbinding.Log;
-
-import javax.ejb.Stateful;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-@Log
-@Stateful
-public class BookForAShowOneInterceptorApplied implements Serializable {
-    private static final long serialVersionUID = 6350400892234496909L;
-
-    public List<String> getMoviesList() {
-        List<String> moviesAvailable = new ArrayList<String>();
-        moviesAvailable.add("12 Angry Men");
-        moviesAvailable.add("Kings speech");
-        return moviesAvailable;
-    }
-
-    public Integer getDiscountedPrice(int ticketPrice) {
-        return ticketPrice - 50;
-    }
-}
-----
-
-
-==  BookForAShowTwoInterceptorsApplied
-
-`BookForAShowTwoInterceptorsApplied` shows both `@Log` and `@TimeRestricted` being applied.
-
-
-[source,java]
-----
-package org.superbiz.cdi.bookshow.beans;
-
-import org.superbiz.cdi.bookshow.interceptorbinding.Log;
-import org.superbiz.cdi.bookshow.interceptorbinding.TimeRestricted;
-
-import javax.ejb.Stateful;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-@Log
-@Stateful
-public class BookForAShowTwoInterceptorsApplied implements Serializable {
-    private static final long serialVersionUID = 6350400892234496909L;
-
-    public List<String> getMoviesList() {
-        List<String> moviesAvailable = new ArrayList<String>();
-        moviesAvailable.add("12 Angry Men");
-        moviesAvailable.add("Kings speech");
-        return moviesAvailable;
-    }
-
-    @TimeRestricted
-    public Integer getDiscountedPrice(int ticketPrice) {
-        return ticketPrice - 50;
-    }
-}
-----
-
-
-==  BookShowInterceptorBindingInheritanceExplored
-
-`BookShowInterceptorBindingInheritanceExplored` shows how `@TimeRestrictAndLog` (interceptor-binding-inheritance) can  be used as an alternative for annotating a method with multiple annotations explicitly.
-
-
-[source,java]
-----
-package org.superbiz.cdi.bookshow.beans;
-
-import org.superbiz.cdi.bookshow.interceptorbinding.TimeRestrictAndLog;
-
-import javax.ejb.Stateful;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-@Stateful
-public class BookShowInterceptorBindingInheritanceExplored implements Serializable {
-    private static final long serialVersionUID = 6350400892234496909L;
-
-    public List<String> getMoviesList() {
-        List<String> moviesAvailable = new ArrayList<String>();
-        moviesAvailable.add("12 Angry Men");
-        moviesAvailable.add("Kings speech");
-        return moviesAvailable;
-    }
-
-    @TimeRestrictAndLog
-    public Integer getDiscountedPrice(int ticketPrice) {
-        return ticketPrice - 50;
-    }
-}
-----
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/cdi-produces-disposes.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/cdi-produces-disposes.adoc b/src/main/jbake/content/examples/cdi-produces-disposes.adoc
deleted file mode 100755
index 30578e7..0000000
--- a/src/main/jbake/content/examples/cdi-produces-disposes.adoc
+++ /dev/null
@@ -1,316 +0,0 @@
-= CDI Produces Disposes
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example cdi-produces-disposes can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-produces-disposes
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  ConsoleHandler
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.disposes;
-
-public class ConsoleHandler implements LogHandler {
-
-    private String name;
-
-    public ConsoleHandler(String name) {
-        this.name = name;
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    @Override
-    public void writeLog(String s) {
-        System.out.printf("##### Handler: %s, Writing to the console!\n", getName());
-    }
-}
-----
-
-
-==  DatabaseHandler
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.disposes;
-
-public class DatabaseHandler implements LogHandler {
-
-    private String name;
-
-    public DatabaseHandler(String name) {
-        this.name = name;
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    @Override
-    public void writeLog(String s) {
-        System.out.printf("##### Handler: %s, Writing to the database!\n", getName());
-        // Use connection to write log to database
-    }
-}
-----
-
-
-==  FileHandler
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.disposes;
-
-public class FileHandler implements LogHandler {
-
-    private String name;
-
-    public FileHandler(String name) {
-        this.name = name;
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    @Override
-    public void writeLog(String s) {
-        System.out.printf("##### Handler: %s, Writing to the file!\n", getName());
-        // Write to log file
-    }
-}
-----
-
-
-==  LogFactory
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.disposes;
-
-import javax.enterprise.inject.Disposes;
-import javax.enterprise.inject.Produces;
-
-public class LogFactory {
-
-    private int type = 2;
-
-    @Produces
-    public LogHandler getLogHandler() {
-        switch (type) {
-            case 1:
-                return new FileHandler("@Produces created FileHandler!");
-            case 2:
-                return new DatabaseHandler("@Produces created DatabaseHandler!");
-            case 3:
-            default:
-                return new ConsoleHandler("@Produces created ConsoleHandler!");
-        }
-    }
-
-    public void closeLogHandler(@Disposes LogHandler handler) {
-        switch (type) {
-            case 1:
-                System.out.println("Closing File handler!");
-                break;
-            case 2:
-                System.out.println("Closing DB handler!");
-                break;
-            case 3:
-            default:
-                System.out.println("Closing Console handler!");
-        }
-    }
-}
-----
-
-
-==  Logger
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.disposes;
-
-public interface Logger {
-
-    public void log(String s);
-
-    public LogHandler getHandler();
-}
-----
-
-
-==  LoggerImpl
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.disposes;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-@Named("logger")
-public class LoggerImpl implements Logger {
-
-    @Inject
-    private LogHandler handler;
-
-    @Override
-    public void log(String s) {
-        getHandler().writeLog(s);
-    }
-
-    public LogHandler getHandler() {
-        return handler;
-    }
-}
-----
-
-
-==  LogHandler
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.disposes;
-
-public interface LogHandler {
-
-    public String getName();
-
-    public void writeLog(String s);
-}
-----
-
-
-==  beans.xml
-
-
-[source,xml]
-----
-<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                            http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-
-</beans>
-----
-
-
-==  LoggerTest
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.disposes;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.inject.Inject;
-import javax.naming.Context;
-
-import static junit.framework.Assert.assertNotNull;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-public class LoggerTest {
-
-    @Inject
-    Logger logger;
-
-    private Context ctxt;
-
-    @Before
-    public void setUp() {
-        try {
-            ctxt = EJBContainer.createEJBContainer().getContext();
-            ctxt.bind("inject", this);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    @After
-    public void cleanUp() {
-        try {
-            ctxt.unbind("inject");
-            ctxt.close();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    @Test
-    public void testLogHandler() {
-        assertNotNull(logger);
-        assertFalse("Handler should not be a ConsoleHandler", logger.getHandler() instanceof ConsoleHandler);
-        assertFalse("Handler should not be a FileHandler", logger.getHandler() instanceof FileHandler);
-        assertTrue("Handler should be a DatabaseHandler", logger.getHandler() instanceof DatabaseHandler);
-        logger.log("##### Testing write\n");
-        logger = null;
-    }
-
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.cdi.produces.disposes.LoggerTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/cdi-produces-disposes
-INFO - openejb.base = /Users/dblevins/examples/cdi-produces-disposes
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/cdi-produces-disposes/target/classes
-INFO - Beginning load: /Users/dblevins/examples/cdi-produces-disposes/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/cdi-produces-disposes
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean cdi-produces-disposes.Comp: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/cdi-produces-disposes" loaded.
-INFO - Assembling app: /Users/dblevins/examples/cdi-produces-disposes
-INFO - Jndi(name="java:global/cdi-produces-disposes/cdi-produces-disposes.Comp!org.apache.openejb.BeanContext$Comp")
-INFO - Jndi(name="java:global/cdi-produces-disposes/cdi-produces-disposes.Comp")
-INFO - Jndi(name="java:global/EjbModule10202458/org.superbiz.cdi.produces.disposes.LoggerTest!org.superbiz.cdi.produces.disposes.LoggerTest")
-INFO - Jndi(name="java:global/EjbModule10202458/org.superbiz.cdi.produces.disposes.LoggerTest")
-INFO - Created Ejb(deployment-id=cdi-produces-disposes.Comp, ejb-name=cdi-produces-disposes.Comp, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=org.superbiz.cdi.produces.disposes.LoggerTest, ejb-name=org.superbiz.cdi.produces.disposes.LoggerTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=cdi-produces-disposes.Comp, ejb-name=cdi-produces-disposes.Comp, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=org.superbiz.cdi.produces.disposes.LoggerTest, ejb-name=org.superbiz.cdi.produces.disposes.LoggerTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/cdi-produces-disposes)
-##### Handler: @Produces created DatabaseHandler!, Writing to the database!
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.02 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/cdi-produces-field.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/cdi-produces-field.adoc b/src/main/jbake/content/examples/cdi-produces-field.adoc
deleted file mode 100755
index 9a220d9..0000000
--- a/src/main/jbake/content/examples/cdi-produces-field.adoc
+++ /dev/null
@@ -1,321 +0,0 @@
-= CDI field producer
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example cdi-produces-field can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-produces-field
-
-
-This example shows the usage of the @Produces annotation. @Produces is a CDI mechanism which allows defining a source
- for injection. This example shows one of two ways of declaring a producer. Instead of a producer method (see CDI-produces-disposes example)
-a producer field can be used. A producer field can be used instead of a simple getter method. It could be used to
-inject resources, such as persistence contexts. One caveat to using producer fields over producer
- methods is that a @Disposes method cannot be used in conjunction with @Produces field.
-
-==  ConsoleHandler
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.field;
-
-public class ConsoleHandler implements LogHandler {
-
-    private String name;
-
-    public ConsoleHandler(String name) {
-        this.name = name;
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    @Override
-    public void writeLog(String s) {
-        System.out.printf("##### Handler: %s, Writing to the console!\n", getName());
-    }
-}
-----
-
-
-==  DatabaseHandler
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.field;
-
-public class DatabaseHandler implements LogHandler {
-
-    private String name;
-
-    public DatabaseHandler(String name) {
-        this.name = name;
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    @Override
-    public void writeLog(String s) {
-        System.out.printf("##### Handler: %s, Writing to the database!\n", getName());
-        // Use connection to write log to database
-    }
-}
-----
-
-
-==  FileHandler
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.field;
-
-public class FileHandler implements LogHandler {
-
-    private String name;
-
-    public FileHandler(String name) {
-        this.name = name;
-    }
-
-    @Override
-    public String getName() {
-        return name;
-    }
-
-    @Override
-    public void writeLog(String s) {
-        System.out.printf("##### Handler: %s, Writing to the file!\n", getName());
-        // Write to log file
-    }
-}
-----
-
-
-==  LogFactory
-
-	package org.superbiz.cdi.produces.field;
-	
-	import javax.enterprise.inject.Produces;
-	
-	public class LogFactory {
-	
-	    private int type = 2;
-	    
-	    @Produces
-	    LogHandler handler;
-	    
-	    public LogFactory(){
-	    	handler = getLogHandler();
-	    }
-	
-	    public LogHandler getLogHandler() {
-	        switch (type) {
-	            case 1:
-	                return new FileHandler("@Produces created FileHandler!");
-	            case 2:
-	                return new DatabaseHandler("@Produces created DatabaseHandler!");
-	            case 3:
-	            default:
-	                return new ConsoleHandler("@Produces created ConsoleHandler!");
-	        }
-	
-	    }
-	}
-
-==  Logger
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.field;
-
-public interface Logger {
-
-    public void log(String s);
-
-    public LogHandler getHandler();
-}
-----
-
-
-==  LoggerImpl
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.field;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-@Named("logger")
-public class LoggerImpl implements Logger {
-
-    @Inject
-    private LogHandler handler;
-
-    @Override
-    public void log(String s) {
-        getHandler().writeLog(s);
-    }
-
-    public LogHandler getHandler() {
-        return handler;
-    }
-}
-----
-
-
-==  LogHandler
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.field;
-
-public interface LogHandler {
-
-    public String getName();
-
-    public void writeLog(String s);
-}
-----
-
-
-==  beans.xml
-
-
-[source,xml]
-----
-<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-                            http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-
-</beans>
-----
-
-
-==  LoggerTest
-
-
-[source,java]
-----
-package org.superbiz.cdi.produces.field;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.inject.Inject;
-import javax.naming.Context;
-
-import static junit.framework.Assert.assertNotNull;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-public class LoggerTest {
-
-    @Inject
-    Logger logger;
-
-    private Context ctxt;
-
-    @Before
-    public void setUp() {
-        try {
-            ctxt = EJBContainer.createEJBContainer().getContext();
-            ctxt.bind("inject", this);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    @After
-    public void cleanUp() {
-        try {
-            ctxt.unbind("inject");
-            ctxt.close();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-    @Test
-    public void testLogHandler() {
-        assertNotNull(logger);
-        assertFalse("Handler should not be a ConsoleHandler", logger.getHandler() instanceof ConsoleHandler);
-        assertFalse("Handler should not be a FileHandler", logger.getHandler() instanceof FileHandler);
-        assertTrue("Handler should be a DatabaseHandler", logger.getHandler() instanceof DatabaseHandler);
-        logger.log("##### Testing write\n");
-        logger = null;
-    }
-
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
-	 T E S T S
-	-------------------------------------------------------
-	Running org.superbiz.cdi.produces.field.LoggerTest
-	INFO - ********************************************************************************
-	INFO - OpenEJB http://tomee.apache.org/
-	INFO - Startup: Thu May 10 01:28:19 CDT 2012
-	INFO - Copyright 1999-2012 (C) Apache OpenEJB Project, All Rights Reserved.
-	INFO - Version: 7.0.0-SNAPSHOT
-	INFO - Build date: 20120510
-	INFO - Build time: 04:06
-	INFO - ********************************************************************************
-	INFO - openejb.home = /home/daniel/projects/openejb/source/openejb/examples/cdi-produces-field
-	INFO - openejb.base = /home/daniel/projects/openejb/source/openejb/examples/cdi-produces-field
-	INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@a81b1fb
-	INFO - succeeded in installing singleton service
-	INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-	INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-	INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-	INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-	INFO - Creating TransactionManager(id=Default Transaction Manager)
-	INFO - Creating SecurityService(id=Default Security Service)
-	INFO - Inspecting classpath for applications: 26 urls. Consider adjusting your exclude/include.  Current settings: openejb.deployments.classpath.exclude='', openejb.deployments.classpath.include='.*'
-	INFO - Searched 26 classpath urls in 2015 milliseconds.  Average 77 milliseconds per url.
-	INFO - Beginning load: /home/daniel/projects/openejb/source/openejb/examples/cdi-produces-field/target/classes
-	INFO - Configuring enterprise application: /home/daniel/projects/openejb/source/openejb/examples/cdi-produces-field
-	INFO - Auto-deploying ejb cdi-produces-field.Comp: EjbDeployment(deployment-id=cdi-produces-field.Comp)
-	INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-	INFO - Auto-creating a container for bean cdi-produces-field.Comp: Container(type=MANAGED, id=Default Managed Container)
-	INFO - Creating Container(id=Default Managed Container)
-	INFO - Using directory /tmp for stateful session passivation
-	INFO - Enterprise application "/home/daniel/projects/openejb/source/openejb/examples/cdi-produces-field" loaded.
-	INFO - Assembling app: /home/daniel/projects/openejb/source/openejb/examples/cdi-produces-field
-	INFO - ignoreXmlConfiguration == true
-	INFO - ignoreXmlConfiguration == true
-	INFO - existing thread singleton service in SystemInstance() org.apache.openejb.cdi.ThreadSingletonServiceImpl@a81b1fb
-	INFO - OpenWebBeans Container is starting...
-	INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-	INFO - All injection points were validated successfully.
-	INFO - OpenWebBeans Container has started, it took [69] ms.
-	INFO - Deployed Application(path=/home/daniel/projects/openejb/source/openejb/examples/cdi-produces-field)
-	##### Handler: @Produces created DatabaseHandler!, Writing to the database!
-	INFO - Undeploying app: /home/daniel/projects/openejb/source/openejb/examples/cdi-produces-field
-	Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.79 sec
-	
-	Results :
-	
-	Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/cdi-realm.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/cdi-realm.adoc b/src/main/jbake/content/examples/cdi-realm.adoc
deleted file mode 100755
index 169d538..0000000
--- a/src/main/jbake/content/examples/cdi-realm.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= cdi-realm
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example cdi-realm can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-realm
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/cdi-request-scope.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/cdi-request-scope.adoc b/src/main/jbake/content/examples/cdi-request-scope.adoc
deleted file mode 100755
index 2075109..0000000
--- a/src/main/jbake/content/examples/cdi-request-scope.adoc
+++ /dev/null
@@ -1,182 +0,0 @@
-= CDI @RequestScoped
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example cdi-request-scope can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-request-scope
-
-
-This example show the use of `@RequestScoped` annotation for injected objects. An object
-which is defined as `@RequestScoped` is created once for every request and is shared by all the
-bean that inject it throughout a request.
-
-=  Example
-
-This example depicts a similar scenario to cdi-application-scope. A restaurant guest orders
-a soup from the waiter. The order is passed to the chef who prepares it and passes it back
-the waiter who in turn delivers it to the guest.
-
-==  Waiter
-
-The `Waiter` session bean receives a request from the test class via the `orderSoup()` method.
-A `Soup` insance will be created in this method and will be shared throughout the request with
-the `Chef` bean. The method passes the request to the `Chef` bean. It then returns the name of
-the soup to the test class. 
-
-
-[source,java]
-----
-@Stateless
-public class Waiter {
-
-    @Inject
-    private Soup soup;
-
-    @EJB
-    private Chef chef;
-
-    public String orderSoup(String name){
-        soup.setName(name);
-        return chef.prepareSoup().getName();
-    }
-}
-----
-
-
-==  Soup
-
-The `Soup` class is an injectable POJO, defined as `@RequestScoped`. This means that an instance
-will be created only once for every request and will be shared by all the beans injecting it.
-
-
-[source,java]
-----
-@RequestScoped
-public class Soup {
-
-    private String name = "Soup of the day";
-
-    @PostConstruct
-    public void afterCreate() {
-        System.out.println("Soup created");
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name){
-        this.name = name;
-    }
-}
-----
-
-
-==  Chef
-
-The `Chef` class is a simple session bean with an injected `Soup` field. Normally, the soup
-parameter would be passed as a `prepareSoup()` argument, but for the need of this example
-it's passed by the request context. 
-
-
-[source,java]
-----
-@Stateless
-public class Chef {
-
-    @Inject
-    private Soup soup;
-
-    public Soup prepareSoup() {
-        return soup;
-    }
-}
-----
-
-
-=  Test Case
-
-This is the entry class for this example.
-
-
-[source,java]
-----
-public class RestaurantTest {
-
-    private static String TOMATO_SOUP = "Tomato Soup";
-    private EJBContainer container;
-
-    @EJB
-    private Waiter joe;
-
-    @Before
-    public void startContainer() throws Exception {
-        container = EJBContainer.createEJBContainer();
-        container.getContext().bind("inject", this);
-    }
-
-    @Test
-    public void orderSoup(){
-        String soup = joe.orderSoup(TOMATO_SOUP);
-        assertEquals(TOMATO_SOUP, soup);
-        soup = joe.orderSoup(POTATO_SOUP);
-        assertEquals(POTATO_SOUP, soup);
-    }
-
-    @After
-    public void closeContainer() throws Exception {
-        container.close();
-    }
-}
-----
-
-
-=  Running
-
-In the output you can see that there were two `Soup` instances created - one for
-each request.
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.cdi.requestscope.RestaurantTest
-Apache OpenEJB 7.0.0-SNAPSHOT    build: 20111224-11:09
-http://tomee.apache.org/
-INFO - openejb.home = C:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-request-scope
-INFO - openejb.base = C:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-request-scope
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: c:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-request-scope\target\classes
-INFO - Beginning load: c:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-request-scope\target\classes
-INFO - Configuring enterprise application: c:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-request-scope
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean cdi-request-scope.Comp: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean Chef: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Enterprise application "c:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-request-scope" loaded.
-INFO - Assembling app: c:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-request-scope
-INFO - Jndi(name="java:global/cdi-request-scope/Chef!org.superbiz.cdi.requestscope.Chef")
-INFO - Jndi(name="java:global/cdi-request-scope/Chef")
-INFO - Jndi(name="java:global/cdi-request-scope/Waiter!org.superbiz.cdi.requestscope.Waiter")
-INFO - Jndi(name="java:global/cdi-request-scope/Waiter")
-INFO - Created Ejb(deployment-id=Chef, ejb-name=Chef, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=Waiter, ejb-name=Waiter, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=Chef, ejb-name=Chef, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=Waiter, ejb-name=Waiter, container=Default Stateless Container)
-INFO - Deployed Application(path=c:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-request-scope)
-Soup created
-Soup created
-INFO - Undeploying app: c:\Users\Daniel\workspaces\openejb\openejb\examples\cdi-request-scope
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.412 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/cdi-session-scope.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/cdi-session-scope.adoc b/src/main/jbake/content/examples/cdi-session-scope.adoc
deleted file mode 100755
index e783b50..0000000
--- a/src/main/jbake/content/examples/cdi-session-scope.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= cdi-session-scope
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example cdi-session-scope can be browsed at https://github.com/apache/tomee/tree/master/examples/cdi-session-scope
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/change-jaxws-url.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/change-jaxws-url.adoc b/src/main/jbake/content/examples/change-jaxws-url.adoc
deleted file mode 100755
index cc44be8..0000000
--- a/src/main/jbake/content/examples/change-jaxws-url.adoc
+++ /dev/null
@@ -1,116 +0,0 @@
-= Change JAXWS URL
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example change-jaxws-url can be browsed at https://github.com/apache/tomee/tree/master/examples/change-jaxws-url
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-To change a webservice deployment URI one solution is to use openejb-jar.xml.
-
-In this sample we have a webservice though the class Rot13:
-
-
-[source,java]
-----
-package org.superbiz.jaxws;
-
-import javax.ejb.Lock;
-import javax.ejb.LockType;
-import javax.ejb.Singleton;
-import javax.jws.WebService;
-
-@Lock(LockType.READ)
-@Singleton
-@WebService
-public class Rot13 {
-    public String rot13(final String in) {
-        final StringBuilder builder = new StringBuilder(in.length());
-        for (int b : in.toCharArray()) {
-            int cap = b & 32;
-            b &= ~cap;
-            if (Character.isUpperCase(b)) {
-                b = (b - 'A' + 13) % 26 + 'A';
-            } else {
-                b = cap;
-            }
-            b |= cap;
-            builder.append((char) b);
-        }
-        return builder.toString();
-    }
-}
-----
-
-
-We decide to deploy to /tool/rot13 url.
-
-To do so we first define it in openejb-jar.xml:
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1">
-  <enterprise-beans>
-    <session>
-      <ejb-name>Rot13</ejb-name>
-      <web-service-address>/tool/rot13</web-service-address>
-    </session>
-  </enterprise-beans>
-</openejb-jar>
-----
-
-
-
-It is not enough since by default TomEE deploys the webservices in a subcontext called webservices. To skip it
-simply set the system property tomee.jaxws.subcontext to / (done in arquillian.xml for our test).
-
-Then now our Rot13 webservice is deployed as expected to /tool/rot13 and we check it with arquillian and tomee embedded:
-
-     package org.superbiz.jaxws;
-
-     import org.apache.ziplock.IO;
-     import org.jboss.arquillian.container.test.api.Deployment;
-     import org.jboss.arquillian.junit.Arquillian;
-     import org.jboss.arquillian.test.api.ArquillianResource;
-     import org.jboss.shrinkwrap.api.ArchivePaths;
-     import org.jboss.shrinkwrap.api.ShrinkWrap;
-     import org.jboss.shrinkwrap.api.asset.ClassLoaderAsset;
-     import org.jboss.shrinkwrap.api.spec.WebArchive;
-     import org.junit.AfterClass;
-     import org.junit.BeforeClass;
-     import org.junit.Test;
-     import org.junit.runner.RunWith;
-
-     import java.net.URL;
-
-     import static org.junit.Assert.assertThat;
-     import static org.junit.internal.matchers.StringContains.containsString;
-
-     @RunWith(Arquillian.class)
-     public class Rot13Test {
-         @ArquillianResource
-         private URL url;
-
-         @Deployment(testable = false)
-         public static WebArchive war() {
-             return ShrinkWrap.create(WebArchive.class)
-                         .addClass(Rot13.class)
-                         .addAsWebInfResource(new ClassLoaderAsset("META-INF/openejb-jar.xml"), ArchivePaths.create("openejb-jar.xml"));
-         }
-
-         @Test
-         public void checkWSDLIsDeployedWhereItIsConfigured() throws Exception {
-             final String wsdl = IO.slurp(new URL(url.toExternalForm() + "tool/rot13?wsdl"));
-             assertThat(wsdl, containsString("Rot13"));
-         }
-     }
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/client-resource-lookup-preview.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/client-resource-lookup-preview.adoc b/src/main/jbake/content/examples/client-resource-lookup-preview.adoc
deleted file mode 100755
index a264a49..0000000
--- a/src/main/jbake/content/examples/client-resource-lookup-preview.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= client-resource-lookup-preview
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example client-resource-lookup-preview can be browsed at https://github.com/apache/tomee/tree/master/examples/client-resource-lookup-preview
-
-No README.md yet, be the first to contribute one!


[27/34] tomee-site-generator git commit: Merge old content. Move tech content to main build.

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/tools/maven/embedded.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/tools/maven/embedded.adoc b/src/main/jbake/content/developer/tools/maven/embedded.adoc
deleted file mode 100755
index 6e27054..0000000
--- a/src/main/jbake/content/developer/tools/maven/embedded.adoc
+++ /dev/null
@@ -1,53 +0,0 @@
-= TomEE Embedded Maven Plugin
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-TomEE Embedded Maven plugin has a single goal: `tomee-embedded:run`.
-
-=== Configuration
-
-[.table.table-bordered,options="header"]
-|===
-| Name | Default | Description
-| warFile | ${project.build.directory}/${project.build.finalName} | where is the binary
-| httpPort | 8080 | HTTP port
-| httpsPort | 8443 | HTTPS port
-| ajpPort | 8009 | AJP port
-| stopPort | 8005 | shutdown port
-| host | localhost | the server host
-| dir | ${project.build.directory}/apache-tomee-embedded | the work directory
-| keystoreFile | - | the keystore file for the HTTPS connector
-| keystorePass | - | the keystore password for the HTTPS connector
-| keystoreType | JKS | the keystore type for the HTTPS connector
-| clientAuth | - | should HTTPS use client authentication
-| keyAlias | - | the key to use for HTTPS
-| sslProtocol | - | the protocol to use for SSL/HTTPS
-| serverXml | - | a custom server.xml
-| ssl | false | is HTTPS active
-| withEjbRemote |false | is EJBd active
-| quickSession | true | is sessions using Random instead of SecureRandom to generate id (faster but less secure, good for dev purposes)
-| skipHttp | false | don't activate HTTP connector (allow to have only HTTPS for instance)
-| classpathAsWar | false | deploy the classpath instead of the binary/war
-| useProjectClasspath | true | in previous case use the project classpath and not plugin one
-| webResourceCached | true | should web resources be cached
-| modules | ${project.build.outputDirectory} | list of module to add to the classpath of the application
-| docBase | ${project.basedir}/src/main/webapp | where is the docBase in classpath deployment mode (where are web resources)
-| context | - | which context to use for the main artifact/deployment
-| containerProperties | - | map of container properties
-| mavenLog | true | should the plugin use maven logger instead of JUL
-| keepServerXmlAsThis | false | don't apply port/host configuration to the server.xml if provided
-| users | - | map of user/password
-| roles | - | map of role/users
-| forceJspDevelopment | true | ensure JSP are in development mode (updated)
-| applications | - | list of applications to deploy
-| applicationScopes | - | scope of the artifact to take into account for the classpath (ignore PROVIDED for instance)
-| skipCurrentProject | - | don't deploy current project but only configured applications
-| applicationCopyFolder | - | a folder containing applications
-| workDir | - | tomee embedded work dir
-| inlinedServerXml | - | server.xml content directly in the pom
-| inlinedTomEEXml | - | tomee.xml content directly in the pom
-| liveReload | - | livereload configuration if activated. This is an object containing these options: {watchedFolder: 'src/main/webapp', path: '/', port: 35729}
-| withLiveReload | false | activate livereload for web resources
-|===

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/tools/maven/tomee.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/tools/maven/tomee.adoc b/src/main/jbake/content/developer/tools/maven/tomee.adoc
deleted file mode 100755
index e4f5896..0000000
--- a/src/main/jbake/content/developer/tools/maven/tomee.adoc
+++ /dev/null
@@ -1,183 +0,0 @@
-= TomEE Maven Plugin
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-TomEE Maven Plugin is a set of goals for the development and to prepare to go in production:
-
-- `tomee:build`
-- `tomee:exec`
-- `tomee:configtest`
-- `tomee:debug`
-- `tomee:deploy`
-- `tomee:exec`
-- `tomee:list`
-- `tomee:run`
-- `tomee:start`
-- `tomee:stop`
-- `tomee:undeploy`
-
-=== Run
-
-The most commonly used goal, it allows to start a tomee with applications. Here is its configuration:
-
-[.table.table-bordered,options="header"]
-|===
-|Name|Default|Description
-
-|synchronization|-|a synchronization (see after the table)
-|synchronizations|-|list of synchronizations
-|reloadOnUpdate|-|should the application be redeployed when a synchronization is triggered
-
-|skipCurrentProject|false|should current project not be considered as a deployable even if its packaging is compatible (war typically)
-|tomeeVersion|auto, plugin one|which version of TomEE to use
-|tomeeGroupId|org.apache.tomee|TomEE artifact groupId
-|tomeeArtifactId|apache-tomee|TomEE artifact artifactId
-|tomeeType|zip| the type of the TomEE artifact , only zip supported at the moment
-|tomeeClassifier|webprofile|which flavor of TomEE to use (classifier)
-|tomeeShutdownPort|read from server.xml|the shutdown port
-|tomeeShutdownAttempts|60|how many times to wait for startup/shutdown (waits 1s in between)
-|tomeeShutdownCommand|SHUTDOWN|the shutdown command
-|tomeeAjpPort|read from the pom|the AJP port if needed
-|tomeeHttpsPort|read from the pom|the HTTPS port if needed
-|args|-|command line arguments (system properties, javaagent, JVM options ...)
-|debug|-|start and wait for a remote debugger to connect
-|debugPort|5005|used when debug to change the default port
-|simpleLog|false|use one line logs
-|extractWars|false|explode wars before starting
-|stripWarVersion|true|remove the version from the war name
-|stripVersion|false|remove the version from the artifact name whatever it is (even jar)
-|webappResources|${project.basedir}/src/main/webapp|where web resources are
-|webappClasses and classes|${project.build.outputDirectory}|where artifact binaries are
-|catalinaBase|${project.build.directory}/apache-tomee|where to create the tomee instance
-|context|-|name of the current artifact (rename the war from the maven name to this one)
-|webappDir|webapps|path to webapps folder from tomee.base
-|appDir|apps|path to apps folder from tomee.base
-|libDir|lib|where is lib folder
-|mainDir|${project.basedir}/src/main|used in openejb mode to change default config of conf/lib/bin folders to openejb instead of tomee
-|config|${project.basedir}/src/main/tomee/conf|a conf folder synchronized with TomEE one
-|bin|${project.basedir}/src/main/tomee/bin|a bin folder synchronized with TomEE one
-|lib|${project.basedir}/src/main/tomee/lib|a lib folder synchronized with TomEE one
-|systemVariables|-|a map of system properties
-|classpaths|-|a list of additional entries for the startup classpath
-|customizers|-|a list of customizers
-|jsCustomizers|-|a list of js customizers (js scripts)
-|groovyCustomizers|-|a list of groovy customizers (groovy scripts)
-|webappDefaultConfig|false|auto config war oriented
-|quickSession|true|session generation will use `Random` instead of `SecureRandom` (for dev)
-|forceReloadable|false|ensure TomEE supports reloading/redeployment
-|forceJspDevelopment|true|JSP will be auto-recompiled on changes
-|libs|-|dependencies to add in lib, see after this table for advanced usage
-|endorsedLibs|-|dependencies to add in endorsed, see after this table for advanced usage
-|javaagents|-|javaagents to add on the JVM, supports maven coordinates
-|persistJavaagents|false|should javaagent be saved or just use for this plugin run
-|webapps|-|additional applicatinos to deploy
-|warFile|${project.build.directory}/${project.build.finalName}.${project.packaging}|the war to deploy
-|workWarFile|${project.build.directory}/${project.build.finalName}"|the exploded war to deploy
-|removeDefaultWebapps|true| should default webapps (ROOT, docs, ...) be deleted
-|deployOpenEjbApplication|false|should openejb internal application be deployed
-|removeTomeeWebapp|true|should tomee webapp (with EJBd adapter) be deployed
-|tomeeAlreadyInstalled|false|skip all the setup configuration
-|ejbRemote|true|should EJBd be activated
-|checkStarted|false|should the plugin check the server is up (useful when used with `pre-integration` phase
-|useConsole|true|wait for the end of the execution reading inputs from the console (like `quit` command)
-|useOpenEJB|false|use openejb-standalone instead of tomee
-|inlinedServerXml|-|a server.xml content in pom.xml directly
-|inlinedTomEEXml|-|a tomee.xml content in pom.xml directly
-|overrideOnUnzip|true|if when unzipping tomee a file is already there should it be overriden
-|skipRootFolderOnUnzip|true|ignore root folder of the zip
-|keystore|-|path to keystore for HTTPS connector
-|===
-
-
-Synchronization are blocks defining a source and target folder and both are synchronized. It typically copy
-`src/main/webapp` resources in `target/apache-tomee/webapps/myapp/`.
-
-
-==== Customizers
-
-Customizers are java classes loadable by the plugin and with a main or implementing `Runnable` and taking optionally
-as constructor parameter a `File` representing `tomee.base` or no arguments.
-
-They are executed when creating the TomEE instance.
-
-There are two scripting flavors of that: js and groovy. Both will have some contextual variables:
-
-- catalinaBase: tomee base path
-- resolver: a maven resolver to get a dependency using maven. For instance: `resolver.resolve('group', 'artfact', 'version', 'type')`
-
-==== Dependencies (libs)
-
-The format can be:
-
-- a maven dependency:
-
-[source]
-----
-groupId:artifactId:version
-----
-
-- a zip dependency and extracted in lib folder:
-
-[source]
-----
-unzip:groupId:artifactId:version
-----
-
-- a matching prefix to remove:
-
-[source]
-----
-remove:prefix
-----
-
-==== Example
-
-[source,xml]
-----
-<plugin>
-  <groupId>org.apache.tomee.maven</groupId>
-  <artifactId>tomee-maven-plugin</artifactId>
-  <version>${tomee7.version}</version>
-  <configuration>
-    <tomeeClassifier>plus</tomeeClassifier>
-    <debug>false</debug>
-    <debugPort>5005</debugPort>
-    <args>-Dfoo=bar</args>
-    <config>${project.basedir}/src/test/tomee/conf</config>
-    <libs>
-      <lib>mysql:mysql-connector-java:5.1.20</lib>
-    </libs>
-    <webapps>
-       <webapp>org.superbiz:myapp:4.3?name=ROOT</webapp>
-       <webapp>org.superbiz:api:1.1</webapp>
-    </webapps>
-    <apps>
-        <app>org.superbiz:mybugapp:3.2:ear</app>
-    </apps>
-    <libs>
-        <lib>mysql:mysql-connector-java:5.1.21</lib>
-        <lib>unzip:org.superbiz:hibernate-bundle:4.1.0.Final:zip</lib>
-        <lib>remove:openjpa-</lib>
-    </libs>
-  </configuration>
-</plugin>
-----
-
-=== Build
-
-Excepted synchronization, build plugin inherit from `run` Mojo its configuration. It just adds the following:
-
-[.table.table-bordered,options="header"]
-|===
-|Name|Default|Description
-|formats|-|map of configuration, keys are format (zip, tar.gz) and value the target location
-|zip|true|create a zip from the configured instance
-|attach|true|attach created artifacts
-|skipArchiveRootFolder|false|don't add a root folder in the zip
-|===
-
-=== Tomcat like goals
-
-`configtest`, `start` and `stop` just execute these commands on the server (like on `catalina.sh`).

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/enterprise-tomcat.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/enterprise-tomcat.mdtext b/src/main/jbake/content/enterprise-tomcat.mdtext
new file mode 100644
index 0000000..4b617a8
--- /dev/null
+++ b/src/main/jbake/content/enterprise-tomcat.mdtext
@@ -0,0 +1,5 @@
+Title: Enterprise Tomcat
+
+Tomcat + Java EE = TomEE, the Java Enterprise Edition of Tomcat.
+
+{include:apache-tomee.mdtext}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/evolution-of-ejb.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/evolution-of-ejb.mdtext b/src/main/jbake/content/evolution-of-ejb.mdtext
new file mode 100644
index 0000000..6505708
--- /dev/null
+++ b/src/main/jbake/content/evolution-of-ejb.mdtext
@@ -0,0 +1,114 @@
+# Evolution of EJB
+
+The following is a view of how EJB has evolved strictly in terms of the other specifications EJB incorporates.  Despite how people think of EJB, EJB is the union of all of the following APIs.
+
+Commonly misunderstood or oversimplified, it really is the integration of many things into one place that drives EJB.
+
+<table>
+<tr>
+<th></th>
+<th>1.1</th>
+<th>2.0</th>
+<th>2.1</th>
+<th>3.0</th>
+<th>3.1</th>
+</tr>
+
+<td>Java Transaction API (JTA)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>JavaMail API</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java EE Connector Architecture</td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java Messaging Service (JMS)</td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java Authentication and Authorization Service (JAAS)</td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java Authorization Contract for Containers (JACC)</td>
+<td></td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java Persistence API (JPA)</td>
+<td></td>
+<td></td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<td>Java API for XML Web Services (JAX-WS)</td>
+<td></td>
+<td></td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java API for RESTful Web Services (JAX-RS)</td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java Contexts and Dependency Injection (CDI)</td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Bean Validation</td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td>(/)</td>
+</tr>
+
+</table>

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/faq.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/faq.mdtext b/src/main/jbake/content/faq.mdtext
new file mode 100644
index 0000000..dea9cf5
--- /dev/null
+++ b/src/main/jbake/content/faq.mdtext
@@ -0,0 +1,96 @@
+Title: FAQ
+<a name="FAQ-&nbsp;General"></a>
+## &nbsp;General
+
+&nbsp;
+
+<a name="FAQ-WhatspecversiondoesOpenEJBsupport?"></a>
+### What spec version does OpenEJB support?
+
+OpenEJB supports the Enterprise JavaBeans 3.0 specification and previous
+versions 2.1, 2.0 and 1.1.
+
+<a name="FAQ-Idon'tplantouseEJBs,sowhywouldIembedOpenEJBintoTomcat."></a>
+###  I don't plan to use EJBs, so why would I embed OpenEJB into Tomcat.
+
+Adding OpenEJB to Tomcat gives servlets several new Java EE 5 capabilities
+such as JPA, JAX-WS, JMS, J2EE Connectors, transactions, and more as well
+as enhancing the injection features of Tomcat 6 to now support injection of
+JavaEE objects like Topics, Queues, EntityManagers, JMS
+ConnectionFactories, JavaMail Sessions, as well as simpler data types such
+as Dates, Classes, URI, URL, List, Map, Set, Properties, and more.  In the
+case of Tomcat 5.5 which doesn't support dependency injection at all, even
+more is gained.
+
+<a name="FAQ-CanIrunOpenEJBwithaJVMforanyvendor?"></a>
+### Can I run OpenEJB with a JVM for any vendor?
+
+The Sun, Mac, and IBM vms are regularly tested, however any vm should work.
+
+<a name="FAQ-WhichversionofJavaisrequiredtorunOpenEJB?"></a>
+### Which version of Java is required to run OpenEJB?
+
+Java versions 5 or 6, aka Java 1.5 or 1.6.
+
+<a name="FAQ-DoIneedApacheMaventoworkwithOpenEJB?"></a>
+### Do I need Apache Maven to work with OpenEJB?
+
+Definitely not. Most of the examples include both Maven and Ant build
+files.	OpenEJB is usable as a plain library, much like an embedded
+database like Derby, so it is usable in any application regardless if that
+application is run via Maven, Ant, Intellij, Eclipse, NetBeans, JUnit,
+TestNG, etc.
+
+### Can I start and stop OpenEJB from an IDE? If yes, which IDE is
+supported by OpenEJB?
+
+The short answer is yes.  The basic approach for all embedding scenarios is
+to 1) add OpenEJB to your classpath, and 2) construct your InitialContext
+using org.apache.openejb.client.LocalInitialContextFactory.  The
+LocalInitialContextFactory will boot OpenEJB in your vm and all ejb
+applications visible in the classpath will be deployed. See
+http://tomee.apache.org/embedding-openejb.html for details on how to
+embed openejb in your application and IDE.  See [Application discovery via the classpath](openejbx30:application-discovery-via-the-classpath.html)
+ for various ways to have your applications discovered. 
+
+
+###  During embedded testing, how can I externalize all my DataSource
+configuration? 
+
+Create an openejb.xml file in any directory that gets added to your test
+classpath. For maven, something that winds up directly under
+"target/classes/" or "target/test-classes/" will work just fine.  Then in
+your test case do this:
+
+       protected void setUp() throws Exception {
+           Properties properties = new Properties();
+           properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, 
+"org.apache.openejb.client.LocalInitialContextFactory");
+    
+           URL config =
+this.getClass().getClassLoader().getResource("openejb.xml");
+           properties.setProperty("openejb.configuration",
+config.toExternalForm());
+    
+           initialContext = new InitialContext(properties);
+       }
+
+The file itself doesn't have to be called "openejb.xml", you could have a
+few different files like that for different testing scenarios each with a
+name that describes the basic setup.
+
+<a name="FAQ-Container-ManagedPersistence"></a>
+## Container-Managed Persistence
+
+<a name="FAQ-WhatenginedoesOpenEJBuseforCMP?"></a>
+### What engine does OpenEJB use for CMP?
+
+The CMP engine is written as a layer over JPA with OpenJPA doing the
+persistence work.
+
+<a name="FAQ-WhatistheformatfortheCMPmappingfiles?"></a>
+### What is the format for the CMP mapping files?
+
+The standard JPA mapping file and annotations are also used for CMP
+mappings.
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/features.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/features.mdtext b/src/main/jbake/content/features.mdtext
new file mode 100644
index 0000000..72b8e33
--- /dev/null
+++ b/src/main/jbake/content/features.mdtext
@@ -0,0 +1 @@
+Title: Features

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/geronimo.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/geronimo.mdtext b/src/main/jbake/content/geronimo.mdtext
new file mode 100644
index 0000000..e352af6
--- /dev/null
+++ b/src/main/jbake/content/geronimo.mdtext
@@ -0,0 +1,7 @@
+Title: Geronimo
+OpenEJB is the EJB Container implementation for [Apache Geronimo](http://geronimo.apache.org)
+.  That integration is quite a bit different than what OpenEJB users are
+familiar with.	The best source of documentation on Geronimo and it's usage
+of OpenEJB is here:  
+
+ - [http://geronimo.apache.org/documentation.html](http://geronimo.apache.org/documentation.html)

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/lightening-demos.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/lightening-demos.mdtext b/src/main/jbake/content/lightening-demos.mdtext
new file mode 100644
index 0000000..0e9df58
--- /dev/null
+++ b/src/main/jbake/content/lightening-demos.mdtext
@@ -0,0 +1,83 @@
+Title: Lightening Demos
+
+### Lightening Demos Details
+
+<div >
+<table class="confluenceTable"><tbody>
+<tr>
+<th > Demo Name                                      </th>
+<th > Description </th>
+<th > Sponsor      </th>
+<th > Links/Comments                    </th>
+</tr>
+<tr>
+<td > TestCase Injection                              </td>
+<td >&nbsp;</td>
+<td > David Blevins </td>
+<td > <a rel="nofollow" class="external-link" href="http://www.youtube.com/watch?v=g5l14G9RBCM">Youtube </a>, <a rel="nofollow" class="external-link" href="http://vimeo.com/16876983">Vimeo </a> </td>
+</tr>
+<tr>
+<td > Simple @WebService                              </td>
+<td >&nbsp;</td>
+<td > David Blevins </td>
+<td > <a rel="nofollow" class="external-link" href="http://www.youtube.com/watch?v=ZcSnhVlOxJc">Youtube </a>, <a rel="nofollow" class="external-link" href="http://vimeo.com/16876894">Vimeo </a> </td>
+</tr>
+<tr>
+<td > Simple @Stateless bean                          </td>
+<td >&nbsp;</td>
+<td > David Blevins </td>
+<td > <a rel="nofollow" class="external-link" href="http://www.youtube.com/watch?v=aLx2jta96xU">Youtube </a>, <a rel="nofollow" class="external-link" href="http://vimeo.com/16876787">Vimeo </a> </td>
+</tr>
+<tr>
+<td > Simple @Stateful bean                           </td>
+<td >&nbsp;</td>
+<td > David Blevins </td>
+<td > <a rel="nofollow" class="external-link" href="http://www.youtube.com/watch?v=9JqxbfzsWOQ">Youtube </a>, <a rel="nofollow" class="external-link" href="http://vimeo.com/16876733">Vimeo </a> </td>
+</tr>
+<tr>
+<td > Simple @MessageDriven bean                      </td>
+<td >&nbsp;</td>
+<td > David Blevins </td>
+<td > <a rel="nofollow" class="external-link" href="http://www.youtube.com/watch?v=HmXFxMDLCJQ">Youtube </a>, <a rel="nofollow" class="external-link" href="http://vimeo.com/16876667">Vimeo </a> </td>
+</tr>
+<tr>
+<td > EntityManager injection and usage               </td>
+<td >&nbsp;</td>
+<td > David Blevins </td>
+<td > <a rel="nofollow" class="external-link" href="http://www.youtube.com/watch?v=s4uiIoAehgQ">Youtube </a>, <a rel="nofollow" class="external-link" href="http://vimeo.com/16876564">Vimeo </a> </td>
+</tr>
+<tr>
+<td > DataSource injection and usage                  </td>
+<td >&nbsp;</td>
+<td > David Blevins </td>
+<td > <a rel="nofollow" class="external-link" href="http://www.youtube.com/watch?v=g3lIPlegDJk">Youtube </a>, <a rel="nofollow" class="external-link" href="http://vimeo.com/16876492">Vimeo </a> </td>
+</tr>
+<tr>
+<td > Alternate Descriptors                           </td>
+<td >&nbsp;</td>
+<td > David Blevins </td>
+<td > <a rel="nofollow" class="external-link" href="http://www.youtube.com/watch?v=r1lDC40ESug">Youtube </a>, <a rel="nofollow" class="external-link" href="http://vimeo.com/16876426">Vimeo </a> </td>
+</tr>
+<tr>
+<td > Getting started with the OpenEJB Eclipse Plugin </td>
+<td >&nbsp;</td>
+<td > David Blevins </td>
+<td > <a rel="nofollow" class="external-link" href="http://vimeo.com/7393498">Vimeo </a>  </td>
+</tr>
+<tr>
+<td > EJB Unit Testing with Eclipse and OpenEJB       </td>
+<td >&nbsp;</td>
+<td > David Blevins </td>
+<td > <a rel="nofollow" class="external-link" href="http://vimeo.com/6149008">Vimeo </a>  </td>
+</tr>
+<tr>
+<td > ScreenFlow720                                   </td>
+<td >&nbsp;</td>
+<td > David Blevins </td>
+<td > <a rel="nofollow" class="external-link" href="http://vimeo.com/16872034">Vimeo </a> </td>
+</tr>
+</tbody></table>
+</div>
+
+*NOTE: For more details about the idea behind Lightening Demos, please read [this ](-http://markmail.org/message/5jq5xun44kt7tcni.html)
+ e-mail thread.*
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/mailing-lists.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/mailing-lists.mdtext b/src/main/jbake/content/mailing-lists.mdtext
new file mode 100644
index 0000000..9b59e9e
--- /dev/null
+++ b/src/main/jbake/content/mailing-lists.mdtext
@@ -0,0 +1,74 @@
+Title: Mailing Lists
+
+<a name="MailingLists-UserMailingList"></a>
+# User Mailing List
+
+Where the general TomEE community goes to ask questions, make
+suggestions, chat  with other users and developers, and keep a finger on
+the pulse of the project.
+
+Medium volume mailing list, dedicated to the  TomEE community.
+
+* [users@tomee.apache.org](mailto:users@tomee.apache.org)
+* [Subscribe](mailto:users-subscribe@tomee.apache.org)
+* [Unsubscribe](mailto:users-unsubscribe@tomee.apache.org)
+
+TomEE Users Online Archives/Forums:
+<table>
+<tr><th> Search </th><th> Post </th><th> Depth </th><th> Archive URL </th></tr>
+<tr><td> (/) </td><td> (x) </td><td> 2002 </td><td>  http://openejb.markmail.org/search/?q=type:users </td></tr>
+<tr><td> (/) </td><td> (x) </td><td> 2002 </td><td>  http://marc.info/?l=openejb-user </td></tr>
+<tr><td> (x) </td><td> (x) </td><td> 2006 </td><td> 
+http://mail-archives.apache.org/mod_mbox/TomEE-users/ </td></tr>
+<tr><td> (/) </td><td> (/) </td><td> 2006 </td><td>  http://n4.nabble.com/OpenEJB-User-f979441.html </td></tr>
+<tr><td> (/) </td><td> (x) </td><td> 2007 </td><td>  http://www.mail-archive.com/users@tomee.apache.org
+</td></tr>
+</table>
+
+<a name="MailingLists-DeveloperMailingList"></a>
+# Developer Mailing List
+
+If you're a developer or contributor on TomEE, this is the place for you.
+Join in on the develpment and planning discussions. Get the scoop on the
+changes that take place in TomEE as our team is hard at work in
+developing and refining the TomEE container system.
+
+* [dev@tomee.apache.org](mailto:dev@tomee.apache.org)
+* [Subscribe](mailto:dev-subscribe@tomee.apache.org)
+* [Unsubscribe](mailto:dev-unsubscribe@tomee.apache.org)
+
+TomEE Developers Online Archives/Forums:
+<table>
+<tr><th> Search </th><th> Post </th><th> Depth </th><th> Archive URL </th></tr>
+<tr><td> (/) </td><td> (x) </td><td> 2002 </td><td> 
+http://openejb.markmail.org/search/?q=type:development </td></tr>
+<tr><td> (/) </td><td> (x) </td><td> 2002 </td><td>  http://marc.info/?l=openejb-development </td></tr>
+<tr><td> (x) </td><td> (x) </td><td> 2006 </td><td>  http://mail-archives.apache.org/mod_mbox/tomee-dev/
+</td></tr>
+<tr><td> (/) </td><td> (/) </td><td> 2006 </td><td>  http://n4.nabble.com/OpenEJB-Dev-f982480.html </td></tr>
+<tr><td> (/) </td><td> (x) </td><td> 2007 </td><td>  http://www.mail-archive.com/dev@tomee.apache.org </td></tr>
+</table>
+
+<a name="MailingLists-CommitMailingList"></a>
+# Commit Mailing List
+
+Keep tabs on all the changes to our svn. We have mixed a few of the popular
+perl scripts for cvs email notification as well as added a few features
+that are all new. This new list provides you with as-it-happens information
+regarding TomEE development.
+
+* [commits@tomee.apache.org](mailto:commits@tomee.apache.org)
+* [Subscribe](mailto:commits-subscribe@tomee.apache.org)
+* [Unsubscribe](mailto:commits-unsubscribe@tomee.apache.org)
+
+TomEE Commits Online Archives/Forums:
+<table>
+<tr><th> Search </th><th> Post </th><th> Depth </th><th> Archive URL </th></tr>
+<tr><td> (/) </td><td> (x) </td><td> 2002 </td><td>  http://openejb.markmail.org/search/?q=type:checkins </td></tr>
+<tr><td> (/) </td><td> (x) </td><td> 2004 </td><td>  http://marc.info/?l=openejb-cvs </td></tr>
+<tr><td> (x) </td><td> (x) </td><td> 2006 </td><td> 
+http://mail-archives.apache.org/mod_mbox/TomEE-commits/ </td></tr>
+<tr><td> (/) </td><td> (x) </td><td> 2007 </td><td> 
+http://www.mail-archive.com/commits@tomee.apache.org </td></tr>
+</table>
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/management-and-voting.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/management-and-voting.mdtext b/src/main/jbake/content/management-and-voting.mdtext
new file mode 100644
index 0000000..26d043c
--- /dev/null
+++ b/src/main/jbake/content/management-and-voting.mdtext
@@ -0,0 +1,86 @@
+Title: Management and Voting
+<a name="ManagementandVoting-Basicinfo"></a>
+# Basic info
+
+Apache has a few roles that relate to all Apache projects:
+
+ - Contributors [http://www.apache.org/dev/contributors.html](http://www.apache.org/dev/contributors.html)
+ - Committers [http://www.apache.org/dev/committers.html](http://www.apache.org/dev/committers.html)
+ - PMC Members [http://www.apache.org/dev/pmc.html](http://www.apache.org/dev/pmc.html)
+
+Despite there being various roles, we try extremely hard to keep the
+project flat.  All feedback is welcome, all people matter.  Everyone should
+feel very encouraged to participate regardless if they are new or old to
+the project.  If you are new and want to participate, please speak up,
+we'll always be happy to hear from you.
+
+If anything there is a reverse hierarchy that is not unlike traffic laws;
+pedestrians (users) always have the right of way, bikes (contributors)
+yield to pedestrians, automobiles (committers) yield to bikes and
+pedestrians.  Depending on what you're driving you have a greater
+responsibility to those around you.  Be careful not to run anyone over.
+
+<a name="ManagementandVoting-PMC"></a>
+# PMC
+
+We don't focus on the PMC in this project so many may not have a clear
+concept of it.	Every project at Apache has a PMC which at minimum
+represents Apache from a legal perspective.  The people on it are expected
+to provide legal oversight, making sure that the legal entity that is
+Apache has awareness enough to legally protect the code that leaves it's
+doors, the users that use it, and the people who create it.  This means
+making sure any contributions going into the project are clean and can be
+legally projected and making sure any binaries going out meet the legal
+requirements so they as well can be legally protected.	It's a lot of
+watching all commits, keeping an eye on doc contributions, ensuring CLAs
+are on file for anything of substantial size, screening release binaries
+and source for headers, license files, making sure any binaries being
+widely distributed have been voted on, etc., etc.  If you are on the PMC
+and you vote on a release it means *you* have done all these things to the
+best of your ability.  If you have not, you either should not be on the PMC
+or should not vote +1.
+
+Being on the PMC is a service, not an achievement.  Therefore if someone is
+added to the PMC you should not say "congratulations", but simply "thank
+you."  It does not mean anything more than they have the time to help us
+function legally.  If someone is perpetually too busy to provide legal
+oversight and steps down or goes emeritus, it does not mean they are
+leaving, just that they are too busy for the extra legal responsibility.
+
+Some projects go beyond that and use the PMC as the decision makers and
+leaders of the project.  We do not.  We make all our decisions on the dev
+list.  We don't even focus on who is a committer and who is not, which is a
+major factor of our family-like community and general "everyone is welcome
+and matters" spirit.  If someone doesn't feel like their input matters till
+they are a committer, or any other status, we've done something wrong. 
+Fortunately, this is one of our strongest attributes and part of the magic
+that is this community.
+
+<a name="ManagementandVoting-FAQ"></a>
+# FAQ
+
+<a name="ManagementandVoting-Q.Whosevotescount?"></a>
+## Q. Whose votes count?
+
+Apache requires a minimum of three +1 PMC votes which have legal
+significance to Apache as a corporation.  That said, all votes from the
+community are significant to the project and decision making and any -1 is
+cause for pause and discussion.  We frequently encourage and welcome votes
+from anyone in the community regardless of status.
+
+## Q. Voting on people: Is it hard to vote -1 in public / Can someone get their feelings hurt ?
+
+Yes and yes.  Voting in public requires greater care and sensitivity on
+behalf of everyone; the vote proposer, the voters, and the votee.  Prior to
+voting the proposer should create several opportunities for feedback,
+hopefully positive and constructive.  Community members with concerns
+should get involved early and actively mentor potential committers, taking
+opportunities for feedback as queues to get involved, encourage, and work
+through areas where they see said person needs more help.  The contributor
+should actively solicit and welcome all help and feedback and encouragement
+and feel welcome to give it in return.	Do not rush; all parties (proposer,
+voters, and votee) have work to do in grooming contributors, etc., and that
+work takes time.  Votes that result in one or more -1s should not be seen
+as a failure of any one individual and instead be seen as an opportunity
+for all parties (proposer, voters, and votee) to make improvements, be more
+active, and give the process more time.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/powered-by.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/powered-by.mdtext b/src/main/jbake/content/powered-by.mdtext
new file mode 100644
index 0000000..82221e0
--- /dev/null
+++ b/src/main/jbake/content/powered-by.mdtext
@@ -0,0 +1,20 @@
+Title: Powered By
+
+This page is a list of some, in all likelihood a very small fraction actually, of the sites out there that use Apache TomEE in production. For security and other policy-related reasons, many organizations choose not to disclose the server they use.
+
+Anyone can and is encouraged to add to this page: please add your site, application, or system as you see fit.
+
+Don't worry if you don't think it fits here or into any particular category. We would like to see your application listed no matter how big, how small, or how miscategorized.
+
+Please note that all the corporate logos and names used below are trademarked by their respective organizations. These organizations are not affiliated with this web site or with The Apache Software Foundation, and make no claims regarding The Foundation or its products.
+
+# Sites
+
+- [iLikePlaces](http://ilikeplaces.com/)
+
+# Software
+
+
+# Services
+
+ - [Metawerx](http://metawerx.net) - offers Apache TomEE hosting and provides detailed statistics and support services.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2010_ApacheCon_OpenEJB_InDepth.key
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2010_ApacheCon_OpenEJB_InDepth.key b/src/main/jbake/content/presentations/2010_ApacheCon_OpenEJB_InDepth.key
new file mode 100644
index 0000000..87c5198
Binary files /dev/null and b/src/main/jbake/content/presentations/2010_ApacheCon_OpenEJB_InDepth.key differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2010_ApacheCon_OpenEJB_InDepth.pdf
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2010_ApacheCon_OpenEJB_InDepth.pdf b/src/main/jbake/content/presentations/2010_ApacheCon_OpenEJB_InDepth.pdf
new file mode 100644
index 0000000..2aae1a9
Binary files /dev/null and b/src/main/jbake/content/presentations/2010_ApacheCon_OpenEJB_InDepth.pdf differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_ApacheCon_Apache_TomEE_Java_EE_6_Web_Profile.key
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_ApacheCon_Apache_TomEE_Java_EE_6_Web_Profile.key b/src/main/jbake/content/presentations/2011_ApacheCon_Apache_TomEE_Java_EE_6_Web_Profile.key
new file mode 100644
index 0000000..cbdb598
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_ApacheCon_Apache_TomEE_Java_EE_6_Web_Profile.key differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_ApacheCon_Apache_TomEE_Java_EE_6_Web_Profile.pdf
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_ApacheCon_Apache_TomEE_Java_EE_6_Web_Profile.pdf b/src/main/jbake/content/presentations/2011_ApacheCon_Apache_TomEE_Java_EE_6_Web_Profile.pdf
new file mode 100644
index 0000000..bf1afe2
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_ApacheCon_Apache_TomEE_Java_EE_6_Web_Profile.pdf differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_JAX_London_Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.key
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_JAX_London_Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.key b/src/main/jbake/content/presentations/2011_JAX_London_Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.key
new file mode 100644
index 0000000..7bc99d5
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_JAX_London_Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.key differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_JAX_London_Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.pdf
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_JAX_London_Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.pdf b/src/main/jbake/content/presentations/2011_JAX_London_Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.pdf
new file mode 100644
index 0000000..348d180
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_JAX_London_Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.pdf differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_JAX_London_Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.ppt
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_JAX_London_Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.ppt b/src/main/jbake/content/presentations/2011_JAX_London_Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.ppt
new file mode 100644
index 0000000..78068a7
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_JAX_London_Autumn_TomEE_JavEE_Web_Profile_on_Tomcat.ppt differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_JAX_London_Fun_EJB31_and_OpenEJB.key
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_JAX_London_Fun_EJB31_and_OpenEJB.key b/src/main/jbake/content/presentations/2011_JAX_London_Fun_EJB31_and_OpenEJB.key
new file mode 100644
index 0000000..86b414d
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_JAX_London_Fun_EJB31_and_OpenEJB.key differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_JAX_London_Fun_EJB31_and_OpenEJB.pdf
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_JAX_London_Fun_EJB31_and_OpenEJB.pdf b/src/main/jbake/content/presentations/2011_JAX_London_Fun_EJB31_and_OpenEJB.pdf
new file mode 100644
index 0000000..68eab7a
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_JAX_London_Fun_EJB31_and_OpenEJB.pdf differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_JavaOne_Apache_TomEE_Java_EE_6_Web_Profile.key
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_JavaOne_Apache_TomEE_Java_EE_6_Web_Profile.key b/src/main/jbake/content/presentations/2011_JavaOne_Apache_TomEE_Java_EE_6_Web_Profile.key
new file mode 100644
index 0000000..582a7cd
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_JavaOne_Apache_TomEE_Java_EE_6_Web_Profile.key differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_JavaOne_Apache_TomEE_Java_EE_6_Web_Profile.pdf
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_JavaOne_Apache_TomEE_Java_EE_6_Web_Profile.pdf b/src/main/jbake/content/presentations/2011_JavaOne_Apache_TomEE_Java_EE_6_Web_Profile.pdf
new file mode 100644
index 0000000..6e83a87
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_JavaOne_Apache_TomEE_Java_EE_6_Web_Profile.pdf differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_JavaOne_EJB_with_Meta_Annotations.key
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_JavaOne_EJB_with_Meta_Annotations.key b/src/main/jbake/content/presentations/2011_JavaOne_EJB_with_Meta_Annotations.key
new file mode 100644
index 0000000..68564e8
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_JavaOne_EJB_with_Meta_Annotations.key differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_JavaOne_EJB_with_Meta_Annotations.pdf
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_JavaOne_EJB_with_Meta_Annotations.pdf b/src/main/jbake/content/presentations/2011_JavaOne_EJB_with_Meta_Annotations.pdf
new file mode 100644
index 0000000..b3eeee0
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_JavaOne_EJB_with_Meta_Annotations.pdf differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_JavaOne_Fun_with_EJB_3_1_and_OpenEJB.key
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_JavaOne_Fun_with_EJB_3_1_and_OpenEJB.key b/src/main/jbake/content/presentations/2011_JavaOne_Fun_with_EJB_3_1_and_OpenEJB.key
new file mode 100644
index 0000000..5c014ba
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_JavaOne_Fun_with_EJB_3_1_and_OpenEJB.key differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_JavaOne_Fun_with_EJB_3_1_and_OpenEJB.pdf
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_JavaOne_Fun_with_EJB_3_1_and_OpenEJB.pdf b/src/main/jbake/content/presentations/2011_JavaOne_Fun_with_EJB_3_1_and_OpenEJB.pdf
new file mode 100644
index 0000000..30f1f7b
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_JavaOne_Fun_with_EJB_3_1_and_OpenEJB.pdf differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_OSCONj-ApacheTomEE.key
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_OSCONj-ApacheTomEE.key b/src/main/jbake/content/presentations/2011_OSCONj-ApacheTomEE.key
new file mode 100644
index 0000000..c94670f
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_OSCONj-ApacheTomEE.key differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2011_OSCONj-ApacheTomEE.pdf
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2011_OSCONj-ApacheTomEE.pdf b/src/main/jbake/content/presentations/2011_OSCONj-ApacheTomEE.pdf
new file mode 100644
index 0000000..97147b4
Binary files /dev/null and b/src/main/jbake/content/presentations/2011_OSCONj-ApacheTomEE.pdf differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2012_JAXConf_Tomcat_to_JavaEE_with_TomEE.key
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2012_JAXConf_Tomcat_to_JavaEE_with_TomEE.key b/src/main/jbake/content/presentations/2012_JAXConf_Tomcat_to_JavaEE_with_TomEE.key
new file mode 100644
index 0000000..5b539f3
Binary files /dev/null and b/src/main/jbake/content/presentations/2012_JAXConf_Tomcat_to_JavaEE_with_TomEE.key differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/2012_JAXConf_Tomcat_to_JavaEE_with_TomEE.pdf
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/2012_JAXConf_Tomcat_to_JavaEE_with_TomEE.pdf b/src/main/jbake/content/presentations/2012_JAXConf_Tomcat_to_JavaEE_with_TomEE.pdf
new file mode 100644
index 0000000..8ce5639
Binary files /dev/null and b/src/main/jbake/content/presentations/2012_JAXConf_Tomcat_to_JavaEE_with_TomEE.pdf differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/Apache TomEE - Tomcat with a kick.odp
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/Apache TomEE - Tomcat with a kick.odp b/src/main/jbake/content/presentations/Apache TomEE - Tomcat with a kick.odp
new file mode 100644
index 0000000..6036b1e
Binary files /dev/null and b/src/main/jbake/content/presentations/Apache TomEE - Tomcat with a kick.odp differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/Apache TomEE - Tomcat with a kick.pdf
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/Apache TomEE - Tomcat with a kick.pdf b/src/main/jbake/content/presentations/Apache TomEE - Tomcat with a kick.pdf
new file mode 100644
index 0000000..5580f26
Binary files /dev/null and b/src/main/jbake/content/presentations/Apache TomEE - Tomcat with a kick.pdf differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/JAOO-2006.pdf
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/JAOO-2006.pdf b/src/main/jbake/content/presentations/JAOO-2006.pdf
new file mode 100644
index 0000000..6b9d64e
Binary files /dev/null and b/src/main/jbake/content/presentations/JAOO-2006.pdf differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/presentations/favicon.ico
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/presentations/favicon.ico b/src/main/jbake/content/presentations/favicon.ico
new file mode 100644
index 0000000..f0c22ad
Binary files /dev/null and b/src/main/jbake/content/presentations/favicon.ico differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/privacy-policy.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/privacy-policy.mdtext b/src/main/jbake/content/privacy-policy.mdtext
new file mode 100644
index 0000000..2fb5b2e
--- /dev/null
+++ b/src/main/jbake/content/privacy-policy.mdtext
@@ -0,0 +1,23 @@
+Title: Privacy Policy
+Information about your use of this website is collected using server access
+logs and a tracking cookie. The collected information consists of the
+following:
+
+1. The IP address from which you access the website;
+1. The type of browser and operating system you use to access our site;
+1. The date and time you access our site;
+1. The pages you visit; and
+1. The addresses of pages from where you followed a link to our site.
+
+Part of this information is gathered using a tracking cookie set by the [Google Analytics](http://www.google.com/analytics/)
+ service and handled by Google as described in their [privacy policy|http://www.google.com/privacy.html]
+. See your browser documentation for instructions on how to disable the
+cookie if you prefer not to share this data with Google.
+
+We use the gathered information to help us make our site more useful to
+visitors and to better understand how and when our site is used. We do not
+track or collect personally identifiable information or associate gathered
+data with any personally identifying information from other sources.
+
+By using this website, you consent to the collection of this data in the
+manner and for the purpose described above.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/robots.txt
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/robots.txt b/src/main/jbake/content/robots.txt
new file mode 100644
index 0000000..e3a824d
--- /dev/null
+++ b/src/main/jbake/content/robots.txt
@@ -0,0 +1,4 @@
+User-agent: *
+Allow: /
+Allow: /sitemap.htm
+Sitemap: http://tomee.apache.org/sitemap.xml

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/support.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/support.mdtext b/src/main/jbake/content/support.mdtext
new file mode 100644
index 0000000..38859b2
--- /dev/null
+++ b/src/main/jbake/content/support.mdtext
@@ -0,0 +1,36 @@
+Title: Getting Support
+
+{row
+
+{span-one-third
+## Mailing Lists
+
+* [Users](mailto:users@tomee.apache.org) ([Subscribe](mailto:users-subscribe@tomee.apache.org), [Unsubscribe](mailto:users-unsubscribe@tomee.apache.org))
+* [Developers](mailto:dev@tomee.apache.org) ([Subscribe](mailto:dev-subscribe@tomee.apache.org), [Unsubscribe](mailto:dev-unsubscribe@tomee.apache.org))
+* [Commits](mailto:commits@tomee.apache.org) ([Subscribe](mailto:commits-subscribe@tomee.apache.org), [Unsubscribe](mailto:commits-unsubscribe@tomee.apache.org))
+* [IRC](http://webchat.freenode.net/?channels=openejb)
+
+}
+
+{span-one-third
+## Forums
+
+* [User Forum](http://openejb.979440.n4.nabble.com/OpenEJB-User-f979441.html)
+* [Dev Forum](http://openejb.979440.n4.nabble.com/OpenEJB-Dev-f982480.html)
+
+}
+
+{span-one-third
+## JIRA
+
+* [TOMEE](https://issues.apache.org/jira/browse/TOMEE)
+* [OPENEJB](https://issues.apache.org/jira/browse/OPENEJB)
+
+}
+
+}
+
+Support for Apache TomEE is given freely by the community.  Please be aware when asking questions that the Apache Software Foundation does not have paid developers or dedicated support staff.
+All community support comes from volunteers on a volunteer basis.  Joining the community as a volunteer and helping your fellow users is highly encouraged!
+
+For commercial support or to commercially support the community see [Commercial Support](commercial-support.html) page.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/team.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/team.mdtext b/src/main/jbake/content/team.mdtext
new file mode 100644
index 0000000..cc948a2
--- /dev/null
+++ b/src/main/jbake/content/team.mdtext
@@ -0,0 +1,106 @@
+Title: Team
+<table>
+<tr><td> [Alan Cabrera](mailto:adc@apache.org.html)
+ </td><td> Committer, PMC </td><td> [adc</td><td>http://people.apache.org/~adc]
+ </td><td> [map</td><td>http://people.apache.org/map.html?adc]
+</td></tr>
+<tr><td> [Aaron Mulder](mailto:ammulder@apache.org.html)
+ </td><td> Committer </td><td> [ammulder</td><td>http://people.apache.org/~ammulder]
+ </td><td> [map</td><td>http://people.apache.org/map.html?ammulder]
+</td></tr>
+<tr><td> [Andrew Gumbrecht](mailto:andygumbrecht@apache.org.html)
+ </td><td> Committer </td><td> [andygumbrecht</td><td>http://people.apache.org/~andygumbrecht]
+ </td><td> [map</td><td>http://people.apache.org/map.html?andygumbrecht]
+</td></tr>
+<tr><td> [Dain Sundstrom](mailto:dain@apache.org.html)
+ </td><td> Committer, PMC </td><td> [dain</td><td>http://people.apache.org/~dain]
+ </td><td> [map</td><td>http://people.apache.org/map.html?dain]
+</td></tr>
+<tr><td> [David Blevins](mailto:dblevins@apache.org.html)
+ </td><td> Founder, Chair </td><td> [dblevins</td><td>http://people.apache.org/~dblevins]
+ </td><td> [map</td><td>http://people.apache.org/map.html?dblevins]
+</td></tr>
+<tr><td> [David Jencks](mailto:djencks@apache.org.html)
+ </td><td> Committer, PMC </td><td> [djencks</td><td>http://people.apache.org/~djencks]
+ </td><td> [map</td><td>http://people.apache.org/map.html?djencks]
+</td></tr>
+<tr><td> [Daniel Stefan Haischt](mailto:dsh@apache.org.html)
+ </td><td> Committer </td><td> [dsh</td><td>http://people.apache.org/~dsh]
+ </td><td> [map</td><td>http://people.apache.org/map.html?dsh]
+</td></tr>
+<tr><td> [Jarek Gawor](mailto:gawor@apache.org.html)
+ </td><td> Committer </td><td> [gawor</td><td>http://people.apache.org/~gawor]
+ </td><td> [map</td><td>http://people.apache.org/map.html?gawor]
+</td></tr>
+<tr><td> [Gianny Damour](mailto:gdamour@apache.org.html)
+ </td><td> Committer </td><td> [gdamour</td><td>http://people.apache.org/~gdamour]
+ </td><td> [map</td><td>http://people.apache.org/map.html?gdamour]
+</td></tr>
+<tr><td> [Lin Quan Jiang](mailto:genspring@apache.org.html)
+ </td><td> Committer </td><td> [genspring</td><td>http://people.apache.org/~genspring]
+ </td><td> [map</td><td>http://people.apache.org/map.html?genspring]
+</td></tr>
+<tr><td> [Matt Richard Hogstrom](mailto:hogstrom@apache.org.html)
+ </td><td> Committer </td><td> [hogstrom</td><td>http://people.apache.org/~hogstrom]
+ </td><td> [map</td><td>http://people.apache.org/map.html?hogstrom]
+</td></tr>
+<tr><td> [Jonathan Gallimore](mailto:jgallimore@apache.org.html)
+ </td><td> Committer, PMC </td><td> [jgallimore</td><td>http://people.apache.org/~jgallimore]
+ </td><td> [map</td><td>http://people.apache.org/map.html?jgallimore]
+</td></tr>
+<tr><td> [Jeff Genender](mailto:jgenender@apache.org.html)
+ </td><td> Committer </td><td> [jgenender</td><td>http://people.apache.org/~jgenender]
+ </td><td> [map</td><td>http://people.apache.org/map.html?jgenender]
+</td></tr>
+<tr><td> [Jacek Laskowski](mailto:jlaskowski@apache.org.html)
+ </td><td> Committer, PMC </td><td> [jlaskowski</td><td>http://people.apache.org/~jlaskowski]
+ </td><td> [map</td><td>http://people.apache.org/map.html?jlaskowski]
+</td></tr>
+<tr><td> [Jean-Louis Monteiro](mailto:jlmonteiro@apache.org.html)
+ </td><td> Committer, PMC </td><td> [jlmonteiro</td><td>http://people.apache.org/~jlmonteiro]
+ </td><td> [map</td><td>http://people.apache.org/map.html?jlmonteiro]
+</td></tr>
+<tr><td> [Jason van Zyl](mailto:jvanzyl@apache.org.html)
+ </td><td> Committer </td><td> [jvanzyl</td><td>http://people.apache.org/~jvanzyl]
+ </td><td> [map</td><td>http://people.apache.org/map.html?jvanzyl]
+</td></tr>
+<tr><td> [Jeremy Whitlock](mailto:jwhitlock@apache.org.html)
+ </td><td> Committer </td><td> [jwhitlock</td><td>http://people.apache.org/~jwhitlock]
+ </td><td> [map</td><td>http://people.apache.org/map.html?jwhitlock]
+</td></tr>
+<tr><td> [Kevan Lee Miller](mailto:kevan@apache.org.html)
+ </td><td> Committer, PMC </td><td> [kevan</td><td>http://people.apache.org/~kevan]
+ </td><td> [map</td><td>http://people.apache.org/map.html?kevan]
+</td></tr>
+<tr><td> [Karan Singh Malhi](mailto:kmalhi@apache.org.html)
+ </td><td> Committer </td><td> [kmalhi</td><td>http://people.apache.org/~kmalhi]
+ </td><td> [map</td><td>http://people.apache.org/map.html?kmalhi]
+</td></tr>
+<tr><td> [Lajos Moczar](mailto:lajos@apache.org.html)
+ </td><td> Committer </td><td> [lajos</td><td>http://people.apache.org/~lajos]
+ </td><td> [map</td><td>http://people.apache.org/map.html?lajos]
+</td></tr>
+<tr><td> [Manu George](mailto:manugeorge@apache.org.html)
+ </td><td> Committer </td><td> [manugeorge</td><td>http://people.apache.org/~manugeorge]
+ </td><td> [map</td><td>http://people.apache.org/map.html?manugeorge]
+</td></tr>
+<tr><td> [Mohammad Nour El-Din](mailto:mnour@apache.org.html)
+ </td><td> Committer </td><td> [mnour</td><td>http://people.apache.org/~mnour]
+ </td><td> [map</td><td>http://people.apache.org/map.html?mnour]
+</td></tr>
+<tr><td> [Richard McGuire](mailto:rickmcguire@apache.org.html)
+ </td><td> Committer </td><td> [rickmcguire</td><td>http://people.apache.org/~rickmcguire]
+ </td><td> [map</td><td>http://people.apache.org/map.html?rickmcguire]
+</td></tr>
+<tr><td> [Romain Manni-Bucau](mailto:rmannibucau@apache.org.html)
+ </td><td> Committer </td><td> [rmannibucau</td><td>http://people.apache.org/~rmannibucau]
+ </td><td> [map</td><td>http://people.apache.org/map.html?rmannibucau]
+</td></tr>
+<tr><td> [Thiago Veronezi](mailto:tveronezi@apache.org.html)
+ </td><td> Committer </td><td> [tveronezi</td><td>http://people.apache.org/~tveronezi]
+ </td><td> [map</td><td>http://people.apache.org/map.html?tveronezi]
+</td></tr>
+<tr><td> [Haihong Xu](mailto:xuhaihong@apache.org.html)
+ </td><td> Committer </td><td> [xuhaihong</td><td>http://people.apache.org/~xuhaihong]
+ </td><td> [map</td><td>http://people.apache.org/map.html?xuhaihong]
+</td></tr>

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/time-saved.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/time-saved.mdtext b/src/main/jbake/content/time-saved.mdtext
new file mode 100644
index 0000000..a7b0f3f
--- /dev/null
+++ b/src/main/jbake/content/time-saved.mdtext
@@ -0,0 +1,245 @@
+Title: Time Saved
+Ever wonder exactly how much time you might be saving being able to quickly
+compile and test code with OpenEJB?  Well, find out!
+
+Deploy times in Java EE in general are partially based on the platform and
+partially on the size of the application itself.  With that in mind, we've
+put together this little calculator so you can see what OpenEJB is doing
+for you!
+
+<a name="TimeSaved-Calculator"></a>
+# Calculator
+<script type="text/javascript" src="http://prototypejs.org/assets/2010/4/1/prototype.js"></script>
+<script>
+
+  function calculate() {
+    var developers = $("devs").getValue();
+    var cycles = $("cycles").getValue();
+    var weeks = $("weeks").getValue();
+
+    var individual_deployTime_openejb = $("time_openejb").getValue();
+    var individual_deployTime_vendor = $("time_vendor").getValue();
+    var individual_deployTime_savings = individual_deployTime_vendor - individual_deployTime_openejb;
+
+    var individual_deployTimePerHour_openejb = cycles * individual_deployTime_openejb / 8;
+    var individual_deployTimePerHour_vendor =  cycles * individual_deployTime_vendor / 8;
+    var individual_deployTimePerHour_savings = individual_deployTimePerHour_vendor - individual_deployTimePerHour_openejb;
+
+    var individual_deployTimePerWeek_openejb = individual_deployTimePerHour_openejb * 40;
+    var individual_deployTimePerWeek_vendor = individual_deployTimePerHour_vendor * 40;
+    var individual_deployTimePerWeek_savings = individual_deployTimePerWeek_vendor - individual_deployTimePerWeek_openejb;
+
+    var individual_deployTimePerMonth_openejb = individual_deployTimePerWeek_openejb * 4.33;
+    var individual_deployTimePerMonth_vendor = individual_deployTimePerWeek_vendor * 4.33;
+    var individual_deployTimePerMonth_savings = individual_deployTimePerMonth_vendor - individual_deployTimePerMonth_openejb;
+
+    var team_deployTime_openejb = developers * individual_deployTime_openejb;
+    var team_deployTime_vendor = developers * individual_deployTime_vendor;
+    var team_deployTime_savings = developers * individual_deployTime_savings;
+
+    var team_deployTimePerHour_openejb = developers * individual_deployTimePerHour_openejb;
+    var team_deployTimePerHour_vendor = developers * individual_deployTimePerHour_vendor;
+    var team_deployTimePerHour_savings = developers * individual_deployTimePerHour_savings;
+
+    var team_deployTimePerWeek_openejb = developers * individual_deployTimePerWeek_openejb;
+    var team_deployTimePerWeek_vendor = developers * individual_deployTimePerWeek_vendor;
+    var team_deployTimePerWeek_savings = developers * individual_deployTimePerWeek_savings;
+
+    var team_deployTimePerMonth_openejb = developers * individual_deployTimePerMonth_openejb;
+    var team_deployTimePerMonth_vendor = developers * individual_deployTimePerMonth_vendor;
+    var team_deployTimePerMonth_savings = developers * individual_deployTimePerMonth_savings;
+
+    var total_savings = team_deployTimePerWeek_savings * weeks;
+
+    $("individual.deployTime.openejb").innerHTML = format(individual_deployTime_openejb);
+    $("individual.deployTime.vendor").innerHTML = format(individual_deployTime_vendor);
+    $("individual.deployTime.savings").innerHTML = format(individual_deployTime_savings);
+
+    $("individual.deployTimePerHour.openejb").innerHTML = format(individual_deployTimePerHour_openejb);
+    $("individual.deployTimePerHour.vendor").innerHTML = format(individual_deployTimePerHour_vendor);
+    $("individual.deployTimePerHour.savings").innerHTML = format(individual_deployTimePerHour_savings);
+
+    $("individual.deployTimePerWeek.openejb").innerHTML = format(individual_deployTimePerWeek_openejb);
+    $("individual.deployTimePerWeek.vendor").innerHTML = format(individual_deployTimePerWeek_vendor);
+    $("individual.deployTimePerWeek.savings").innerHTML = format(individual_deployTimePerWeek_savings);
+
+    $("individual.deployTimePerMonth.openejb").innerHTML = format(individual_deployTimePerMonth_openejb);
+    $("individual.deployTimePerMonth.vendor").innerHTML = format(individual_deployTimePerMonth_vendor);
+    $("individual.deployTimePerMonth.savings").innerHTML = format(individual_deployTimePerMonth_savings);
+
+    $("team.deployTime.openejb").innerHTML = format(team_deployTime_openejb);
+    $("team.deployTime.vendor").innerHTML = format(team_deployTime_vendor);
+    $("team.deployTime.savings").innerHTML = format(team_deployTime_savings);
+    $("team.deployTimePerHour.openejb").innerHTML = format(team_deployTimePerHour_openejb);
+    $("team.deployTimePerHour.vendor").innerHTML = format(team_deployTimePerHour_vendor);
+    $("team.deployTimePerHour.savings").innerHTML = format(team_deployTimePerHour_savings);
+    $("team.deployTimePerWeek.openejb").innerHTML = format(team_deployTimePerWeek_openejb);
+    $("team.deployTimePerWeek.vendor").innerHTML = format(team_deployTimePerWeek_vendor);
+    $("team.deployTimePerWeek.savings").innerHTML = format(team_deployTimePerWeek_savings);
+    $("team.deployTimePerMonth.openejb").innerHTML = format(team_deployTimePerMonth_openejb);
+    $("team.deployTimePerMonth.vendor").innerHTML = format(team_deployTimePerMonth_vendor);
+    $("team.deployTimePerMonth.savings").innerHTML = format(team_deployTimePerMonth_savings);
+
+    $("totalSavings").innerHTML = longFormat(total_savings);
+
+  }
+
+  function format(secs) {
+    var mins = Math.floor(secs / 60)
+    secs = secs % 60;
+    secs -= secs % 1;
+
+    var hrs = Math.floor(mins / 60)
+    mins = mins % 60
+
+    if (secs < 10) secs = "0" + secs;
+    if (mins < 10) mins = "0" + mins;
+    if (hrs < 10) hrs = "0" + hrs;
+
+    return hrs + ":" + mins + ":" + secs + "";
+  }
+
+  function longFormat(secs) {
+    var mins = Math.floor(secs / 60)
+    secs = secs % 60;
+    secs -= secs % 1;
+
+    var hrs = Math.floor(mins / 60)
+    mins = mins % 60
+
+    // eight hours per work day
+    var days = Math.floor(hrs / 8)
+    hrs = hrs % 8
+
+    // five days per work week
+    var weeks = Math.floor(days / 5)
+    days = days % 5
+
+    var str = "";
+    if (weeks > 0) str = weeks + " weeks, "
+    if (str.length > 0 || days > 0) str += days + " days, "
+    if (str.length > 0 || hrs > 0) str += hrs + " hours, "
+    if (str.length > 0 || mins > 0) str += mins + " minutes, "
+    if (secs > 0) str += secs + " seconds"
+
+    str = str.replace(/, $/, "");
+    str = str.replace(/^ */, "");
+
+    return str;
+  }
+</script>
+
+<table>
+  <col width=370>
+    <!--<col width=200>-->
+  <tr>
+    <td><strong>How many developers?</strong></td>
+    <td><input id="devs" type="text" value="0" size="5"/></td>
+  </tr>
+  <tr>
+    <td><strong>How many weeks?</strong>
+    </td>
+    <td><input id="weeks" type="text" value="0" size="5"/></td>
+  </tr>
+  <tr>
+    <td><strong>How many times do you compile/run per day?</strong></td>
+    <td><input id="cycles" type="text" value="0" size="5"/></td>
+  </tr>
+  <tr>
+    <td><strong>Time to start/deploy your app in OpenEJB?</strong></td>
+    <td><input id="time_openejb" value="0" type="text" size="5"/> <i>seconds</i></td>
+  </tr>
+  <tr>
+    <td><strong>Time to start/deploy your app in your other platform?</strong></td>
+    <td><input id="time_vendor" value="0" type="text" size="5"/> <i>seconds</i></td>
+  </tr>
+  <tr>
+    <td colspan="2" align="center">&nbsp;</td>
+  </tr>
+  <tr>
+    <td colspan="2" align="center"><input type="button" id="calculate" value="Calculate" onclick="calculate();"/></td>
+  </tr>
+</table>
+
+
+<h3>Individual Stats</h3>
+<table cellpadding="1" border="1" style='border-collapse:collapse'>
+  <col width=198>
+  <col width=90>
+  <col width=90>
+  <col width=90>
+  <tr>
+    <td></td>
+    <td align="center">OpenEJB</td>
+    <td align="center">Vendor</td>
+    <td align="center"><b>Savings</b></td>
+  </tr>
+  <tr>
+    <td>deployTime</td>
+    <td align="center" id="individual.deployTime.openejb"></td>
+    <td align="center" id="individual.deployTime.vendor"></td>
+    <td align="center" id="individual.deployTime.savings"></td>
+  </tr>
+  <tr>
+    <td>deployTimePerHour</td>
+    <td align="center" id="individual.deployTimePerHour.openejb"></td>
+    <td align="center" id="individual.deployTimePerHour.vendor"></td>
+    <td align="center" id="individual.deployTimePerHour.savings"></td>
+  </tr>
+  <tr>
+    <td>deployTimePerWeek</td>
+    <td align="center" id="individual.deployTimePerWeek.openejb"></td>
+    <td align="center" id="individual.deployTimePerWeek.vendor"></td>
+    <td align="center" id="individual.deployTimePerWeek.savings"></td>
+  </tr>
+  <tr>
+    <td>deployTimePerMonth</td>
+    <td align="center" id="individual.deployTimePerMonth.openejb"></td>
+    <td align="center" id="individual.deployTimePerMonth.vendor"></td>
+    <td align="center" id="individual.deployTimePerMonth.savings"></td>
+  </tr>
+</table>
+<p><i>Time in HH:MM:SS format</i></p>
+<h3>Team Stats</h3>
+<table border=1 cellpadding=2 cellspacing=2 style='border-collapse:
+ collapse;table-layout:fixed'>
+  <col width=198>
+  <col width=90>
+  <col width=90>
+  <col width=90>
+  <tr>
+    <td></td>
+    <td align="center">OpenEJB</td>
+    <td align="center">Vendor</td>
+    <td align="center"><b>Savings</b></td>
+  </tr>
+
+  <tr>
+    <td>deployTime</td>
+    <td align="center" id="team.deployTime.openejb"></td>
+    <td align="center" id="team.deployTime.vendor"></td>
+    <td align="center" id="team.deployTime.savings"></td>
+  </tr>
+  <tr>
+    <td>deployTimePerHour</td>
+    <td align="center" id="team.deployTimePerHour.openejb"></td>
+    <td align="center" id="team.deployTimePerHour.vendor"></td>
+    <td align="center" id="team.deployTimePerHour.savings"></td>
+  </tr>
+  <tr>
+    <td>deployTimePerWeek</td>
+    <td align="center" id="team.deployTimePerWeek.openejb"></td>
+    <td align="center" id="team.deployTimePerWeek.vendor"></td>
+    <td align="center" id="team.deployTimePerWeek.savings"></td>
+  </tr>
+  <tr>
+    <td>deployTimePerMonth</td>
+    <td align="center" id="team.deployTimePerMonth.openejb"></td>
+    <td align="center" id="team.deployTimePerMonth.vendor"></td>
+    <td align="center" id="team.deployTimePerMonth.savings"></td>
+  </tr>
+</table>
+
+<h3>Total Savings</h3>
+
+<p><span  id="totalSavings"></span></p>

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat-activemq.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat-activemq.mdtext b/src/main/jbake/content/tomcat-activemq.mdtext
new file mode 100644
index 0000000..4c09a6b
--- /dev/null
+++ b/src/main/jbake/content/tomcat-activemq.mdtext
@@ -0,0 +1,53 @@
+Title: Tomcat and ActiveMQ
+
+Tomcat + Java EE = TomEE, the Java Enterprise Edition of Tomcat.  With TomEE you get Tomcat with ActiveMQ added and integrated and ready to go!
+
+In a plain Servlet, Filter or Listener you can do fun things like injection of JMS Topics or Queues:
+
+    import javax.annotation.Resource;
+    import javax.servlet.http.HttpServlet;
+    import javax.jms.Topic;
+    import javax.jms.Queue;
+    import javax.jms.ConnectionFactory;
+
+    public class MyServet extends HttpServlet {
+
+        @Resource(name = "foo")
+        private Topic fooTopic;
+
+        @Resource(name = "bar")
+        private Queue barQueue;
+
+        @Resource
+        private ConnectionFactory connectionFactory;
+
+        @Override
+        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+            //...
+
+            Connection connection = connectionFactory.createConnection();
+            connection.start();
+
+            // Create a Session
+            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+            // Create a MessageProducer from the Session to the Topic or Queue
+            MessageProducer producer = session.createProducer(fooTopic);
+            producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
+
+            // Create a message
+            TextMessage message = session.createTextMessage("Hello World!");
+
+            // Tell the producer to send the message
+            producer.send(message);
+
+            //...
+        }
+
+    }
+
+No need to add even a single library!  In the above scenario even the "foo" Topic and the "bar" Queue would be automatically created with no configuration necessary.
+
+[Download](downloads.html) TomEE and you're minutes away from a functioning JMS application on Tomcat.
+
+{include:apache-tomee.mdtext}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat-cdi.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat-cdi.mdtext b/src/main/jbake/content/tomcat-cdi.mdtext
new file mode 100644
index 0000000..b26c05c
--- /dev/null
+++ b/src/main/jbake/content/tomcat-cdi.mdtext
@@ -0,0 +1,54 @@
+Title: Tomcat CDI
+
+Tomcat + Java EE = TomEE, the Java Enterprise Edition of Tomcat.  With TomEE you get Tomcat with CDI added and integrated and ready to go!
+
+    import javax.annotation.Resource;
+    import javax.enterprise.inject.spi.BeanManager;
+    import javax.inject.Inject;
+    import javax.servlet.ServletException;
+    import javax.servlet.http.HttpServlet;
+    import javax.servlet.http.HttpServletRequest;
+    import javax.servlet.http.HttpServletResponse;
+    import java.io.IOException;
+
+    public class MyServlet extends HttpServlet {
+
+        @Inject
+        private Car car;
+
+        @Override
+        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+
+            car.drive();
+
+        }
+    }
+
+Where `Car` could be any POJO with a no-arg constructor.  Additionally it's quite easy to create a factory to create the car you want injected.  Simply do as follows:
+
+    import javax.enterprise.inject.Produces;
+
+    public class AssemblyLine {
+
+        @Produces
+        public Car createFancyCar() {
+            return new Car("Ferrari", "458 Italia", 2012);
+        }
+    }
+
+So when will the `Car` be created?  In the above it will be created when `MyServlet` is created.  If you annotate `createFancyCar` with `@RequestScoped` it will be created once
+per http request and shared by everyone in the request.  If you annotate `createFancyCar` with `@SessionScoped` it will be created once
+per `HttpSession` and shared by everyone in the same session.  So no more repeatedly putting and getting into the `HttpSession` by hand, just let the container do it!
+
+No need to add even a single library!  To make the above work all you need is a `META-INF/beans.xml` file in your webapp like the following:
+
+    <beans/>
+
+Any jar in your webapp with the above will automatically be CDI enabled and all those beans can be injected with `@Inject` with no need to make them EJBs or third party frameworks.
+
+All this is setup and ready to go!  Spend your time learning and having fun and writing your app, don't
+spend it chasing down libraries and integrating things the hard way.
+
+[Download](downloads.html) TomEE and you're minutes away from having fun with CDI on Tomcat.
+
+{include:apache-tomee.mdtext}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat-detailed-instructions.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat-detailed-instructions.mdtext b/src/main/jbake/content/tomcat-detailed-instructions.mdtext
new file mode 100644
index 0000000..6f71afa
--- /dev/null
+++ b/src/main/jbake/content/tomcat-detailed-instructions.mdtext
@@ -0,0 +1,343 @@
+Title: Tomcat Detailed Instructions
+{composition-setup}
+
+<a name="TomcatDetailedInstructions-{anchor:detailedinstructions}DetailedInstallationInstructions"></a>
+# {anchor:detailed instructions} Detailed Installation Instructions
+
+These instructions assume you have a standard Tomcat installation running
+on port 8080.  If you do not have an existing Tomcat installation, or want
+to start with a fresh installation for OpenEJB, the [Tomcat Installation](tomcat-installation.html)
+ will show you how to setup and verify a Tomcat installation.
+
+<a name="TomcatDetailedInstructions-Addopenejb.wartoTomcat"></a>
+## Add openejb.war to Tomcat
+
+The TomEE plugin for Tomcat is distributed as a standalone war file
+containing all of the necessary files and an installer Servlet.  The war
+can be obtained from the [download page](http://tomee.apache.org/downloads.html)
+.  Once downloaded, simply copy the file into the Tomcat webapps directory. 
+
+{deck:id=Copy openejb.war}
+{card:label=Windows}{noformat:nopanel=true}
+C:\>copy openejb.war apache-tomcat-6.0.14\webapps\openejb.war
+	1 file(s) copied.
+
+C:\>dir apache-tomcat-6.0.14\webapps
+ Volume in drive C has no label.
+ Volume Serial Number is 0000-0000
+
+ Directory of C:\apache-tomcat-6.0.14\webapps
+
+09/20/2007  03:03 PM	<DIR>	       .
+09/20/2007  03:03 PM	<DIR>	       ..
+09/20/2007  03:02 PM	<DIR>	       docs
+09/20/2007  03:01 PM	<DIR>	       examples
+09/20/2007  03:01 PM	<DIR>	       host-manager
+09/20/2007  03:03 PM	<DIR>	       manager
+09/19/2007  09:31 AM	    13,394,733 openejb.war
+09/20/2007  03:01 PM	<DIR>	       ROOT
+	       1 File(s)     13,394,733 bytes
+	       7 Dir(s)   5,100,126,208 bytes free
+
+    {card:label=Unix}{noformat:nopanel=true}
+    $ cp openejb.war apache-tomcat-6.0.14/webapps/openejb.war
+    
+    $ ls apache-tomcat-6.0.14/webapps/
+    ROOT/	      docs/	    examples/	  host-manager/ manager/     
+openejb.war
+
+{deck}
+
+<a name="TomcatDetailedInstructions-RunInstallerServlet"></a>
+## Run Installer Servlet
+
+The OpenEJB Plugin for Tomcat contains an installer servlet which adds the
+OpenEJB listener and JavaAgent to the Tomcat installation.  To run the
+installer, you must first start Tomcat.
+
+{deck:id=Start Tomcat}
+{card:label=Windows}{noformat:nopanel=true}
+C:\>set JRE_HOME=C:\Program Files\Java\jre1.5.0_06
+
+C:\>cd apache-tomcat-6.0.14\bin
+
+C:\apache-tomcat-6.0.14\bin>startup.bat
+Using CATALINA_BASE:   C:\apache-tomcat-6.0.14
+Using CATALINA_HOME:   C:\apache-tomcat-6.0.14
+Using CATALINA_TMPDIR: C:\apache-tomcat-6.0.14\temp
+Using JRE_HOME:        C:\your\java\installation
+
+    {card:label=Unix}{noformat:nopanel=true}
+    $ cd apache-tomcat-6.0.14/bin
+    
+    apache-tomcat-6.0.14/bin$ chmod u+x *.sh
+    
+    apache-tomcat-6.0.14/bin$ ./startup.sh 
+    Using CATALINA_BASE:   /your/tomcat/installation/apache-tomcat-6.0.14
+    Using CATALINA_HOME:   /your/tomcat/installation/apache-tomcat-6.0.14
+    Using CATALINA_TMPDIR: /your/tomcat/installation/apache-tomcat-6.0.14/temp
+    Using JRE_HOME:        /your/java/installation
+
+{deck}
+
+*NOTE:* Your output will be different from the example above due to
+differences in installation locations.
+
+It is a good idea to wait a 5-60 seconds (depending on the speed of your
+computer) for Tomcat to fully start.  Once Tomcat is fully started, simply
+visit [http://localhost:8080/openejb/installer](http://localhost:8080/openejb/installer)
+ and click the 'install' button to run the installer.  The installer should
+report that the installation was successful. If it didn't work click [OPENEJB:here|#problems]
+.
+
+{warning}
+The installer servlet adds the OpenEJB JavaAgent declaration to the
+catalina.sh and catalina.bat files.  If you are using an IDE or some other
+mechanism to start Tomcat, you will need to [manually](manual-installation#javaagent.html)
+ add the JavaAgent declaration to the Java VM options of the launcher you
+are using. 
+{warning}
+
+<a name="TomcatDetailedInstructions-RestartTomcat"></a>
+## Restart Tomcat
+
+OpenEJB uses OpenJPA for persistence and OpenJPA currently requires a
+JavaAgent to function.	Unfortunately, there is no way to install a
+JavaAgent at runtime, so you will have to restart Tomcat to enable the
+JavaAgent.  Simply execute the shutdown command, wait 5-60 seconds
+(depending on the speed of your computer) for Tomcat to fully stop, and run
+the startup command to restart Tomcat.
+
+{deck:id=Start Tomcat}
+{card:label=Windows}{noformat:nopanel=true}
+C:\>cd apache-tomcat-6.0.14\bin
+
+C:\apache-tomcat-6.0.14\bin>shutdown.bat
+Using CATALINA_BASE:   C:\apache-tomcat-6.0.14
+Using CATALINA_HOME:   C:\apache-tomcat-6.0.14
+Using CATALINA_TMPDIR: C:\apache-tomcat-6.0.14\temp
+Using JRE_HOME:        C:\your\java\installation
+
+C:\apache-tomcat-6.0.14\bin>startup.bat
+Using CATALINA_BASE:   C:\apache-tomcat-6.0.14
+Using CATALINA_HOME:   C:\apache-tomcat-6.0.14
+Using CATALINA_TMPDIR: C:\apache-tomcat-6.0.14\temp
+Using JRE_HOME:        C:\your\java\installation
+
+    {card:label=Unix}{noformat:nopanel=true}
+    $ cd apache-tomcat-6.0.14/bin
+    
+    apache-tomcat-6.0.14/bin$ ./shutdown.sh 
+    Using CATALINA_BASE:   /your/tomcat/installation/apache-tomcat-6.0.14
+    Using CATALINA_HOME:   /your/tomcat/installation/apache-tomcat-6.0.14
+    Using CATALINA_TMPDIR: /your/tomcat/installation/apache-tomcat-6.0.14/temp
+    Using JRE_HOME:        /your/java/installation
+    
+    apache-tomcat-6.0.14/bin$ ./startup.sh 
+    Using CATALINA_BASE:   /your/tomcat/installation/apache-tomcat-6.0.14
+    Using CATALINA_HOME:   /your/tomcat/installation/apache-tomcat-6.0.14
+    Using CATALINA_TMPDIR: /your/tomcat/installation/apache-tomcat-6.0.14/temp
+    Using JRE_HOME:        /your/java/installation
+
+{deck}
+
+*NOTE:* Your output will be different from the example above due to
+differences in installation locations.
+
+Once Tomcat is fully started, simply visit [http://localhost:8080/openejb/installer](http://localhost:8080/openejb/installer)
+ to verify the installation is complete.
+
+<a name="TomcatDetailedInstructions-Examples,TutorialsandTests"></a>
+# Examples, Tutorials and Tests
+
+<a name="TomcatDetailedInstructions-ejb-examples.war"></a>
+## ejb-examples.war
+
+Download the [ejb-examples.war](http://people.apache.org/~dain/openejb-temp/examples)
+, copy it into the Tomcat webapps directory, and visit [http://localhost:8080/ejb-examples]
+.
+
+<a name="TomcatDetailedInstructions-OpenEJBiTests"></a>
+## OpenEJB iTests
+
+OpenEJB uses a large test suite to verify the final server assembly, and
+you can use this to verify your OpenEJB installation.  Simply download the [openejb-itests.war and openejb-standalone-client.jar](http://people.apache.org/~dain/openejb-temp/itests)
+ and copy it the war into the Tomcat webapps directory.  It will take a bit
+to load the application because it contains a huge number of EJBs. 
+Finally, run the test client executable jar.
+
+{deck:id=Start Tomcat}
+{card:label=Windows}{noformat:nopanel=true}
+C:\>java -jar openejb-itests-standalone-client.jar tomcat
+_________________________________________________
+<table>
+<tr><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td><td>_</td></tr>
+</table>
+
+Running EJB compliance tests on HTTP/Tomcat Server
+_________________________________________________
+WARNING: No test suite configuration file specified, assuming system
+properties contain all 
+needed information.  To specify a test suite configuration file by setting
+its location using
+the system property "openejb.testsuite.properties" 
+test server = org.apache.openejb.test.TomcatRemoteTestServer
+entry = java.naming.provider.url:http://127.0.0.1:8080/openejb/ejb
+entry =
+java.naming.factory.initial:org.apache.openejb.client.RemoteInitialContextFactory
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+.........................................
+............................
+Time: 20.644
+
+OK (889 tests)
+
+
+_________________________________________________
+CLIENT JNDI PROPERTIES
+java.naming.provider.url = http://127.0.0.1:8080/openejb/ejb
+java.naming.factory.initial =
+org.apache.openejb.client.RemoteInitialContextFactory
+_________________________________________________
+
+    {card:label=Unix}{noformat:nopanel=true}
+    $ java -jar openejb-itests-standalone-client.jar tomcat
+    _________________________________________________
+    |_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|
+    
+    Running EJB compliance tests on HTTP/Tomcat Server
+    _________________________________________________
+    WARNING: No test suite configuration file specified, assuming system
+properties contain all
+    needed information.  To specify a test suite configuration file by setting
+its location using
+    the system property "openejb.testsuite.properties"
+    test server = org.apache.openejb.test.TomcatRemoteTestServer
+    entry = java.naming.provider.url:http://127.0.0.1:8080/openejb/ejb
+    entry =
+java.naming.factory.initial:org.apache.openejb.client.RemoteInitialContextFactory
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    .........................................
+    ............................
+    Time: 12.186
+    
+    OK (889 tests)
+    
+    
+    _________________________________________________
+    CLIENT JNDI PROPERTIES
+    java.naming.provider.url = http://127.0.0.1:8080/openejb/ejb
+    java.naming.factory.initial =
+org.apache.openejb.client.RemoteInitialContextFactory
+    _________________________________________________
+
+{deck}
+
+{tip:title=Failures}The tests should completely pass the first time they
+are run.  If you execute the test client a second time, 21 tests fail for
+some unknown reason.{tip}
+
+<a name="TomcatDetailedInstructions-{anchor:problems}Problems?"></a>
+# {anchor:problems} Problems?
+
+<a name="TomcatDetailedInstructions-HTTPStatus403"></a>
+## HTTP Status 403 
+
+Did you get a "HTTP Status 403" error page containing the description
+"Access to the specified resource () has been forbidden." when visiting [http://localhost:8080/openejb](http://localhost:8080/openejb)
+?
+
+The openejb.war is protected by a Tomcat valve that restricts access to the
+application to the computer on which Tomcat is running.  If your browser is
+running on the same computer as Tomcat, try accessing OpenEJB using this
+link instead [http://127.0.0.1:8080/openejb](http://127.0.0.1:8080/openejb)
+.
+
+If you want to access the openejb.war from another computer, you will need
+to either remove the valve, or modify the IP list in the valve declaration.
+ The easiest way to remove the valve it to simply delete the
+webapps/openejb/META-INF/context.xml file and and the webapps/openejb.war
+file *while Tomcat is stopped*.  The openejb.war file must be removed
+because some versions of Tomcat will use the context.xml file packed in the
+openejb.war file regardless of what is in the unpacked directory.
+
+<a name="TomcatDetailedInstructions-OtherIssues"></a>
+## Other Issues
+
+If you are having problems with the installation, please send a message to
+the OpenEJB users [mailing list](openejb:mailing-lists.html)
+ containing any error message(s) and the following information:
+
+* OpenEJB Version
+* Tomcat Version
+* Java Version (execute java -version)
+* Operating System Type and Version
+
+
+<a name="TomcatDetailedInstructions-Limitations"></a>
+# Limitations
+
+ *Tomcat 6.x* - Currently, only Tomcat 6.x is supported due to API
+difference between 5.5.x and 6.x.  It is expected that 5.5 will be
+supported in the future, but there are no plans to support 5.0.x due to the
+lack of annotation support in 5.0.x.
+
+ *Security* - Unfortunately, at this time security with Tomcat/OpenEJB is
+not integrated, but is being worked on.
+
+ *EAR Files* - The integration only supports war (and collapsed-ear) files.
+ EAR, EJB Jar, and RAR files will be supported in a future release.
+
+ *JavaAgent* - OpenEJB uses OpenJPA to provide JPA and CMP persistence, and
+OpenJPA currently requires a JavaAgent to function properly.  This
+requirement is something that the OpenJPA project is working on removing. 
+Once removed, the OpenEJB plugin for Tomcat will no longer need to modify
+the startup shell scripts and you will not need to restart Tomcat after the
+OpenEJB installation.
+
+<a name="TomcatDetailedInstructions-Misc"></a>
+# Misc
+
+This document is a starting point for using OpenEJB in Tomcat and will
+evolve based on user contributions. If you wish to contribute to this
+document, feel very welcome to click the 'Edit' link in the upper right and
+make changes and add new HOWTO's and other docs.  
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomcat-ejb-refs.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomcat-ejb-refs.mdtext b/src/main/jbake/content/tomcat-ejb-refs.mdtext
new file mode 100644
index 0000000..f0c6446
--- /dev/null
+++ b/src/main/jbake/content/tomcat-ejb-refs.mdtext
@@ -0,0 +1,29 @@
+Title: Tomcat ejb-refs
+<a name="Tomcatejb-refs-Via@EJBAnnotation"></a>
+# Via @EJB Annotation
+
+Which an be as simple as adding this to your Servlet, Filter, or Listener:
+
+
+    @EJB
+    private HelloLocal helloLocal;
+
+
+See the [@EJB Injection Example](injection-of-other-ejbs-example.html)
+ for a running example.  The example uses one ejb to refer to another ejb,
+but the same rules apply for servlets.
+
+<a name="Tomcatejb-refs-Addingejb-refinyourweb.xml"></a>
+# Adding ejb-ref in your web.xml
+
+Or on the older xml-style:
+
+
+    <ejb-ref>
+     <description> EJB Reference to the bean deployed to OpenEJB </description>
+     <ejb-ref-name>ejb/hello</ejb-ref-name>
+     <ejb-ref-type>Session</ejb-ref-type>
+     <home>org.acme.HelloHome</home>
+     <remote>org.acme.Hello</remote> 
+    </ejb-ref>
+


[34/34] tomee-site-generator git commit: Make old content jbake-compatible and clean.

Posted by db...@apache.org.
Make old content jbake-compatible and clean.


Project: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/commit/3538e28d
Tree: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/tree/3538e28d
Diff: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/diff/3538e28d

Branch: refs/heads/master
Commit: 3538e28d8b0c74a9760de39ac4b0c252ae4ef491
Parents: b34e23c
Author: dblevins <da...@gmail.com>
Authored: Mon Nov 26 03:22:55 2018 -0800
Committer: dblevins <da...@gmail.com>
Committed: Mon Nov 26 03:22:55 2018 -0800

----------------------------------------------------------------------
 .../java/org/apache/tomee/website/Docs.java     |  61 +++++++--
 .../java/org/apache/tomee/website/Example.java  |   6 +-
 .../org/apache/tomee/website/Examples2.java     |  95 +------------
 .../org/apache/tomee/website/FixMarkdown.java   |  15 ++-
 .../org/apache/tomee/website/JbakeHeaders.java  | 134 +++++++++++++++++++
 5 files changed, 201 insertions(+), 110 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/3538e28d/src/main/java/org/apache/tomee/website/Docs.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Docs.java b/src/main/java/org/apache/tomee/website/Docs.java
index 547837a..9fc6e4b 100644
--- a/src/main/java/org/apache/tomee/website/Docs.java
+++ b/src/main/java/org/apache/tomee/website/Docs.java
@@ -47,8 +47,42 @@ public class Docs {
             throw new RuntimeException(e);
         }
 
+        try {
+            Files.walk(destDocs.toPath())
+                    .filter(path -> path.toFile().isFile())
+                    .filter(path -> path.toFile().getName().endsWith(".mdtext"))
+                    .forEach(path -> renameMdtextFile(path.toFile()));
+
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+
+        final List<Doc> docs;
+        try {
+            docs = Files.walk(destDocs.toPath())
+                    .filter(path -> path.toFile().isFile())
+                    .filter(this::isRendered)
+                    .map(Path::toFile)
+                    .map(path -> toLink(destDocs, path))
+                    .collect(Collectors.toList());
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+
+        docs.stream()
+                .peek(JbakeHeaders::addJbakeHeader)
+                .forEach(FixMarkdown::process);
+        ;
+
         if (!hasIndex(destDocs)) {
-            buildIndex(destDocs);
+            buildIndex(destDocs, docs);
+        }
+    }
+
+    private void renameMdtextFile(final File file) {
+        final File newName = new File(file.getParentFile(), file.getName().replace(".mdtext", ".md"));
+        if (!file.renameTo(newName)) {
+            throw new IllegalStateException("Couldn't rename: " + file.getAbsolutePath() + "\n  to: " + newName.getAbsolutePath());
         }
     }
 
@@ -60,13 +94,10 @@ public class Docs {
                 .findFirst().isPresent();
     }
 
-    private void buildIndex(final File destDocs) {
+    private void buildIndex(final File destDocs, final List<Doc> docs) {
         try {
-            final List<String> links = Files.walk(destDocs.toPath())
-                    .filter(path -> path.toFile().isFile())
-                    .filter(this::isRendered)
-                    .map(path -> toLink(destDocs, path))
-                    .map(Link::toAdoc)
+            final List<String> links = docs.stream()
+                    .map(Doc::toAdoc)
                     .collect(Collectors.toList());
 
             final StringBuilder index = new StringBuilder();
@@ -86,25 +117,31 @@ public class Docs {
         }
     }
 
-    private Link toLink(final File base, final Path path) {
+    private Doc toLink(final File base, final File file) {
         final int baseLength = base.getAbsolutePath().length() + 1;
 
-        final String href = path.toFile().getAbsolutePath().substring(baseLength)
+        final String href = file.getAbsolutePath().substring(baseLength)
                 .replace(".adoc", ".html")
                 .replace(".mdtext", ".html")
                 .replace(".md", ".html");
 
         final String name = href.replace(".html", "");
-        return new Link(href, name);
+        return new Doc(href, name, file);
     }
 
-    public static class Link {
+    public static class Doc {
         private final String href;
         private final String name;
+        private final File source;
 
-        public Link(final String href, final String name) {
+        public Doc(final String href, final String name, final File source) {
             this.href = href;
             this.name = name;
+            this.source = source;
+        }
+
+        public File getSource() {
+            return source;
         }
 
         public String getHref() {

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/3538e28d/src/main/java/org/apache/tomee/website/Example.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Example.java b/src/main/java/org/apache/tomee/website/Example.java
index 152729b..f8ec9a9 100644
--- a/src/main/java/org/apache/tomee/website/Example.java
+++ b/src/main/java/org/apache/tomee/website/Example.java
@@ -67,9 +67,13 @@ public class Example {
     }
 
     public static Example from(final File readme) {
-        final String ext = readme.getName().replaceFirst("[^.]+\\.", "");
+        final String ext = getExtension(readme);
         final String exampleName = readme.getParentFile().getName();
 
         return new Example(readme, exampleName, ext, exampleName + ".html", "Example");
     }
+
+    public static String getExtension(final File readme) {
+        return readme.getName().replaceFirst("[^.]+\\.", "");
+    }
 }

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/3538e28d/src/main/java/org/apache/tomee/website/Examples2.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Examples2.java b/src/main/java/org/apache/tomee/website/Examples2.java
index f75e885..8b3baec 100644
--- a/src/main/java/org/apache/tomee/website/Examples2.java
+++ b/src/main/java/org/apache/tomee/website/Examples2.java
@@ -17,12 +17,9 @@
 package org.apache.tomee.website;
 
 import org.apache.openejb.loader.IO;
-import org.apache.openejb.util.Join;
 
 import java.io.File;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -49,7 +46,7 @@ public class Examples2 {
                 .map(Example::from)
                 .peek(example -> example.updateDestination(destDir))
                 .peek(this::copyToDest)
-                .peek(this::addJbakeHeader)
+                .peek(JbakeHeaders::addJbakeHeader)
                 .peek(FixMarkdown::process)
                 .collect(Collectors.toList());
 
@@ -81,96 +78,6 @@ public class Examples2 {
 //        https://javaee.github.io/javaee-spec/javadocs/javax/servlet/http/HttpServletMapping.html
     }
 
-    private void addJbakeHeader(final Example example) {
-
-        if (example.getExt().startsWith("md")) {
-
-            addMarkdownHeader(example);
-
-        } else if (example.getExt().startsWith("a")) {
-
-            addAsciidocHeader(example);
-        }
-    }
-
-    private void addAsciidocHeader(final Example example) {
-        try {
-            String content = IO.slurp(example.getDestReadme());
-            if (content.contains(":jbake-type:")) return;
-
-            String header = "" +
-                    ":jbake-type: page\n" +
-                    ":jbake-status: published\n";
-
-            // The legacy Apache CMS setup for TomEE allowed a very similar header
-            // called "Title: " to specify the title in the created html page.
-            // If found, we convert it to the JBake version
-            // TODO all docs should be updated and this code removed
-            if (content.startsWith("Title:") || content.startsWith("title:")) {
-                final List<String> lines = new ArrayList<>();
-                Collections.addAll(lines, content.split("\n"));
-
-                // remove the legacy title syntax
-                final String titleLine = lines.remove(0);
-
-                // update the header
-                header += ":jbake-title:" + titleLine.substring("title:".length()).trim() + "\n";
-
-                // update the content
-                content = Join.join("\n", lines);
-            }
-
-
-            // Prepend the JBake header for Asciidoc
-            content = header + content;
-
-            // Update the destination readme file
-            IO.copy(IO.read(content), example.getDestReadme());
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    private void addMarkdownHeader(final Example example) {
-        try {
-            final File readme = example.getDestReadme();
-            String content = IO.slurp(readme);
-
-            if (content.contains("~~~~~~")) return;
-
-
-            String header = "" +
-                    "type=page\n" +
-                    "status=published\n";
-
-            // The legacy Apache CMS setup for TomEE allowed a very similar header
-            // called "Title: " to specify the title in the created html page.
-            // If found, we convert it to the JBake version
-            // TODO all docs should be updated and this code removed
-            if (content.startsWith("Title:") || content.startsWith("title:")) {
-                final List<String> lines = new ArrayList<>();
-                Collections.addAll(lines, content.split("\n"));
-
-                // remove the legacy title syntax
-                final String titleLine = lines.remove(0);
-
-                // update the header
-                header += "title=" + titleLine.substring("title:".length()).trim() + "\n";
-
-                // update the content
-                content = Join.join("\n", lines);
-            }
-
-            // Prepend the JBake header for Markdown
-            content = header + "~~~~~~\n" + content;
-
-            // Update the destination readme file
-            IO.copy(IO.read(content), example.getDestReadme());
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
     /**
      * Copy all the readme.mdtext to examples/foo-bar.mdtext
      */

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/3538e28d/src/main/java/org/apache/tomee/website/FixMarkdown.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/FixMarkdown.java b/src/main/java/org/apache/tomee/website/FixMarkdown.java
index daad57d..6936375 100644
--- a/src/main/java/org/apache/tomee/website/FixMarkdown.java
+++ b/src/main/java/org/apache/tomee/website/FixMarkdown.java
@@ -19,6 +19,7 @@ package org.apache.tomee.website;
 import org.apache.openejb.loader.IO;
 import org.apache.openejb.util.Join;
 
+import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -32,13 +33,21 @@ public class FixMarkdown {
     private Consumer<String> processor = this::findJbakeHeader;
 
     public static void process(final Example example) {
-        if (!example.getExt().startsWith("md")) return;
+        process(example.getDestReadme());
+    }
+
+    public static void process(final Docs.Doc doc) {
+        process(doc.getSource());
+    }
+
+    public static void process(final File destReadme) {
+        if (!Example.getExtension(destReadme).startsWith("md")) return;
 
         final FixMarkdown fixMarkdown = new FixMarkdown();
 
         try {
             final List<String> lines = new ArrayList<>();
-            Collections.addAll(lines, IO.slurp(example.getDestReadme()).split("\n"));
+            Collections.addAll(lines, IO.slurp(destReadme).split("\n"));
 
             for (final String line : lines) {
                 fixMarkdown.process(line);
@@ -47,7 +56,7 @@ public class FixMarkdown {
             fixMarkdown.process("");
 
             // Update the destination readme file
-            IO.copy(IO.read(Join.join("\n", fixMarkdown.completed)), example.getDestReadme());
+            IO.copy(IO.read(Join.join("\n", fixMarkdown.completed)), destReadme);
 
         } catch (IOException e) {
             throw new RuntimeException(e);

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/3538e28d/src/main/java/org/apache/tomee/website/JbakeHeaders.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/JbakeHeaders.java b/src/main/java/org/apache/tomee/website/JbakeHeaders.java
new file mode 100644
index 0000000..51226d9
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/JbakeHeaders.java
@@ -0,0 +1,134 @@
+/*
+ * 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.website;
+
+import org.apache.openejb.loader.IO;
+import org.apache.openejb.util.Join;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+public class JbakeHeaders {
+
+    public static void addJbakeHeader(final Docs.Doc doc) {
+
+        final String extension = Example.getExtension(doc.getSource());
+
+        if (extension.startsWith("md")) {
+
+            addMarkdownHeader(doc.getSource());
+
+        } else if (extension.startsWith("a")) {
+
+            addAsciidocHeader(doc.getSource());
+        }
+    }
+
+    public static void addJbakeHeader(final Example example) {
+
+        if (example.getExt().startsWith("md")) {
+
+            addMarkdownHeader(example.getDestReadme());
+
+        } else if (example.getExt().startsWith("a")) {
+
+            addAsciidocHeader(example.getDestReadme());
+        }
+    }
+
+    private static void addAsciidocHeader(final File destReadme) {
+        try {
+            String content = IO.slurp(destReadme);
+            if (content.contains(":jbake-type:")) return;
+
+            String header = "" +
+                    ":jbake-type: page\n" +
+                    ":jbake-status: published\n";
+
+            // The legacy Apache CMS setup for TomEE allowed a very similar header
+            // called "Title: " to specify the title in the created html page.
+            // If found, we convert it to the JBake version
+            // TODO all docs should be updated and this code removed
+            if (content.startsWith("Title:") || content.startsWith("title:")) {
+                final List<String> lines = new ArrayList<>();
+                Collections.addAll(lines, content.split("\n"));
+
+                // remove the legacy title syntax
+                final String titleLine = lines.remove(0);
+
+                // update the header
+                header += ":jbake-title:" + titleLine.substring("title:".length()).trim() + "\n";
+
+                // update the content
+                content = Join.join("\n", lines);
+            }
+
+
+            // Prepend the JBake header for Asciidoc
+            content = header + content;
+
+            // Update the destination readme file
+            IO.copy(IO.read(content), destReadme);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private static void addMarkdownHeader(final File destReadme) {
+        try {
+            final File readme = destReadme;
+            String content = IO.slurp(readme);
+
+            if (content.contains("~~~~~~")) return;
+
+
+            String header = "" +
+                    "type=page\n" +
+                    "status=published\n";
+
+            // The legacy Apache CMS setup for TomEE allowed a very similar header
+            // called "Title: " to specify the title in the created html page.
+            // If found, we convert it to the JBake version
+            // TODO all docs should be updated and this code removed
+            if (content.startsWith("Title:") || content.startsWith("title:")) {
+                final List<String> lines = new ArrayList<>();
+                Collections.addAll(lines, content.split("\n"));
+
+                // remove the legacy title syntax
+                final String titleLine = lines.remove(0);
+
+                // update the header
+                header += "title=" + titleLine.substring("title:".length()).trim() + "\n";
+
+                // update the content
+                content = Join.join("\n", lines);
+            }
+
+            // Prepend the JBake header for Markdown
+            content = header + "~~~~~~\n" + content;
+
+            // Update the destination readme file
+            IO.copy(IO.read(content), destReadme);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+}


[07/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/webservice-attachments.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/webservice-attachments.adoc b/src/main/jbake/content/examples/webservice-attachments.adoc
deleted file mode 100755
index 384f3fd..0000000
--- a/src/main/jbake/content/examples/webservice-attachments.adoc
+++ /dev/null
@@ -1,234 +0,0 @@
-= Webservice Attachments
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example webservice-attachments can be browsed at https://github.com/apache/tomee/tree/master/examples/webservice-attachments
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  AttachmentImpl
-
-
-[source,java]
-----
-package org.superbiz.attachment;
-
-import javax.activation.DataHandler;
-import javax.activation.DataSource;
-import javax.ejb.Stateless;
-import javax.jws.WebService;
-import javax.xml.ws.BindingType;
-import javax.xml.ws.soap.SOAPBinding;
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * This is an EJB 3 style pojo stateless session bean
- * Every stateless session bean implementation must be annotated
- * using the annotation @Stateless
- * This EJB has a single interface: {@link AttachmentWs} a webservice interface.
- */
-@Stateless
-@WebService(
-        portName = "AttachmentPort",
-        serviceName = "AttachmentWsService",
-        targetNamespace = "http://superbiz.org/wsdl",
-        endpointInterface = "org.superbiz.attachment.AttachmentWs")
-@BindingType(value = SOAPBinding.SOAP12HTTP_MTOM_BINDING)
-public class AttachmentImpl implements AttachmentWs {
-
-    public String stringFromBytes(byte[] data) {
-        return new String(data);
-    }
-
-    public String stringFromDataSource(DataSource source) {
-
-        try {
-            InputStream inStr = source.getInputStream();
-            int size = inStr.available();
-            byte[] data = new byte[size];
-            inStr.read(data);
-            inStr.close();
-            return new String(data);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        return "";
-    }
-
-    public String stringFromDataHandler(DataHandler handler) {
-
-        try {
-            return (String) handler.getContent();
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        return "";
-    }
-}
-----
-
-
-==  AttachmentWs
-
-
-[source,java]
-----
-package org.superbiz.attachment;
-
-import javax.activation.DataHandler;
-import javax.jws.WebService;
-
-/**
- * This is an EJB 3 webservice interface to send attachments throughout SAOP.
- */
-@WebService(targetNamespace = "http://superbiz.org/wsdl")
-public interface AttachmentWs {
-
-    public String stringFromBytes(byte[] data);
-
-    // Not working at the moment with SUN saaj provider and CXF
-    //public String stringFromDataSource(DataSource source);
-
-    public String stringFromDataHandler(DataHandler handler);
-}
-----
-
-
-==  ejb-jar.xml
-
-
-[source,xml]
-----
-<ejb-jar/>
-----
-
-
-==  AttachmentTest
-
-
-[source,java]
-----
-package org.superbiz.attachment;
-
-import junit.framework.TestCase;
-
-import javax.activation.DataHandler;
-import javax.activation.DataSource;
-import javax.mail.util.ByteArrayDataSource;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.xml.namespace.QName;
-import javax.xml.ws.BindingProvider;
-import javax.xml.ws.Service;
-import javax.xml.ws.soap.SOAPBinding;
-import java.net.URL;
-import java.util.Properties;
-
-public class AttachmentTest extends TestCase {
-
-    //START SNIPPET: setup	
-    private InitialContext initialContext;
-
-    protected void setUp() throws Exception {
-
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        properties.setProperty("openejb.embedded.remotable", "true");
-
-        initialContext = new InitialContext(properties);
-    }
-    //END SNIPPET: setup    
-
-    /**
-     * Create a webservice client using wsdl url
-     *
-     * @throws Exception
-     */
-    //START SNIPPET: webservice
-    public void testAttachmentViaWsInterface() throws Exception {
-        Service service = Service.create(
-                new URL("http://127.0.0.1:4204/AttachmentImpl?wsdl"),
-                new QName("http://superbiz.org/wsdl", "AttachmentWsService"));
-        assertNotNull(service);
-
-        AttachmentWs ws = service.getPort(AttachmentWs.class);
-
-        // retrieve the SOAPBinding
-        SOAPBinding binding = (SOAPBinding) ((BindingProvider) ws).getBinding();
-        binding.setMTOMEnabled(true);
-
-        String request = "tsztelak@gmail.com";
-
-        // Byte array
-        String response = ws.stringFromBytes(request.getBytes());
-        assertEquals(request, response);
-
-        // Data Source
-        DataSource source = new ByteArrayDataSource(request.getBytes(), "text/plain; charset=UTF-8");
-
-        // not yet supported !
-//        response = ws.stringFromDataSource(source);
-//        assertEquals(request, response);
-
-        // Data Handler
-        response = ws.stringFromDataHandler(new DataHandler(source));
-        assertEquals(request, response);
-    }
-    //END SNIPPET: webservice
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.attachment.AttachmentTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/webservice-attachments
-INFO - openejb.base = /Users/dblevins/examples/webservice-attachments
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/webservice-attachments/target/classes
-INFO - Beginning load: /Users/dblevins/examples/webservice-attachments/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/webservice-attachments/classpath.ear
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean AttachmentImpl: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Enterprise application "/Users/dblevins/examples/webservice-attachments/classpath.ear" loaded.
-INFO - Assembling app: /Users/dblevins/examples/webservice-attachments/classpath.ear
-INFO - Created Ejb(deployment-id=AttachmentImpl, ejb-name=AttachmentImpl, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=AttachmentImpl, ejb-name=AttachmentImpl, container=Default Stateless Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/webservice-attachments/classpath.ear)
-INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Creating ServerService(id=cxf)
-INFO - Creating ServerService(id=admin)
-INFO - Creating ServerService(id=ejbd)
-INFO - Creating ServerService(id=ejbds)
-INFO - Initializing network services
-  ** Starting Services **
-  NAME                 IP              PORT  
-  httpejbd             127.0.0.1       4204  
-  admin thread         127.0.0.1       4200  
-  ejbd                 127.0.0.1       4201  
-  ejbd                 127.0.0.1       4203  
--------
-Ready!
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.034 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/webservice-handlerchain.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/webservice-handlerchain.adoc b/src/main/jbake/content/examples/webservice-handlerchain.adoc
deleted file mode 100755
index 67ac69a..0000000
--- a/src/main/jbake/content/examples/webservice-handlerchain.adoc
+++ /dev/null
@@ -1,409 +0,0 @@
-= @WebService handlers with @HandlerChain
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example webservice-handlerchain can be browsed at https://github.com/apache/tomee/tree/master/examples/webservice-handlerchain
-
-
-In this example we see a basic JAX-WS `@WebService` component use a handler chain to alter incoming and outgoing SOAP messages.  SOAP Handlers are similar to Servlet Filters or EJB/CDI Interceptors.
-
-At high level, the steps involved are:
-
- 1. Create handler(s) implementing `javax.xml.ws.handler.soap.SOAPHandler`
- 1. Declare and order them in an xml file via `<handler-chain>`
- 1. Associate the xml file with an `@WebService` component via `@HandlerChain`
-
-==  The @HandlerChain
-
-First we'll start with our plain `@WebService` bean, called `Calculator`, which is annotated with `@HandlerChain`
-
-
-[source,java]
-----
-@Singleton
-@WebService(
-        portName = "CalculatorPort",
-        serviceName = "CalculatorService",
-        targetNamespace = "http://superbiz.org/wsdl",
-        endpointInterface = "org.superbiz.calculator.wsh.CalculatorWs")
-@HandlerChain(file = "handlers.xml")
-public class Calculator implements CalculatorWs {
-
-    public int sum(int add1, int add2) {
-        return add1 + add2;
-    }
-
-    public int multiply(int mul1, int mul2) {
-        return mul1 * mul2;
-    }
-}
-----
-
-
-Here we see `@HandlerChain` pointing to a file called `handlers.xml`.  This file could be called anything, but it must be in the same jar and java package as our `Calculator` component.
-
-==  The &lt;handler-chains> file
-
-Our `Calculator` service is in the package `org.superbiz.calculator.wsh`, which means our handler chain xml file must be at `org/superbiz/calculator/wsh/handlers.xml` in our application's classpath or the file will not be found and no handlers will be used.
-
-In maven we achieve this by putting our handlers.xml in `src/main/resources` like so:
-
- - `src/main/resources/org/superbiz/calculator/wsh/handlers.xml`
-
-With this file we declare and **order** our handler chain.
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<handler-chains xmlns="http://java.sun.com/xml/ns/javaee">
-  <handler-chain>
-    <handler>
-      <handler-name>org.superbiz.calculator.wsh.Inflate</handler-name>
-      <handler-class>org.superbiz.calculator.wsh.Inflate</handler-class>
-    </handler>
-    <handler>
-      <handler-name>org.superbiz.calculator.wsh.Increment</handler-name>
-      <handler-class>org.superbiz.calculator.wsh.Increment</handler-class>
-    </handler>
-  </handler-chain>
-</handler-chains>
-----
-
-
-The order as you might suspect is:
-
- - `Inflate`
- - `Increment`
-
-==  The SOAPHandler implementation
-
-Our `Inflate` handler has the job of monitoring *responses* to the `sum` and `multiply` operations and making them 1000 times better.  Manipulation of the message is done by walking the `SOAPBody` and editing the nodes.  The `handleMessage` method is invoked for both requests and responses, so it is important to check the `SOAPBody` before attempting to naviage the nodes.
-
-
-[source,java]
-----
-import org.w3c.dom.Node;
-import javax.xml.namespace.QName;
-import javax.xml.soap.SOAPBody;
-import javax.xml.soap.SOAPException;
-import javax.xml.soap.SOAPMessage;
-import javax.xml.ws.handler.MessageContext;
-import javax.xml.ws.handler.soap.SOAPHandler;
-import javax.xml.ws.handler.soap.SOAPMessageContext;
-import java.util.Collections;
-import java.util.Set;
-
-public class Inflate implements SOAPHandler<SOAPMessageContext> {
-
-    public boolean handleMessage(SOAPMessageContext mc) {
-        try {
-            final SOAPMessage message = mc.getMessage();
-            final SOAPBody body = message.getSOAPBody();
-            final String localName = body.getFirstChild().getLocalName();
-
-            if ("sumResponse".equals(localName) || "multiplyResponse".equals(localName)) {
-                final Node responseNode = body.getFirstChild();
-                final Node returnNode = responseNode.getFirstChild();
-                final Node intNode = returnNode.getFirstChild();
-
-                final int value = new Integer(intNode.getNodeValue());
-                intNode.setNodeValue(Integer.toString(value * 1000));
-            }
-
-            return true;
-        } catch (SOAPException e) {
-            return false;
-        }
-    }
-
-    public Set<QName> getHeaders() {
-        return Collections.emptySet();
-    }
-
-    public void close(MessageContext mc) {
-    }
-
-    public boolean handleFault(SOAPMessageContext mc) {
-        return true;
-    }
-}
-----
-
-
-The `Increment` handler is identical in code and therefore not shown.  Instead of multiplying by 1000, it simply adds 1.
-
-==  The TestCase
-
-We use the JAX-WS API to create a Java client for our `Calculator` web service and use it to invoke both the `sum` and `multiply` operations.  Note the clever use of math to assert both the existence and order of our handlers.  If `Inflate` and `Increment` were reversed, the responses would be 11000 and 13000 respectively.
-
-
-[source,java]
-----
-public class CalculatorTest {
-
-    @BeforeClass
-    public static void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty("openejb.embedded.remotable", "true");
-        EJBContainer.createEJBContainer(properties);
-    }
-
-    @Test
-    public void testCalculatorViaWsInterface() throws Exception {
-        final Service calculatorService = Service.create(
-                new URL("http://127.0.0.1:4204/Calculator?wsdl"),
-                new QName("http://superbiz.org/wsdl", "CalculatorService"));
-
-        assertNotNull(calculatorService);
-
-        final CalculatorWs calculator = calculatorService.getPort(CalculatorWs.class);
-
-        // we expect our answers to come back 1000 times better, plus one!
-        assertEquals(10001, calculator.sum(4, 6));
-        assertEquals(12001, calculator.multiply(3, 4));
-    }
-}
-----
-
-
-==  Running the example
-
-Simply run `mvn clean install` and you should see output similar to the following:
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.calculator.wsh.CalculatorTest
-INFO - openejb.home = /Users/dblevins/work/all/trunk/openejb/examples/webservice-handlers
-INFO - openejb.base = /Users/dblevins/work/all/trunk/openejb/examples/webservice-handlers
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Beginning load: /Users/dblevins/work/all/trunk/openejb/examples/webservice-handlers/target/test-classes
-INFO - Beginning load: /Users/dblevins/work/all/trunk/openejb/examples/webservice-handlers/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/work/all/trunk/openejb/examples/webservice-handlers
-INFO - Auto-deploying ejb Calculator: EjbDeployment(deployment-id=Calculator)
-INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-INFO - Auto-creating a container for bean Calculator: Container(type=SINGLETON, id=Default Singleton Container)
-INFO - Creating Container(id=Default Singleton Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.calculator.wsh.CalculatorTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/work/all/trunk/openejb/examples/webservice-handlers" loaded.
-INFO - Assembling app: /Users/dblevins/work/all/trunk/openejb/examples/webservice-handlers
-INFO - Created Ejb(deployment-id=Calculator, ejb-name=Calculator, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=Calculator, ejb-name=Calculator, container=Default Singleton Container)
-INFO - Deployed Application(path=/Users/dblevins/work/all/trunk/openejb/examples/webservice-handlers)
-INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Creating ServerService(id=cxf)
-INFO - Creating ServerService(id=admin)
-INFO - Creating ServerService(id=ejbd)
-INFO - Creating ServerService(id=ejbds)
-INFO - Initializing network services
-INFO -   ** Starting Services **
-INFO -   NAME                 IP              PORT
-INFO -   httpejbd             127.0.0.1       4204
-INFO - Creating Service {http://superbiz.org/wsdl}CalculatorService from class org.superbiz.calculator.wsh.CalculatorWs
-INFO - Setting the server's publish address to be http://nopath:80
-INFO - Webservice(wsdl=http://127.0.0.1:4204/Calculator, qname={http://superbiz.org/wsdl}CalculatorService) --> Ejb(id=Calculator)
-INFO -   admin thread         127.0.0.1       4200
-INFO -   ejbd                 127.0.0.1       4201
-INFO -   ejbd                 127.0.0.1       4203
-INFO - -------
-INFO - Ready!
-INFO - Creating Service {http://superbiz.org/wsdl}CalculatorService from WSDL: http://127.0.0.1:4204/Calculator?wsdl
-INFO - Creating Service {http://superbiz.org/wsdl}CalculatorService from WSDL: http://127.0.0.1:4204/Calculator?wsdl
-INFO - Default SAAJ universe not set
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.783 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-
-==  Inspecting the messages
-
-The above would generate the following messages.
-
-===  Calculator wsdl
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
-                  name="CalculatorService" targetNamespace="http://superbiz.org/wsdl"
-                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
-                  xmlns:tns="http://superbiz.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <wsdl:types>
-    <xsd:schema attributeFormDefault="unqualified" elementFormDefault="unqualified"
-                targetNamespace="http://superbiz.org/wsdl" xmlns:tns="http://superbiz.org/wsdl"
-                xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-      <xsd:element name="multiply" type="tns:multiply"/>
-      <xsd:complexType name="multiply">
-        <xsd:sequence>
-          <xsd:element name="arg0" type="xsd:int"/>
-          <xsd:element name="arg1" type="xsd:int"/>
-        </xsd:sequence>
-      </xsd:complexType>
-      <xsd:element name="multiplyResponse" type="tns:multiplyResponse"/>
-      <xsd:complexType name="multiplyResponse">
-        <xsd:sequence>
-          <xsd:element name="return" type="xsd:int"/>
-        </xsd:sequence>
-      </xsd:complexType>
-      <xsd:element name="sum" type="tns:sum"/>
-      <xsd:complexType name="sum">
-        <xsd:sequence>
-          <xsd:element name="arg0" type="xsd:int"/>
-          <xsd:element name="arg1" type="xsd:int"/>
-        </xsd:sequence>
-      </xsd:complexType>
-      <xsd:element name="sumResponse" type="tns:sumResponse"/>
-      <xsd:complexType name="sumResponse">
-        <xsd:sequence>
-          <xsd:element name="return" type="xsd:int"/>
-        </xsd:sequence>
-      </xsd:complexType>
-    </xsd:schema>
-  </wsdl:types>
-  <wsdl:message name="multiplyResponse">
-    <wsdl:part element="tns:multiplyResponse" name="parameters">
-    </wsdl:part>
-  </wsdl:message>
-  <wsdl:message name="sumResponse">
-    <wsdl:part element="tns:sumResponse" name="parameters">
-    </wsdl:part>
-  </wsdl:message>
-  <wsdl:message name="sum">
-    <wsdl:part element="tns:sum" name="parameters">
-    </wsdl:part>
-  </wsdl:message>
-  <wsdl:message name="multiply">
-    <wsdl:part element="tns:multiply" name="parameters">
-    </wsdl:part>
-  </wsdl:message>
-  <wsdl:portType name="CalculatorWs">
-    <wsdl:operation name="multiply">
-      <wsdl:input message="tns:multiply" name="multiply">
-      </wsdl:input>
-      <wsdl:output message="tns:multiplyResponse" name="multiplyResponse">
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="sum">
-      <wsdl:input message="tns:sum" name="sum">
-      </wsdl:input>
-      <wsdl:output message="tns:sumResponse" name="sumResponse">
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:binding name="CalculatorServiceSoapBinding" type="tns:CalculatorWs">
-    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-    <wsdl:operation name="multiply">
-      <soap:operation soapAction="" style="document"/>
-      <wsdl:input name="multiply">
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output name="multiplyResponse">
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="sum">
-      <soap:operation soapAction="" style="document"/>
-      <wsdl:input name="sum">
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output name="sumResponse">
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:service name="CalculatorService">
-    <wsdl:port binding="tns:CalculatorServiceSoapBinding" name="CalculatorPort">
-      <soap:address location="http://127.0.0.1:4204/Calculator?wsdl"/>
-    </wsdl:port>
-  </wsdl:service>
-</wsdl:definitions>
-----
-
-
-===  SOAP sum and sumResponse
-
-Request:
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
-  <soap:Body>
-    <ns1:sum xmlns:ns1="http://superbiz.org/wsdl">
-      <arg0>4</arg0>
-      <arg1>6</arg1>
-    </ns1:sum>
-  </soap:Body>
-</soap:Envelope>
-----
-
-
-Response:
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
-  <soap:Body>
-    <ns1:sumResponse xmlns:ns1="http://superbiz.org/wsdl">
-      <return>10001</return>
-    </ns1:sumResponse>
-  </soap:Body>
-</soap:Envelope>
-----
-
-
-===  SOAP multiply and multiplyResponse
-
-Request:
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
-  <soap:Body>
-    <ns1:multiply xmlns:ns1="http://superbiz.org/wsdl">
-      <arg0>3</arg0>
-      <arg1>4</arg1>
-    </ns1:multiply>
-  </soap:Body>
-</soap:Envelope>
-----
-
-
-Response:
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
-  <soap:Body>
-    <ns1:multiplyResponse xmlns:ns1="http://superbiz.org/wsdl">
-      <return>12001</return>
-    </ns1:multiplyResponse>
-  </soap:Body>
-</soap:Envelope>
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/webservice-holder.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/webservice-holder.adoc b/src/main/jbake/content/examples/webservice-holder.adoc
deleted file mode 100755
index bb4a5f4..0000000
--- a/src/main/jbake/content/examples/webservice-holder.adoc
+++ /dev/null
@@ -1,201 +0,0 @@
-= @WebService OUT params via javax.xml.ws.Holder
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example webservice-holder can be browsed at https://github.com/apache/tomee/tree/master/examples/webservice-holder
-
-
-With SOAP it is possible to return multiple values in a single request.  This is impossible in Java as a method can only return one object.
-
-JAX-WS solves this problem with the concept of Holders.  A `javax.xml.ws.Holder` is a simple wrapper object that can be passed into the `@WebService` method as a parameter.  The application sets the value of the holder during the request and the server will send the value back as an OUT parameter.
-
-==  Using @WebParam and javax.xml.ws.Holder
-
-The `@WebParam` annotation allows us to declare the `sum` and `multiply` Holders as `WebParam.Mode.OUT` parameters.  As mentioned, these holders are simply empty buckets the application can fill in with data to have sent to the client.  The server will pass them in uninitialized.
-
-
-[source,java]
-----
-@Stateless
-@WebService(
-        portName = "CalculatorPort",
-        serviceName = "CalculatorService",
-        targetNamespace = "http://superbiz.org/wsdl",
-        endpointInterface = "org.superbiz.ws.out.CalculatorWs")
-public class Calculator implements CalculatorWs {
-
-    public void sumAndMultiply(int a, int b,
-                               @WebParam(name = "sum", mode = WebParam.Mode.OUT) Holder<Integer> sum,
-                               @WebParam(name = "multiply", mode = WebParam.Mode.OUT) Holder<Integer> multiply) {
-        sum.value = a + b;
-        multiply.value = a * b;
-    }
-}
-----
-
-
-If the Holders were specified as `WebParam.Mode.INOUT` params, then the client could use them to send data and the application as well.  The `Holder` instances would then be initialized with the data from the client request.  The application could check the data before eventually overriting it with the response values.
-
-==  The WSDL
-
-The above JAX-WS `@WebService` component results in the folliwing WSDL that will be created automatically.  Note the `sumAndMultiplyResponse` complext type returns two elements.  These match the `@WebParam` declarations and our two `Holder<Integer>` params.
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
-                  name="CalculatorService"
-                  targetNamespace="http://superbiz.org/wsdl"
-                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
-                  xmlns:tns="http://superbiz.org/wsdl"
-                  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <wsdl:types>
-    <xsd:schema attributeFormDefault="unqualified" elementFormDefault="unqualified"
-                targetNamespace="http://superbiz.org/wsdl"
-                xmlns:tns="http://superbiz.org/wsdl"
-                xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-      <xsd:element name="sumAndMultiply" type="tns:sumAndMultiply"/>
-      <xsd:complexType name="sumAndMultiply">
-        <xsd:sequence>
-          <xsd:element name="arg0" type="xsd:int"/>
-          <xsd:element name="arg1" type="xsd:int"/>
-        </xsd:sequence>
-      </xsd:complexType>
-      <xsd:element name="sumAndMultiplyResponse" type="tns:sumAndMultiplyResponse"/>
-      <xsd:complexType name="sumAndMultiplyResponse">
-        <xsd:sequence>
-          <xsd:element minOccurs="0" name="sum" type="xsd:int"/>
-          <xsd:element minOccurs="0" name="multiply" type="xsd:int"/>
-        </xsd:sequence>
-      </xsd:complexType>
-    </xsd:schema>
-  </wsdl:types>
-  <wsdl:message name="sumAndMultiplyResponse">
-    <wsdl:part element="tns:sumAndMultiplyResponse" name="parameters"/>
-  </wsdl:message>
-  <wsdl:message name="sumAndMultiply">
-    <wsdl:part element="tns:sumAndMultiply" name="parameters"/>
-  </wsdl:message>
-  <wsdl:portType name="CalculatorWs">
-    <wsdl:operation name="sumAndMultiply">
-      <wsdl:input message="tns:sumAndMultiply" name="sumAndMultiply"/>
-      <wsdl:output message="tns:sumAndMultiplyResponse" name="sumAndMultiplyResponse"/>
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:binding name="CalculatorServiceSoapBinding" type="tns:CalculatorWs">
-    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-    <wsdl:operation name="sumAndMultiply">
-      <soap:operation soapAction="" style="document"/>
-      <wsdl:input name="sumAndMultiply">
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output name="sumAndMultiplyResponse">
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:service name="CalculatorService">
-    <wsdl:port binding="tns:CalculatorServiceSoapBinding" name="CalculatorPort">
-      <soap:address location="http://127.0.0.1:4204/Calculator?wsdl"/>
-    </wsdl:port>
-  </wsdl:service>
-</wsdl:definitions>
-----
-
-
-==  Testing the OUT params
-
-Here we see a JAX-WS client executing the `sumAndMultiply` operation.  Two empty `Holder` instances are created and passed in as parameters.  The data from the `sumAndMultiplyResponse` is placed in the `Holder` instances and is then available to the client after the operation completes.
-
-The holders themselves are not actually sent in the request unless they are configured as INOUT params via WebParam.Mode.INOUT on `@WebParam`
-
-
-[source,java]
-----
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.xml.namespace.QName;
-import javax.xml.ws.Holder;
-import javax.xml.ws.Service;
-import java.net.URL;
-import java.util.Properties;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-public class CalculatorTest {
-
-    @BeforeClass
-    public static void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty("openejb.embedded.remotable", "true");
-        //properties.setProperty("httpejbd.print", "true");
-        //properties.setProperty("httpejbd.indent.xml", "true");
-        EJBContainer.createEJBContainer(properties);
-    }
-
-    @Test
-    public void outParams() throws Exception {
-        final Service calculatorService = Service.create(
-                new URL("http://127.0.0.1:4204/Calculator?wsdl"),
-                new QName("http://superbiz.org/wsdl", "CalculatorService"));
-
-        assertNotNull(calculatorService);
-
-        final CalculatorWs calculator = calculatorService.getPort(CalculatorWs.class);
-
-        final Holder<Integer> sum = new Holder<Integer>();
-        final Holder<Integer> multiply = new Holder<Integer>();
-
-        calculator.sumAndMultiply(4, 6, sum, multiply);
-
-        assertEquals(10, (int) sum.value);
-        assertEquals(24, (int) multiply.value);
-    }
-}
-----
-
-
-
-==  Inspecting the messages
-
-The above execution results in the following SOAP message.
-
-===  SOAP sumAndMultiply <small>client request</small>
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
-  <soap:Body>
-    <ns1:sumAndMultiply xmlns:ns1="http://superbiz.org/wsdl">
-      <arg0>4</arg0>
-      <arg1>6</arg1>
-    </ns1:sumAndMultiply>
-  </soap:Body>
-</soap:Envelope>
-----
-
-
-===  SOAP sumAndMultiplyResponse <small>server response</small>
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
-  <soap:Body>
-    <ns1:sumAndMultiplyResponse xmlns:ns1="http://superbiz.org/wsdl">
-      <sum>10</sum>
-      <multiply>24</multiply>
-    </ns1:sumAndMultiplyResponse>
-  </soap:Body>
-</soap:Envelope>
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/webservice-inheritance.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/webservice-inheritance.adoc b/src/main/jbake/content/examples/webservice-inheritance.adoc
deleted file mode 100755
index cc8c4cb..0000000
--- a/src/main/jbake/content/examples/webservice-inheritance.adoc
+++ /dev/null
@@ -1,476 +0,0 @@
-= Webservice Inheritance
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example webservice-inheritance can be browsed at https://github.com/apache/tomee/tree/master/examples/webservice-inheritance
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Item
-
-
-[source,java]
-----
-package org.superbiz.inheritance;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Inheritance;
-import javax.persistence.InheritanceType;
-import java.io.Serializable;
-
-@Entity
-@Inheritance(strategy = InheritanceType.JOINED)
-public class Item implements Serializable {
-    @Id
-    @GeneratedValue(strategy = GenerationType.AUTO)
-    private Long id;
-    private String brand;
-    private String itemName;
-    private double price;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getBrand() {
-        return brand;
-    }
-
-    public void setBrand(String brand) {
-        this.brand = brand;
-    }
-
-    public String getItemName() {
-        return itemName;
-    }
-
-    public void setItemName(String itemName) {
-        this.itemName = itemName;
-    }
-
-    public double getPrice() {
-        return price;
-    }
-
-    public void setPrice(double price) {
-        this.price = price;
-    }
-}
-----
-
-
-==  Tower
-
-
-[source,java]
-----
-package org.superbiz.inheritance;
-
-import javax.persistence.Entity;
-
-@Entity
-public class Tower extends Item {
-    private Fit fit;
-    private String tubing;
-
-    public static enum Fit {
-        Custom, Exact, Universal
-    }
-
-    public Fit getFit() {
-        return fit;
-    }
-
-    public void setFit(Fit fit) {
-        this.fit = fit;
-    }
-
-    public String getTubing() {
-        return tubing;
-    }
-
-    public void setTubing(String tubing) {
-        this.tubing = tubing;
-    }
-
-    ;
-}
-----
-
-
-==  Wakeboard
-
-
-[source,java]
-----
-package org.superbiz.inheritance;
-
-import javax.persistence.Entity;
-
-@Entity
-public class Wakeboard extends Wearable {
-}
-----
-
-
-==  WakeboardBinding
-
-
-[source,java]
-----
-package org.superbiz.inheritance;
-
-import javax.persistence.Entity;
-
-@Entity
-public class WakeboardBinding extends Wearable {
-}
-----
-
-
-==  WakeRiderImpl
-
-
-[source,java]
-----
-package org.superbiz.inheritance;
-
-import javax.ejb.Stateless;
-import javax.jws.WebService;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-/**
- * This is an EJB 3 style pojo stateless session bean Every stateless session
- * bean implementation must be annotated using the annotation @Stateless This
- * EJB has a single interface: {@link WakeRiderWs} a webservice interface.
- */
-@Stateless
-@WebService(
-        portName = "InheritancePort",
-        serviceName = "InheritanceWsService",
-        targetNamespace = "http://superbiz.org/wsdl",
-        endpointInterface = "org.superbiz.inheritance.WakeRiderWs")
-public class WakeRiderImpl implements WakeRiderWs {
-
-    @PersistenceContext(unitName = "wakeboard-unit", type = PersistenceContextType.TRANSACTION)
-    private EntityManager entityManager;
-
-    public void addItem(Item item) throws Exception {
-        entityManager.persist(item);
-    }
-
-    public void deleteMovie(Item item) throws Exception {
-        entityManager.remove(item);
-    }
-
-    public List<Item> getItems() throws Exception {
-        Query query = entityManager.createQuery("SELECT i FROM Item i");
-        List<Item> items = query.getResultList();
-        return items;
-    }
-}
-----
-
-
-==  WakeRiderWs
-
-
-[source,java]
-----
-package org.superbiz.inheritance;
-
-import javax.jws.WebService;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import java.util.List;
-
-/**
- * This is an EJB 3 webservice interface that uses inheritance.
- */
-@WebService(targetNamespace = "http://superbiz.org/wsdl")
-@XmlSeeAlso({Wakeboard.class, WakeboardBinding.class, Tower.class})
-public interface WakeRiderWs {
-    public void addItem(Item item) throws Exception;
-
-    public void deleteMovie(Item item) throws Exception;
-
-    public List<Item> getItems() throws Exception;
-}
-----
-
-
-==  Wearable
-
-
-[source,java]
-----
-package org.superbiz.inheritance;
-
-import javax.persistence.MappedSuperclass;
-
-@MappedSuperclass
-public abstract class Wearable extends Item {
-    protected String size;
-
-    public String getSize() {
-        return size;
-    }
-
-    public void setSize(String size) {
-        this.size = size;
-    }
-}
-----
-
-
-==  ejb-jar.xml
-
-
-[source,xml]
-----
-<ejb-jar/>
-----
-
-    
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
-  <persistence-unit name="wakeboard-unit">
-
-    <jta-data-source>wakeBoardDatabase</jta-data-source>
-    <non-jta-data-source>wakeBoardDatabaseUnmanaged</non-jta-data-source>
-
-    <class>org.superbiz.inheritance.Item</class>
-    <class>org.superbiz.inheritance.Tower</class>
-    <class>org.superbiz.inheritance.Wakeboard</class>
-    <class>org.superbiz.inheritance.WakeboardBinding</class>
-    <class>org.superbiz.inheritance.Wearable</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-
-  </persistence-unit>
-</persistence>
-----
-
-
-==  InheritanceTest
-
-
-[source,java]
-----
-package org.superbiz.inheritance;
-
-import junit.framework.TestCase;
-import org.superbiz.inheritance.Tower.Fit;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.xml.namespace.QName;
-import javax.xml.ws.Service;
-import java.net.URL;
-import java.util.List;
-import java.util.Properties;
-
-public class InheritanceTest extends TestCase {
-
-    //START SNIPPET: setup	
-    private InitialContext initialContext;
-
-    protected void setUp() throws Exception {
-
-        Properties p = new Properties();
-        p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        p.put("wakeBoardDatabase", "new://Resource?type=DataSource");
-        p.put("wakeBoardDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("wakeBoardDatabase.JdbcUrl", "jdbc:hsqldb:mem:wakeBoarddb");
-
-        p.put("wakeBoardDatabaseUnmanaged", "new://Resource?type=DataSource");
-        p.put("wakeBoardDatabaseUnmanaged.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("wakeBoardDatabaseUnmanaged.JdbcUrl", "jdbc:hsqldb:mem:wakeBoarddb");
-        p.put("wakeBoardDatabaseUnmanaged.JtaManaged", "false");
-
-        p.put("openejb.embedded.remotable", "true");
-
-        initialContext = new InitialContext(p);
-    }
-    //END SNIPPET: setup    
-
-    /**
-     * Create a webservice client using wsdl url
-     *
-     * @throws Exception
-     */
-    //START SNIPPET: webservice
-    public void testInheritanceViaWsInterface() throws Exception {
-        Service service = Service.create(
-                new URL("http://127.0.0.1:4204/WakeRiderImpl?wsdl"),
-                new QName("http://superbiz.org/wsdl", "InheritanceWsService"));
-        assertNotNull(service);
-
-        WakeRiderWs ws = service.getPort(WakeRiderWs.class);
-
-        Tower tower = createTower();
-        Item item = createItem();
-        Wakeboard wakeBoard = createWakeBoard();
-        WakeboardBinding wakeBoardbinding = createWakeboardBinding();
-
-        ws.addItem(tower);
-        ws.addItem(item);
-        ws.addItem(wakeBoard);
-        ws.addItem(wakeBoardbinding);
-
-
-        List<Item> returnedItems = ws.getItems();
-
-        assertEquals("testInheritanceViaWsInterface, nb Items", 4, returnedItems.size());
-
-        //check tower
-        assertEquals("testInheritanceViaWsInterface, first Item", returnedItems.get(0).getClass(), Tower.class);
-        tower = (Tower) returnedItems.get(0);
-        assertEquals("testInheritanceViaWsInterface, first Item", tower.getBrand(), "Tower brand");
-        assertEquals("testInheritanceViaWsInterface, first Item", tower.getFit().ordinal(), Fit.Custom.ordinal());
-        assertEquals("testInheritanceViaWsInterface, first Item", tower.getItemName(), "Tower item name");
-        assertEquals("testInheritanceViaWsInterface, first Item", tower.getPrice(), 1.0d);
-        assertEquals("testInheritanceViaWsInterface, first Item", tower.getTubing(), "Tower tubing");
-
-        //check item
-        assertEquals("testInheritanceViaWsInterface, second Item", returnedItems.get(1).getClass(), Item.class);
-        item = (Item) returnedItems.get(1);
-        assertEquals("testInheritanceViaWsInterface, second Item", item.getBrand(), "Item brand");
-        assertEquals("testInheritanceViaWsInterface, second Item", item.getItemName(), "Item name");
-        assertEquals("testInheritanceViaWsInterface, second Item", item.getPrice(), 2.0d);
-
-        //check wakeboard
-        assertEquals("testInheritanceViaWsInterface, third Item", returnedItems.get(2).getClass(), Wakeboard.class);
-        wakeBoard = (Wakeboard) returnedItems.get(2);
-        assertEquals("testInheritanceViaWsInterface, third Item", wakeBoard.getBrand(), "Wakeboard brand");
-        assertEquals("testInheritanceViaWsInterface, third Item", wakeBoard.getItemName(), "Wakeboard item name");
-        assertEquals("testInheritanceViaWsInterface, third Item", wakeBoard.getPrice(), 3.0d);
-        assertEquals("testInheritanceViaWsInterface, third Item", wakeBoard.getSize(), "WakeBoard size");
-
-        //check wakeboardbinding
-        assertEquals("testInheritanceViaWsInterface, fourth Item", returnedItems.get(3).getClass(), WakeboardBinding.class);
-        wakeBoardbinding = (WakeboardBinding) returnedItems.get(3);
-        assertEquals("testInheritanceViaWsInterface, fourth Item", wakeBoardbinding.getBrand(), "Wakeboardbinding brand");
-        assertEquals("testInheritanceViaWsInterface, fourth Item", wakeBoardbinding.getItemName(), "Wakeboardbinding item name");
-        assertEquals("testInheritanceViaWsInterface, fourth Item", wakeBoardbinding.getPrice(), 4.0d);
-        assertEquals("testInheritanceViaWsInterface, fourth Item", wakeBoardbinding.getSize(), "WakeBoardbinding size");
-    }
-    //END SNIPPET: webservice
-
-    private Tower createTower() {
-        Tower tower = new Tower();
-        tower.setBrand("Tower brand");
-        tower.setFit(Fit.Custom);
-        tower.setItemName("Tower item name");
-        tower.setPrice(1.0f);
-        tower.setTubing("Tower tubing");
-        return tower;
-    }
-
-    private Item createItem() {
-        Item item = new Item();
-        item.setBrand("Item brand");
-        item.setItemName("Item name");
-        item.setPrice(2.0f);
-        return item;
-    }
-
-    private Wakeboard createWakeBoard() {
-        Wakeboard wakeBoard = new Wakeboard();
-        wakeBoard.setBrand("Wakeboard brand");
-        wakeBoard.setItemName("Wakeboard item name");
-        wakeBoard.setPrice(3.0f);
-        wakeBoard.setSize("WakeBoard size");
-        return wakeBoard;
-    }
-
-    private WakeboardBinding createWakeboardBinding() {
-        WakeboardBinding wakeBoardBinding = new WakeboardBinding();
-        wakeBoardBinding.setBrand("Wakeboardbinding brand");
-        wakeBoardBinding.setItemName("Wakeboardbinding item name");
-        wakeBoardBinding.setPrice(4.0f);
-        wakeBoardBinding.setSize("WakeBoardbinding size");
-        return wakeBoardBinding;
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.inheritance.InheritanceTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/webservice-inheritance
-INFO - openejb.base = /Users/dblevins/examples/webservice-inheritance
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=wakeBoardDatabaseUnmanaged, type=Resource, provider-id=Default JDBC Database)
-INFO - Configuring Service(id=wakeBoardDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/webservice-inheritance/target/classes
-INFO - Beginning load: /Users/dblevins/examples/webservice-inheritance/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/webservice-inheritance/classpath.ear
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean WakeRiderImpl: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring PersistenceUnit(name=wakeboard-unit)
-INFO - Enterprise application "/Users/dblevins/examples/webservice-inheritance/classpath.ear" loaded.
-INFO - Assembling app: /Users/dblevins/examples/webservice-inheritance/classpath.ear
-INFO - PersistenceUnit(name=wakeboard-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 396ms
-INFO - Created Ejb(deployment-id=WakeRiderImpl, ejb-name=WakeRiderImpl, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=WakeRiderImpl, ejb-name=WakeRiderImpl, container=Default Stateless Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/webservice-inheritance/classpath.ear)
-INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Creating ServerService(id=cxf)
-INFO - Creating ServerService(id=admin)
-INFO - Creating ServerService(id=ejbd)
-INFO - Creating ServerService(id=ejbds)
-INFO - Initializing network services
-  ** Starting Services **
-  NAME                 IP              PORT  
-  httpejbd             127.0.0.1       4204  
-  admin thread         127.0.0.1       4200  
-  ejbd                 127.0.0.1       4201  
-  ejbd                 127.0.0.1       4203  
--------
-Ready!
-WARN - Found no persistent property in "org.superbiz.inheritance.WakeboardBinding"
-WARN - Found no persistent property in "org.superbiz.inheritance.Wakeboard"
-WARN - Found no persistent property in "org.superbiz.inheritance.WakeboardBinding"
-WARN - Found no persistent property in "org.superbiz.inheritance.Wakeboard"
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.442 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/webservice-security.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/webservice-security.adoc b/src/main/jbake/content/examples/webservice-security.adoc
deleted file mode 100755
index 05588e3..0000000
--- a/src/main/jbake/content/examples/webservice-security.adoc
+++ /dev/null
@@ -1,233 +0,0 @@
-= Webservice Security
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example webservice-security can be browsed at https://github.com/apache/tomee/tree/master/examples/webservice-security
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  CalculatorImpl
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-import javax.annotation.security.DeclareRoles;
-import javax.annotation.security.RolesAllowed;
-import javax.ejb.Stateless;
-import javax.jws.WebService;
-
-/**
- * This is an EJB 3 style pojo stateless session bean
- * Every stateless session bean implementation must be annotated
- * using the annotation @Stateless
- * This EJB has a single interface: CalculatorWs a webservice interface.
- */
-//START SNIPPET: code
-@DeclareRoles(value = {"Administrator"})
-@Stateless
-@WebService(
-        portName = "CalculatorPort",
-        serviceName = "CalculatorWsService",
-        targetNamespace = "http://superbiz.org/wsdl",
-        endpointInterface = "org.superbiz.calculator.CalculatorWs")
-public class CalculatorImpl implements CalculatorWs, CalculatorRemote {
-
-    @RolesAllowed(value = {"Administrator"})
-    public int sum(int add1, int add2) {
-        return add1 + add2;
-    }
-
-    @RolesAllowed(value = {"Administrator"})
-    public int multiply(int mul1, int mul2) {
-        return mul1 * mul2;
-    }
-}
-----
-
-
-==  CalculatorRemote
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-import javax.ejb.Remote;
-
-@Remote
-public interface CalculatorRemote {
-
-    public int sum(int add1, int add2);
-
-    public int multiply(int mul1, int mul2);
-}
-----
-
-
-==  CalculatorWs
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-import javax.jws.WebService;
-
-//END SNIPPET: code
-
-/**
- * This is an EJB 3 webservice interface
- * A webservice interface must be annotated with the @Local
- * annotation.
- */
-//START SNIPPET: code
-@WebService(targetNamespace = "http://superbiz.org/wsdl")
-public interface CalculatorWs {
-
-    public int sum(int add1, int add2);
-
-    public int multiply(int mul1, int mul2);
-}
-----
-
-
-==  ejb-jar.xml
-
-
-[source,xml]
-----
-<ejb-jar/>
-----
-
-
-==  openejb-jar.xml
-
-
-[source,xml]
-----
-<openejb-jar xmlns="http://tomee.apache.org/xml/ns/openejb-jar-2.2">
-  <enterprise-beans>
-    <session>
-      <ejb-name>CalculatorImpl</ejb-name>
-      <web-service-security>
-        <security-realm-name/>
-        <transport-guarantee>NONE</transport-guarantee>
-        <auth-method>BASIC</auth-method>
-      </web-service-security>
-    </session>
-  </enterprise-beans>
-</openejb-jar>
-----
-
-
-==  CalculatorTest
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-import junit.framework.TestCase;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.xml.namespace.QName;
-import javax.xml.ws.BindingProvider;
-import javax.xml.ws.Service;
-import java.net.URL;
-import java.util.Properties;
-
-public class CalculatorTest extends TestCase {
-
-    //START SNIPPET: setup
-    private InitialContext initialContext;
-
-    protected void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        properties.setProperty("openejb.embedded.remotable", "true");
-
-        initialContext = new InitialContext(properties);
-    }
-    //END SNIPPET: setup
-
-    /**
-     * Create a webservice client using wsdl url
-     *
-     * @throws Exception
-     */
-    //START SNIPPET: webservice
-    public void testCalculatorViaWsInterface() throws Exception {
-        URL url = new URL("http://127.0.0.1:4204/CalculatorImpl?wsdl");
-        QName calcServiceQName = new QName("http://superbiz.org/wsdl", "CalculatorWsService");
-        Service calcService = Service.create(url, calcServiceQName);
-        assertNotNull(calcService);
-
-        CalculatorWs calc = calcService.getPort(CalculatorWs.class);
-        ((BindingProvider) calc).getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "jane");
-        ((BindingProvider) calc).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "waterfall");
-        assertEquals(10, calc.sum(4, 6));
-        assertEquals(12, calc.multiply(3, 4));
-    }
-    //END SNIPPET: webservice
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.calculator.CalculatorTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/webservice-security
-INFO - openejb.base = /Users/dblevins/examples/webservice-security
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/webservice-security/target/classes
-INFO - Beginning load: /Users/dblevins/examples/webservice-security/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/webservice-security/classpath.ear
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean CalculatorImpl: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Enterprise application "/Users/dblevins/examples/webservice-security/classpath.ear" loaded.
-INFO - Assembling app: /Users/dblevins/examples/webservice-security/classpath.ear
-INFO - Jndi(name=CalculatorImplRemote) --> Ejb(deployment-id=CalculatorImpl)
-INFO - Jndi(name=global/classpath.ear/webservice-security/CalculatorImpl!org.superbiz.calculator.CalculatorRemote) --> Ejb(deployment-id=CalculatorImpl)
-INFO - Jndi(name=global/classpath.ear/webservice-security/CalculatorImpl) --> Ejb(deployment-id=CalculatorImpl)
-INFO - Created Ejb(deployment-id=CalculatorImpl, ejb-name=CalculatorImpl, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=CalculatorImpl, ejb-name=CalculatorImpl, container=Default Stateless Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/webservice-security/classpath.ear)
-INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Creating ServerService(id=cxf)
-INFO - Creating ServerService(id=admin)
-INFO - Creating ServerService(id=ejbd)
-INFO - Creating ServerService(id=ejbds)
-INFO - Initializing network services
-  ** Starting Services **
-  NAME                 IP              PORT  
-  httpejbd             127.0.0.1       4204  
-  admin thread         127.0.0.1       4200  
-  ejbd                 127.0.0.1       4201  
-  ejbd                 127.0.0.1       4203  
--------
-Ready!
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.481 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    


[20/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
Remove out-dated examples
They are now pulled in dynamically


Project: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/commit/efed31f4
Tree: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/tree/efed31f4
Diff: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/diff/efed31f4

Branch: refs/heads/master
Commit: efed31f4404cbccaf8877e39a940d6362b7c222a
Parents: c80aa0e
Author: dblevins <da...@gmail.com>
Authored: Mon Nov 26 01:03:20 2018 -0800
Committer: dblevins <da...@gmail.com>
Committed: Mon Nov 26 01:03:20 2018 -0800

----------------------------------------------------------------------
 .../content/examples/access-timeout-meta.adoc   |  291 -----
 .../jbake/content/examples/access-timeout.adoc  |  225 ----
 .../content/examples/alternate-descriptors.adoc |  177 ---
 src/main/jbake/content/examples/applet.adoc     |  196 ---
 .../content/examples/application-composer.adoc  |  180 ---
 .../examples/applicationcomposer-jaxws-cdi.adoc |    9 -
 .../content/examples/applicationexception.adoc  |  129 --
 .../jbake/content/examples/arquillian-jpa.adoc  |  180 ---
 .../jbake/content/examples/async-methods.adoc   |  178 ---
 .../content/examples/async-postconstruct.adoc   |  140 ---
 .../bean-validation-design-by-contract.adoc     |  240 ----
 .../examples/bval-evaluation-redeployment.adoc  |    8 -
 .../cdi-alternative-and-stereotypes.adoc        |  138 --
 .../content/examples/cdi-application-scope.adoc |  160 ---
 src/main/jbake/content/examples/cdi-basic.adoc  |  191 ---
 .../content/examples/cdi-ejbcontext-jaas.adoc   |    9 -
 src/main/jbake/content/examples/cdi-events.adoc |   40 -
 .../content/examples/cdi-interceptors.adoc      |  268 ----
 .../content/examples/cdi-produces-disposes.adoc |  316 -----
 .../content/examples/cdi-produces-field.adoc    |  321 -----
 src/main/jbake/content/examples/cdi-realm.adoc  |    9 -
 .../content/examples/cdi-request-scope.adoc     |  182 ---
 .../content/examples/cdi-session-scope.adoc     |    9 -
 .../content/examples/change-jaxws-url.adoc      |  116 --
 .../client-resource-lookup-preview.adoc         |    9 -
 .../content/examples/component-interfaces.adoc  |  497 --------
 .../jbake/content/examples/cucumber-jvm.adoc    |    9 -
 .../content/examples/custom-injection.adoc      |  256 ----
 .../examples/datasource-ciphered-password.adoc  |  228 ----
 .../content/examples/datasource-definition.adoc |    9 -
 .../content/examples/datasource-versioning.adoc |  412 ------
 src/main/jbake/content/examples/decorators.adoc |  436 -------
 .../examples/deltaspike-configproperty.adoc     |    9 -
 .../examples/deltaspike-exception-handling.adoc |    9 -
 .../content/examples/deltaspike-fullstack.adoc  |   75 --
 .../jbake/content/examples/deltaspike-i18n.adoc |    9 -
 .../examples/dynamic-dao-implementation.adoc    |  384 ------
 .../examples/dynamic-datasource-routing.adoc    |  473 -------
 .../examples/dynamic-implementation.adoc        |  155 ---
 .../examples/dynamic-proxy-to-access-mbean.adoc |  460 -------
 .../jbake/content/examples/ear-testing.adoc     |  244 ----
 .../jbake/content/examples/ejb-examples.adoc    | 1188 ------------------
 .../jbake/content/examples/ejb-webservice.adoc  |   52 -
 src/main/jbake/content/examples/groovy-cdi.adoc |    9 -
 src/main/jbake/content/examples/groovy-jpa.adoc |    9 -
 .../jbake/content/examples/groovy-spock.adoc    |    9 -
 .../content/examples/helloworld-weblogic.adoc   |  169 ---
 src/main/jbake/content/examples/index-ng.adoc   |    5 -
 src/main/jbake/content/examples/index.adoc      |    5 -
 .../injection-of-connectionfactory.adoc         |  180 ---
 .../examples/injection-of-datasource.adoc       |  248 ----
 .../content/examples/injection-of-ejbs.adoc     |  234 ----
 .../examples/injection-of-entitymanager.adoc    |  249 ----
 .../examples/injection-of-env-entry.adoc        |  271 ----
 .../jbake/content/examples/interceptors.adoc    |  888 -------------
 src/main/jbake/content/examples/javamail.adoc   |  201 ---
 .../jbake/content/examples/jpa-eclipselink.adoc |  239 ----
 .../jbake/content/examples/jpa-enumerated.adoc  |  295 -----
 .../jbake/content/examples/jpa-hibernate.adoc   |  224 ----
 .../jbake/content/examples/jsf-cdi-and-ejb.adoc |  273 ----
 .../examples/jsf-managedBean-and-ejb.adoc       |  277 ----
 .../lookup-of-ejbs-with-descriptor.adoc         |  229 ----
 .../jbake/content/examples/lookup-of-ejbs.adoc  |  196 ---
 .../examples/mbean-auto-registration.adoc       |  172 ---
 .../jbake/content/examples/moviefun-rest.adoc   |    9 -
 src/main/jbake/content/examples/moviefun.adoc   |  385 ------
 .../content/examples/movies-complete-meta.adoc  |  502 --------
 .../jbake/content/examples/movies-complete.adoc |  385 ------
 src/main/jbake/content/examples/mtom.adoc       |    8 -
 .../examples/multi-jpa-provider-testing.adoc    |    9 -
 .../examples/multiple-arquillian-adapters.adoc  |    9 -
 .../examples/multiple-tomee-arquillian.adoc     |    9 -
 .../content/examples/myfaces-codi-demo.adoc     |   76 --
 .../content/examples/persistence-fragment.adoc  |  149 ---
 .../jbake/content/examples/pojo-webservice.adoc |    9 -
 .../jbake/content/examples/polling-parent.adoc  |   39 -
 .../content/examples/projectstage-demo.adoc     |    9 -
 src/main/jbake/content/examples/quartz-app.adoc |  263 ----
 .../jbake/content/examples/realm-in-tomee.adoc  |   45 -
 .../reload-persistence-unit-properties.adoc     |   59 -
 .../examples/resources-declared-in-webapp.adoc  |  157 ---
 .../content/examples/resources-jmx-example.adoc |  746 -----------
 .../rest-applicationcomposer-mockito.adoc       |    9 -
 .../examples/rest-applicationcomposer.adoc      |    9 -
 src/main/jbake/content/examples/rest-cdi.adoc   |  394 ------
 .../examples/rest-example-with-application.adoc |   90 --
 .../jbake/content/examples/rest-example.adoc    |  641 ----------
 src/main/jbake/content/examples/rest-jaas.adoc  |    9 -
 .../jbake/content/examples/rest-on-ejb.adoc     |  360 ------
 .../jbake/content/examples/rest-xml-json.adoc   |  394 ------
 .../jbake/content/examples/scala-basic.adoc     |    9 -
 .../jbake/content/examples/schedule-events.adoc |  185 ---
 .../content/examples/schedule-expression.adoc   |  185 ---
 .../content/examples/schedule-methods-meta.adoc |  384 ------
 .../content/examples/schedule-methods.adoc      |  141 ---
 .../jbake/content/examples/server-events.adoc   |    9 -
 .../examples/simple-cdi-interceptor.adoc        |  127 --
 .../jbake/content/examples/simple-cmp2.adoc     |  361 ------
 .../content/examples/simple-mdb-and-cdi.adoc    |  211 ----
 .../examples/simple-mdb-with-descriptor.adoc    |  268 ----
 src/main/jbake/content/examples/simple-mdb.adoc |  233 ----
 .../jbake/content/examples/simple-rest.adoc     |  148 ---
 .../content/examples/simple-singleton.adoc      |  376 ------
 .../examples/simple-stateful-callbacks.adoc     |  324 -----
 .../jbake/content/examples/simple-stateful.adoc |  160 ---
 .../examples/simple-stateless-callbacks.adoc    |  260 ----
 .../simple-stateless-with-descriptor.adoc       |  205 ---
 .../content/examples/simple-stateless.adoc      |  221 ----
 .../simple-webservice-without-interface.adoc    |  110 --
 .../content/examples/simple-webservice.adoc     |  386 ------
 .../examples/spring-data-proxy-meta.adoc        |   20 -
 .../content/examples/spring-data-proxy.adoc     |   22 -
 src/main/jbake/content/examples/struts.adoc     |  439 -------
 .../content/examples/telephone-stateful.adoc    |  248 ----
 .../content/examples/testcase-injection.adoc    |  240 ----
 .../content/examples/testing-security-2.adoc    |  306 -----
 .../content/examples/testing-security-3.adoc    |  381 ------
 .../content/examples/testing-security-4.adoc    |    9 -
 .../content/examples/testing-security-meta.adoc |  517 --------
 .../content/examples/testing-security.adoc      |  336 -----
 .../examples/testing-transactions-bmt.adoc      |  280 -----
 .../content/examples/testing-transactions.adoc  |  279 ----
 .../examples/tomee-jersey-eclipselink.adoc      |    9 -
 .../content/examples/transaction-rollback.adoc  |  584 ---------
 .../jbake/content/examples/troubleshooting.adoc |  480 -------
 .../examples/webservice-attachments.adoc        |  234 ----
 .../examples/webservice-handlerchain.adoc       |  409 ------
 .../content/examples/webservice-holder.adoc     |  201 ---
 .../examples/webservice-inheritance.adoc        |  476 -------
 .../content/examples/webservice-security.adoc   |  233 ----
 .../examples/webservice-ws-security.adoc        |  766 -----------
 .../webservice-ws-with-resources-config.adoc    |    9 -
 132 files changed, 28563 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/access-timeout-meta.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/access-timeout-meta.adoc b/src/main/jbake/content/examples/access-timeout-meta.adoc
deleted file mode 100755
index 345b7c3..0000000
--- a/src/main/jbake/content/examples/access-timeout-meta.adoc
+++ /dev/null
@@ -1,291 +0,0 @@
-= @AccessTimeout the Meta-Annotation Way
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example access-timeout-meta can be browsed at https://github.com/apache/tomee/tree/master/examples/access-timeout-meta
-
-
-Any annotation that takes parameters can benefit from meta-annotations.  Here we see how `@AccessTimeout` can be far more understandable and manageable through meta-annotations.
-We'll use the link:access-timeout.html[access-timeout] example as our use-case.
-
-The value of the parameters supplied to `@AccessTimeout` have a dramatic affect on how what that annotation actually does.  Moreover, `@AccessTimeout` has one of those designs
-where `-1` and `0` have signifcantly different meanings.  One means "wait forever", the other means "never wait".  Only a lucky few can remember which is which on a daily basis.
-For the rest of us it is a constant source of bugs.
-
-Meta-Annotations to the rescue!
-
-=  Creating the Meta-Annotations
-
-As a matter of best-practices, we will put our meta-annotations in a package called `api`, for this example that gives us `org.superbiz.accesstimeout.api`.  The package `org.superbiz.api` would work just as well.
-
-The basic idea is to have a package where "approved' annotations are used and to prohibit usage of the non-meta versions of the annotations.  All the real configuration will
-then be centralized in the `api` package and changes to timeout values will be localized to that package and automatically be reflected throuhout the application.
-
-An interesting side-effect of this approach is that if the `api` package where the meta-annotation definitions exist is kept in a separate jar as well, then one can effectively
-change the configuration of an entire application by simply replacing the `api` jar.
-
-==  @Metatype <small>The "root" Meta-Annotation</small>
-
-As with all meta-annotation usage, you first need to create your own "root" meta-annotation.  This is as easy as creating an annotation
-named `Metatype` that is annotated with itself and has `ElementType.ANNOTATION_TYPE` as its target.
-
-
-
-[source,java]
-----
-package org.superbiz.accesstimeout.api;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.ANNOTATION_TYPE)
-public @interface Metatype {
-}
-----
-
-
-==  @AwaitNever
-
-When the `@AccessTimeout` annotation has the value of `0` that has the implication that one should never wait to access the bean.  If the bean is busy, the caller will immediately
-receive an `ConcurrentAccessException`.  This is hard to remember and definitely not self-documenting for those that never knew the details.
-
-To create a meta-annotation version of `@AccessTimeout(0)` we simply need to think of a good annotation name, create that annotation, and annotate it with both `@AccessTimeout`
-and `@Metatype`
-
-
-[source,java]
-----
-package org.superbiz.accesstimeout.api;
-
-import javax.ejb.AccessTimeout;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.METHOD)
-
-@AccessTimeout(0)
-public @interface AwaitNever {
-}
-----
-
-
-==  @AwaitForever
-
-Just as `0` carries the special meaning of "never wait", a value of `-1` means "wait forever."
-
-As long as we're being picky, which we can be with meta-annotations,
-Technically "wait forever" is not the best description.  The actual methods of the `javax.util.concurrent` APIs use "await" rather than "wait".  One (wait) perphaps implies a
-command to wait, which this is not, and the other (await) perhaps better implies that waiting is possible but not a certainty.  So we will use "await" in our annotation names.
-
-We make our own `@AwaitForever` and annotate it with `@AccessTimeout(0)` and `@Metatype`
-
-
-[source,java]
-----
-package org.superbiz.accesstimeout.api;
-
-import javax.ejb.AccessTimeout;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.METHOD)
-
-@AccessTimeout(-1)
-public @interface AwaitForever {
-}
-----
-
-
-==  @AwaitBriefly
-
-Non `-1` and `0` values to `@AccessTimeout` actually involve the full breadth of the annotation.  Here is where you get to specify the maximum number minutes, seconds,
-milliseconds, etc. where one might await access to the bean instance.
-
-
-[source,java]
-----
-@Metatype
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.METHOD, ElementType.TYPE})
-
-@AccessTimeout(value = 5, unit = TimeUnit.SECONDS)
-public @interface AwaitBriefly {
-}
-----
-
-
-=  Configuration vs Operation
-
-Once you create a few meta-annotations and the fun becomes common-place, questoins start to raise in your mind on how to best get the benefits of meta-annotations.
-
-You have to really start thinking about how you want to approach your usage of meta-annotation and really put your designer hat on.  The fundamental question is
-**configuration vs operation** and the answer is subjective; how much flexibility do you want to design into your applications and where?
-
-==  Configuration names <small>describing the configuration</small>
-
-The simplest approach is to name your meta-annotations after the **configuration** they encapsulate. We've been following that format so far with `@AwaitNever` and `@AwaitForever`
-to clearly reflect the contents of each meta-annotation (`@AccessTimeout(-1)` and `@AccessTimeout(0)` respectively).
-
-The **cons** of this approach is that should you want to change the configuration of the application by only changing the meta-annotations -- this is one of the potential benefits
-of meta-annotations.  Certainly, the `@AwaitNever` meta-annotation can have no other value than `0` if it is to live up to its name.
-
-==  Operation names <small>describing the code</small>
-
-The alternate approach is to name your meta-annotations after the **operations** they apply to.  In short, to describe the code itself and not the configuration.  So, names like
-`@OrderCheckTimeout` or `@TwitterUpdateTimeout`.  These names are configuration-change-proof.  They would not change if the configuration changes and in fact they can facilitate
-finder-grained control over the configuration of an application.
-
-The **cons** are of course it is requires far more deliberation and consideration, not to mention more annotations.  Your skills as an architect, designer and ability to think as
-a administrator will be challenged.  You must be good at wearing your dev-opts hat.
-
-==  Pragmatism  <small>best of both worlds</small>
-
-Fortunately, meta-annotations are recursive.  You can do a little of both.
-
-
-[source,java]
-----
-@Metatype
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.METHOD)
-
-@AwaitBriefly
-public @interface TwitterUpdateTimeout {
-}
-----
-
-
-Of course you still need to be very deliberate on how your annotations are used.  When using a "configuration" named meta-annotation in code it can help to say to yourself,
-"I do not want to reconfigure this later."  If that doesn't feel quite right, put the extra effort into creating an operation named annotation and use in that code.
-
-=  Applying the Meta-Annotations
-
-Putting it all together, here's how we might apply our meta-annotations to the link:access-timeout.html[access-timeout] example.
-
-==  Before
-
-
-[source,java]
-----
-package org.superbiz.accesstimeout;
-
-import javax.ejb.AccessTimeout;
-import javax.ejb.Asynchronous;
-import javax.ejb.Lock;
-import javax.ejb.Singleton;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
-
-import static javax.ejb.LockType.WRITE;
-
-/**
- * @version $Revision$ $Date$
- */
-@Singleton
-@Lock(WRITE)
-public class BusyBee {
-
-    @Asynchronous
-    public Future stayBusy(CountDownLatch ready) {
-        ready.countDown();
-
-        try {
-            new CountDownLatch(1).await();
-        } catch (InterruptedException e) {
-            Thread.interrupted();
-        }
-
-        return null;
-    }
-
-    @AccessTimeout(0)
-    public void doItNow() {
-        // do something
-    }
-
-    @AccessTimeout(value = 5, unit = TimeUnit.SECONDS)
-    public void doItSoon() {
-        // do something
-    }
-
-    @AccessTimeout(-1)
-    public void justDoIt() {
-        // do something
-    }
-
-}
-----
-
-
-==  After
-
-
-[source,java]
-----
-package org.superbiz.accesstimeout;
-
-import org.superbiz.accesstimeout.api.AwaitBriefly;
-import org.superbiz.accesstimeout.api.AwaitForever;
-import org.superbiz.accesstimeout.api.AwaitNever;
-
-import javax.ejb.Asynchronous;
-import javax.ejb.Lock;
-import javax.ejb.Singleton;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.Future;
-
-import static javax.ejb.LockType.WRITE;
-
-/**
- * @version $Revision$ $Date$
- */
-@Singleton
-@Lock(WRITE)
-public class BusyBee {
-
-    @Asynchronous
-    public Future stayBusy(CountDownLatch ready) {
-        ready.countDown();
-
-        try {
-            new CountDownLatch(1).await();
-        } catch (InterruptedException e) {
-            Thread.interrupted();
-        }
-
-        return null;
-    }
-
-    @AwaitNever
-    public void doItNow() {
-        // do something
-    }
-
-    @AwaitBriefly
-    public void doItSoon() {
-        // do something
-    }
-
-    @AwaitForever
-    public void justDoIt() {
-        // do something
-    }
-
-}
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/access-timeout.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/access-timeout.adoc b/src/main/jbake/content/examples/access-timeout.adoc
deleted file mode 100755
index 8adbf40..0000000
--- a/src/main/jbake/content/examples/access-timeout.adoc
+++ /dev/null
@@ -1,225 +0,0 @@
-= @AccessTimeout annotation
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example access-timeout can be browsed at https://github.com/apache/tomee/tree/master/examples/access-timeout
-
-
-Before taking a look at `@AccessTimeout`, it might help to see when a caller might have to "wait"
-
-==  Waiting
-
-=== Stateful Bean
-
-NOTE: By default, clients are allowed to make concurrent calls to a stateful session object and the container is required to serialize such concurrent requests. Note that the container never permits multi-threaded access to the actual stateful session bean instance. For this reason, Read/Write method locking metadata, as well as the bean-managed concurrency mode, are not applicable to stateful session beans and must not be used.
-
-
-This means that when a method `foo()` of a stateful bean instance is being executed and a second request comes in for that method or another method, EJB container would serialize the second request. It would not let the method be executed concurrently but wait until the first request is processed.
-
-The client would wait also when `@Stateful` bean is in a transaction and the client is invoking it from outside that transaction.
-
-=== Stateless Bean
-
-Say there are 20 instances of a bean in the pool and all of them are busy. Now when the next request comes in, the processing *might wait* for a bean to be available in the pool. (Note: Pooling sematics, if any, are not covered by the spec. The vendor's pooling semantics might or might not involve a wait condition)
-
-=== Singleton Bean
-
-The container enforces a single-threaded access by default to singleton beans. That's the equivalent of annotating with `@Lock(Write)`. So when a `@Lock(Write)` method is executing, all other `@Lock(READ)` and `@Lock(WRITE)` method invocations would have to wait.
-
-===  Summary
-
- - `@Singleton` - an `@Lock(WRITE)` method is being invoked and container-managed concurrency is being used.  All methods are `@Lock(WRITE)` by default.
- - `@Stateful` - any method of the instance is being invoked and a second invocation occurs.  OR the `@Stateful` bean is in a transaction and the caller is invoking it from outside that transaction.
- - `@Stateless` - no instances are available in the pool. As noted, however, pooling sematics, if any, are not covered by the spec.  If the vendor's pooling semantics do involve a wait condition, the @AccessTimeout should apply.
-
-=  @AccessTimeout
-
-The `@AccessTimeout` is simply a convenience wrapper around the `long` and `TimeUnit` tuples commonly used in the `java.util.concurrent` API.
-
-
-[source,java]
-----
-import java.util.concurrent.TimeUnit;
-@Target({METHOD, TYPE})
-@Retention(RUNTIME)
-public @interface AccessTimeout {
-    long value();
-    TimeUnit unit() default TimeUnit.MILLISECONDS;
-}
-----
-
-
-==  Usage
-
-A method or class can be annotated with @AccessTimeout to specify the maximum time a call might wait for access to the bean wait should a wait condition occur.
-
-The semantics of the value element are as follows:
-
- - A `value` > 0 indicates a timeout value in the units specified by the `unit` element.
- - A `value` of 0 means concurrent access is not permitted.
- - A `value` of -1 indicates that the client request will block indefinitely until forward progress it can proceed.
-
-Just as simple as that !
-
-=== What exception would the client receive, with a timeout ?
-Quoting from the spec, "if a client-invoked business method is in progress on an instance when another client-invoked call, from the same or different client, arrives at the same instance of a stateful session bean, if the second client is a client of the bean�s business interface or no-interface view, the concurrent invocation must result in the second client receiving a javax.ejb.ConcurrentAccessException[15]. If the EJB 2.1 client view is used, the container must throw a java.rmi.RemoteException if the second client is a remote client, or a javax.ejb.EJBException if the second client is a local client"
-
-===  No standard default
-
-Note that the `value` attribute has no default.  This was intentional and intended to communicate that if `@AccessTimeout` is not explicitly used, the behavior you get is vendor-specific.
-
-Some vendors will wait for a preconfigured time and throw `javax.ejb.ConcurrentAccessException`, some vendors will throw it immediately.
-
-=  Example
-
-Here we have a simple @Singleton bean that has three synchronous methods and one `@Asynchronous` method.  The bean itself is annotated `@Lock(WRITE)` so that only one thread may access the `@Singleton` at a time.  This is the default behavior of an `@Singleton` bean, so explicit usage of `@Lock(WRITE)` is not needed but is rather nice for clarity as the single-threaded nature of the bean is important to the example.
-
-
-[source,java]
-----
-@Singleton
-@Lock(WRITE)
-public class BusyBee {
-
-    @Asynchronous
-    public Future stayBusy(CountDownLatch ready) {
-        ready.countDown();
-
-        try {
-            new CountDownLatch(1).await();
-        } catch (InterruptedException e) {
-            Thread.interrupted();
-        }
-
-        return null;
-    }
-
-    @AccessTimeout(0)
-    public void doItNow() {
-        // do something
-    }
-
-    @AccessTimeout(value = 5, unit = TimeUnit.SECONDS)
-    public void doItSoon() {
-        // do something
-    }
-
-    @AccessTimeout(-1)
-    public void justDoIt() {
-        // do something
-    }
-
-}
-----
-
-
-The `@Asynchronous` method is not a critical part of `@AccessTimeout`, but serves as a simple way to "lock" the bean for testing purposes.  It allows us to easily test the concurrent behavior of the bean.
-
-
-[source,java]
-----
-public class BusyBeeTest extends TestCase {
-
-    public void test() throws Exception {
-
-        final Context context = EJBContainer.createEJBContainer().getContext();
-
-        final CountDownLatch ready = new CountDownLatch(1);
-
-        final BusyBee busyBee = (BusyBee) context.lookup("java:global/access-timeout/BusyBee");
-
-        // This asynchronous method will never exit
-        busyBee.stayBusy(ready);
-
-        // Are you working yet little bee?
-        ready.await();
-
-
-        // OK, Bee is busy
-
-
-        { // Timeout Immediately
-            final long start = System.nanoTime();
-
-            try {
-                busyBee.doItNow();
-
-                fail("The bee should be busy");
-            } catch (Exception e) {
-                // the bee is still too busy as expected
-            }
-
-            assertEquals(0, seconds(start));
-        }
-
-        { // Timeout in 5 seconds
-            final long start = System.nanoTime();
-
-            try {
-                busyBee.doItSoon();
-
-                fail("The bee should be busy");
-            } catch (Exception e) {
-                // the bee is still too busy as expected
-            }
-
-            assertEquals(5, seconds(start));
-        }
-
-        // This will wait forever, give it a try if you have that long
-        //busyBee.justDoIt();
-    }
-
-    private long seconds(long start) {
-        return TimeUnit.NANOSECONDS.toSeconds(System.nanoTime() - start);
-    }
-}
-----
-
-
-
-=  Running
-
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.accesstimeout.BusyBeeTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/access-timeout
-INFO - openejb.base = /Users/dblevins/examples/access-timeout
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/access-timeout/target/classes
-INFO - Beginning load: /Users/dblevins/examples/access-timeout/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/access-timeout
-INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-INFO - Auto-creating a container for bean BusyBee: Container(type=SINGLETON, id=Default Singleton Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.accesstimeout.BusyBeeTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/access-timeout" loaded.
-INFO - Assembling app: /Users/dblevins/examples/access-timeout
-INFO - Jndi(name="java:global/access-timeout/BusyBee!org.superbiz.accesstimeout.BusyBee")
-INFO - Jndi(name="java:global/access-timeout/BusyBee")
-INFO - Jndi(name="java:global/EjbModule748454644/org.superbiz.accesstimeout.BusyBeeTest!org.superbiz.accesstimeout.BusyBeeTest")
-INFO - Jndi(name="java:global/EjbModule748454644/org.superbiz.accesstimeout.BusyBeeTest")
-INFO - Created Ejb(deployment-id=org.superbiz.accesstimeout.BusyBeeTest, ejb-name=org.superbiz.accesstimeout.BusyBeeTest, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=BusyBee, ejb-name=BusyBee, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=org.superbiz.accesstimeout.BusyBeeTest, ejb-name=org.superbiz.accesstimeout.BusyBeeTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=BusyBee, ejb-name=BusyBee, container=Default Singleton Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/access-timeout)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.071 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/alternate-descriptors.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/alternate-descriptors.adoc b/src/main/jbake/content/examples/alternate-descriptors.adoc
deleted file mode 100755
index 6946ce0..0000000
--- a/src/main/jbake/content/examples/alternate-descriptors.adoc
+++ /dev/null
@@ -1,177 +0,0 @@
-= Alternate Descriptors
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example alternate-descriptors can be browsed at https://github.com/apache/tomee/tree/master/examples/alternate-descriptors
-
-
-See the link:../../alternate-descriptors.html[Alternate Descriptors] page for the full details of how this feature works.
-
-For our example we'll use the standard "moviefun" code which contains a `Movie` entity and `Movies` session bean.  To add a twist
-for testing and demonstrate alternate descriptors, we will create an interceptor that will be used only in our test cases.
-
-To add this to our application, we simply need a `test.ejb-jar.xml` in the same location that the regular `ejb-jar.xml` would be expected.
-
-That gives us the following files in our project:
-
- - src/main/resources/META-INF/ejb-jar.xml
- - src/main/resources/META-INF/persistence.xml
- - src/main/resources/META-INF/test.ejb-jar.xml
-
-==  The test.ejb-jar.xml
-
-The normal `ejb-jar.xml` simply contains `<ejb-jar/>`, however the `test.ejb-jar.xml` we add an extra interceptor:
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee">
-  <assembly-descriptor>
-    <interceptor-binding>
-      <ejb-name>Movies</ejb-name>
-      <interceptor-class>org.superbiz.altdd.MoviesTest$Interceptor</interceptor-class>
-    </interceptor-binding>
-  </assembly-descriptor>
-</ejb-jar>
-----
-
-
-==  The TestCase
-
-To enable our `test.ejb-jar.xml` in the test case, we simply set the `openejb.altdd.prefix` property when creating the embedded `EJBContainer`
-
-     public class MoviesTest extends TestCase {
-
-         @EJB
-         private Movies movies;
-
-         @Resource
-         private UserTransaction userTransaction;
-
-         @PersistenceContext
-         private EntityManager entityManager;
-
-         public void setUp() throws Exception {
-             Properties p = new Properties();
-             p.put("movieDatabase", "new://Resource?type=DataSource");
-             p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-             p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-             p.put("openejb.altdd.prefix", "test");
-
-             EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
-         }
-
-         public void test() throws Exception {
-
-             userTransaction.begin();
-
-             try {
-                 entityManager.persist(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-                 entityManager.persist(new Movie("Joel Coen", "Fargo", 1996));
-                 entityManager.persist(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-                 List<Movie> list = movies.getMovies();
-                 assertEquals("List.size()", 3, list.size());
-
-                 for (Movie movie : list) {
-                     movies.deleteMovie(movie);
-                 }
-
-                 assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-
-             } finally {
-                 try {
-                     userTransaction.commit();
-                     fail("Transaction should have been rolled back");
-                 } catch (RollbackException e) {
-                     // Good, we don't want to clean up the db
-                 }
-             }
-         }
-
-         public static class Interceptor {
-
-             @Resource
-             private SessionContext sessionContext;
-
-             @AroundInvoke
-             public Object invoke(InvocationContext context) throws Exception {
-
-                 sessionContext.setRollbackOnly();
-
-                 return context.proceed();
-             }
-         }
-     }
-
-As noted in link:../../alternate-descriptors.html[the documentation], several prefixes can be used at once.
-
-=  Running
-
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.altdd.MoviesTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/alternate-descriptors
-INFO - openejb.base = /Users/dblevins/examples/alternate-descriptors
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/alternate-descriptors/target/classes
-INFO - Beginning load: /Users/dblevins/examples/alternate-descriptors/target/classes
-INFO - AltDD ejb-jar.xml -> file:/Users/dblevins/examples/alternate-descriptors/target/classes/META-INF/test.ejb-jar.xml
-INFO - Configuring enterprise application: /Users/dblevins/examples/alternate-descriptors
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.altdd.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/alternate-descriptors" loaded.
-INFO - Assembling app: /Users/dblevins/examples/alternate-descriptors
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 411ms
-INFO - Jndi(name="java:global/alternate-descriptors/Movies!org.superbiz.altdd.Movies")
-INFO - Jndi(name="java:global/alternate-descriptors/Movies")
-INFO - Jndi(name="java:global/EjbModule1893321675/org.superbiz.altdd.MoviesTest!org.superbiz.altdd.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule1893321675/org.superbiz.altdd.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=org.superbiz.altdd.MoviesTest, ejb-name=org.superbiz.altdd.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=org.superbiz.altdd.MoviesTest, ejb-name=org.superbiz.altdd.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/alternate-descriptors)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.569 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-
-=  Warning on Tooling
-
-If you split your descriptors into separate directories, this support will not work.  Specifically, this will not work:
-
- - src/main/resources/META-INF/ejb-jar.xml
- - src/main/resources/META-INF/persistence.xml
- - src/**test**/resources/META-INF/test.ejb-jar.xml
-
-This support is **not** aware of any Maven, Gradle, Ant, IntelliJ, NetBeans, Eclipse or other settings.
-
-
-
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/applet.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/applet.adoc b/src/main/jbake/content/examples/applet.adoc
deleted file mode 100755
index b3bba7d..0000000
--- a/src/main/jbake/content/examples/applet.adoc
+++ /dev/null
@@ -1,196 +0,0 @@
-= Applet
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example applet can be browsed at https://github.com/apache/tomee/tree/master/examples/applet
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Calculator
-
-
-[source,java]
-----
-package org.superbiz.applet;
-
-import javax.ejb.Remote;
-
-@Remote
-public interface Calculator {
-    public double add(double x, double y);
-}
-----
-
-
-==  CalculatorApplet
-
-
-[source,java]
-----
-package org.superbiz.applet;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.rmi.PortableRemoteObject;
-import javax.swing.JApplet;
-import javax.swing.JButton;
-import javax.swing.JLabel;
-import javax.swing.JTextArea;
-import javax.swing.JTextField;
-import javax.swing.SwingUtilities;
-import java.awt.GridLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.Properties;
-
-public class CalculatorApplet extends JApplet {
-    JTextArea area;
-
-    JTextField field1;
-    JTextField field2;
-    JLabel label1;
-    JLabel label2;
-    JButton button;
-    JLabel label3;
-    Context ctx;
-
-    public void init() {
-        try {
-            SwingUtilities.invokeAndWait(new Runnable() {
-                public void run() {
-                    createUI();
-                }
-            });
-        } catch (Exception e) {
-            System.err.println("createGUI didn't successfully complete");
-        }
-    }
-
-    private void createUI() {
-        field1 = new JTextField();
-        field2 = new JTextField();
-        label1 = new JLabel("Enter first number");
-        label2 = new JLabel("Enter second number");
-        label3 = new JLabel("RESULT=");
-        button = new JButton("Add");
-
-        setLayout(new GridLayout(3, 2));
-        add(label1);
-        add(field1);
-        add(label2);
-        add(field2);
-        add(button);
-        add(label3);
-        Properties props = new Properties();
-        props.put(Context.INITIAL_CONTEXT_FACTORY,
-                "org.apache.openejb.client.RemoteInitialContextFactory");
-        props.put(Context.PROVIDER_URL, "http://127.0.0.1:8080/applet/ejb");
-        try {
-            ctx = new InitialContext(props);
-        } catch (NamingException e) {
-            throw new RuntimeException(e);
-        }
-        button.addActionListener(new ActionListener() {
-
-            public void actionPerformed(ActionEvent e) {
-
-                try {
-                    final Object ref = ctx.lookup("CalculatorImplRemote");
-                    Calculator calc = (Calculator) PortableRemoteObject.narrow(
-                            ref, Calculator.class);
-                    String text1 = field1.getText();
-                    String text2 = field2.getText();
-                    int num1 = Integer.parseInt(text1);
-                    int num2 = Integer.parseInt(text2);
-                    double result = calc.add(num1, num2);
-                    label3.setText("RESULT=" + result);
-                } catch (NamingException ex) {
-                    throw new RuntimeException(ex);
-                }
-            }
-        });
-    }
-}
-----
-
-
-==  CalculatorImpl
-
-
-[source,java]
-----
-package org.superbiz.applet;
-
-import javax.ejb.Stateless;
-
-@Stateless
-public class CalculatorImpl implements Calculator {
-
-    public double add(double x, double y) {
-        return x + y;
-    }
-}
-----
-
-
-==  web.xml
-
-
-[source,xml]
-----
-<web-app>
-  <servlet>
-    <servlet-name>ServerServlet</servlet-name>
-    <servlet-class>org.apache.openejb.server.httpd.ServerServlet</servlet-class>
-  </servlet>
-  <servlet-mapping>
-    <servlet-name>ServerServlet</servlet-name>
-    <url-pattern>/ejb/*</url-pattern>
-  </servlet-mapping>
-</web-app>
-----
-
-    
-
-==  JNDILookupTest
-
-
-[source,java]
-----
-package org.superbiz;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.superbiz.applet.Calculator;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.rmi.PortableRemoteObject;
-import java.util.Properties;
-
-
-public class JNDILookupTest {
-
-    @Test
-    public void test() {
-        Properties props = new Properties();
-        props.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
-        props.put(Context.PROVIDER_URL, "http://127.0.0.1:8080/tomee/ejb");
-        try {
-            Context ctx = new InitialContext(props);
-            System.out.println("Found context " + ctx);
-            final Object ref = ctx.lookup("CalculatorImplRemote");
-            Calculator calc = (Calculator) PortableRemoteObject.narrow(ref, Calculator.class);
-            double result = calc.add(10, 30);
-            Assert.assertEquals(40, result, 0.5);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-}
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/application-composer.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/application-composer.adoc b/src/main/jbake/content/examples/application-composer.adoc
deleted file mode 100755
index cf32a75..0000000
--- a/src/main/jbake/content/examples/application-composer.adoc
+++ /dev/null
@@ -1,180 +0,0 @@
-= Application Composer
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example application-composer can be browsed at https://github.com/apache/tomee/tree/master/examples/application-composer
-
-
-The `org.apache.openejb.junit.ApplicationComposer` is JUnit test runner modeled after the way we've done testing internally in OpenEJB for years (since about 2006).
-It involves no classpath scanning at all.  If you want something to be in the app, you must build it directly in your testcase.
-
-With the `ApplicationComposer` you can do identical testing that OpenEJB uses internally, but with limited dependency on OpenEJB itself.  The main dependency is on the code
-that is used to build the actual applications:
-
-
-[source,xml]
-----
-<dependency>
-  <groupId>org.apache.openejb</groupId>
-  <artifactId>openejb-jee</artifactId>
-  <version>4.0.0-beta-1</version>
-</dependency>
-----
-
-
-=  Composing an Application
-
-The main difference to the embedded `EJBContainer` API is building the application in the test code.  This is done with one or more methods in the test case annotated
-with `org.apache.openejb.junit.Module` using the following format:
-
-
-[source,java]
-----
-@Module
-public <return-value> <module-name>() {
-
-Where **module-name** is the name you wish to use for that module and **return-value** can be any one of the following:
-
- - java.lang.Class
- - java.lang.Class[]
- - org.apache.openejb.jee.EjbJar
- - org.apache.openejb.jee.EnterpriseBean
- - org.apache.openejb.jee.Application
- - org.apache.openejb.jee.Connector
- - org.apache.openejb.jee.Beans
- - org.apache.openejb.jee.jpa.unit.Persistence
- - org.apache.openejb.jee.jpa.unit.PersistenceUnit
-
-# Example
-
-Used in an actual testcase, that might look like so:
-
-import junit.framework.TestCase;
-import org.apache.openejb.jee.EjbJar;
-import org.apache.openejb.jee.StatefulBean;
-import org.apache.openejb.jee.jpa.unit.PersistenceUnit;
-import org.apache.openejb.junit.ApplicationComposer;
-import org.apache.openejb.junit.Configuration;
-import org.apache.openejb.junit.Module;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import javax.annotation.Resource;
-import javax.ejb.EJB;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.transaction.UserTransaction;
-import java.util.List;
-import java.util.Properties;
-
-@RunWith(ApplicationComposer.class)
-public class MoviesTest extends TestCase {
-
-    @EJB
-    private Movies movies;
-
-    @Resource
-    private UserTransaction userTransaction;
-
-    @PersistenceContext
-    private EntityManager entityManager;
-
-    @Module
-    public PersistenceUnit persistence() {
-        PersistenceUnit unit = new PersistenceUnit("movie-unit");
-        unit.setJtaDataSource("movieDatabase");
-        unit.setNonJtaDataSource("movieDatabaseUnmanaged");
-        unit.getClazz().add(Movie.class.getName());
-        unit.setProperty("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
-        return unit;
-    }
-
-    @Module
-    public EjbJar beans() {
-        EjbJar ejbJar = new EjbJar("movie-beans");
-        ejbJar.addEnterpriseBean(new StatefulBean(MoviesImpl.class));
-        return ejbJar;
-    }
-
-    @Configuration
-    public Properties config() throws Exception {
-        Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-        return p;
-    }
-
-    @Test
-    public void test() throws Exception {
-
-        userTransaction.begin();
-
-        try {
-            entityManager.persist(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            entityManager.persist(new Movie("Joel Coen", "Fargo", 1996));
-            entityManager.persist(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-            List<Movie> list = movies.getMovies();
-            assertEquals("List.size()", 3, list.size());
-
-            for (Movie movie : list) {
-                movies.deleteMovie(movie);
-            }
-
-            assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-
-        } finally {
-            userTransaction.commit();
-        }
-    }
-}
-----
-
-
-=  Running
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.composed.MoviesTest
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Configuring enterprise application: /Users/dblevins/examples/application-composer/MoviesTest
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.composed.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean MoviesImpl: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/application-composer/MoviesTest" loaded.
-INFO - Assembling app: /Users/dblevins/examples/application-composer/MoviesTest
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 449ms
-INFO - Jndi(name=org.superbiz.composed.MoviesTestLocalBean) --> Ejb(deployment-id=org.superbiz.composed.MoviesTest)
-INFO - Jndi(name=global/MoviesTest/EjbModule2027711095/MoviesTest!org.superbiz.composed.MoviesTest) --> Ejb(deployment-id=org.superbiz.composed.MoviesTest)
-INFO - Jndi(name=global/MoviesTest/EjbModule2027711095/MoviesTest) --> Ejb(deployment-id=org.superbiz.composed.MoviesTest)
-INFO - Jndi(name=MoviesImplLocal) --> Ejb(deployment-id=MoviesImpl)
-INFO - Jndi(name=global/MoviesTest/movie-beans/MoviesImpl!org.superbiz.composed.Movies) --> Ejb(deployment-id=MoviesImpl)
-INFO - Jndi(name=global/MoviesTest/movie-beans/MoviesImpl) --> Ejb(deployment-id=MoviesImpl)
-INFO - Created Ejb(deployment-id=org.superbiz.composed.MoviesTest, ejb-name=MoviesTest, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=MoviesImpl, ejb-name=MoviesImpl, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=org.superbiz.composed.MoviesTest, ejb-name=MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=MoviesImpl, ejb-name=MoviesImpl, container=Default Stateful Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/application-composer/MoviesTest)
-INFO - Undeploying app: /Users/dblevins/examples/application-composer/MoviesTest
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.221 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/applicationcomposer-jaxws-cdi.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/applicationcomposer-jaxws-cdi.adoc b/src/main/jbake/content/examples/applicationcomposer-jaxws-cdi.adoc
deleted file mode 100755
index 7116a9f..0000000
--- a/src/main/jbake/content/examples/applicationcomposer-jaxws-cdi.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= applicationcomposer-jaxws-cdi
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example applicationcomposer-jaxws-cdi can be browsed at https://github.com/apache/tomee/tree/master/examples/applicationcomposer-jaxws-cdi
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/applicationexception.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/applicationexception.adoc b/src/main/jbake/content/examples/applicationexception.adoc
deleted file mode 100755
index 72cdda6..0000000
--- a/src/main/jbake/content/examples/applicationexception.adoc
+++ /dev/null
@@ -1,129 +0,0 @@
-= @ApplicationException annotation
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example applicationexception can be browsed at https://github.com/apache/tomee/tree/master/examples/applicationexception
-
-
-=  Declaring an @ApplicationException
-
-
-[source,java]
-----
-import javax.ejb.ApplicationException;
-
-/**
- * @version $Rev: 784112 $ $Date: 2009-06-12 06:23:57 -0700 (Fri, 12 Jun 2009) $
- */
-@ApplicationException(rollback = true)
-public abstract class BusinessException extends RuntimeException {
-}
-----
-
-
-By default, @ApplicationException is inherited
-
-
-[source,java]
-----
-public class ValueRequiredException extends BusinessException {
-}
-----
-
-
-=  In the bean code
-
-
-[source,java]
-----
-@Stateless
-public class ThrowBusinessExceptionImpl implements ThrowBusinessException {
-
-    public void throwValueRequiredException() throws BusinessException {
-        throw new ValueRequiredException();
-    }
-
-}
-----
-
-
-Normally throwing a `RuntimeException` would cause the container to both rollback the transaction and destroy the bean instance that threw the exception.
-
-As `BusinessException` has been annotated `@ApplicationException(rollback = true)` only the transaction rollback will occur and the bean will not get destroyed.
-
-=  The TestCase
-
-
-[source,java]
-----
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Properties;
-
-public class ThrowBusinessExceptionImplTest {
-
-    private InitialContext initialContext;
-
-    @Before
-    public void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-
-        initialContext = new InitialContext(properties);
-    }
-
-    @Test(expected = ValueRequiredException.class)
-    public void testCounterViaRemoteInterface() throws Exception {
-        Object object = initialContext.lookup("ThrowBusinessExceptionImplRemote");
-
-        Assert.assertNotNull(object);
-        Assert.assertTrue(object instanceof ThrowBusinessException);
-        ThrowBusinessException bean = (ThrowBusinessException) object;
-        bean.throwValueRequiredException();
-    }
-}
-----
-
-
-=  Running
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.appexception.ThrowBusinessExceptionImplTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/applicationexception
-INFO - openejb.base = /Users/dblevins/examples/applicationexception
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/applicationexception/target/classes
-INFO - Beginning load: /Users/dblevins/examples/applicationexception/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/applicationexception/classpath.ear
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean ThrowBusinessExceptionImpl: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Enterprise application "/Users/dblevins/examples/applicationexception/classpath.ear" loaded.
-INFO - Assembling app: /Users/dblevins/examples/applicationexception/classpath.ear
-INFO - Jndi(name=ThrowBusinessExceptionImplRemote) --> Ejb(deployment-id=ThrowBusinessExceptionImpl)
-INFO - Jndi(name=global/classpath.ear/applicationexception/ThrowBusinessExceptionImpl!org.superbiz.appexception.ThrowBusinessException) --> Ejb(deployment-id=ThrowBusinessExceptionImpl)
-INFO - Jndi(name=global/classpath.ear/applicationexception/ThrowBusinessExceptionImpl) --> Ejb(deployment-id=ThrowBusinessExceptionImpl)
-INFO - Created Ejb(deployment-id=ThrowBusinessExceptionImpl, ejb-name=ThrowBusinessExceptionImpl, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=ThrowBusinessExceptionImpl, ejb-name=ThrowBusinessExceptionImpl, container=Default Stateless Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/applicationexception/classpath.ear)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.434 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/arquillian-jpa.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/arquillian-jpa.adoc b/src/main/jbake/content/examples/arquillian-jpa.adoc
deleted file mode 100755
index 287e933..0000000
--- a/src/main/jbake/content/examples/arquillian-jpa.adoc
+++ /dev/null
@@ -1,180 +0,0 @@
-= Arquillian Persistence Extension
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example arquillian-jpa can be browsed at https://github.com/apache/tomee/tree/master/examples/arquillian-jpa
-
-
-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)
-
-
-[source]
-----
--------------------------------------------------------
- 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:7.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/7.0.0-SNAPSHOT/apache-tomee-7.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-7.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 write/read
-INFOS - Initializing ProtocolHandler ["ajp-nio-40071"]
-INFOS - Using a shared selector for servlet write/read
-INFOS - Using 'openejb.jdbc.datasource-creator=org.apache.tomee.jdbc.TomEEDataSourceCreator'
-INFOS - ********************************************************************************
-INFOS - OpenEJB http://tomee.apache.org/
-INFOS - Startup: Wed Oct 01 18:30:26 CEST 2014
-INFOS - Copyright 1999-2013 (C) Apache OpenEJB Project, All Rights Reserved.
-INFOS - Version: 7.0.0-SNAPSHOT
-INFOS - Build date: 20141001
-INFOS - Build time: 04:53
-INFOS - ********************************************************************************
-INFOS - openejb.home = /home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/apache-tomee-remote/apache-tomee-webprofile-7.0.0-SNAPSHOT
-INFOS - openejb.base = /home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/apache-tomee-remote/apache-tomee-webprofile-7.0.0-SNAPSHOT
-INFOS - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@13158bbd
-INFOS - Succeeded in installing singleton service
-INFOS - openejb configuration file is '/home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/apache-tomee-remote/apache-tomee-webprofile-7.0.0-SNAPSHOT/conf/tomee.xml'
-INFOS - Configuring Service(id=Tomcat Security Service, type=SecurityService, provider-id=Tomcat Security Service)
-INFOS - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFOS - Configuring Service(id=demoDataSource, type=Resource, provider-id=Default JDBC Database)
-INFOS - Using 'openejb.system.apps=true'
-INFOS - Configuring enterprise application: openejb
-INFOS - Using openejb.deploymentId.format '{ejbName}'
-INFOS - Auto-deploying ejb openejb/Deployer: EjbDeployment(deployment-id=openejb/Deployer)
-INFOS - Auto-deploying ejb openejb/ConfigurationInfo: EjbDeployment(deployment-id=openejb/ConfigurationInfo)
-INFOS - Auto-deploying ejb MEJB: EjbDeployment(deployment-id=MEJB)
-INFOS - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFOS - Auto-creating a container for bean openejb/Deployer: Container(type=STATELESS, id=Default Stateless Container)
-INFOS - Enterprise application "openejb" loaded.
-INFOS - Creating TransactionManager(id=Default Transaction Manager)
-INFOS - Creating SecurityService(id=Tomcat Security Service)
-INFOS - Creating Resource(id=demoDataSource)
-INFOS - Disabling testOnBorrow since no validation query is provided
-INFOS - Creating Container(id=Default Stateless Container)
-INFOS - Not creating another application classloader for openejb
-INFOS - Assembling app: openejb
-INFOS - Using 'openejb.jndiname.format={deploymentId}{interfaceType.openejbLegacyName}'
-INFOS - Jndi(name=openejb/DeployerBusinessRemote) --> Ejb(deployment-id=openejb/Deployer)
-INFOS - Jndi(name=global/openejb/openejb/Deployer!org.apache.openejb.assembler.Deployer) --> Ejb(deployment-id=openejb/Deployer)
-INFOS - Jndi(name=global/openejb/openejb/Deployer) --> Ejb(deployment-id=openejb/Deployer)
-INFOS - Jndi(name=openejb/ConfigurationInfoBusinessRemote) --> Ejb(deployment-id=openejb/ConfigurationInfo)
-INFOS - Jndi(name=global/openejb/openejb/ConfigurationInfo!org.apache.openejb.assembler.classic.cmd.ConfigurationInfo) --> Ejb(deployment-id=openejb/ConfigurationInfo)
-INFOS - Jndi(name=global/openejb/openejb/ConfigurationInfo) --> Ejb(deployment-id=openejb/ConfigurationInfo)
-INFOS - Jndi(name=MEJB) --> Ejb(deployment-id=MEJB)
-INFOS - Jndi(name=global/openejb/MEJB!javax.management.j2ee.ManagementHome) --> Ejb(deployment-id=MEJB)
-INFOS - Jndi(name=global/openejb/MEJB) --> Ejb(deployment-id=MEJB)
-INFOS - Created Ejb(deployment-id=openejb/Deployer, ejb-name=openejb/Deployer, container=Default Stateless Container)
-INFOS - Created Ejb(deployment-id=MEJB, ejb-name=MEJB, container=Default Stateless Container)
-INFOS - Created Ejb(deployment-id=openejb/ConfigurationInfo, ejb-name=openejb/ConfigurationInfo, container=Default Stateless Container)
-INFOS - Started Ejb(deployment-id=openejb/Deployer, ejb-name=openejb/Deployer, container=Default Stateless Container)
-INFOS - Started Ejb(deployment-id=MEJB, ejb-name=MEJB, container=Default Stateless Container)
-INFOS - Started Ejb(deployment-id=openejb/ConfigurationInfo, ejb-name=openejb/ConfigurationInfo, container=Default Stateless Container)
-INFOS - Deployed MBean(openejb.user.mbeans:application=openejb,group=org.apache.openejb.assembler.monitoring,name=JMXDeployer)
-INFOS - Deployed Application(path=openejb)
-INFOS - Creating ServerService(id=cxf-rs)
-INFOS -   ** Bound Services **
-INFOS -   NAME                 IP              PORT  
-INFOS - -------
-INFOS - Ready!
-INFOS - Initialization processed in 2589 ms
-INFOS - Importing a Tomcat Resource with id 'UserDatabase' of type 'org.apache.catalina.UserDatabase'.
-INFOS - Creating Resource(id=UserDatabase)
-INFOS - Démarrage du service Catalina
-INFOS - Starting Servlet Engine: Apache Tomcat (TomEE)/8.0.14 (7.0.0-SNAPSHOT)
-INFOS - Starting ProtocolHandler ["http-nio-52256"]
-INFOS - Starting ProtocolHandler ["ajp-nio-40071"]
-INFOS - Server startup in 140 ms
-oct. 01, 2014 6:30:30 PM org.apache.openejb.client.EventLogger log
-INFOS: RemoteInitialContextCreated{providerUri=http://localhost:52256/tomee/ejb}
-INFOS - Extracting jar: /home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/arquillian-test-working-dir/0/UserPersistenceTest.war
-INFOS - Extracted path: /home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/arquillian-test-working-dir/0/UserPersistenceTest
-INFOS - using default host: localhost
-INFOS - ------------------------- localhost -> /UserPersistenceTest
-INFOS - Using 'openejb.session.manager=org.apache.tomee.catalina.session.QuickSessionManager'
-INFOS - Configuring enterprise application: /home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/arquillian-test-working-dir/0/UserPersistenceTest
-INFOS - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFOS - Auto-creating a container for bean UserPersistenceTest_org.superbiz.arquillian.test.persistence.PersistenceTest: Container(type=MANAGED, id=Default Managed Container)
-INFOS - Creating Container(id=Default Managed Container)
-INFOS - Using directory /home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/apache-tomee-remote/apache-tomee-webprofile-7.0.0-SNAPSHOT/temp for stateful session passivation
-INFOS - Configuring PersistenceUnit(name=demoApplicationPU)
-INFOS - Auto-creating a Resource with id 'demoDataSourceNonJta' of type 'DataSource for 'demoApplicationPU'.
-INFOS - Configuring Service(id=demoDataSourceNonJta, type=Resource, provider-id=demoDataSource)
-INFOS - Creating Resource(id=demoDataSourceNonJta)
-INFOS - Disabling testOnBorrow since no validation query is provided
-INFOS - Adjusting PersistenceUnit demoApplicationPU <non-jta-data-source> to Resource ID 'demoDataSourceNonJta' from 'null'
-INFOS - Enterprise application "/home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/arquillian-test-working-dir/0/UserPersistenceTest" loaded.
-INFOS - Assembling app: /home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/arquillian-test-working-dir/0/UserPersistenceTest
-INFOS - OpenJPA dynamically loaded a validation provider.
-INFOS - Starting OpenJPA 2.4.0-nonfinal-1598334
-INFOS - Using dictionary class "org.apache.openjpa.jdbc.sql.HSQLDictionary" (HSQL Database Engine 2.3.2 ,HSQL Database Engine Driver 2.3.2).
-INFOS - Connected to HSQL Database Engine version 2.2 using JDBC driver HSQL Database Engine Driver version 2.3.2. 
-INFOS - SELECT SEQUENCE_SCHEMA, SEQUENCE_NAME FROM INFORMATION_SCHEMA.SYSTEM_SEQUENCES --> 0ms
-INFOS - CREATE TABLE User (id BIGINT NOT NULL, name VARCHAR(255), PRIMARY KEY (id)) --> 0ms
-INFOS - PersistenceUnit(name=demoApplicationPU, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 1075ms
-INFOS - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@13158bbd
-INFOS - OpenWebBeans Container is starting...
-INFOS - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFOS - All injection points were validated successfully.
-INFOS - OpenWebBeans Container has started, it took 224 ms.
-INFOS - Deployed Application(path=/home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/arquillian-test-working-dir/0/UserPersistenceTest)
-INFOS - At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
-AVERTISSEMENT - Potential problem found: The configured data type factory 'class org.dbunit.dataset.datatype.DefaultDataTypeFactory' might cause problems with the current database 'HSQL Database Engine' (e.g. some datatypes may not be supported properly). In rare cases you might see this message because the list of supported database products is incomplete (list=[derby]). If so please request a java-class update via the forums.If you are using your own IDataTypeFactory extending DefaultDataTypeFactory, ensure that you override getValidDbProducts() to specify the supported database products.
-INFOS - insert into USER (ID, NAME) values (1, TomEE) --> 1ms
-INFOS - insert into USER (ID, NAME) values (1, 2)TomEE,Old) --> 0ms
-INFOS - SELECT COUNT(t0.id) FROM User t0 --> 0ms
-INFOS - SELECT t0.name FROM User t0 WHERE t0.id = 2 --> 0ms
-INFOS - UPDATE User SET name = OpenEJB WHERE id = 2 --> 1ms
-INFOS - select ID, NAME from USER order by ID --> 0ms
-INFOS - select ID, NAME from USER order by ID --> 0ms
-INFOS - select ID, NAME from USER order by ID --> 0ms
-INFOS - select ID, NAME from USER order by ID --> 0ms
-INFOS - delete from USER --> 0ms
-oct. 01, 2014 6:30:34 PM org.apache.openejb.client.EventLogger log
-INFOS: RemoteInitialContextCreated{providerUri=http://localhost:52256/tomee/ejb}
-INFOS - Undeploying app: /home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/arquillian-test-working-dir/0/UserPersistenceTest
-oct. 01, 2014 6:30:34 PM org.apache.openejb.arquillian.common.TomEEContainer undeploy
-INFOS: cleaning /home/rmannibucau/dev/Apache/tomee-trunk/examples/arquillian-jpa/target/arquillian-test-working-dir/0
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.242 sec
-INFOS - A valid shutdown command was received via the shutdown port. Stopping the Server instance.
-INFOS - Pausing ProtocolHandler ["http-nio-52256"]
-INFOS - Pausing ProtocolHandler ["ajp-nio-40071"]
-INFOS - Arrêt du service Catalina
-INFOS - Stopping ProtocolHandler ["http-nio-52256"]
-INFOS - Stopping ProtocolHandler ["ajp-nio-40071"]
-INFOS - Stopping server services
-INFOS - Undeploying app: openejb
-INFOS - Closing DataSource: demoDataSource
-INFOS - Closing DataSource: demoDataSourceNonJta
-INFOS - Destroying ProtocolHandler ["http-nio-52256"]
-INFOS - Destroying ProtocolHandler ["ajp-nio-40071"]
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/async-methods.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/async-methods.adoc b/src/main/jbake/content/examples/async-methods.adoc
deleted file mode 100755
index c4a0527..0000000
--- a/src/main/jbake/content/examples/async-methods.adoc
+++ /dev/null
@@ -1,178 +0,0 @@
-= @Asynchronous Methods
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example async-methods can be browsed at https://github.com/apache/tomee/tree/master/examples/async-methods
-
-
-The @Asynchronous annotation was introduced in EJB 3.1 as a simple way of creating asynchronous processing.
-
-Every time a method annotated `@Asynchronous` is invoked by anyone it will immediately return regardless of how long the method actually takes.  Each invocation returns a [Future][1] object that essentially starts out *empty* and will later have its value filled in by the container when the related method call actually completes.  Returning a `Future` object is not required and `@Asynchronous` methods can of course return `void`.
-
-=  Example
-
-Here, in `JobProcessorTest`,
-
-`final Future<String> red = processor.addJob("red");`
-proceeds to the next statement,
-
-`final Future<String> orange = processor.addJob("orange");`
-
-without waiting for the addJob() method to complete. And later we could ask for the result using the `Future<?>.get()` method like
-
-`assertEquals("blue", blue.get());`
-
-It waits for the processing to complete (if its not completed already) and gets the result. If you did not care about the result, you could simply have your asynchronous method as a void method.
-
-[Future][1] Object from docs,
-
-
-NOTE:  A Future represents the result of an asynchronous computation. Methods are provided to check if the computation is complete, to wait for its completion, and to retrieve the result of the computation. The result can only be retrieved using method get when the computation has completed, blocking if necessary until it is ready. Cancellation is performed by the cancel method. Additional methods are provided to determine if the task completed normally or was cancelled. Once a computation has completed, the computation cannot be cancelled. If you would like to use a Future for the sake of cancellability but not provide a usable result, you can declare types of the form Future<?> and return null as a result of the underlying task
-
-
-
-
-=  The code
-
-[source,java]
-----
-@Singleton
-public class JobProcessor {
-@Asynchronous
-@Lock(READ)
-@AccessTimeout(-1)
-public Future<String> addJob(String jobName) {
-
-    // Pretend this job takes a while
-    doSomeHeavyLifting();
-
-    // Return our result
-    return new AsyncResult<String>(jobName);
-}
-----
-
-
-    private void doSomeHeavyLifting() {
-        try {
-            Thread.sleep(SECONDS.toMillis(10));
-        } catch (InterruptedException e) {
-            Thread.interrupted();
-            throw new IllegalStateException(e);
-        }
-      }
-    }
-=  Test
-
-[source,java]
-----
-public class JobProcessorTest extends TestCase {
-
-public void test() throws Exception {
-
-    final Context context = EJBContainer.createEJBContainer().getContext();
-
-    final JobProcessor processor = (JobProcessor) context.lookup("java:global/async-methods/JobProcessor");
-
-    final long start = System.nanoTime();
-
-    // Queue up a bunch of work
-    final Future<String> red = processor.addJob("red");
-    final Future<String> orange = processor.addJob("orange");
-    final Future<String> yellow = processor.addJob("yellow");
-    final Future<String> green = processor.addJob("green");
-    final Future<String> blue = processor.addJob("blue");
-    final Future<String> violet = processor.addJob("violet");
-
-    // Wait for the result -- 1 minute worth of work
-    assertEquals("blue", blue.get());
-    assertEquals("orange", orange.get());
-    assertEquals("green", green.get());
-    assertEquals("red", red.get());
-    assertEquals("yellow", yellow.get());
-    assertEquals("violet", violet.get());
-
-    // How long did it take?
-    final long total = TimeUnit.NANOSECONDS.toSeconds(System.nanoTime() - start);
-
-    // Execution should be around 9 - 21 seconds
-		// The execution time depends on the number of threads available for asynchronous execution.
-		// In the best case it is 10s plus some minimal processing time. 
-    assertTrue("Expected > 9 but was: " + total, total > 9);
-    assertTrue("Expected < 21 but was: " + total, total < 21);
-
-  }
-}
-----
-
-= Running
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.async.JobProcessorTest
-Apache OpenEJB 7.0.0-SNAPSHOT    build: 20110801-04:02
-http://tomee.apache.org/
-INFO - openejb.home = G:\Workspace\fullproject\openejb3\examples\async-methods
-INFO - openejb.base = G:\Workspace\fullproject\openejb3\examples\async-methods
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: g:\Workspace\fullproject\openejb3\examples\async-methods\target\classes
-INFO - Beginning load: g:\Workspace\fullproject\openejb3\examples\async-methods\target\classes
-INFO - Configuring enterprise application: g:\Workspace\fullproject\openejb3\examples\async-methods
-INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-INFO - Auto-creating a container for bean JobProcessor: Container(type=SINGLETON, id=Default Singleton Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.async.JobProcessorTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "g:\Workspace\fullproject\openejb3\examples\async-methods" loaded.
-INFO - Assembling app: g:\Workspace\fullproject\openejb3\examples\async-methods
-INFO - Jndi(name="java:global/async-methods/JobProcessor!org.superbiz.async.JobProcessor")
-INFO - Jndi(name="java:global/async-methods/JobProcessor")
-INFO - Jndi(name="java:global/EjbModule100568296/org.superbiz.async.JobProcessorTest!org.superbiz.async.JobProcessorTest")
-INFO - Jndi(name="java:global/EjbModule100568296/org.superbiz.async.JobProcessorTest")
-INFO - Created Ejb(deployment-id=org.superbiz.async.JobProcessorTest, ejb-name=org.superbiz.async.JobProcessorTest, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=JobProcessor, ejb-name=JobProcessor, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=org.superbiz.async.JobProcessorTest, ejb-name=org.superbiz.async.JobProcessorTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=JobProcessor, ejb-name=JobProcessor, container=Default Singleton Container)
-INFO - Deployed Application(path=g:\Workspace\fullproject\openejb3\examples\async-methods)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.305 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-
-    [INFO] ------------------------------------------------------------------------
-    [INFO] BUILD SUCCESS
-    [INFO] ------------------------------------------------------------------------
-    [INFO] Total time: 21.097s
-    [INFO] Finished at: Wed Aug 03 22:48:26 IST 2011
-    [INFO] Final Memory: 13M/145M
-    [INFO] ------------------------------------------------------------------------
-
-=  How it works <small>under the covers</small>
-
-Under the covers what makes this work is:
-
-  - The `JobProcessor` the caller sees is not actually an instance of `JobProcessor`.  Rather it's a subclass or proxy that has all the methods overridden.  Methods that are supposed to be asynchronous are handled differently.
-  - Calls to an asynchronous method simply result in a `Runnable` being created that wraps the method and parameters you gave.  This runnable is given to an [Executor][3] which is simply a work queue attached to a thread pool.
-  - After adding the work to the queue, the proxied version of the method returns an implementation of `Future` that is linked to the `Runnable` which is now waiting on the queue.
-  - When the `Runnable` finally executes the method on the *real* `JobProcessor` instance, it will take the return value and set it into the `Future` making it available to the caller.
-
-Important to note that the `AsyncResult` object the `JobProcessor` returns is not the same `Future` object the caller is holding.  It would have been neat if the real `JobProcessor` could just return `String` and the caller's version of `JobProcessor` could return `Future<String>`, but we didn't see any way to do that without adding more complexity.  So the `AsyncResult` is a simple wrapper object.  The container will pull the `String` out, throw the `AsyncResult` away, then put the `String` in the *real* `Future` that the caller is holding.
-
-To get progress along the way, simply pass a thread-safe object like [AtomicInteger][4] to the `@Asynchronous` method and have the bean code periodically update it with the percent complete.
-
-= Related Examples
-
-For complex asynchronous processing, JavaEE's answer is `@MessageDrivenBean`. Have a look at the link:simple-mdb.html[simple-mdb] example
-
-[1]: http://download.oracle.com/javase/6/docs/api/java/util/concurrent/Future.html
-[3]: http://download.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html
-[4]: http://download.oracle.com/javase/6/docs/api/java/util/concurrent/atomic/AtomicInteger.html
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/async-postconstruct.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/async-postconstruct.adoc b/src/main/jbake/content/examples/async-postconstruct.adoc
deleted file mode 100755
index c0ee098..0000000
--- a/src/main/jbake/content/examples/async-postconstruct.adoc
+++ /dev/null
@@ -1,140 +0,0 @@
-= @Asynchronous @PostConstruct
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example async-postconstruct can be browsed at https://github.com/apache/tomee/tree/master/examples/async-postconstruct
-
-
-Placing `@Asynchronous` on the `@PostConstruct` of an EJB is not a supported part of Java EE, but this example shows a pattern which works just as well with little effort.
-
-The heart of this pattern is to:
-
- - pass the construction "logic" to an `@Asynchronous` method via a `java.util.concurrent.Callable`
- - ensure the bean does not process invocations till construction is complete via an `@AroundInvoke` method on the bean and the `java.util.concurrent.Future`
-
-Simple and effective.  The result is a faster starting application that is still thread-safe.
-
-
-[source,java]
-----
-package org.superbiz.asyncpost;
-
-import javax.annotation.PostConstruct;
-import javax.ejb.EJB;
-import javax.ejb.Lock;
-import javax.ejb.LockType;
-import javax.ejb.Singleton;
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-import java.util.concurrent.Callable;
-import java.util.concurrent.Future;
-
-import static java.util.concurrent.TimeUnit.SECONDS;
-
-@Singleton
-@Lock(LockType.READ)
-public class SlowStarter {
-
-    @EJB
-    private Executor executor;
-
-    private Future construct;
-
-    private String color;
-    private String shape;
-
-    @PostConstruct
-    private void construct() throws Exception {
-        construct = executor.submit(new Callable() {
-            @Override
-            public Object call() throws Exception {
-                Thread.sleep(SECONDS.toMillis(10));
-                SlowStarter.this.color = "orange";
-                SlowStarter.this.shape = "circle";
-                return null;
-            }
-        });
-    }
-
-    @AroundInvoke
-    private Object guaranteeConstructionComplete(InvocationContext context) throws Exception {
-        construct.get();
-        return context.proceed();
-    }
-
-    public String getColor() {
-        return color;
-    }
-
-    public String getShape() {
-        return shape;
-    }
-}
-----
-
-
-
-The `Executor` is a simple pattern, useful for many things, which exposes an interface functionaly equivalent to `java.util.concurrent.ExecutorService`, but
-with the underlying thread pool controlled by the container.
-
-
-[source,java]
-----
-package org.superbiz.asyncpost;
-
-import javax.ejb.AsyncResult;
-import javax.ejb.Asynchronous;
-import javax.ejb.Lock;
-import javax.ejb.LockType;
-import javax.ejb.Singleton;
-import java.util.concurrent.Callable;
-import java.util.concurrent.Future;
-
-@Singleton
-@Lock(LockType.READ)
-public class Executor {
-
-    @Asynchronous
-    public <T> Future<T> submit(Callable<T> task) throws Exception {
-        return new AsyncResult<T>(task.call());
-    }
-
-}
-----
-
-
-
-Finally a test case shows the usefulness of `@AroundInvoke` call in our bean that calls `construct.get()`
-
-
-[source,java]
-----
-package org.superbiz.asyncpost;
-
-import junit.framework.Assert;
-import org.junit.Test;
-
-import javax.ejb.EJB;
-import javax.ejb.embeddable.EJBContainer;
-
-public class SlowStarterTest {
-
-    @EJB
-    private SlowStarter slowStarter;
-
-    @Test
-    public void test() throws Exception {
-
-        // Start the Container
-        EJBContainer.createEJBContainer().getContext().bind("inject", this);
-
-        // Immediately access the fields initialized in the PostConstruct
-        // This will fail without the @AroundInvoke call to construct.get()
-        Assert.assertEquals("orange", slowStarter.getColor());
-        Assert.assertEquals("circle", slowStarter.getShape());
-    }
-}
-----
-


[03/34] tomee-site-generator git commit: Fix line wrapping issues with Markdown examples

Posted by db...@apache.org.
Fix line wrapping issues with Markdown examples


Project: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/commit/1cc43e0e
Tree: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/tree/1cc43e0e
Diff: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/diff/1cc43e0e

Branch: refs/heads/master
Commit: 1cc43e0e17c3d156d5d92b54a887e46930fcdfb4
Parents: 3c8d303
Author: dblevins <da...@gmail.com>
Authored: Sun Nov 25 22:31:57 2018 -0800
Committer: dblevins <da...@gmail.com>
Committed: Sun Nov 25 22:31:57 2018 -0800

----------------------------------------------------------------------
 .../org/apache/tomee/website/Examples2.java     |   2 +
 .../org/apache/tomee/website/FixMarkdown.java   | 100 +++++++++++++
 .../java/org/apache/tomee/website/Sources.java  |  17 +--
 .../apache/tomee/website/FixMarkdownTest.java   | 142 +++++++++++++++++++
 4 files changed, 250 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/1cc43e0e/src/main/java/org/apache/tomee/website/Examples2.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Examples2.java b/src/main/java/org/apache/tomee/website/Examples2.java
index 1891877..79aaa03 100644
--- a/src/main/java/org/apache/tomee/website/Examples2.java
+++ b/src/main/java/org/apache/tomee/website/Examples2.java
@@ -24,6 +24,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import java.util.ListIterator;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
@@ -50,6 +51,7 @@ public class Examples2 {
                 .peek(example -> example.updateDestination(destDir))
                 .peek(this::copyToDest)
                 .peek(this::addJbakeHeader)
+                .peek(FixMarkdown::process)
                 .collect(Collectors.toList());
 
 

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/1cc43e0e/src/main/java/org/apache/tomee/website/FixMarkdown.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/FixMarkdown.java b/src/main/java/org/apache/tomee/website/FixMarkdown.java
new file mode 100644
index 0000000..2bb15de
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/FixMarkdown.java
@@ -0,0 +1,100 @@
+/*
+ * 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.website;
+
+import org.apache.openejb.loader.IO;
+import org.apache.openejb.util.Join;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.function.Consumer;
+import java.util.regex.Pattern;
+
+public class FixMarkdown {
+
+    private final List<String> completed = new ArrayList<String>();
+    private Consumer<String> processor = this::findJbakeHeader;
+
+    public static void process(final Example example) {
+        if (!example.getExt().startsWith("md")) return;
+
+        final FixMarkdown fixMarkdown = new FixMarkdown();
+
+        try {
+            final List<String> lines = new ArrayList<>();
+            Collections.addAll(lines, IO.slurp(example.getDestReadme()).split("\n"));
+
+            for (final String line : lines) {
+                fixMarkdown.process(line);
+            }
+
+            fixMarkdown.process("");
+
+            // Update the destination readme file
+            IO.copy(IO.read(Join.join("\n", fixMarkdown.completed)), example.getDestReadme());
+
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private void process(final String line) {
+        processor.accept(line);
+    }
+
+    private void findJbakeHeader(final String line) {
+        completed.add(line);
+
+        if (line.equals("~~~~~~")) {
+            processor = this::findWrappableLines;
+        }
+    }
+
+    private void findWrappableLines(final String line) {
+        if (isWrappable(line)) {
+            processor = new Unwrap()::process;
+            processor.accept(line);
+        } else {
+            completed.add(line);
+        }
+    }
+
+    public class Unwrap {
+        private final List<String> lines = new ArrayList<>();
+
+        public void process(final String line) {
+            if (!isWrappable(line)) {
+                completed.add(Join.join(" ", lines));
+
+                processor = FixMarkdown.this::findWrappableLines;
+                processor.accept(line);
+                return;
+            }
+
+            lines.add(line);
+        }
+    }
+
+    private final Pattern alpha = Pattern.compile("^[a-zA-Z].*");
+
+    private boolean isWrappable(final String line) {
+        return alpha.matcher(line).matches();
+    }
+}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/1cc43e0e/src/main/java/org/apache/tomee/website/Sources.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Sources.java b/src/main/java/org/apache/tomee/website/Sources.java
index c08783e..c8592a4 100644
--- a/src/main/java/org/apache/tomee/website/Sources.java
+++ b/src/main/java/org/apache/tomee/website/Sources.java
@@ -52,6 +52,12 @@ public class Sources {
         repos.mkdirs();
 
         Collections.addAll(this.sources, sources);
+        for (final Source source : sources) {
+            if (source.isLatest()) {
+                this.sources.add(new Source(source.getScmUrl(), source.getBranch(), "latest"));
+                break;
+            }
+        }
     }
 
     public File getDestination() {
@@ -98,15 +104,4 @@ public class Sources {
     private static void done(final Source source) {
         System.out.println("Done " + source);
     }
-
-    public static void main(String[] args) throws Exception {
-        final Sources sources = new Sources(new File("target/jbake"), new File("repos"), new File("src/main/jbake/content"),
-                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "master", "master"),
-                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "tomee-7.1.0", "tomee-7.1"),
-                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "tomee-7.0.5", "tomee-7.0"),
-                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "tomee-8.0.0-M1", "tomee-8.0", true)
-        );
-
-        sources.prepare();
-    }
 }

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/1cc43e0e/src/test/java/org/apache/tomee/website/FixMarkdownTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/tomee/website/FixMarkdownTest.java b/src/test/java/org/apache/tomee/website/FixMarkdownTest.java
new file mode 100644
index 0000000..45341e9
--- /dev/null
+++ b/src/test/java/org/apache/tomee/website/FixMarkdownTest.java
@@ -0,0 +1,142 @@
+package org.apache.tomee.website;
+
+import org.apache.openejb.loader.IO;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.io.File;
+
+public class FixMarkdownTest extends Assert {
+
+    @Test
+    public void twoSimpleParagraphs() throws Exception {
+
+        final File srcReadMe = File.createTempFile("example-", ".md");
+        final File destReadme = File.createTempFile("example-", ".md");
+
+        final Example example = new Example(srcReadMe, "cdi-basic", "md", "cdi-basic.html", "none");
+        example.setDestReadme(destReadme);
+
+        IO.copy(IO.read("~~~~~~\n" +
+                        "To use `@Inject`, the first thing you need is a `META-INF/beans.xml` file in the module\n" +
+                        "or jar.  This effectively turns on CDI and allows the `@Inject` references to work.\n" +
+                        "No `META-INF/beans.xml` no injection, period.  This may seem overly strict,\n" +
+                        "but it is not without reason.  The CDI API is a bit greedy and does consume a fair\n" +
+                        "about of resources by design.\n" +
+                        "\n" +
+                        "When the container constructs a bean with an `@Inject` reference,\n" +
+                        "it will first find or create the object that will be injected.  For the sake of\n" +
+                        "simplicity, the is example has a basic `Faculty` pojo with a no-arg constructor.  Anyone\n" +
+                        "referencing `@Inject Faculty` will get their own instance of `Faculty`.  If the desire\n" +
+                        "is to share the same instance of `Faculty`, see the concept of `scopes` -- this is\n" +
+                        "exactly what scopes are for.\n"
+        ), srcReadMe);
+        IO.copy(srcReadMe, destReadme);
+
+        FixMarkdown.process(example);
+
+        final String expected = "~~~~~~\n" +
+                "To use `@Inject`, the first thing you need is a `META-INF/beans.xml` file in the module " +
+                "or jar.  This effectively turns on CDI and allows the `@Inject` references to work. " +
+                "No `META-INF/beans.xml` no injection, period.  This may seem overly strict, " +
+                "but it is not without reason.  The CDI API is a bit greedy and does consume a fair " +
+                "about of resources by design.\n" +
+                "\n" +
+                "When the container constructs a bean with an `@Inject` reference, " +
+                "it will first find or create the object that will be injected.  For the sake of " +
+                "simplicity, the is example has a basic `Faculty` pojo with a no-arg constructor.  Anyone " +
+                "referencing `@Inject Faculty` will get their own instance of `Faculty`.  If the desire " +
+                "is to share the same instance of `Faculty`, see the concept of `scopes` -- this is " +
+                "exactly what scopes are for.\n";
+
+        final String actual = IO.slurp(destReadme);
+
+        assertEquals(expected, actual);
+    }
+
+    @Test
+    public void sectionWithCodeBlock() throws Exception {
+
+        final File srcReadMe = File.createTempFile("example-", ".md");
+        final File destReadme = File.createTempFile("example-", ".md");
+
+        final Example example = new Example(srcReadMe, "cdi-basic", "md", "cdi-basic.html", "none");
+        example.setDestReadme(destReadme);
+
+        IO.copy(IO.read("~~~~~~\n" +
+                "## Faculty <small>a basic injectable pojo</small>\n" +
+                "\n" +
+                "    public class Faculty {\n" +
+                "\n" +
+                "        private List<String> facultyMembers;\n" +
+                "\n" +
+                "        private String facultyName;\n" +
+                "\n" +
+                "        @PostConstruct\n" +
+                "        public void initialize() {\n" +
+                "            this.facultyMembers = new ArrayList<String>();\n" +
+                "            facultyMembers.add(\"Ian Schultz\");\n" +
+                "            facultyMembers.add(\"Diane Reyes\");\n" +
+                "            facultyName = \"Computer Science\";\n" +
+                "        }\n" +
+                "\n" +
+                "        public List<String> getFacultyMembers() {\n" +
+                "            return facultyMembers;\n" +
+                "        }\n" +
+                "\n" +
+                "        public String getFacultyName() {\n" +
+                "            return facultyName;\n" +
+                "        }\n" +
+                "\n" +
+                "    }\n" +
+                "\n" +
+                "## Course <small>a simple session bean</small>\n"), srcReadMe);
+        IO.copy(srcReadMe, destReadme);
+
+        FixMarkdown.process(example);
+
+        // We expect the original content -- nothing should be changed
+        final String expected = IO.slurp(srcReadMe);
+
+        final String actual = IO.slurp(destReadme);
+
+        assertEquals(expected, actual);
+    }
+
+    @Test
+    public void skipJBakeMarkdownHeaders() throws Exception {
+
+        final File srcReadMe = File.createTempFile("example-", ".md");
+        final File destReadme = File.createTempFile("example-", ".md");
+
+        final Example example = new Example(srcReadMe, "cdi-basic", "md", "cdi-basic.html", "none");
+        example.setDestReadme(destReadme);
+
+        IO.copy(IO.read("type=page\n" +
+                        "status=awesome\n" +
+                        "title=Awesome\n" +
+                        "~~~~~~\n" +
+                        "Here we have\n" +
+                        "a sentence that needs unwrapping\n" +
+                        "\n" +
+                        "But the header should not be\n" +
+                        "unwrapped.  That would be bad.\n"
+        ), srcReadMe);
+        IO.copy(srcReadMe, destReadme);
+
+        FixMarkdown.process(example);
+
+        final String expected = "type=page\n" +
+                "status=awesome\n" +
+                "title=Awesome\n" +
+                "~~~~~~\n" +
+                "Here we have a sentence that needs unwrapping\n" +
+                "\n" +
+                "But the header should not be unwrapped.  That would be bad.\n";
+
+        final String actual = IO.slurp(destReadme);
+
+        assertEquals(expected, actual);
+    }
+
+}
\ No newline at end of file


[31/34] tomee-site-generator git commit: Merge old content. Move tech content to main build.

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/cdi-tck-webappsdeployer.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/cdi-tck-webappsdeployer.mdtext b/src/main/jbake/content/dev/cdi-tck-webappsdeployer.mdtext
new file mode 100644
index 0000000..b5a6c04
--- /dev/null
+++ b/src/main/jbake/content/dev/cdi-tck-webappsdeployer.mdtext
@@ -0,0 +1,266 @@
+Title: CDI TCK status with webapps/ deployer
+
+To run the TCK with the webapps/ directory deployer:
+
+    cd openejb/tck/cdi-tomee/
+    mvn clean install -Pwebapp-deployer
+
+See [TOMEE-37](https://issues.apache.org/jira/browse/TOMEE-37)
+
+The easiest way to run just one test is to update the `src/test/resources/passing.xml` file like so:
+
+    <?xml version="1.0" encoding="UTF-8"?>
+    <suite name="CDI TCK" verbose="0">
+      <test name="CDI TCK">
+        <classes>
+          <class name="org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest"/>
+        </classes>
+      </test>
+    </suite>
+
+You can enable remote debugging for the server with the following property:
+
+    mvn clean install -Pwebapp-deployer -Dopenejb.server.debug=true
+
+The default port is `5005`.  That can be changed as well:
+
+    mvn clean install -Pwebapp-deployer -Dopenejb.server.debug=true -Dserver.debug.port=5001
+
+
+
+# Possible issues in the server
+
+ -   testBeanWithNameJavaxEnterpriseContextConversation(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/builtin.jsf
+ -   testBeanWithRequestScope(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/builtin.jsf
+ -   testBeginAlreadyLongRunningConversationThrowsException(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/cumulus.jsf
+ -   testConversationActiveDuringNonFacesRequest(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/cloud.jsf
+ -   testConversationBeginMakesConversationLongRunning(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/cumulus.jsf
+ -   testConversationEndMakesConversationTransient(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/cumulus.jsf
+ -   testConversationHasDefaultTimeout(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/cumulus.jsf
+ -   testConversationIdMayBeSetByApplication(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/cumulus.jsf
+ -   testConversationIdMayBeSetByContainer(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/cumulus.jsf
+ -   testConversationIdSetByContainerIsUnique(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/storm.jsf
+ -   testConversationsDontCrossSessionBoundary1(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest)
+ -   testConversationsDontCrossSessionBoundary2(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/rain.jsf
+ -   testEndTransientConversationThrowsException(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/cumulus.jsf
+ -   testLongRunningConversationInstancesNotDestroyedAtRequestEnd(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/storm.jsf
+ -   testSetConversationTimeoutOverride(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/cumulus.jsf
+ -   testTransientConversationHasNullId(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/builtin.jsf
+ -   testTransientConversationInstancesDestroyedAtRequestEnd(org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ClientConversationContextTest/cloud.jsf
+ -   testInvalidatingSessionDestroysConversation(org.jboss.jsr299.tck.tests.context.conversation.InvalidatingSessionDestroysConversationTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.InvalidatingSessionDestroysConversationTest/clouds.jsf
+ -   testConversationPropagated(org.jboss.jsr299.tck.tests.context.conversation.LongRunningConversationPropagatedByFacesContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.LongRunningConversationPropagatedByFacesContextTest/storm.jsf
+ -   testConversationPropagatedOverRedirect(org.jboss.jsr299.tck.tests.context.conversation.LongRunningConversationPropagatedByFacesContextTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.LongRunningConversationPropagatedByFacesContextTest/storm.jsf
+ -   testManualCidPropagation(org.jboss.jsr299.tck.tests.context.conversation.ManualCidPropagationTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.conversation.ManualCidPropagationTest/storm.jsf
+ -   testRequestScopeActiveDuringCallToEjbTimeoutMethod(org.jboss.jsr299.tck.tests.context.request.ejb.EJBRequestContextTest): Error launching test org.jboss.jsr299.tck.tests.context.request.ejb.EJBRequestContextTest at http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.request.ejb.EJBRequestContextTest/?outputMode=serializedObject&methodName=testRequestScopeActiveDuringCallToEjbTimeoutMethod. Kept on getting 404s.
+ -   testRequestScopeDestroyedAfterCallToEjbTimeoutMethod(org.jboss.jsr299.tck.tests.context.request.ejb.EJBRequestContextTest): Error launching test org.jboss.jsr299.tck.tests.context.request.ejb.EJBRequestContextTest at http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.context.request.ejb.EJBRequestContextTest/?outputMode=serializedObject&methodName=testRequestScopeDestroyedAfterCallToEjbTimeoutMethod. Kept on getting 404s.
+ -   testScopeTypeDeclaredInheritedIsIndirectlyInherited(org.jboss.jsr299.tck.tests.definition.scope.enterprise.EnterpriseScopeDefinitionTest): Error launching test org.jboss.jsr299.tck.tests.definition.scope.enterprise.EnterpriseScopeDefinitionTest at http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.definition.scope.enterprise.EnterpriseScopeDefinitionTest/?outputMode=serializedObject&methodName=testScopeTypeDeclaredInheritedIsIndirectlyInherited. Kept on getting 404s.
+ -   testScopeTypeDeclaredInheritedIsInherited(org.jboss.jsr299.tck.tests.definition.scope.enterprise.EnterpriseScopeDefinitionTest): Error launching test org.jboss.jsr299.tck.tests.definition.scope.enterprise.EnterpriseScopeDefinitionTest at http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.definition.scope.enterprise.EnterpriseScopeDefinitionTest/?outputMode=serializedObject&methodName=testScopeTypeDeclaredInheritedIsInherited. Kept on getting 404s.
+ -   testScopeTypeNotDeclaredInheritedIsNotIndirectlyInherited(org.jboss.jsr299.tck.tests.definition.scope.enterprise.EnterpriseScopeDefinitionTest): Error launching test org.jboss.jsr299.tck.tests.definition.scope.enterprise.EnterpriseScopeDefinitionTest at http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.definition.scope.enterprise.EnterpriseScopeDefinitionTest/?outputMode=serializedObject&methodName=testScopeTypeNotDeclaredInheritedIsNotIndirectlyInherited. Kept on getting 404s.
+ -   testScopeTypeNotDeclaredInheritedIsNotInherited(org.jboss.jsr299.tck.tests.definition.scope.enterprise.EnterpriseScopeDefinitionTest): Error launching test org.jboss.jsr299.tck.tests.definition.scope.enterprise.EnterpriseScopeDefinitionTest at http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.definition.scope.enterprise.EnterpriseScopeDefinitionTest/?outputMode=serializedObject&methodName=testScopeTypeNotDeclaredInheritedIsNotInherited. Kept on getting 404s.
+ -   testStereotypeDeclaredInheritedIsIndirectlyInherited(org.jboss.jsr299.tck.tests.definition.stereotype.enterprise.EnterpriseStereotypeDefinitionTest)
+ -   testStereotypeDeclaredInheritedIsInherited(org.jboss.jsr299.tck.tests.definition.stereotype.enterprise.EnterpriseStereotypeDefinitionTest)
+ -   testStereotypeNotDeclaredInheritedIsNotIndirectlyInherited(org.jboss.jsr299.tck.tests.definition.stereotype.enterprise.EnterpriseStereotypeDefinitionTest)
+ -   testStereotypeNotDeclaredInheritedIsNotInherited(org.jboss.jsr299.tck.tests.definition.stereotype.enterprise.EnterpriseStereotypeDefinitionTest)
+ -   testStereotypeScopeIsOverriddenByIndirectlyInheritedScope(org.jboss.jsr299.tck.tests.definition.stereotype.enterprise.EnterpriseStereotypeDefinitionTest)
+ -   testStereotypeScopeIsOverriddenByInheritedScope(org.jboss.jsr299.tck.tests.definition.stereotype.enterprise.EnterpriseStereotypeDefinitionTest)
+ -   test(org.jboss.jsr299.tck.tests.deployment.packaging.bundledLibrary.LibraryInEarTest)
+ -   testNonStaticObserverMethodIndirectlyInherited(org.jboss.jsr299.tck.tests.event.observer.enterprise.EnterpriseEventInheritenceTest)
+ -   testNonStaticObserverMethodInherited(org.jboss.jsr299.tck.tests.event.observer.enterprise.EnterpriseEventInheritenceTest)
+ -   testGetEJBName(org.jboss.jsr299.tck.tests.extensions.container.event.ContainerEventTest)
+ -   testGetSessionBeanType(org.jboss.jsr299.tck.tests.extensions.container.event.ContainerEventTest)
+ -   testProcessAnnotatedTypeFiredForSessionBean(org.jboss.jsr299.tck.tests.extensions.container.event.ContainerEventTest)
+ -   testProcessAnnotatedTypeFiredForSessionBeanInterceptor(org.jboss.jsr299.tck.tests.extensions.container.event.ContainerEventTest)
+ -   testProcessInjectionTargetFiredForManagedBean(org.jboss.jsr299.tck.tests.extensions.container.event.ContainerEventTest)
+ -   testProcessInjectionTargetFiredForSessionBean(org.jboss.jsr299.tck.tests.extensions.container.event.ContainerEventTest)
+ -   testProcessInjectionTargetFiredForSessionBeanInterceptor(org.jboss.jsr299.tck.tests.extensions.container.event.ContainerEventTest)
+ -   testProcessManagedBeanFired(org.jboss.jsr299.tck.tests.extensions.container.event.ContainerEventTest)
+ -   testProcessSessionBeanFiredForStatefulSessionBean(org.jboss.jsr299.tck.tests.extensions.container.event.ContainerEventTest)
+ -   testProcessSessionBeanFiredForStatelessSessionBean(org.jboss.jsr299.tck.tests.extensions.container.event.ContainerEventTest)
+ -   testTypeOfProcessInjectionTargetParameter(org.jboss.jsr299.tck.tests.extensions.container.event.ContainerEventTest)
+ -   testProcessSessionBeanEvent(org.jboss.jsr299.tck.tests.extensions.processBean.ProcessSessionBeanTest)
+ -   testDefaultValidatorBean(org.jboss.jsr299.tck.tests.implementation.builtin.BuiltInBeansTest)
+ -   testDefaultValidatorFactoryBean(org.jboss.jsr299.tck.tests.implementation.builtin.BuiltInBeansTest)
+ -   testPrincipalBean(org.jboss.jsr299.tck.tests.implementation.builtin.BuiltInBeansTest)
+ -   testUserTransactionBean(org.jboss.jsr299.tck.tests.implementation.builtin.BuiltInBeansTest)
+ -   testBeanTypesAreLocalInterfacesWithoutWildcardTypesOrTypeVariablesWithSuperInterfaces(org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanDefinitionTest)
+ -   testBeanWithNamedAnnotation(org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanDefinitionTest)
+ -   testBeanWithQualifiers(org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanDefinitionTest)
+ -   testBeanWithScopeAnnotation(org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanDefinitionTest)
+ -   testBeanWithStereotype(org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanDefinitionTest)
+ -   testConstructorAnnotatedInjectCalled(org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanDefinitionTest)
+ -   testDefaultName(org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanDefinitionTest)
+ -   testEnterpriseBeanClassLocalView(org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanDefinitionTest)
+ -   testObjectIsInAPITypes(org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanDefinitionTest)
+ -   testRemoteInterfacesAreNotInAPITypes(org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanDefinitionTest)
+ -   testSingletonWithApplicationScopeOK(org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanDefinitionTest)
+ -   testSingletonWithDependentScopeOK(org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanDefinitionTest)
+ -   testStatelessMustBeDependentScoped(org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanDefinitionTest)
+ -   testEjbDeclaredInXmlNotSimpleBean(org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanViaXmlTest)
+ -   testCreateSLSB(org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest)
+ -   testDependentObjectsDestroyed(org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest)
+ -   testDestroyRemovesSFSB(org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest)
+ -   testDirectSubClassInheritsPostConstructOnSuperclass(org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest)
+ -   testIndirectSubClassInheritsPostConstructOnSuperclass(org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest)
+ -   testIndirectSubClassInheritsPreDestroyOnSuperclass(org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest)
+ -   testInitializerMethodsCalledWithCurrentParameterValues(org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest)
+ -   testRemovedEjbIgnored(org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest)
+ -   testSerializeSFSB(org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest)
+ -   testSubClassInheritsPreDestroyOnSuperclass(org.jboss.jsr299.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest)
+ -   testNewBeanHasNoDisposalMethods(org.jboss.jsr299.tck.tests.implementation.enterprise.newBean.NewEnterpriseBeanICTest)
+ -   testNewBeanHasNoProducerMethods(org.jboss.jsr299.tck.tests.implementation.enterprise.newBean.NewEnterpriseBeanICTest)
+ -   testNewBeanHasSameConstructor(org.jboss.jsr299.tck.tests.implementation.enterprise.newBean.NewEnterpriseBeanICTest)
+ -   testNewBeanHasSameInitializers(org.jboss.jsr299.tck.tests.implementation.enterprise.newBean.NewEnterpriseBeanICTest)
+ -   testForEachEnterpriseBeanANewBeanExists(org.jboss.jsr299.tck.tests.implementation.enterprise.newBean.NewEnterpriseBeanTest)
+ -   testNewBeanHasNoBeanELName(org.jboss.jsr299.tck.tests.implementation.enterprise.newBean.NewEnterpriseBeanTest)
+ -   testNewBeanHasNoObservers(org.jboss.jsr299.tck.tests.implementation.enterprise.newBean.NewEnterpriseBeanTest)
+ -   testNewBeanHasNoStereotypes(org.jboss.jsr299.tck.tests.implementation.enterprise.newBean.NewEnterpriseBeanTest)
+ -   testNewBeanIsDependentScoped(org.jboss.jsr299.tck.tests.implementation.enterprise.newBean.NewEnterpriseBeanTest)
+ -   testNewBeanIsHasOnlyNewBinding(org.jboss.jsr299.tck.tests.implementation.enterprise.newBean.NewEnterpriseBeanTest)
+ -   testApplicationCannotCallRemoveMethodOnNonDependentScopedSessionEnterpriseBean(org.jboss.jsr299.tck.tests.implementation.enterprise.remove.EnterpriseBeanRemoveMethodTest):
+ -   testApplicationMayCallAnyRemoveMethodOnDependentScopedSessionEnterpriseBeans(org.jboss.jsr299.tck.tests.implementation.enterprise.remove.EnterpriseBeanRemoveMethodTest)
+ -   testApplicationMayCallRemoveMethodOnDependentScopedSessionEnterpriseBeansButNoParametersArePassed(org.jboss.jsr299.tck.tests.implementation.enterprise.remove.EnterpriseBeanRemoveMethodTest)
+ -   testInitializerMethodNotABusinessMethod(org.jboss.jsr299.tck.tests.implementation.initializer.EjbInitializerMethodTest)
+ -   testBindingTypeOnInitializerParameter(org.jboss.jsr299.tck.tests.implementation.initializer.InitializerMethodTest)
+ -   testMultipleInitializerMethodsAreCalled(org.jboss.jsr299.tck.tests.implementation.initializer.InitializerMethodTest)
+ -   testStaticProducerField(org.jboss.jsr299.tck.tests.implementation.producer.field.definition.enterprise.EnterpriseProducerFieldDefinitionTest)
+ -   testNonStaticProducerMethodInheritedBySpecializingSubclass(org.jboss.jsr299.tck.tests.implementation.producer.method.definition.enterprise.EnterpriseProducerMethodDefinitionTest)
+ -   testNonStaticProducerMethodNotIndirectlyInherited(org.jboss.jsr299.tck.tests.implementation.producer.method.definition.enterprise.EnterpriseProducerMethodDefinitionTest)
+ -   testNonStaticProducerMethodNotInherited(org.jboss.jsr299.tck.tests.implementation.producer.method.definition.enterprise.EnterpriseProducerMethodDefinitionTest)
+ -   testConstructorHasDisposesParameter(org.jboss.jsr299.tck.tests.implementation.simple.definition.constructorHasDisposesParameter.ConstructorHasDisposesParameterTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testConstructorHasObservesParameter(org.jboss.jsr299.tck.tests.implementation.simple.definition.constructorHasObservesParameter.ConstructorHasObservesParameterTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testNonDependentScopedBeanCanNotHavePublicField(org.jboss.jsr299.tck.tests.implementation.simple.definition.dependentWithPublicField.DependentWithPublicFieldTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testTooManyInitializerAnnotatedConstructor(org.jboss.jsr299.tck.tests.implementation.simple.definition.tooManyInitializerAnnotatedConstructors.TooManyInitializerAnnotatedConstructorsTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testNormalScopedUnproxyableBeanThrowsException(org.jboss.jsr299.tck.tests.implementation.simple.lifecycle.unproxyable.UnproxyableManagedBeanTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testInjectionOfEjbs(org.jboss.jsr299.tck.tests.implementation.simple.resource.ejb.EjbInjectionTest)
+ -   testPassivationOfEjbs(org.jboss.jsr299.tck.tests.implementation.simple.resource.ejb.EjbInjectionTest)
+ -   testSpecializedBeanNotInstantiated(org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.EnterpriseBeanSpecializationIntegrationTest)
+ -   testSpecializingBeanHasBindingsOfSpecializedAndSpecializingBean(org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.EnterpriseBeanSpecializationTest)
+ -   testSpecializingBeanHasNameOfSpecializedBean(org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.EnterpriseBeanSpecializationTest)
+ -   testInterceptorsDeclaredUsingInterceptorsCalledBeforeInterceptorBinding(org.jboss.jsr299.tck.tests.interceptors.definition.enterprise.interceptorOrder.SessionBeanInterceptorOrderTest)
+ -   testNonContextualSessionBeanReferenceIsIntercepted(org.jboss.jsr299.tck.tests.interceptors.definition.enterprise.nonContextualReference.SessionBeanInterceptorOnNonContextualEjbReferenceTest)
+ -   testSessionBeanIsIntercepted(org.jboss.jsr299.tck.tests.interceptors.definition.enterprise.simpleInterception.SessionBeanInterceptorDefinitionTest)
+ -   testAnnotationMemberWithoutNonBinding(org.jboss.jsr299.tck.tests.lookup.binding.members.annotation.BindingAnnotationWithMemberTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testArrayMemberWithoutNonBinding(org.jboss.jsr299.tck.tests.lookup.binding.members.array.BindingAnnotationWithMemberTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testDuplicateNamedBeans(org.jboss.jsr299.tck.tests.lookup.byname.duplicateNameResolution.DuplicateNameResolutionTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testDuplicateBeanNamePrefix(org.jboss.jsr299.tck.tests.lookup.byname.duplicatePrefixResolution.DuplicateNamePrefixResolutionTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testInjectionPointWithArrayType(org.jboss.jsr299.tck.tests.lookup.clientProxy.unproxyable.array.ArrayTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testInjectionPointWithUnproxyableTypeWhichResolvesToNormalScopedBean(org.jboss.jsr299.tck.tests.lookup.clientProxy.unproxyable.finalClass.FinalClassTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testClassWithFinalMethodCannotBeProxied(org.jboss.jsr299.tck.tests.lookup.clientProxy.unproxyable.finalMethod.FinalMethodTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testInjectionPointWithUnproxyableTypeWhichResolvesToNormalScopedBean(org.jboss.jsr299.tck.tests.lookup.clientProxy.unproxyable.primitive.UnproxyableTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testClassWithPrivateConstructor(org.jboss.jsr299.tck.tests.lookup.clientProxy.unproxyable.privateConstructor.PrivateConstructorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testELResolverRegisteredWithJsf(org.jboss.jsr299.tck.tests.lookup.el.integration.IntegrationWithUnifiedELTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.lookup.el.integration.IntegrationWithUnifiedELTest/JSFTestPage.jsf
+ -   testInitializerCalledAfterFieldInjectionOfSuperclass(org.jboss.jsr299.tck.tests.lookup.injection.enterprise.SessionBeanInjectionOrderingTest)
+ -   testInitializerCalledAfterResourceInjection(org.jboss.jsr299.tck.tests.lookup.injection.enterprise.SessionBeanInjectionOrderingTest)
+ -   testPostConstructCalledAfterInitializerOfSuperclass(org.jboss.jsr299.tck.tests.lookup.injection.enterprise.SessionBeanInjectionOrderingTest)
+ -   testFieldDeclaredInSuperclassIndirectlyInjected(org.jboss.jsr299.tck.tests.lookup.injection.enterprise.SessionBeanInjectionTest)
+ -   testFieldDeclaredInSuperclassInjected(org.jboss.jsr299.tck.tests.lookup.injection.enterprise.SessionBeanInjectionTest)
+ -   testInjectionOnContextualSessionBean(org.jboss.jsr299.tck.tests.lookup.injection.enterprise.SessionBeanInjectionTest)
+ -   testInjectionOnEJBInterceptor(org.jboss.jsr299.tck.tests.lookup.injection.enterprise.SessionBeanInjectionTest)
+ -   testInjectionOnNonContextualSessionBean(org.jboss.jsr299.tck.tests.lookup.injection.enterprise.SessionBeanInjectionTest)
+ -   testInjectionIntoJSFManagedBean(org.jboss.jsr299.tck.tests.lookup.injection.non.contextual.InjectionIntoNonContextualComponentTest): 500 Internal Server Error for http://127.0.0.1:51857/org.jboss.jsr299.tck.tests.lookup.injection.non.contextual.InjectionIntoNonContextualComponentTest/ManagedBeanTestPage.jsf
+ -   testPrimitiveInjectionPointResolvesToNullableWebBean(org.jboss.jsr299.tck.tests.lookup.injection.nullableBean.NullableBeanTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testBeanTypesOnSessionBean(org.jboss.jsr299.tck.tests.lookup.typesafe.resolution.EnterpriseResolutionByTypeTest)
+ -   testDecoratorNotResolved(org.jboss.jsr299.tck.tests.lookup.typesafe.resolution.decorator.DecoratorNotInjectedTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+
+# Issues likely with the deployer itself
+
+ -   testPassivationCapableBeanWithNonPassivatingDecoratorBeanConstructorFails(org.jboss.jsr299.tck.tests.context.passivating.broken.decoratorWithNonPassivatingBeanConstructor.DecoratorWithNonPassivatingBeanConstructorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testPassivationCapableBeanWithNonPassivatingInitializerInDecoratorFails(org.jboss.jsr299.tck.tests.context.passivating.broken.decoratorWithNonPassivatingInitializerMethod.DecoratorWithNonPassivatingInitializerMethodTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testPassivationCapableBeanWithNonPassivatingDecoratorInjectedFieldFails(org.jboss.jsr299.tck.tests.context.passivating.broken.decoratorWithNonPassivatingInjectedField.DecoratorWithNonPassivatingInjectedFieldTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSessionBeanWithNonPassivatingBeanConstructorParamInInterceptorFails(org.jboss.jsr299.tck.tests.context.passivating.broken.enterpriseBeanWithNonPassivatingBeanConstructorParameterInInterceptor.EnterpriseBeanWithNonPassivatingBeanConstructorParameterInInterceptorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSessionBeanWithNonPassivatingConstructorFieldInDecoratorFails(org.jboss.jsr299.tck.tests.context.passivating.broken.enterpriseBeanWithNonPassivatingConstructorFieldInDecorator.EnterpriseBeanWithNonPassivatingFieldInDecoratorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSessionBeanWithNonPassivatingInitializerFieldInDecoratorFails(org.jboss.jsr299.tck.tests.context.passivating.broken.enterpriseBeanWithNonPassivatingInitializerInDecorator.EnterpriseBeanWithNonPassivatingInitializerInDecoratorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSessionBeanWithNonPassivatingInitializerParamInInterceptorFails(org.jboss.jsr299.tck.tests.context.passivating.broken.enterpriseBeanWithNonPassivatingInitializerParameterInInterceptor.EnterpriseBeanWithNonPassivatingInitializerParameterInInterceptorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSessionBeanWithNonPassivatingInjectedFieldInDecoratorFails(org.jboss.jsr299.tck.tests.context.passivating.broken.enterpriseBeanWithNonPassivatingInjectedFieldInDecorator.EnterpriseBeanWithNonPassivatingInjectedFieldInDecoratorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSessionBeanWithNonPassivatingInjectedFieldInInterceptorFails(org.jboss.jsr299.tck.tests.context.passivating.broken.enterpriseBeanWithNonPassivatingInjectedFieldInInterceptor.EnterpriseBeanWithNonPassivatingInjectedFieldInInterceptorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testDependentBeanWithNonSerializableImplementationInStatefulSessionBeanInitializerFails(org.jboss.jsr299.tck.tests.context.passivating.broken.enterpriseBeanWithNonSerializableIntializerMethod.EnterpriseBeanWithNonSerializableIntializerMethodTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testNonPassivationCapableProducerFieldNotOk(org.jboss.jsr299.tck.tests.context.passivating.broken.finalProducerFieldNotPassivationCapable.NonPassivationCapableProducerFieldTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testPassivationCapableBeanWithNonPassivatingInterceptorFails(org.jboss.jsr299.tck.tests.context.passivating.broken.interceptorWithNonPassivatingBeanConstructorParameter.PassivationCapableBeanWithNonPassivatingInterceptorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testPassivationCapableBeanWithNonPassivatingInterceptorFails(org.jboss.jsr299.tck.tests.context.passivating.broken.interceptorWithNonPassivatingInitializerMethodParameter.PassivationCapableBeanWithNonPassivatingInterceptorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testPassivationCapableBeanWithNonPassivatingInterceptorFails(org.jboss.jsr299.tck.tests.context.passivating.broken.interceptorWithNonPassivatingInjectedField.PassivationCapableBeanWithNonPassivatingInterceptorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testManagedBeanWithNonPassivatingDecoratorFails(org.jboss.jsr299.tck.tests.context.passivating.broken.managedBeanWithNonPassivatingDecorator.ManagedBeanWithNonPassivatingDecoratorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testManagedBeanWithNonSerializableInterceptorClassNotOK(org.jboss.jsr299.tck.tests.context.passivating.broken.managedBeanWithNonSerializableInterceptorClass.ManagedBeanWithNonSerializableInterceptorClassTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSimpleWebBeanWithNonSerializableImplementationClassFails(org.jboss.jsr299.tck.tests.context.passivating.broken.nonPassivationCapableManagedBeanHasPassivatingScope.NonPassivationManagedBeanHasPassivatingScopeTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testNonPassivationCapableProducerFieldNotOk(org.jboss.jsr299.tck.tests.context.passivating.broken.nonPassivationCapableProducerField.NonPassivationCapableProducerFieldTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testNonPassivationCapableProducerMethodNotOk(org.jboss.jsr299.tck.tests.context.passivating.broken.nonPassivationCapableProducerMethod.NonPassivationCapableProducerMethodTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoConstructorParameterOfWebBeanWithPassivatingScopeFails(org.jboss.jsr299.tck.tests.context.passivating.broken.passivatingManagedBeanWithNonPassivatingBeanConstructor.PassivatingManagedBeanWithNonPassivatingBeanConstructorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoInitializerParameterOfWebBeanWithPassivatingScopeFails(org.jboss.jsr299.tck.tests.context.passivating.broken.passivatingManagedBeanWithNonPassivatingInitializerMethod.PassivatingManagedBeanWithNonPassivatingInitializerMethodTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoNonTransientFieldOfWebBeanWithPassivatingScopeFails(org.jboss.jsr299.tck.tests.context.passivating.broken.passivatingManagedBeanWithNonPassivatingInjcetedField.PassivatingManagedBeanWithNonPassivatingInjcetedFieldTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoProducerMethodParameterWithPassivatingScopeFails(org.jboss.jsr299.tck.tests.context.passivating.broken.passivatingProducerMethodWithNonPassivatingParameter.PassivatingProducerMethodWithNonPassivatingParameterTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoStatefulSessionBeanFails(org.jboss.jsr299.tck.tests.context.passivating.broken.unserializableSimpleInjectedIntoPassivatingEnterpriseBean.UnserializableSimpleInjectedIntoPassivatingEnterpriseBeanTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testCustomDecoratorDecoratingFinalBean(org.jboss.jsr299.tck.tests.decorators.custom.broken.finalBeanClass.CustomDecoratorMatchingBeanWithFinalClassTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testDecoratorListedTwiceInBeansXmlNotOK(org.jboss.jsr299.tck.tests.decorators.definition.broken.decoratorListedTwiceInBeansXml.DecoratorListedTwiceInBeansXmlTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testEnabledDecoratorNotADecoratorTest(org.jboss.jsr299.tck.tests.decorators.definition.broken.enabledDecoratorIsNotDecorator.EnabledDecoratorNotADecoratorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testAppliesToFinalManagedBeanClass(org.jboss.jsr299.tck.tests.decorators.definition.broken.finalBeanClass.FinalBeanClassTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testAppliesToFinalMethodOnManagedBeanClass(org.jboss.jsr299.tck.tests.decorators.definition.broken.finalBeanMethod.FinalBeanMethodTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testMultipleDelegateInjectionPoints(org.jboss.jsr299.tck.tests.decorators.definition.broken.multipleDelegateInjectionPoints.MultipleDelegateInjectionPointsTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testNoDelegateInjectionPoints(org.jboss.jsr299.tck.tests.decorators.definition.broken.noDelegateInjectionPoints.NoDelegateInjectionPointsTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testNonDecoratorWithDecoratesAnnotationNotOK(org.jboss.jsr299.tck.tests.decorators.definition.broken.nonDecoratorWithDecorates.NonDecoratorWithDecoratesTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testNonExistantDecoratorClassInBeansXmlNotOK(org.jboss.jsr299.tck.tests.decorators.definition.broken.nonExistantClassInBeansXml.NonExistantDecoratorClassInBeansXmlTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testNotAllDecoratedTypesImplemented(org.jboss.jsr299.tck.tests.decorators.definition.broken.notAllDecoratedTypesImplemented.NotAllDecoratedTypesImplementedTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testDecoratorDelegateInjectionPoints(org.jboss.jsr299.tck.tests.decorators.definition.inject.broken.delegateProducerMethod.DelegateInjectionPointTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testNonDependentGenericManagedBeanNotOk(org.jboss.jsr299.tck.tests.definition.bean.genericbroken.GenericManagedBeanTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testTooManyScopesSpecifiedInJava(org.jboss.jsr299.tck.tests.definition.scope.broken.tooManyScopes.TooManyScopesTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testStereotypeWithNonEmptyNamed(org.jboss.jsr299.tck.tests.definition.stereotype.broken.nonEmptyNamed.NonEmptyNamedTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testMultipleIncompatibleScopeStereotypes(org.jboss.jsr299.tck.tests.definition.stereotype.broken.scopeConflict.IncompatibleStereotypesTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testStereotypeWithTooManyScopeTypes(org.jboss.jsr299.tck.tests.definition.stereotype.broken.tooManyScopes.TooManyScopeTypesTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testObserverDefinitionErrorTreatedAsDefinitionError(org.jboss.jsr299.tck.tests.deployment.lifecycle.broken.addDefinitionError.AddDefinitionErrorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testObserverDeploymentProblemTreatedAsDeploymentError(org.jboss.jsr299.tck.tests.deployment.lifecycle.broken.addDeploymentProblem.AddDeploymentProblemTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testThrowsException(org.jboss.jsr299.tck.tests.deployment.lifecycle.broken.beanDiscoveryMethodThrowsException.BeforeBeanDiscoveryThrowsExceptionTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testObserverFailureTreatedAsDefinitionError(org.jboss.jsr299.tck.tests.deployment.lifecycle.broken.exceptionInAfterBeanDiscoveryObserver.AfterBeanDiscoveryObserverExecutionFailureTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testObserverFailureTreatedAsDeploymentError(org.jboss.jsr299.tck.tests.deployment.lifecycle.broken.exceptionInAfterBeanValidationObserver.AfterDeploymentValidationObserverExecutionFailureTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testDeploymentFailsDuringValidation(org.jboss.jsr299.tck.tests.deployment.lifecycle.broken.failsDuringValidation.AfterBeanDiscoveryFailureTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testAddingScopeType(org.jboss.jsr299.tck.tests.deployment.lifecycle.broken.normalScope.AddingNormalScopeTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testAddingScopeType(org.jboss.jsr299.tck.tests.deployment.lifecycle.broken.passivatingScope.AddingPassivatingScopeTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testAnyAnnotationOnEventInjectionPointWithoutTypeParameterFails(org.jboss.jsr299.tck.tests.event.broken.inject.withoutType.EventInjectionWithoutTypeTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testDependentBeanWithConditionalObserverMethodIsDefinitionError(org.jboss.jsr299.tck.tests.event.broken.observer.dependentIsConditionalObserver.DependentIsConditionalObserverTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testObserverMethodWithDisposesParamFails(org.jboss.jsr299.tck.tests.event.broken.observer.isDisposer.ObserverMethodAnnotatedDisposesTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testObserverMethodAnnotatedInitializerFails(org.jboss.jsr299.tck.tests.event.broken.observer.isInitializer.ObserverMethodAnnotatedInitialzerTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testObserverMethodAnnotatedProducesFails(org.jboss.jsr299.tck.tests.event.broken.observer.isProducer.ObserverMethodAnnotatedProducesTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testObserverMethodMustHaveOnlyOneEventParameter(org.jboss.jsr299.tck.tests.event.broken.observer.tooManyParameters.ObserverMethodWithTwoEventParametersTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testProcessAnnotatedTypeEventThrowsExceptionNotOk(org.jboss.jsr299.tck.tests.extensions.annotated.broken.processAnnotatedObserverThrowsException.ProcessAnnotatedTypeEventThrowsExceptionTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testProcessInjectionTargetEventThrowsExceptionNotOk(org.jboss.jsr299.tck.tests.extensions.annotated.broken.processInjectionTargetThrowsException.ProcessInjectionTargetEventThrowsExceptionTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testAddDefinitionError(org.jboss.jsr299.tck.tests.extensions.container.event.broken.processBeanObserverRegistersException.AddDefinitionErrorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testProcessBeanObserverThrowsException(org.jboss.jsr299.tck.tests.extensions.container.event.broken.processBeanObserverThrowsException.ThrowExceptionInProcessBeanObserverTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testAddDefinitionError(org.jboss.jsr299.tck.tests.extensions.observer.broken.definitionError.ProcessObserverMethodErrorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testExceptionIsDefinitionError(org.jboss.jsr299.tck.tests.extensions.observer.broken.exception.ProcessObserverMethodExceptionTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testAddingDefinitionError(org.jboss.jsr299.tck.tests.extensions.producer.broken.injectionTargetError.InjectionTargetDefinitionErrorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testInitializerUnallowed(org.jboss.jsr299.tck.tests.implementation.disposal.method.definition.broken.initializerUnallowed.InitializerUnallowedDefinitionTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testMultipleDisposeParameters(org.jboss.jsr299.tck.tests.implementation.disposal.method.definition.broken.multiParams.MultipleDisposeParametersDefinitionTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testObserverParameterUnallowed(org.jboss.jsr299.tck.tests.implementation.disposal.method.definition.broken.observesUnallowed.ObserverParameterUnallowedDefinitionTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testProducesUnallowed(org.jboss.jsr299.tck.tests.implementation.disposal.method.definition.broken.producesUnallowed.ProducesUnallowedDefinitionTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testUnresolvedDisposalMethod(org.jboss.jsr299.tck.tests.implementation.disposal.method.definition.broken.unresolvedMethod.UnresolvedDisposalMethodDefinitionTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testInitializerMethodAnnotatedProduces(org.jboss.jsr299.tck.tests.implementation.initializer.broken.methodAnnotatedProduces.InitializerMethodAnnotatedProducesTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testInitializerMethodHasParameterAnnotatedDisposes(org.jboss.jsr299.tck.tests.implementation.initializer.broken.parameterAnnotatedDisposes.ParameterAnnotatedDisposesTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testInitializerMethodHasParameterAnnotatedObserves(org.jboss.jsr299.tck.tests.implementation.initializer.broken.parameterAnnotatedObserves.ParameterAnnotatedObservesTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testParameterizedReturnTypeWithWildcard(org.jboss.jsr299.tck.tests.implementation.producer.field.definition.broken.parameterizedReturnTypeWithWildcard.ParameterizedReturnTypeWithWildcardTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testProducerMethodWithParameterAnnotatedDisposes(org.jboss.jsr299.tck.tests.implementation.producer.method.broken.parameterAnnotatedDisposes.ParameterAnnotatedDisposesTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testProducerMethodWithParameterAnnotatedObserves(org.jboss.jsr299.tck.tests.implementation.producer.method.broken.parameterAnnotatedObserves.ParameterAnnotatedObservesTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testParameterizedType(org.jboss.jsr299.tck.tests.implementation.producer.method.broken.parameterizedTypeWithTypeParameter2.ParameterizedTypeWithTypeParameterTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testParameterizedReturnTypeWithWildcard(org.jboss.jsr299.tck.tests.implementation.producer.method.broken.parameterizedTypeWithWildcard.ParameterizedTypeWithWildcardTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSpecializedMethodIndirectlyOverridesAnotherProducerMethod(org.jboss.jsr299.tck.tests.inheritance.specialization.producer.method.broken.indirectOverride.IndirectOverrideTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSpecializedStaticMethod(org.jboss.jsr299.tck.tests.inheritance.specialization.producer.method.broken.specializesStaticMethod.SpecializesStaticMethodTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSpecializingAndSpecializedBeanHasName(org.jboss.jsr299.tck.tests.inheritance.specialization.producer.method.broken.specializingAndSpecializedBeanHaveName.SpecializingAndSpecializedBeanHaveNameTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testInconsistentSpecialization(org.jboss.jsr299.tck.tests.inheritance.specialization.simple.broken.inconsistent.InconsistentSpecializationTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSpecializingAndSpecializedBeanHasName(org.jboss.jsr299.tck.tests.inheritance.specialization.simple.broken.names.SpecializingAndSpecializedBeanHasNameTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSpecializingClassImplementsInterfaceAndExtendsNothing(org.jboss.jsr299.tck.tests.inheritance.specialization.simple.broken.noextend1.SpecializingBeanImplementsInterfaceOnly): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSpecializingClassDirectlyExtendsNothing(org.jboss.jsr299.tck.tests.inheritance.specialization.simple.broken.noextend2.SpecializingBeanExtendsNothingTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSpecializingClassExtendsNonSimpleBean(org.jboss.jsr299.tck.tests.inheritance.specialization.simple.broken.noextend3.SpecializingClassExtendsNonSimpleBeanTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testInterceptorCanNotAlsoBeDecorator(org.jboss.jsr299.tck.tests.interceptors.definition.broken.interceptorCanNotBeDecorator.InterceptorCanNotBeDecoratorTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testInterceptorBindingsWithConflictingAnnotationMembersNotOk(org.jboss.jsr299.tck.tests.interceptors.definition.broken.invalidBindingAnnotations.InvalidInterceptorBindingAnnotationsTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testNonExistantClassInBeansXmlNotOk(org.jboss.jsr299.tck.tests.interceptors.definition.broken.nonExistantClassInBeansXml.NonExistantClassInBeansXmlTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testNonInterceptorClassInBeansXmlNotOk(org.jboss.jsr299.tck.tests.interceptors.definition.broken.nonInterceptorClassInBeansXml.NonInterceptorClassInBeansXmlTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSameInterceptorClassListedTwiceInBeansXmlNotOk(org.jboss.jsr299.tck.tests.interceptors.definition.broken.sameClassListedTwiceInBeansXml.SameClassListedTwiceInBeansXmlTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testAmbiguousDependency(org.jboss.jsr299.tck.tests.lookup.dependency.resolution.broken.ambiguous.AmbiguousDependencyTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testUnsatisfiedDependency(org.jboss.jsr299.tck.tests.lookup.dependency.resolution.broken.unsatisfied.UnsatisfiedDependencyTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testSessionScopedBeanWithInjectionPoint(org.jboss.jsr299.tck.tests.lookup.injectionpoint.broken.normal.scope.NormalScopedBeanWithInjectionPoint): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testDefinitionErrorDetected(org.jboss.jsr299.tck.tests.lookup.injectionpoint.broken.not.bean.InjectionPointTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testPrimitiveInjectionPointResolvedToNonPrimitiveProducerMethod(org.jboss.jsr299.tck.tests.lookup.typesafe.resolution.broken.primitive.PrimitiveInjectionPointTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   testTypeVariableInjectionPoint(org.jboss.jsr299.tck.tests.lookup.typesafe.resolution.broken.type.variable.TypeVariableInjectionPointTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   test(org.jboss.jsr299.tck.tests.policy.broken.incorrect.name.NoClassWithSpecifiedNameTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   test(org.jboss.jsr299.tck.tests.policy.broken.incorrect.name.stereotype.NoAnnotationWithSpecifiedNameTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   test(org.jboss.jsr299.tck.tests.policy.broken.not.policy.ClassIsNotPolicyTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   test(org.jboss.jsr299.tck.tests.policy.broken.not.policy.stereotype.ClassIsNotPolicyTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+ -   test(org.jboss.jsr299.tck.tests.policy.broken.same.type.twice.SameTypeListedTwiceTest): Expected exception class org.jboss.jsr299.tck.DeploymentFailure but none was thrown
+
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/configuration-and-assembly.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/configuration-and-assembly.mdtext b/src/main/jbake/content/dev/configuration-and-assembly.mdtext
new file mode 100644
index 0000000..dd33331
--- /dev/null
+++ b/src/main/jbake/content/dev/configuration-and-assembly.mdtext
@@ -0,0 +1,185 @@
+Title: Configuration and Assembly
+
+Disclaimer that we do tweak and change this code frequently, without
+notice.  It is the very heart of OpenEJB.  To keep things tight and clean,
+we reserve the right to change it at anytime.  Do not consider it a stable
+public API.
+
+<a name="ConfigurationandAssembly-OverviewinCode"></a>
+# Overview in Code
+
+First a glimpse of how OpenEJB looks internally.  Here's a test that builds
+OpenEJB using it's internal API.  This is somewhat similar to how you might
+see people constructing Jetty in code.	All our internal tests look like
+this.
+
+This usage involves no xml parsing or classpath scanning.  If you don't
+give it to OpenEJB, OpenEJB doesn't know about it.  This is OpenEJB with
+all the magic stripped away.  At a high level:
+
+1. You build your app in code using the JAXB tree in code and hand it to the `ConfigurationFactory`.
+    1. The `org.apache.openejb.jee` package contains JAXB trees for ejb-jar.xml, beans.xml and all the Java EE deployment descriptors.
+1. The `ConfigurationFactory` will produce a fully canonical version of the app called the `Info` tree by:
+    1. Merging all sources of meta-data -- xml and annotations
+    1. Resolving all ejb, persistence unit, datasource and other references
+    1. Validating the app and looking for mistakes
+1. The `Info` tree is
+    1. The singular source of information about the application from this point forward.
+    1. Pure data with no smarts or logic of any kind.
+    1. The instruction set of what would be built by the assembler.
+1. The `Assembler` will build and start the application exactly as described in the `Info` tree.
+    1. When this step completes, you have a running application.
+    1. Any failures prior to this point require no cleanup.  Only the assembler builds "live" objects.
+
+An example of what this looks like in code
+
+    import javax.ejb.LocalBean;
+    import javax.ejb.Stateful;
+    import javax.naming.InitialContext;
+
+    import junit.framework.TestCase;
+    import org.apache.openejb.assembler.classic.Assembler;
+    import org.apache.openejb.assembler.classic.SecurityServiceInfo;
+    import org.apache.openejb.assembler.classic.TransactionServiceInfo;
+    import org.apache.openejb.client.LocalInitialContextFactory;
+    import org.apache.openejb.config.ConfigurationFactory;
+    import org.apache.openejb.jee.EjbJar;
+    import org.apache.openejb.jee.StatefulBean;
+
+    public class StatefulTest extends TestCase {
+
+        @Override
+        protected void setUp() throws Exception {
+
+            System.setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY, LocalInitialContextFactory.class.getName());
+
+            ConfigurationFactory config = new ConfigurationFactory();
+            Assembler assembler = new Assembler();
+
+            assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
+            assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
+
+            EjbJar ejbJar = new EjbJar();
+            ejbJar.addEnterpriseBean(new StatefulBean(MyBean.class));
+
+            assembler.createApplication(config.configureApplication(ejbJar));
+        }
+
+        public void test() throws Exception {
+            InitialContext context = new InitialContext();
+            MyBean myBean = (MyBean) context.lookup("MyBeanLocalBean");
+
+            assertEquals("pan", myBean.echo("nap"));
+        }
+
+        @Stateful
+        @LocalBean
+        public static class MyBean {
+
+            public String echo(String string) {
+                StringBuilder sb = new StringBuilder(string);
+                return sb.reverse().toString();
+            }
+        }
+    }
+
+
+<a name="ConfigurationandAssembly-LogicalOverview"></a>
+# Logical Overview
+
+Slightly more detailed account of the above.  Our startup and deploy world
+is broken into two phases:
+  
+  1. configuration (app.jar -> AppInfo)  we build up a fully normalized and validated tree.  Some of the steps are
+       - read in descriptors
+       - process annotations filling in the descriptor tree
+       - validating app compliance
+       - resolving resource references
+       - resolving ejb references
+       - turning the descriptor tree into Info objects for final assembly
+       - final validation check
+
+  2. assembly (AppInfo -> actual running app)  we assemble a running app as detailed by the AppInfo
+       - creating classloaders for the application
+       - creating EntityManagers and EntityManagerFactories
+       - creating live objects associated with resource-env-refs
+       - creating deployment (CoreDeploymentInfo) objects for each ejb
+       - creating the jndi enc of each ejb
+       - adding method permission objects into the security system (JACC Provider)
+       - creating transaction policy objects for each ejb
+       - creating interceptor stacks and bindings for each ejb
+       - adding ejbs to containers (which may also do things like create pools)
+       - adding ejbs to the live ContainerSystem registry of ejbs
+       - adding global jndi entries for each ejb
+
+
+
+The listings above aren't necesarrily complete or perfectly ordered, but
+generally show the nature of the work done in each phase.  
+
+<a name="ConfigurationandAssembly-ConfigurationPhase"></a>
+## Configuration Phase
+
+A goal is that nothing gets through configuration and into assembly if it
+can't actually be built.  The configuration phase is where we're supposed
+to wipe away any ambiguity, fully normalize the app, make sure it's
+internally consistent, spec compliant and generally good to go.  If it's
+not, no worries as we actually haven't built anything permanent yet. 
+Everything in the configuration phase is temporary.  If it fails the
+configuration phase we just issue an error and say "App will not be loaded"
+and that's it, there's nothing to undo.  
+
+<a name="ConfigurationandAssembly-InfoObjects-DatabetweenConfigurationandAssembly"></a>
+## Info Objects - Data between Configuration and Assembly
+
+The output of the configuration phase is what we call Info objects and the
+root of that tree is OpenEjbConfiguration.  These objects are all simple,
+serializable data types with no methods, no constructors and no code or
+logic of any kind.  We even have a test that uses ASM to walk down the Info
+tree and check that everything is compliant to these strict rules.
+
+All of the aforementioned configuration phase sits behind this info object
+tree and an interface that produces it:
+
+ - org.apache.openejb.assembler.classic.OpenEjbConfiguration
+ - org.apache.openejb.assembler.classic.OpenEjbConfigurationFactory
+
+The job of the OpenEjbConfigurationFactory is simply to produce an 
+OpenEjbConfiguration tree.  With this simple decoupling when the time comes
+we can actually support much different styles of use/topologies.  For
+example, a cluster scenario.  We could create an
+OpenEjbConfigurationFactory implementation that actually pulled the
+OpenEjbConfiguration from a central store or some sort of configuration
+server of our creation.  Perhaps, someday we write an
+OpenEjbConfigurationFactory implementation to wrap the existing one and
+look for any changed files.  If nothing has changed since last boot, we
+simple deserialize an OpenEjbConfiguration tree saved from a previous boot
+as a way of reducing startup time on very large apps.
+
+<a name="ConfigurationandAssembly-Assembly"></a>
+## Assembly
+
+The assembly phase is where real running things are actually built.  This
+process is inherently ingrained in the details on how OpenEJB works
+internally.  Keeping it separated from descriptor parsing, validation,
+resolving, etc. keeps the actual "openejb building" code as simple as
+possible.  It also allows for some flexibility and change to take place
+architecturally with less chance of it rippling through the entire system. 
+However it's also not so generic (like spring, etc.) that becomes very
+difficult to get things built in a certain way or in a certain order
+requiring you to jump through several hoops just to keep the generic system
+as beautiful as possible.  It knows all the details on how to build each
+individual part and in what order to build them. 
+
+In OpenEJB, the Assembler is not supposed to be the gem of the project that
+we keep clean, motivating us to push complex things out into other areas
+for other people (usually users) to worry about.  In fact, it's the
+opposite.  The runtime system gets top priority on it's architectural needs
+and the assembler gets last priority.  If there's something we can do in
+the Assembler that saves the rest of the system from complexity, we gladly
+throw the Assembler on that grenade.  Our philosophy is that you can't make
+100% of your system "perfect" all the time and sometime the mess has to go
+somewhere.  The assembler is where.  It's purposely not over architected so
+that it can continue to serve as a place to take up slack and not make all
+this stuff harder than it has to be.
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/contribution-tips.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/contribution-tips.mdtext b/src/main/jbake/content/dev/contribution-tips.mdtext
new file mode 100644
index 0000000..a2435ef
--- /dev/null
+++ b/src/main/jbake/content/dev/contribution-tips.mdtext
@@ -0,0 +1,201 @@
+Title: Contribution Tips
+
+<a name="ContributionTips-Firststeps"></a>
+# First steps
+
+1. Subscribe to the [developer mailing list](mailto:dev-subscribe@tomee.apache.org)
+   and say Hi
+1. Get the source code with svn
+    - svn https://svn.apache.org/repos/asf/tomee/tomee/trunk
+1. Build the code (maven 3.0.5 or better required)
+    - mvn clean install
+
+Play around with the examples under the examples/ directory.  Some of the
+neater ones are (ordered simple to complex):
+
+ -  [simple-stateless](http://tomee.apache.org/examples-trunk/simple-stateless/README.html)
+ -  [simple-stateful](http://tomee.apache.org/examples-trunk/simple-stateful/README.html)
+ -  [simple-singleton](http://tomee.apache.org/examples-trunk/simple-singleton/README.html)
+ -  [simple-mdb](http://tomee.apache.org/examples-trunk/simple-mdb/README.html)
+ -  [async-methods](http://tomee.apache.org/examples-trunk/async-methods/README.html)
+ -  [schedule-methods](http://tomee.apache.org/examples-trunk/schedule-methods/README.html)
+ -  [injection-of-env-entry](http://tomee.apache.org/examples-trunk/injection-of/README.html)
+ -  [injection-of-ejbs](http://tomee.apache.org/examples-trunk/injection-of/README.html)
+ -  [injection-of-datasource](http://tomee.apache.org/examples-trunk/injection-of-datasource/README.html)
+ -  [injection-of-entitymanager](http://tomee.apache.org/examples-trunk/injection-of-entitymanager/README.html)
+ -  [testcase-injection](http://tomee.apache.org/examples-trunk/testcase-injection/README.html)
+ -  [testing-transactions](http://tomee.apache.org/examples-trunk/testing-transactions/README.html)
+ -  [transaction-rollback](http://tomee.apache.org/examples-trunk/transaction-rollback/README.html)
+ -  [testing-security](http://tomee.apache.org/examples-trunk/testing-security/README.html)
+ -  [testing-security-2](http://tomee.apache.org/examples-trunk/testing-security-2/README.html)
+ -  [simple-webservice](http://tomee.apache.org/examples-trunk/simple-webservice/README.html)
+
+
+<a name="ContributionTips-Whatistheprocess?"></a>
+# What is the process?
+
+    public void contributeToOpenSource() {
+
+        boolean stillInterestedAndHavingFun = true;
+        int taskSize = 1; // start small!
+
+        contributing:
+        while (stillInterestedAndHavingFun) {
+
+            Task task = findSomethingInteresting(taskSize++);
+
+            if (!task.hasJira()) {
+                createJira(task);
+            } else {
+                requestToBeAssignedToJira(task.jiraId());
+            }
+
+            while (task.inProgress()) {
+
+                chatOnListALittleGetCleverIdeas(task, new Ideas(task));
+                hackALittle(task);
+
+                if (task.tooHard() || task.notFun()) {
+                    // no big deal, try again with something else
+                    taskSize--;
+                    continue contributing;
+                }
+            }
+
+            File patchFile = createSvnOrGitPatch(task);
+            attachToJira(task.jiraId(), patchFile);
+            askForReviewOnList(task.jiraId());
+
+            while (!committed(patchFile)) {
+
+                try {
+                    pokeAtSometingElse();
+                    helpOnUserList();
+                    dayDream();
+                } catch (MoreThanAWeekException e) {
+                    // Assume it fell off the radar -- happens.
+                    // Evidence we need more committers.
+                    bumpThreadOnList(task);
+                }
+            }
+        }
+
+    }
+
+
+After a while when people feel comfortable with you as contributor, they
+vote you in as a committer and ... big surprise ... there's almost no
+change in the daily routine.  You get access to svn and pretty much
+everything else stays the same.  Instead of submitting patches, now you
+have to help review them and commit them.  Instead of learning how to
+contribute to an open source project, now you have to learn how to help
+others get involved.  And of course it doesn't happen all at once, you
+never stop learning these things and you never stop wishing you had more
+time.
+
+No one cares how much code you can write or how fast you can write it.	We
+all just contribute what we can when we can and there are no expectations
+on how much, how often, or where.
+
+It's very much about the journey and there is no real end as long as you're
+having fun and learning.
+
+Probably finding something to do when you do have time is the hardest part
+... that never changes.
+
+<a name="ContributionTips-BeBrave"></a>
+# Be Brave
+
+Don't assume everything has already been discussed a million times and
+you're the only one who doesn't know and so you shouldn't bother anyone and
+should just figure it out on your own.	That thinking is your enemy.  Don't
+do that or you will get nowhere ... very slowly.  So slowly that now you
+feel you really can't ask about it because surely everyone assumes you know
+it or have done it by now.  That thinking is a terrible trap.  Ask
+questions.  Post your thoughts.
+
+Don't worry about asking "stupid" questions on the list -- even simple
+questions have great value.  They often lead to surprisingly good
+discussions.  They also have a profound impact on the people around you,
+the ones you don't see.
+
+There are always a handful of people silently reading the list and wishing
+they could participate, but are less brave.  Whenever someone like you
+finally does show up and asks basic questions and shows it's ok, we usually
+get another 1 or 2 new faces who suddenly find the courage to speak up.
+
+Maybe it's like Karaoke; if the people singing sound like you when you
+sing, there are better odds you might get up and sign too. Seeing people
+like yourself do the things you want to do is inspiring.
+
+<a name="ContributionTips-StartSmall"></a>
+# Start Small
+
+You may suddenly get a creative surge and see many many things that could
+be done.  One thing you learn about open source is that you never know when
+life is going to intervene and you have to stop.  So it's always really
+good to get a little tiny thing working, checked in, and just grow it
+iteratively as time permits.  It is a practice that is key for people of
+any skill level.  And it goes wonderfully with Open Source as it adds
+plenty of space for new ideas.	Stone soup starts with the stone, not the
+soup!
+
+So no matter how big the idea or task, ask yourself "do I really need all
+of this to get started?".  Start with the tiniest possible version.  And
+then cut it down again :)
+
+Code is easier to grow than change.  And with today's refactoring tools
+even change is pretty easy.  What's hard is taking a big piece of code and
+jamming it into another big piece of code.  Don't work too long in
+isolation.
+
+Start small, get it checked in (or patch submitted) and work iteratively.
+
+<a name="ContributionTips-Thingsthatalwaysneeddoing"></a>
+# Things that always need doing
+
+ - Final variables & fields are preferred where possible, but a lot of the
+code is old.  Feel free to add them and hand the code back.
+ - If you have any skills with code coverage tools, then you'll probably
+find way too much to do!  Tests are always welcome.
+ - There are over a 1,000 TODO comments in the code.  Maybe some should be
+deleted.  Maybe some could be completed.  They probably all should have a
+JIRA id on them.
+ - Pick a random class, see if you can figure out what it is doing and
+javadoc it.
+ - Add @Override where applicable
+ - Intellij has an 'Inspect Code' feature.  Yikes does it produce a lot of
+output.
+ - No doubt there is some exception handling that can be greatly improved.
+
+Obviously, one could get quite bored doing just the above.  But sometimes
+the above tasks can lead to more fun and exciting things.  Anything that
+gets you in and looking at code and actually touching and changing it
+usually results in questions, discussions and ideas... then little passions
+and late nights and lack of sleep and caffeine abuse.
+
+
+<a name="ContributionTips-Thingstoavoid"></a>
+# Things to avoid
+
+<a name="ContributionTips-Hugepatches"></a>
+#### Huge patches
+
+Huge patches are hard to digest.  Try to avoid them whenever possible.	Any
+step forward is a good one.  Small steps allow people to see where you're
+headed and give input.	That's true regardless if you are a committer or
+contributor.
+
+<a name="ContributionTips-Becarefulwithreformatting"></a>
+#### Be careful with reformatting
+
+Try to never mix logic changes with code reformatting.	It makes it nearly
+impossible for others to see what the actual change was.
+
+ - If you are a committer and want to reformat something, do the reformat
+as a separate commit before or after the real change.  As long as they are
+separate and clearly marked it should be easy for people to see what is
+going on.
+ - If you are a contributor and want to reformat something, maybe suggest
+it on the list, but avoid submitting patches that are just reformatting.
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/creating-itests.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/creating-itests.mdtext b/src/main/jbake/content/dev/creating-itests.mdtext
new file mode 100644
index 0000000..0bbbef8
--- /dev/null
+++ b/src/main/jbake/content/dev/creating-itests.mdtext
@@ -0,0 +1,203 @@
+Title: Creating itests
+<a name="Creatingitests-OpenEJBitests"></a>
+# OpenEJB itests
+
+The OpenEJB itests module is a framework to create EJB test cases that are
+designed according to the JUnit rules, i.e. they all have setUp, tests and
+tearDown methods. Since it's JUnit-based, you can do whatever you could do
+in JUnit.
+
+This page describes the steps to create EJB test cases.
+
+<a name="Creatingitests-Howitestswork"></a>
+## How itests work
+
+The itests module lives in OpenEJB's repository in the _modules\itests_ directory. Setting up the test environment to execute the itests is based on ([maven-itest-plugin-1.0 plugin](http://svn.apache.org/repos/asf/maven/maven-1/plugins-sandbox/trunk/itest/)
+). 
+
+Take a look at maven.xml in modules\itests directory. There you'll see that
+the default goal is _ejb:install_, which in turn executes _itest_. When the
+EJBs (todo: describe it a bit more) are done, the _itest:setup_ goal is
+executed, which starts the real game. First, _org/openejb/Security_
+configuration is started. Once it's done, _openejb-itests-xxx.jar_ is
+deployed, which is _org/openejb/Itests_ configuration to be started,
+afterwards. When the configurations are deployed and started, the
+maven-itest-plugin executes junit (see [Ant JUnit task documentation](http://ant.apache.org/manual/OptionalTasks/junit.html)
+ and project.properties of the itests module). The project.properties file
+configures which itests are run and some other stuff.
+
+The first itest test case is _org.openejb.test.entity.cmp.CmpTestSuite_.
+Consult this for more information. Then the others defined in
+_maven.itest.includes_ property are executed.
+
+The order in which the itests are executed is important, so the first order
+is set up via the maven.itest.includes property, then the test suites add
+their tests in some order, and finally the method names in the test classes
+put yet another order. So, be careful what name your test method name will
+become. It may influence the order.
+
+Some EJBs access database resources. It's even more important for CMPs. The
+itests module uses the database as defined in the _openejb.test.database_
+property. It's currently defined in the _project.properties_ file of the
+module. You can change its value to whatever you wish using the Maven
+property setting approaches (-D on the command line, project.properties,
+build.properties in your home directory or the project you work in).
+
+So, the last important information is how the junit tests access the server
+resources - EJBs. It's done via executing session beans that in turn get at
+the test EJBs, mostly CMPs. It's also possible that the CMP itests will be
+accessed directly without having to pass on the call through a session
+bean.
+
+If itests are part of a larger project structure you can disable executing
+it using the _maven.itest.skip_ property. Set it to _true_ and Maven won't
+run the itests.
+
+<a name="Creatingitests-SimpleCMP2.1itest"></a>
+## Simple CMP 2.1 itest
+
+<a name="Creatingitests-Databasesetup"></a>
+### Database setup
+
+The itests default database is Derby. The class -
+_org.openejb.test.DerbyTestDatabase_ - is instantiated upon executing
+_org.openejb.testTestManager.getDatabase()_ in each test case's _setUp()_
+method. Remember, you can define any other database using the
+_openejb.test.database_ property or do initialization of your own database
+choice in the setUp() method.
+
+The current implementation of database initialization is based on two
+DerbyTestDatabse methods: _createCMP2Model()_ and _dropCMP2Model()_ that
+create and drop database structure, accordingly.
+
+<a name="Creatingitests-CMP2.1deployment"></a>
+### CMP 2.1 deployment
+
+{info:title=Information}
+Unless specified, all directories are relative to _modules/itests_
+directory and commands are executed in it.
+{info}
+
+A Maven project can produce one build artefact. It's very important to keep
+in mind whenever your tests are to be based on a EJB that's not built by
+default. The default EJBs are defined in
+_modules/itests/src/ejb/META-INF/ejb-jar.xml_. The corresponding deployment
+plan - the _openejb-jar.xml_ file is in
+_modules/itests/src/ejb/META-INF/openejb-jar.xml_.
+
+If you want to test your own EJB, you need to build it yourself, i.e.
+describe the build and deployment in _modules/itests/maven.xml_ in the
+pregoal of _itest:setup_.
+
+In the following example, Ant's jar builds openejb-cmp2-petstore.jar file,
+which in turn is distributed and started in Geronimo. The _id_ attribute of
+_deploy:start_ is as specified in the module's deployment plan. See [Geronimo Deployment](http://wiki.apache.org/geronimo/Deployment)
+ for more information about Geronimo deployment plans.
+
+
+    <ant:jar destfile="${basedir}/target/openejb-cmp2-petstore.jar">
+      <fileset dir="${basedir}/target/classes">
+        <include name="**/cmp2/petstore/*.class"/>
+        <include name="**/TestFailureException.class"/>
+      </fileset>
+      <metainf dir="${basedir}/src/cmp2/petstore" includes="*.xml"/>
+    </ant:jar>
+    <deploy:distribute
+      uri="deployer:geronimo:jmx:rmi://localhost/jndi/rmi:/JMXConnector"
+      username="system"
+      password="manager"
+      module="${basedir}/target/openejb-cmp2-petstore.jar"
+    />
+    <deploy:start
+      uri="deployer:geronimo:jmx:rmi://localhost/jndi/rmi:/JMXConnector"
+      username="system"
+      password="manager"
+      id="org/openejb/cmp2/petstore"/>
+
+
+<a name="Creatingitests-Execution"></a>
+### Execution
+
+When EJB classes, deployment descriptor and plan, maven.xml are all set up,
+it's time to execute your tests. In order to run itests you will run Maven
+in _modules/itests_ directory.
+
+
+    ~/openejb/modules/itests
+    $ maven
+
+
+It's also possible to override project properties and run only some test
+cases.
+
+
+    ~/openejb/modules/itests
+    $ maven -Dmaven.itest.includes=**/Cmp2TestSuite.java
+
+
+When a failure occurs, you should take a look at the result file of the
+failed test suite in _target/itest-reports_, e.g.
+
+
+    ~/openejb/modules/itests
+    $ maven -Dmaven.itest.includes=**/Cmp2TestSuite.java -o
+    ...
+     [junit]
+ Tests run: 113, Failures: 1, Errors: 0, Time elapsed: 22,132 sec
+     [junit]
+ [ERROR]
+ TEST org.openejb.test.entity.cmp2.Cmp2TestSuite FAILED
+    ...
+    BUILD FAILED
+    File...... C:\Documents and
+Settings\root\.maven\cache\maven-itest-plugin-1.0\plugin.jelly
+    Element... fail
+    Line...... 166
+    Column.... 64
+    There were test failures.
+    Total time: 2 minutes 3 seconds
+    Finished at: Sun Jul 17 17:48:36 CEST 2005
+    
+    $ more
+target/itest-reports/TEST-org.openejb.test.entity.cmp2.Cmp2TestSuite.txt
+    Testsuite: org.openejb.test.entity.cmp2.Cmp2TestSuite
+    Tests run: 113, Failures: 1, Errors: 0, Time elapsed: 22,132 sec
+    
+    Testcase: PetstoreTests.create: FAILED
+    Received Exception class java.lang.NullPointerException : null
+    junit.framework.AssertionFailedError: Received Exception class
+java.lang.NullPointerException : null
+    	at
+org.openejb.test.entity.cmp2.PetstoreTests.test01_create(PetstoreTests.java:84)
+    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
+    	at
+sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
+    	at
+sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
+    	at
+org.openejb.test.NumberedTestCase.runTestMethod(NumberedTestCase.java:195)
+    	at
+org.openejb.test.NumberedTestCase$3.protect(NumberedTestCase.java:169)
+    	at org.openejb.test.NumberedTestCase.run(NumberedTestCase.java:172)
+    	at org.openejb.test.NumberedTestCase.run(NumberedTestCase.java:141)
+    	at org.openejb.test.TestSuite.run(TestSuite.java:71)
+    ...
+
+
+Complete execution log is in _target/openejb/var/log/openejb.log_ of the
+itests module.
+
+<a name="Creatingitests-RunningtheTestsinEclipse."></a>
+#### Running the Tests in Eclipse.
+
+The steps for running the iTests inside of Eclipse are given below. They
+are
+
+1) For Local Interface Tests, the class to be run is
+_org.apache.openejb.iTest_.
+2) For Remote Interface Tests, the class to be run is
+_org.apache.openejb.RemoteiTest_.
+
+In both the cases you need to give _'-Dopenejb.home=target/test-classes/'_
+as a vm argument 
+for the tests to run. 

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-application-server.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-application-server.mdtext b/src/main/jbake/content/dev/design-application-server.mdtext
new file mode 100644
index 0000000..62f367c
--- /dev/null
+++ b/src/main/jbake/content/dev/design-application-server.mdtext
@@ -0,0 +1,33 @@
+Title: Design - Application Server
+<a name="Design-ApplicationServer-ApplicationServer"></a>
+## Application Server
+
+Sub-component of [OpenEJB](design.html)
+
+
+<a name="Design-ApplicationServer-Definition"></a>
+## Definition
+
+Any component wishing to serve or deliver Enterprise JavaBeans.
+
+<a name="Design-ApplicationServer-AlsoKnownAs"></a>
+## Also Known As
+ * Server Adapter
+ * Server Provider
+
+<a name="Design-ApplicationServer-Responsibilities"></a>
+## Responsibilities
+ * Remote client access to OpenEJB
+ * Implement the bean's remote and home interfaces.
+ * Distribute its implementation of the remote and home interfaces.
+ * Provide clients with a JNDI name space for looking up beans.
+ * Delegate method invocations to the container.
+
+<a name="Design-ApplicationServer-RelatedClasses"></a>
+## Related Classes
+ * org.apache.openejb.spi.ApplicationServer
+
+<a name="Design-ApplicationServer-Implementations"></a>
+## Implementations
+ * [Local Server](design-local-server.html)
+ * [Remote Server](design-remote-server.html)

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-application-serverlinks.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-application-serverlinks.mdtext b/src/main/jbake/content/dev/design-application-serverlinks.mdtext
new file mode 100644
index 0000000..c5d5b18
--- /dev/null
+++ b/src/main/jbake/content/dev/design-application-serverlinks.mdtext
@@ -0,0 +1,2 @@
+Title: Design - Application ServerLinks
+!http://tomee.apache.org/images/figure-appserver.gif!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-assembler.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-assembler.mdtext b/src/main/jbake/content/dev/design-assembler.mdtext
new file mode 100644
index 0000000..d28b818
--- /dev/null
+++ b/src/main/jbake/content/dev/design-assembler.mdtext
@@ -0,0 +1,33 @@
+Title: Design - Assembler
+
+<a name="Design-Assembler-Assembler"></a>
+## Assembler
+
+Sub-component of [OpenEJB](design.html)
+
+<a name="Design-Assembler-Definition"></a>
+## Definition
+
+Instantiates and assembles a configured, runnable, instance of the
+container system and all sub-components. Vendors needing extreme control
+over the construction of the container system can get it by implementing
+this class. Doing this comes with large amounts of resposibility and
+complexity and should not be done without a deep understanding of OpenEJB.
+
+<a name="Design-Assembler-Responsibilities"></a>
+## Responsibilities
+ * Instantiate and initialize all Container implementations
+ * Instantiate and initialize TransactionService implementation
+ * Instantiate and initialize SecurityService implementation
+ * Instantiate and initialize all ResourceManagers
+ * Load all deployed beans
+ * Populate each deployment's JNDI ENC
+ * Populate the IntraVM Server's global, client, JNDI namespace
+
+<a name="Design-Assembler-RelatedPackages"></a>
+## Related Packages
+ * org.apache.openejb.spi.Assembler
+
+<a name="Design-Assembler-Implementations"></a>
+## Implementations
+ * [Classic Assembler](design-classic-assembler.html)

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-bmp-entitybean-container.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-bmp-entitybean-container.mdtext b/src/main/jbake/content/dev/design-bmp-entitybean-container.mdtext
new file mode 100644
index 0000000..50e3811
--- /dev/null
+++ b/src/main/jbake/content/dev/design-bmp-entitybean-container.mdtext
@@ -0,0 +1,23 @@
+Title: Design - BMP EntityBean Container
+
+<a name="Design-BMPEntityBeanContainer-BMPEntityBeanContainer"></a>
+## BMP EntityBean Container
+
+Implementation of [Container](design-container.html)
+
+
+<a name="Design-BMPEntityBeanContainer-Description"></a>
+## Description
+
+Container that implements the EJB defined bean-container contract for
+EntityBeans with bean-managed persistence.
+
+<a name="Design-BMPEntityBeanContainer-AlsoKnownAs"></a>
+## Also Known As
+ * BMP Entity Container
+ * BMP Container
+
+<a name="Design-BMPEntityBeanContainer-RelatedClasses"></a>
+## Related Classes
+ * org.apache.openejb.core.entity.EntityContainer
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-classic-assembler.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-classic-assembler.mdtext b/src/main/jbake/content/dev/design-classic-assembler.mdtext
new file mode 100644
index 0000000..59a8162
--- /dev/null
+++ b/src/main/jbake/content/dev/design-classic-assembler.mdtext
@@ -0,0 +1,28 @@
+Title: Design - Classic Assembler
+
+<a name="Design-ClassicAssembler-ClassicAssembler"></a>
+## Classic Assembler
+
+Implementation of [Assembler](design-assembler.html)
+
+<a name="Design-ClassicAssembler-Description"></a>
+## Description
+
+The standard assembler supported by the OpenEJB team.  Uses meta-data
+supplied via the Configuration Factory to create all components in the
+system.  It is assumed the meta-data has been checked and validated, all
+links and references will resolve, all classes are present, and all apps
+compliant.
+
+<a name="Design-ClassicAssembler-RelatedClasses"></a>
+## Related Classes
+ * org.apache.openejb.assembler.classic.Assembler
+ * org.apache.openejb.assembler.classic.OpenEjbConfiguration
+
+<a name="Design-ClassicAssembler-RelatedPackages"></a>
+## Related Packages
+ * org.apache.openejb.assembler.classic
+
+<a name="Design-ClassicAssembler-Sub-components"></a>
+## Sub-components
+ * [Configuration Factory](design-configuration-factory.html)

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-cmp-entitybean-container.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-cmp-entitybean-container.mdtext b/src/main/jbake/content/dev/design-cmp-entitybean-container.mdtext
new file mode 100644
index 0000000..5201676
--- /dev/null
+++ b/src/main/jbake/content/dev/design-cmp-entitybean-container.mdtext
@@ -0,0 +1,22 @@
+Title: Design - CMP EntityBean Container
+
+<a name="Design-CMPEntityBeanContainer-CMPEntityBeanContainer"></a>
+## CMP EntityBean Container
+
+Implementation of [Container](design-container.html)
+
+<a name="Design-CMPEntityBeanContainer-Description"></a>
+## Description
+
+Container that implements the bean-container contract for CMP 1.1 and CMP
+2.1 EntityBeans.  The container adapts these old CMP EntityBeans to the new
+JPA Entity bean model and persists them using a JPA Persistence Provider.
+
+<a name="Design-CMPEntityBeanContainer-AlsoKnownAs"></a>
+## Also Known As
+ * CMP Entity Container
+ * CMP Container
+
+<a name="Design-CMPEntityBeanContainer-FormerlyKnownAs"></a>
+## Formerly Known As
+ * Castor Container

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-configuration-factory.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-configuration-factory.mdtext b/src/main/jbake/content/dev/design-configuration-factory.mdtext
new file mode 100644
index 0000000..ba4b5a5
--- /dev/null
+++ b/src/main/jbake/content/dev/design-configuration-factory.mdtext
@@ -0,0 +1,38 @@
+Title: Design - Configuration Factory
+
+<a name="Design-ConfigurationFactory-ConfigurationFactory"></a>
+## Configuration Factory
+
+Sub-component of [Classic Assembler](design-classic-assembler.html)
+
+<a name="Design-ConfigurationFactory-Definition"></a>
+## Definition
+
+Creates an instance of the OpenEjbConfiguration class that contains all the
+data and configuration information the Classic assembler needs to construct
+the container system. The object structure in the OpenEjbConfiguration
+class is refered to as the InfoObjects. The Configuration Factory can
+construct, retreive, or populate the InfoObjects from any data source it
+chooses or by any means it chooses.
+
+<a name="Design-ConfigurationFactory-AlsoKnownAs"></a>
+## Also Known As
+ * Config Factory
+ * InfoObject Factory
+
+<a name="Design-ConfigurationFactory-Responsibilities"></a>
+## Responsibilities
+ * Creates an instance of the OpenEjbConfiguration
+ * The data in the InfoObjects must be validated and accurately represent
+the system, services, jars, and beans to be constructed
+
+<a name="Design-ConfigurationFactory-RelatedClasses"></a>
+## Related Classes
+ * org.apache.openejb.assembler.classic.OpenEjbConfigurationFactory
+ * org.apache.openejb.assembler.classic.OpenEjbConfiguration
+
+<a name="Design-ConfigurationFactory-Implementations"></a>
+## Implementations
+ * XML Configuration Factory _(no longer supported)_
+ * [Nova Configuration Factory](design-nova-configuration-factory.html)
+


[06/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/webservice-ws-security.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/webservice-ws-security.adoc b/src/main/jbake/content/examples/webservice-ws-security.adoc
deleted file mode 100755
index ed54aea..0000000
--- a/src/main/jbake/content/examples/webservice-ws-security.adoc
+++ /dev/null
@@ -1,766 +0,0 @@
-= Webservice Ws Security
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example webservice-ws-security can be browsed at https://github.com/apache/tomee/tree/master/examples/webservice-ws-security
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  CalculatorImpl
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-import javax.annotation.security.DeclareRoles;
-import javax.annotation.security.RolesAllowed;
-import javax.ejb.Stateless;
-import javax.jws.WebService;
-
-/**
- * This is an EJB 3 style pojo stateless session bean
- * Every stateless session bean implementation must be annotated
- * using the annotation @Stateless
- * This EJB has a single interface: CalculatorWs a webservice interface.
- */
-//START SNIPPET: code
-@DeclareRoles(value = {"Administrator"})
-@Stateless
-@WebService(
-        portName = "CalculatorPort",
-        serviceName = "CalculatorWsService",
-        targetNamespace = "http://superbiz.org/wsdl",
-        endpointInterface = "org.superbiz.calculator.CalculatorWs")
-public class CalculatorImpl implements CalculatorWs, CalculatorRemote {
-
-    @RolesAllowed(value = {"Administrator"})
-    public int sum(int add1, int add2) {
-        return add1 + add2;
-    }
-
-    public int multiply(int mul1, int mul2) {
-        return mul1 * mul2;
-    }
-}
-----
-
-
-==  CalculatorRemote
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-import javax.ejb.Remote;
-
-@Remote
-public interface CalculatorRemote {
-
-    public int sum(int add1, int add2);
-
-    public int multiply(int mul1, int mul2);
-}
-----
-
-
-==  CalculatorWs
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-import javax.jws.WebService;
-
-//END SNIPPET: code
-
-/**
- * This is an EJB 3 webservice interface
- * A webservice interface must be annotated with the @Local
- * annotation.
- */
-//START SNIPPET: code
-@WebService(targetNamespace = "http://superbiz.org/wsdl")
-public interface CalculatorWs {
-
-    public int sum(int add1, int add2);
-
-    public int multiply(int mul1, int mul2);
-}
-----
-
-
-==  ejb-jar.xml
-
-
-[source,xml]
-----
-<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-         version="3.0" id="simple" metadata-complete="false">
-
-  <enterprise-beans>
-
-    <session>
-      <ejb-name>CalculatorImplTimestamp1way</ejb-name>
-      <service-endpoint>org.superbiz.calculator.CalculatorWs</service-endpoint>
-      <ejb-class>org.superbiz.calculator.CalculatorImpl</ejb-class>
-      <session-type>Stateless</session-type>
-      <transaction-type>Container</transaction-type>
-    </session>
-
-    <session>
-      <ejb-name>CalculatorImplTimestamp2ways</ejb-name>
-      <service-endpoint>org.superbiz.calculator.CalculatorWs</service-endpoint>
-      <ejb-class>org.superbiz.calculator.CalculatorImpl</ejb-class>
-      <session-type>Stateless</session-type>
-      <transaction-type>Container</transaction-type>
-    </session>
-
-    <session>
-      <ejb-name>CalculatorImplUsernameTokenPlainPassword</ejb-name>
-      <service-endpoint>org.superbiz.calculator.CalculatorWs</service-endpoint>
-      <ejb-class>org.superbiz.calculator.CalculatorImpl</ejb-class>
-      <session-type>Stateless</session-type>
-      <transaction-type>Container</transaction-type>
-    </session>
-
-    <session>
-      <ejb-name>CalculatorImplUsernameTokenHashedPassword</ejb-name>
-      <service-endpoint>org.superbiz.calculator.CalculatorWs</service-endpoint>
-      <ejb-class>org.superbiz.calculator.CalculatorImpl</ejb-class>
-      <session-type>Stateless</session-type>
-      <transaction-type>Container</transaction-type>
-    </session>
-
-    <session>
-      <ejb-name>CalculatorImplUsernameTokenPlainPasswordEncrypt</ejb-name>
-      <service-endpoint>org.superbiz.calculator.CalculatorWs</service-endpoint>
-      <ejb-class>org.superbiz.calculator.CalculatorImpl</ejb-class>
-      <session-type>Stateless</session-type>
-      <transaction-type>Container</transaction-type>
-    </session>
-
-    <session>
-      <ejb-name>CalculatorImplSign</ejb-name>
-      <service-endpoint>org.superbiz.calculator.CalculatorWs</service-endpoint>
-      <ejb-class>org.superbiz.calculator.CalculatorImpl</ejb-class>
-      <session-type>Stateless</session-type>
-      <transaction-type>Container</transaction-type>
-    </session>
-
-    <session>
-      <ejb-name>CalculatorImplEncrypt2ways</ejb-name>
-      <service-endpoint>org.superbiz.calculator.CalculatorWs</service-endpoint>
-      <ejb-class>org.superbiz.calculator.CalculatorImpl</ejb-class>
-      <session-type>Stateless</session-type>
-      <transaction-type>Container</transaction-type>
-    </session>
-
-    <session>
-      <ejb-name>CalculatorImplSign2ways</ejb-name>
-      <service-endpoint>org.superbiz.calculator.CalculatorWs</service-endpoint>
-      <ejb-class>org.superbiz.calculator.CalculatorImpl</ejb-class>
-      <session-type>Stateless</session-type>
-      <transaction-type>Container</transaction-type>
-    </session>
-
-    <session>
-      <ejb-name>CalculatorImplEncryptAndSign2ways</ejb-name>
-      <service-endpoint>org.superbiz.calculator.CalculatorWs</service-endpoint>
-      <ejb-class>org.superbiz.calculator.CalculatorImpl</ejb-class>
-      <session-type>Stateless</session-type>
-      <transaction-type>Container</transaction-type>
-    </session>
-
-  </enterprise-beans>
-
-</ejb-jar>
-----
-
-    
-
-==  openejb-jar.xml
-
-
-[source,xml]
-----
-<openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1">
-
-  <ejb-deployment ejb-name="CalculatorImpl">
-    <properties>
-      # webservice.security.realm
-      # webservice.security.securityRealm
-      # webservice.security.transportGarantee = NONE
-      webservice.security.authMethod = WS-SECURITY
-      wss4j.in.action = UsernameToken
-      wss4j.in.passwordType = PasswordText
-      wss4j.in.passwordCallbackClass = org.superbiz.calculator.CustomPasswordHandler
-
-      # automatically added
-      wss4j.in.validator.{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}UsernameToken = org.apache.openejb.server.cxf.OpenEJBLoginValidator
-    </properties>
-  </ejb-deployment>
-  <ejb-deployment ejb-name="CalculatorImplTimestamp1way">
-    <properties>
-      webservice.security.authMethod = WS-SECURITY
-      wss4j.in.action = Timestamp
-    </properties>
-  </ejb-deployment>
-  <ejb-deployment ejb-name="CalculatorImplTimestamp2ways">
-    <properties>
-      webservice.security.authMethod = WS-SECURITY
-      wss4j.in.action = Timestamp
-      wss4j.out.action = Timestamp
-    </properties>
-  </ejb-deployment>
-  <ejb-deployment ejb-name="CalculatorImplUsernameTokenPlainPassword">
-    <properties>
-      webservice.security.authMethod = WS-SECURITY
-      wss4j.in.action = UsernameToken
-      wss4j.in.passwordType = PasswordText
-      wss4j.in.passwordCallbackClass=org.superbiz.calculator.CustomPasswordHandler
-    </properties>
-  </ejb-deployment>
-  <ejb-deployment ejb-name="CalculatorImplUsernameTokenHashedPassword">
-    <properties>
-      webservice.security.authMethod = WS-SECURITY
-      wss4j.in.action = UsernameToken
-      wss4j.in.passwordType = PasswordDigest
-      wss4j.in.passwordCallbackClass=org.superbiz.calculator.CustomPasswordHandler
-    </properties>
-  </ejb-deployment>
-  <ejb-deployment ejb-name="CalculatorImplUsernameTokenPlainPasswordEncrypt">
-    <properties>
-      webservice.security.authMethod = WS-SECURITY
-      wss4j.in.action = UsernameToken Encrypt
-      wss4j.in.passwordType = PasswordText
-      wss4j.in.passwordCallbackClass=org.superbiz.calculator.CustomPasswordHandler
-      wss4j.in.decryptionPropFile = META-INF/CalculatorImplUsernameTokenPlainPasswordEncrypt-server.properties
-    </properties>
-  </ejb-deployment>
-  <ejb-deployment ejb-name="CalculatorImplSign">
-    <properties>
-      webservice.security.authMethod = WS-SECURITY
-      wss4j.in.action = Signature
-      wss4j.in.passwordCallbackClass=org.superbiz.calculator.CustomPasswordHandler
-      wss4j.in.signaturePropFile = META-INF/CalculatorImplSign-server.properties
-    </properties>
-  </ejb-deployment>
-
-</openejb-jar>
-----
-
-    
-
-==  webservices.xml
-
-
-[source,xml]
-----
-<webservices xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-             xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd"
-             xmlns:ger="http://ciaows.org/wsdl" version="1.1">
-
-  <webservice-description>
-    <webservice-description-name>CalculatorWsService</webservice-description-name>
-    <port-component>
-      <port-component-name>CalculatorImplTimestamp1way</port-component-name>
-      <wsdl-port>CalculatorImplTimestamp1way</wsdl-port>
-      <service-endpoint-interface>org.superbiz.calculator.CalculatorWs</service-endpoint-interface>
-      <service-impl-bean>
-        <ejb-link>CalculatorImplTimestamp1way</ejb-link>
-      </service-impl-bean>
-    </port-component>
-    <port-component>
-      <port-component-name>CalculatorImplTimestamp2ways</port-component-name>
-      <wsdl-port>CalculatorImplTimestamp2ways</wsdl-port>
-      <service-endpoint-interface>org.superbiz.calculator.CalculatorWs</service-endpoint-interface>
-      <service-impl-bean>
-        <ejb-link>CalculatorImplTimestamp2ways</ejb-link>
-      </service-impl-bean>
-    </port-component>
-    <port-component>
-      <port-component-name>CalculatorImplUsernameTokenPlainPassword</port-component-name>
-      <wsdl-port>CalculatorImplUsernameTokenPlainPassword</wsdl-port>
-      <service-endpoint-interface>org.superbiz.calculator.CalculatorWs</service-endpoint-interface>
-      <service-impl-bean>
-        <ejb-link>CalculatorImplUsernameTokenPlainPassword</ejb-link>
-      </service-impl-bean>
-    </port-component>
-    <port-component>
-      <port-component-name>CalculatorImplUsernameTokenHashedPassword</port-component-name>
-      <wsdl-port>CalculatorImplUsernameTokenHashedPassword</wsdl-port>
-      <service-endpoint-interface>org.superbiz.calculator.CalculatorWs</service-endpoint-interface>
-      <service-impl-bean>
-        <ejb-link>CalculatorImplUsernameTokenHashedPassword</ejb-link>
-      </service-impl-bean>
-    </port-component>
-    <port-component>
-      <port-component-name>CalculatorImplUsernameTokenPlainPasswordEncrypt</port-component-name>
-      <wsdl-port>CalculatorImplUsernameTokenPlainPasswordEncrypt</wsdl-port>
-      <service-endpoint-interface>org.superbiz.calculator.CalculatorWs</service-endpoint-interface>
-      <service-impl-bean>
-        <ejb-link>CalculatorImplUsernameTokenPlainPasswordEncrypt</ejb-link>
-      </service-impl-bean>
-    </port-component>
-  </webservice-description>
-
-</webservices>
-----
-
-    
-
-==  CalculatorTest
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-import junit.framework.TestCase;
-import org.apache.cxf.binding.soap.saaj.SAAJInInterceptor;
-import org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor;
-import org.apache.cxf.endpoint.Client;
-import org.apache.cxf.endpoint.Endpoint;
-import org.apache.cxf.frontend.ClientProxy;
-import org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor;
-import org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor;
-import org.apache.ws.security.WSConstants;
-import org.apache.ws.security.WSPasswordCallback;
-import org.apache.ws.security.handler.WSHandlerConstants;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-import javax.xml.namespace.QName;
-import javax.xml.ws.Service;
-import javax.xml.ws.soap.SOAPBinding;
-import java.io.IOException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-public class CalculatorTest extends TestCase {
-
-    //START SNIPPET: setup
-    protected void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        properties.setProperty("openejb.embedded.remotable", "true");
-
-        new InitialContext(properties);
-    }
-    //END SNIPPET: setup
-
-    //START SNIPPET: webservice
-    public void testCalculatorViaWsInterface() throws Exception {
-        Service calcService = Service.create(new URL("http://127.0.0.1:4204/CalculatorImpl?wsdl"),
-                new QName("http://superbiz.org/wsdl", "CalculatorWsService"));
-        assertNotNull(calcService);
-
-        CalculatorWs calc = calcService.getPort(CalculatorWs.class);
-
-        Client client = ClientProxy.getClient(calc);
-        Endpoint endpoint = client.getEndpoint();
-        endpoint.getOutInterceptors().add(new SAAJOutInterceptor());
-
-        Map<String, Object> outProps = new HashMap<String, Object>();
-        outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN);
-        outProps.put(WSHandlerConstants.USER, "jane");
-        outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT);
-        outProps.put(WSHandlerConstants.PW_CALLBACK_REF, new CallbackHandler() {
-
-            public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
-                WSPasswordCallback pc = (WSPasswordCallback) callbacks[0];
-                pc.setPassword("waterfall");
-            }
-        });
-
-        WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProps);
-        endpoint.getOutInterceptors().add(wssOut);
-
-        assertEquals(10, calc.sum(4, 6));
-    }
-
-    public void testCalculatorViaWsInterfaceWithTimestamp1way() throws Exception {
-        Service calcService = Service.create(new URL("http://127.0.0.1:4204/CalculatorImplTimestamp1way?wsdl"),
-                new QName("http://superbiz.org/wsdl", "CalculatorWsService"));
-        assertNotNull(calcService);
-
-        // for debugging (ie. TCPMon)
-        calcService.addPort(new QName("http://superbiz.org/wsdl",
-                "CalculatorWsService2"), SOAPBinding.SOAP12HTTP_BINDING,
-                "http://127.0.0.1:8204/CalculatorImplTimestamp1way");
-
-//        CalculatorWs calc = calcService.getPort(
-//        	new QName("http://superbiz.org/wsdl", "CalculatorWsService2"),
-//		CalculatorWs.class);
-
-        CalculatorWs calc = calcService.getPort(CalculatorWs.class);
-
-        Client client = ClientProxy.getClient(calc);
-        Endpoint endpoint = client.getEndpoint();
-        endpoint.getOutInterceptors().add(new SAAJOutInterceptor());
-
-        Map<String, Object> outProps = new HashMap<String, Object>();
-        outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP);
-        WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProps);
-        endpoint.getOutInterceptors().add(wssOut);
-
-        assertEquals(12, calc.multiply(3, 4));
-    }
-
-    public void testCalculatorViaWsInterfaceWithTimestamp2ways() throws Exception {
-        Service calcService = Service.create(new URL("http://127.0.0.1:4204/CalculatorImplTimestamp2ways?wsdl"),
-                new QName("http://superbiz.org/wsdl", "CalculatorWsService"));
-        assertNotNull(calcService);
-
-        // for debugging (ie. TCPMon)
-        calcService.addPort(new QName("http://superbiz.org/wsdl",
-                "CalculatorWsService2"), SOAPBinding.SOAP12HTTP_BINDING,
-                "http://127.0.0.1:8204/CalculatorImplTimestamp2ways");
-
-//        CalculatorWs calc = calcService.getPort(
-//        	new QName("http://superbiz.org/wsdl", "CalculatorWsService2"),
-//		CalculatorWs.class);
-
-        CalculatorWs calc = calcService.getPort(CalculatorWs.class);
-
-        Client client = ClientProxy.getClient(calc);
-        Endpoint endpoint = client.getEndpoint();
-        endpoint.getOutInterceptors().add(new SAAJOutInterceptor());
-        endpoint.getInInterceptors().add(new SAAJInInterceptor());
-
-        Map<String, Object> outProps = new HashMap<String, Object>();
-        outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP);
-        WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProps);
-        endpoint.getOutInterceptors().add(wssOut);
-
-        Map<String, Object> inProps = new HashMap<String, Object>();
-        inProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP);
-        WSS4JInInterceptor wssIn = new WSS4JInInterceptor(inProps);
-        endpoint.getInInterceptors().add(wssIn);
-
-        assertEquals(12, calc.multiply(3, 4));
-    }
-
-    public void testCalculatorViaWsInterfaceWithUsernameTokenPlainPassword() throws Exception {
-        Service calcService = Service.create(new URL("http://127.0.0.1:4204/CalculatorImplUsernameTokenPlainPassword?wsdl"),
-                new QName("http://superbiz.org/wsdl", "CalculatorWsService"));
-        assertNotNull(calcService);
-
-        // for debugging (ie. TCPMon)
-        calcService.addPort(new QName("http://superbiz.org/wsdl",
-                "CalculatorWsService2"), SOAPBinding.SOAP12HTTP_BINDING,
-                "http://127.0.0.1:8204/CalculatorImplUsernameTokenPlainPassword");
-
-//        CalculatorWs calc = calcService.getPort(
-//        	new QName("http://superbiz.org/wsdl", "CalculatorWsService2"),
-//        	CalculatorWs.class);
-
-        CalculatorWs calc = calcService.getPort(CalculatorWs.class);
-
-        Client client = ClientProxy.getClient(calc);
-        Endpoint endpoint = client.getEndpoint();
-        endpoint.getOutInterceptors().add(new SAAJOutInterceptor());
-
-        Map<String, Object> outProps = new HashMap<String, Object>();
-        outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN);
-        outProps.put(WSHandlerConstants.USER, "jane");
-        outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT);
-        outProps.put(WSHandlerConstants.PW_CALLBACK_REF, new CallbackHandler() {
-
-            @Override
-            public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
-                WSPasswordCallback pc = (WSPasswordCallback) callbacks[0];
-                pc.setPassword("waterfall");
-            }
-        });
-
-        WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProps);
-        endpoint.getOutInterceptors().add(wssOut);
-
-        assertEquals(10, calc.sum(4, 6));
-    }
-
-    public void testCalculatorViaWsInterfaceWithUsernameTokenHashedPassword() throws Exception {
-        Service calcService = Service.create(new URL("http://127.0.0.1:4204/CalculatorImplUsernameTokenHashedPassword?wsdl"),
-                new QName("http://superbiz.org/wsdl", "CalculatorWsService"));
-        assertNotNull(calcService);
-
-        // for debugging (ie. TCPMon)
-        calcService.addPort(new QName("http://superbiz.org/wsdl",
-                "CalculatorWsService2"), SOAPBinding.SOAP12HTTP_BINDING,
-                "http://127.0.0.1:8204/CalculatorImplUsernameTokenHashedPassword");
-
-//        CalculatorWs calc = calcService.getPort(
-//        	new QName("http://superbiz.org/wsdl", "CalculatorWsService2"),
-//        	CalculatorWs.class);
-
-        CalculatorWs calc = calcService.getPort(CalculatorWs.class);
-
-        Client client = ClientProxy.getClient(calc);
-        Endpoint endpoint = client.getEndpoint();
-        endpoint.getOutInterceptors().add(new SAAJOutInterceptor());
-
-        Map<String, Object> outProps = new HashMap<String, Object>();
-        outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN);
-        outProps.put(WSHandlerConstants.USER, "jane");
-        outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_DIGEST);
-        outProps.put(WSHandlerConstants.PW_CALLBACK_REF, new CallbackHandler() {
-
-            @Override
-            public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
-                WSPasswordCallback pc = (WSPasswordCallback) callbacks[0];
-                pc.setPassword("waterfall");
-            }
-        });
-
-        WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProps);
-        endpoint.getOutInterceptors().add(wssOut);
-
-        assertEquals(10, calc.sum(4, 6));
-    }
-
-    public void testCalculatorViaWsInterfaceWithUsernameTokenPlainPasswordEncrypt() throws Exception {
-        Service calcService = Service.create(new URL("http://127.0.0.1:4204/CalculatorImplUsernameTokenPlainPasswordEncrypt?wsdl"),
-                new QName("http://superbiz.org/wsdl", "CalculatorWsService"));
-        assertNotNull(calcService);
-
-        // for debugging (ie. TCPMon)
-        calcService.addPort(new QName("http://superbiz.org/wsdl",
-                "CalculatorWsService2"), SOAPBinding.SOAP12HTTP_BINDING,
-                "http://127.0.0.1:8204/CalculatorImplUsernameTokenPlainPasswordEncrypt");
-
-//        CalculatorWs calc = calcService.getPort(
-//        	new QName("http://superbiz.org/wsdl", "CalculatorWsService2"),
-//        	CalculatorWs.class);
-
-        CalculatorWs calc = calcService.getPort(CalculatorWs.class);
-
-        Client client = ClientProxy.getClient(calc);
-        Endpoint endpoint = client.getEndpoint();
-        endpoint.getOutInterceptors().add(new SAAJOutInterceptor());
-
-        Map<String, Object> outProps = new HashMap<String, Object>();
-        outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN
-                + " " + WSHandlerConstants.ENCRYPT);
-        outProps.put(WSHandlerConstants.USER, "jane");
-        outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT);
-        outProps.put(WSHandlerConstants.PW_CALLBACK_REF, new CallbackHandler() {
-
-            @Override
-            public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
-                WSPasswordCallback pc = (WSPasswordCallback) callbacks[0];
-                pc.setPassword("waterfall");
-            }
-        });
-        outProps.put(WSHandlerConstants.ENC_PROP_FILE, "META-INF/CalculatorImplUsernameTokenPlainPasswordEncrypt-client.properties");
-        outProps.put(WSHandlerConstants.ENCRYPTION_USER, "serveralias");
-
-        WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProps);
-        endpoint.getOutInterceptors().add(wssOut);
-
-        assertEquals(10, calc.sum(4, 6));
-    }
-
-    public void testCalculatorViaWsInterfaceWithSign() throws Exception {
-        Service calcService = Service.create(new URL("http://127.0.0.1:4204/CalculatorImplSign?wsdl"),
-                new QName("http://superbiz.org/wsdl", "CalculatorWsService"));
-        assertNotNull(calcService);
-
-        // for debugging (ie. TCPMon)
-        calcService.addPort(new QName("http://superbiz.org/wsdl",
-                "CalculatorWsService2"), SOAPBinding.SOAP12HTTP_BINDING,
-                "http://127.0.0.1:8204/CalculatorImplSign");
-
-//      CalculatorWs calc = calcService.getPort(
-//	new QName("http://superbiz.org/wsdl", "CalculatorWsService2"),
-//	CalculatorWs.class);
-
-        CalculatorWs calc = calcService.getPort(CalculatorWs.class);
-
-        Client client = ClientProxy.getClient(calc);
-        Endpoint endpoint = client.getEndpoint();
-        endpoint.getOutInterceptors().add(new SAAJOutInterceptor());
-
-        Map<String, Object> outProps = new HashMap<String, Object>();
-        outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.SIGNATURE);
-        outProps.put(WSHandlerConstants.USER, "clientalias");
-        outProps.put(WSHandlerConstants.PW_CALLBACK_REF, new CallbackHandler() {
-
-            @Override
-            public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
-                WSPasswordCallback pc = (WSPasswordCallback) callbacks[0];
-                pc.setPassword("clientPassword");
-            }
-        });
-        outProps.put(WSHandlerConstants.SIG_PROP_FILE, "META-INF/CalculatorImplSign-client.properties");
-        outProps.put(WSHandlerConstants.SIG_KEY_ID, "IssuerSerial");
-
-        WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProps);
-        endpoint.getOutInterceptors().add(wssOut);
-
-        assertEquals(24, calc.multiply(4, 6));
-    }
-    //END SNIPPET: webservice
-}
-----
-
-
-==  CustomPasswordHandler
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-import org.apache.ws.security.WSPasswordCallback;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-import java.io.IOException;
-
-public class CustomPasswordHandler implements CallbackHandler {
-    @Override
-    public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
-        WSPasswordCallback pc = (WSPasswordCallback) callbacks[0];
-
-        if (pc.getUsage() == WSPasswordCallback.USERNAME_TOKEN) {
-            // TODO get the password from the users.properties if possible
-            pc.setPassword("waterfall");
-        } else if (pc.getUsage() == WSPasswordCallback.DECRYPT) {
-            pc.setPassword("serverPassword");
-        } else if (pc.getUsage() == WSPasswordCallback.SIGNATURE) {
-            pc.setPassword("serverPassword");
-        }
-    }
-}
-----
-
-
-=  Running
-
-    
-    generate keys:
-    
-    do.sun.jdk:
-         [echo] *** Running on a Sun JDK ***
-         [echo] generate server keys
-         [java] Certificate stored in file </Users/dblevins/examples/webservice-ws-security/target/classes/META-INF/serverKey.rsa>
-         [echo] generate client keys
-         [java] Certificate stored in file </Users/dblevins/examples/webservice-ws-security/target/test-classes/META-INF/clientKey.rsa>
-         [echo] import client/server public keys in client/server keystores
-         [java] Certificate was added to keystore
-         [java] Certificate was added to keystore
-    
-    do.ibm.jdk:
-    
-    run:
-         [echo] Running JDK specific keystore creation target
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.calculator.CalculatorTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/webservice-ws-security
-INFO - openejb.base = /Users/dblevins/examples/webservice-ws-security
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/webservice-ws-security/target/classes
-INFO - Beginning load: /Users/dblevins/examples/webservice-ws-security/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/webservice-ws-security/classpath.ear
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean CalculatorImplTimestamp1way: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Enterprise application "/Users/dblevins/examples/webservice-ws-security/classpath.ear" loaded.
-INFO - Assembling app: /Users/dblevins/examples/webservice-ws-security/classpath.ear
-INFO - Jndi(name=CalculatorImplTimestamp1wayRemote) --> Ejb(deployment-id=CalculatorImplTimestamp1way)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplTimestamp1way!org.superbiz.calculator.CalculatorRemote) --> Ejb(deployment-id=CalculatorImplTimestamp1way)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplTimestamp1way) --> Ejb(deployment-id=CalculatorImplTimestamp1way)
-INFO - Jndi(name=CalculatorImplTimestamp2waysRemote) --> Ejb(deployment-id=CalculatorImplTimestamp2ways)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplTimestamp2ways!org.superbiz.calculator.CalculatorRemote) --> Ejb(deployment-id=CalculatorImplTimestamp2ways)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplTimestamp2ways) --> Ejb(deployment-id=CalculatorImplTimestamp2ways)
-INFO - Jndi(name=CalculatorImplUsernameTokenPlainPasswordRemote) --> Ejb(deployment-id=CalculatorImplUsernameTokenPlainPassword)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplUsernameTokenPlainPassword!org.superbiz.calculator.CalculatorRemote) --> Ejb(deployment-id=CalculatorImplUsernameTokenPlainPassword)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplUsernameTokenPlainPassword) --> Ejb(deployment-id=CalculatorImplUsernameTokenPlainPassword)
-INFO - Jndi(name=CalculatorImplUsernameTokenHashedPasswordRemote) --> Ejb(deployment-id=CalculatorImplUsernameTokenHashedPassword)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplUsernameTokenHashedPassword!org.superbiz.calculator.CalculatorRemote) --> Ejb(deployment-id=CalculatorImplUsernameTokenHashedPassword)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplUsernameTokenHashedPassword) --> Ejb(deployment-id=CalculatorImplUsernameTokenHashedPassword)
-INFO - Jndi(name=CalculatorImplUsernameTokenPlainPasswordEncryptRemote) --> Ejb(deployment-id=CalculatorImplUsernameTokenPlainPasswordEncrypt)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplUsernameTokenPlainPasswordEncrypt!org.superbiz.calculator.CalculatorRemote) --> Ejb(deployment-id=CalculatorImplUsernameTokenPlainPasswordEncrypt)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplUsernameTokenPlainPasswordEncrypt) --> Ejb(deployment-id=CalculatorImplUsernameTokenPlainPasswordEncrypt)
-INFO - Jndi(name=CalculatorImplSignRemote) --> Ejb(deployment-id=CalculatorImplSign)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplSign!org.superbiz.calculator.CalculatorRemote) --> Ejb(deployment-id=CalculatorImplSign)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplSign) --> Ejb(deployment-id=CalculatorImplSign)
-INFO - Jndi(name=CalculatorImplEncrypt2waysRemote) --> Ejb(deployment-id=CalculatorImplEncrypt2ways)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplEncrypt2ways!org.superbiz.calculator.CalculatorRemote) --> Ejb(deployment-id=CalculatorImplEncrypt2ways)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplEncrypt2ways) --> Ejb(deployment-id=CalculatorImplEncrypt2ways)
-INFO - Jndi(name=CalculatorImplSign2waysRemote) --> Ejb(deployment-id=CalculatorImplSign2ways)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplSign2ways!org.superbiz.calculator.CalculatorRemote) --> Ejb(deployment-id=CalculatorImplSign2ways)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplSign2ways) --> Ejb(deployment-id=CalculatorImplSign2ways)
-INFO - Jndi(name=CalculatorImplEncryptAndSign2waysRemote) --> Ejb(deployment-id=CalculatorImplEncryptAndSign2ways)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplEncryptAndSign2ways!org.superbiz.calculator.CalculatorRemote) --> Ejb(deployment-id=CalculatorImplEncryptAndSign2ways)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImplEncryptAndSign2ways) --> Ejb(deployment-id=CalculatorImplEncryptAndSign2ways)
-INFO - Jndi(name=CalculatorImplRemote) --> Ejb(deployment-id=CalculatorImpl)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImpl!org.superbiz.calculator.CalculatorRemote) --> Ejb(deployment-id=CalculatorImpl)
-INFO - Jndi(name=global/classpath.ear/simple/CalculatorImpl) --> Ejb(deployment-id=CalculatorImpl)
-INFO - Created Ejb(deployment-id=CalculatorImplUsernameTokenHashedPassword, ejb-name=CalculatorImplUsernameTokenHashedPassword, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=CalculatorImpl, ejb-name=CalculatorImpl, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=CalculatorImplSign, ejb-name=CalculatorImplSign, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=CalculatorImplEncryptAndSign2ways, ejb-name=CalculatorImplEncryptAndSign2ways, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=CalculatorImplTimestamp1way, ejb-name=CalculatorImplTimestamp1way, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=CalculatorImplSign2ways, ejb-name=CalculatorImplSign2ways, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=CalculatorImplEncrypt2ways, ejb-name=CalculatorImplEncrypt2ways, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=CalculatorImplUsernameTokenPlainPassword, ejb-name=CalculatorImplUsernameTokenPlainPassword, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=CalculatorImplTimestamp2ways, ejb-name=CalculatorImplTimestamp2ways, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=CalculatorImplUsernameTokenPlainPasswordEncrypt, ejb-name=CalculatorImplUsernameTokenPlainPasswordEncrypt, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=CalculatorImplUsernameTokenHashedPassword, ejb-name=CalculatorImplUsernameTokenHashedPassword, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=CalculatorImpl, ejb-name=CalculatorImpl, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=CalculatorImplSign, ejb-name=CalculatorImplSign, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=CalculatorImplEncryptAndSign2ways, ejb-name=CalculatorImplEncryptAndSign2ways, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=CalculatorImplTimestamp1way, ejb-name=CalculatorImplTimestamp1way, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=CalculatorImplSign2ways, ejb-name=CalculatorImplSign2ways, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=CalculatorImplEncrypt2ways, ejb-name=CalculatorImplEncrypt2ways, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=CalculatorImplUsernameTokenPlainPassword, ejb-name=CalculatorImplUsernameTokenPlainPassword, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=CalculatorImplTimestamp2ways, ejb-name=CalculatorImplTimestamp2ways, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=CalculatorImplUsernameTokenPlainPasswordEncrypt, ejb-name=CalculatorImplUsernameTokenPlainPasswordEncrypt, container=Default Stateless Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/webservice-ws-security/classpath.ear)
-INFO - Initializing network services
-INFO - Creating ServerService(id=httpejbd)
-INFO - Creating ServerService(id=cxf)
-INFO - Creating ServerService(id=admin)
-INFO - Creating ServerService(id=ejbd)
-INFO - Creating ServerService(id=ejbds)
-INFO - Initializing network services
-  ** Starting Services **
-  NAME                 IP              PORT  
-  httpejbd             127.0.0.1       4204  
-  admin thread         127.0.0.1       4200  
-  ejbd                 127.0.0.1       4201  
-  ejbd                 127.0.0.1       4203  
--------
-Ready!
-Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.582 sec
-
-Results :
-
-Tests run: 7, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/webservice-ws-with-resources-config.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/webservice-ws-with-resources-config.adoc b/src/main/jbake/content/examples/webservice-ws-with-resources-config.adoc
deleted file mode 100755
index 6f15e05..0000000
--- a/src/main/jbake/content/examples/webservice-ws-with-resources-config.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= webservice-ws-with-resources-config
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example webservice-ws-with-resources-config can be browsed at https://github.com/apache/tomee/tree/master/examples/webservice-ws-with-resources-config
-
-No README.md yet, be the first to contribute one!


[13/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/quartz-app.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/quartz-app.adoc b/src/main/jbake/content/examples/quartz-app.adoc
deleted file mode 100755
index aa0faf5..0000000
--- a/src/main/jbake/content/examples/quartz-app.adoc
+++ /dev/null
@@ -1,263 +0,0 @@
-= Quartz Resource Adapter usage
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example quartz-app can be browsed at https://github.com/apache/tomee/tree/master/examples/quartz-app
-
-
-Note this example is somewhat dated.  It predates the schedule API which was added to EJB 3.1.  Modern applications should use the schedule API which has many, if not all,
-the same features as Quartz.  In fact, Quartz is the engine that drives the `@Schedule` and `ScheduleExpression` support in OpenEJB and TomEE.
-
-Despite being dated from a scheduling perspective it is still an excellent reference for how to plug-in and test a custom Java EE Resource Adapter.
-
-=  Project structure
-
-As `.rar` files do not do well on a standard classpath structure the goal is to effectively "unwrap" the `.rar` so that its dependencies are on the classpath and its `ra.xml` file
-can be found in scanned by OpenEJB.
-
-We do this by creating a mini maven module to represent the rar in maven terms.  The `pom.xml` of the "rar module" declares all of the jars that would be inside `.rar` as maven
-dependencies.  The `ra.xml` file is added to the project in `src/main/resources/META-INF/ra.xml` where it will be visible to other modules.
-
-    quartz-app
-    quartz-app/pom.xml
-    quartz-app/quartz-beans
-    quartz-app/quartz-beans/pom.xml
-    quartz-app/quartz-beans/src/main/java/org/superbiz/quartz/JobBean.java
-    quartz-app/quartz-beans/src/main/java/org/superbiz/quartz/JobScheduler.java
-    quartz-app/quartz-beans/src/main/java/org/superbiz/quartz/QuartzMdb.java
-    quartz-app/quartz-beans/src/main/resources/META-INF
-    quartz-app/quartz-beans/src/main/resources/META-INF/ejb-jar.xml
-    quartz-app/quartz-beans/src/test/java/org/superbiz/quartz/QuartzMdbTest.java
-    quartz-app/quartz-ra
-    quartz-app/quartz-ra/pom.xml
-    quartz-app/quartz-ra/src/main/resources/META-INF
-    quartz-app/quartz-ra/src/main/resources/META-INF/ra.xml
-
-==  ra.xml
-
-The connector in question has both inbound and outbound Resource Adapters.  The inbound Resource Adapter can be used to drive message driven beans (MDBs)
-
-the outbound Resource Adapter, `QuartzResourceAdapter`, can be injected into any component via `@Resource` and used to originate and send messages or events.
-
-
-[source,xml]
-----
-<connector xmlns="http://java.sun.com/xml/ns/j2ee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
-           http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"
-           version="1.5">
-
-  <description>Quartz ResourceAdapter</description>
-  <display-name>Quartz ResourceAdapter</display-name>
-
-  <vendor-name>OpenEJB</vendor-name>
-  <eis-type>Quartz Adapter</eis-type>
-  <resourceadapter-version>1.0</resourceadapter-version>
-
-  <resourceadapter id="QuartzResourceAdapter">
-    <resourceadapter-class>org.apache.openejb.resource.quartz.QuartzResourceAdapter</resourceadapter-class>
-
-    <inbound-resourceadapter>
-      <messageadapter>
-        <messagelistener>
-          <messagelistener-type>org.quartz.Job</messagelistener-type>
-          <activationspec>
-            <activationspec-class>org.apache.openejb.resource.quartz.JobSpec</activationspec-class>
-          </activationspec>
-        </messagelistener>
-      </messageadapter>
-    </inbound-resourceadapter>
-
-  </resourceadapter>
-</connector>
-----
-
-
-
-=  Using the Outbound Resource Adapter
-
-Here we see the outbound resource adapter used in a stateless session bean to schedule a job that will be executed by the MDB
-
-
-[source,java]
-----
-package org.superbiz.quartz;
-
-import org.apache.openejb.resource.quartz.QuartzResourceAdapter;
-import org.quartz.Job;
-import org.quartz.JobDetail;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-import org.quartz.Scheduler;
-import org.quartz.SimpleTrigger;
-
-import javax.ejb.Stateless;
-import javax.naming.InitialContext;
-import java.util.Date;
-
-@Stateless
-public class JobBean implements JobScheduler {
-
-    @Override
-    public Date createJob() throws Exception {
-
-        final QuartzResourceAdapter ra = (QuartzResourceAdapter) new InitialContext().lookup("java:openejb/Resource/QuartzResourceAdapter");
-        final Scheduler s = ra.getScheduler();
-
-        //Add a job type
-        final JobDetail jd = new JobDetail("job1", "group1", JobBean.MyTestJob.class);
-        jd.getJobDataMap().put("MyJobKey", "MyJobValue");
-
-        //Schedule my 'test' job to run now
-        final SimpleTrigger trigger = new SimpleTrigger("trigger1", "group1", new Date());
-        return s.scheduleJob(jd, trigger);
-    }
-
-    public static class MyTestJob implements Job {
-
-        @Override
-        public void execute(JobExecutionContext context) throws JobExecutionException {
-            System.out.println("This is a simple test job to get: " + context.getJobDetail().getJobDataMap().get("MyJobKey"));
-        }
-    }
-}
-----
-
-
-=  Recieving data from the Inbound Resource Adapter
-
-
-
-[source,java]
-----
-package org.superbiz.quartz;
-
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-
-import javax.ejb.ActivationConfigProperty;
-import javax.ejb.MessageDriven;
-
-@MessageDriven(activationConfig = {
-        @ActivationConfigProperty(propertyName = "cronExpression", propertyValue = "* * * * * ?")})
-public class QuartzMdb implements Job {
-
-    @Override
-    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
-        System.out.println("Executing Job");
-    }
-}
-----
-
-
-=  Test case
-
-
-[source,java]
-----
-package org.superbiz.quartz;
-
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Date;
-import java.util.Properties;
-
-public class QuartzMdbTest {
-
-    private static InitialContext initialContext = null;
-
-    @BeforeClass
-    public static void beforeClass() throws Exception {
-
-        if (null == initialContext) {
-            Properties properties = new Properties();
-            properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-
-            initialContext = new InitialContext(properties);
-        }
-    }
-
-    @AfterClass
-    public static void afterClass() throws Exception {
-        if (null != initialContext) {
-            initialContext.close();
-            initialContext = null;
-        }
-    }
-
-    @Test
-    public void testLookup() throws Exception {
-
-        final JobScheduler jbi = (JobScheduler) initialContext.lookup("JobBeanLocal");
-        final Date d = jbi.createJob();
-        Thread.sleep(500);
-        System.out.println("Scheduled test job should have run at: " + d.toString());
-    }
-
-    @Test
-    public void testMdb() throws Exception {
-        // Sleep 3 seconds and give quartz a chance to execute our MDB
-        Thread.sleep(3000);
-    }
-}
-----
-
-
-=  Running
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.quartz.QuartzMdbTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/quartz-app/quartz-beans
-INFO - openejb.base = /Users/dblevins/examples/quartz-app/quartz-beans
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found ConnectorModule in classpath: /Users/dblevins/examples/quartz-app/quartz-ra/target/quartz-ra-1.0.jar
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/quartz-app/quartz-beans/target/classes
-INFO - Beginning load: /Users/dblevins/examples/quartz-app/quartz-ra/target/quartz-ra-1.0.jar
-INFO - Extracting jar: /Users/dblevins/examples/quartz-app/quartz-ra/target/quartz-ra-1.0.jar
-INFO - Extracted path: /Users/dblevins/examples/quartz-app/quartz-ra/target/quartz-ra-1.0
-INFO - Beginning load: /Users/dblevins/examples/quartz-app/quartz-beans/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/quartz-app/quartz-beans/classpath.ear
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean JobBean: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=QuartzResourceAdapter, type=Resource, provider-id=QuartzResourceAdapter)
-INFO - Configuring Service(id=quartz-ra-1.0, type=Container, provider-id=Default MDB Container)
-INFO - Enterprise application "/Users/dblevins/examples/quartz-app/quartz-beans/classpath.ear" loaded.
-INFO - Assembling app: /Users/dblevins/examples/quartz-app/quartz-beans/classpath.ear
-INFO - Jndi(name=JobBeanLocal) --> Ejb(deployment-id=JobBean)
-INFO - Jndi(name=global/classpath.ear/quartz-beans/JobBean!org.superbiz.quartz.JobScheduler) --> Ejb(deployment-id=JobBean)
-INFO - Jndi(name=global/classpath.ear/quartz-beans/JobBean) --> Ejb(deployment-id=JobBean)
-INFO - Created Ejb(deployment-id=JobBean, ejb-name=JobBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=QuartzMdb, ejb-name=QuartzMdb, container=quartz-ra-1.0)
-Executing Job
-INFO - Started Ejb(deployment-id=JobBean, ejb-name=JobBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=QuartzMdb, ejb-name=QuartzMdb, container=quartz-ra-1.0)
-INFO - Deployed Application(path=/Users/dblevins/examples/quartz-app/quartz-beans/classpath.ear)
-This is a simple test job to get: MyJobValue
-Scheduled test job should have run at: Fri Oct 28 17:05:12 PDT 2011
-Executing Job
-Executing Job
-Executing Job
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.971 sec
-
-Results :
-
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
-----
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/realm-in-tomee.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/realm-in-tomee.adoc b/src/main/jbake/content/examples/realm-in-tomee.adoc
deleted file mode 100755
index 3a69554..0000000
--- a/src/main/jbake/content/examples/realm-in-tomee.adoc
+++ /dev/null
@@ -1,45 +0,0 @@
-= DataSourceRealm and TomEE DataSource
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example realm-in-tomee can be browsed at https://github.com/apache/tomee/tree/master/examples/realm-in-tomee
-
-
-==  Quick start
-
-To test it:
-
-    mvn clean package tomee:run
-
-==  How does it work?
-
-A datasource is defined in tomee.xml:
-
-
-[source,xml]
-----
-<Resource id="myDataSource" type="DataSource" /> <!-- standard properties -->
-
-Then this datasource is referenced in server.xml:
-
-<Realm
-    className="org.apache.catalina.realm.DataSourceRealm"
-    dataSourceName="myDataSource"
-    userTable="users"
-    userNameCol="user_name"
-    userCredCol="user_pass"
-    userRoleTable="user_roles"
-    roleNameCol="role_name"/>
-
-To initialize the datasource (for the test) we used the TomEE hook which consists in providing
-a file import-<datasource name>.sql. It should be in the classpath of the datasource so here it is
-the TomEE classpath so we added it to lib (by default in the classloader). It simply contains the
-table creations and the insertion of the "admin" "tomee" with the password "tomee".
-
-## Test it
-
-Go to http://localhost:8080/realm-in-tomee-1.1.0-SNAPSHOT/, then connect using
-the login/password tomee/tomee. You should see "Home".
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/reload-persistence-unit-properties.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/reload-persistence-unit-properties.adoc b/src/main/jbake/content/examples/reload-persistence-unit-properties.adoc
deleted file mode 100755
index 8ff7150..0000000
--- a/src/main/jbake/content/examples/reload-persistence-unit-properties.adoc
+++ /dev/null
@@ -1,59 +0,0 @@
-= Reload Persistence Unit Properties
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example reload-persistence-unit-properties can be browsed at https://github.com/apache/tomee/tree/master/examples/reload-persistence-unit-properties
-
-
-This example aims to simulate a benchmark campaign on JPA.
-
-First you'll run your application then you'll realize you could need L2 cache to respect your SLA.
-
-So you change your persistence.xml configuration, then restart your application,
-you wait a bit because you are using OpenEJB ;)...but you wait...
-
-So to try to go faster on long campaign simply change your configuration at runtime to test it then when it works change
-your configuration file to keep the modification.
-
-To do it we can simply use JMX.
-
-OpenEJB automatically register one MBeans by entitymanager (persistence unit).
-
-It allows you mainly to change your persistence unit properties even if more is possible.
-
-==  The test itself
-
-The test is simple: we persist an entity, we query it three times without cache then we activate cache and realize
-running again our queries that one is enough to do the same.
-
-=  The output
-
-In the ouput we find the 3 parts described just before.
-
-    INFO - TEST, data initialization
-    DEBUG - <t 1523828380, conn 93608538> executing stmnt 1615782385 CREATE TABLE Person (id BIGINT NOT NULL, name VARCHAR(255), PRIMARY KEY (id))
-    DEBUG - <t 1523828380, conn 93608538> [1 ms] spent
-    DEBUG - <t 1523828380, conn 1506565411> executing prepstmnt 668144844 INSERT INTO Person (id, name) VALUES (?, ?) [params=?, ?]
-    DEBUG - <t 1523828380, conn 1506565411> [0 ms] spent
-    INFO - TEST, end of data initialization
-
-
-    INFO - TEST, doing some queries without cache
-    DEBUG - <t 1523828380, conn 1506565411> executing prepstmnt 1093240870 SELECT t0.name FROM Person t0 WHERE t0.id = ? [params=?]
-    DEBUG - <t 1523828380, conn 1506565411> [0 ms] spent
-    DEBUG - <t 1523828380, conn 1506565411> executing prepstmnt 1983702821 SELECT t0.name FROM Person t0 WHERE t0.id = ? [params=?]
-    DEBUG - <t 1523828380, conn 1506565411> [0 ms] spent
-    DEBUG - <t 1523828380, conn 1506565411> executing prepstmnt 1178041898 SELECT t0.name FROM Person t0 WHERE t0.id = ? [params=?]
-    DEBUG - <t 1523828380, conn 1506565411> [1 ms] spent
-    INFO - TEST, queries without cache done
-
-
-    INFO - TEST, doing some queries with cache
-    DEBUG - <t 1523828380, conn 1506565411> executing prepstmnt 1532943889 SELECT t0.name FROM Person t0 WHERE t0.id = ? [params=?]
-    DEBUG - <t 1523828380, conn 1506565411> [0 ms] spent
-    INFO - TEST, queries with cache done
-
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/resources-declared-in-webapp.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/resources-declared-in-webapp.adoc b/src/main/jbake/content/examples/resources-declared-in-webapp.adoc
deleted file mode 100755
index d0c2f4f..0000000
--- a/src/main/jbake/content/examples/resources-declared-in-webapp.adoc
+++ /dev/null
@@ -1,157 +0,0 @@
-= Resources Declared in Webapp
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example resources-declared-in-webapp can be browsed at https://github.com/apache/tomee/tree/master/examples/resources-declared-in-webapp
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Manager
-
-
-[source,java]
-----
-package org.superbiz.bean;
-
-import org.superbiz.resource.ManagerResource;
-
-import javax.annotation.Resource;
-import javax.ejb.Singleton;
-
-@Singleton
-public class Manager {
-    @Resource(name = "My Manager Team", type = ManagerResource.class)
-    private ManagerResource resource;
-
-    public String work() {
-        return "manage a resource of type " + resource.resourceType();
-    }
-}
-----
-
-
-==  ManagerResource
-
-
-[source,java]
-----
-package org.superbiz.resource;
-
-public class ManagerResource {
-    public String resourceType() {
-        return "team";
-    }
-}
-----
-
-
-==  ManagerServlet
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import org.superbiz.bean.Manager;
-
-import javax.ejb.EJB;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-@WebServlet(name = "manager servlet", urlPatterns = "/")
-public class ManagerServlet extends HttpServlet {
-    @EJB
-    private Manager manager;
-
-    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
-        resp.getOutputStream().print(manager.work());
-    }
-}
-----
-
-
-==  ejb-jar.xml
-
-
-[source,xml]
-----
-<!--
-  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.
--->
-<ejb-jar/>
-----
-
-    
-
-==  service-jar.xml
-
-
-[source,xml]
-----
-<ServiceJar>
-  <ServiceProvider id="ManagerResource" service="Resource"
-                   type="org.superbiz.resource.ManagerResource"
-                   class-name="org.superbiz.resource.ManagerResource"/>
-</ServiceJar>
-----
-
-    
-
-==  resources.xml
-
-
-[source,xml]
-----
-<resources>
-  <Resource id="My Manager Team" type="org.superbiz.resource.ManagerResource" provider="org.superbiz#ManagerResource"/>
-</resources>
-----
-
-    
-
-==  web.xml
-
-
-[source,xml]
-----
-<!--
-
-    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.
--->
-<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"/>
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/resources-jmx-example.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/resources-jmx-example.adoc b/src/main/jbake/content/examples/resources-jmx-example.adoc
deleted file mode 100755
index 99f35b6..0000000
--- a/src/main/jbake/content/examples/resources-jmx-example.adoc
+++ /dev/null
@@ -1,746 +0,0 @@
-= Custom resources in an EAR archive
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example resources-jmx-example can be browsed at https://github.com/apache/tomee/tree/master/examples/resources-jmx-example
-
-
-TomEE allows you to define your own resources within your application, and declare them in `META-INF/resources.xml`. This allows you do inject these resource into any managed component within your application.
-
-In addition to this, you can also define a `create` method on either the resource itself, or on a POJO that acts as a factory. This example demonstrates using the `create` method to additionally register the resource as a JMX MBean, as well as make it available for injection.
-
-==  Resource
-
-Custom resources can be defined using very simple Java classes. In this particular instance, as the application also wants to register this resource as an MBean, the resource class needs to follow the MBean specification.
-
-	public class Hello implements HelloMBean {
-
-	    private AtomicInteger count = new AtomicInteger(0);
-
-	    @Override
-	    public String greet(String name) {
-	        if (name == null) {
-	            throw new NullPointerException("Name cannot be null");
-	        }
-
-	        return "Hello, " + name;
-	    }
-
-	    @Override
-	    public int getCount() {
-	        return count.get();
-	    }
-
-	    @Override
-	    public void setCount(int value) {
-	        count.set(value);
-	    }
-
-	    @Override
-	    public void increment() {
-	        count.incrementAndGet();
-	    }
-	}
-	
-	public interface HelloMBean {
-
-	    public String greet(final String name);
-
-	    public int getCount();
-
-	    public void setCount(int count);
-
-	    public void increment();
-
-	}
-
-==  Create method
-
-To avoid adding the logic to register the resource as an MBean in every resource, the application provides a single class with a create() method that takes care of this logic for us.
-
-	public class JMXBeanCreator {
-
-	    private static Logger LOGGER = Logger.getLogger(JMXBeanCreator.class.getName());
-	    private Properties properties;
-
-	    public Object create() throws MBeanRegistrationException {
-	        // instantiate the bean
-
-	        final String code = properties.getProperty("code");
-	        final String name = properties.getProperty("name");
-
-	        requireNotNull(code);
-	        requireNotNull(name);
-
-	        try {
-	            final Class<?> cls = Class.forName(code, true, Thread.currentThread().getContextClassLoader());
-	            final Object instance = cls.newInstance();
-
-	            final Field[] fields = cls.getDeclaredFields();
-	            for (final Field field : fields) {
-
-	                final String property = properties.getProperty(field.getName());
-	                if (property == null) {
-	                    continue;
-	                }
-
-	                try {
-	                    field.setAccessible(true);
-	                    field.set(instance, Converter.convert(property, field.getType(), field.getName()));
-	                } catch (Exception e) {
-	                    LOGGER.info(String.format("Unable to set value %s on field %s", property, field.getName()));
-	                }
-	            }
-
-	            final MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
-	            final ObjectName objectName = new ObjectName(name);
-	            mbs.registerMBean(instance, objectName);
-
-	            return instance;
-
-	        } catch (final ClassNotFoundException e) {
-	            LOGGER.severe("Unable to find class " + code);
-	            throw new MBeanRegistrationException(e);
-	        } catch (final InstantiationException e) {
-	            LOGGER.severe("Unable to create instance of class " + code);
-	            throw new MBeanRegistrationException(e);
-	        } catch (final IllegalAccessException e) {
-	            LOGGER.severe("Illegal access: " + code);
-	            throw new MBeanRegistrationException(e);
-	        } catch (final MalformedObjectNameException e) {
-	            LOGGER.severe("Malformed MBean name: " + name);
-	            throw new MBeanRegistrationException(e);
-	        } catch (final InstanceAlreadyExistsException e) {
-	            LOGGER.severe("Instance already exists: " + name);
-	            throw new MBeanRegistrationException(e);
-	        } catch (final NotCompliantMBeanException e) {
-	            LOGGER.severe("Class is not a valid MBean: " + code);
-	            throw new MBeanRegistrationException(e);
-	        } catch (final javax.management.MBeanRegistrationException e) {
-	            LOGGER.severe("Error registering " + name + ", " + code);
-	            throw new MBeanRegistrationException(e);
-	        }
-	    }
-
-	    private void requireNotNull(final String object) throws MBeanRegistrationException {
-	        if (object == null) {
-	            throw new MBeanRegistrationException("code property not specified, stopping");
-	        }
-	    }
-
-	    public Properties getProperties() {
-	        return properties;
-	    }
-
-	    public void setProperties(final Properties properties) {
-	        this.properties = properties;
-	    }
-	}
-    
-
-Note that this class uses the properties defined in the <Resource> configuration (below), combined with reflection, to instantiate the resource, and set its attributes. The code above requires two properties `code` and `name` in order to know what class to create, and the JMX name to register it under.
-
-==  Resource
-
-The resource can be defined in `META-INF/resources.xml` as follows:
-
-	<Resources>
-	  <Resource id="Hello" class-name="org.superbiz.resource.jmx.factory.JMXBeanCreator" factory-name="create">
-	    code org.superbiz.resource.jmx.resources.Hello
-	    name superbiz.test:name=Hello
-	    count 12345
-	  </Resource>
-	</Resources>
-
-Note that the class-name attribute refers to the factory class, and not the resource. Once the resource has been created and bound in TomEE's JNDI tree the factory is no longer used.
-
-==  Using @Resource for injection
-
-The test case for this example demonstrates injection into an EJB as one way of accessing the resource, and also accessing the resource via JMX.
-
-	@RunWith(Arquillian.class)
-	public class JMXTest {
-
-	    @EJB
-	    private TestEjb ejb;
-
-	    @Deployment
-	    public static EnterpriseArchive createDeployment() {
-
-	        final JavaArchive ejbJar = new Mvn.Builder()
-	                .name("jmx-ejb.jar")
-	                .build(JavaArchive.class)
-	                .addClass(JMXTest.class)
-	                .addClass(TestEjb.class);
-
-	        final EnterpriseArchive ear = ShrinkWrap.create(EnterpriseArchive.class, "jmx.ear")
-	                .addAsModule(ejbJar);
-
-	        return ear;
-	    }
-
-	    @Test
-	    public void test() throws Exception {
-	        final MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
-	        final ObjectName objectName = new ObjectName("superbiz.test:name=Hello");
-
-	        Assert.assertNotNull(ejb);
-        
-	        Assert.assertEquals(0, mbs.getAttribute(objectName, "Count"));
-	        Assert.assertEquals(0, ejb.getCount());
-        
-	        mbs.invoke(objectName, "increment", new Object[0], new String[0]);
-	        Assert.assertEquals(1, mbs.getAttribute(objectName, "Count"));
-	        Assert.assertEquals(1, ejb.getCount());
-        
-	        ejb.increment();
-	        Assert.assertEquals(2, mbs.getAttribute(objectName, "Count"));
-	        Assert.assertEquals(2, ejb.getCount());
-
-	        Attribute attribute = new Attribute("Count", 12345);
-	        mbs.setAttribute(objectName, attribute);
-	        Assert.assertEquals(12345, mbs.getAttribute(objectName, "Count"));
-	        Assert.assertEquals(12345, ejb.getCount());
-        
-	        ejb.setCount(23456);
-	        Assert.assertEquals(23456, mbs.getAttribute(objectName, "Count"));
-	        Assert.assertEquals(23456, ejb.getCount());
-
-	        Assert.assertEquals("Hello, world", mbs.invoke(objectName, "greet", new Object[] { "world" }, new String[] { String.class.getName() }));
-	        Assert.assertEquals("Hello, world", ejb.greet("world"));
-	    }
-
-	    @Singleton
-	    @Lock(LockType.READ)
-	    public static class TestEjb {
-
-	        @Resource(name="jmx/Hello")
-	        private HelloMBean helloMBean;
-
-	        public String greet(String name) {
-	            return helloMBean.greet(name);
-	        }
-
-	        public void setCount(int count) {
-	            helloMBean.setCount(count);
-	        }
-
-	        public void increment() {
-	            helloMBean.increment();
-	        }
-
-	        public int getCount() {
-	            return helloMBean.getCount();
-	        }
-	    }
-	}
-
-The name `<appname>/<resource-id>` attribute is used on the `@Resource` annotation to perform the injection. No further configuration is needed to inject the resource.
-
-=  Additional properties
-
-In addition to the `code` and `name` properties that the code above uses to instantiate the resource, TomEE itself provides some
-properties to provide more control over the creation of resources.
-
-Resources are typically discovered, created, and bound to JNDI very early on in the deployment process, as other components depend on them. This may lead to problems where the final classpath for the application has not yet been determined, and therefore TomEE is unable to load your custom resource. 
-
-The following properties can be used to change this behavior.
-
-* Lazy
-
-This is a boolean value, which when true, creates a proxy that defers the actual instantiation of the resource until the first time it is looked up from JNDI. This can be useful if the resource requires the application classpath, or to improve startup time by not fully initializing resources that might not be used.
-
-* UseAppClassLoader 
-
-This boolean value forces a lazily instantiated resource to use the application classloader, instead of the classloader available when the resources were first processed.
-
-* InitializeAfterDeployment
-
-This boolean setting forces a resource created with the Lazy property to be instantiated once the application has started, as opposed to waiting for it to be looked up. Use this flag if you require the resource to be loaded, irrespective of whether it is injected into a managed component or manually looked up.
-
-By default, all of these settings are `false`, unless TomEE encounters a custom application resource that cannot be instantiated until the application has started. In this case, it will set these three flags to `true`, unless the `Lazy` flag has been explicitly set.
-
-=  PostConstruct / PreDestroy
-
-As an alternative to using a factory method, you can use @PostConstruct and @PreDestroy methods within your resource class (note that you cannot use this within a factory class) to manage any additional creation or cleanup activities. TomEE will automatically call these methods when the application is started and destroyed. Using @PostConstruct will effectively force a lazily loaded resource to be instantiated when the application is starting - in the same way that the `InitializeAfterDeployment` property does.
-
-
-[source,java]
-----
-public class Alternative implements AlternativeMBean {
-
-    private static Logger LOGGER = Logger.getLogger(Alternative.class.getName());
-    private Properties properties;
-
-    @PostConstruct
-    public void postConstruct() throws MBeanRegistrationException {
-        // initialize the bean
-
-        final String code = properties.getProperty("code");
-        final String name = properties.getProperty("name");
-
-        requireNotNull(code);
-        requireNotNull(name);
-
-        try {
-            final MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
-            final ObjectName objectName = new ObjectName(name);
-            mbs.registerMBean(this, objectName);
-        } catch (final MalformedObjectNameException e) {
-            LOGGER.severe("Malformed MBean name: " + name);
-            throw new MBeanRegistrationException(e);
-        } catch (final InstanceAlreadyExistsException e) {
-            LOGGER.severe("Instance already exists: " + name);
-            throw new MBeanRegistrationException(e);
-        } catch (final NotCompliantMBeanException e) {
-            LOGGER.severe("Class is not a valid MBean: " + code);
-            throw new MBeanRegistrationException(e);
-        } catch (final javax.management.MBeanRegistrationException e) {
-            LOGGER.severe("Error registering " + name + ", " + code);
-            throw new MBeanRegistrationException(e);
-        }
-    }
-
-    @PreDestroy
-    public void preDestroy() throws MBeanRegistrationException {
-        final String name = properties.getProperty("name");
-        requireNotNull(name);
-
-        try {
-            final MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
-            final ObjectName objectName = new ObjectName(name);
-            mbs.unregisterMBean(objectName);
-        } catch (final MalformedObjectNameException e) {
-            LOGGER.severe("Malformed MBean name: " + name);
-            throw new MBeanRegistrationException(e);
-        } catch (final javax.management.MBeanRegistrationException e) {
-            LOGGER.severe("Error unregistering " + name);
-            throw new MBeanRegistrationException(e);
-        } catch (InstanceNotFoundException e) {
-            LOGGER.severe("Error unregistering " + name);
-            throw new MBeanRegistrationException(e);
-        }
-    }
-
-    private void requireNotNull(final String object) throws MBeanRegistrationException {
-        if (object == null) {
-            throw new MBeanRegistrationException("code property not specified, stopping");
-        }
-    }
-
-    public Properties getProperties() {
-        return properties;
-    }
-
-    public void setProperties(final Properties properties) {
-        this.properties = properties;
-    }
-
-    private int count = 0;
-
-    @Override
-    public String greet(String name) {
-        if (name == null) {
-            throw new NullPointerException("Name cannot be null");
-        }
-
-        return "Hello, " + name;
-    }
-
-    @Override
-    public int getCount() {
-        return count;
-    }
-
-    @Override
-    public void setCount(int value) {
-        count = value;
-    }
-
-    @Override
-    public void increment() {
-        count++;
-    }
-}
-----
-
-
-
-=  Running
-
-Running the example can be done from maven with a simple 'mvn clean install' command run from the 'resources-jmx-example' directory.
-
-When run you should see output similar to the following.
-
-	-------------------------------------------------------
-	 T E S T S
-	-------------------------------------------------------
-	Running org.superbiz.resource.jmx.JMXTest
-	Apr 15, 2015 12:40:09 PM org.jboss.arquillian.container.impl.MapObject populate
-	WARNING: Configuration contain properties not supported by the backing object org.apache.tomee.arquillian.remote.RemoteTomEEConfiguration
-	Unused property entries: {openejbVersion=${tomee.version}, tomcatVersion=}
-	Supported property names: [additionalLibs, httpPort, httpsPort, stopCommand, portRange, conf, debug, exportConfAsSystemProperty, type, unpackWars, version, serverXml, preloadClasses, dir, deployerProperties, stopPort, singleDumpByArchiveName, appWorkingDir, host, cleanOnStartUp, quickSession, ajpPort, artifactId, properties, singleDeploymentByArchiveName, groupId, stopHost, lib, catalina_opts, debugPort, webContextToUseWithEars, simpleLog, removeUnusedWebapps, keepServerXmlAsThis, classifier, bin]
-	Apr 15, 2015 12:40:09 PM org.apache.openejb.arquillian.common.Setup findHome
-	INFO: Unable to find home in: /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote
-	Apr 15, 2015 12:40:09 PM org.apache.openejb.arquillian.common.MavenCache getArtifact
-	INFO: Downloading org.apache.openejb:apache-tomee:7.0.0-SNAPSHOT:zip:plus please wait...
-	Apr 15, 2015 12:40:10 PM org.apache.openejb.arquillian.common.Zips unzip
-	INFO: Extracting '/Users/jgallimore/.m2/repository/org/apache/openejb/apache-tomee/7.0.0-SNAPSHOT/apache-tomee-7.0.0-SNAPSHOT-plus.zip' to '/Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote'
-	Apr 15, 2015 12:40:12 PM org.apache.tomee.arquillian.remote.RemoteTomEEContainer configure
-	INFO: Downloaded container to: /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote/apache-tomee-plus-7.0.0-SNAPSHOT
-	Started server process on port: 61309
-	objc[20102]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Server version:        Apache Tomcat (TomEE)/7.0.61 (7.0.0-SNAPSHOT)
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Server built:          Mar 27 2015 12:03:56 UTC
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Server number:         7.0.61.0
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: OS Name:               Mac OS X
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: OS Version:            10.9.5
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Architecture:          x86_64
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Java Home:             /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: JVM Version:           1.7.0_71-b14
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: JVM Vendor:            Oracle Corporation
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: CATALINA_BASE:         /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote/apache-tomee-plus-7.0.0-SNAPSHOT
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: CATALINA_HOME:         /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote/apache-tomee-plus-7.0.0-SNAPSHOT
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -XX:+HeapDumpOnOutOfMemoryError
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -XX:PermSize=64m
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -XX:MaxPermSize=256m
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -Xmx512m
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -Xms256m
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -XX:ReservedCodeCacheSize=64m
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -Dtomee.httpPort=61309
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=false
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -Dorg.apache.openejb.servlet.filters=org.apache.openejb.arquillian.common.ArquillianFilterRunner=/ArquillianServletRunner
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -Djava.util.logging.config.file=/Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote/apache-tomee-plus-7.0.0-SNAPSHOT/conf/logging.properties
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -javaagent:/Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote/apache-tomee-plus-7.0.0-SNAPSHOT/lib/openejb-javaagent.jar
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -Djava.io.tmpdir=/Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote/apache-tomee-plus-7.0.0-SNAPSHOT/temp
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -Djava.endorsed.dirs=/Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote/apache-tomee-plus-7.0.0-SNAPSHOT/endorsed
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -Dcatalina.base=/Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote/apache-tomee-plus-7.0.0-SNAPSHOT
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -Dcatalina.home=/Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote/apache-tomee-plus-7.0.0-SNAPSHOT
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -Dcatalina.ext.dirs=/Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote/apache-tomee-plus-7.0.0-SNAPSHOT/lib
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -Dorg.apache.tomcat.util.http.ServerCookie.ALLOW_HTTP_SEPARATORS_IN_V0=true
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.startup.VersionLoggerListener log
-	INFO: Command line argument: -ea
-	Apr 15, 2015 12:40:14 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
-	INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /Users/jgallimore/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
-	Apr 15, 2015 12:40:14 PM org.apache.coyote.AbstractProtocol init
-	INFO: Initializing ProtocolHandler ["http-bio-61309"]
-	Apr 15, 2015 12:40:14 PM org.apache.coyote.AbstractProtocol init
-	INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
-	Apr 15, 2015 12:40:16 PM org.apache.openejb.util.OptionsLog info
-	INFO: Using 'openejb.jdbc.datasource-creator=org.apache.tomee.jdbc.TomEEDataSourceCreator'
-	Apr 15, 2015 12:40:16 PM org.apache.openejb.OpenEJB$Instance <init>
-	INFO: ********************************************************************************
-	Apr 15, 2015 12:40:16 PM org.apache.openejb.OpenEJB$Instance <init>
-	INFO: OpenEJB http://tomee.apache.org/
-	Apr 15, 2015 12:40:16 PM org.apache.openejb.OpenEJB$Instance <init>
-	INFO: Startup: Wed Apr 15 12:40:16 BST 2015
-	Apr 15, 2015 12:40:16 PM org.apache.openejb.OpenEJB$Instance <init>
-	INFO: Copyright 1999-2013 (C) Apache OpenEJB Project, All Rights Reserved.
-	Apr 15, 2015 12:40:16 PM org.apache.openejb.OpenEJB$Instance <init>
-	INFO: Version: 7.0.0-SNAPSHOT
-	Apr 15, 2015 12:40:16 PM org.apache.openejb.OpenEJB$Instance <init>
-	INFO: Build date: 20150415
-	Apr 15, 2015 12:40:16 PM org.apache.openejb.OpenEJB$Instance <init>
-	INFO: Build time: 11:37
-	Apr 15, 2015 12:40:16 PM org.apache.openejb.OpenEJB$Instance <init>
-	INFO: ********************************************************************************
-	Apr 15, 2015 12:40:16 PM org.apache.openejb.OpenEJB$Instance <init>
-	INFO: openejb.home = /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote/apache-tomee-plus-7.0.0-SNAPSHOT
-	Apr 15, 2015 12:40:16 PM org.apache.openejb.OpenEJB$Instance <init>
-	INFO: openejb.base = /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote/apache-tomee-plus-7.0.0-SNAPSHOT
-	Apr 15, 2015 12:40:16 PM org.apache.openejb.cdi.CdiBuilder initializeOWB
-	INFO: Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@4a00b74b
-	Apr 15, 2015 12:40:16 PM org.apache.openejb.cdi.CdiBuilder initializeOWB
-	INFO: Succeeded in installing singleton service
-	Apr 15, 2015 12:40:17 PM org.apache.openejb.config.ConfigurationFactory init
-	INFO: openejb configuration file is '/Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote/apache-tomee-plus-7.0.0-SNAPSHOT/conf/tomee.xml'
-	Apr 15, 2015 12:40:17 PM org.apache.openejb.config.ConfigurationFactory configureService
-	INFO: Configuring Service(id=Tomcat Security Service, type=SecurityService, provider-id=Tomcat Security Service)
-	Apr 15, 2015 12:40:17 PM org.apache.openejb.config.ConfigurationFactory configureService
-	INFO: Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-	Apr 15, 2015 12:40:17 PM org.apache.openejb.util.OptionsLog info
-	INFO: Using 'openejb.system.apps=true'
-	Apr 15, 2015 12:40:17 PM org.apache.openejb.config.ConfigurationFactory configureApplication
-	INFO: Configuring enterprise application: openejb
-	Apr 15, 2015 12:40:17 PM org.apache.openejb.config.InitEjbDeployments deploy
-	INFO: Using openejb.deploymentId.format '{ejbName}'
-	Apr 15, 2015 12:40:17 PM org.apache.openejb.config.InitEjbDeployments deploy
-	INFO: Auto-deploying ejb openejb/Deployer: EjbDeployment(deployment-id=openejb/Deployer)
-	Apr 15, 2015 12:40:17 PM org.apache.openejb.config.InitEjbDeployments deploy
-	INFO: Auto-deploying ejb openejb/ConfigurationInfo: EjbDeployment(deployment-id=openejb/ConfigurationInfo)
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.config.InitEjbDeployments deploy
-	INFO: Auto-deploying ejb MEJB: EjbDeployment(deployment-id=MEJB)
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.config.ConfigurationFactory configureService
-	INFO: Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.config.AutoConfig createContainer
-	INFO: Auto-creating a container for bean openejb/Deployer: Container(type=STATELESS, id=Default Stateless Container)
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.config.AppInfoBuilder build
-	INFO: Enterprise application "openejb" loaded.
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.assembler.classic.Assembler createRecipe
-	INFO: Creating TransactionManager(id=Default Transaction Manager)
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.assembler.classic.Assembler createRecipe
-	INFO: Creating SecurityService(id=Tomcat Security Service)
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.assembler.classic.Assembler createRecipe
-	INFO: Creating Container(id=Default Stateless Container)
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.assembler.classic.Assembler createAppClassLoader
-	INFO: Not creating another application classloader for openejb
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.assembler.classic.Assembler createApplication
-	INFO: Assembling app: openejb
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.util.OptionsLog info
-	INFO: Using 'openejb.jndiname.format={deploymentId}{interfaceType.openejbLegacyName}'
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-	INFO: Jndi(name=openejb/DeployerBusinessRemote) --> Ejb(deployment-id=openejb/Deployer)
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-	INFO: Jndi(name=global/openejb/openejb/Deployer!org.apache.openejb.assembler.Deployer) --> Ejb(deployment-id=openejb/Deployer)
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-	INFO: Jndi(name=global/openejb/openejb/Deployer) --> Ejb(deployment-id=openejb/Deployer)
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-	INFO: Jndi(name=openejb/ConfigurationInfoBusinessRemote) --> Ejb(deployment-id=openejb/ConfigurationInfo)
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-	INFO: Jndi(name=global/openejb/openejb/ConfigurationInfo!org.apache.openejb.assembler.classic.cmd.ConfigurationInfo) --> Ejb(deployment-id=openejb/ConfigurationInfo)
-	Apr 15, 2015 12:40:18 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-	INFO: Jndi(name=global/openejb/openejb/ConfigurationInfo) --> Ejb(deployment-id=openejb/ConfigurationInfo)
-	Apr 15, 2015 12:40:19 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-	INFO: Jndi(name=MEJB) --> Ejb(deployment-id=MEJB)
-	Apr 15, 2015 12:40:19 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-	INFO: Jndi(name=global/openejb/MEJB!javax.management.j2ee.ManagementHome) --> Ejb(deployment-id=MEJB)
-	Apr 15, 2015 12:40:19 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-	INFO: Jndi(name=global/openejb/MEJB) --> Ejb(deployment-id=MEJB)
-	Apr 15, 2015 12:40:19 PM org.apache.openejb.assembler.classic.Assembler startEjbs
-	INFO: Created Ejb(deployment-id=openejb/Deployer, ejb-name=openejb/Deployer, container=Default Stateless Container)
-	Apr 15, 2015 12:40:19 PM org.apache.openejb.assembler.classic.Assembler startEjbs
-	INFO: Created Ejb(deployment-id=MEJB, ejb-name=MEJB, container=Default Stateless Container)
-	Apr 15, 2015 12:40:19 PM org.apache.openejb.assembler.classic.Assembler startEjbs
-	INFO: Created Ejb(deployment-id=openejb/ConfigurationInfo, ejb-name=openejb/ConfigurationInfo, container=Default Stateless Container)
-	Apr 15, 2015 12:40:19 PM org.apache.openejb.assembler.classic.Assembler startEjbs
-	INFO: Started Ejb(deployment-id=openejb/Deployer, ejb-name=openejb/Deployer, container=Default Stateless Container)
-	Apr 15, 2015 12:40:19 PM org.apache.openejb.assembler.classic.Assembler startEjbs
-	INFO: Started Ejb(deployment-id=MEJB, ejb-name=MEJB, container=Default Stateless Container)
-	Apr 15, 2015 12:40:19 PM org.apache.openejb.assembler.classic.Assembler startEjbs
-	INFO: Started Ejb(deployment-id=openejb/ConfigurationInfo, ejb-name=openejb/ConfigurationInfo, container=Default Stateless Container)
-	Apr 15, 2015 12:40:19 PM org.apache.openejb.assembler.classic.Assembler deployMBean
-	INFO: Deployed MBean(openejb.user.mbeans:application=openejb,group=org.apache.openejb.assembler.monitoring,name=JMXDeployer)
-	Apr 15, 2015 12:40:19 PM org.apache.openejb.assembler.classic.Assembler createApplication
-	INFO: Deployed Application(path=openejb)
-	Apr 15, 2015 12:40:20 PM org.apache.openejb.server.ServiceManager initServer
-	INFO: Creating ServerService(id=cxf)
-	Apr 15, 2015 12:40:20 PM org.apache.openejb.server.ServiceManager initServer
-	INFO: Creating ServerService(id=cxf-rs)
-	Apr 15, 2015 12:40:20 PM org.apache.openejb.server.SimpleServiceManager start
-	INFO:   ** Bound Services **
-	Apr 15, 2015 12:40:20 PM org.apache.openejb.server.SimpleServiceManager printRow
-	INFO:   NAME                 IP              PORT  
-	Apr 15, 2015 12:40:20 PM org.apache.openejb.server.SimpleServiceManager start
-	INFO: -------
-	Apr 15, 2015 12:40:20 PM org.apache.openejb.server.SimpleServiceManager start
-	INFO: Ready!
-	Apr 15, 2015 12:40:20 PM org.apache.catalina.startup.Catalina load
-	INFO: Initialization processed in 7621 ms
-	Apr 15, 2015 12:40:20 PM org.apache.tomee.catalina.OpenEJBNamingContextListener bindResource
-	INFO: Importing a Tomcat Resource with id 'UserDatabase' of type 'org.apache.catalina.UserDatabase'.
-	Apr 15, 2015 12:40:20 PM org.apache.openejb.assembler.classic.Assembler createRecipe
-	INFO: Creating Resource(id=UserDatabase)
-	Apr 15, 2015 12:40:20 PM org.apache.catalina.core.StandardService startInternal
-	INFO: Starting service Catalina
-	Apr 15, 2015 12:40:20 PM org.apache.catalina.core.StandardEngine startInternal
-	INFO: Starting Servlet Engine: Apache Tomcat (TomEE)/7.0.61 (7.0.0-SNAPSHOT)
-	Apr 15, 2015 12:40:21 PM org.apache.coyote.AbstractProtocol start
-	INFO: Starting ProtocolHandler ["http-bio-61309"]
-	Apr 15, 2015 12:40:21 PM org.apache.coyote.AbstractProtocol start
-	INFO: Starting ProtocolHandler ["ajp-bio-8009"]
-	Apr 15, 2015 12:40:21 PM org.apache.catalina.startup.Catalina start
-	INFO: Server startup in 247 ms
-	Apr 15, 2015 12:40:21 PM org.apache.openejb.client.EventLogger log
-	INFO: RemoteInitialContextCreated{providerUri=http://localhost:61309/tomee/ejb}
-	Apr 15, 2015 12:40:21 PM org.apache.openejb.util.JarExtractor extract
-	INFO: Extracting jar: /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/arquillian-test-working-dir/0/jmx.ear
-	Apr 15, 2015 12:40:21 PM org.apache.openejb.util.JarExtractor extract
-	INFO: Extracted path: /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/arquillian-test-working-dir/0/jmx
-	Apr 15, 2015 12:40:21 PM org.apache.openejb.util.JarExtractor extract
-	INFO: Extracting jar: /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/arquillian-test-working-dir/0/jmx/arquillian-protocol.war
-	Apr 15, 2015 12:40:21 PM org.apache.openejb.util.JarExtractor extract
-	INFO: Extracted path: /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/arquillian-test-working-dir/0/jmx/arquillian-protocol
-	Apr 15, 2015 12:40:21 PM org.apache.openejb.util.OptionsLog info
-	INFO: Using 'openejb.deployments.classpath.filter.systemapps=false'
-	Apr 15, 2015 12:40:23 PM org.apache.openejb.util.OptionsLog info
-	INFO: Using 'openejb.default.deployment-module=org.apache.openejb.config.WebModule'
-	Apr 15, 2015 12:40:23 PM org.apache.openejb.util.OptionsLog info
-	INFO: Using 'openejb.default.deployment-module=org.apache.openejb.config.WebModule'
-	Apr 15, 2015 12:40:23 PM org.apache.openejb.config.DeploymentsResolver processUrls
-	INFO: Found EjbModule in classpath: /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/arquillian-test-working-dir/0/jmx/jmx-ejb.jar
-	Apr 15, 2015 12:40:23 PM org.apache.openejb.util.OptionsLog info
-	INFO: Using 'openejb.default.deployment-module=org.apache.openejb.config.WebModule'
-	Apr 15, 2015 12:40:23 PM org.apache.openejb.util.OptionsLog info
-	INFO: Using 'openejb.default.deployment-module=org.apache.openejb.config.WebModule'
-	Apr 15, 2015 12:40:23 PM org.apache.openejb.util.OptionsLog info
-	INFO: Using 'openejb.default.deployment-module=org.apache.openejb.config.WebModule'
-	Apr 15, 2015 12:40:23 PM org.apache.openejb.config.DeploymentsResolver loadFromClasspath
-	INFO: Searched 6 classpath urls in 1605 milliseconds.  Average 267 milliseconds per url.
-	Apr 15, 2015 12:40:23 PM org.apache.openejb.config.ConfigurationFactory configureApplication
-	INFO: Configuring enterprise application: /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/arquillian-test-working-dir/0/jmx
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.InitEjbDeployments deploy
-	INFO: Auto-deploying ejb TestEjb: EjbDeployment(deployment-id=TestEjb)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.ConfigurationFactory configureService
-	INFO: Configuring Service(id=jmx/Hello, type=Resource, provider-id=jmx/Hello)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.ConfigurationFactory configureService
-	INFO: Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.AutoConfig createContainer
-	INFO: Auto-creating a container for bean jmx-ejb.Comp1256115069: Container(type=MANAGED, id=Default Managed Container)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.assembler.classic.Assembler createRecipe
-	INFO: Creating Container(id=Default Managed Container)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.core.managed.SimplePassivater init
-	INFO: Using directory /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/apache-tomee-remote/apache-tomee-plus-7.0.0-SNAPSHOT/temp for stateful session passivation
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.AutoConfig processResourceRef
-	INFO: Auto-linking resource-ref 'java:comp/env/jmx/Hello' in bean jmx-ejb.Comp1256115069 to Resource(id=jmx/Hello)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.AutoConfig processResourceRef
-	INFO: Auto-linking resource-ref 'openejb/Resource/jmx/Hello' in bean jmx-ejb.Comp1256115069 to Resource(id=Hello)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.AutoConfig processResourceRef
-	INFO: Auto-linking resource-ref 'openejb/Resource/Hello' in bean jmx-ejb.Comp1256115069 to Resource(id=Hello)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.ConfigurationFactory configureService
-	INFO: Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.AutoConfig createContainer
-	INFO: Auto-creating a container for bean TestEjb: Container(type=SINGLETON, id=Default Singleton Container)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.assembler.classic.Assembler createRecipe
-	INFO: Creating Container(id=Default Singleton Container)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.AutoConfig processResourceRef
-	INFO: Auto-linking resource-ref 'java:comp/env/jmx/Hello' in bean TestEjb to Resource(id=jmx/Hello)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.AutoConfig processResourceRef
-	INFO: Auto-linking resource-ref 'openejb/Resource/jmx/Hello' in bean TestEjb to Resource(id=Hello)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.AutoConfig processResourceRef
-	INFO: Auto-linking resource-ref 'openejb/Resource/Hello' in bean TestEjb to Resource(id=Hello)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.AutoConfig processResourceRef
-	INFO: Auto-linking resource-ref 'openejb/Resource/jmx/Hello' in bean jmx_org.superbiz.resource.jmx.JMXTest to Resource(id=Hello)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.AutoConfig processResourceRef
-	INFO: Auto-linking resource-ref 'openejb/Resource/Hello' in bean jmx_org.superbiz.resource.jmx.JMXTest to Resource(id=Hello)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.AppInfoBuilder build
-	INFO: Enterprise application "/Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/arquillian-test-working-dir/0/jmx" loaded.
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.assembler.classic.Assembler createAppClassLoader
-	INFO: Creating dedicated application classloader for jmx
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.assembler.classic.Assembler createApplication
-	INFO: Assembling app: /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/arquillian-test-working-dir/0/jmx
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-	INFO: Jndi(name=TestEjbLocalBean) --> Ejb(deployment-id=TestEjb)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-	INFO: Jndi(name=global/jmx/jmx-ejb/TestEjb!org.superbiz.resource.jmx.JMXTest$TestEjb) --> Ejb(deployment-id=TestEjb)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-	INFO: Jndi(name=global/jmx/jmx-ejb/TestEjb) --> Ejb(deployment-id=TestEjb)
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.cdi.CdiBuilder initSingleton
-	INFO: Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@4a00b74b
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
-	INFO: OpenWebBeans Container is starting...
-	Apr 15, 2015 12:40:24 PM org.apache.webbeans.plugins.PluginLoader startUp
-	INFO: Adding OpenWebBeansPlugin : [CdiPlugin]
-	Apr 15, 2015 12:40:24 PM org.apache.webbeans.plugins.PluginLoader startUp
-	Apr 15, 2015 12:40:25 PM org.apache.webbeans.config.BeansDeployer validateInjectionPoints
-	INFO: All injection points were validated successfully.
-	Apr 15, 2015 12:40:25 PM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
-	INFO: OpenWebBeans Container has started, it took 186 ms.
-	Apr 15, 2015 12:40:25 PM org.apache.openejb.assembler.classic.Assembler startEjbs
-	INFO: Created Ejb(deployment-id=TestEjb, ejb-name=TestEjb, container=Default Singleton Container)
-	Apr 15, 2015 12:40:25 PM org.apache.openejb.assembler.classic.Assembler startEjbs
-	INFO: Started Ejb(deployment-id=TestEjb, ejb-name=TestEjb, container=Default Singleton Container)
-	Apr 15, 2015 12:40:25 PM org.apache.tomee.catalina.TomcatWebAppBuilder deployWebApps
-	INFO: using default host: localhost
-	Apr 15, 2015 12:40:25 PM org.apache.tomee.catalina.TomcatWebAppBuilder init
-	INFO: ------------------------- localhost -> /arquillian-protocol
-	Apr 15, 2015 12:40:25 PM org.apache.openejb.util.OptionsLog info
-	INFO: Using 'openejb.session.manager=org.apache.tomee.catalina.session.QuickSessionManager'
-	Apr 15, 2015 12:40:25 PM org.apache.openejb.cdi.CdiBuilder initSingleton
-	INFO: Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@4a00b74b
-	Apr 15, 2015 12:40:25 PM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
-	INFO: OpenWebBeans Container is starting...
-	Apr 15, 2015 12:40:25 PM org.apache.webbeans.plugins.PluginLoader startUp
-	INFO: Adding OpenWebBeansPlugin : [CdiPlugin]
-	Apr 15, 2015 12:40:25 PM org.apache.webbeans.plugins.PluginLoader startUp
-	Apr 15, 2015 12:40:25 PM org.apache.webbeans.config.BeansDeployer validateInjectionPoints
-	INFO: All injection points were validated successfully.
-	Apr 15, 2015 12:40:25 PM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
-	INFO: OpenWebBeans Container has started, it took 17 ms.
-	Apr 15, 2015 12:40:25 PM org.apache.openejb.assembler.classic.Assembler createRecipe
-	INFO: Creating Resource(id=jmx/Hello, aliases=Hello)
-	Apr 15, 2015 12:40:25 PM org.superbiz.resource.jmx.factory.JMXBeanCreator create
-	INFO: Unable to set value 12345 on field count
-	Apr 15, 2015 12:40:25 PM org.apache.openejb.assembler.classic.Assembler logUnusedProperties
-	WARNING: Property "code" not supported by "jmx/Hello"
-	Apr 15, 2015 12:40:25 PM org.apache.openejb.assembler.classic.Assembler logUnusedProperties
-	WARNING: Property "name" not supported by "jmx/Hello"
-	Apr 15, 2015 12:40:25 PM org.apache.openejb.assembler.classic.Assembler logUnusedProperties
-	WARNING: Property "count" not supported by "jmx/Hello"
-	Apr 15, 2015 12:40:25 PM org.apache.openejb.assembler.classic.Assembler createApplication
-	INFO: Deployed Application(path=/Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/arquillian-test-working-dir/0/jmx)
-	Apr 15, 2015 12:40:26 PM org.apache.openejb.client.EventLogger log
-	INFO: RemoteInitialContextCreated{providerUri=http://localhost:61309/tomee/ejb}
-	Apr 15, 2015 12:40:26 PM org.apache.openejb.assembler.classic.Assembler destroyApplication
-	INFO: Undeploying app: /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/arquillian-test-working-dir/0/jmx
-	Apr 15, 2015 12:40:27 PM org.apache.openejb.arquillian.common.TomEEContainer undeploy
-	INFO: cleaning /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/arquillian-test-working-dir/0/jmx.ear
-	Apr 15, 2015 12:40:27 PM org.apache.openejb.arquillian.common.TomEEContainer undeploy
-	INFO: cleaning /Users/jgallimore/tmp/tomee-1.7.x/examples/resources-jmx-example/resources-jmx-ejb/target/arquillian-test-working-dir/0/jmx
-	Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.464 sec
-	Apr 15, 2015 12:40:27 PM org.apache.catalina.core.StandardServer await
-	INFO: A valid shutdown command was received via the shutdown port. Stopping the Server instance.
-	Apr 15, 2015 12:40:27 PM org.apache.coyote.AbstractProtocol pause
-	INFO: Pausing ProtocolHandler ["http-bio-61309"]
-	Apr 15, 2015 12:40:27 PM org.apache.coyote.AbstractProtocol pause
-	INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
-	Apr 15, 2015 12:40:27 PM org.apache.catalina.core.StandardService stopInternal
-	INFO: Stopping service Catalina
-	Apr 15, 2015 12:40:27 PM org.apache.coyote.AbstractProtocol stop
-	INFO: Stopping ProtocolHandler ["http-bio-61309"]
-	Apr 15, 2015 12:40:27 PM org.apache.coyote.AbstractProtocol stop
-	INFO: Stopping ProtocolHandler ["ajp-bio-8009"]
-	Apr 15, 2015 12:40:27 PM org.apache.openejb.server.SimpleServiceManager stop
-	INFO: Stopping server services
-	Apr 15, 2015 12:40:27 PM org.apache.openejb.assembler.classic.Assembler destroyApplication
-	INFO: Undeploying app: openejb
-	Apr 15, 2015 12:40:27 PM org.apache.coyote.AbstractProtocol destroy
-	INFO: Destroying ProtocolHandler ["http-bio-61309"]
-	Apr 15, 2015 12:40:27 PM org.apache.coyote.AbstractProtocol destroy
-	INFO: Destroying ProtocolHandler ["ajp-bio-8009"]
-
-	Results :
-
-	Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-    
-
-Note the following lines showing the creation of the resource.
-
-	Apr 15, 2015 12:40:24 PM org.apache.openejb.config.ConfigurationFactory configureService
-	INFO: Configuring Service(id=jmx/Hello, type=Resource, provider-id=jmx/Hello)
-	
-
-
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/rest-applicationcomposer-mockito.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/rest-applicationcomposer-mockito.adoc b/src/main/jbake/content/examples/rest-applicationcomposer-mockito.adoc
deleted file mode 100755
index 43deb79..0000000
--- a/src/main/jbake/content/examples/rest-applicationcomposer-mockito.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= rest-applicationcomposer-mockito
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example rest-applicationcomposer-mockito can be browsed at https://github.com/apache/tomee/tree/master/examples/rest-applicationcomposer-mockito
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/rest-applicationcomposer.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/rest-applicationcomposer.adoc b/src/main/jbake/content/examples/rest-applicationcomposer.adoc
deleted file mode 100755
index 851aca0..0000000
--- a/src/main/jbake/content/examples/rest-applicationcomposer.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= rest-applicationcomposer
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example rest-applicationcomposer can be browsed at https://github.com/apache/tomee/tree/master/examples/rest-applicationcomposer
-
-No README.md yet, be the first to contribute one!


[15/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/interceptors.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/interceptors.adoc b/src/main/jbake/content/examples/interceptors.adoc
deleted file mode 100755
index d59fc72..0000000
--- a/src/main/jbake/content/examples/interceptors.adoc
+++ /dev/null
@@ -1,888 +0,0 @@
-= Interceptors
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example interceptors can be browsed at https://github.com/apache/tomee/tree/master/examples/interceptors
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  ClassLevelInterceptorOne
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Rev: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public class ClassLevelInterceptorOne {
-
-    @AroundInvoke
-    protected Object businessMethodInterceptor(InvocationContext ic) throws Exception {
-        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
-    }
-}
-----
-
-
-==  ClassLevelInterceptorSuperClassOne
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Rev: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public class ClassLevelInterceptorSuperClassOne {
-
-    @AroundInvoke
-    protected Object businessMethodInterceptor(InvocationContext ic) throws Exception {
-        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
-    }
-}
-----
-
-
-==  ClassLevelInterceptorSuperClassTwo
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Rev: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public class ClassLevelInterceptorSuperClassTwo extends SuperClassOfClassLevelInterceptor {
-
-    @AroundInvoke
-    protected Object businessMethodInterceptor(InvocationContext ic) throws Exception {
-        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
-    }
-}
-----
-
-
-==  ClassLevelInterceptorTwo
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Rev: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public class ClassLevelInterceptorTwo {
-
-    @AroundInvoke
-    protected Object businessMethodInterceptor(InvocationContext ic) throws Exception {
-        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
-    }
-}
-----
-
-
-==  DefaultInterceptorOne
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.annotation.PostConstruct;
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Rev: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public class DefaultInterceptorOne {
-
-    @AroundInvoke
-    protected Object businessMethodInterceptor(InvocationContext ic) throws Exception {
-        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
-    }
-
-    @PostConstruct
-    protected void postConstructInterceptor(InvocationContext ic) throws Exception {
-        Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
-    }
-}
-----
-
-
-==  DefaultInterceptorTwo
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Rev: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public class DefaultInterceptorTwo {
-
-    @AroundInvoke
-    protected Object businessMethodInterceptor(InvocationContext ic) throws Exception {
-        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
-    }
-}
-----
-
-
-==  FullyIntercepted
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import java.util.List;
-
-/**
- * @version $Rev: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public interface FullyIntercepted {
-
-    List<String> businessMethod();
-
-    List<String> methodWithDefaultInterceptorsExcluded();
-}
-----
-
-
-==  FullyInterceptedBean
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.ejb.Local;
-import javax.ejb.Stateless;
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.Interceptors;
-import javax.interceptor.InvocationContext;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @version $Rev: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-@Stateless
-@Local
-@Interceptors({ClassLevelInterceptorOne.class, ClassLevelInterceptorTwo.class})
-public class FullyInterceptedBean extends FullyInterceptedSuperClass implements FullyIntercepted {
-
-    @Interceptors({MethodLevelInterceptorOne.class, MethodLevelInterceptorTwo.class})
-    public List<String> businessMethod() {
-        List<String> list = new ArrayList<String>();
-        list.add("businessMethod");
-        return list;
-    }
-
-    @Interceptors({MethodLevelInterceptorOne.class, MethodLevelInterceptorTwo.class})
-    public List<String> methodWithDefaultInterceptorsExcluded() {
-        List<String> list = new ArrayList<String>();
-        list.add("methodWithDefaultInterceptorsExcluded");
-        return list;
-    }
-
-    @AroundInvoke
-    protected Object beanClassBusinessMethodInterceptor(InvocationContext ic) throws Exception {
-        return Utils.addClassSimpleName(ic, "beanClassBusinessMethodInterceptor");
-    }
-}
-----
-
-
-==  FullyInterceptedSuperClass
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.interceptor.Interceptors;
-
-/**
- * @version $Rev: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-@Interceptors({ClassLevelInterceptorSuperClassOne.class, ClassLevelInterceptorSuperClassTwo.class})
-public class FullyInterceptedSuperClass {
-}
-----
-
-
-==  MethodLevelInterceptorOne
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Rev: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public class MethodLevelInterceptorOne {
-
-    @AroundInvoke
-    protected Object businessMethodInterceptor(InvocationContext ic) throws Exception {
-        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
-    }
-}
-----
-
-
-==  MethodLevelInterceptorOnlyIntf
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import java.io.Serializable;
-import java.util.List;
-
-public interface MethodLevelInterceptorOnlyIntf<T extends Serializable> {
-    public List<T> makePersistent(T entity);
-}
-----
-
-
-==  MethodLevelInterceptorOnlyParent
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import java.util.List;
-
-public interface MethodLevelInterceptorOnlyParent extends MethodLevelInterceptorOnlyIntf<String> {
-
-    public List<String> makePersistent(String entity);
-}
-----
-
-
-==  MethodLevelInterceptorOnlySLSBean
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.ejb.Local;
-import javax.ejb.Stateless;
-import javax.interceptor.Interceptors;
-import java.util.ArrayList;
-import java.util.List;
-
-@Local(MethodLevelInterceptorOnlyParent.class)
-@Stateless
-public class MethodLevelInterceptorOnlySLSBean implements MethodLevelInterceptorOnlyParent {
-
-    @Interceptors(MethodLevelInterceptorOne.class)
-    public List<String> makePersistent(String entity) {
-        List<String> list = new ArrayList<String>();
-        list.add("makePersistent");
-        return list;
-    }
-}
-----
-
-
-==  MethodLevelInterceptorTwo
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Rev: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public class MethodLevelInterceptorTwo {
-
-    @AroundInvoke
-    protected Object businessMethodInterceptor(InvocationContext ic) throws Exception {
-        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
-    }
-}
-----
-
-
-==  SecondStatelessInterceptedBean
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.ejb.Stateless;
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.Interceptors;
-import javax.interceptor.InvocationContext;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @version $Rev: 808273 $ $Date: 2009-08-26 20:42:06 -0700 (Wed, 26 Aug 2009) $
- */
-@Stateless
-@Interceptors({ClassLevelInterceptorOne.class, ClassLevelInterceptorTwo.class})
-public class SecondStatelessInterceptedBean implements SecondStatelessInterceptedLocal {
-
-    @Interceptors({MethodLevelInterceptorOne.class, MethodLevelInterceptorTwo.class})
-    public List<String> methodWithDefaultInterceptorsExcluded() {
-        List<String> list = new ArrayList<String>();
-        list.add("methodWithDefaultInterceptorsExcluded");
-        return list;
-    }
-
-    @AroundInvoke
-    protected Object beanClassBusinessMethodInterceptor(InvocationContext ic) throws Exception {
-        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
-    }
-}
-----
-
-
-==  SecondStatelessInterceptedLocal
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import java.util.List;
-
-/**
- * @version $Rev: 808273 $ $Date: 2009-08-26 20:42:06 -0700 (Wed, 26 Aug 2009) $
- */
-public interface SecondStatelessInterceptedLocal {
-    List<String> methodWithDefaultInterceptorsExcluded();
-}
-----
-
-
-==  SuperClassOfClassLevelInterceptor
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.annotation.PostConstruct;
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Rev: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public class SuperClassOfClassLevelInterceptor {
-
-    @AroundInvoke
-    protected Object businessMethodInterceptor(InvocationContext ic) throws Exception {
-        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
-    }
-
-    @PostConstruct
-    protected void postConstructInterceptor(InvocationContext ic) throws Exception {
-        Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
-    }
-}
-----
-
-
-==  ThirdSLSBean
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.ejb.Stateless;
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.ExcludeClassInterceptors;
-import javax.interceptor.ExcludeDefaultInterceptors;
-import javax.interceptor.Interceptors;
-import javax.interceptor.InvocationContext;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @version $Rev: 1090810 $ $Date: 2011-04-10 07:49:26 -0700 (Sun, 10 Apr 2011) $
- */
-@Stateless
-@Interceptors({ClassLevelInterceptorOne.class, ClassLevelInterceptorTwo.class})
-@ExcludeDefaultInterceptors
-public class ThirdSLSBean implements ThirdSLSBeanLocal {
-
-    @Interceptors({MethodLevelInterceptorOne.class, MethodLevelInterceptorTwo.class})
-    public List<String> businessMethod() {
-        List<String> list = new ArrayList<String>();
-        list.add("businessMethod");
-        return list;
-    }
-
-    @Interceptors({MethodLevelInterceptorOne.class, MethodLevelInterceptorTwo.class})
-    @ExcludeClassInterceptors
-    public List<String> anotherBusinessMethod() {
-        List<String> list = new ArrayList<String>();
-        list.add("anotherBusinessMethod");
-        return list;
-    }
-
-
-    @AroundInvoke
-    protected Object beanClassBusinessMethodInterceptor(InvocationContext ic) throws Exception {
-        return Utils.addClassSimpleName(ic, this.getClass().getSimpleName());
-    }
-}
-----
-
-
-==  ThirdSLSBeanLocal
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import java.util.List;
-
-/**
- * @version $Rev: 607320 $ $Date: 2007-12-28 12:15:06 -0800 (Fri, 28 Dec 2007) $
- */
-public interface ThirdSLSBeanLocal {
-    List<String> businessMethod();
-
-    List<String> anotherBusinessMethod();
-}
-----
-
-
-==  Utils
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import javax.interceptor.InvocationContext;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @version $Rev: 808273 $ $Date: 2009-08-26 20:42:06 -0700 (Wed, 26 Aug 2009) $
- */
-public class Utils {
-
-    public static List<String> addClassSimpleName(InvocationContext ic, String classSimpleName) throws Exception {
-        List<String> list = new ArrayList<String>();
-        list.add(classSimpleName);
-        List<String> listOfStrings = (List<String>) ic.proceed();
-        if (listOfStrings != null) {
-            list.addAll(listOfStrings);
-        }
-        return list;
-    }
-}
-----
-
-
-==  ejb-jar.xml
-
-
-[source,xml]
-----
-<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-         version="3.0">
-  <interceptors>
-    <interceptor>
-      <interceptor-class>org.superbiz.interceptors.DefaultInterceptorOne</interceptor-class>
-    </interceptor>
-    <interceptor>
-      <interceptor-class>org.superbiz.interceptors.DefaultInterceptorTwo</interceptor-class>
-    </interceptor>
-  </interceptors>
-  <assembly-descriptor>
-    <interceptor-binding>
-      <ejb-name>*</ejb-name>
-      <interceptor-class>org.superbiz.interceptors.DefaultInterceptorOne</interceptor-class>
-    </interceptor-binding>
-    <interceptor-binding>
-      <ejb-name>*</ejb-name>
-      <interceptor-class>org.superbiz.interceptors.DefaultInterceptorTwo</interceptor-class>
-    </interceptor-binding>
-    <interceptor-binding>
-      <ejb-name>FullyInterceptedBean</ejb-name>
-      <exclude-default-interceptors>true</exclude-default-interceptors>
-      <method>
-        <method-name>methodWithDefaultInterceptorsExcluded</method-name>
-      </method>
-    </interceptor-binding>
-    <interceptor-binding>
-      <ejb-name>SecondStatelessInterceptedBean</ejb-name>
-      <exclude-default-interceptors>true</exclude-default-interceptors>
-    </interceptor-binding>
-    <interceptor-binding>
-      <ejb-name>MethodLevelInterceptorOnlySLSBean</ejb-name>
-      <exclude-default-interceptors>true</exclude-default-interceptors>
-    </interceptor-binding>
-  </assembly-descriptor>
-</ejb-jar>
-----
-
-
-==  FullyInterceptedTest
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import junit.framework.TestCase;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-/**
- * @version $Rev: 1090810 $ $Date: 2011-04-10 07:49:26 -0700 (Sun, 10 Apr 2011) $
- */
-public class FullyInterceptedTest extends TestCase {
-
-    private InitialContext initCtx;
-
-    @Before
-    public void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        properties.setProperty("openejb.deployments.classpath.include", ".*interceptors/target/classes.*");
-
-        initCtx = new InitialContext(properties);
-    }
-
-    @Test
-    public void testBusinessMethod() throws Exception {
-
-        FullyIntercepted fullyIntercepted = (FullyIntercepted) initCtx.lookup("FullyInterceptedBeanLocal");
-
-        assert fullyIntercepted != null;
-
-        List<String> expected = new ArrayList<String>();
-        expected.add("DefaultInterceptorOne");
-        expected.add("DefaultInterceptorTwo");
-        expected.add("ClassLevelInterceptorSuperClassOne");
-        expected.add("ClassLevelInterceptorSuperClassTwo");
-        expected.add("ClassLevelInterceptorOne");
-        expected.add("ClassLevelInterceptorTwo");
-        expected.add("MethodLevelInterceptorOne");
-        expected.add("MethodLevelInterceptorTwo");
-        expected.add("beanClassBusinessMethodInterceptor");
-        expected.add("businessMethod");
-
-        List<String> actual = fullyIntercepted.businessMethod();
-        assert expected.equals(actual) : "Expected " + expected + ", but got " + actual;
-    }
-
-    @Test
-    public void testMethodWithDefaultInterceptorsExcluded() throws Exception {
-
-        FullyIntercepted fullyIntercepted = (FullyIntercepted) initCtx.lookup("FullyInterceptedBeanLocal");
-
-        assert fullyIntercepted != null;
-
-        List<String> expected = new ArrayList<String>();
-        expected.add("ClassLevelInterceptorSuperClassOne");
-        expected.add("ClassLevelInterceptorSuperClassTwo");
-        expected.add("ClassLevelInterceptorOne");
-        expected.add("ClassLevelInterceptorTwo");
-        expected.add("MethodLevelInterceptorOne");
-        expected.add("MethodLevelInterceptorTwo");
-        expected.add("beanClassBusinessMethodInterceptor");
-        expected.add("methodWithDefaultInterceptorsExcluded");
-
-        List<String> actual = fullyIntercepted.methodWithDefaultInterceptorsExcluded();
-        assert expected.equals(actual) : "Expected " + expected + ", but got " + actual;
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        initCtx.close();
-    }
-}
-----
-
-
-==  MethodLevelInterceptorOnlyTest
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import junit.framework.TestCase;
-import org.junit.Before;
-import org.junit.Test;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-/**
- * @version $Rev: 895825 $ $Date: 2010-01-04 15:35:22 -0800 (Mon, 04 Jan 2010) $
- */
-public class MethodLevelInterceptorOnlyTest extends TestCase {
-    private InitialContext initCtx;
-
-    @Before
-    public void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        properties.setProperty("openejb.deployments.classpath.include", ".*interceptors/target/classes.*");
-
-        initCtx = new InitialContext(properties);
-    }
-
-    @Test
-    public void testInterceptedGenerifiedBusinessIntfMethod() throws Exception {
-        MethodLevelInterceptorOnlyParent bean = (MethodLevelInterceptorOnlyParent) initCtx.lookup("MethodLevelInterceptorOnlySLSBeanLocal");
-
-        assert bean != null;
-
-        List<String> expected = new ArrayList<String>();
-        expected.add("MethodLevelInterceptorOne");
-        expected.add("makePersistent");
-
-        List<String> actual = bean.makePersistent(null);
-        assert expected.equals(actual) : "Expected " + expected + ", but got " + actual;
-    }
-}
-----
-
-
-==  SecondStatelessInterceptedTest
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import junit.framework.TestCase;
-import org.junit.Before;
-import org.junit.Test;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-/**
- * @version $Rev: 1090810 $ $Date: 2011-04-10 07:49:26 -0700 (Sun, 10 Apr 2011) $
- */
-public class SecondStatelessInterceptedTest extends TestCase {
-
-    private InitialContext initCtx;
-
-    @Before
-    public void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        properties.setProperty("openejb.deployments.classpath.include", ".*interceptors/target/classes.*");
-
-        initCtx = new InitialContext(properties);
-    }
-
-    @Test
-    public void testMethodWithDefaultInterceptorsExcluded() throws Exception {
-        SecondStatelessInterceptedLocal bean =
-                (SecondStatelessInterceptedLocal) initCtx.lookup("SecondStatelessInterceptedBeanLocal");
-
-        assert bean != null;
-
-        List<String> expected = new ArrayList<String>();
-        expected.add("ClassLevelInterceptorOne");
-        expected.add("ClassLevelInterceptorTwo");
-        expected.add("MethodLevelInterceptorOne");
-        expected.add("MethodLevelInterceptorTwo");
-        expected.add("SecondStatelessInterceptedBean");
-        expected.add("methodWithDefaultInterceptorsExcluded");
-
-        List<String> actual = bean.methodWithDefaultInterceptorsExcluded();
-        assert expected.equals(actual) : "Expected " + expected + ", but got " + actual;
-    }
-}
-----
-
-
-==  ThirdSLSBeanTest
-
-
-[source,java]
-----
-package org.superbiz.interceptors;
-
-import junit.framework.TestCase;
-import org.junit.Before;
-import org.junit.Test;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-/**
- * @version $Rev: 1090810 $ $Date: 2011-04-10 07:49:26 -0700 (Sun, 10 Apr 2011) $
- */
-public class ThirdSLSBeanTest extends TestCase {
-    private InitialContext initCtx;
-
-    @Before
-    public void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        properties.setProperty("openejb.deployments.classpath.include", ".*interceptors/target/classes.*");
-
-        initCtx = new InitialContext(properties);
-    }
-
-    @Test
-    public void testMethodWithDefaultInterceptorsExcluded() throws Exception {
-        ThirdSLSBeanLocal bean = (ThirdSLSBeanLocal) initCtx.lookup("ThirdSLSBeanLocal");
-
-        assert bean != null;
-
-        List<String> expected = new ArrayList<String>();
-        expected.add("ClassLevelInterceptorOne");
-        expected.add("ClassLevelInterceptorTwo");
-        expected.add("MethodLevelInterceptorOne");
-        expected.add("MethodLevelInterceptorTwo");
-        expected.add("ThirdSLSBean");
-        expected.add("businessMethod");
-
-        List<String> actual = bean.businessMethod();
-        assert expected.equals(actual) : "Expected " + expected + ", but got " + actual;
-    }
-
-    @Test
-    public void testMethodWithDefaultAndClassInterceptorsExcluded() throws Exception {
-        ThirdSLSBeanLocal bean = (ThirdSLSBeanLocal) initCtx.lookup("ThirdSLSBeanLocal");
-
-        assert bean != null;
-
-        List<String> expected = new ArrayList<String>();
-        expected.add("MethodLevelInterceptorOne");
-        expected.add("MethodLevelInterceptorTwo");
-        expected.add("ThirdSLSBean");
-        expected.add("anotherBusinessMethod");
-
-        List<String> actual = bean.anotherBusinessMethod();
-        assert expected.equals(actual) : "Expected " + expected + ", but got " + actual;
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.interceptors.FullyInterceptedTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/interceptors
-INFO - openejb.base = /Users/dblevins/examples/interceptors
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Using 'openejb.deployments.classpath.include=.*interceptors/target/classes.*'
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/interceptors/target/classes
-INFO - Beginning load: /Users/dblevins/examples/interceptors/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/interceptors/classpath.ear
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean FullyInterceptedBean: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Enterprise application "/Users/dblevins/examples/interceptors/classpath.ear" loaded.
-INFO - Assembling app: /Users/dblevins/examples/interceptors/classpath.ear
-INFO - Jndi(name=FullyInterceptedBeanLocal) --> Ejb(deployment-id=FullyInterceptedBean)
-INFO - Jndi(name=global/classpath.ear/interceptors/FullyInterceptedBean!org.superbiz.interceptors.FullyIntercepted) --> Ejb(deployment-id=FullyInterceptedBean)
-INFO - Jndi(name=global/classpath.ear/interceptors/FullyInterceptedBean) --> Ejb(deployment-id=FullyInterceptedBean)
-INFO - Jndi(name=ThirdSLSBeanLocal) --> Ejb(deployment-id=ThirdSLSBean)
-INFO - Jndi(name=global/classpath.ear/interceptors/ThirdSLSBean!org.superbiz.interceptors.ThirdSLSBeanLocal) --> Ejb(deployment-id=ThirdSLSBean)
-INFO - Jndi(name=global/classpath.ear/interceptors/ThirdSLSBean) --> Ejb(deployment-id=ThirdSLSBean)
-INFO - Jndi(name=SecondStatelessInterceptedBeanLocal) --> Ejb(deployment-id=SecondStatelessInterceptedBean)
-INFO - Jndi(name=global/classpath.ear/interceptors/SecondStatelessInterceptedBean!org.superbiz.interceptors.SecondStatelessInterceptedLocal) --> Ejb(deployment-id=SecondStatelessInterceptedBean)
-INFO - Jndi(name=global/classpath.ear/interceptors/SecondStatelessInterceptedBean) --> Ejb(deployment-id=SecondStatelessInterceptedBean)
-INFO - Jndi(name=MethodLevelInterceptorOnlySLSBeanLocal) --> Ejb(deployment-id=MethodLevelInterceptorOnlySLSBean)
-INFO - Jndi(name=global/classpath.ear/interceptors/MethodLevelInterceptorOnlySLSBean!org.superbiz.interceptors.MethodLevelInterceptorOnlyParent) --> Ejb(deployment-id=MethodLevelInterceptorOnlySLSBean)
-INFO - Jndi(name=global/classpath.ear/interceptors/MethodLevelInterceptorOnlySLSBean) --> Ejb(deployment-id=MethodLevelInterceptorOnlySLSBean)
-INFO - Created Ejb(deployment-id=ThirdSLSBean, ejb-name=ThirdSLSBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=SecondStatelessInterceptedBean, ejb-name=SecondStatelessInterceptedBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=FullyInterceptedBean, ejb-name=FullyInterceptedBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=MethodLevelInterceptorOnlySLSBean, ejb-name=MethodLevelInterceptorOnlySLSBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=ThirdSLSBean, ejb-name=ThirdSLSBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=SecondStatelessInterceptedBean, ejb-name=SecondStatelessInterceptedBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=FullyInterceptedBean, ejb-name=FullyInterceptedBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=MethodLevelInterceptorOnlySLSBean, ejb-name=MethodLevelInterceptorOnlySLSBean, container=Default Stateless Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/interceptors/classpath.ear)
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.564 sec
-Running org.superbiz.interceptors.MethodLevelInterceptorOnlyTest
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec
-Running org.superbiz.interceptors.SecondStatelessInterceptedTest
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec
-Running org.superbiz.interceptors.ThirdSLSBeanTest
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec
-
-Results :
-
-Tests run: 6, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/javamail.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/javamail.adoc b/src/main/jbake/content/examples/javamail.adoc
deleted file mode 100755
index 77141dd..0000000
--- a/src/main/jbake/content/examples/javamail.adoc
+++ /dev/null
@@ -1,201 +0,0 @@
-= Javamail API
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example javamail can be browsed at https://github.com/apache/tomee/tree/master/examples/javamail
-
-
-This is just a simple example to demonstrate a very basic usage of the API. It should be enough to get you started using the java mail packages.
-
-= The Code
-
-==  A simple REST service using the Javamail API
-
-Here we see a very simple RESTful endpoint that can be called with a message to send by Email. It would not be hard to modify the application to provide
-more useful configuration options. As is, this will not send anything, but if you change the parameters to match your mail server then you'll see the message being sent.
-You can find much more detailed information on the link:https://java.net/projects/javamail/pages/Home#Samples[Javamail API here]
-
-
-[source,java]
-----
-package org.superbiz.rest;
-
-import javax.mail.Authenticator;
-import javax.mail.Message;
-import javax.mail.MessagingException;
-import javax.mail.PasswordAuthentication;
-import javax.mail.Session;
-import javax.mail.Transport;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeMessage;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import java.util.Date;
-import java.util.Properties;
-
-@Path("/email")
-public class EmailService {
-
-    @POST
-    public String lowerCase(final String message) {
-
-        try {
-
-            //Create some properties and get the default Session
-            final Properties props = new Properties();
-            props.put("mail.smtp.host", "your.mailserver.host");
-            props.put("mail.debug", "true");
-
-            final Session session = Session.getInstance(props, new Authenticator() {
-                @Override
-                protected PasswordAuthentication getPasswordAuthentication() {
-                    return new PasswordAuthentication("MyUsername", "MyPassword");
-                }
-            });
-
-            //Set this just to see some internal logging
-            session.setDebug(true);
-
-            //Create a message
-            final MimeMessage msg = new MimeMessage(session);
-            msg.setFrom(new InternetAddress("your@email.address"));
-            final InternetAddress[] address = {new InternetAddress("general@tomitribe.com")};
-            msg.setRecipients(Message.RecipientType.TO, address);
-            msg.setSubject("JavaMail API test");
-            msg.setSentDate(new Date());
-            msg.setText(message, "UTF-8");
-
-
-            Transport.send(msg);
-        } catch (MessagingException e) {
-            return "Failed to send message: " + e.getMessage();
-        }
-
-        return "Sent";
-    }
-}
-----
-
-
-=  Testing
-
-==  Test for the JAXRS service
-
-The test uses the OpenEJB ApplicationComposer to make it trivial.
-
-The idea is first to activate the jaxrs services. This is done using @EnableServices annotation.
-
-Then we create on the fly the application simply returning an object representing the web.xml. Here we simply
-use it to define the context root but you can use it to define your REST Application too. And to complete the
-application definition we add @Classes annotation to define the set of classes to use in this app.
-
-Finally to test it we use cxf client API to call the REST service post() method.
-
-
-[source,java]
-----
-package org.superbiz.rest;
-
-import org.apache.cxf.jaxrs.client.WebClient;
-import org.apache.openejb.jee.WebApp;
-import org.apache.openejb.junit.ApplicationComposer;
-import org.apache.openejb.testing.Classes;
-import org.apache.openejb.testing.EnableServices;
-import org.apache.openejb.testing.Module;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.io.IOException;
-
-import static org.junit.Assert.assertEquals;
-
-@EnableServices(value = "jaxrs")
-@RunWith(ApplicationComposer.class)
-public class EmailServiceTest {
-
-    @Module
-    @Classes(EmailService.class)
-    public WebApp app() {
-        return new WebApp().contextRoot("test");
-    }
-
-    @Test
-    public void post() throws IOException {
-        final String message = WebClient.create("http://localhost:4204").path("/test/email/").post("Hello Tomitribe", String.class);
-        assertEquals("Failed to send message: Unknown SMTP host: your.mailserver.host", message);
-    }
-}
-----
-
-
-= Running
-
-Running the example is fairly simple. In the "javamail-api" directory run:
-
-    $ mvn clean install
-
-Which should create output like the following.
-
-    INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-    INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-    INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-    INFO - Creating TransactionManager(id=Default Transaction Manager)
-    INFO - Creating SecurityService(id=Default Security Service)
-    INFO - Initializing network services
-    INFO - Creating ServerService(id=cxf-rs)
-    INFO - Creating ServerService(id=httpejbd)
-    INFO - Created ServicePool 'httpejbd' with (10) core threads, limited to (200) threads with a queue of (9)
-    INFO - Initializing network services
-    INFO -   ** Bound Services **
-    INFO -   NAME                 IP              PORT
-    INFO -   httpejbd             127.0.0.1       4204
-    INFO - -------
-    INFO - Ready!
-    INFO - Configuring enterprise application: D:\github\tomee\examples\javamail\EmailServiceTest
-    INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-    INFO - Auto-creating a container for bean org.superbiz.rest.EmailServiceTest: Container(type=MANAGED, id=Default Managed Container)
-    INFO - Creating Container(id=Default Managed Container)
-    INFO - Using directory D:\windows\tmp for stateful session passivation
-    INFO - Configuring Service(id=comp/DefaultManagedExecutorService, type=Resource, provider-id=Default Executor Service)
-    INFO - Auto-creating a Resource with id 'comp/DefaultManagedExecutorService' of type 'javax.enterprise.concurrent.ManagedExecutorService for 'test'.
-    INFO - Configuring Service(id=comp/DefaultManagedScheduledExecutorService, type=Resource, provider-id=Default Scheduled Executor Service)
-    INFO - Auto-creating a Resource with id 'comp/DefaultManagedScheduledExecutorService' of type 'javax.enterprise.concurrent.ManagedScheduledExecutorService for 'test'.
-    INFO - Configuring Service(id=comp/DefaultManagedThreadFactory, type=Resource, provider-id=Default Managed Thread Factory)
-    INFO - Auto-creating a Resource with id 'comp/DefaultManagedThreadFactory' of type 'javax.enterprise.concurrent.ManagedThreadFactory for 'test'.
-    INFO - Enterprise application "D:\github\tomee\examples\javamail\EmailServiceTest" loaded.
-    INFO - Creating dedicated application classloader for EmailServiceTest
-    INFO - Assembling app: D:\github\tomee\examples\javamail\EmailServiceTest
-    INFO - Using providers:
-    INFO -      org.apache.johnzon.jaxrs.JohnzonProvider@2687f956
-    INFO -      org.apache.cxf.jaxrs.provider.JAXBElementProvider@1ded7b14
-    INFO -      org.apache.johnzon.jaxrs.JsrProvider@29be7749
-    INFO -      org.apache.johnzon.jaxrs.WadlDocumentMessageBodyWriter@5f84abe8
-    INFO -      org.apache.openejb.server.cxf.rs.EJBAccessExceptionMapper@4650a407
-    INFO -      org.apache.cxf.jaxrs.validation.ValidationExceptionMapper@30135202
-    INFO - REST Application: http://127.0.0.1:4204/test/       -> org.apache.openejb.server.rest.InternalApplication
-    INFO -      Service URI: http://127.0.0.1:4204/test/email  -> Pojo org.superbiz.rest.EmailService
-    INFO -              POST http://127.0.0.1:4204/test/email/ ->      String lowerCase(String)
-    INFO - Deployed Application(path=D:\github\tomee\examples\javamail\EmailServiceTest)
-    DEBUG: JavaMail version 1.4ea
-    DEBUG: java.io.FileNotFoundException: D:\java\jdk8\jre\lib\javamail.providers (The system cannot find the file specified)
-    DEBUG: !anyLoaded
-    DEBUG: not loading resource: /META-INF/javamail.providers
-    DEBUG: successfully loaded resource: /META-INF/javamail.default.providers
-    DEBUG: Tables of loaded providers
-    DEBUG: Providers Listed By Class Name: {com.sun.mail.smtp.SMTPSSLTransport=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], com.sun.mail.smtp.SMTPTransport=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc], com.sun.mail.imap.IMAPSSLStore=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3SSLStore=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], com.sun.mail.imap.IMAPStore=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], com.sun.mail.pop3.POP3Store=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]}
-    DEBUG: Providers Listed By Protocol: {imaps=javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Sun Microsystems, Inc], imap=javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc], smtps=javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Sun Microsystems, Inc], pop3=javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc], pop3s=javax.mail.Provider[STORE,pop3s,com.sun.mail.pop3.POP3SSLStore,Sun Microsystems, Inc], smtp=javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]}
-    DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map
-    DEBUG: !anyLoaded
-    DEBUG: not loading resource: /META-INF/javamail.address.map
-    DEBUG: java.io.FileNotFoundException: D:\java\jdk8\jre\lib\javamail.address.map (The system cannot find the file specified)
-    DEBUG: setDebug: JavaMail version 1.4ea
-    DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
-    DEBUG SMTP: useEhlo true, useAuth false
-    DEBUG SMTP: trying to connect to host "your.mailserver.host", port 25, isSSL false
-    INFO - Undeploying app: D:\github\tomee\examples\javamail\EmailServiceTest
-    INFO - Stopping network services
-    INFO - Stopping server services
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/jpa-eclipselink.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/jpa-eclipselink.adoc b/src/main/jbake/content/examples/jpa-eclipselink.adoc
deleted file mode 100755
index 21f9321..0000000
--- a/src/main/jbake/content/examples/jpa-eclipselink.adoc
+++ /dev/null
@@ -1,239 +0,0 @@
-= JPA Eclipselink
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example jpa-eclipselink can be browsed at https://github.com/apache/tomee/tree/master/examples/jpa-eclipselink
-
-
-This example shows how to configure `persistence.xml` to work with Eclipselink. It uses an `@Entity` class and a `@Stateful` bean to add and delete entities from a database.
-
-==  Creating the JPA Entity
-
-The entity itself is simply a pojo annotated with `@Entity`.  We create one pojo called `Movie` which we can use to hold movie records.
-
-
-[source,java]
-----
-package org.superbiz.eclipselink;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-
-@Entity
-public class Movie {
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.AUTO)
-    private long id;
-
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-}
-----
-
-
-==  Database Operations
-
-This is the bean responsible for database operations; it allows us to persist or delete entities.
-For more information we recommend you to see link:http://tomee.apache.org/examples-trunk/injection-of-entitymanager/README.html[injection-of-entitymanager]
-
-
-
-[source,java]
-----
-package org.superbiz.eclipselink;
-
-import javax.ejb.Stateful;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-@Stateful
-public class Movies {
-
-    @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED)
-    private EntityManager entityManager;
-
-    public void addMovie(Movie movie) throws Exception {
-        entityManager.persist(movie);
-    }
-
-    public void deleteMovie(Movie movie) throws Exception {
-        entityManager.remove(movie);
-    }
-
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-}
-----
-
-
-==  Persistence.xml with EclipseLink configuration
-
-This operation is too easy, just set the `provider` to `org.eclipse.persistence.jpa.PersistenceProvider` and add additional properties to the persistence unit. 
-The example has followed a strategy that allows the creation of tables in a HSQL database.
-For a complete list of persistence unit properties see link:http://www.eclipse.org/eclipselink/api/2.4/org/eclipse/persistence/config/PersistenceUnitProperties.html[here]
-
-
-[source,xml]
-----
-<persistence version="1.0"
-             xmlns="http://java.sun.com/xml/ns/persistence"
-             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
-  <persistence-unit name="movie-unit">
-    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <properties>
-      <property name="eclipselink.target-database" value="org.eclipse.persistence.platform.database.HSQLPlatform"/>
-      <property name="eclipselink.ddl-generation" value="create-tables"/>
-      <property name="eclipselink.ddl-generation.output-mode" value="database"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-    
-
-==  MoviesTest
-
-Testing JPA is quite easy, we can simply use the `EJBContainer` API to create a container in our test case.
-
-
-[source,java]
-----
-package org.superbiz.eclipselink;
-
-import junit.framework.TestCase;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import java.util.List;
-import java.util.Properties;
-
-/**
- * @version $Revision: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public class MoviesTest extends TestCase {
-
-    public void test() throws Exception {
-        Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        final Context context = EJBContainer.createEJBContainer(p).getContext();
-
-        Movies movies = (Movies) context.lookup("java:global/jpa-eclipselink/Movies");
-
-        movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-        movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-        movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 3, list.size());
-
-        for (Movie movie : list) {
-            movies.deleteMovie(movie);
-        }
-
-        assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-    }
-}
-----
-
-
-=  Running
-
-When we run our test case we should see output similar to the following.    
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.eclipselink.MoviesTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/jpa-eclipselink
-INFO - openejb.base = /Users/dblevins/examples/jpa-eclipselink
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/jpa-eclipselink/target/classes
-INFO - Beginning load: /Users/dblevins/examples/jpa-eclipselink/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/jpa-eclipselink
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.eclipselink.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit, provider=org.eclipse.persistence.jpa.PersistenceProvider)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/jpa-eclipselink" loaded.
-INFO - Assembling app: /Users/dblevins/examples/jpa-eclipselink
-INFO - PersistenceUnit(name=movie-unit, provider=org.eclipse.persistence.jpa.PersistenceProvider) - provider time 511ms
-INFO - Jndi(name="java:global/jpa-eclipselink/Movies!org.superbiz.eclipselink.Movies")
-INFO - Jndi(name="java:global/jpa-eclipselink/Movies")
-INFO - Jndi(name="java:global/EjbModule225280863/org.superbiz.eclipselink.MoviesTest!org.superbiz.eclipselink.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule225280863/org.superbiz.eclipselink.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=org.superbiz.eclipselink.MoviesTest, ejb-name=org.superbiz.eclipselink.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=org.superbiz.eclipselink.MoviesTest, ejb-name=org.superbiz.eclipselink.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/jpa-eclipselink)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.188 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/jpa-enumerated.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/jpa-enumerated.adoc b/src/main/jbake/content/examples/jpa-enumerated.adoc
deleted file mode 100755
index 38ec6ec..0000000
--- a/src/main/jbake/content/examples/jpa-enumerated.adoc
+++ /dev/null
@@ -1,295 +0,0 @@
-= JPA and Enums via @Enumerated
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example jpa-enumerated can be browsed at https://github.com/apache/tomee/tree/master/examples/jpa-enumerated
-
-
-It can sometimes be desirable to have a Java `enum` type to represent a particular column in a database. JPA supports converting database data to and from Java `enum` types via the `@javax.persistence.Enumerated` annotation.
-
-This example will show basic `@Enumerated` usage in a field of an `@Entity` as well as `enum`s as the parameter of a `Query`.  We'll also see that the actual database representation can be effectively `String` or `int`.
-
-==  Enum
-
-For our example we will leverage the familiar `Movie` entity and add a new field to represent the MPAA.org rating of the movie.  This is defined via a simple `enum` that requires no JPA specific annotations.
-
-
-[source,java]
-----
-public enum Rating {
-    UNRATED,
-    G,
-    PG,
-    PG13,
-    R,
-    NC17
-}
-----
-
-
-==  @Enumerated
-
-In our `Movie` entity, we add a `rating` field of the enum type `Rating` and annotate it with `@Enumerated(EnumType.STRING)` to declare that its value should be converted from what is effectively a `String` in the database to the `Rating` type.
-
-
-[source,java]
-----
-@Entity
-public class Movie {
-
-    @Id
-    @GeneratedValue
-    private int id;
-    private String director;
-    private String title;
-    private int year;
-
-    @Enumerated(EnumType.STRING)
-    private Rating rating;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year, Rating rating) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-        this.rating = rating;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-    public Rating getRating() {
-        return rating;
-    }
-
-    public void setRating(Rating rating) {
-        this.rating = rating;
-    }
-}
-----
-
-
-The above is enough and we are effectively done.  For the sake of completeness we'll show a sample `Query`
-
-==  Enum in JPQL Query
-
-Note the `findByRating` method which creates a `Query` with a `rating` named parameter.  The key thing to notice is that the `rating` enum instance itself is passed into the
- `query.setParameter` method, **not** `rating.name()` or `rating.ordinal()`.
-
-Regardless if you use `EnumType.STRING` or `EnumType.ORDINAL`, you still always pass the enum itself in calls to `query.setParameter`.
-
-
-[source,java]
-----
-@Stateful
-public class Movies {
-
-    @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED)
-    private EntityManager entityManager;
-
-    public void addMovie(Movie movie) {
-        entityManager.persist(movie);
-    }
-
-    public void deleteMovie(Movie movie) {
-        entityManager.remove(movie);
-    }
-
-    public List<Movie> findByRating(Rating rating) {
-        final Query query = entityManager.createQuery("SELECT m FROM Movie as m WHERE m.rating = :rating");
-        query.setParameter("rating", rating);
-        return query.getResultList();
-    }
-
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-
-}
-----
-
-
-==  EnumType.STRING vs EnumType.ORDINAL
-
-It is a matter of style how you would like your `enum` data represented in the database.  Either `name()` or `ordinal()` are supported:
-
- - `@Enumerated(EnumType.STRING) Rating rating` the value of `rating.name()` is written and read from the corresponding database column; e.g. `G`, `PG`, `PG13`
- - `@Enumerated(EnumType.ORDINAL) Rating rating` the value of `rating.ordinal()` is written and read from the corresponding database column; e.g. `0`, `1`, `2`
-
-The default is `EnumType.ORDINAL`
-
-There are advantages and disadvantages to each.
-
-===  Disadvantage of EnumType.ORDINAL
-
-A disadvantage of `EnumType.ORDINAL` is the effect of time and the desire to keep `enums` in a logical order.  With `EnumType.ORDINAL` any new enum elements must be added to the
-**end** of the list or you will accidentally change the meaning of all your records.
-
-Let's use our `Rating` enum and see how it would have had to evolve over time to keep up with changes in the MPAA.org ratings system.
-
-**1980**
-
-
-[source,java]
-----
-public enum Rating {
-    G,
-    PG,
-    R,
-    UNRATED
-}
-----
-
-
-**1984** PG-13 is added
-
-
-[source,java]
-----
-public enum Rating {
-    G,
-    PG,
-    R,
-    UNRATED,
-    PG13
-}
-----
-
-
-**1990** NC-17 is added
-
-
-[source,java]
-----
-public enum Rating {
-    G,
-    PG,
-    R,
-    UNRATED,
-    PG13,
-    NC17
-}
-----
-
-
-If `EnumType.STRING` was used, then the enum could be reordered at anytime and would instead look as we have defined it originally with ratings starting at `G` and increasing in severity to `NC17` and eventually `UNRATED`.  With `EnumType.ORDINAL` the logical ordering would not have withstood the test of time as new values were added.
-
-If the order of the enum values is significant to your code, avoid `EnumType.ORDINAL`
-
-==  Unit Testing the JPA @Enumerated
-
-
-[source,java]
-----
-public class MoviesTest extends TestCase {
-
-    public void test() throws Exception {
-
-        final Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        EJBContainer container = EJBContainer.createEJBContainer(p);
-        final Context context = container.getContext();
-
-        final Movies movies = (Movies) context.lookup("java:global/jpa-scratch/Movies");
-
-        movies.addMovie(new Movie("James Frawley", "The Muppet Movie", 1979, Rating.G));
-        movies.addMovie(new Movie("Jim Henson", "The Great Muppet Caper", 1981, Rating.G));
-        movies.addMovie(new Movie("Frank Oz", "The Muppets Take Manhattan", 1984, Rating.G));
-        movies.addMovie(new Movie("James Bobin", "The Muppets", 2011, Rating.PG));
-
-        assertEquals("List.size()", 4, movies.getMovies().size());
-
-        assertEquals("List.size()", 3, movies.findByRating(Rating.G).size());
-
-        assertEquals("List.size()", 1, movies.findByRating(Rating.PG).size());
-
-        assertEquals("List.size()", 0, movies.findByRating(Rating.R).size());
-
-        container.close();
-    }
-}
-----
-
-
-=  Running
-
-To run the example via maven:
-
-    cd jpa-enumerated
-    mvn clean install
-
-Which will generate output similar to the following:
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.jpa.enums.MoviesTest
-Apache OpenEJB 4.0.0-beta-2    build: 20120115-08:26
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/openejb/examples/jpa-enumerated
-INFO - openejb.base = /Users/dblevins/openejb/examples/jpa-enumerated
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/openejb/examples/jpa-enumerated/target/classes
-INFO - Beginning load: /Users/dblevins/openejb/examples/jpa-enumerated/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/openejb/examples/jpa-enumerated
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.jpa.enums.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/openejb/examples/jpa-enumerated" loaded.
-INFO - Assembling app: /Users/dblevins/openejb/examples/jpa-enumerated
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 406ms
-INFO - Jndi(name="java:global/jpa-enumerated/Movies!org.superbiz.jpa.enums.Movies")
-INFO - Jndi(name="java:global/jpa-enumerated/Movies")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Deployed Application(path=/Users/dblevins/openejb/examples/jpa-enumerated)
-INFO - Undeploying app: /Users/dblevins/openejb/examples/jpa-enumerated
-INFO - Closing DataSource: movieDatabase
-INFO - Closing DataSource: movieDatabaseNonJta
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.831 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/jpa-hibernate.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/jpa-hibernate.adoc b/src/main/jbake/content/examples/jpa-hibernate.adoc
deleted file mode 100755
index f57ff1b..0000000
--- a/src/main/jbake/content/examples/jpa-hibernate.adoc
+++ /dev/null
@@ -1,224 +0,0 @@
-= JPA Hibernate
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example jpa-hibernate can be browsed at https://github.com/apache/tomee/tree/master/examples/jpa-hibernate
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.h3jpa;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-
-@Entity
-public class Movie {
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.AUTO)
-    private long id;
-
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-}
-----
-
-
-==  Movies
-
-
-[source,java]
-----
-package org.superbiz.injection.h3jpa;
-
-import javax.ejb.Stateful;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-@Stateful
-public class Movies {
-
-    @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED)
-    private EntityManager entityManager;
-
-    public void addMovie(Movie movie) throws Exception {
-        entityManager.persist(movie);
-    }
-
-    public void deleteMovie(Movie movie) throws Exception {
-        entityManager.remove(movie);
-    }
-
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence version="1.0"
-             xmlns="http://java.sun.com/xml/ns/persistence"
-             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
-  <persistence-unit name="movie-unit">
-    <provider>org.hibernate.ejb.HibernatePersistence</provider>
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <properties>
-      <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
-      <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-    
-
-==  MoviesTest
-
-
-[source,java]
-----
-package org.superbiz.injection.h3jpa;
-
-import junit.framework.TestCase;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import java.util.List;
-import java.util.Properties;
-
-/**
- * @version $Revision: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public class MoviesTest extends TestCase {
-
-    public void test() throws Exception {
-        final Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        final Context context = EJBContainer.createEJBContainer(p).getContext();
-        Movies movies = (Movies) context.lookup("java:global/jpa-hibernate/Movies");
-
-        movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-        movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-        movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 3, list.size());
-
-        for (Movie movie : list) {
-            movies.deleteMovie(movie);
-        }
-
-        assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.h3jpa.MoviesTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/jpa-hibernate
-INFO - openejb.base = /Users/dblevins/examples/jpa-hibernate
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/jpa-hibernate/target/classes
-INFO - Beginning load: /Users/dblevins/examples/jpa-hibernate/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/jpa-hibernate
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.h3jpa.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit, provider=org.hibernate.ejb.HibernatePersistence)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/jpa-hibernate" loaded.
-INFO - Assembling app: /Users/dblevins/examples/jpa-hibernate
-INFO - PersistenceUnit(name=movie-unit, provider=org.hibernate.ejb.HibernatePersistence) - provider time 631ms
-INFO - Jndi(name="java:global/jpa-hibernate/Movies!org.superbiz.injection.h3jpa.Movies")
-INFO - Jndi(name="java:global/jpa-hibernate/Movies")
-INFO - Jndi(name="java:global/EjbModule1235930463/org.superbiz.injection.h3jpa.MoviesTest!org.superbiz.injection.h3jpa.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule1235930463/org.superbiz.injection.h3jpa.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.h3jpa.MoviesTest, ejb-name=org.superbiz.injection.h3jpa.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.h3jpa.MoviesTest, ejb-name=org.superbiz.injection.h3jpa.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/jpa-hibernate)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.22 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/jsf-cdi-and-ejb.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/jsf-cdi-and-ejb.adoc b/src/main/jbake/content/examples/jsf-cdi-and-ejb.adoc
deleted file mode 100755
index 1d31e0a..0000000
--- a/src/main/jbake/content/examples/jsf-cdi-and-ejb.adoc
+++ /dev/null
@@ -1,273 +0,0 @@
-= JSF-CDI-EJB
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example jsf-cdi-and-ejb can be browsed at https://github.com/apache/tomee/tree/master/examples/jsf-cdi-and-ejb
-
-
-The simple application contains a CDI managed bean `CalculatorBean`, which uses the `Calculator` EJB to add two numbers
-and display the results to the user. The EJB is injected in the managed bean using @Inject annotation.
-
-You could run this in the latest Apache TomEE link:https://repository.apache.org/content/repositories/snapshots/org/apache/openejb/apache-tomee/[snapshot]
-
-The complete source code is below but lets break down to look at some smaller snippets and see  how it works.
-
-
-A little note on the setup:
-
-As for the libraries, myfaces-api and myfaces-impl are provided in tomee/lib and hence they should not be a part of the
-war. In maven terms, they would be with scope 'provided'
-
-Also note that we use servlet 2.5 declaration in web.xml
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xmlns="http://java.sun.com/xml/ns/javaee"
-  xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-      http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-  version="2.5">
-
-And we use 2.0 version of faces-config
-
- <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
-               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-               xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-       http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
-               version="2.0">
-
-To make this a cdi-aware-archive (i.e bean archive) an empty beans.xml is added in WEB-INF
-
-       <?xml version="1.0" encoding="UTF-8"?>
-
-       <beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-         http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
-       </beans>
-
-We'll first declare the FacesServlet in the web.xml
-
-      <servlet>
-        <servlet-name>Faces Servlet</servlet-name>
-        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
-        <load-on-startup>1</load-on-startup>
-      </servlet>
-
-FacesServlet acts as the master controller.
-
-We'll then create the calculator.xhtml file.
-
-           <h:outputText value='Enter first number'/>
-           <h:inputText value='#{calculatorBean.x}'/>
-           <h:outputText value='Enter second number'/>
-           <h:inputText value='#{calculatorBean.y}'/>
-           <h:commandButton action="#{calculatorBean.add}" value="Add"/>
-
-Notice how we've used the bean here. By default, the bean name would be the simple name of the bean
-class with the first letter in lower case.
-
-We've annotated the `CalculatorBean` with `@RequestScoped`.
-So when a request comes in, the bean is instantiated and placed in the request scope.
-
-<h:inputText value='#{calculatorBean.x}'/>
-
-Here, getX() method of calculatorBean is invoked and the resulting value is displayed.
-x being a Double, we rightly should see 0.0 displayed.
-
-When you change the value and submit the form, these entered values are bound using the setters
-in the bean and then the commandButton-action method is invoked.
-
-In this case, CalculatorBean#add() is invoked.
-
-Calculator#add() delegates the work to the ejb, gets the result, stores it
-and then returns what view is to be rendered.
-
-The return value "success" is checked up in faces-config navigation-rules
-and the respective page is rendered.
-
-In our case, 'result.xhtml' page is rendered where
-use EL and display the result from the request-scoped `calculatorBean`.
-
-= Source Code
-
-==  CalculatorBean
-
-
-[source,java]
-----
-import javax.enterprise.context.RequestScoped;
-import javax.inject.Named;
-import javax.inject.Inject;
-
-@RequestScoped
-@Named
-public class CalculatorBean {
-    @Inject
-    Calculator calculator;
-    private double x;
-    private double y;
-    private double result;
-
-    public double getX() {
-        return x;
-    }
-
-    public void setX(double x) {
-        this.x = x;
-    }
-
-    public double getY() {
-        return y;
-    }
-
-    public void setY(double y) {
-        this.y = y;
-    }
-
-    public double getResult() {
-        return result;
-    }
-
-    public void setResult(double result) {
-        this.result = result;
-    }
-
-    public String add() {
-        result = calculator.add(x, y);
-        return "success";
-    }
-}
-----
-
-
-==  Calculator
-
-
-[source,java]
-----
-package org.superbiz.jsf;
-
-import javax.ejb.Stateless;
-
-@Stateless
-public class Calculator{
-
-    public double add(double x, double y) {
-        return x + y;
-    }
-}
-----
-
-
-
-= web.xml
-
-<?xml version="1.0"?>
-
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-      http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         version="2.5">
-
-  <description>MyProject web.xml</description>
-
-  <!-- Faces Servlet -->
-  <servlet>
-
-[source,xml]
-----
-<servlet-name>Faces Servlet</servlet-name>
-<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
-<load-on-startup>1</load-on-startup>
-  </servlet>
-
-  <!-- Faces Servlet Mapping -->
-  <servlet-mapping>
-<servlet-name>Faces Servlet</servlet-name>
-<url-pattern>*.jsf</url-pattern>
-  </servlet-mapping>
-
-  <!-- Welcome files -->
-  <welcome-file-list>
-<welcome-file>index.jsp</welcome-file>
-<welcome-file>index.html</welcome-file>
-  </welcome-file-list>
-
-</web-app>
-
-
-#Calculator.xhtml
-
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:f="http://java.sun.com/jsf/core"
-  xmlns:h="http://java.sun.com/jsf/html">
-
-
-<h:body bgcolor="white">
-<f:view>
-    <h:form>
-        <h:panelGrid columns="2">
-            <h:outputText value='Enter first number'/>
-            <h:inputText value='#{calculatorBean.x}'/>
-            <h:outputText value='Enter second number'/>
-            <h:inputText value='#{calculatorBean.y}'/>
-            <h:commandButton action="#{calculatorBean.add}" value="Add"/>
-        </h:panelGrid>
-    </h:form>
-</f:view>
-</h:body>
-</html>
-
-
- #Result.xhtml
-
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"
-  xmlns:f="http://java.sun.com/jsf/core"
-  xmlns:h="http://java.sun.com/jsf/html">
-
-<h:body>
-<f:view>
-<h:form id="mainForm">
-    <h2><h:outputText value="Result of adding #{calculatorBean.x} and #{calculatorBean.y} is #{calculatorBean.result }"/></h2>
-    <h:commandLink action="back">
-        <h:outputText value="Home"/>
-    </h:commandLink>
-</h:form>
-</f:view>
-</h:body>
-</html>
-
- #faces-config.xml
-
- <?xml version="1.0"?>
- <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-   http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
-           version="2.0">
-
-   <navigation-rule>
- <from-view-id>/calculator.xhtml</from-view-id>
- <navigation-case>
-   <from-outcome>success</from-outcome>
-   <to-view-id>/result.xhtml</to-view-id>
- </navigation-case>
-   </navigation-rule>
-
-   <navigation-rule>
- <from-view-id>/result.xhtml</from-view-id>
- <navigation-case>
-   <from-outcome>back</from-outcome>
-   <to-view-id>/calculator.xhtml</to-view-id>
- </navigation-case>
-   </navigation-rule>
- </faces-config>
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/jsf-managedBean-and-ejb.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/jsf-managedBean-and-ejb.adoc b/src/main/jbake/content/examples/jsf-managedBean-and-ejb.adoc
deleted file mode 100755
index cea24ba..0000000
--- a/src/main/jbake/content/examples/jsf-managedBean-and-ejb.adoc
+++ /dev/null
@@ -1,277 +0,0 @@
-= JSF Application that uses managed-bean and ejb
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example jsf-managedBean-and-ejb can be browsed at https://github.com/apache/tomee/tree/master/examples/jsf-managedBean-and-ejb
-
-
-This is a simple web-app showing how to use dependency injection in JSF managed beans using TomEE.
-
-It contains a Local Stateless session bean `CalculatorImpl` which adds two numbers and returns the result.
-The application also contains a JSF managed bean `CalculatorBean`, which uses the EJB to add two numbers
-and display the results to the user. The EJB is injected in the managed bean using `@EJB` annotation.
-
-
-==  A little note on the setup:
-
-You could run this in the latest Apache TomEE link:https://repository.apache.org/content/repositories/snapshots/org/apache/openejb/apache-tomee/[snapshot]
-
-As for the libraries, myfaces-api and myfaces-impl are provided in tomee/lib and hence they should not be a part of the
-war. In maven terms, they would be with scope 'provided'
-
-Also note that we use servlet 2.5 declaration in web.xml
-    
-
-[source,xml]
-----
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xmlns="http://java.sun.com/xml/ns/javaee"
-xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-version="2.5">
-
-And we use 2.0 version of faces-config
-
- <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
-           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-   http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
-           version="2.0">
-
-
-The complete source code is provided below but let's break down to look at some smaller snippets and see  how it works.
-
-We'll first declare the `FacesServlet` in the `web.xml`
-
-  <servlet>
-    <servlet-name>Faces Servlet</servlet-name>
-    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
-    <load-on-startup>1</load-on-startup>
-  </servlet>
-
-`FacesServlet` acts as the master controller.
-
-We'll then create the `calculator.xhtml` file.
-
-       <h:outputText value='Enter first number'/>
-       <h:inputText value='#{calculatorBean.x}'/>
-       <h:outputText value='Enter second number'/>
-       <h:inputText value='#{calculatorBean.y}'/>
-       <h:commandButton action="#{calculatorBean.add}" value="Add"/>
-
-
-Notice how we've use the bean here.
-By default it is the simple class name of the managed bean.
-
-When a request comes in, the bean is instantiated and placed in the appropriate scope.
-By default, the bean is placed in the request scope.
-
-        <h:inputText value='#{calculatorBean.x}'/>
-
-Here, getX() method of calculatorBean is invoked and the resulting value is displayed.
-x being a Double, we rightly should see 0.0 displayed.
-
-When you change the value and submit the form, these entered values are bound using the setters
-in the bean and then the commandButton-action method is invoked.
-
-In this case, `CalculatorBean#add()` is invoked.
-
-`Calculator#add()` delegates the work to the ejb, gets the result, stores it
-and then instructs what view is to be rendered.
-
-You're right. The return value "success" is checked up in faces-config navigation-rules
-and the respective page is rendered.
-
-In our case, `result.xhtml` page is rendered.
-
-The request scoped `calculatorBean` is available here, and we use EL to display the values.
-
-## Source
-
-## Calculator
-
-package org.superbiz.jsf;
-
-import javax.ejb.Local;
-
-@Local
-public interface Calculator {
-    public double add(double x, double y);
-}
-
-
-## CalculatorBean
-
-package org.superbiz.jsf;
-
-import javax.ejb.EJB;
-import javax.faces.bean.ManagedBean;
-
-@ManagedBean
-public class CalculatorBean {
-    @EJB
-    Calculator calculator;
-    private double x;
-    private double y;
-    private double result;
-
-    public double getX() {
-        return x;
-    }
-
-    public void setX(double x) {
-        this.x = x;
-    }
-
-    public double getY() {
-        return y;
-    }
-
-    public void setY(double y) {
-        this.y = y;
-    }
-
-    public double getResult() {
-        return result;
-    }
-
-    public void setResult(double result) {
-        this.result = result;
-    }
-
-    public String add() {
-        result = calculator.add(x, y);
-        return "success";
-    }
-}
-
-## CalculatorImpl
-
-package org.superbiz.jsf;
-
-import javax.ejb.Stateless;
-
-@Stateless
-public class CalculatorImpl implements Calculator {
-
-    public double add(double x, double y) {
-        return x + y;
-    }
-}
-
-
-# web.xml
-
-<?xml version="1.0"?>
-
-    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns="http://java.sun.com/xml/ns/javaee"
-    xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-    version="2.5">
-
-    <description>MyProject web.xml</description>
-
-    <!-- Faces Servlet -->
-    <servlet>
-        <servlet-name>Faces Servlet</servlet-name>
-        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
-        <load-on-startup>1</load-on-startup>
-    </servlet>
-
-    <!-- Faces Servlet Mapping -->
-    <servlet-mapping>
-       <servlet-name>Faces Servlet</servlet-name>
-        <url-pattern>*.jsf</url-pattern>
-    </servlet-mapping>
-
-    <!-- Welcome files -->
-    <welcome-file-list>
-       <welcome-file>index.jsp</welcome-file>
-       <welcome-file>index.html</welcome-file>
-    </welcome-file-list>
-    </web-app>
-----
-
-
-    
-== Calculator.xhtml
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"
-xmlns:f="http://java.sun.com/jsf/core"
-xmlns:h="http://java.sun.com/jsf/html">
-
-
-<h:body bgcolor="white">
-    <f:view>
-        <h:form>
-            <h:panelGrid columns="2">
-            <h:outputText value='Enter first number'/>
-           <h:inputText value='#{calculatorBean.x}'/>
-            <h:outputText value='Enter second number'/>
-            <h:inputText value='#{calculatorBean.y}'/>
-           <h:commandButton action="#{calculatorBean.add}" value="Add"/>
-            </h:panelGrid>
-        </h:form>
-   </f:view>
-</h:body>
-</html>
-
-
-##Result.xhtml
-
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"
-xmlns:f="http://java.sun.com/jsf/core"
-xmlns:h="http://java.sun.com/jsf/html">
-
-<h:body>
-    <f:view>
-        <h:form id="mainForm">
-            <h2><h:outputText value="Result of adding #{calculatorBean.x} and #{calculatorBean.y} is #{calculatorBean.result }"/></h2>
-            <h:commandLink action="back">
-            <h:outputText value="Home"/>
-            </h:commandLink>
-        </h:form>
-    </f:view>
-</h:body>
-</html>
-
-#faces-config.xml
-
-<?xml version="1.0"?>
-<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
-xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
-http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
-version="2.0">
-
-<navigation-rule>
-    <from-view-id>/calculator.xhtml</from-view-id>
-    <navigation-case>
-        <from-outcome>success</from-outcome>
-        <to-view-id>/result.xhtml</to-view-id>
-    </navigation-case>
-</navigation-rule>
-
-<navigation-rule>
-    <from-view-id>/result.xhtml</from-view-id>
-    <navigation-case>
-        <from-outcome>back</from-outcome>
-        <to-view-id>/calculator.xhtml</to-view-id>
-    </navigation-case>
-</navigation-rule>
-</faces-config>
-


[16/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/ejb-examples.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/ejb-examples.adoc b/src/main/jbake/content/examples/ejb-examples.adoc
deleted file mode 100755
index 64262f1..0000000
--- a/src/main/jbake/content/examples/ejb-examples.adoc
+++ /dev/null
@@ -1,1188 +0,0 @@
-= EJB Examples
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example ejb-examples can be browsed at https://github.com/apache/tomee/tree/master/examples/ejb-examples
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  AnnotatedEJB
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.annotation.Resource;
-import javax.ejb.LocalBean;
-import javax.ejb.Stateless;
-import javax.sql.DataSource;
-
-@Stateless
-@LocalBean
-public class AnnotatedEJB implements AnnotatedEJBLocal, AnnotatedEJBRemote {
-    @Resource
-    private DataSource ds;
-
-    private String name = "foo";
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public DataSource getDs() {
-        return ds;
-    }
-
-    public void setDs(DataSource ds) {
-        this.ds = ds;
-    }
-
-    public String toString() {
-        return "AnnotatedEJB[name=" + name + "]";
-    }
-}
-----
-
-
-==  AnnotatedEJBLocal
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.ejb.Local;
-import javax.sql.DataSource;
-
-@Local
-public interface AnnotatedEJBLocal {
-    String getName();
-
-    void setName(String name);
-
-    DataSource getDs();
-
-    void setDs(DataSource ds);
-}
-----
-
-
-==  AnnotatedEJBRemote
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.ejb.Remote;
-
-@Remote
-public interface AnnotatedEJBRemote {
-    String getName();
-
-    void setName(String name);
-}
-----
-
-
-==  AnnotatedServlet
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.annotation.Resource;
-import javax.ejb.EJB;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.sql.DataSource;
-import java.io.IOException;
-
-public class AnnotatedServlet extends HttpServlet {
-    @EJB
-    private AnnotatedEJBLocal localEJB;
-
-    @EJB
-    private AnnotatedEJBRemote remoteEJB;
-
-    @EJB
-    private AnnotatedEJB localbeanEJB;
-
-    @Resource
-    private DataSource ds;
-
-
-    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-        response.setContentType("text/plain");
-        ServletOutputStream out = response.getOutputStream();
-
-        out.println("LocalBean EJB");
-        out.println("@EJB=" + localbeanEJB);
-        if (localbeanEJB != null) {
-            out.println("@EJB.getName()=" + localbeanEJB.getName());
-            out.println("@EJB.getDs()=" + localbeanEJB.getDs());
-        }
-        out.println("JNDI=" + lookupField("localbeanEJB"));
-        out.println();
-
-        out.println("Local EJB");
-        out.println("@EJB=" + localEJB);
-        if (localEJB != null) {
-            out.println("@EJB.getName()=" + localEJB.getName());
-            out.println("@EJB.getDs()=" + localEJB.getDs());
-        }
-        out.println("JNDI=" + lookupField("localEJB"));
-        out.println();
-
-        out.println("Remote EJB");
-        out.println("@EJB=" + remoteEJB);
-        if (localEJB != null) {
-            out.println("@EJB.getName()=" + remoteEJB.getName());
-        }
-        out.println("JNDI=" + lookupField("remoteEJB"));
-        out.println();
-
-
-        out.println("DataSource");
-        out.println("@Resource=" + ds);
-        out.println("JNDI=" + lookupField("ds"));
-    }
-
-    private Object lookupField(String name) {
-        try {
-            return new InitialContext().lookup("java:comp/env/" + getClass().getName() + "/" + name);
-        } catch (NamingException e) {
-            return null;
-        }
-    }
-}
-----
-
-
-==  ClientHandler
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.xml.ws.handler.Handler;
-import javax.xml.ws.handler.MessageContext;
-
-public class ClientHandler implements Handler {
-    public boolean handleMessage(MessageContext messageContext) {
-        WebserviceServlet.write("    ClientHandler handleMessage");
-        return true;
-    }
-
-    public void close(MessageContext messageContext) {
-        WebserviceServlet.write("    ClientHandler close");
-    }
-
-    public boolean handleFault(MessageContext messageContext) {
-        WebserviceServlet.write("    ClientHandler handleFault");
-        return true;
-    }
-}
-----
-
-
-==  HelloEjb
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.jws.WebService;
-
-@WebService(targetNamespace = "http://examples.org/wsdl")
-public interface HelloEjb {
-    String hello(String name);
-}
-----
-
-
-==  HelloEjbService
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.ejb.Stateless;
-import javax.jws.HandlerChain;
-import javax.jws.WebService;
-
-@WebService(
-        portName = "HelloEjbPort",
-        serviceName = "HelloEjbService",
-        targetNamespace = "http://examples.org/wsdl",
-        endpointInterface = "org.superbiz.servlet.HelloEjb"
-)
-@HandlerChain(file = "server-handlers.xml")
-@Stateless
-public class HelloEjbService implements HelloEjb {
-    public String hello(String name) {
-        WebserviceServlet.write("                HelloEjbService hello(" + name + ")");
-        if (name == null) name = "World";
-        return "Hello " + name + " from EJB Webservice!";
-    }
-}
-----
-
-
-==  HelloPojo
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.jws.WebService;
-
-@WebService(targetNamespace = "http://examples.org/wsdl")
-public interface HelloPojo {
-    String hello(String name);
-}
-----
-
-
-==  HelloPojoService
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.jws.HandlerChain;
-import javax.jws.WebService;
-
-@WebService(
-        portName = "HelloPojoPort",
-        serviceName = "HelloPojoService",
-        targetNamespace = "http://examples.org/wsdl",
-        endpointInterface = "org.superbiz.servlet.HelloPojo"
-)
-@HandlerChain(file = "server-handlers.xml")
-public class HelloPojoService implements HelloPojo {
-    public String hello(String name) {
-        WebserviceServlet.write("                HelloPojoService hello(" + name + ")");
-        if (name == null) name = "World";
-        return "Hello " + name + " from Pojo Webservice!";
-    }
-}
-----
-
-
-==  JndiServlet
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NameClassPair;
-import javax.naming.NamingException;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.Map;
-import java.util.TreeMap;
-
-public class JndiServlet extends HttpServlet {
-    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-        response.setContentType("text/plain");
-        ServletOutputStream out = response.getOutputStream();
-
-        Map<String, Object> bindings = new TreeMap<String, Object>(String.CASE_INSENSITIVE_ORDER);
-        try {
-            Context context = (Context) new InitialContext().lookup("java:comp/");
-            addBindings("", bindings, context);
-        } catch (NamingException e) {
-            throw new ServletException(e);
-        }
-
-        out.println("JNDI Context:");
-        for (Map.Entry<String, Object> entry : bindings.entrySet()) {
-            if (entry.getValue() != null) {
-                out.println("  " + entry.getKey() + "=" + entry.getValue());
-            } else {
-                out.println("  " + entry.getKey());
-            }
-        }
-    }
-
-    private void addBindings(String path, Map<String, Object> bindings, Context context) {
-        try {
-            for (NameClassPair pair : Collections.list(context.list(""))) {
-                String name = pair.getName();
-                String className = pair.getClassName();
-                if ("org.apache.naming.resources.FileDirContext$FileResource".equals(className)) {
-                    bindings.put(path + name, "<file>");
-                } else {
-                    try {
-                        Object value = context.lookup(name);
-                        if (value instanceof Context) {
-                            Context nextedContext = (Context) value;
-                            bindings.put(path + name, "");
-                            addBindings(path + name + "/", bindings, nextedContext);
-                        } else {
-                            bindings.put(path + name, value);
-                        }
-                    } catch (NamingException e) {
-                        // lookup failed
-                        bindings.put(path + name, "ERROR: " + e.getMessage());
-                    }
-                }
-            }
-        } catch (NamingException e) {
-            bindings.put(path, "ERROR: list bindings threw an exception: " + e.getMessage());
-        }
-    }
-}
-----
-
-
-==  JpaBean
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-
-@Entity
-public class JpaBean {
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Column(name = "id")
-    private int id;
-
-    @Column(name = "name")
-    private String name;
-
-    public int getId() {
-        return id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-
-    public String toString() {
-        return "[JpaBean id=" + id + ", name=" + name + "]";
-    }
-}
-----
-
-
-==  JpaServlet
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.EntityTransaction;
-import javax.persistence.PersistenceUnit;
-import javax.persistence.Query;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-public class JpaServlet extends HttpServlet {
-    @PersistenceUnit(name = "jpa-example")
-    private EntityManagerFactory emf;
-
-
-    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-        response.setContentType("text/plain");
-        ServletOutputStream out = response.getOutputStream();
-
-        out.println("@PersistenceUnit=" + emf);
-
-        EntityManager em = emf.createEntityManager();
-        EntityTransaction transaction = em.getTransaction();
-        transaction.begin();
-
-        JpaBean jpaBean = new JpaBean();
-        jpaBean.setName("JpaBean");
-        em.persist(jpaBean);
-
-        transaction.commit();
-        transaction.begin();
-
-        Query query = em.createQuery("SELECT j FROM JpaBean j WHERE j.name='JpaBean'");
-        jpaBean = (JpaBean) query.getSingleResult();
-        out.println("Loaded " + jpaBean);
-
-        em.remove(jpaBean);
-
-        transaction.commit();
-        transaction.begin();
-
-        query = em.createQuery("SELECT count(j) FROM JpaBean j WHERE j.name='JpaBean'");
-        int count = ((Number) query.getSingleResult()).intValue();
-        if (count == 0) {
-            out.println("Removed " + jpaBean);
-        } else {
-            out.println("ERROR: unable to remove" + jpaBean);
-        }
-
-        transaction.commit();
-    }
-}
-----
-
-
-==  ResourceBean
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-public class ResourceBean {
-    private String value;
-
-    public String getValue() {
-        return value;
-    }
-
-    public void setValue(String value) {
-        this.value = value;
-    }
-
-    public String toString() {
-        return "[ResourceBean " + value + "]";
-    }
-}
-----
-
-
-==  RunAsServlet
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.ejb.EJB;
-import javax.ejb.EJBAccessException;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.security.Principal;
-
-public class RunAsServlet extends HttpServlet {
-    @EJB
-    private SecureEJBLocal secureEJBLocal;
-
-    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-        response.setContentType("text/plain");
-        ServletOutputStream out = response.getOutputStream();
-
-        out.println("Servlet");
-        Principal principal = request.getUserPrincipal();
-        if (principal != null) {
-            out.println("Servlet.getUserPrincipal()=" + principal + " [" + principal.getName() + "]");
-        } else {
-            out.println("Servlet.getUserPrincipal()=<null>");
-        }
-        out.println("Servlet.isCallerInRole(\"user\")=" + request.isUserInRole("user"));
-        out.println("Servlet.isCallerInRole(\"manager\")=" + request.isUserInRole("manager"));
-        out.println("Servlet.isCallerInRole(\"fake\")=" + request.isUserInRole("fake"));
-        out.println();
-
-        out.println("@EJB=" + secureEJBLocal);
-        if (secureEJBLocal != null) {
-            principal = secureEJBLocal.getCallerPrincipal();
-            if (principal != null) {
-                out.println("@EJB.getCallerPrincipal()=" + principal + " [" + principal.getName() + "]");
-            } else {
-                out.println("@EJB.getCallerPrincipal()=<null>");
-            }
-            out.println("@EJB.isCallerInRole(\"user\")=" + secureEJBLocal.isCallerInRole("user"));
-            out.println("@EJB.isCallerInRole(\"manager\")=" + secureEJBLocal.isCallerInRole("manager"));
-            out.println("@EJB.isCallerInRole(\"fake\")=" + secureEJBLocal.isCallerInRole("fake"));
-
-            try {
-                secureEJBLocal.allowUserMethod();
-                out.println("@EJB.allowUserMethod() ALLOWED");
-            } catch (EJBAccessException e) {
-                out.println("@EJB.allowUserMethod() DENIED");
-            }
-
-            try {
-                secureEJBLocal.allowManagerMethod();
-                out.println("@EJB.allowManagerMethod() ALLOWED");
-            } catch (EJBAccessException e) {
-                out.println("@EJB.allowManagerMethod() DENIED");
-            }
-
-            try {
-                secureEJBLocal.allowFakeMethod();
-                out.println("@EJB.allowFakeMethod() ALLOWED");
-            } catch (EJBAccessException e) {
-                out.println("@EJB.allowFakeMethod() DENIED");
-            }
-
-            try {
-                secureEJBLocal.denyAllMethod();
-                out.println("@EJB.denyAllMethod() ALLOWED");
-            } catch (EJBAccessException e) {
-                out.println("@EJB.denyAllMethod() DENIED");
-            }
-        }
-        out.println();
-    }
-}
-----
-
-
-==  SecureEJB
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.annotation.Resource;
-import javax.annotation.security.DeclareRoles;
-import javax.annotation.security.DenyAll;
-import javax.annotation.security.RolesAllowed;
-import javax.ejb.SessionContext;
-import javax.ejb.Stateless;
-import java.security.Principal;
-
-@Stateless
-@DeclareRoles({"user", "manager", "fake"})
-public class SecureEJB implements SecureEJBLocal {
-    @Resource
-    private SessionContext context;
-
-    public Principal getCallerPrincipal() {
-        return context.getCallerPrincipal();
-    }
-
-    public boolean isCallerInRole(String role) {
-        return context.isCallerInRole(role);
-    }
-
-    @RolesAllowed("user")
-    public void allowUserMethod() {
-    }
-
-    @RolesAllowed("manager")
-    public void allowManagerMethod() {
-    }
-
-    @RolesAllowed("fake")
-    public void allowFakeMethod() {
-    }
-
-    @DenyAll
-    public void denyAllMethod() {
-    }
-
-    public String toString() {
-        return "SecureEJB[userName=" + getCallerPrincipal() + "]";
-    }
-}
-----
-
-
-==  SecureEJBLocal
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.ejb.Local;
-import java.security.Principal;
-
-@Local
-public interface SecureEJBLocal {
-    Principal getCallerPrincipal();
-
-    boolean isCallerInRole(String role);
-
-    void allowUserMethod();
-
-    void allowManagerMethod();
-
-    void allowFakeMethod();
-
-    void denyAllMethod();
-}
-----
-
-
-==  SecureServlet
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.ejb.EJB;
-import javax.ejb.EJBAccessException;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.security.Principal;
-
-public class SecureServlet extends HttpServlet {
-    @EJB
-    private SecureEJBLocal secureEJBLocal;
-
-    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-        response.setContentType("text/plain");
-        ServletOutputStream out = response.getOutputStream();
-
-        out.println("Servlet");
-        Principal principal = request.getUserPrincipal();
-        if (principal != null) {
-            out.println("Servlet.getUserPrincipal()=" + principal + " [" + principal.getName() + "]");
-        } else {
-            out.println("Servlet.getUserPrincipal()=<null>");
-        }
-        out.println("Servlet.isCallerInRole(\"user\")=" + request.isUserInRole("user"));
-        out.println("Servlet.isCallerInRole(\"manager\")=" + request.isUserInRole("manager"));
-        out.println("Servlet.isCallerInRole(\"fake\")=" + request.isUserInRole("fake"));
-        out.println();
-
-        out.println("@EJB=" + secureEJBLocal);
-        if (secureEJBLocal != null) {
-            principal = secureEJBLocal.getCallerPrincipal();
-            if (principal != null) {
-                out.println("@EJB.getCallerPrincipal()=" + principal + " [" + principal.getName() + "]");
-            } else {
-                out.println("@EJB.getCallerPrincipal()=<null>");
-            }
-            out.println("@EJB.isCallerInRole(\"user\")=" + secureEJBLocal.isCallerInRole("user"));
-            out.println("@EJB.isCallerInRole(\"manager\")=" + secureEJBLocal.isCallerInRole("manager"));
-            out.println("@EJB.isCallerInRole(\"fake\")=" + secureEJBLocal.isCallerInRole("fake"));
-
-            try {
-                secureEJBLocal.allowUserMethod();
-                out.println("@EJB.allowUserMethod() ALLOWED");
-            } catch (EJBAccessException e) {
-                out.println("@EJB.allowUserMethod() DENIED");
-            }
-
-            try {
-                secureEJBLocal.allowManagerMethod();
-                out.println("@EJB.allowManagerMethod() ALLOWED");
-            } catch (EJBAccessException e) {
-                out.println("@EJB.allowManagerMethod() DENIED");
-            }
-
-            try {
-                secureEJBLocal.allowFakeMethod();
-                out.println("@EJB.allowFakeMethod() ALLOWED");
-            } catch (EJBAccessException e) {
-                out.println("@EJB.allowFakeMethod() DENIED");
-            }
-
-            try {
-                secureEJBLocal.denyAllMethod();
-                out.println("@EJB.denyAllMethod() ALLOWED");
-            } catch (EJBAccessException e) {
-                out.println("@EJB.denyAllMethod() DENIED");
-            }
-        }
-        out.println();
-    }
-}
-----
-
-
-==  ServerHandler
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.xml.ws.handler.Handler;
-import javax.xml.ws.handler.MessageContext;
-
-public class ServerHandler implements Handler {
-    public boolean handleMessage(MessageContext messageContext) {
-        WebserviceServlet.write("        ServerHandler handleMessage");
-        return true;
-    }
-
-    public void close(MessageContext messageContext) {
-        WebserviceServlet.write("        ServerHandler close");
-    }
-
-    public boolean handleFault(MessageContext messageContext) {
-        WebserviceServlet.write("        ServerHandler handleFault");
-        return true;
-    }
-}
-----
-
-
-==  WebserviceClient
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.xml.ws.Service;
-import java.io.PrintStream;
-import java.net.URL;
-
-public class WebserviceClient {
-    /**
-     * Unfortunately, to run this example with CXF you need to have a HUGE class path.  This
-     * is just what is required to run CXF:
-     * <p/>
-     * jaxb-api-2.0.jar
-     * jaxb-impl-2.0.3.jar
-     * <p/>
-     * saaj-api-1.3.jar
-     * saaj-impl-1.3.jar
-     * <p/>
-     * <p/>
-     * cxf-api-2.0.2-incubator.jar
-     * cxf-common-utilities-2.0.2-incubator.jar
-     * cxf-rt-bindings-soap-2.0.2-incubator.jar
-     * cxf-rt-core-2.0.2-incubator.jar
-     * cxf-rt-databinding-jaxb-2.0.2-incubator.jar
-     * cxf-rt-frontend-jaxws-2.0.2-incubator.jar
-     * cxf-rt-frontend-simple-2.0.2-incubator.jar
-     * cxf-rt-transports-http-jetty-2.0.2-incubator.jar
-     * cxf-rt-transports-http-2.0.2-incubator.jar
-     * cxf-tools-common-2.0.2-incubator.jar
-     * <p/>
-     * geronimo-activation_1.1_spec-1.0.jar
-     * geronimo-annotation_1.0_spec-1.1.jar
-     * geronimo-ejb_3.0_spec-1.0.jar
-     * geronimo-jpa_3.0_spec-1.1.jar
-     * geronimo-servlet_2.5_spec-1.1.jar
-     * geronimo-stax-api_1.0_spec-1.0.jar
-     * jaxws-api-2.0.jar
-     * axis2-jws-api-1.3.jar
-     * <p/>
-     * wsdl4j-1.6.1.jar
-     * xml-resolver-1.2.jar
-     * XmlSchema-1.3.1.jar
-     */
-    public static void main(String[] args) throws Exception {
-        PrintStream out = System.out;
-
-        Service helloPojoService = Service.create(new URL("http://localhost:8080/ejb-examples/hello?wsdl"), null);
-        HelloPojo helloPojo = helloPojoService.getPort(HelloPojo.class);
-        out.println();
-        out.println("Pojo Webservice");
-        out.println("    helloPojo.hello(\"Bob\")=" + helloPojo.hello("Bob"));
-        out.println("    helloPojo.hello(null)=" + helloPojo.hello(null));
-        out.println();
-
-        Service helloEjbService = Service.create(new URL("http://localhost:8080/HelloEjbService?wsdl"), null);
-        HelloEjb helloEjb = helloEjbService.getPort(HelloEjb.class);
-        out.println();
-        out.println("EJB Webservice");
-        out.println("    helloEjb.hello(\"Bob\")=" + helloEjb.hello("Bob"));
-        out.println("    helloEjb.hello(null)=" + helloEjb.hello(null));
-        out.println();
-    }
-}
-----
-
-
-==  WebserviceServlet
-
-
-[source,java]
-----
-package org.superbiz.servlet;
-
-import javax.jws.HandlerChain;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.ws.WebServiceRef;
-import java.io.IOException;
-
-public class WebserviceServlet extends HttpServlet {
-
-    @WebServiceRef
-    @HandlerChain(file = "client-handlers.xml")
-    private HelloPojo helloPojo;
-
-    @WebServiceRef
-    @HandlerChain(file = "client-handlers.xml")
-    private HelloEjb helloEjb;
-
-    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-        response.setContentType("text/plain");
-        ServletOutputStream out = response.getOutputStream();
-
-        OUT = out;
-        try {
-            out.println("Pojo Webservice");
-            out.println("    helloPojo.hello(\"Bob\")=" + helloPojo.hello("Bob"));
-            out.println();
-            out.println("    helloPojo.hello(null)=" + helloPojo.hello(null));
-            out.println();
-            out.println("EJB Webservice");
-            out.println("    helloEjb.hello(\"Bob\")=" + helloEjb.hello("Bob"));
-            out.println();
-            out.println("    helloEjb.hello(null)=" + helloEjb.hello(null));
-            out.println();
-        } finally {
-            OUT = out;
-        }
-    }
-
-    private static ServletOutputStream OUT;
-
-    public static void write(String message) {
-        try {
-            ServletOutputStream out = OUT;
-            out.println(message);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-}
-----
-
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-  <persistence-unit transaction-type="RESOURCE_LOCAL" name="jpa-example">
-    <jta-data-source>java:openejb/Connector/Default JDBC Database</jta-data-source>
-    <non-jta-data-source>java:openejb/Connector/Default Unmanaged JDBC Database</non-jta-data-source>
-    <class>org.superbiz.servlet.JpaBean</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  client-handlers.xml
-
-
-[source,xml]
-----
-<jws:handler-chains xmlns:jws="http://java.sun.com/xml/ns/javaee">
-  <jws:handler-chain>
-    <jws:handler>
-      <jws:handler-name>ClientHandler</jws:handler-name>
-      <jws:handler-class>org.superbiz.servlet.ClientHandler</jws:handler-class>
-    </jws:handler>
-  </jws:handler-chain>
-</jws:handler-chains>
-----
-
-    
-
-==  server-handlers.xml
-
-
-[source,xml]
-----
-<jws:handler-chains xmlns:jws="http://java.sun.com/xml/ns/javaee">
-  <jws:handler-chain>
-    <jws:handler>
-      <jws:handler-name>ServerHandler</jws:handler-name>
-      <jws:handler-class>org.superbiz.servlet.ServerHandler</jws:handler-class>
-    </jws:handler>
-  </jws:handler-chain>
-</jws:handler-chains>
-----
-
-    
-
-==  context.xml
-
-
-[source,xml]
-----
-<Context>
-  <!-- This only works if the context is installed under the correct name -->
-  <Realm className="org.apache.catalina.realm.MemoryRealm"
-         pathname="webapps/ejb-examples-1.0-SNAPSHOT/WEB-INF/tomcat-users.xml"/>
-
-  <Environment
-      name="context.xml/environment"
-      value="ContextString"
-      type="java.lang.String"/>
-  <Resource
-      name="context.xml/resource"
-      auth="Container"
-      type="org.superbiz.servlet.ResourceBean"
-      factory="org.apache.naming.factory.BeanFactory"
-      value="ContextResource"/>
-  <ResourceLink
-      name="context.xml/resource-link"
-      global="server.xml/environment"
-      type="java.lang.String"/>
-
-  <!-- web.xml resources -->
-  <Resource
-      name="web.xml/resource-env-ref"
-      auth="Container"
-      type="org.superbiz.servlet.ResourceBean"
-      factory="org.apache.naming.factory.BeanFactory"
-      value="ContextResourceEnvRef"/>
-  <Resource
-      name="web.xml/resource-ref"
-      auth="Container"
-      type="org.superbiz.servlet.ResourceBean"
-      factory="org.apache.naming.factory.BeanFactory"
-      value="ContextResourceRef"/>
-  <ResourceLink
-      name="web.xml/resource-link"
-      global="server.xml/environment"
-      type="java.lang.String"/>
-</Context>
-----
-
-    
-
-==  jetty-web.xml
-
-
-[source,xml]
-----
-<Configure class="org.eclipse.jetty.webapp.WebAppContext">
-  <Get name="securityHandler">
-    <Set name="loginService">
-      <New class="org.eclipse.jetty.security.HashLoginService">
-        <Set name="name">Test Realm</Set>
-        <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties
-        </Set>
-      </New>
-    </Set>
-  </Get>
-</Configure>
-----
-
-
-==  tomcat-users.xml
-
-
-[source,xml]
-----
-<tomcat-users>
-  <user name="manager" password="manager" roles="manager,user"/>
-  <user name="user" password="user" roles="user"/>
-</tomcat-users>
-----
-
-    
-
-==  web.xml
-
-
-[source,xml]
-----
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         metadata-complete="false"
-         version="2.5">
-
-  <display-name>OpenEJB Servlet Examples</display-name>
-
-  <servlet>
-    <servlet-name>AnnotatedServlet</servlet-name>
-    <servlet-class>org.superbiz.servlet.AnnotatedServlet</servlet-class>
-  </servlet>
-
-  <servlet-mapping>
-    <servlet-name>AnnotatedServlet</servlet-name>
-    <url-pattern>/annotated/*</url-pattern>
-  </servlet-mapping>
-
-  <servlet>
-    <servlet-name>JpaServlet</servlet-name>
-    <servlet-class>org.superbiz.servlet.JpaServlet</servlet-class>
-  </servlet>
-
-  <servlet-mapping>
-    <servlet-name>JpaServlet</servlet-name>
-    <url-pattern>/jpa/*</url-pattern>
-  </servlet-mapping>
-
-  <servlet>
-    <servlet-name>JndiServlet</servlet-name>
-    <servlet-class>org.superbiz.servlet.JndiServlet</servlet-class>
-  </servlet>
-
-  <servlet-mapping>
-    <servlet-name>JndiServlet</servlet-name>
-    <url-pattern>/jndi/*</url-pattern>
-  </servlet-mapping>
-
-  <servlet>
-    <servlet-name>RunAsServlet</servlet-name>
-    <servlet-class>org.superbiz.servlet.RunAsServlet</servlet-class>
-    <run-as>
-      <role-name>fake</role-name>
-    </run-as>
-  </servlet>
-
-  <servlet-mapping>
-    <servlet-name>RunAsServlet</servlet-name>
-    <url-pattern>/runas/*</url-pattern>
-  </servlet-mapping>
-
-  <servlet>
-    <servlet-name>SecureServlet</servlet-name>
-    <servlet-class>org.superbiz.servlet.SecureServlet</servlet-class>
-  </servlet>
-
-  <servlet-mapping>
-    <servlet-name>SecureServlet</servlet-name>
-    <url-pattern>/secure/*</url-pattern>
-  </servlet-mapping>
-
-  <security-constraint>
-    <web-resource-collection>
-      <web-resource-name>Secure Area</web-resource-name>
-      <url-pattern>/secure/*</url-pattern>
-      <url-pattern>/runas/*</url-pattern>
-    </web-resource-collection>
-    <auth-constraint>
-      <role-name>user</role-name>
-    </auth-constraint>
-  </security-constraint>
-
-  <servlet>
-    <servlet-name>WebserviceServlet</servlet-name>
-    <servlet-class>org.superbiz.servlet.WebserviceServlet</servlet-class>
-  </servlet>
-
-  <servlet-mapping>
-    <servlet-name>WebserviceServlet</servlet-name>
-    <url-pattern>/webservice/*</url-pattern>
-  </servlet-mapping>
-
-
-  <servlet>
-    <servlet-name>HelloPojoService</servlet-name>
-    <servlet-class>org.superbiz.servlet.HelloPojoService</servlet-class>
-  </servlet>
-
-  <servlet-mapping>
-    <servlet-name>HelloPojoService</servlet-name>
-    <url-pattern>/hello</url-pattern>
-  </servlet-mapping>
-
-  <login-config>
-    <auth-method>BASIC</auth-method>
-  </login-config>
-
-  <security-role>
-    <role-name>manager</role-name>
-  </security-role>
-
-  <security-role>
-    <role-name>user</role-name>
-  </security-role>
-
-  <env-entry>
-    <env-entry-name>web.xml/env-entry</env-entry-name>
-    <env-entry-type>java.lang.String</env-entry-type>
-    <env-entry-value>WebValue</env-entry-value>
-  </env-entry>
-
-  <resource-ref>
-    <res-ref-name>web.xml/Data Source</res-ref-name>
-    <res-type>javax.sql.DataSource</res-type>
-    <res-auth>Container</res-auth>
-  </resource-ref>
-
-  <resource-env-ref>
-    <resource-env-ref-name>web.xml/Queue</resource-env-ref-name>
-    <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
-  </resource-env-ref>
-
-  <ejb-ref>
-    <ejb-ref-name>web.xml/EjbRemote</ejb-ref-name>
-    <ejb-ref-type>Session</ejb-ref-type>
-    <remote>org.superbiz.servlet.AnnotatedEJBRemote</remote>
-  </ejb-ref>
-
-  <ejb-local-ref>
-    <ejb-ref-name>web.xml/EjLocal</ejb-ref-name>
-    <ejb-ref-type>Session</ejb-ref-type>
-    <local>org.superbiz.servlet.AnnotatedEJBLocal</local>
-  </ejb-local-ref>
-
-  <persistence-unit-ref>
-    <persistence-unit-ref-name>web.xml/PersistenceUnit</persistence-unit-ref-name>
-    <persistence-unit-name>jpa-example</persistence-unit-name>
-  </persistence-unit-ref>
-
-  <persistence-context-ref>
-    <persistence-context-ref-name>web.xml/PersistenceContext</persistence-context-ref-name>
-    <persistence-unit-name>jpa-example</persistence-unit-name>
-    <persistence-context-type>Transactional</persistence-context-type>
-  </persistence-context-ref>
-</web-app>
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/ejb-webservice.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/ejb-webservice.adoc b/src/main/jbake/content/examples/ejb-webservice.adoc
deleted file mode 100755
index 0d21d16..0000000
--- a/src/main/jbake/content/examples/ejb-webservice.adoc
+++ /dev/null
@@ -1,52 +0,0 @@
-= EJB Webservice
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example ejb-webservice can be browsed at https://github.com/apache/tomee/tree/master/examples/ejb-webservice
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Calculator
-
-
-[source,java]
-----
-package org.superbiz.ws;
-
-import javax.ejb.Stateless;
-import javax.jws.WebService;
-
-@Stateless
-@WebService(portName = "CalculatorPort",
-        serviceName = "CalculatorWebService",
-        targetNamespace = "http://superbiz.org/wsdl")
-public class Calculator {
-    public int sum(int add1, int add2) {
-        return add1 + add2;
-    }
-
-    public int multiply(int mul1, int mul2) {
-        return mul1 * mul2;
-    }
-}
-----
-
-
-==  web.xml
-
-
-[source,xml]
-----
-<web-app xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         metadata-complete="false"
-         version="2.5">
-
-</web-app>
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/groovy-cdi.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/groovy-cdi.adoc b/src/main/jbake/content/examples/groovy-cdi.adoc
deleted file mode 100755
index 0e0a6a0..0000000
--- a/src/main/jbake/content/examples/groovy-cdi.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= groovy-cdi
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example groovy-cdi can be browsed at https://github.com/apache/tomee/tree/master/examples/groovy-cdi
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/groovy-jpa.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/groovy-jpa.adoc b/src/main/jbake/content/examples/groovy-jpa.adoc
deleted file mode 100755
index 91f9218..0000000
--- a/src/main/jbake/content/examples/groovy-jpa.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= groovy-jpa
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example groovy-jpa can be browsed at https://github.com/apache/tomee/tree/master/examples/groovy-jpa
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/groovy-spock.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/groovy-spock.adoc b/src/main/jbake/content/examples/groovy-spock.adoc
deleted file mode 100755
index 203cddc..0000000
--- a/src/main/jbake/content/examples/groovy-spock.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= groovy-spock
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example groovy-spock can be browsed at https://github.com/apache/tomee/tree/master/examples/groovy-spock
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/helloworld-weblogic.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/helloworld-weblogic.adoc b/src/main/jbake/content/examples/helloworld-weblogic.adoc
deleted file mode 100755
index dd8279e..0000000
--- a/src/main/jbake/content/examples/helloworld-weblogic.adoc
+++ /dev/null
@@ -1,169 +0,0 @@
-= Helloworld Weblogic
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example helloworld-weblogic can be browsed at https://github.com/apache/tomee/tree/master/examples/helloworld-weblogic
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  HelloBean
-
-
-[source,java]
-----
-package org.superbiz.hello;
-
-import javax.ejb.LocalHome;
-import javax.ejb.Stateless;
-
-/**
- * @version $Revision: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-@Stateless
-@LocalHome(HelloEjbLocalHome.class)
-public class HelloBean {
-
-    public String sayHello() {
-        return "Hello, World!";
-    }
-}
-----
-
-
-==  HelloEjbLocal
-
-
-[source,java]
-----
-package org.superbiz.hello;
-
-import javax.ejb.EJBLocalObject;
-
-/**
- * @version $Revision: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public interface HelloEjbLocal extends EJBLocalObject {
-
-    String sayHello();
-}
-----
-
-
-==  HelloEjbLocalHome
-
-
-[source,java]
-----
-package org.superbiz.hello;
-
-import javax.ejb.CreateException;
-import javax.ejb.EJBLocalHome;
-
-/**
- * @version $Revision: 1090810 $ $Date: 2011-04-10 07:49:26 -0700 (Sun, 10 Apr 2011) $
- */
-public interface HelloEjbLocalHome extends EJBLocalHome {
-    HelloEjbLocal create() throws CreateException;
-}
-----
-
-
-==  ejb-jar.xml
-
-
-[source,xml]
-----
-<ejb-jar/>
-----
-
-
-==  weblogic-ejb-jar.xml
-
-
-[source,xml]
-----
-<weblogic-ejb-jar>
-  <weblogic-enterprise-bean>
-    <ejb-name>HelloBean</ejb-name>
-    <local-jndi-name>MyHello</local-jndi-name>
-  </weblogic-enterprise-bean>
-</weblogic-ejb-jar>
-----
-
-    
-    
-
-==  HelloTest
-
-
-[source,java]
-----
-package org.superbiz.hello;
-
-import junit.framework.TestCase;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Properties;
-
-/**
- * @version $Revision: 1090810 $ $Date: 2011-04-10 07:49:26 -0700 (Sun, 10 Apr 2011) $
- */
-public class HelloTest extends TestCase {
-
-    public void test() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        InitialContext initialContext = new InitialContext(properties);
-
-        HelloEjbLocalHome localHome = (HelloEjbLocalHome) initialContext.lookup("MyHello");
-        HelloEjbLocal helloEjb = localHome.create();
-
-        String message = helloEjb.sayHello();
-
-        assertEquals(message, "Hello, World!");
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.hello.HelloTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/helloworld-weblogic
-INFO - openejb.base = /Users/dblevins/examples/helloworld-weblogic
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/helloworld-weblogic/target/classes
-INFO - Beginning load: /Users/dblevins/examples/helloworld-weblogic/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/helloworld-weblogic/classpath.ear
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean HelloBean: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Enterprise application "/Users/dblevins/examples/helloworld-weblogic/classpath.ear" loaded.
-INFO - Assembling app: /Users/dblevins/examples/helloworld-weblogic/classpath.ear
-INFO - Jndi(name=MyHello) --> Ejb(deployment-id=HelloBean)
-INFO - Jndi(name=global/classpath.ear/helloworld-weblogic/HelloBean!org.superbiz.hello.HelloEjbLocalHome) --> Ejb(deployment-id=HelloBean)
-INFO - Jndi(name=global/classpath.ear/helloworld-weblogic/HelloBean) --> Ejb(deployment-id=HelloBean)
-INFO - Created Ejb(deployment-id=HelloBean, ejb-name=HelloBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=HelloBean, ejb-name=HelloBean, container=Default Stateless Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/helloworld-weblogic/classpath.ear)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.414 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/index-ng.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/index-ng.adoc b/src/main/jbake/content/examples/index-ng.adoc
deleted file mode 100755
index 822efdd..0000000
--- a/src/main/jbake/content/examples/index-ng.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-= Examples
-:jbake-date: 2016-08-30
-:jbake-type: examples
-:jbake-status: published
-:jbake-tomeepdf:

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/index.adoc b/src/main/jbake/content/examples/index.adoc
deleted file mode 100755
index 822efdd..0000000
--- a/src/main/jbake/content/examples/index.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-= Examples
-:jbake-date: 2016-08-30
-:jbake-type: examples
-:jbake-status: published
-:jbake-tomeepdf:

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/injection-of-connectionfactory.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/injection-of-connectionfactory.adoc b/src/main/jbake/content/examples/injection-of-connectionfactory.adoc
deleted file mode 100755
index c861c7b..0000000
--- a/src/main/jbake/content/examples/injection-of-connectionfactory.adoc
+++ /dev/null
@@ -1,180 +0,0 @@
-= Injection Of Connectionfactory
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example injection-of-connectionfactory can be browsed at https://github.com/apache/tomee/tree/master/examples/injection-of-connectionfactory
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Messages
-
-
-[source,java]
-----
-package org.superbiz.injection.jms;
-
-import javax.annotation.Resource;
-import javax.ejb.Stateless;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.DeliveryMode;
-import javax.jms.JMSException;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageProducer;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.TextMessage;
-
-@Stateless
-public class Messages {
-
-    @Resource
-    private ConnectionFactory connectionFactory;
-
-    @Resource
-    private Queue chatQueue;
-
-
-    public void sendMessage(String text) throws JMSException {
-
-        Connection connection = null;
-        Session session = null;
-
-        try {
-            connection = connectionFactory.createConnection();
-            connection.start();
-
-            // Create a Session
-            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-            // Create a MessageProducer from the Session to the Topic or Queue
-            MessageProducer producer = session.createProducer(chatQueue);
-            producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
-
-            // Create a message
-            TextMessage message = session.createTextMessage(text);
-
-            // Tell the producer to send the message
-            producer.send(message);
-        } finally {
-            // Clean up
-            if (session != null) session.close();
-            if (connection != null) connection.close();
-        }
-    }
-
-    public String receiveMessage() throws JMSException {
-
-        Connection connection = null;
-        Session session = null;
-        MessageConsumer consumer = null;
-        try {
-            connection = connectionFactory.createConnection();
-            connection.start();
-
-            // Create a Session
-            session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-            // Create a MessageConsumer from the Session to the Topic or Queue
-            consumer = session.createConsumer(chatQueue);
-
-            // Wait for a message
-            TextMessage message = (TextMessage) consumer.receive(1000);
-
-            return message.getText();
-        } finally {
-            if (consumer != null) consumer.close();
-            if (session != null) session.close();
-            if (connection != null) connection.close();
-        }
-    }
-}
-----
-
-
-==  MessagingBeanTest
-
-
-[source,java]
-----
-package org.superbiz.injection.jms;
-
-import junit.framework.TestCase;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-
-public class MessagingBeanTest extends TestCase {
-
-    public void test() throws Exception {
-
-        final Context context = EJBContainer.createEJBContainer().getContext();
-
-        Messages messages = (Messages) context.lookup("java:global/injection-of-connectionfactory/Messages");
-
-        messages.sendMessage("Hello World!");
-        messages.sendMessage("How are you?");
-        messages.sendMessage("Still spinning?");
-
-        assertEquals(messages.receiveMessage(), "Hello World!");
-        assertEquals(messages.receiveMessage(), "How are you?");
-        assertEquals(messages.receiveMessage(), "Still spinning?");
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.jms.MessagingBeanTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/injection-of-connectionfactory
-INFO - openejb.base = /Users/dblevins/examples/injection-of-connectionfactory
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/injection-of-connectionfactory/target/classes
-INFO - Beginning load: /Users/dblevins/examples/injection-of-connectionfactory/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/injection-of-connectionfactory
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean Messages: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default JMS Connection Factory, type=Resource, provider-id=Default JMS Connection Factory)
-INFO - Auto-creating a Resource with id 'Default JMS Connection Factory' of type 'javax.jms.ConnectionFactory for 'Messages'.
-INFO - Configuring Service(id=Default JMS Resource Adapter, type=Resource, provider-id=Default JMS Resource Adapter)
-INFO - Auto-linking resource-ref 'java:comp/env/org.superbiz.injection.jms.Messages/connectionFactory' in bean Messages to Resource(id=Default JMS Connection Factory)
-INFO - Configuring Service(id=org.superbiz.injection.jms.Messages/chatQueue, type=Resource, provider-id=Default Queue)
-INFO - Auto-creating a Resource with id 'org.superbiz.injection.jms.Messages/chatQueue' of type 'javax.jms.Queue for 'Messages'.
-INFO - Auto-linking resource-env-ref 'java:comp/env/org.superbiz.injection.jms.Messages/chatQueue' in bean Messages to Resource(id=org.superbiz.injection.jms.Messages/chatQueue)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.jms.MessagingBeanTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/injection-of-connectionfactory" loaded.
-INFO - Assembling app: /Users/dblevins/examples/injection-of-connectionfactory
-INFO - Jndi(name="java:global/injection-of-connectionfactory/Messages!org.superbiz.injection.jms.Messages")
-INFO - Jndi(name="java:global/injection-of-connectionfactory/Messages")
-INFO - Jndi(name="java:global/EjbModule1634151355/org.superbiz.injection.jms.MessagingBeanTest!org.superbiz.injection.jms.MessagingBeanTest")
-INFO - Jndi(name="java:global/EjbModule1634151355/org.superbiz.injection.jms.MessagingBeanTest")
-INFO - Created Ejb(deployment-id=Messages, ejb-name=Messages, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.jms.MessagingBeanTest, ejb-name=org.superbiz.injection.jms.MessagingBeanTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Messages, ejb-name=Messages, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.jms.MessagingBeanTest, ejb-name=org.superbiz.injection.jms.MessagingBeanTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/injection-of-connectionfactory)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.562 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/injection-of-datasource.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/injection-of-datasource.adoc b/src/main/jbake/content/examples/injection-of-datasource.adoc
deleted file mode 100755
index 4637a56..0000000
--- a/src/main/jbake/content/examples/injection-of-datasource.adoc
+++ /dev/null
@@ -1,248 +0,0 @@
-= Injection Of Datasource
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example injection-of-datasource can be browsed at https://github.com/apache/tomee/tree/master/examples/injection-of-datasource
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.injection;
-
-/**
- * @version $Revision: 607077 $ $Date: 2007-12-27 06:55:23 -0800 (Thu, 27 Dec 2007) $
- */
-public class Movie {
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-}
-----
-
-
-==  Movies
-
-
-[source,java]
-----
-package org.superbiz.injection;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
-import javax.ejb.Stateful;
-import javax.sql.DataSource;
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.util.ArrayList;
-import java.util.List;
-
-@Stateful
-public class Movies {
-
-    /**
-     * The field name "movieDatabase" matches the DataSource we
-     * configure in the TestCase via :
-     * p.put("movieDatabase", "new://Resource?type=DataSource");
-     * <p/>
-     * This would also match an equivalent delcaration in an openejb.xml:
-     * <Resource id="movieDatabase" type="DataSource"/>
-     * <p/>
-     * If you'd like the freedom to change the field name without
-     * impact on your configuration you can set the "name" attribute
-     * of the @Resource annotation to "movieDatabase" instead.
-     */
-    @Resource
-    private DataSource movieDatabase;
-
-    @PostConstruct
-    private void construct() throws Exception {
-        Connection connection = movieDatabase.getConnection();
-        try {
-            PreparedStatement stmt = connection.prepareStatement("CREATE TABLE movie ( director VARCHAR(255), title VARCHAR(255), year integer)");
-            stmt.execute();
-        } finally {
-            connection.close();
-        }
-    }
-
-    public void addMovie(Movie movie) throws Exception {
-        Connection conn = movieDatabase.getConnection();
-        try {
-            PreparedStatement sql = conn.prepareStatement("INSERT into movie (director, title, year) values (?, ?, ?)");
-            sql.setString(1, movie.getDirector());
-            sql.setString(2, movie.getTitle());
-            sql.setInt(3, movie.getYear());
-            sql.execute();
-        } finally {
-            conn.close();
-        }
-    }
-
-    public void deleteMovie(Movie movie) throws Exception {
-        Connection conn = movieDatabase.getConnection();
-        try {
-            PreparedStatement sql = conn.prepareStatement("DELETE from movie where director = ? AND title = ? AND year = ?");
-            sql.setString(1, movie.getDirector());
-            sql.setString(2, movie.getTitle());
-            sql.setInt(3, movie.getYear());
-            sql.execute();
-        } finally {
-            conn.close();
-        }
-    }
-
-    public List<Movie> getMovies() throws Exception {
-        ArrayList<Movie> movies = new ArrayList<Movie>();
-        Connection conn = movieDatabase.getConnection();
-        try {
-            PreparedStatement sql = conn.prepareStatement("SELECT director, title, year from movie");
-            ResultSet set = sql.executeQuery();
-            while (set.next()) {
-                Movie movie = new Movie();
-                movie.setDirector(set.getString("director"));
-                movie.setTitle(set.getString("title"));
-                movie.setYear(set.getInt("year"));
-                movies.add(movie);
-            }
-        } finally {
-            conn.close();
-        }
-        return movies;
-    }
-}
-----
-
-
-==  MoviesTest
-
-
-[source,java]
-----
-package org.superbiz.injection;
-
-import junit.framework.TestCase;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import java.util.List;
-import java.util.Properties;
-
-//START SNIPPET: code
-public class MoviesTest extends TestCase {
-
-    public void test() throws Exception {
-
-        Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        Context context = EJBContainer.createEJBContainer(p).getContext();
-
-        Movies movies = (Movies) context.lookup("java:global/injection-of-datasource/Movies");
-
-        movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-        movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-        movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 3, list.size());
-
-        for (Movie movie : list) {
-            movies.deleteMovie(movie);
-        }
-
-        assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.MoviesTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/injection-of-datasource
-INFO - openejb.base = /Users/dblevins/examples/injection-of-datasource
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/injection-of-datasource/target/classes
-INFO - Beginning load: /Users/dblevins/examples/injection-of-datasource/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/injection-of-datasource
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Auto-linking resource-ref 'java:comp/env/org.superbiz.injection.Movies/movieDatabase' in bean Movies to Resource(id=movieDatabase)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/injection-of-datasource" loaded.
-INFO - Assembling app: /Users/dblevins/examples/injection-of-datasource
-INFO - Jndi(name="java:global/injection-of-datasource/Movies!org.superbiz.injection.Movies")
-INFO - Jndi(name="java:global/injection-of-datasource/Movies")
-INFO - Jndi(name="java:global/EjbModule1508028338/org.superbiz.injection.MoviesTest!org.superbiz.injection.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule1508028338/org.superbiz.injection.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.MoviesTest, ejb-name=org.superbiz.injection.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.MoviesTest, ejb-name=org.superbiz.injection.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/injection-of-datasource)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.276 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/injection-of-ejbs.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/injection-of-ejbs.adoc b/src/main/jbake/content/examples/injection-of-ejbs.adoc
deleted file mode 100755
index 4eb9b59..0000000
--- a/src/main/jbake/content/examples/injection-of-ejbs.adoc
+++ /dev/null
@@ -1,234 +0,0 @@
-= Injection Of Ejbs
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example injection-of-ejbs can be browsed at https://github.com/apache/tomee/tree/master/examples/injection-of-ejbs
-
-
-This example shows how to use the @EJB annotation on a bean class to refer to other beans.
-
-This functionality is often referred as dependency injection (see
-http://www.martinfowler.com/articles/injection.html), and has been recently introduced in
-Java EE 5.
-
-In this particular example, we will create two session stateless beans
-
-  * a DataStore session bean
-  * a DataReader session bean
-
-The DataReader bean uses the DataStore to retrieve some informations, and
-we will see how we can, inside the DataReader bean, get a reference to the
-DataStore bean using the @EJB annotation, thus avoiding the use of the
-JNDI API.
-
-==  DataReader
-
-
-[source,java]
-----
-package org.superbiz.injection;
-
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-
-/**
- * This is an EJB 3.1 style pojo stateless session bean
- * Every stateless session bean implementation must be annotated
- * using the annotation @Stateless
- * This EJB has 2 business interfaces: DataReaderRemote, a remote business
- * interface, and DataReaderLocal, a local business interface
- * <p/>
- * The instance variables 'dataStoreRemote' is annotated with the @EJB annotation:
- * this means that the application server, at runtime, will inject in this instance
- * variable a reference to the EJB DataStoreRemote
- * <p/>
- * The instance variables 'dataStoreLocal' is annotated with the @EJB annotation:
- * this means that the application server, at runtime, will inject in this instance
- * variable a reference to the EJB DataStoreLocal
- */
-//START SNIPPET: code
-@Stateless
-public class DataReader {
-
-    @EJB
-    private DataStoreRemote dataStoreRemote;
-    @EJB
-    private DataStoreLocal dataStoreLocal;
-    @EJB
-    private DataStore dataStore;
-
-    public String readDataFromLocalStore() {
-        return "LOCAL:" + dataStoreLocal.getData();
-    }
-
-    public String readDataFromLocalBeanStore() {
-        return "LOCALBEAN:" + dataStore.getData();
-    }
-
-    public String readDataFromRemoteStore() {
-        return "REMOTE:" + dataStoreRemote.getData();
-    }
-}
-----
-
-
-==  DataStore
-
-
-[source,java]
-----
-package org.superbiz.injection;
-
-import javax.ejb.LocalBean;
-import javax.ejb.Stateless;
-
-/**
- * This is an EJB 3 style pojo stateless session bean
- * Every stateless session bean implementation must be annotated
- * using the annotation @Stateless
- * This EJB has 2 business interfaces: DataStoreRemote, a remote business
- * interface, and DataStoreLocal, a local business interface
- */
-//START SNIPPET: code
-@Stateless
-@LocalBean
-public class DataStore implements DataStoreLocal, DataStoreRemote {
-
-    public String getData() {
-        return "42";
-    }
-}
-----
-
-
-==  DataStoreLocal
-
-
-[source,java]
-----
-package org.superbiz.injection;
-
-import javax.ejb.Local;
-
-/**
- * This is an EJB 3 local business interface
- * A local business interface may be annotated with the @Local
- * annotation, but it's optional. A business interface which is
- * not annotated with @Local or @Remote is assumed to be Local
- */
-//START SNIPPET: code
-@Local
-public interface DataStoreLocal {
-
-    public String getData();
-}
-----
-
-
-==  DataStoreRemote
-
-
-[source,java]
-----
-package org.superbiz.injection;
-
-import javax.ejb.Remote;
-
-/**
- * This is an EJB 3 remote business interface
- * A remote business interface must be annotated with the @Remote
- * annotation
- */
-//START SNIPPET: code
-@Remote
-public interface DataStoreRemote {
-
-    public String getData();
-}
-----
-
-
-==  EjbDependencyTest
-
-
-[source,java]
-----
-package org.superbiz.injection;
-
-import junit.framework.TestCase;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-
-/**
- * A test case for DataReaderImpl ejb, testing both the remote and local interface
- */
-//START SNIPPET: code
-public class EjbDependencyTest extends TestCase {
-
-    public void test() throws Exception {
-        final Context context = EJBContainer.createEJBContainer().getContext();
-
-        DataReader dataReader = (DataReader) context.lookup("java:global/injection-of-ejbs/DataReader");
-
-        assertNotNull(dataReader);
-
-        assertEquals("LOCAL:42", dataReader.readDataFromLocalStore());
-        assertEquals("REMOTE:42", dataReader.readDataFromRemoteStore());
-        assertEquals("LOCALBEAN:42", dataReader.readDataFromLocalBeanStore());
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.EjbDependencyTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/injection-of-ejbs
-INFO - openejb.base = /Users/dblevins/examples/injection-of-ejbs
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/injection-of-ejbs/target/classes
-INFO - Beginning load: /Users/dblevins/examples/injection-of-ejbs/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/injection-of-ejbs
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean DataReader: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.EjbDependencyTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/injection-of-ejbs" loaded.
-INFO - Assembling app: /Users/dblevins/examples/injection-of-ejbs
-INFO - Jndi(name="java:global/injection-of-ejbs/DataReader!org.superbiz.injection.DataReader")
-INFO - Jndi(name="java:global/injection-of-ejbs/DataReader")
-INFO - Jndi(name="java:global/injection-of-ejbs/DataStore!org.superbiz.injection.DataStore")
-INFO - Jndi(name="java:global/injection-of-ejbs/DataStore!org.superbiz.injection.DataStoreLocal")
-INFO - Jndi(name="java:global/injection-of-ejbs/DataStore!org.superbiz.injection.DataStoreRemote")
-INFO - Jndi(name="java:global/injection-of-ejbs/DataStore")
-INFO - Jndi(name="java:global/EjbModule355598874/org.superbiz.injection.EjbDependencyTest!org.superbiz.injection.EjbDependencyTest")
-INFO - Jndi(name="java:global/EjbModule355598874/org.superbiz.injection.EjbDependencyTest")
-INFO - Created Ejb(deployment-id=DataReader, ejb-name=DataReader, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=DataStore, ejb-name=DataStore, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.EjbDependencyTest, ejb-name=org.superbiz.injection.EjbDependencyTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=DataReader, ejb-name=DataReader, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=DataStore, ejb-name=DataStore, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.EjbDependencyTest, ejb-name=org.superbiz.injection.EjbDependencyTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/injection-of-ejbs)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.225 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/injection-of-entitymanager.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/injection-of-entitymanager.adoc b/src/main/jbake/content/examples/injection-of-entitymanager.adoc
deleted file mode 100755
index e80e407..0000000
--- a/src/main/jbake/content/examples/injection-of-entitymanager.adoc
+++ /dev/null
@@ -1,249 +0,0 @@
-= Injection Of Entitymanager
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example injection-of-entitymanager can be browsed at https://github.com/apache/tomee/tree/master/examples/injection-of-entitymanager
-
-
-This example shows use of `@PersistenceContext` to have an `EntityManager` with an
-`EXTENDED` persistence context injected into a `@Stateful bean`. A JPA
-`@Entity` bean is used with the `EntityManager` to create, persist and merge
-data to a database.
-
-==  Creating the JPA Entity
-
-The entity itself is simply a pojo annotated with `@Entity`.  We create one called `Movie` which we can use to hold movie records.
-
-
-[source,java]
-----
-package org.superbiz.injection.jpa;
-
-import javax.persistence.Entity;
-
-@Entity
-public class Movie {
-
-    @Id @GeneratedValue
-    private long id;
-
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public long getId() {
-        return id;
-    }
-
-    public void setId(long id) {
-        this.id = id;
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-}
-----
-
-
-==  Configure the EntityManager via a persistence.xml file
-
-The above `Movie` entity can be created, removed, updated or deleted via an `EntityManager` object.  The `EntityManager` itself is
-configured via a `META-INF/persistence.xml` file that is placed in the same jar as the `Movie` entity.
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
-  <persistence-unit name="movie-unit">
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <class>org.superbiz.injection.jpa.Movie</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-Notice that the `Movie` entity is listed via a `<class>` element.  This is not required, but can help when testing or when the
-`Movie` class is located in a different jar than the jar containing the `persistence.xml` file.
-
-==  Injection via @PersistenceContext
-
-The `EntityManager` itself is created by the container using the information in the `persistence.xml`, so to use it at
-runtime, we simply need to request it be injected into one of our components.  We do this via `@PersistenceContext`
-
-The `@PersistenceContext` annotation can be used on any CDI bean, EJB, Servlet, Servlet Listener, Servlet Filter, or JSF ManagedBean.  If you don't use an EJB you will need to use a `UserTransaction` begin and commit transactions manually.  A transaction is required for any of the create, update or delete methods of the EntityManager to work.
-
-
-[source,java]
-----
-package org.superbiz.injection.jpa;
-
-import javax.ejb.Stateful;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-@Stateful
-public class Movies {
-
-    @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED)
-    private EntityManager entityManager;
-
-    public void addMovie(Movie movie) throws Exception {
-        entityManager.persist(movie);
-    }
-
-    public void deleteMovie(Movie movie) throws Exception {
-        entityManager.remove(movie);
-    }
-
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-}
-----
-
-
-This particular `EntityManager` is injected as an `EXTENDED` persistence context, which simply means that the `EntityManager`
-is created when the `@Stateful` bean is created and destroyed when the `@Stateful` bean is destroyed.  Simply put, the
-data in the `EntityManager` is cached for the lifetime of the `@Stateful` bean.
-
-The use of `EXTENDED` persistence contexts is **only** available to `@Stateful` beans.  See the link:../../jpa-concepts.html[JPA Concepts] page for an high level explanation of what a "persistence context" really is and how it is significant to JPA.
-
-==  MoviesTest
-
-Testing JPA is quite easy, we can simply use the `EJBContainer` API to create a container in our test case.
-
-
-[source,java]
-----
-package org.superbiz.injection.jpa;
-
-import junit.framework.TestCase;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import java.util.List;
-import java.util.Properties;
-
-//START SNIPPET: code
-public class MoviesTest extends TestCase {
-
-    public void test() throws Exception {
-
-        final Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        final Context context = EJBContainer.createEJBContainer(p).getContext();
-
-        Movies movies = (Movies) context.lookup("java:global/injection-of-entitymanager/Movies");
-
-        movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-        movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-        movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 3, list.size());
-
-        for (Movie movie : list) {
-            movies.deleteMovie(movie);
-        }
-
-        assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-    }
-}
-----
-
-
-=  Running
-
-When we run our test case we should see output similar to the following.
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.jpa.MoviesTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/injection-of-entitymanager
-INFO - openejb.base = /Users/dblevins/examples/injection-of-entitymanager
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/injection-of-entitymanager/target/classes
-INFO - Beginning load: /Users/dblevins/examples/injection-of-entitymanager/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/injection-of-entitymanager
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.jpa.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/injection-of-entitymanager" loaded.
-INFO - Assembling app: /Users/dblevins/examples/injection-of-entitymanager
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 462ms
-INFO - Jndi(name="java:global/injection-of-entitymanager/Movies!org.superbiz.injection.jpa.Movies")
-INFO - Jndi(name="java:global/injection-of-entitymanager/Movies")
-INFO - Jndi(name="java:global/EjbModule1461341140/org.superbiz.injection.jpa.MoviesTest!org.superbiz.injection.jpa.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule1461341140/org.superbiz.injection.jpa.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.jpa.MoviesTest, ejb-name=org.superbiz.injection.jpa.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.jpa.MoviesTest, ejb-name=org.superbiz.injection.jpa.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/injection-of-entitymanager)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.301 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/injection-of-env-entry.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/injection-of-env-entry.adoc b/src/main/jbake/content/examples/injection-of-env-entry.adoc
deleted file mode 100755
index add6d0e..0000000
--- a/src/main/jbake/content/examples/injection-of-env-entry.adoc
+++ /dev/null
@@ -1,271 +0,0 @@
-= Using EnvEntries
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example injection-of-env-entry can be browsed at https://github.com/apache/tomee/tree/master/examples/injection-of-env-entry
-
-
-The `@Resource` annotation can be used to inject several things including
-DataSources, Topics, Queues, etc.  Most of these are container supplied objects.
-
-It is possible, however, to supply your own values to be injected via an `<env-entry>`
-in your `ejb-jar.xml` or `web.xml` deployment descriptor.  Java EE 6 supported `<env-entry>` types
-are limited to the following:
-
- - java.lang.String
- - java.lang.Integer
- - java.lang.Short
- - java.lang.Float
- - java.lang.Double
- - java.lang.Byte
- - java.lang.Character
- - java.lang.Boolean
- - java.lang.Class
- - java.lang.Enum (any enum)
-
-See also the link:../custom-injection[Custom Injection] exmaple for a TomEE and OpenEJB feature that will let you
-use more than just the above types as well as declare `<env-entry>` items with a plain properties file.
-
-=  Using @Resource for basic properties
-
-The use of the `@Resource` annotation isn't limited to setters.  For
-example, this annotation could have been used on the corresponding *field*
-like so:
-
-
-[source,java]
-----
-@Resource
-private int maxLineItems;
-
-A fuller example might look like this:
-
-package org.superbiz.injection.enventry;
-
-import javax.annotation.Resource;
-import javax.ejb.Singleton;
-import java.util.Date;
-
-@Singleton
-public class Configuration {
-
-    @Resource
-    private String color;
-
-    @Resource
-    private Shape shape;
-
-    @Resource
-    private Class strategy;
-
-    @Resource(name = "date")
-    private long date;
-
-    public String getColor() {
-        return color;
-    }
-
-    public Shape getShape() {
-        return shape;
-    }
-
-    public Class getStrategy() {
-        return strategy;
-    }
-
-    public Date getDate() {
-        return new Date(date);
-    }
-}
-----
-
-
-Here we have an `@Singleton` bean called `Confuration` that has the following properties (`<env-entry>` items)
-
-- String color
-- Shape shape
-- Class strategy
-- long date
-
-==  Supplying @Resource values for <env-entry> items in ejb-jar.xml
-
-The values for our `color`, `shape`, `strategy` and `date` properties are supplied via `<env-entry>` elements in the `ejb-jar.xml` file or the
-`web.xml` file like so:
-
-
-
-[source,xml]
-----
-<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" version="3.0" metadata-complete="false">
-  <enterprise-beans>
-    <session>
-      <ejb-name>Configuration</ejb-name>
-      <env-entry>
-        <env-entry-name>org.superbiz.injection.enventry.Configuration/color</env-entry-name>
-        <env-entry-type>java.lang.String</env-entry-type>
-        <env-entry-value>orange</env-entry-value>
-      </env-entry>
-      <env-entry>
-        <env-entry-name>org.superbiz.injection.enventry.Configuration/shape</env-entry-name>
-        <env-entry-type>org.superbiz.injection.enventry.Shape</env-entry-type>
-        <env-entry-value>TRIANGLE</env-entry-value>
-      </env-entry>
-      <env-entry>
-        <env-entry-name>org.superbiz.injection.enventry.Configuration/strategy</env-entry-name>
-        <env-entry-type>java.lang.Class</env-entry-type>
-        <env-entry-value>org.superbiz.injection.enventry.Widget</env-entry-value>
-      </env-entry>
-      <env-entry>
-        <description>The name was explicitly set in the annotation so the classname prefix isn't required</description>
-        <env-entry-name>date</env-entry-name>
-        <env-entry-type>java.lang.Long</env-entry-type>
-        <env-entry-value>123456789</env-entry-value>
-      </env-entry>
-    </session>
-  </enterprise-beans>
-</ejb-jar>
-----
-
-
-
-===  Using the @Resource 'name' attribute
-
-Note that `date` was referenced by `name` as:
-
-
-[source,java]
-----
-@Resource(name = "date")
-private long date;
-
-When the `@Resource(name)` is used, you do not need to specify the full class name of the bean and can do it briefly like so:
-
-  <env-entry>
-    <description>The name was explicitly set in the annotation so the classname prefix isn't required</description>
-    <env-entry-name>date</env-entry-name>
-    <env-entry-type>java.lang.Long</env-entry-type>
-    <env-entry-value>123456789</env-entry-value>
-  </env-entry>
-
-Conversly, `color` was not referenced by `name`
-
-@Resource
-private String color;
-
-When something is not referenced by `name` in the `@Resource` annotation a default name is created.  The format is essentially this:
-
-bean.getClass() + "/" + field.getName()
-
-So the default `name` of the above `color` property ends up being `org.superbiz.injection.enventry.Configuration/color`.  This is the name
-we must use when we attempt to decalre a value for it in xml.
-
-  <env-entry>
-    <env-entry-name>org.superbiz.injection.enventry.Configuration/color</env-entry-name>
-    <env-entry-type>java.lang.String</env-entry-type>
-    <env-entry-value>orange</env-entry-value>
-  </env-entry>
-
-### @Resource and Enum (Enumerations)
-
-The `shape` field is actually a custom Java Enum type
-
-package org.superbiz.injection.enventry;
-
-public enum Shape {
-
-    CIRCLE,
-    TRIANGLE,
-    SQUARE
-}
-----
-
-
-As of Java EE 6, java.lang.Enum types are allowed as `<env-entry>` items.  Declaring one in xml is done using the actual enum's class name like so:
-
-          <env-entry>
-            <env-entry-name>org.superbiz.injection.enventry.Configuration/shape</env-entry-name>
-            <env-entry-type>org.superbiz.injection.enventry.Shape</env-entry-type>
-            <env-entry-value>TRIANGLE</env-entry-value>
-          </env-entry>
-
-Do not use `<env-entry-type>java.lang.Enum</env-entry-type>` or it will not work!
-
-==  ConfigurationTest
-
-
-[source,java]
-----
-package org.superbiz.injection.enventry;
-
-import junit.framework.TestCase;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import java.util.Date;
-
-public class ConfigurationTest extends TestCase {
-
-
-    public void test() throws Exception {
-        final Context context = EJBContainer.createEJBContainer().getContext();
-
-        final Configuration configuration = (Configuration) context.lookup("java:global/injection-of-env-entry/Configuration");
-
-        assertEquals("orange", configuration.getColor());
-
-        assertEquals(Shape.TRIANGLE, configuration.getShape());
-
-        assertEquals(Widget.class, configuration.getStrategy());
-
-        assertEquals(new Date(123456789), configuration.getDate());
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.enventry.ConfigurationTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/injection-of-env-entry
-INFO - openejb.base = /Users/dblevins/examples/injection-of-env-entry
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/injection-of-env-entry/target/classes
-INFO - Beginning load: /Users/dblevins/examples/injection-of-env-entry/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/injection-of-env-entry
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-INFO - Auto-creating a container for bean Configuration: Container(type=SINGLETON, id=Default Singleton Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.enventry.ConfigurationTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/injection-of-env-entry" loaded.
-INFO - Assembling app: /Users/dblevins/examples/injection-of-env-entry
-INFO - Jndi(name="java:global/injection-of-env-entry/Configuration!org.superbiz.injection.enventry.Configuration")
-INFO - Jndi(name="java:global/injection-of-env-entry/Configuration")
-INFO - Jndi(name="java:global/EjbModule1355224018/org.superbiz.injection.enventry.ConfigurationTest!org.superbiz.injection.enventry.ConfigurationTest")
-INFO - Jndi(name="java:global/EjbModule1355224018/org.superbiz.injection.enventry.ConfigurationTest")
-INFO - Created Ejb(deployment-id=org.superbiz.injection.enventry.ConfigurationTest, ejb-name=org.superbiz.injection.enventry.ConfigurationTest, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=Configuration, ejb-name=Configuration, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.enventry.ConfigurationTest, ejb-name=org.superbiz.injection.enventry.ConfigurationTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Configuration, ejb-name=Configuration, container=Default Singleton Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/injection-of-env-entry)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.664 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    


[09/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/struts.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/struts.adoc b/src/main/jbake/content/examples/struts.adoc
deleted file mode 100755
index 4de6de7..0000000
--- a/src/main/jbake/content/examples/struts.adoc
+++ /dev/null
@@ -1,439 +0,0 @@
-= Struts
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example struts can be browsed at https://github.com/apache/tomee/tree/master/examples/struts
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  AddUser
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Properties;
-
-
-public class AddUser {
-
-    private int id;
-    private String firstName;
-    private String lastName;
-    private String errorMessage;
-
-
-    public String getFirstName() {
-        return firstName;
-    }
-
-    public void setFirstName(String firstName) {
-        this.firstName = firstName;
-    }
-
-    public String getLastName() {
-        return lastName;
-    }
-
-    public void setLastName(String lastName) {
-        this.lastName = lastName;
-    }
-
-    public String getErrorMessage() {
-        return errorMessage;
-    }
-
-    public void setErrorMessage(String errorMessage) {
-        this.errorMessage = errorMessage;
-    }
-
-    public int getId() {
-        return id;
-    }
-
-    public void setId(int id) {
-        this.id = id;
-    }
-
-    public String execute() {
-
-        try {
-            UserService service = null;
-            Properties props = new Properties();
-            props.put(Context.INITIAL_CONTEXT_FACTORY,
-                    "org.apache.openejb.core.LocalInitialContextFactory");
-            Context ctx = new InitialContext(props);
-            service = (UserService) ctx.lookup("UserServiceImplLocal");
-            service.add(new User(id, firstName, lastName));
-        } catch (Exception e) {
-            this.errorMessage = e.getMessage();
-            return "failure";
-        }
-
-        return "success";
-    }
-}
-----
-
-
-==  AddUserForm
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import com.opensymphony.xwork2.ActionSupport;
-
-
-public class AddUserForm extends ActionSupport {
-}
-----
-
-
-==  FindUser
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Properties;
-
-public class FindUser {
-
-    private int id;
-    private String errorMessage;
-    private User user;
-
-    public User getUser() {
-        return user;
-    }
-
-    public void setUser(User user) {
-        this.user = user;
-    }
-
-    public String getErrorMessage() {
-        return errorMessage;
-    }
-
-    public void setErrorMessage(String errorMessage) {
-        this.errorMessage = errorMessage;
-    }
-
-    public int getId() {
-        return id;
-    }
-
-    public void setId(int id) {
-        this.id = id;
-    }
-
-    public String execute() {
-
-        try {
-            UserService service = null;
-            Properties props = new Properties();
-            props.put(Context.INITIAL_CONTEXT_FACTORY,
-                    "org.apache.openejb.core.LocalInitialContextFactory");
-            Context ctx = new InitialContext(props);
-            service = (UserService) ctx.lookup("UserServiceImplLocal");
-            this.user = service.find(id);
-        } catch (Exception e) {
-            this.errorMessage = e.getMessage();
-            return "failure";
-        }
-
-        return "success";
-    }
-}
-----
-
-
-==  FindUserForm
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import com.opensymphony.xwork2.ActionSupport;
-
-
-public class FindUserForm extends ActionSupport {
-}
-----
-
-
-==  ListAllUsers
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.List;
-import java.util.Properties;
-
-public class ListAllUsers {
-
-    private int id;
-    private String errorMessage;
-    private List<User> users;
-
-    public List<User> getUsers() {
-        return users;
-    }
-
-    public void setUsers(List<User> users) {
-        this.users = users;
-    }
-
-    public String getErrorMessage() {
-        return errorMessage;
-    }
-
-    public void setErrorMessage(String errorMessage) {
-        this.errorMessage = errorMessage;
-    }
-
-    public int getId() {
-        return id;
-    }
-
-    public void setId(int id) {
-        this.id = id;
-    }
-
-    public String execute() {
-
-        try {
-            UserService service = null;
-            Properties props = new Properties();
-            props.put(Context.INITIAL_CONTEXT_FACTORY,
-                    "org.apache.openejb.core.LocalInitialContextFactory");
-            Context ctx = new InitialContext(props);
-            service = (UserService) ctx.lookup("UserServiceImplLocal");
-            this.users = service.findAll();
-        } catch (Exception e) {
-            this.errorMessage = e.getMessage();
-            return "failure";
-        }
-
-        return "success";
-    }
-}
-----
-
-
-==  User
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
-import java.io.Serializable;
-
-@Entity
-@Table(name = "USER")
-public class User implements Serializable {
-    private long id;
-    private String firstName;
-    private String lastName;
-
-    public User(long id, String firstName, String lastName) {
-        super();
-        this.id = id;
-        this.firstName = firstName;
-        this.lastName = lastName;
-    }
-
-    public User() {
-    }
-
-    @Id
-    public long getId() {
-        return id;
-    }
-
-    public void setId(long id) {
-        this.id = id;
-    }
-
-    public String getFirstName() {
-        return firstName;
-    }
-
-    public void setFirstName(String firstName) {
-        this.firstName = firstName;
-    }
-
-    public String getLastName() {
-        return lastName;
-    }
-
-    public void setLastName(String lastName) {
-        this.lastName = lastName;
-    }
-}
-----
-
-
-==  UserService
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import java.util.List;
-
-public interface UserService {
-    public void add(User user);
-
-    public User find(int id);
-
-    public List<User> findAll();
-}
-----
-
-
-==  UserServiceImpl
-
-
-[source,java]
-----
-package org.superbiz.struts;
-
-import javax.ejb.Stateless;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import java.util.List;
-
-@Stateless
-public class UserServiceImpl implements UserService {
-
-    @PersistenceContext(unitName = "user")
-    private EntityManager manager;
-
-    public void add(User user) {
-        manager.persist(user);
-    }
-
-    public User find(int id) {
-        return manager.find(User.class, id);
-    }
-
-    public List<User> findAll() {
-        return manager.createQuery("select u from User u").getResultList();
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-</persistence-unit>
-
-  -->
-</persistence>
-
-## struts.xml
-
-<struts>
-  <constant name="struts.devMode" value="true"></constant>
-  <package name="default" namespace="/" extends="struts-default">
-    <action name="addUserForm" class="org.superbiz.struts.AddUserForm">
-      <result>/addUserForm.jsp</result>
-    </action>
-    <action name="addUser" class="org.superbiz.struts.AddUser">
-      <result name="success">/addedUser.jsp</result>
-      <result name='failure'>/addUserForm.jsp</result>
-    </action>
-    <action name="findUserForm" class="org.superbiz.struts.FindUserForm">
-      <result>/findUserForm.jsp</result>
-    </action>
-    <action name="findUser" class="org.superbiz.struts.FindUser">
-      <result name='success'>/displayUser.jsp</result>
-      <result name='failure'>/findUserForm.jsp</result>
-    </action>
-    <action name="listAllUsers" class="org.superbiz.struts.ListAllUsers">
-      <result>/displayUsers.jsp</result>
-    </action>
-
-  </package>
-</struts>
-
-## decorators.xml
-
-<decorators defaultdir="/decorators">
-  <decorator name="main" page="layout.jsp">
-    <pattern>/*</pattern>
-  </decorator>
-</decorators>
-
-## web.xml
-
-<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
-         version="2.5">
-  <display-name>Learn EJB3 and Struts2</display-name>
-  <filter>
-    <filter-name>struts2</filter-name>
-    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
-    <init-param>
-      <param-name>actionPackages</param-name>
-      <param-value>com.lq</param-value>
-    </init-param>
-  </filter>
-  <filter>
-    <filter-name>struts-cleanup</filter-name>
-    <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
-  </filter>
-  <filter>
-    <filter-name>sitemesh</filter-name>
-    <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
-  </filter>
-  <filter-mapping>
-    <filter-name>struts-cleanup</filter-name>
-    <url-pattern>/*</url-pattern>
-  </filter-mapping>
-  <filter-mapping>
-    <filter-name>sitemesh</filter-name>
-    <url-pattern>/*</url-pattern>
-  </filter-mapping>
-  <filter-mapping>
-    <filter-name>struts2</filter-name>
-    <url-pattern>/*</url-pattern>
-  </filter-mapping>
-  <welcome-file-list>
-    <welcome-file>index.jsp</welcome-file>
-  </welcome-file-list>
-  <jsp-config>
-    <jsp-property-group>
-      <description>JSP configuration of all the JSP's</description>
-      <url-pattern>*.jsp</url-pattern>
-      <include-prelude>/prelude.jspf</include-prelude>
-    </jsp-property-group>
-  </jsp-config>
-</web-app>
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/telephone-stateful.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/telephone-stateful.adoc b/src/main/jbake/content/examples/telephone-stateful.adoc
deleted file mode 100755
index ac38237..0000000
--- a/src/main/jbake/content/examples/telephone-stateful.adoc
+++ /dev/null
@@ -1,248 +0,0 @@
-= Telephone Stateful
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example telephone-stateful can be browsed at https://github.com/apache/tomee/tree/master/examples/telephone-stateful
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-This example shows how to use OpenEJB's remoting capabilities in an embedded scenario.
-
-The basic recipe is the same for a standard embedded scenario but with these added
-ingreditents:
-
-  * `openejb.embedded.remotable` property
-  * `openejb-ejbd` jar
-
-While creating the InitialContext, pass in the openejb.embedded.remotable property with
-the value of "true".  When this is seen by the LocalInitialContextFactory, it will boot up
-the Server ServiceManager in the VM which will in turn look for ServerServices in the
-classpath.
-
-Provided you have the openejb-ejbd jar in your classpath along with it's dependencies
-(openejb-server, openejb-client, openejb-core), then those services will be brought online
-and remote clients will be able to connect into your vm and invoke beans.
-
-If you want to add more ServerServices such as the http version of the ejbd protocol you'd
-simply add the openejb-httpejbd jar to your classpath.  A number of ServerServices are
-available currently:
-
-  * openejb-ejbd
-  * openejb-http
-  * openejb-telnet
-  * openejb-derbynet
-  * openejb-hsql
-  * openejb-activemq
-
-
-==  Telephone
-
-
-[source,java]
-----
-package org.superbiz.telephone;
-
-public interface Telephone {
-
-    void speak(String words);
-
-    String listen();
-}
-----
-
-
-==  TelephoneBean
-
-
-[source,java]
-----
-package org.superbiz.telephone;
-
-import javax.ejb.Remote;
-import javax.ejb.Stateful;
-import java.util.ArrayList;
-import java.util.List;
-
-@Remote
-@Stateful
-public class TelephoneBean implements Telephone {
-
-    private static final String[] answers = {
-            "How nice.",
-            "Oh, of course.",
-            "Interesting.",
-            "Really?",
-            "No.",
-            "Definitely.",
-            "I wondered about that.",
-            "Good idea.",
-            "You don't say!",
-    };
-
-    private List<String> conversation = new ArrayList<String>();
-
-    public void speak(String words) {
-        conversation.add(words);
-    }
-
-    public String listen() {
-        if (conversation.size() == 0) {
-            return "Nothing has been said";
-        }
-
-        String lastThingSaid = conversation.get(conversation.size() - 1);
-        return answers[Math.abs(lastThingSaid.hashCode()) % answers.length];
-    }
-}
-----
-
-
-==  TelephoneTest
-
-
-[source,java]
-----
-package org.superbiz.telephone;
-
-import junit.framework.TestCase;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Properties;
-
-/**
- * @version $Rev: 1090810 $ $Date: 2011-04-10 07:49:26 -0700 (Sun, 10 Apr 2011) $
- */
-public class TelephoneTest extends TestCase {
-
-    protected void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        properties.setProperty("openejb.embedded.remotable", "true");
-        // Uncomment these properties to change the defaults
-        //properties.setProperty("ejbd.port", "4202");
-        //properties.setProperty("ejbd.bind", "localhost");
-        //properties.setProperty("ejbd.threads", "200");
-        //properties.setProperty("ejbd.disabled", "false");
-        //properties.setProperty("ejbd.only_from", "127.0.0.1,192.168.1.1");
-
-        new InitialContext(properties);
-    }
-
-    /**
-     * Lookup the Telephone bean via its remote interface but using the LocalInitialContextFactory
-     *
-     * @throws Exception
-     */
-    public void testTalkOverLocalNetwork() throws Exception {
-
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        InitialContext localContext = new InitialContext(properties);
-
-        Telephone telephone = (Telephone) localContext.lookup("TelephoneBeanRemote");
-
-        telephone.speak("Did you know I am talking directly through the embedded container?");
-
-        assertEquals("Interesting.", telephone.listen());
-
-
-        telephone.speak("Yep, I'm using the bean's remote interface but since the ejb container is embedded " +
-                "in the same vm I'm just using the LocalInitialContextFactory.");
-
-        assertEquals("Really?", telephone.listen());
-
-
-        telephone.speak("Right, you really only have to use the RemoteInitialContextFactory if you're in a different vm.");
-
-        assertEquals("Oh, of course.", telephone.listen());
-    }
-
-    /**
-     * Lookup the Telephone bean via its remote interface using the RemoteInitialContextFactory
-     *
-     * @throws Exception
-     */
-    public void testTalkOverRemoteNetwork() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
-        properties.setProperty(Context.PROVIDER_URL, "ejbd://localhost:4201");
-        InitialContext remoteContext = new InitialContext(properties);
-
-        Telephone telephone = (Telephone) remoteContext.lookup("TelephoneBeanRemote");
-
-        telephone.speak("Is this a local call?");
-
-        assertEquals("No.", telephone.listen());
-
-
-        telephone.speak("This would be a lot cooler if I was connecting from another VM then, huh?");
-
-        assertEquals("I wondered about that.", telephone.listen());
-
-
-        telephone.speak("I suppose I should hangup and call back over the LocalInitialContextFactory.");
-
-        assertEquals("Good idea.", telephone.listen());
-
-
-        telephone.speak("I'll remember this though in case I ever have to call you accross a network.");
-
-        assertEquals("Definitely.", telephone.listen());
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.telephone.TelephoneTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/telephone-stateful
-INFO - openejb.base = /Users/dblevins/examples/telephone-stateful
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/telephone-stateful/target/classes
-INFO - Beginning load: /Users/dblevins/examples/telephone-stateful/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/telephone-stateful/classpath.ear
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean TelephoneBean: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Enterprise application "/Users/dblevins/examples/telephone-stateful/classpath.ear" loaded.
-INFO - Assembling app: /Users/dblevins/examples/telephone-stateful/classpath.ear
-INFO - Jndi(name=TelephoneBeanRemote) --> Ejb(deployment-id=TelephoneBean)
-INFO - Jndi(name=global/classpath.ear/telephone-stateful/TelephoneBean!org.superbiz.telephone.Telephone) --> Ejb(deployment-id=TelephoneBean)
-INFO - Jndi(name=global/classpath.ear/telephone-stateful/TelephoneBean) --> Ejb(deployment-id=TelephoneBean)
-INFO - Created Ejb(deployment-id=TelephoneBean, ejb-name=TelephoneBean, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=TelephoneBean, ejb-name=TelephoneBean, container=Default Stateful Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/telephone-stateful/classpath.ear)
-INFO - Initializing network services
-INFO - Creating ServerService(id=admin)
-INFO - Creating ServerService(id=ejbd)
-INFO - Creating ServerService(id=ejbds)
-INFO - Initializing network services
-  ** Starting Services **
-  NAME                 IP              PORT  
-  admin thread         127.0.0.1       4200  
-  ejbd                 127.0.0.1       4201  
-  ejbd                 127.0.0.1       4203  
--------
-Ready!
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.448 sec
-
-Results :
-
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/testcase-injection.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/testcase-injection.adoc b/src/main/jbake/content/examples/testcase-injection.adoc
deleted file mode 100755
index bc6e704..0000000
--- a/src/main/jbake/content/examples/testcase-injection.adoc
+++ /dev/null
@@ -1,240 +0,0 @@
-= Testcase Injection
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example testcase-injection can be browsed at https://github.com/apache/tomee/tree/master/examples/testcase-injection
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.testinjection;
-
-import javax.persistence.Entity;
-
-@Entity
-public class Movie {
-
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-}
-----
-
-
-==  Movies
-
-
-[source,java]
-----
-package org.superbiz.testinjection;
-
-import javax.ejb.Stateful;
-import javax.ejb.TransactionAttribute;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-import static javax.ejb.TransactionAttributeType.MANDATORY;
-
-//START SNIPPET: code
-@Stateful
-@TransactionAttribute(MANDATORY)
-public class Movies {
-
-    @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.TRANSACTION)
-    private EntityManager entityManager;
-
-    public void addMovie(Movie movie) throws Exception {
-        entityManager.persist(movie);
-    }
-
-    public void deleteMovie(Movie movie) throws Exception {
-        entityManager.remove(movie);
-    }
-
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
-  <persistence-unit name="movie-unit">
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <class>org.superbiz.testinjection.Movie</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  MoviesTest
-
-
-[source,java]
-----
-package org.superbiz.testinjection;
-
-import junit.framework.TestCase;
-
-import javax.annotation.Resource;
-import javax.ejb.EJB;
-import javax.ejb.embeddable.EJBContainer;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.transaction.UserTransaction;
-import java.util.List;
-import java.util.Properties;
-
-//START SNIPPET: code
-public class MoviesTest extends TestCase {
-
-    @EJB
-    private Movies movies;
-
-    @Resource
-    private UserTransaction userTransaction;
-
-    @PersistenceContext
-    private EntityManager entityManager;
-
-    public void setUp() throws Exception {
-        Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
-    }
-
-    public void test() throws Exception {
-
-        userTransaction.begin();
-
-        try {
-            entityManager.persist(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            entityManager.persist(new Movie("Joel Coen", "Fargo", 1996));
-            entityManager.persist(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-            List<Movie> list = movies.getMovies();
-            assertEquals("List.size()", 3, list.size());
-
-            for (Movie movie : list) {
-                movies.deleteMovie(movie);
-            }
-
-            assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-        } finally {
-            userTransaction.commit();
-        }
-
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.testinjection.MoviesTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/testcase-injection
-INFO - openejb.base = /Users/dblevins/examples/testcase-injection
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/testcase-injection/target/classes
-INFO - Beginning load: /Users/dblevins/examples/testcase-injection/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/testcase-injection
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.testinjection.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/testcase-injection" loaded.
-INFO - Assembling app: /Users/dblevins/examples/testcase-injection
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 408ms
-INFO - Jndi(name="java:global/testcase-injection/Movies!org.superbiz.testinjection.Movies")
-INFO - Jndi(name="java:global/testcase-injection/Movies")
-INFO - Jndi(name="java:global/EjbModule1583515396/org.superbiz.testinjection.MoviesTest!org.superbiz.testinjection.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule1583515396/org.superbiz.testinjection.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=org.superbiz.testinjection.MoviesTest, ejb-name=org.superbiz.testinjection.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=org.superbiz.testinjection.MoviesTest, ejb-name=org.superbiz.testinjection.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/testcase-injection)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.24 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/testing-security-2.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/testing-security-2.adoc b/src/main/jbake/content/examples/testing-security-2.adoc
deleted file mode 100755
index c8a2491..0000000
--- a/src/main/jbake/content/examples/testing-security-2.adoc
+++ /dev/null
@@ -1,306 +0,0 @@
-= Testing Security 2
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example testing-security-2 can be browsed at https://github.com/apache/tomee/tree/master/examples/testing-security-2
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-import javax.persistence.Entity;
-
-@Entity
-public class Movie {
-
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-}
-----
-
-
-==  Movies
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-//START SNIPPET: code
-
-import javax.annotation.security.PermitAll;
-import javax.annotation.security.RolesAllowed;
-import javax.ejb.Stateful;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-@Stateful
-public class Movies {
-
-    @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED)
-    private EntityManager entityManager;
-
-    @RolesAllowed({"Employee", "Manager"})
-    public void addMovie(Movie movie) throws Exception {
-        entityManager.persist(movie);
-    }
-
-    @RolesAllowed({"Manager"})
-    public void deleteMovie(Movie movie) throws Exception {
-        entityManager.remove(movie);
-    }
-
-    @PermitAll
-    @TransactionAttribute(TransactionAttributeType.SUPPORTS)
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
-  <persistence-unit name="movie-unit">
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <class>org.superbiz.injection.secure.Movie</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  MovieTest
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-import junit.framework.TestCase;
-
-import javax.ejb.EJB;
-import javax.ejb.EJBAccessException;
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.List;
-import java.util.Properties;
-
-//START SNIPPET: code
-public class MovieTest extends TestCase {
-
-    @EJB
-    private Movies movies;
-
-    protected void setUp() throws Exception {
-
-        // Uncomment this line to set the login/logout functionality on Debug
-        //System.setProperty("log4j.category.OpenEJB.security", "debug");
-
-        Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
-    }
-
-    public void testAsManager() throws Exception {
-        Properties p = new Properties();
-        p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        p.put(Context.SECURITY_PRINCIPAL, "jane");
-        p.put(Context.SECURITY_CREDENTIALS, "waterfall");
-
-        InitialContext context = new InitialContext(p);
-
-        try {
-            movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-            movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-            List<Movie> list = movies.getMovies();
-            assertEquals("List.size()", 3, list.size());
-
-            for (Movie movie : list) {
-                movies.deleteMovie(movie);
-            }
-
-            assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-        } finally {
-            context.close();
-        }
-    }
-
-    public void testAsEmployee() throws Exception {
-        Properties p = new Properties();
-        p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        p.put(Context.SECURITY_PRINCIPAL, "joe");
-        p.put(Context.SECURITY_CREDENTIALS, "cool");
-
-        InitialContext context = new InitialContext(p);
-
-        try {
-            movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-            movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-            List<Movie> list = movies.getMovies();
-            assertEquals("List.size()", 3, list.size());
-
-            for (Movie movie : list) {
-                try {
-                    movies.deleteMovie(movie);
-                    fail("Employees should not be allowed to delete");
-                } catch (EJBAccessException e) {
-                    // Good, Employees cannot delete things
-                }
-            }
-
-            // The list should still be three movies long
-            assertEquals("Movies.getMovies()", 3, movies.getMovies().size());
-        } finally {
-            context.close();
-        }
-    }
-
-    public void testUnauthenticated() throws Exception {
-        try {
-            movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            fail("Unauthenticated users should not be able to add movies");
-        } catch (EJBAccessException e) {
-            // Good, guests cannot add things
-        }
-
-        try {
-            movies.deleteMovie(null);
-            fail("Unauthenticated users should not be allowed to delete");
-        } catch (EJBAccessException e) {
-            // Good, Unauthenticated users cannot delete things
-        }
-
-        try {
-            // Read access should be allowed
-
-            List<Movie> list = movies.getMovies();
-        } catch (EJBAccessException e) {
-            fail("Read access should be allowed");
-        }
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.secure.MovieTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/testing-security-2
-INFO - openejb.base = /Users/dblevins/examples/testing-security-2
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/testing-security-2/target/classes
-INFO - Beginning load: /Users/dblevins/examples/testing-security-2/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/testing-security-2
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.secure.MovieTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/testing-security-2" loaded.
-INFO - Assembling app: /Users/dblevins/examples/testing-security-2
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 413ms
-INFO - Jndi(name="java:global/testing-security-2/Movies!org.superbiz.injection.secure.Movies")
-INFO - Jndi(name="java:global/testing-security-2/Movies")
-INFO - Jndi(name="java:global/EjbModule1634151355/org.superbiz.injection.secure.MovieTest!org.superbiz.injection.secure.MovieTest")
-INFO - Jndi(name="java:global/EjbModule1634151355/org.superbiz.injection.secure.MovieTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.secure.MovieTest, ejb-name=org.superbiz.injection.secure.MovieTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.secure.MovieTest, ejb-name=org.superbiz.injection.secure.MovieTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/testing-security-2)
-INFO - Logging in
-INFO - Logging out
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-INFO - Logging in
-INFO - Logging out
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.546 sec
-
-Results :
-
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/testing-security-3.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/testing-security-3.adoc b/src/main/jbake/content/examples/testing-security-3.adoc
deleted file mode 100755
index 7a1fdbe..0000000
--- a/src/main/jbake/content/examples/testing-security-3.adoc
+++ /dev/null
@@ -1,381 +0,0 @@
-= Testing Security 3
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example testing-security-3 can be browsed at https://github.com/apache/tomee/tree/master/examples/testing-security-3
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-import javax.persistence.Entity;
-
-@Entity
-public class Movie {
-
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-}
-----
-
-
-==  Movies
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-//START SNIPPET: code
-
-import javax.annotation.security.PermitAll;
-import javax.annotation.security.RolesAllowed;
-import javax.ejb.Stateful;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-@Stateful
-public class Movies {
-
-    @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED)
-    private EntityManager entityManager;
-
-    @RolesAllowed({"Employee", "Manager"})
-    public void addMovie(Movie movie) throws Exception {
-        entityManager.persist(movie);
-    }
-
-    @RolesAllowed({"Manager"})
-    public void deleteMovie(Movie movie) throws Exception {
-        entityManager.remove(movie);
-    }
-
-    @PermitAll
-    @TransactionAttribute(TransactionAttributeType.SUPPORTS)
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-}
-----
-
-
-==  MyLoginProvider
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-import org.apache.openejb.core.security.jaas.LoginProvider;
-
-import javax.security.auth.login.FailedLoginException;
-import java.util.Arrays;
-import java.util.List;
-
-public class MyLoginProvider implements LoginProvider {
-
-
-    @Override
-    public List<String> authenticate(String user, String password) throws FailedLoginException {
-        if ("paul".equals(user) && "michelle".equals(password)) {
-            return Arrays.asList("Manager", "rockstar", "beatle");
-        }
-
-        if ("eddie".equals(user) && "jump".equals(password)) {
-            return Arrays.asList("Employee", "rockstar", "vanhalen");
-        }
-
-        throw new FailedLoginException("Bad user or password!");
-    }
-}
-----
-
-
-==  org.apache.openejb.core.security.jaas.LoginProvider
-
-    org.superbiz.injection.secure.MyLoginProvider
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
-  <persistence-unit name="movie-unit">
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <class>org.superbiz.injection.secure.Movie</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  MovieTest
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-import junit.framework.TestCase;
-
-import javax.ejb.EJB;
-import javax.ejb.EJBAccessException;
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import java.util.List;
-import java.util.Properties;
-
-public class MovieTest extends TestCase {
-
-    @EJB
-    private Movies movies;
-
-    private Context getContext(String user, String pass) throws NamingException {
-        Properties p = new Properties();
-        p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        p.setProperty("openejb.authentication.realmName", "ServiceProviderLogin");
-        p.put(Context.SECURITY_PRINCIPAL, user);
-        p.put(Context.SECURITY_CREDENTIALS, pass);
-
-        return new InitialContext(p);
-    }
-
-    protected void setUp() throws Exception {
-        Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
-    }
-
-    public void testAsManager() throws Exception {
-        final Context context = getContext("paul", "michelle");
-
-        try {
-            movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-            movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-            List<Movie> list = movies.getMovies();
-            assertEquals("List.size()", 3, list.size());
-
-            for (Movie movie : list) {
-                movies.deleteMovie(movie);
-            }
-
-            assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-        } finally {
-            context.close();
-        }
-    }
-
-    public void testAsEmployee() throws Exception {
-        final Context context = getContext("eddie", "jump");
-
-        try {
-            movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-            movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-            List<Movie> list = movies.getMovies();
-            assertEquals("List.size()", 3, list.size());
-
-            for (Movie movie : list) {
-                try {
-                    movies.deleteMovie(movie);
-                    fail("Employees should not be allowed to delete");
-                } catch (EJBAccessException e) {
-                    // Good, Employees cannot delete things
-                }
-            }
-
-            // The list should still be three movies long
-            assertEquals("Movies.getMovies()", 3, movies.getMovies().size());
-        } finally {
-            context.close();
-        }
-    }
-
-    public void testUnauthenticated() throws Exception {
-        try {
-            movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            fail("Unauthenticated users should not be able to add movies");
-        } catch (EJBAccessException e) {
-            // Good, guests cannot add things
-        }
-
-        try {
-            movies.deleteMovie(null);
-            fail("Unauthenticated users should not be allowed to delete");
-        } catch (EJBAccessException e) {
-            // Good, Unauthenticated users cannot delete things
-        }
-
-        try {
-            // Read access should be allowed
-
-            List<Movie> list = movies.getMovies();
-
-        } catch (EJBAccessException e) {
-            fail("Read access should be allowed");
-        }
-
-    }
-
-    public void testLoginFailure() throws NamingException {
-        try {
-            getContext("eddie", "panama");
-            fail("supposed to have a login failure here");
-        } catch (javax.naming.AuthenticationException e) {
-            //expected
-        }
-
-        try {
-            getContext("jimmy", "foxylady");
-            fail("supposed to have a login failure here");
-        } catch (javax.naming.AuthenticationException e) {
-            //expected
-        }
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.secure.MovieTest
-INFO - ********************************************************************************
-INFO - OpenEJB http://tomee.apache.org/
-INFO - Startup: Fri Jul 20 08:42:53 EDT 2012
-INFO - Copyright 1999-2012 (C) Apache OpenEJB Project, All Rights Reserved.
-INFO - Version: 4.1.0
-INFO - Build date: 20120720
-INFO - Build time: 08:33
-INFO - ********************************************************************************
-INFO - openejb.home = /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-security-3
-INFO - openejb.base = /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-security-3
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@38ee6681
-INFO - Succeeded in installing singleton service
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Creating Resource(id=movieDatabase)
-INFO - Beginning load: /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-security-3/target/classes
-INFO - Configuring enterprise application: /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-security-3
-INFO - Auto-deploying ejb Movies: EjbDeployment(deployment-id=Movies)
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Creating Container(id=Default Stateful Container)
-INFO - Using directory /tmp for stateful session passivation
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.secure.MovieTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory /tmp for stateful session passivation
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Creating Resource(id=movieDatabaseNonJta)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/home/boto/dev/ws/openejb_trunk/openejb/examples/testing-security-3" loaded.
-INFO - Assembling app: /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-security-3
-SEVERE - JAVA AGENT NOT INSTALLED. The JPA Persistence Provider requested installation of a ClassFileTransformer which requires a JavaAgent.  See http://tomee.apache.org/3.0/javaagent.html
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 268ms
-INFO - Jndi(name="java:global/testing-security-3/Movies!org.superbiz.injection.secure.Movies")
-INFO - Jndi(name="java:global/testing-security-3/Movies")
-INFO - Existing thread singleton service in SystemInstance() org.apache.openejb.cdi.ThreadSingletonServiceImpl@38ee6681
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 170 ms.
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Deployed Application(path=/home/boto/dev/ws/openejb_trunk/openejb/examples/testing-security-3)
-20-Jul-2012 8:42:55 AM null openjpa.Runtime
-INFO: Starting OpenJPA 2.2.0
-20-Jul-2012 8:42:56 AM null openjpa.jdbc.JDBC
-INFO: Using dictionary class "org.apache.openjpa.jdbc.sql.HSQLDictionary" (HSQL Database Engine 2.2.8 ,HSQL Database Engine Driver 2.2.8).
-20-Jul-2012 8:42:57 AM null openjpa.Enhance
-INFO: Creating subclass and redefining methods for "[class org.superbiz.injection.secure.Movie]". This means that your application will be less efficient than it would if you ran the OpenJPA enhancer.
-INFO - Logging in
-INFO - Logging out
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-INFO - Logging in
-INFO - Logging out
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.069 sec
-
-Results :
-
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
-----
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/testing-security-4.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/testing-security-4.adoc b/src/main/jbake/content/examples/testing-security-4.adoc
deleted file mode 100755
index 69af878..0000000
--- a/src/main/jbake/content/examples/testing-security-4.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= testing-security-4
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example testing-security-4 can be browsed at https://github.com/apache/tomee/tree/master/examples/testing-security-4
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/testing-security-meta.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/testing-security-meta.adoc b/src/main/jbake/content/examples/testing-security-meta.adoc
deleted file mode 100755
index 5f234d6..0000000
--- a/src/main/jbake/content/examples/testing-security-meta.adoc
+++ /dev/null
@@ -1,517 +0,0 @@
-= Testing Security Meta
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example testing-security-meta can be browsed at https://github.com/apache/tomee/tree/master/examples/testing-security-meta
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  AddPermission
-
-
-[source,java]
-----
-package org.superbiz.injection.secure.api;
-
-import javax.annotation.security.RolesAllowed;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Metatype
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface AddPermission {
-    public static interface $ {
-
-        @AddPermission
-        @RolesAllowed({"Employee", "Manager"})
-        public void method();
-    }
-}
-----
-
-
-==  DeletePermission
-
-
-[source,java]
-----
-package org.superbiz.injection.secure.api;
-
-import javax.annotation.security.RolesAllowed;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Metatype
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface DeletePermission {
-    public static interface $ {
-
-        @DeletePermission
-        @RolesAllowed("Manager")
-        public void method();
-    }
-}
-----
-
-
-==  Metatype
-
-
-[source,java]
-----
-package org.superbiz.injection.secure.api;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Target(ElementType.ANNOTATION_TYPE)
-@Retention(RetentionPolicy.RUNTIME)
-public @interface Metatype {
-}
-----
-
-
-==  MovieUnit
-
-
-[source,java]
-----
-package org.superbiz.injection.secure.api;
-
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Metatype
-@Target({ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-
-@PersistenceContext(name = "movie-unit", unitName = "movie-unit", type = PersistenceContextType.EXTENDED)
-public @interface MovieUnit {
-}
-----
-
-
-==  ReadPermission
-
-
-[source,java]
-----
-package org.superbiz.injection.secure.api;
-
-import javax.annotation.security.PermitAll;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Metatype
-@Target(ElementType.METHOD)
-@Retention(RetentionPolicy.RUNTIME)
-
-public @interface ReadPermission {
-    public static interface $ {
-
-        @ReadPermission
-        @PermitAll
-        @TransactionAttribute(TransactionAttributeType.SUPPORTS)
-        public void method();
-    }
-}
-----
-
-
-==  RunAsEmployee
-
-
-[source,java]
-----
-package org.superbiz.injection.secure.api;
-
-import javax.annotation.security.RunAs;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Metatype
-@Target({ElementType.TYPE, ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-
-@RunAs("Employee")
-public @interface RunAsEmployee {
-}
-----
-
-
-==  RunAsManager
-
-
-[source,java]
-----
-package org.superbiz.injection.secure.api;
-
-import javax.annotation.security.RunAs;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Metatype
-@Target({ElementType.TYPE, ElementType.METHOD})
-@Retention(RetentionPolicy.RUNTIME)
-
-@RunAs("Manager")
-public @interface RunAsManager {
-}
-----
-
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-import javax.persistence.Entity;
-
-@Entity
-public class Movie {
-
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-}
-----
-
-
-==  Movies
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-//START SNIPPET: code
-
-import org.superbiz.injection.secure.api.AddPermission;
-import org.superbiz.injection.secure.api.DeletePermission;
-import org.superbiz.injection.secure.api.MovieUnit;
-import org.superbiz.injection.secure.api.ReadPermission;
-
-import javax.ejb.Stateful;
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import java.util.List;
-
-@Stateful
-public class Movies {
-
-    @MovieUnit
-    private EntityManager entityManager;
-
-    @AddPermission
-    public void addMovie(Movie movie) throws Exception {
-        entityManager.persist(movie);
-    }
-
-    @DeletePermission
-    public void deleteMovie(Movie movie) throws Exception {
-        entityManager.remove(movie);
-    }
-
-    @ReadPermission
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
-  <persistence-unit name="movie-unit">
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <class>org.superbiz.injection.secure.Movie</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  MovieTest
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-import junit.framework.TestCase;
-import org.superbiz.injection.secure.api.RunAsEmployee;
-import org.superbiz.injection.secure.api.RunAsManager;
-
-import javax.ejb.EJB;
-import javax.ejb.EJBAccessException;
-import javax.ejb.Stateless;
-import javax.ejb.embeddable.EJBContainer;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.Callable;
-
-//START SNIPPET: code
-
-public class MovieTest extends TestCase {
-
-    @EJB
-    private Movies movies;
-
-    @EJB(beanName = "ManagerBean")
-    private Caller manager;
-
-    @EJB(beanName = "EmployeeBean")
-    private Caller employee;
-
-    protected void setUp() throws Exception {
-        Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
-    }
-
-    public void testAsManager() throws Exception {
-        manager.call(new Callable() {
-            public Object call() throws Exception {
-
-                movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-                movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-                movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-                List<Movie> list = movies.getMovies();
-                assertEquals("List.size()", 3, list.size());
-
-                for (Movie movie : list) {
-                    movies.deleteMovie(movie);
-                }
-
-                assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-                return null;
-            }
-        });
-    }
-
-    public void testAsEmployee() throws Exception {
-        employee.call(new Callable() {
-            public Object call() throws Exception {
-
-                movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-                movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-                movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-                List<Movie> list = movies.getMovies();
-                assertEquals("List.size()", 3, list.size());
-
-                for (Movie movie : list) {
-                    try {
-                        movies.deleteMovie(movie);
-                        fail("Employees should not be allowed to delete");
-                    } catch (EJBAccessException e) {
-                        // Good, Employees cannot delete things
-                    }
-                }
-
-                // The list should still be three movies long
-                assertEquals("Movies.getMovies()", 3, movies.getMovies().size());
-                return null;
-            }
-        });
-    }
-
-    public void testUnauthenticated() throws Exception {
-        try {
-            movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            fail("Unauthenticated users should not be able to add movies");
-        } catch (EJBAccessException e) {
-            // Good, guests cannot add things
-        }
-
-        try {
-            movies.deleteMovie(null);
-            fail("Unauthenticated users should not be allowed to delete");
-        } catch (EJBAccessException e) {
-            // Good, Unauthenticated users cannot delete things
-        }
-
-        try {
-            // Read access should be allowed
-
-            List<Movie> list = movies.getMovies();
-        } catch (EJBAccessException e) {
-            fail("Read access should be allowed");
-        }
-    }
-
-    public interface Caller {
-        public <V> V call(Callable<V> callable) throws Exception;
-    }
-
-    /**
-     * This little bit of magic allows our test code to execute in
-     * the desired security scope.
-     */
-
-    @Stateless
-    @RunAsManager
-    public static class ManagerBean implements Caller {
-
-        public <V> V call(Callable<V> callable) throws Exception {
-            return callable.call();
-        }
-    }
-
-    @Stateless
-    @RunAsEmployee
-    public static class EmployeeBean implements Caller {
-
-        public <V> V call(Callable<V> callable) throws Exception {
-            return callable.call();
-        }
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.secure.MovieTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/testing-security-meta
-INFO - openejb.base = /Users/dblevins/examples/testing-security-meta
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/testing-security-meta/target/classes
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/testing-security-meta/target/test-classes
-INFO - Beginning load: /Users/dblevins/examples/testing-security-meta/target/classes
-INFO - Beginning load: /Users/dblevins/examples/testing-security-meta/target/test-classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/testing-security-meta
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean ManagerBean: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.secure.MovieTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/testing-security-meta" loaded.
-INFO - Assembling app: /Users/dblevins/examples/testing-security-meta
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 419ms
-INFO - Jndi(name="java:global/testing-security-meta/Movies!org.superbiz.injection.secure.Movies")
-INFO - Jndi(name="java:global/testing-security-meta/Movies")
-INFO - Jndi(name="java:global/testing-security-meta/ManagerBean!org.superbiz.injection.secure.MovieTest$Caller")
-INFO - Jndi(name="java:global/testing-security-meta/ManagerBean")
-INFO - Jndi(name="java:global/testing-security-meta/EmployeeBean!org.superbiz.injection.secure.MovieTest$Caller")
-INFO - Jndi(name="java:global/testing-security-meta/EmployeeBean")
-INFO - Jndi(name="java:global/EjbModule53489605/org.superbiz.injection.secure.MovieTest!org.superbiz.injection.secure.MovieTest")
-INFO - Jndi(name="java:global/EjbModule53489605/org.superbiz.injection.secure.MovieTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=ManagerBean, ejb-name=ManagerBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=EmployeeBean, ejb-name=EmployeeBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.secure.MovieTest, ejb-name=org.superbiz.injection.secure.MovieTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=ManagerBean, ejb-name=ManagerBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=EmployeeBean, ejb-name=EmployeeBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.secure.MovieTest, ejb-name=org.superbiz.injection.secure.MovieTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/testing-security-meta)
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.754 sec
-
-Results :
-
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/testing-security.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/testing-security.adoc b/src/main/jbake/content/examples/testing-security.adoc
deleted file mode 100755
index 657ea8b..0000000
--- a/src/main/jbake/content/examples/testing-security.adoc
+++ /dev/null
@@ -1,336 +0,0 @@
-= Testing Security
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example testing-security can be browsed at https://github.com/apache/tomee/tree/master/examples/testing-security
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-import javax.persistence.Entity;
-
-@Entity
-public class Movie {
-
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-}
-----
-
-
-==  Movies
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-//START SNIPPET: code
-
-import javax.annotation.security.PermitAll;
-import javax.annotation.security.RolesAllowed;
-import javax.ejb.Stateful;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-@Stateful
-public class Movies {
-
-    @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.EXTENDED)
-    private EntityManager entityManager;
-
-    @RolesAllowed({"Employee", "Manager"})
-    public void addMovie(Movie movie) throws Exception {
-        entityManager.persist(movie);
-    }
-
-    @RolesAllowed({"Manager"})
-    public void deleteMovie(Movie movie) throws Exception {
-        entityManager.remove(movie);
-    }
-
-    @PermitAll
-    @TransactionAttribute(TransactionAttributeType.SUPPORTS)
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
-  <persistence-unit name="movie-unit">
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <class>org.superbiz.injection.secure.Movie</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  MovieTest
-
-
-[source,java]
-----
-package org.superbiz.injection.secure;
-
-import junit.framework.TestCase;
-
-import javax.annotation.security.RunAs;
-import javax.ejb.EJB;
-import javax.ejb.EJBAccessException;
-import javax.ejb.Stateless;
-import javax.ejb.embeddable.EJBContainer;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.Callable;
-
-//START SNIPPET: code
-
-public class MovieTest extends TestCase {
-
-    @EJB
-    private Movies movies;
-
-    @EJB(name = "ManagerBean")
-    private Caller manager;
-
-    @EJB(name = "EmployeeBean")
-    private Caller employee;
-
-    protected void setUp() throws Exception {
-        Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
-    }
-
-    public void testAsManager() throws Exception {
-        manager.call(new Callable() {
-            public Object call() throws Exception {
-
-                movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-                movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-                movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-                List<Movie> list = movies.getMovies();
-                assertEquals("List.size()", 3, list.size());
-
-                for (Movie movie : list) {
-                    movies.deleteMovie(movie);
-                }
-
-                assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-                return null;
-            }
-        });
-    }
-
-    public void testAsEmployee() throws Exception {
-        employee.call(new Callable() {
-            public Object call() throws Exception {
-
-                movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-                movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-                movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-                List<Movie> list = movies.getMovies();
-                assertEquals("List.size()", 3, list.size());
-
-                for (Movie movie : list) {
-                    try {
-                        movies.deleteMovie(movie);
-                        fail("Employees should not be allowed to delete");
-                    } catch (EJBAccessException e) {
-                        // Good, Employees cannot delete things
-                    }
-                }
-
-                // The list should still be three movies long
-                assertEquals("Movies.getMovies()", 3, movies.getMovies().size());
-                return null;
-            }
-        });
-    }
-
-    public void testUnauthenticated() throws Exception {
-        try {
-            movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            fail("Unauthenticated users should not be able to add movies");
-        } catch (EJBAccessException e) {
-            // Good, guests cannot add things
-        }
-
-        try {
-            movies.deleteMovie(null);
-            fail("Unauthenticated users should not be allowed to delete");
-        } catch (EJBAccessException e) {
-            // Good, Unauthenticated users cannot delete things
-        }
-
-        try {
-            // Read access should be allowed
-
-            List<Movie> list = movies.getMovies();
-        } catch (EJBAccessException e) {
-            fail("Read access should be allowed");
-        }
-    }
-
-
-    public static interface Caller {
-        public <V> V call(Callable<V> callable) throws Exception;
-    }
-
-    /**
-     * This little bit of magic allows our test code to execute in
-     * the desired security scope.
-     */
-
-    @Stateless
-    @RunAs("Manager")
-    public static class ManagerBean implements Caller {
-
-        public <V> V call(Callable<V> callable) throws Exception {
-            return callable.call();
-        }
-    }
-
-    @Stateless
-    @RunAs("Employee")
-    public static class EmployeeBean implements Caller {
-
-        public <V> V call(Callable<V> callable) throws Exception {
-            return callable.call();
-        }
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.secure.MovieTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/testing-security
-INFO - openejb.base = /Users/dblevins/examples/testing-security
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/testing-security/target/classes
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/testing-security/target/test-classes
-INFO - Beginning load: /Users/dblevins/examples/testing-security/target/classes
-INFO - Beginning load: /Users/dblevins/examples/testing-security/target/test-classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/testing-security
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean ManagerBean: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.secure.MovieTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/testing-security" loaded.
-INFO - Assembling app: /Users/dblevins/examples/testing-security
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 405ms
-INFO - Jndi(name="java:global/testing-security/Movies!org.superbiz.injection.secure.Movies")
-INFO - Jndi(name="java:global/testing-security/Movies")
-INFO - Jndi(name="java:global/testing-security/ManagerBean!org.superbiz.injection.secure.MovieTest$Caller")
-INFO - Jndi(name="java:global/testing-security/ManagerBean")
-INFO - Jndi(name="java:global/testing-security/EmployeeBean!org.superbiz.injection.secure.MovieTest$Caller")
-INFO - Jndi(name="java:global/testing-security/EmployeeBean")
-INFO - Jndi(name="java:global/EjbModule26174809/org.superbiz.injection.secure.MovieTest!org.superbiz.injection.secure.MovieTest")
-INFO - Jndi(name="java:global/EjbModule26174809/org.superbiz.injection.secure.MovieTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=ManagerBean, ejb-name=ManagerBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=EmployeeBean, ejb-name=EmployeeBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.secure.MovieTest, ejb-name=org.superbiz.injection.secure.MovieTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=ManagerBean, ejb-name=ManagerBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=EmployeeBean, ejb-name=EmployeeBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.secure.MovieTest, ejb-name=org.superbiz.injection.secure.MovieTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/testing-security)
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.574 sec
-
-Results :
-
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    


[22/34] tomee-site-generator git commit: Merge old content. Move tech content to main build.

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-7.0.0-M3.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-7.0.0-M3.mdtext b/src/main/jbake/content/tomee-7.0.0-M3.mdtext
new file mode 100644
index 0000000..e0ef9aa
--- /dev/null
+++ b/src/main/jbake/content/tomee-7.0.0-M3.mdtext
@@ -0,0 +1,41 @@
+# Apache TomEE 7.0.0-M3 released, Mar 06th 2016
+
+The Apache TomEE community is proud to announce the release of [Apache TomEE 7.0.0-M3](download/tomee-7.0.0-M3.html), which is based on [Apache Tomcat 8.0.32](http://tomcat.apache.org/tomcat-8.0-doc/index.html) and is our first milestone release towards EE7.
+Part of this release an important security fix is included if EJBd is active on your instance (true by default). More on [CVE-2016-0779](security/tomee.html).
+
+Please feel free to check out and [contribute to the developer branch](contribute.html) - We are always interested in any help from the community that we can get.
+
+This version is not certified and is provided to the community as a milestone preview of the current development version. It is however an extremly well tested version. So please do test your applications and give us your feedback.
+
+The Apache TomEE 7.0.0-M3 release files can be downloaded from here:
+
+[http://tomee.apache.org/download/tomee-7.0.0-M3.html](download/tomee-7.0.0-M3.html)
+
+###Update Maven POM Files - The OpenEJB version and groupId have been aligned
+
+Simply update your existing Maven JavaEE-API, OpenEJB and or TomEE pom.xml entries to point to the latest versions:
+
+	<dependency>
+		<groupId>org.apache.tomee</groupId>
+		<artifactId>javaee-api</artifactId>
+		<version>7.0</version>
+		<scope>provided</scope>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.tomee</groupId>
+		<artifactId>openejb-core</artifactId>
+		<version>7.0.0-M3</version>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.tomee</groupId>
+		<artifactId>tomee</artifactId>
+		<version>7.0.0-M3</version>
+	</dependency>
+
+A complete [Changelog](tomee-7.0.0-M3-release-notes.html) can be viewed here:
+
+[tomee-7.0.0-M3-release-notes.html](tomee-7.0.0-M3-release-notes.html)
+
+Please feel free to jump in feet first and [get started with TomEE](documentation.html). You will nearly always find someone to help you on one of our [support channels](support.html).

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-7.0.0-release-notes.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-7.0.0-release-notes.mdtext b/src/main/jbake/content/tomee-7.0.0-release-notes.mdtext
new file mode 100644
index 0000000..331ad89
--- /dev/null
+++ b/src/main/jbake/content/tomee-7.0.0-release-notes.mdtext
@@ -0,0 +1,281 @@
+        Release Notes - TomEE - Version 7.0.0
+    
+<h2>        Sub-task
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1322'>TOMEE-1322</a>] -         Client API
+</li>
+</ul>
+                            
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1266'>TOMEE-1266</a>] -         Unable to configure a datasource with TomEE in context of Oracle Wallet
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1268'>TOMEE-1268</a>] -         Auto scanning of @Provider
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1275'>TOMEE-1275</a>] -         TimerExecutor as compoenent doesn&#39;t follow executor lifecycle (stop/start)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1281'>TOMEE-1281</a>] -         JAXRS doesn&#39;t work with deltaspike in Application#getSingleton
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1296'>TOMEE-1296</a>] -         org.apache.openejb.jpa.integration.eclipselink.OpenEJBServerPlatform mbeanServer name is wrong
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1324'>TOMEE-1324</a>] -         Problem with TomEE Maven archetype
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1325'>TOMEE-1325</a>] -         Dynamic subclassing doesn&#39;t support interfaces (@Local)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1329'>TOMEE-1329</a>] -         jars.txt doesn&#39;t support empty lines
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1330'>TOMEE-1330</a>] -         Support to include container urls in scanning
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1334'>TOMEE-1334</a>] -         cdi lazy realm throws NPE cause of init handling (too early)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1335'>TOMEE-1335</a>] -         openejb.deployer.save-deployments broken on war
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1342'>TOMEE-1342</a>] -         OutputGeneratedDescriptors doesn&#39;t output complete ejb-jar.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1343'>TOMEE-1343</a>] -         HSQL server shuts down saying no databases available
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1364'>TOMEE-1364</a>] -         When using the tomee-maven-plugins stop goal tomee seems to hang forever
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1376'>TOMEE-1376</a>] -         Invalid package within groovy script
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1398'>TOMEE-1398</a>] -         The project maven-util doesn&#39;t contain the Log interface on it&#39;s classpath
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1400'>TOMEE-1400</a>] -         Potential NPE in TomeeAnnotationProvider
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1408'>TOMEE-1408</a>] -         Incorrect assertions within the testcode
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1409'>TOMEE-1409</a>] -         Invalid configuration in module openejb-junit
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1509'>TOMEE-1509</a>] -         PropertyPlaceHolderHelper does not work with cipher:
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1519'>TOMEE-1519</a>] -         SetupCommand fails to delete file/dir on Windows
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1606'>TOMEE-1606</a>] -         Bad conversion of DataSource password containing special characters
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1626'>TOMEE-1626</a>] -         Maven Tomee Exec Mojo failed when provided server.xml use env vars
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1725'>TOMEE-1725</a>] -         ManagedConnection#equals broken when not using dbcp
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1726'>TOMEE-1726</a>] -         StreamOutput not considered as a stream
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1727'>TOMEE-1727</a>] -         Application.getSingletons doesn&#39;t handle @Provider right creating warnings
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1728'>TOMEE-1728</a>] -         ApplicationComposers.run calls twice @PostConstruct of the application
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1729'>TOMEE-1729</a>] -         empty context path for application composer applications can lead to wrong http routing
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1730'>TOMEE-1730</a>] -         bad regex for embedded http layer and filter mapping when ending by *
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1731'>TOMEE-1731</a>] -         web.xml should override @ApplicationPath and not concatenate both paths
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1739'>TOMEE-1739</a>] -         Javaagent arguments ignored by tomee-maven-plugin
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1740'>TOMEE-1740</a>] -         Ensure Contexts propagates in ManagedExecutors the exchange to be able to inject RS @Context in async endpoints
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1741'>TOMEE-1741</a>] -         Incorrect log message
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1742'>TOMEE-1742</a>] -         application composer mvn plugins don&#39;t work with maven &gt; 3.0
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1748'>TOMEE-1748</a>] -         managed executor factory should support a Threadfactory (not a Managed one) as thread factory
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1751'>TOMEE-1751</a>] -         RemoteServer doesnt support system properties with equals in values
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1759'>TOMEE-1759</a>] -         JSF NPE in FashImpl with nested/forward request
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1764'>TOMEE-1764</a>] -         JSP @Resource not honored if only in JSP
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1765'>TOMEE-1765</a>] -         @Transactional doesn&#39;t throw as cause synchronization exceptions
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1767'>TOMEE-1767</a>] -         @DataSourceDefinition doesn&#39;t support XADataSource
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1770'>TOMEE-1770</a>] -         @Initialized(AppScoped) not using the right classloader in tomee-embedded
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1772'>TOMEE-1772</a>] -         Singleton DependsOnTest fails most of the times
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1777'>TOMEE-1777</a>] -         some resources are not properly removed from OpenEjbConfiguration
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1785'>TOMEE-1785</a>] -         activate bean validation with jaxrs by default
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1786'>TOMEE-1786</a>] -         BvalCdiFilter is not active
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1787'>TOMEE-1787</a>] -         EJBExceptionMapper can end up in a NPE
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1788'>TOMEE-1788</a>] -         TomEE fails to start embedded ActiveMQ
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1791'>TOMEE-1791</a>] -         property-provider should be properties-provider for tomee.xml on resources
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1792'>TOMEE-1792</a>] -         Eclipselink integration not working in flat classloader mode
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1796'>TOMEE-1796</a>] -         dont add war resources when running a .war with tomee embedded
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1799'>TOMEE-1799</a>] -         Java 8 : java.lang.IllegalArgumentException: Comparison method violates its general contract!
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1800'>TOMEE-1800</a>] -         SystemProperty not merged when using Import in tomee.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1805'>TOMEE-1805</a>] -         HttpServletRequest#logout doesn&#39;t clear authenticated identity in EJB
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1806'>TOMEE-1806</a>] -         GeronimoConnectionManager background connection validation not working
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1811'>TOMEE-1811</a>] -         IllegalArgumentException - File [xxxxxx.jar!/META-INF/persistence.xml] does not exist:
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1816'>TOMEE-1816</a>] -         java.lang.NoSuchFieldException: pool in Connector Resource Adapter deploy
+</li>
+</ul>
+    
+<h2>        Dependency upgrade
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1391'>TOMEE-1391</a>] -         Use maven-filtering:1.2 to fix MSHARED-319 when compiling under JDK8
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1754'>TOMEE-1754</a>] -         Tomcat 8.5.2
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1757'>TOMEE-1757</a>] -         [plume] eclipselinks 2.6.3
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1760'>TOMEE-1760</a>] -         CXf 3.1.6
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1776'>TOMEE-1776</a>] -         myfaces 2.2.10
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1781'>TOMEE-1781</a>] -         slf4j 1.7.21
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1803'>TOMEE-1803</a>] -         upgrade to AMQ 5.13.3
+</li>
+</ul>
+                    
+<h2>        Improvement
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1269'>TOMEE-1269</a>] -         if a @Path interface has a single implementation add it as rest service
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1270'>TOMEE-1270</a>] -         exclude from scanning @Deprecated @Providers
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1273'>TOMEE-1273</a>] -         fix SslTomEETest to work with JDK 8 keytool
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1328'>TOMEE-1328</a>] -         Arquillian.xml &#39;additionalLibs&#39; must fail-fast
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1336'>TOMEE-1336</a>] -         Support classname.activated = true/false for auto discovered providers
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1339'>TOMEE-1339</a>] -         [JAXRS] try static resources first
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1365'>TOMEE-1365</a>] -         Updated to use try statement RemoteServer
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1367'>TOMEE-1367</a>] -         add singleDumpByArchiveName parameter to arquillian tomee adapters
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1736'>TOMEE-1736</a>] -         more explicit message if ejbd fails cause of class filtering (introduced for 0-day vulnerability fixed in previous release)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1737'>TOMEE-1737</a>] -         activating default EE resources in the distribution but not in others modes
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1738'>TOMEE-1738</a>] -         basic configuration for TomEEJarScanner
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1744'>TOMEE-1744</a>] -         Ensure tomee embedded uses default tomcat connector by default (nio)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1745'>TOMEE-1745</a>] -         allow to configure on command line server.xml and tomee.xml to use for tomee embedded provided main(String[])
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1746'>TOMEE-1746</a>] -         support connector configuration for tomee embedded with properties starting with connector.xxx (xxx being a connector option)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1747'>TOMEE-1747</a>] -         for managed executor, thread factory option should support resource name
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1749'>TOMEE-1749</a>] -         [ApplicationComposer] support Gradle test/main as we support Maven for @Default
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1750'>TOMEE-1750</a>] -         support Gradle as invalid folders (for name identification)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1766'>TOMEE-1766</a>] -         ensure default org.apache.johnzon.max-string-length size is 4k
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1784'>TOMEE-1784</a>] -         try to force persistence enhancement in tomee-embedded
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1789'>TOMEE-1789</a>] -         Expose Pool flush() through JMX
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1790'>TOMEE-1790</a>] -         Allow primitive arrays to be serialized/deserialized over (http)ejbd
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1802'>TOMEE-1802</a>] -         support network connector configuration on AMQ uri syntax (tomee.xml)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1807'>TOMEE-1807</a>] -         exclude jaxb and junit from tomee embedded
+</li>
+</ul>
+            
+<h2>        New Feature
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1274'>TOMEE-1274</a>] -         support additionalLibs in arquillian.xml to add libs from mvn coordinates to tomee/lib
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1282'>TOMEE-1282</a>] -         basic @Transactional @TransactionScoped support
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1288'>TOMEE-1288</a>] -         supports default in out propertyplaceholding
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1289'>TOMEE-1289</a>] -         allow user to provide a properties-provider on resources
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1294'>TOMEE-1294</a>] -         Allow to set System-Property in tomee.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1295'>TOMEE-1295</a>] -         openjpa.EntityManagerFactoryPool support for container persistence unit
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1297'>TOMEE-1297</a>] -         add @Jars annotation to ApplicationComposer
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1298'>TOMEE-1298</a>] -         Support JSR 107: JCACHE - Java Temporary Caching API
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1332'>TOMEE-1332</a>] -         support @Startup on CDI beans (@ApplicationScoped or normal scoped beans if the context is active at boot time)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1341'>TOMEE-1341</a>] -         Arquillian support for Suite testing
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1487'>TOMEE-1487</a>] -         CDI Event based realm
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1735'>TOMEE-1735</a>] -         basic JMSContext implementation
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1755'>TOMEE-1755</a>] -         add tomee.tomcat.cookieProcessor to be able to use old cookie behavior
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1756'>TOMEE-1756</a>] -         add ConfigurationCustomizer for tomee embedded configuration
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1758'>TOMEE-1758</a>] -         support remove:prefix in additionalLibs in remote arquillian adapter
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1761'>TOMEE-1761</a>] -         allow to take a thread dump if a resource takes more than X to be destroyed
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1769'>TOMEE-1769</a>] -         Allow to configure formatter pattern on LocalfileHandler
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1771'>TOMEE-1771</a>] -         Expose Deployer reload() function through JMX
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1775'>TOMEE-1775</a>] -         tomee embedded single instance runner
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1780'>TOMEE-1780</a>] -         basic tomee-embedded gradle plugin
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1783'>TOMEE-1783</a>] -         allow tomee embedded (+maven + gradle) to force the webapp loader to be the boot one for deploy classpath method
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1798'>TOMEE-1798</a>] -         can&#39;t load JTA and Common annotation on Java 9
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1804'>TOMEE-1804</a>] -         add Monkey tomee-maven-plugin customizer
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1808'>TOMEE-1808</a>] -         create a tomee embedded shade jaxrs oriented (without activemq)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1809'>TOMEE-1809</a>] -         Run jaxws webservices using tomee embedded using --path parameter
+</li>
+</ul>
+                                                        
+<h2>        Task
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1276'>TOMEE-1276</a>] -         rework TimerExecutor
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1279'>TOMEE-1279</a>] -         integrate batchee
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1280'>TOMEE-1280</a>] -         myfaces 2.2.x
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1317'>TOMEE-1317</a>] -         Ensure full support of JSR-349 Bean Validation 1.1
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1327'>TOMEE-1327</a>] -         log4j2 integration
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1331'>TOMEE-1331</a>] -         rework ProvisiningUtil to allow it to support more resolvers
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1410'>TOMEE-1410</a>] -         Cleanup poms to update the filtering of EXE files.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1572'>TOMEE-1572</a>] -         adopt latest OWB-1.6.0 changes
+</li>
+</ul>
+        
+<h2>        Test
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1290'>TOMEE-1290</a>] -         Source build profile &#39;hibernate&#39; requires junit dependency
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1338'>TOMEE-1338</a>] -         Create tests for DeployerEjb
+</li>
+</ul>
+        
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-7.0.1-release-notes.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-7.0.1-release-notes.mdtext b/src/main/jbake/content/tomee-7.0.1-release-notes.mdtext
new file mode 100644
index 0000000..08d7159
--- /dev/null
+++ b/src/main/jbake/content/tomee-7.0.1-release-notes.mdtext
@@ -0,0 +1,93 @@
+        Release Notes - TomEE - Version 7.0.1
+                                
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1813'>TOMEE-1813</a>] -         tomee.sh fails on cygwin
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1817'>TOMEE-1817</a>] -         java.lang.NullPointerException in Connector Resource Adapter deploy
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1819'>TOMEE-1819</a>] -         OWB configuration not respected
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1822'>TOMEE-1822</a>] -         SecurityService not available in TomEERealm: Principal can be the default one instead of the logged one
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1827'>TOMEE-1827</a>] -         Possible java.util.ConcurrentModificationException with ValidatingGenericConnectionManager
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1828'>TOMEE-1828</a>] -         OpenEJB application fails to find singleton container when openejb.offline = true
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1829'>TOMEE-1829</a>] -         com.sun.mail doesn&#39;t work in webapp out of the box
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1832'>TOMEE-1832</a>] -         dbcp2 datasource lock contention on createDataSource + illogical locking
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1839'>TOMEE-1839</a>] -         TomEE doesn&#39;t work with Arquillian servlet module 1.1.11.Final
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1841'>TOMEE-1841</a>] -         webapp version ignored
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1844'>TOMEE-1844</a>] -         bval can conflict with JAXRS bval integration
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1845'>TOMEE-1845</a>] -         dbcp2 openejb datasource JMX warning message at datasource unregistration
+</li>
+</ul>
+    
+<h2>        Dependency upgrade
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1850'>TOMEE-1850</a>] -         Tomcat 8.5.3
+</li>
+</ul>
+                    
+<h2>        Improvement
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1821'>TOMEE-1821</a>] -         Allow to filter CDI extensions
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1823'>TOMEE-1823</a>] -         double johnzon max size (8k) and add a comment in system.properties
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1824'>TOMEE-1824</a>] -         support date configuration for johnzon
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1825'>TOMEE-1825</a>] -         allow to configure converters for johnzon jaxrs provider
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1830'>TOMEE-1830</a>] -         Set TomEEJarScanner TomEEFilter to delegate to standard jar scan filter as default
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1838'>TOMEE-1838</a>] -         (Un)DeployMojo not supporting HTTPS
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1843'>TOMEE-1843</a>] -         resources.xml errors unclear about the file
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1849'>TOMEE-1849</a>] -         JaccProvider hard to override
+</li>
+</ul>
+            
+<h2>        New Feature
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1812'>TOMEE-1812</a>] -         add reload command to tomee embedded maven plugin
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1818'>TOMEE-1818</a>] -         add depends-on to Resource
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1826'>TOMEE-1826</a>] -         [CXF] openejb.cxf.monitoring.jmx config entry to activate counter repository
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1831'>TOMEE-1831</a>] -         Enrich failover router to support error handling
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1833'>TOMEE-1833</a>] -         add ExceptionSelector to Router (dynamic datasource routing)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1834'>TOMEE-1834</a>] -         Add an all in one routed datasource and failover router
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1835'>TOMEE-1835</a>] -         add openshift properties provider for mysql and postgresql
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1836'>TOMEE-1836</a>] -         add create/destroy server events for resource 
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1846'>TOMEE-1846</a>] -         allow to fully configure a resource programmatically
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1847'>TOMEE-1847</a>] -         allow to control API used to export a resource using classpath attribute
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1848'>TOMEE-1848</a>] -         add @Configuration support for TomEEEmbeddedSingleRunner
+</li>
+</ul>
+                                                        
+<h2>        Task
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1814'>TOMEE-1814</a>] -         upgrade copyright year to 2016
+</li>
+</ul>
+                
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-7.0.1.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-7.0.1.mdtext b/src/main/jbake/content/tomee-7.0.1.mdtext
new file mode 100644
index 0000000..8b20885
--- /dev/null
+++ b/src/main/jbake/content/tomee-7.0.1.mdtext
@@ -0,0 +1,40 @@
+# Apache TomEE 7.0.1 released, June 27th 2016
+
+The Apache TomEE community is proud to announce the release of [Apache TomEE 7.0.1](download/tomee-7.0.1.html), which is based on [Apache Tomcat 8.5.3](http://tomcat.apache.org/tomcat-8.5-doc/index.html) and mainly aims to fix a security issue found in Tomcat 8.5.2.
+
+Please feel free to check out and [contribute to the developer branch](contribute.html) - We are always interested in any help from the community that we can get.
+
+This version is not certified and is provided to the community as a milestone preview of the current development version. It is however an extremly well tested version. So please do test your applications and give us your feedback.
+
+The Apache TomEE 7.0.1 release files can be downloaded from here:
+
+[http://tomee.apache.org/download/tomee-7.0.1.html](download/tomee-7.0.1.html)
+
+###Update Maven POM Files - The OpenEJB version and groupId have been aligned
+
+Simply update your existing Maven JavaEE-API, OpenEJB and or TomEE pom.xml entries to point to the latest versions:
+
+	<dependency>
+		<groupId>org.apache.tomee</groupId>
+		<artifactId>javaee-api</artifactId>
+		<version>7.0</version>
+		<scope>provided</scope>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.tomee</groupId>
+		<artifactId>openejb-core</artifactId>
+		<version>7.0.1</version>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.tomee</groupId>
+		<artifactId>tomee</artifactId>
+		<version>7.0.1</version>
+	</dependency>
+
+A complete [Changelog](tomee-7.0.1-release-notes.html) can be viewed here:
+
+[tomee-7.0.1-release-notes.html](tomee-7.0.1-release-notes.html)
+
+Please feel free to jump in feet first and [get started with TomEE](documentation.html). You will nearly always find someone to help you on one of our [support channels](support.html).

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-7.0.2-release-notes.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-7.0.2-release-notes.mdtext b/src/main/jbake/content/tomee-7.0.2-release-notes.mdtext
new file mode 100644
index 0000000..de23d88
--- /dev/null
+++ b/src/main/jbake/content/tomee-7.0.2-release-notes.mdtext
@@ -0,0 +1,200 @@
+
+        Release Notes - TomEE - Version 7.0.2
+
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1545'>TOMEE-1545</a>] -         Problem with parallel deployment + REST
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1778'>TOMEE-1778</a>] -         XAPoolTest fails because lock on XA log file cannot be acquired
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1851'>TOMEE-1851</a>] -         ear classloading can&#39;t be webapp first without a custom classloader
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1852'>TOMEE-1852</a>] -         JAXWS services without CDI can lead to NPE
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1856'>TOMEE-1856</a>] -         Empty log files from AsyncConsoleHandler
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1857'>TOMEE-1857</a>] -         Logger.getInstance leaks
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1858'>TOMEE-1858</a>] -         tomee.bat doesn&#39;t work
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1859'>TOMEE-1859</a>] -         support debug command on tomee.sh
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1860'>TOMEE-1860</a>] -         Potential NPE with DBCP if a shared connection is closed
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1862'>TOMEE-1862</a>] -         TomcatWebAppBuilder: no need to track contextXml inputstream
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1865'>TOMEE-1865</a>] -         NPE when injected request used in bean called from JASPIC SAM
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1866'>TOMEE-1866</a>] -         Authenticators don&#39;t have access to the request in CDI beans (@RequestScoped)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1871'>TOMEE-1871</a>] -         deactivate tomee gui link since it is no more provided by default
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1875'>TOMEE-1875</a>] -         TomcatWebAppBuilder forces ConfigurationFactory impl
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1878'>TOMEE-1878</a>] -         AlternateDriver should be used only if datasource defines a classpath attribute
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1879'>TOMEE-1879</a>] -         DefinitionEncoding typo in Assembler
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1881'>TOMEE-1881</a>] -         org.apache.openejb.server.httpd.ServerServlet activated init param not respected
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1887'>TOMEE-1887</a>] -         Cipher command exception swalled
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1888'>TOMEE-1888</a>] -         tomcat context.xml datasource can be created twice in a different way when singleton
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1890'>TOMEE-1890</a>] -         arquillian remote tomee adapter should allow to configure options on the provider url (like timeout etc)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1893'>TOMEE-1893</a>] -         JAXRS undeploys all contexts matching context prefix
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1894'>TOMEE-1894</a>] -         MvnResolver uses openejb.m2.home for settings location
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1896'>TOMEE-1896</a>] -         TomcatWebAppBuilder overwrites the last added event listener when the application doesn&#39;t use CDI
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1898'>TOMEE-1898</a>] -         NPE in PojoEndpoint.java:110 when deploying JAX-WS application
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1899'>TOMEE-1899</a>] -         deny-uncovered-http-methods not supported in web.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1900'>TOMEE-1900</a>] -         XAConnection wrongly pooled when not fully handled in transaction (JPA case)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1901'>TOMEE-1901</a>] -         @Inject not working for EJB module
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1902'>TOMEE-1902</a>] -         [plume] NPE when CDI is not used
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1903'>TOMEE-1903</a>] -         JTA component lookup fails in CDI extensions
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1904'>TOMEE-1904</a>] -         allow to sort cdi extensions
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1907'>TOMEE-1907</a>] -         tomee arquillian enricher shouldn&#39;t log a warning for junit rules/statements
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1909'>TOMEE-1909</a>] -         CDI not available for JSP
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1911'>TOMEE-1911</a>] -         gradle plugin broken with gradle 3 and gradle wrapper
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1913'>TOMEE-1913</a>] -         CDI.current().getBeanManager() returns BeanManager of another webapp
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1922'>TOMEE-1922</a>] -         openejb-http doesn&#39;t support multiple header values
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1923'>TOMEE-1923</a>] -         @WebXXX ignored with antijarlocking activated
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1925'>TOMEE-1925</a>] -         WebContext#isWeb doesn&#39;t contain all web artifacts
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1928'>TOMEE-1928</a>] -         use src/main/webapp by default as webresource for TomEEEmbeddedSingleRunner
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1933'>TOMEE-1933</a>] -         InputStreamLeak in IO.java
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1935'>TOMEE-1935</a>] -         Leaked streams to files/classloader resources
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1936'>TOMEE-1936</a>] -         JMS message.getBody(String.class) is not working in MDB
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1940'>TOMEE-1940</a>] -         AbstractMethodError: org.apache.activemq.ActiveMQSession.createDurableConsumer(
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1941'>TOMEE-1941</a>] -         Logger.configure should also take into account openejb.logger.external
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1946'>TOMEE-1946</a>] -         TomEE relies on deafult locale
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1951'>TOMEE-1951</a>] -         BeanManager missing from javax.persistence.bean.manager entry in the map passed to JPA
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1952'>TOMEE-1952</a>] -         openejb.ejbd.authenticate-with-request hides authentication exception
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1960'>TOMEE-1960</a>] -         JarFiles are not closed
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1962'>TOMEE-1962</a>] -         deprecate org.apache.openejb.core.LocalInitialContextFactory
+</li>
+</ul>
+
+<h2>        Dependency upgrade
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1864'>TOMEE-1864</a>] -         tomcat 8.5.6
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1869'>TOMEE-1869</a>] -         upgrade xmlsec to 2.0.6
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1880'>TOMEE-1880</a>] -         johnzon 0.9.4
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1905'>TOMEE-1905</a>] -         ActiveMQ 5.14.1
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1906'>TOMEE-1906</a>] -         CXF 3.1.8
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1920'>TOMEE-1920</a>] -         Upgrade OpenWebBeans to 1.7.0
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1939'>TOMEE-1939</a>] -         myfaces 2.2.11
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1948'>TOMEE-1948</a>] -         batchee 0.4
+</li>
+</ul>
+
+<h2>        Improvement
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1855'>TOMEE-1855</a>] -         JSP can leak under no luck conditions
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1861'>TOMEE-1861</a>] -         org.apache.tomee.jul.formatter.AsyncConsoleHandler not configurable
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1870'>TOMEE-1870</a>] -         Don&#39;t scan jars if scan.xml is used with classes only
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1882'>TOMEE-1882</a>] -         tomee.sh/tomee.bat ignore tomcat boot classpat (tomcat-juli typically)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1885'>TOMEE-1885</a>] -         Improve MyFaces default properties
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1886'>TOMEE-1886</a>] -         add tomee.embedded.add-callers flag to tomee embeddded to be able to skip add caller code
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1921'>TOMEE-1921</a>] -         [tomee embedded] support to load configuration from a properties file in the classpath
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1927'>TOMEE-1927</a>] -         Update Maven page for TomEE 7.x
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1929'>TOMEE-1929</a>] -         Do not unnecessarily allocate an array
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1931'>TOMEE-1931</a>] -         InputStreamLeak in CxfRsHttpListener
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1949'>TOMEE-1949</a>] -         remove ejb-jar.xml and openejb-jar.xml from openejb-core
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1950'>TOMEE-1950</a>] -         tomee embedded should support descriptors in classpath for --as-war
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1958'>TOMEE-1958</a>] -         Mockito doesn&#39;t @MockInjector to be set as container properties
+</li>
+</ul>
+
+<h2>        New Feature
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1810'>TOMEE-1810</a>] -         Default context should be &#39;/&#39; or ROOT if --context is not specified for embedded tomee
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1872'>TOMEE-1872</a>] -         Map tomee embedded Configuration to its main
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1873'>TOMEE-1873</a>] -         Add FatApp main which is designed for fatjar case and delegates to tomee embedded Main with fatjar config
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1883'>TOMEE-1883</a>] -         provide tomee embedded classpath scanner through an event
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1884'>TOMEE-1884</a>] -         provide a component to propagate command line and args of tomee embedded
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1889'>TOMEE-1889</a>] -         EJBd http client BASIC support
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1895'>TOMEE-1895</a>] -         support maven coordinates in classpaths element
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1914'>TOMEE-1914</a>] -         org.apache.openejb.util.ContainerClassesFilter ignores jaxws exclusions
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1915'>TOMEE-1915</a>] -         add --interactive=true or -i options to tomee embedded main to exist typing &quot;exit&quot;
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1916'>TOMEE-1916</a>] -         add conf option to tomee embedded configuration
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1917'>TOMEE-1917</a>] -         Provide means to bypass CountingInputStream/OutputStream
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1918'>TOMEE-1918</a>] -         propagate gradle plugin configuration to gradle extension
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1919'>TOMEE-1919</a>] -         gradle tomee embedde task configuration not working
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1926'>TOMEE-1926</a>] -         add Configurer hook to TomEEEmbeddedSingleRunner to configure the Configuration instance
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1938'>TOMEE-1938</a>] -         @JMSDestinationDefinition ignored
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1944'>TOMEE-1944</a>] -         add --classes-filter to tomee embedded
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1953'>TOMEE-1953</a>] -         TomEE Embedded Mojo should support additional web resource directories
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1957'>TOMEE-1957</a>] -         add @Args to tomee-embedded application runner
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1959'>TOMEE-1959</a>] -         add js/groovy customizers to tomee embedded maven plugin based on tomee standalone ones
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1964'>TOMEE-1964</a>] -         support to always return false for isSameResource on XADataSource
+</li>
+</ul>

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/webadmin.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/webadmin.mdtext b/src/main/jbake/content/webadmin.mdtext
new file mode 100644
index 0000000..6cd7116
--- /dev/null
+++ b/src/main/jbake/content/webadmin.mdtext
@@ -0,0 +1,169 @@
+Title: Webadmin
+The Webadmin is a new addition to OpenEJB 1.0 and very innovative in that
+it lets you plug-in your own admin beans.  Here are some screenshots:
+
+- [Main](http://tomee.apache.org/images/webadmin-main.png)
+- [EJB Details](http://tomee.apache.org/images/webadmin-ejbdetails.png)
+- [List Logs](http://tomee.apache.org/images/webadmin-listlogs.png)
+- [System Properties](http://tomee.apache.org/images/webadmin-properties.png)
+- [JNDI Viewer](http://tomee.apache.org/images/webadmin-viewjndi.png)
+- [EJB Viewer](http://tomee.apache.org/images/webadmin-ejbviewer.png)
+- [Object and EJB Invoker](http://tomee.apache.org/images/webadmin-objectinvoker.png)
+
+<a name="Webadmin-EnablingtheWebadminin1.0beta1"></a>
+## Enabling the Webadmin in 1.0 beta 1
+
+The Webadmin console is in the 1.0 beta 1 release.  To enable it, simply
+move into the openejb.home directory and *copy* the
+openejb-webadmin-main.jar from the _beans_ directory into the _lib_
+directory.  Then start the server.
+
+
+    mingus:~/
+    $ cd /usr/local/openejb-1.0-beta1
+    
+    mingus:/usr/local/openejb-1.0-beta1 03:37:33 
+    $ cp beans/openejb-webadmin-main.jar lib/
+    
+    mingus:/usr/local/openejb-1.0-beta1 03:37:52 
+    $ ./bin/openejb start
+    OPENEJB_HOME = /usr/local/openejb-1.0-beta1
+    OpenEJB 1.0-beta1    build: 20050829-2233
+    http://www.openejb.org
+    resources 1
+    OpenEJB ready.
+    [init]
+ OpenEJB Remote Server
+      ** Starting Services **
+      NAME		       IP	       PORT  
+      admin thread	       127.0.0.1       4200  
+      ejbd		       127.0.0.1       4201  
+      telnet	       127.0.0.1       4202  
+      webadmin	       127.0.0.1       4203  
+    -------
+    Ready!
+
+
+Now you can open your browser to go to http://localhost:4203/
+
+<a name="Webadmin-WebAdminBeans"></a>
+# WebAdmin Beans
+
+To create an EJB and have it included as part of the WebAdmin, simply
+subclass from WebAdminBean and include it in your ejb-jar.xml file as such:
+
+    <session>
+      <description>A JNDI viewer</description>
+      <ejb-name>webadmin/ViewJndi</ejb-name>
+      <home>org.openejb.webadmin.HttpHome</home>
+      <remote>org.openejb.webadmin.HttpObject</remote>
+      <ejb-class>org.openejb.webadmin.clienttools.ViewJndiBean</ejb-class>
+      <session-type>Stateless</session-type>
+      <transaction-type>Bean</transaction-type>
+    </session>
+
+    
+The ejb-name is used to create the menus and should follow the format of
+'menu-section/menu-item'. WebAdminBeans are grouped together by the
+'menu-section' portion of their ejb-name. The 'menu-item' is the clickable
+link that causes the EJB code to be execute. Very simple and makes it
+possible to package administrative components with your EJB applications.
+
+# WebAdmin Plugins
+
+Here is a project that already takes advantage of the new feature. [BeanGen|http://beangen.sourceforge.net]
+
+# Developers guide
+Below is David Blevins' email on how webadmin worked. Please have a look at
+the text below before you start working on porting the existing WebAdmin to
+version 3.
+
+Plain old stateless beans were used as the "servlets".	To make a bean that
+would show up in the Webadmin Console you simply had to implement the
+HttpBean interface (i think it's now called HttpListener) and give your
+bean a deploymentId following this format "webadmin/{section}/\{page\}". 
+Anyone could add to the Webadmin console by doing both of these things,
+which is really cool as people developing EJB apps can also deploy beans
+for administering those apps right in the exact same jar.  This is not only
+easy for packaging but means new sections can be added/removed on the fly.
+
+Using the described "webadmin/{section}/\{page\}" deploymentId format,
+things end up automagically grouped in the JNDI tree.  There's a 'webadmin'
+context we grab which will contain any number of "section" contexts
+("ClientTools", "EJBGenerator", etc.).	Each of those section subcontexts
+will contain several beans which we will use to make the pages.  Making the
+menu is pretty easy as we just iterate over the webadmin section of the
+global jndi tree.
+
+When an http request came in we just took the path part of the GET or POST
+request, prepended "webadmin/" and then went looking for a bean with that
+deployment id and invoked it via it's HttpBean (now called HttpListener)
+interface passing in a HttpRequest and HttpResponse objects which are
+trimmed down versions of similar servlet classes.
+There'll be some changes to this as now we support our plain ejb protocol
+over our http implementation, so the two will have to find a way to share
+the URL space.	See the openejb-http module.
+
+To implement session state, we had a stateful session bean implementing an
+HttpSession interface (again, similar to the servlet equivalent) and simply
+wrote the internal ID of the bean instance into a Cookie sent to the
+browser.  For some reason we would write the javax.ejb.Handle of the
+stateful bean's EJBObject to disk and
+read it back out on subsequent requests then used it to get a reference to
+the EJBObject again.  I'm not sure why we didn't just keep a static hashmap
+and put the EJBObject right in it using an ID we could just make up like
+UUID (that would have been way simpler).
+
+We had a standard superclass we favored for beans that implemented the
+HttpBean (HttpListener) interface that did templating and the
+aforementioned menu  construction.  The templating was perhaps too tricky
+as we used a non-printable character to determine where to insert data. 
+Now we could just use swizzle-stream for some pretty decent templating
+ability or even velocity.  I'd be hesitant to endorse velocity as we
+already have a dep on swizzle-stream and wouldn't want to see us add
+another meg to our distro size if we can avoid it -- we have like 3 times
+as many deps as 1.0 did and we should probably start tightening the belt.
+
+To serve static things like images, we had a "default" HttpBean which
+searched for the items in the classpath and wrote them into the response
+setting the mime type, etc. correctly.	One thing that we never did which
+still needs to happen is that the bean didn't have the logic to set the
+modification information into the response so the "If modified since"
+header which would allow the browser to rely on it's cache instead of
+requesting the same images over and over again.
+
+That pretty much covers the way it was put together.
+    
+    
+  - The Jndi Viewer, Class Viewer, Ejb Viewer, and Object Invoker were written by yours truly
+  - The EJB Generator was written by Jeremy Whitlock
+  - Everything else was written by Tim Urberg.	Tim was "WebAdmin guy" for
+    a good long while.  Before Tim came along the webadmin was just some
+    experimental code I had in a branch, he did more than he realizes by putting his energy
+    into it -- active people attract/ create more active people.  Maybe we can
+    convince him to come back and work on it ;)
+    
+And of course I have to mention our own Paulo Lopes who wrote a really cool
+project out in SF.net (http://beangen.sourceforge.net/) which was the first
+plugin for the OpenEJB Webadmin.  He wrote it before we even had shipped a
+release containing the Webadmin or had any docs at all on it, which in my
+mind shows just how neat the idea of using ejb's and simple conventions to
+do the console really is.
+
+Some notes going forward is that we have a truck load of meta-data now
+available via SystemInstance.get().get (OpenEjbConfiguration.class). 
+Certainly JSR-77 is one option, but we could do far better with plain old
+java code.  That tree is the primary source of meta-data for OpenEJB, it's
+what was used to construct every container, bean, resource adapter,
+database connector and *everything* in the system (well, sans the
+protocols).  Someone new to the project can look at it and understand it
+without having to read any abstract specs.  Something to consider.  The
+tree is read only in it's function, however it is possible to copy then
+edit and make new containers, etc. based on existing definitions.
+
+Additionally, using this same data structure it's possible to show the
+potential services available via the service-jar.xml files in the classpath
+that detail containers, resource adapters, database connectors, etc. which
+can be configured/created at runtime.  So we could also display a sort of
+catalogue of components (aka. services) that someone could click and deploy
+via the console.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/webobjects.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/webobjects.mdtext b/src/main/jbake/content/webobjects.mdtext
new file mode 100644
index 0000000..73bd9ac
--- /dev/null
+++ b/src/main/jbake/content/webobjects.mdtext
@@ -0,0 +1,7 @@
+Title: WebObjects
+
+We don't officially support the WebObjects OpenEJB integration, but we are
+happy to offer up this page for those users to place information on usage
+of EJBs in WebObjects 5.1.
+
+Click the edit link above, sign up for an wiki account and edit away!


[24/34] tomee-site-generator git commit: Merge old content. Move tech content to main build.

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.7.0-release-notes.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.7.0-release-notes.mdtext b/src/main/jbake/content/tomee-1.7.0-release-notes.mdtext
new file mode 100644
index 0000000..20fb90a
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.7.0-release-notes.mdtext
@@ -0,0 +1,861 @@
+
+        Release Notes - TomEE - Version 1.7.0
+    
+<h2>        Sub-task
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-659'>TOMEE-659</a>] -         TomEE new logo
+</li>
+</ul>
+            
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-836'>TOMEE-836</a>] -         ReportValidationResults should log.info about the root cause
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-885'>TOMEE-885</a>] -         Cannot inject no-interface groovy local bean
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-926'>TOMEE-926</a>] -         arquillian adaptors can fail replacing port if a port includes another one
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-953'>TOMEE-953</a>] -         tolerate javax. classes from app when not in server
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-982'>TOMEE-982</a>] -         JAXRS @ApplicationPath deployment fails if path starts with http and is not a URL
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1054'>TOMEE-1054</a>] -         catalina.sh created by installer is not executable
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1075'>TOMEE-1075</a>] -         openejb.home system properties not correctly set
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1076'>TOMEE-1076</a>] -         integrate tomee with spring-web SCI
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1079'>TOMEE-1079</a>] -         destroy resource adapter after connection factories
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1082'>TOMEE-1082</a>] -         openejb-javaagent missing from service.bat
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1083'>TOMEE-1083</a>] -         when using tccl for quartz avoid to set our quartz impl to avoid classloading issues (if the user does it he has to solve it himself)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1084'>TOMEE-1084</a>] -         webservice (soap) undeployment doesn&#39;t use same id as deployment -&gt; can deploy/undeploy (in tests) the same WS 
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1085'>TOMEE-1085</a>] -         jaxrs application are scanned and kept even if not instantiable
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1086'>TOMEE-1086</a>] -         @WebServiceRef(MyServiceImpl.class) doesn&#39;t work as expected
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1088'>TOMEE-1088</a>] -         classpaths can be null in stop mojo
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1089'>TOMEE-1089</a>] -         driverDelegateInitString should be set only if job store class is a JobStoreSupport
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1093'>TOMEE-1093</a>] -         wrong filtering of slf4j bindings
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1094'>TOMEE-1094</a>] -         allow derby to be in webapps
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1099'>TOMEE-1099</a>] -         arquillian adapter supposes war contained in ear are named as the ear
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1101'>TOMEE-1101</a>] -         Test methods are not getting enriched when run via Arquillian
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1106'>TOMEE-1106</a>] -         infinite loop detected while destroying bean XYService under load
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1110'>TOMEE-1110</a>] -         Datasources declared in context.xml doesn&#39;t work when the application is redeployed
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1119'>TOMEE-1119</a>] -         Duplicate servlets with embedded container
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1122'>TOMEE-1122</a>] -         @Timeout &amp; @TA(NOT_SUPPORTED) methods in @Singleton beans run with transactional context
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1125'>TOMEE-1125</a>] -         stateful not clean up on discardInstance (@Remove)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1134'>TOMEE-1134</a>] -         activemq-webconsole doesn&#39;t work
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1135'>TOMEE-1135</a>] -         jaxrs beans lifecycle not well handled when relying on @Dependent
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1136'>TOMEE-1136</a>] -         Context.stop() destroy the context (manager is broken)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1137'>TOMEE-1137</a>] -         Mark all apache-tomee pom dependencies provided
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1138'>TOMEE-1138</a>] -         Cannot reference @Stateful @ConversationScoped bean in JSF page
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1139'>TOMEE-1139</a>] -         RESTService fails to check for BasicAuthHttpListenerWrapper
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1147'>TOMEE-1147</a>] -         tld can&#39;t be in WEB-INF/classes/META-INF
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1157'>TOMEE-1157</a>] -         OpenJPA metadata shoudln&#39;t be cleaned up for classes of the jvm
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1161'>TOMEE-1161</a>] -         mapping of a jaxrs application with @ApplicationPath doesnt work
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1162'>TOMEE-1162</a>] -         embedded jaxrs/http layer is broken and then for not simple cases urls are wrong
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1164'>TOMEE-1164</a>] -         avoid tomcat classloader to get a parent null after reloading
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1165'>TOMEE-1165</a>] -         cxf context not cleaned up
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1169'>TOMEE-1169</a>] -         better support of XaDataSource
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1172'>TOMEE-1172</a>] -         support jta wrapping (ManagedDataSource) of a custom datasource
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1175'>TOMEE-1175</a>] -         BaseEjbProxyHandler equals is is wrong - can lead to perf issues with cmp beans
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1179'>TOMEE-1179</a>] -         would be great to support property on provide fields for @DataSourceDefinition
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1183'>TOMEE-1183</a>] -         docBase (tomcat) and webAppInfo.path (tomee) doesn&#39;t use same separator
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1190'>TOMEE-1190</a>] -         TomEE maven plugin must supported Tomcat based distros
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1199'>TOMEE-1199</a>] -         arquillian embedded deploy as testable not testable archives if context is not cleaned up by arquillian
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1200'>TOMEE-1200</a>] -         arquillian adapters should tolerate more than a single test class as injectable test
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1203'>TOMEE-1203</a>] -         stateful can&#39;t be checkouted by multiple threads
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1205'>TOMEE-1205</a>] -         TomEE webprofile 1.6.0.1 and 1.6.0.2 breaks java subtyping
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1207'>TOMEE-1207</a>] -         support additionalSystemProperties for mvn tomee:exec even for java as script command
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1208'>TOMEE-1208</a>] -         Arquillian should replace server.xml port even if we provide it in the project
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1214'>TOMEE-1214</a>] -         tomee should pick up conf/log4j.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1215'>TOMEE-1215</a>] -         Log4jLogStreamFactory picks up wrong conf directory
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1217'>TOMEE-1217</a>] -         toUrl in PerisstenceUnitInfoImpl can create weird url when file is not a file but a jar link
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1218'>TOMEE-1218</a>] -         mixed scope-handling in CdiAppContextsService
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1219'>TOMEE-1219</a>] -         org.apache.quartz.threadPool.threadCount and openejb.timer.pool.size ignored
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1223'>TOMEE-1223</a>] -         tomee embedded EJBContainer doesn&#39;t close on error
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1226'>TOMEE-1226</a>] -         ensure when wrapping Tomcat Realms with TomEERealm that the delegates are in the right state
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1228'>TOMEE-1228</a>] -         tomee maven plugin doesn&#39;t deploy jar/ear if a custom tomee.xml is not provided
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1234'>TOMEE-1234</a>] -         arquillian tomee embedded : ensure test classloader is the app one
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1241'>TOMEE-1241</a>] -         clean up openejb.loader property when shuttingdown to allow reboot
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1242'>TOMEE-1242</a>] -         allow arquillian tomee embedded container to be rebooted (manual mode)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1248'>TOMEE-1248</a>] -         Security identity initialized twice when using preemptive mode
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1255'>TOMEE-1255</a>] -         allow TomEE Maven Plugin to specify additional docBase
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1256'>TOMEE-1256</a>] -         allow tomee maven plugin to skip war resources
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1257'>TOMEE-1257</a>] -         undeployment remove all validator/validatorfactory (not only the undeployed app ones)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1260'>TOMEE-1260</a>] -         allow CDI contructor injections for JAX-RS endpoints
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1261'>TOMEE-1261</a>] -         soap binding annotation not read for ejbs
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1262'>TOMEE-1262</a>] -         JAX RS Autoscanning from Web XML
+</li>
+</ul>
+    
+<h2>        Dependency upgrade
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1104'>TOMEE-1104</a>] -         Tomcat 7.0.53
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1108'>TOMEE-1108</a>] -         myfaces 2.1.15
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1115'>TOMEE-1115</a>] -         xbean 3.16
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1131'>TOMEE-1131</a>] -         OpenWebBeans 1.2.4
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1142'>TOMEE-1142</a>] -         CXF 2.6.14
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1158'>TOMEE-1158</a>] -         Arquillian 1.1.5.Final
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1193'>TOMEE-1193</a>] -         examples/groovy-spock groovy-all dependency update
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1194'>TOMEE-1194</a>] -         examples/groovy-cdi groovy-all dependency update
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1195'>TOMEE-1195</a>] -         examples/groovy-jpa groovy-all dependency update
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1196'>TOMEE-1196</a>] -         examples/lookup-of-ejbs junit dependency update
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1197'>TOMEE-1197</a>] -         examples/lookup-of-ejbs-with-descriptor junit dependency update
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1232'>TOMEE-1232</a>] -         update examples using myfaces extval
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1236'>TOMEE-1236</a>] -         Use Tomcat 7.0.54
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1237'>TOMEE-1237</a>] -         Mojarra 2.1.x
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1238'>TOMEE-1238</a>] -         EclipseLink 2.4.2
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1245'>TOMEE-1245</a>] -         activemq 5.10.0
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1252'>TOMEE-1252</a>] -         upgrade deltaspike fullstack example to deltaspike v1
+</li>
+</ul>
+    
+<h2>        Documentation
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1154'>TOMEE-1154</a>] -         port myfaces-codi fullstack demo to deltaspike
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1155'>TOMEE-1155</a>] -         upgrade myfaces-codi fullstack demo for tomee 1.6.x
+</li>
+</ul>
+        
+<h2>        Improvement
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-898'>TOMEE-898</a>] -         Bean Validation Test (bean-validation-design-by-contract) is in the wrong package
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-904'>TOMEE-904</a>] -         Try to unwrap the URL from UrlAsset instead of creating a new one
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1090'>TOMEE-1090</a>] -         tomee-catalina PMD
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1100'>TOMEE-1100</a>] -         enhance error message in PersistenceUnitLinkResolver.extractWebApp when uri is illegal
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1105'>TOMEE-1105</a>] -         JAX-WS Endpoint CDI Support
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1111'>TOMEE-1111</a>] -         Expand SQL logging capability to include failed statements as well
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1126'>TOMEE-1126</a>] -         Add property for loading dynamic CXF providers
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1151'>TOMEE-1151</a>] -         @Observes optimization
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1152'>TOMEE-1152</a>] -         Failure related @Observes infinite loops protection
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1163'>TOMEE-1163</a>] -         ApplicationComposer: Process @Module annotations in parent classes
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1168'>TOMEE-1168</a>] -         subclass dynamic (ejb implementing invocation handler) are not deterministic wirh cxf-rs
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1185'>TOMEE-1185</a>] -         option to deactivate DataSourcePlugins
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1186'>TOMEE-1186</a>] -         allow to add at runtime system properties using execmojo (java -jar myapp.jar)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1187'>TOMEE-1187</a>] -         disable tomcat reloading with tomee maven plugin to avoid reloading on update only extensions
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1192'>TOMEE-1192</a>] -         LazyRealm doesn&#39;t support Lifecycle hooks
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1201'>TOMEE-1201</a>] -         Allow dynamic configuration of, and log, thread pool sizes.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1210'>TOMEE-1210</a>] -         Create Assemblies that honour OS specific line endings
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1211'>TOMEE-1211</a>] -         Reduce wrapping of SQLException in DBCP usage
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1221'>TOMEE-1221</a>] -         Unused code segment on tomee-catalina TomcatWebAppBuilder.java
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1227'>TOMEE-1227</a>] -         add a tomee-overlay-runner module to ease overlay creation
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1230'>TOMEE-1230</a>] -         Start and stop monitor logic should not just monitor shutdown port.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1233'>TOMEE-1233</a>] -         update deltaspike example
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1239'>TOMEE-1239</a>] -         Update HttpsConnectionTest to support jdk8 - KeyTool changes
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1240'>TOMEE-1240</a>] -         Allow to choose Host when deploying a webapp (WebAppDeployer)
+</li>
+</ul>
+    
+<h2>        New Feature
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-651'>TOMEE-651</a>] -         DataSource is such a common resource type that it should be possible to not specify it in tomee.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-662'>TOMEE-662</a>] -         Support aliases on resources
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1074'>TOMEE-1074</a>] -         Manage Sessions
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1077'>TOMEE-1077</a>] -         add a &quot;openejb.timers.on&quot; property (configurable in application.properties) to deactivate timers
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1080'>TOMEE-1080</a>] -         properties as resource
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1081'>TOMEE-1081</a>] -         support WebServiceContext for pojos
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1092'>TOMEE-1092</a>] -         shade quartz in org.apache.openejb.quartz
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1097'>TOMEE-1097</a>] -         allow to define urls as resource
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1103'>TOMEE-1103</a>] -         tomeeAlreadyInstalled option to tomee mvn plugin to not modify tomee (no conf, no lib, no app) when starting
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1107'>TOMEE-1107</a>] -         support org.hibernate.jpa.HibernatePersistenceProvider out of the box
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1109'>TOMEE-1109</a>] -         Potential TomEE distribution with Mojarra and EclipseLink
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1113'>TOMEE-1113</a>] -         support leveldb and custom amq persistence adapter
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1114'>TOMEE-1114</a>] -         TomEE Maven Plugin should support OpenEJB standalone
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1121'>TOMEE-1121</a>] -         add openejb.cxf-rs.wadl-generator.ignoreRequests to configure and not force ignoreRequests on wadlgenerator
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1127'>TOMEE-1127</a>] -         New Event: @Observes LifecycleEvent
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1132'>TOMEE-1132</a>] -         add javaagents parameter to <a href='maven/index.html'>tomee-maven-plugin</a>
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1133'>TOMEE-1133</a>] -         support @CdiExtensions on test class for ApplicationComposer
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1140'>TOMEE-1140</a>] -         Support CDI LoginModule
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1144'>TOMEE-1144</a>] -         provide an exec war goal to tomee plugin
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1145'>TOMEE-1145</a>] -         &lt;Resource classpath=&quot;&quot;&gt; attribute
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1146'>TOMEE-1146</a>] -         Support multiple JDBC Driver class versions
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1149'>TOMEE-1149</a>] -         @Observes BeforeEvent &amp; AfterEvent
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1150'>TOMEE-1150</a>] -         @Observes Event type inheritance
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1159'>TOMEE-1159</a>] -         support jaxrs to be overriden by the webapp
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1166'>TOMEE-1166</a>] -         activate cxf jmx by default
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1170'>TOMEE-1170</a>] -         Investigate the use of the Win platform daemon tool (prunmgr.exe)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1184'>TOMEE-1184</a>] -         TomEE Remote should support empty/null classifier
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1212'>TOMEE-1212</a>] -         allow to configure async pool by remote initial context
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1213'>TOMEE-1213</a>] -         Add support for &lt;security-role-ref&gt;
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1220'>TOMEE-1220</a>] -         if jaxrs.txt is in &lt;tomee&gt;/conf add libraries in container
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1222'>TOMEE-1222</a>] -         allow JarLocation (of ziplock) to get jar file from resource name and jar name
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1224'>TOMEE-1224</a>] -         TomEE Remote EJBContainer
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1247'>TOMEE-1247</a>] -         allow internal datasources to be flushable (swap delegate)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1249'>TOMEE-1249</a>] -         add LockFactory API in StatefulContainer
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1250'>TOMEE-1250</a>] -         support resource references in resources.xml Service using @ prefix
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1251'>TOMEE-1251</a>] -         Add ability to configure HTTPS port
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1258'>TOMEE-1258</a>] -         allow tomee maven plugin to configure externalRepositories
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1259'>TOMEE-1259</a>] -         add webappDefaultConfig to tomee maven plugin to auto configure the plugin for default webapp dev setup
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1263'>TOMEE-1263</a>] -         Add a REST Exception mapper for EJBAccessException
+</li>
+</ul>
+                                
+<h2>        Task
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1160'>TOMEE-1160</a>] -         Track AppContext start time
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1177'>TOMEE-1177</a>] -         Include Apache Tomcat Native library 1.1.30
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1178'>TOMEE-1178</a>] -         Please create a DOAP file for your TLP
+</li>
+</ul>
+        
+<h2>        Test
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1253'>TOMEE-1253</a>] -         add tests based on the test-control module to the deltaspike fullstack example
+</li>
+</ul>
+
+        Release Notes - OpenEJB - Version 4.7.0
+    
+<h2>        Sub-task
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-120'>OPENEJB-120</a>] -         Port CMP Container
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-145'>OPENEJB-145</a>] -         iTest: StatelessRemoteJndiTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-146'>OPENEJB-146</a>] -         iTest: StatelessLocalJndiTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-147'>OPENEJB-147</a>] -         iTest: StatelessHomeIntfcTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-148'>OPENEJB-148</a>] -         iTest: StatelessEjbHomeTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-149'>OPENEJB-149</a>] -         iTest: StatelessEjbObjectTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-150'>OPENEJB-150</a>] -         iTest: StatelessEjbLocalHomeTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-151'>OPENEJB-151</a>] -         iTest: StatelessEjbLocalObjectTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-152'>OPENEJB-152</a>] -         iTest: StatelessRemoteIntfcTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-153'>OPENEJB-153</a>] -         iTest: StatelessLocalIntfcTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-154'>OPENEJB-154</a>] -         iTest: StatelessHomeHandleTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-155'>OPENEJB-155</a>] -         iTest: StatelessHandleTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-156'>OPENEJB-156</a>] -         iTest: StatelessEjbMetaDataTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-157'>OPENEJB-157</a>] -         iTest: StatelessLocalBusinessIntfcTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-158'>OPENEJB-158</a>] -         iTest: StatelessRemoteBusinessIntfcTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-159'>OPENEJB-159</a>] -         iTest: StatelessBeanJndiEncTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-160'>OPENEJB-160</a>] -         iTest: StatelessBeanSetterInjectionTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-161'>OPENEJB-161</a>] -         iTest: StatelessBeanPublicFieldInjectionTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-171'>OPENEJB-171</a>] -         iTest: StatefulRemoteJndiTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-172'>OPENEJB-172</a>] -         iTest: StatefulLocalJndiTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-173'>OPENEJB-173</a>] -         iTest: StatefulHomeIntfcTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-174'>OPENEJB-174</a>] -         iTest: StatefulEjbHomeTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-175'>OPENEJB-175</a>] -         iTest: StatefulEjbObjectTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-176'>OPENEJB-176</a>] -         iTest: StatefulEjbLocalHomeTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-177'>OPENEJB-177</a>] -         iTest: StatefulEjbLocalObjectTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-179'>OPENEJB-179</a>] -         iTest: StatefulLocalIntfcTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-180'>OPENEJB-180</a>] -         iTest: StatefulHomeHandleTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-181'>OPENEJB-181</a>] -         iTest: StatefulHandleTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-183'>OPENEJB-183</a>] -         iTest: StatefulLocalBusinessIntfcTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-184'>OPENEJB-184</a>] -         iTest: StatefulRemoteBusinessIntfcTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-185'>OPENEJB-185</a>] -         iTest: StatefulBeanJndiEncTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-186'>OPENEJB-186</a>] -         iTest: StatefulBeanSetterInjectionTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-187'>OPENEJB-187</a>] -         iTest: StatefulBeanPublicFieldInjectionTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-201'>OPENEJB-201</a>] -         iTest: InterceptorInvocationContextTests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-316'>OPENEJB-316</a>] -         ASL Headers:  openejb3/assembly
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-317'>OPENEJB-317</a>] -         ASL Headers:  openejb3/container
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-318'>OPENEJB-318</a>] -         ASL Headers:  openejb3/examples
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-319'>OPENEJB-319</a>] -         ASL Headers:  openejb3/itests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-320'>OPENEJB-320</a>] -         ASL Headers:  openejb3/server
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-328'>OPENEJB-328</a>] -         openejb3 license and notice files do not end with .txt
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-329'>OPENEJB-329</a>] -         openejb3/itests/openejb-itests-app/
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-330'>OPENEJB-330</a>] -         openejb3/assembly/openejb-standalone
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-331'>OPENEJB-331</a>] -         openejb3/assembly/openejb-tomcat
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-343'>OPENEJB-343</a>] -         Example: Minimal Statetless Bean via a deployment descriptor
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-345'>OPENEJB-345</a>] -         Example: Minimal MessageDriven Bean via a deployment descriptor
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-636'>OPENEJB-636</a>] -         doc: deploy-tool.html
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-658'>OPENEJB-658</a>] -         doc: quickstart.html
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-660'>OPENEJB-660</a>] -         doc: startup.html
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-678'>OPENEJB-678</a>] -         Validation: Explicit check for InvocationContext incorrectly used in bean callbacks
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1419'>OPENEJB-1419</a>] -         Add a related documentation page
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1836'>OPENEJB-1836</a>] -         Validation: @Local on bean with no-interface should use @LocalBean
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2071'>OPENEJB-2071</a>] -         Validation: Check for proper @Asynchronous usage
+</li>
+</ul>
+            
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-6'>OPENEJB-6</a>] -         Wrong Exceptions thrown for unimplemented features
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-23'>OPENEJB-23</a>] -         OpenEJB protocol hangs in ObjectInputStream
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-75'>OPENEJB-75</a>] -         itests broken when Geronimo moved to v1.0
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-207'>OPENEJB-207</a>] -         Need to put the most updated EJB\JPA specs onto one of our repos
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-208'>OPENEJB-208</a>] -         NoClassDefFound exception is thrown when OpenEJB3.0 server is starting
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-259'>OPENEJB-259</a>] -         Session bean &quot;setSessionContext&quot; method should not be required for POJO EJBs
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-290'>OPENEJB-290</a>] -         Executing an ejbSelect that does not return a cmp bean throw NullPointerException
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-291'>OPENEJB-291</a>] -         SessionContext getRollbackOnly and setRollbackOnly should throw an IllegalArgumentException when there is no transaction in progress
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-292'>OPENEJB-292</a>] -         SessionSynchronization should not be called on a SFSB when ejbCreate is called
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-293'>OPENEJB-293</a>] -         beforeCommit should not be called when the transaction is marked rollback only
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-296'>OPENEJB-296</a>] -         EJBQL query with many-to-many join clause causes an AssertionError
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-303'>OPENEJB-303</a>] -         EJBLocalObject.getEJBLocalHome throws exception
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-322'>OPENEJB-322</a>] -         JeeTests fail due to bad descriptors
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-339'>OPENEJB-339</a>] -         NPE in class AnnotationDeployer during deployment of annotated beans
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-391'>OPENEJB-391</a>] -         openejb-itests-core does not start
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-392'>OPENEJB-392</a>] -         Patch to fix broken itests
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-394'>OPENEJB-394</a>] -         javax.naming.NameNotFoundException Name &quot;client/tools/DatabaseHome&quot; not found
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-397'>OPENEJB-397</a>] -         Fix DummyTest.java in itests.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-409'>OPENEJB-409</a>] -         NullPointer Exception on trying to deploy MessageDrivenBean
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-410'>OPENEJB-410</a>] -         Executing bin/openejb with no parameters causes usage to be printed 4 times
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-411'>OPENEJB-411</a>] -         IvmContext.listBindings returns an enumeration of NameClassPair insted of Bindings
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-413'>OPENEJB-413</a>] -         @EJB Resource injection does not work when there are both Local and Remote interface
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-430'>OPENEJB-430</a>] -         Transaction support not wired in MDB Container
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-444'>OPENEJB-444</a>] -         Starting and ending spaces not trimmed in openejb during unmarshalling of descriptors.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-461'>OPENEJB-461</a>] -         Workaround for maven misresolving ${pom.version}
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-463'>OPENEJB-463</a>] -         Examples use a different version for geronimo-ejb_3.0_spec than the one used in the main build.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-467'>OPENEJB-467</a>] -         Lookup of EntityManagerFactories failing in Windows
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-471'>OPENEJB-471</a>] -         CMP beans in an EJB 1.1 jar are assumed to be CMP 2.0
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-513'>OPENEJB-513</a>] -         Missing OpenEJB icon on &quot;Define New Server&quot; Page of  &quot;New Server&quot; wizard
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-515'>OPENEJB-515</a>] -         openejb2/geronimo jaxb tree cannot handle persistence-unit-ref
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-539'>OPENEJB-539</a>] -         Fix NPE in InterceptorStack
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-540'>OPENEJB-540</a>] -         Rolling back a transaction in which a Timer is cancelled results in a non-functional timer 
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-545'>OPENEJB-545</a>] -         PortableRemoteObject instances not getting marshaled correctly on EJB calls.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-546'>OPENEJB-546</a>] -         Timer operations are improperly allowed in some methods
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-549'>OPENEJB-549</a>] -         JndiEncBuilder is inserting bad comp/ORB and comp/HandleDelegate references into jndi tree. 
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-551'>OPENEJB-551</a>] -         ClassNotFoundExceptions can occur during method argument or return value marshalling/unmarshalling
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-553'>OPENEJB-553</a>] -         EjbObjectProxyHandler and EjbHomeProxyHandler serialization using wrong server context.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-554'>OPENEJB-554</a>] -         WebServiceBindingType.ejbName not set in ReadDescriptors.java
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-555'>OPENEJB-555</a>] -         Don&#39;t ship files with Sun copyright statements
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-556'>OPENEJB-556</a>] -         HSQL ServerService fails to start when there are no connectors bound into the system
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-557'>OPENEJB-557</a>] -         Throw EJBAccessException not RemoteException when you&#39;re unauthorized
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-562'>OPENEJB-562</a>] -         WebServiceRef annotation processing does not check for existing service-ref elements in DD
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-564'>OPENEJB-564</a>] -         JAX-RPC fixes
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-566'>OPENEJB-566</a>] -         geronimo security type not copied correctly
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-567'>OPENEJB-567</a>] -         EjbJarBuilder.build() should not &quot;deploy&quot; beans
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-570'>OPENEJB-570</a>] -         NotSerializableException passivating a session
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-578'>OPENEJB-578</a>] -         Register SERVICE_ENDPOINT last so it doesn&#39;t get overriden
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-579'>OPENEJB-579</a>] -         Persistenceunit refs with no name should get resolved to a unique persistence unit
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-581'>OPENEJB-581</a>] -         EjbModule URL not valid should be squashed
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-582'>OPENEJB-582</a>] -         Lifecycle interceptor defined on a superclass breaks the chain
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-587'>OPENEJB-587</a>] -         wrong main.class value for deploy and validate options
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-588'>OPENEJB-588</a>] -         OpenJPA graduated from incubator, need to upgrade to 1.0.0-SNAPSHOT
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-589'>OPENEJB-589</a>] -         MalformedURLException during deployment of Geronimo MEJBGBean
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-590'>OPENEJB-590</a>] -         mvn -Dassemble does not create bin directory in the assembly of module openejb-standalone
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-593'>OPENEJB-593</a>] -         Fix build error
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-595'>OPENEJB-595</a>] -         maven assembly plugin does not filter resources
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-601'>OPENEJB-601</a>] -         broken logging
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-622'>OPENEJB-622</a>] -         EntityEJBObjectHandler memory leak
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-623'>OPENEJB-623</a>] -         Apply container-transaction delcarations in proper order
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-625'>OPENEJB-625</a>] -         RedeployTest does not search for maven repository properly
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-666'>OPENEJB-666</a>] -         openejb start --help command prints out property values.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-667'>OPENEJB-667</a>] -         OpenEJB server prints logging messages to console.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-672'>OPENEJB-672</a>] -         Running the command &quot;openejb stop --help&quot; throws a null pointer exception
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-792'>OPENEJB-792</a>] -         Failure in RedeployTest on Windows. 
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-889'>OPENEJB-889</a>] -         javax.jms.JMSException: Failed to build body from bytes. 
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1022'>OPENEJB-1022</a>] -         Test case org.apache.openejb.config.ConfigurationFactoryTest#testConfigureApplicationWebModule fails while building OEJB
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1131'>OPENEJB-1131</a>] -         JDK 1.6.0 u18 has a ClassCastException in ClassLoaderUtil.clearSunJarFileFactoryCache
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1246'>OPENEJB-1246</a>] -         Committed timers are not visible between transactions
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1263'>OPENEJB-1263</a>] -         IllegalAccessException with TomcatThreadContextListener
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1287'>OPENEJB-1287</a>] -         java.lang.NullPointerException: null: null at org.apache.openejb.assembler.classic.Assembler.createApplication
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1305'>OPENEJB-1305</a>] -         Standalone Server shutdown fails
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1347'>OPENEJB-1347</a>] -         ClassCastException in ClassLoaderUtil.clearSunJarFileFactoryCache
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1349'>OPENEJB-1349</a>] -         No interceptor of type org.apache.openejb.cdi.CdiInterceptor
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1405'>OPENEJB-1405</a>] -         WS Security mustUnderstand flag not treated when handlers are used
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1417'>OPENEJB-1417</a>] -         webservices.xml not read when embedded in Tomcat
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1422'>OPENEJB-1422</a>] -         fix compile error caused by OWB-503
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1622'>OPENEJB-1622</a>] -         Adding more boundary condition handling in cron calendar timer.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1918'>OPENEJB-1918</a>] -         Build relies on &lt;repositories&gt; and &lt;pluginRepositories&gt;
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1962'>OPENEJB-1962</a>] -         Filter out known directories from EAR scanning
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1963'>OPENEJB-1963</a>] -         Only fail security on bad deployment directory
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1967'>OPENEJB-1967</a>] -         SocketConnectionFactory not honouring lock request and soLinger
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1986'>OPENEJB-1986</a>] -         Deployment of web application with white spaces in its name fails due to unencoded characters
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1994'>OPENEJB-1994</a>] -         App directory with space in name fails on Win platforms
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1995'>OPENEJB-1995</a>] -         Scheduler does not respect TimeZone property if specified
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2004'>OPENEJB-2004</a>] -         EjbTimerService fails to shut down after recent changes
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2047'>OPENEJB-2047</a>] -         ignore com.sun in PersistenceUnitInfoImpl
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2055'>OPENEJB-2055</a>] -         openejb-core PMD - basic.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2063'>OPENEJB-2063</a>] -         Failure to start cxf-rs service due to simple logging call
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2064'>OPENEJB-2064</a>] -         @DenyAll not handled at class level
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2065'>OPENEJB-2065</a>] -         Change 1482211 causes shell error if bin/openejb is given more than one argument
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2066'>OPENEJB-2066</a>] -         &quot;openejb stop&quot; leaves the standalone java process running but broken
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2067'>OPENEJB-2067</a>] -         Wrong URL when hot-deploying @WebService to TomEE+ 1.6.0
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2068'>OPENEJB-2068</a>] -         OpenEJB runs EJB Business Interface Method on Proxy instead of Bean
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2070'>OPENEJB-2070</a>] -         Potential deadlock in URLClassLoaderFirst
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2072'>OPENEJB-2072</a>] -         Fix OSGI import for commons-lang and commons-lang3
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2078'>OPENEJB-2078</a>] -         add pojo-deployment to openejb-jar.xsd
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2080'>OPENEJB-2080</a>] -         EJB @LocalBean reference serialization issue
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2081'>OPENEJB-2081</a>] -         Fix @Event AssemblerAfterApplicationCreated location
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2085'>OPENEJB-2085</a>] -         Interceptor extension not recognized
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2093'>OPENEJB-2093</a>] -         Testing a WebService through ApplicationComposer may lead to a null WebServiceContext
+</li>
+</ul>
+                
+<h2>        Improvement
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-38'>OPENEJB-38</a>] -         The loader jar not installable or deployable to a maven repo
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-305'>OPENEJB-305</a>] -         Update itest plans
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-309'>OPENEJB-309</a>] -         Implement support for JNDI_LIST and JNDI_LIST_BINDINGS methods in org.openejb.server.ejbd.JndiRequestHandler
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-321'>OPENEJB-321</a>] -         Add ASF license header to all source files
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-514'>OPENEJB-514</a>] -         Introduce UI plugin + minor fixes to core plugin
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-568'>OPENEJB-568</a>] -         JAX-RPC integration improvements
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-626'>OPENEJB-626</a>] -         Rename default.logging.conf to embedded.logging.properties and also change appenders for embedded.logging.properties
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-630'>OPENEJB-630</a>] -         Add search to home page
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-669'>OPENEJB-669</a>] -         remove hsql log messages from server startup
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-684'>OPENEJB-684</a>] -         Upgrade org.apache.axis2:axis2-jaxws-api to 1.3
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-685'>OPENEJB-685</a>] -         Use Maven 2 Remote Resources Plugin to manage LICENSE/NOTICE files
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-925'>OPENEJB-925</a>] -         Improved scanning for ejbs in webapps while in Tomcat
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1081'>OPENEJB-1081</a>] -         Find most specific setter in ClientInjectionProcessor.findSetter
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1265'>OPENEJB-1265</a>] -         TempClassLoader buffer reuse reduces memory requirements
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1346'>OPENEJB-1346</a>] -         Improve @AccessTimeout annotation processing
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1413'>OPENEJB-1413</a>] -         Support interesting module types in DeploymentLoader
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1418'>OPENEJB-1418</a>] -         Refactor TomcatWebAppBuilder
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1838'>OPENEJB-1838</a>] -         Add &#39;MultiPulse&#39; discovery - An alternative multicast discovery option
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1839'>OPENEJB-1839</a>] -         Configrable TCP Socket connect timeout for ejbd and ejbds
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1854'>OPENEJB-1854</a>] -         Multicast discovery collides with a configured localhost service
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1969'>OPENEJB-1969</a>] -         OpenEJBDeployableContainer has InstanceProducer&lt;Context&gt;
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1996'>OPENEJB-1996</a>] -         Configure QuartzResourceAdapter start and stop timeouts and logging
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1999'>OPENEJB-1999</a>] -         Update to ActiveMQ 5.8.x
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2000'>OPENEJB-2000</a>] -         Add &#39;ignore&#39; property to MulticastPulseAgent
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2030'>OPENEJB-2030</a>] -         Default include exclude order should be exclude-include
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2049'>OPENEJB-2049</a>] -         openejb-core PMD - EmptyCatchBlock
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2050'>OPENEJB-2050</a>] -         openejb-core PMD - EmptyStatementNotInLoop
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2051'>OPENEJB-2051</a>] -         openejb-core PMD - EmptyWhileStmt
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2052'>OPENEJB-2052</a>] -         openejb-core PMD - EmptyIfStmt
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2053'>OPENEJB-2053</a>] -         openejb-core PMD - finalizers.xml and imports.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2054'>OPENEJB-2054</a>] -         openejb-core PMD - unusedcode.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2056'>OPENEJB-2056</a>] -         openejb-loader PMD
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2057'>OPENEJB-2057</a>] -         openejb-core checkstyle
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2060'>OPENEJB-2060</a>] -         openejb-core checkstyle [FinalClass]
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2061'>OPENEJB-2061</a>] -         openejb-core checkstyle [SimplifyBooleanExpression, SimplifyBooleanReturn]
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2062'>OPENEJB-2062</a>] -         openejb-core checkstyle [ArrayTypeStyle]
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2073'>OPENEJB-2073</a>] -         openejb-core PMD - LocalVariableCouldBeFinal
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2079'>OPENEJB-2079</a>] -         Use system property &#39;derby.system.home&#39; if supplied
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2084'>OPENEJB-2084</a>] -         Move Server Services to a dedicated &quot;Start&quot; event
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2088'>OPENEJB-2088</a>] -         Allow injection of (SOAP)Handlers
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2089'>OPENEJB-2089</a>] -         Provide ApplicationComposer feature as a JUnit @Rule
+</li>
+</ul>
+    
+<h2>        New Feature
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-63'>OPENEJB-63</a>] -         New Castor CMP Container
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-565'>OPENEJB-565</a>] -         Basic support for JAX-WS invocations
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-569'>OPENEJB-569</a>] -         @Resource WebServiceContext injection
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-924'>OPENEJB-924</a>] -         Adding APIs for new EJB 3.1 features
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1230'>OPENEJB-1230</a>] -         Webapp scanning include/exclude via context.xml settings
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1410'>OPENEJB-1410</a>] -         Dynamic data source (using more than one data source as one)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1525'>OPENEJB-1525</a>] -         bean validation for parameters and returned values
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1528'>OPENEJB-1528</a>] -         allowing the user to add default interceptors
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1958'>OPENEJB-1958</a>] -         Add compression to the ejbd protocol.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2048'>OPENEJB-2048</a>] -         Implement a simplified direct connection factory
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2082'>OPENEJB-2082</a>] -         Allow to call an observer after another one
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2090'>OPENEJB-2090</a>] -         provide junit rules for EJBContainer
+</li>
+</ul>
+                                
+<h2>        Task
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-20'>OPENEJB-20</a>] -         org.openejb.util.Logger uses deprecated log4j.Category class
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-36'>OPENEJB-36</a>] -         Automated test of tomcat integration
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-81'>OPENEJB-81</a>] -         ejb3 specs module
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-110'>OPENEJB-110</a>] -         JPA Spec - ClassTransformer missing method patch
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-111'>OPENEJB-111</a>] -         JPA - persistence.xml parser and skeleton provider
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-112'>OPENEJB-112</a>] -         Port HTTP server support from 2
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-113'>OPENEJB-113</a>] -         Port CORBA server code from openejb 2
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-114'>OPENEJB-114</a>] -         Port Axis server support from 2
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-115'>OPENEJB-115</a>] -         Port/rewrite the XFire server support from 2 into 3
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-116'>OPENEJB-116</a>] -         Port EJB Containers from 2 into 3
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-122'>OPENEJB-122</a>] -         JCA Support via Jencks project
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-135'>OPENEJB-135</a>] -         Castor 1.0 upgrade
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-258'>OPENEJB-258</a>] -         Documentation about XBean and its use
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-264'>OPENEJB-264</a>] -         iTests broken - missing spring2.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-272'>OPENEJB-272</a>] -         Change packages to org.apache.openejb in openejb3 trunk
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-281'>OPENEJB-281</a>] -         Remove dependencies with groupId=geronimo from poms
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-282'>OPENEJB-282</a>] -         Both EJBHome and EJBLocalHome remove(Object primaryKey) methods should throw javax.ejb.RemoveException when used with Sessions beans
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-311'>OPENEJB-311</a>] -         Add ASL License Headers
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-323'>OPENEJB-323</a>] -         Add ASL License and Notice
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-387'>OPENEJB-387</a>] -         Adding support for &quot;openejb.deployments.classpath.include&quot;
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-448'>OPENEJB-448</a>] -         Move duplicate app checking into the assembler
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-449'>OPENEJB-449</a>] -         Non-finder based ServerService creation
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-524'>OPENEJB-524</a>] -         Geronimo 2.0 Integration
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-585'>OPENEJB-585</a>] -         [GRADUATION] Yank the DISCLAIMER.txt that says we are incubating
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-586'>OPENEJB-586</a>] -         [GRADUATION] Drop &quot;incubating&quot; from version number
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-1054'>OPENEJB-1054</a>] -         Investigate App Client Main-Class handling
+</li>
+</ul>
+        
+<h2>        Test
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-450'>OPENEJB-450</a>] -         Potentially use xbean-naming
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-519'>OPENEJB-519</a>] -         Annotated test clients enablement
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-563'>OPENEJB-563</a>] -         Test Case for Jax-RPC
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-676'>OPENEJB-676</a>] -         [BUILD FAILURE : There are test failures] OpenejbJarTest and ConversionTest are failing when building the code.
+</li>
+</ul>
+        
+<h2>        Wish
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2077'>OPENEJB-2077</a>] -         Do not require openejb.json/openejb.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2092'>OPENEJB-2092</a>] -         Allow easy offsetting of all OpenEJB ports
+</li>
+</ul>

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.7.0.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.7.0.mdtext b/src/main/jbake/content/tomee-1.7.0.mdtext
new file mode 100644
index 0000000..3dc8fc6
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.7.0.mdtext
@@ -0,0 +1,58 @@
+# Apache TomEE 1.7.0 Released!
+
+Great news for Summer! After many months of hard work and dedicated community commitment Apache TomEE is happy to finally announce the feature release of [Apache TomEE 1.7.0](http://tomee.apache.org/downloads.html), which is based on [Apache Tomcat 7.0.55](http://tomcat.apache.org/tomcat-7.0-doc/index.html). Please do not forget that nearly all of the work that goes into this purely open source project is community driven. Very special thanks go out to all that have dedicated their time and effort to make this release possible. Anyone active on the [mailing lists and/or IRC](http://tomee.apache.org/support.html) will know that an extra special thanks for [Romain Manni-Bucau](http://rmannibucau.wordpress.com) for his lightning fast support is well deserved.
+
+The 1.7.0 feature release is the final Java SE 6 / Java SE 8 compatible Oracle Java EE 6 Web Profile Certified branch. 
+
+So what is new?
+
+###PLUME Profile (Mojarra and EclipseLink)
+
+One the most important new features has to be the new experimental PLUME profile, which is basically TomEE PLUS with [Mojarra](https://javaserverfaces.java.net/) and [EclipseLink](http://www.eclipse.org/eclipselink/) added support.  
+This makes the transition to TomEE from a Glassfish environment a lot less painful. So no more excuses, come and join us - We're all yours!
+
+###Java SE 8 Runtime Support
+
+A lot of work has been completed to ensure that Apache TomEE 1.7.x will run within an [Java SE 8 environment](http://www.oracle.com/technetwork/java/javase/downloads/index.html), yet remain backwards compatible with Java SE 6.  Several libraries used have been shaded and patched to achieve this goal and provide users with a stable platform for the transition to a new runtime.
+
+###Bug Fixes and Improvements
+
+In addition to PLUME and Java 8 support there have been a train, plane and truck load of tweaks, improvements and bug fixes to make this release one of the most stable and feature rich versions we have ever released. Just have a quick look at these lists to get an idea of how much has been achieved. Amazing!
+
+A total of [154 TomEE](https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&mode=hide&jqlQuery=project+%3D+TOMEE+AND+fixVersion+%3D+1.7.0) issues have been addressed.  
+A total of [237 OpenEJB](https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&mode=hide&jqlQuery=project+%3D+OPENEJB+AND+fixVersion+%3D+4.7.0) issues have been addressed (OK, to be fair, some of these were legacy JIRA's stuck in the cobweb)  
+
+The Apache TomEE 1.7.0 release files can be downloaded from here:
+
+[http://tomee.apache.org/downloads.html](http://tomee.apache.org/downloads.html)
+
+Or just update your existing Maven JavaEE-API, OpenEJB and or TomEE entries to point to the latest versions:
+
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>javaee-api</artifactId>
+		<version>6.0-6</version>
+		<scope>provided</scope>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>openejb-core</artifactId>
+		<version>4.7.0</version>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>tomee</artifactId>
+		<version>1.7.0</version>
+	</dependency>
+
+A complete [Changelog](tomee-1.7.0-release-notes.html) can be viewed here:
+
+[tomee-1.7.0-release-notes.html](tomee-1.7.0-release-notes.html)
+
+So please feel free to jump in feet first and [get started with TomEE](http://tomee.apache.org/documentation.html). You will nearly always find someone to help you on one of our [support channels](http://tomee.apache.org/support.html).
+
+###Java EE7 and Beyond
+
+From this point on the TomEE community will be focusing most of it's efforts on TomEE 2.0.x, which will be the first TomEE Java EE 7 driven version running on Apache Tomcat 8.x. It is more than likely that support for Java SE 6 will be dropped so that Java SE 7 features can finally be leveraged during the development process. We will of course continue to maintain the 1.7.x branch for the foreseeable future.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.7.1-release-notes.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.7.1-release-notes.mdtext b/src/main/jbake/content/tomee-1.7.1-release-notes.mdtext
new file mode 100644
index 0000000..b5b6922
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.7.1-release-notes.mdtext
@@ -0,0 +1,67 @@
+# Release Notes - TomEE - Version 1.7.1
+                
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1296'>TOMEE-1296</a>] -         org.apache.openejb.jpa.integration.eclipselink.OpenEJBServerPlatform mbeanServer name is wrong
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1324'>TOMEE-1324</a>] -         Problem with TomEE Maven archetype
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1325'>TOMEE-1325</a>] -         Dynamic subclassing doesn&#39;t support interfaces (@Local)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1329'>TOMEE-1329</a>] -         jars.txt doesn&#39;t support empty lines
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1330'>TOMEE-1330</a>] -         Support to include container urls in scanning
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1334'>TOMEE-1334</a>] -         cdi lazy realm throws NPE cause of init handling (too early)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1335'>TOMEE-1335</a>] -         openejb.deployer.save-deployments broken on war
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1342'>TOMEE-1342</a>] -         OutputGeneratedDescriptors doesn&#39;t output complete ejb-jar.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1343'>TOMEE-1343</a>] -         HSQL server shuts down saying no databases available
+</li>
+</ul>
+    
+<h2>        Dependency upgrade
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1326'>TOMEE-1326</a>] -         Upgrade to Mojarra 2.1.29
+</li>
+</ul>
+            
+<h2>        Improvement
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1339'>TOMEE-1339</a>] -         [JAXRS] try static resources first
+</li>
+</ul>
+    
+<h2>        New Feature
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1295'>TOMEE-1295</a>] -         openjpa.EntityManagerFactoryPool support for container persistence unit
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1297'>TOMEE-1297</a>] -         add @Jars annotation to ApplicationComposer
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1341'>TOMEE-1341</a>] -         Arquillian support for Suite testing
+</li>
+</ul>
+                                        
+<h2>        Test
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1338'>TOMEE-1338</a>] -         Create tests for DeployerEjb
+</li>
+</ul>
+        
+
+        Release Notes - OpenEJB - Version 4.7.1
+                
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/OPENEJB-2100'>OPENEJB-2100</a>] -         Context Classloader not restored in org.apache.openejb.client.EJBObjectHandler.createEJBObjectProxy
+</li>
+</ul>
+                                                                    
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.7.1.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.7.1.mdtext b/src/main/jbake/content/tomee-1.7.1.mdtext
new file mode 100644
index 0000000..75be427
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.7.1.mdtext
@@ -0,0 +1,49 @@
+# Apache TomEE 1.7.1 Released!
+
+After the huge buzz getting version 1.7.0 off the press it is time to get back to the day to day. As promised we are committed to providing the best for our community, and so without further a do here is TomEE 1.7.1 - This is a maintenance release that fixes some minor issues and a few tweaks (We understand it is not so minor if you are waiting for it, so thanks for your patience). This version is still shipped upon Apache Tomcat 7.0.55.
+
+Please note that the TomEE 1.7.1 drop in WAR file will not work on Apache Tomcat 8. If you are interested in a Tomcat 8.x version then please feel free to check out and [contribute to the developer branch](contribute.html) - We are always interested in any help from the community that we can get.
+
+The Apache TomEE 1.7.1 release files can be downloaded from here:
+
+[http://tomee.apache.org/downloads.html](downloads.html)
+
+###Important Notes: 
+
+Issue [TOMEE-1339](https://issues.apache.org/jira/browse/TOMEE-1339) introduced a default (but configurable) check for a static *index.html* file when an empty JAX-RS resource URL is specified by a client. You can use this file to return a descriptive response to the client for example. Make sure that this optional file does not contain sensitive information when made available. Currently it is not a JSP and it is not parsed in any way by the Servlet container - This may change in the next version.
+
+A new property **openejb.finder.module-scoped** was added that changed default behaviour. It is used to enable rare optional scanning outside of the current runtime scope. For example, if a bean is declared in one application that is extended in another application or test scope then you must now explicitly enable cross scope scanning by setting **openejb.finder.module-scoped=true**  
+ - In such cases failure to do this will invariably result in an **javax.naming.NameAlreadyBoundException**
+
+###Update Maven POM Files
+
+Simply update your existing Maven JavaEE-API, OpenEJB and or TomEE pom.xml entries to point to the latest versions:
+
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>javaee-api</artifactId>
+		<version>6.0-6</version>
+		<scope>provided</scope>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>openejb-core</artifactId>
+		<version>4.7.1</version>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>tomee</artifactId>
+		<version>1.7.1</version>
+	</dependency>
+
+A complete [Changelog](tomee-1.7.1-release-notes.html) can be viewed here:
+
+[tomee-1.7.1-release-notes.html](tomee-1.7.1-release-notes.html)
+
+Please feel free to jump in feet first and [get started with TomEE](documentation.html). You will nearly always find someone to help you on one of our [support channels](support.html).
+
+###Java EE7 and Beyond
+
+From this point on the TomEE community will be focusing most of it's efforts on TomEE 2.0.x, which will be the first TomEE Java EE 7 driven version running on Apache Tomcat 8.x. It is more than likely that support for Java SE 6 will be dropped so that Java SE 7 features can finally be leveraged during the development process. We will of course continue to maintain the 1.7.x branch for the foreseeable future.


[02/34] tomee-site-generator git commit: Pull examples and docs from active branches

Posted by db...@apache.org.
Pull examples and docs from active branches


Project: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/commit/3c8d3037
Tree: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/tree/3c8d3037
Diff: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/diff/3c8d3037

Branch: refs/heads/master
Commit: 3c8d3037d12581fa02383ee2552146332871d385
Parents: 88e7874
Author: dblevins <da...@gmail.com>
Authored: Sun Nov 25 20:35:16 2018 -0800
Committer: dblevins <da...@gmail.com>
Committed: Sun Nov 25 20:35:16 2018 -0800

----------------------------------------------------------------------
 .../java/org/apache/tomee/website/Docs.java     |  44 +++++
 .../java/org/apache/tomee/website/Example.java  |  75 ++++++++
 .../org/apache/tomee/website/Examples2.java     | 192 +++++++++++++++++++
 .../java/org/apache/tomee/website/JBake.java    |  16 +-
 .../java/org/apache/tomee/website/Repos.java    |  97 ++++++++++
 .../java/org/apache/tomee/website/Source.java   |  75 ++++++++
 .../java/org/apache/tomee/website/Sources.java  | 158 +++------------
 7 files changed, 526 insertions(+), 131 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/3c8d3037/src/main/java/org/apache/tomee/website/Docs.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Docs.java b/src/main/java/org/apache/tomee/website/Docs.java
new file mode 100644
index 0000000..500cf3a
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/Docs.java
@@ -0,0 +1,44 @@
+/*
+ * 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.website;
+
+import org.apache.openejb.loader.IO;
+
+import java.io.File;
+import java.io.IOException;
+
+public class Docs {
+
+    private final Sources sources;
+
+    public Docs(final Sources sources) {
+        this.sources = sources;
+    }
+
+    public void prepare(final Source source) {
+        final File srcDocs = new File(source.getDir(), "docs");
+        final File destDocs = sources.getDestinationFor(source, "docs");
+
+        if (!srcDocs.exists()) return;
+
+        try {
+            IO.copyDirectory(srcDocs, destDocs);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/3c8d3037/src/main/java/org/apache/tomee/website/Example.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Example.java b/src/main/java/org/apache/tomee/website/Example.java
new file mode 100644
index 0000000..152729b
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/Example.java
@@ -0,0 +1,75 @@
+/*
+ * 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.website;
+
+import java.io.File;
+
+public class Example {
+    private final File srcReadme;
+    private File destReadme;
+    private final String name;
+    private final String ext;
+    private final String href;
+    private final String category;
+
+    public Example(final File srcReadme, final String name, final String ext, final String href, final String category) {
+        this.srcReadme = srcReadme;
+        this.name = name;
+        this.ext = ext;
+        this.href = href;
+        this.category = category;
+    }
+
+    public void updateDestination(final File examplesDir) {
+        this.setDestReadme(new File(examplesDir, this.getName() + "." + this.getExt()));
+    }
+
+    public File getDestReadme() {
+        return destReadme;
+    }
+
+    public void setDestReadme(final File destReadme) {
+        this.destReadme = destReadme;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public String getHref() {
+        return href;
+    }
+
+    public File getSrcReadme() {
+        return srcReadme;
+    }
+
+    public String getExt() {
+        return ext;
+    }
+
+    public String getCategory() {
+        return category;
+    }
+
+    public static Example from(final File readme) {
+        final String ext = readme.getName().replaceFirst("[^.]+\\.", "");
+        final String exampleName = readme.getParentFile().getName();
+
+        return new Example(readme, exampleName, ext, exampleName + ".html", "Example");
+    }
+}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/3c8d3037/src/main/java/org/apache/tomee/website/Examples2.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Examples2.java b/src/main/java/org/apache/tomee/website/Examples2.java
new file mode 100644
index 0000000..1891877
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/Examples2.java
@@ -0,0 +1,192 @@
+/*
+ * 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.website;
+
+import org.apache.openejb.loader.IO;
+import org.apache.openejb.util.Join;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+public class Examples2 {
+
+    private final Sources sources;
+
+    public Examples2(final Sources sources) {
+        this.sources = sources;
+    }
+
+    public void prepare(final Source source) {
+        final File srcDir = new File(source.getDir(), "examples");
+        final File destDir = sources.getDestinationFor(source, "examples");
+
+        // If we don't have examples in this codebase, skip
+        if (!srcDir.exists()) return;
+
+        final List<Example> examples = Stream.of(srcDir.listFiles())
+                .filter(File::isDirectory)
+                .filter(this::hasReadme)
+                .map(this::getReadme)
+                .map(Example::from)
+                .peek(example -> example.updateDestination(destDir))
+                .peek(this::copyToDest)
+                .peek(this::addJbakeHeader)
+                .collect(Collectors.toList());
+
+
+        // Add any missing JBake headers
+
+
+        // Create an index.adoc file
+        final StringBuilder index = new StringBuilder();
+        for (final Example example : examples) {
+            index.append(" - ")
+                    .append(example.getHref())
+                    .append("[")
+                    .append(example.getName())
+                    .append("]")
+                    .append(File.separator)
+            ;
+        }
+
+        try {
+            IO.copy(IO.read(index.toString()), new File(destDir, "index.adoc"));
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+//        https://javaee.github.io/javaee-spec/javadocs/javax/servlet/http/HttpServletMapping.html
+    }
+
+    private void addJbakeHeader(final Example example) {
+
+        if (example.getExt().startsWith("md")) {
+
+            addMarkdownHeader(example);
+
+        } else if (example.getExt().startsWith("a")) {
+
+            addAsciidocHeader(example);
+        }
+    }
+
+    private void addAsciidocHeader(final Example example) {
+        try {
+            String content = IO.slurp(example.getDestReadme());
+            if (content.contains(":jbake-type:")) return;
+
+            String header = "" +
+                    ":jbake-type: page\n" +
+                    ":jbake-status: published\n";
+
+            // The legacy Apache CMS setup for TomEE allowed a very similar header
+            // called "Title: " to specify the title in the created html page.
+            // If found, we convert it to the JBake version
+            // TODO all docs should be updated and this code removed
+            if (content.startsWith("Title:") || content.startsWith("title:")) {
+                final List<String> lines = new ArrayList<>();
+                Collections.addAll(lines, content.split("\n"));
+
+                // remove the legacy title syntax
+                final String titleLine = lines.remove(0);
+
+                // update the header
+                header += ":jbake-title:" + titleLine.substring("title:".length()).trim() + "\n";
+
+                // update the content
+                content = Join.join("\n", lines);
+            }
+
+
+            // Prepend the JBake header for Asciidoc
+            content = header + content;
+
+            // Update the destination readme file
+            IO.copy(IO.read(content), example.getDestReadme());
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private void addMarkdownHeader(final Example example) {
+        try {
+            final File readme = example.getDestReadme();
+            String content = IO.slurp(readme);
+
+            if (content.contains("~~~~~~")) return;
+
+
+            String header = "" +
+                    "type=page\n" +
+                    "status=published\n";
+
+            // The legacy Apache CMS setup for TomEE allowed a very similar header
+            // called "Title: " to specify the title in the created html page.
+            // If found, we convert it to the JBake version
+            // TODO all docs should be updated and this code removed
+            if (content.startsWith("Title:") || content.startsWith("title:")) {
+                final List<String> lines = new ArrayList<>();
+                Collections.addAll(lines, content.split("\n"));
+
+                // remove the legacy title syntax
+                final String titleLine = lines.remove(0);
+
+                // update the header
+                header += "title=" + titleLine.substring("title:".length()).trim() + "\n";
+
+                // update the content
+                content = Join.join("\n", lines);
+            }
+
+            // Prepend the JBake header for Markdown
+            content = header + "~~~~~~\n" + content;
+
+            // Update the destination readme file
+            IO.copy(IO.read(content), example.getDestReadme());
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    /**
+     * Copy all the readme.mdtext to examples/foo-bar.mdtext
+     */
+    private void copyToDest(final Example example) {
+        try {
+            IO.copy(example.getSrcReadme(), example.getDestReadme());
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+
+    private boolean hasReadme(final File dir) {
+        return getReadme(dir) != null;
+    }
+
+    private File getReadme(final File dir) {
+        for (final File file : dir.listFiles()) {
+            if (file.getName().startsWith("README.")) return file;
+        }
+
+        return null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/3c8d3037/src/main/java/org/apache/tomee/website/JBake.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/JBake.java b/src/main/java/org/apache/tomee/website/JBake.java
index 0f667c3..e2e2ea9 100755
--- a/src/main/java/org/apache/tomee/website/JBake.java
+++ b/src/main/java/org/apache/tomee/website/JBake.java
@@ -38,14 +38,26 @@ public class JBake {
         final boolean startHttp = args == null || args.length < 2 || Boolean.parseBoolean(args[2]); // by default we dev
         final boolean skipPdf = args == null || args.length < 3 || Boolean.parseBoolean(args[3]); // by default...too slow sorry
 
+        final Sources sources = new Sources(
+                new File("target/jbake"),
+                new File("repos"),
+                new File("src/main/jbake"),
+                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "master", "master"),
+                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "tomee-7.1.0", "tomee-7.1"),
+                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "tomee-7.0.5", "tomee-7.0"),
+                new Source("https://git-wip-us.apache.org/repos/asf/tomee.git", "tomee-8.0.0-M1", "tomee-8.0", true)
+        );
+
+        sources.prepare();
+
         final Runnable build = () -> {
             System.out.println("Building TomEE website in " + destination);
             final Orient orient = Orient.instance();
             try {
                 orient.startup();
 
-                final Oven oven = new Oven(source, destination, new CompositeConfiguration() {{
-                    addConfiguration(ConfigUtil.load(source));
+                final Oven oven = new Oven(sources.getDestination(), destination, new CompositeConfiguration() {{
+                    addConfiguration(ConfigUtil.load(sources.getDestination()));
                 }}, true);
                 oven.setupPaths();
 

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/3c8d3037/src/main/java/org/apache/tomee/website/Repos.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Repos.java b/src/main/java/org/apache/tomee/website/Repos.java
new file mode 100644
index 0000000..6ee4713
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/Repos.java
@@ -0,0 +1,97 @@
+/*
+ * 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.website;
+
+import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.api.PullResult;
+import org.eclipse.jgit.api.errors.GitAPIException;
+import org.eclipse.jgit.api.errors.RefNotAdvertisedException;
+import org.eclipse.jgit.internal.storage.file.FileRepository;
+
+import java.io.File;
+import java.io.IOException;
+
+public class Repos {
+
+    public static void download(final Source source) {
+        if (source.getDir().exists()) {
+
+            try {
+                pull(source);
+            } catch (Exception e) {
+                System.out.println("Pull Failed. " + source);
+                e.printStackTrace();
+            }
+
+        } else {
+
+            try {
+                clone(source);
+            } catch (Exception e) {
+                System.out.println("Clone Failed. " + source);
+                e.printStackTrace();
+            }
+        }
+    }
+
+    private static void clone(final Source source) throws Exception {
+        System.out.println("  > git clone " + source.getScmUrl());
+
+        jgit("clone", source.getScmUrl(), "-b", source.getBranch(), source.getDir().getAbsolutePath());
+    }
+
+    private static void pull(final Source source) throws IOException, GitAPIException {
+        System.out.println("  > git pull");
+
+        final Git git = new Git(new FileRepository(source.getDir().getAbsolutePath() + "/.git"));
+
+        try {
+            final PullResult call = git.pull()
+                    .setRemote("origin")
+                    .setRemoteBranchName(source.getBranch())
+                    .call();
+
+            if (call.getMergeResult() != null) {
+                System.out.println(call.getMergeResult().getMergeStatus());
+            }
+
+            if (!call.isSuccessful()) {
+                System.out.println("Pull Failed.  Will Remove and clone.");
+                // delete
+                deleteDirectory(source.getDir());
+                // and try again
+                download(source);
+            }
+        } catch (RefNotAdvertisedException ignore) {
+            // we are on a tag
+        }
+    }
+
+    public static void jgit(final String... args) throws Exception {
+        org.eclipse.jgit.pgm.Main.main(args);
+    }
+
+    private static boolean deleteDirectory(File dir) {
+        File[] allContents = dir.listFiles();
+        if (allContents != null) {
+            for (File file : allContents) {
+                deleteDirectory(file);
+            }
+        }
+        return dir.delete();
+    }
+}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/3c8d3037/src/main/java/org/apache/tomee/website/Source.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Source.java b/src/main/java/org/apache/tomee/website/Source.java
new file mode 100644
index 0000000..af0afd6
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/Source.java
@@ -0,0 +1,75 @@
+/*
+ * 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.website;
+
+import org.apache.openejb.loader.IO;
+
+import java.io.File;
+import java.io.IOException;
+
+public class Source {
+    private final String name;
+    private final String scmUrl;
+    private final String branch;
+    private final boolean latest;
+    private File dir;
+
+    public Source(final String scmUrl, final String branch, final String name) {
+        this(scmUrl, branch, name, false);
+    }
+
+    public Source(final String scmUrl, final String branch, final String name, final boolean latest) {
+        this.scmUrl = scmUrl;
+        this.branch = branch;
+        this.name = name;
+        this.latest = latest;
+    }
+
+    public boolean isLatest() {
+        return latest;
+    }
+
+    public String getScmUrl() {
+        return scmUrl;
+    }
+
+    public String getBranch() {
+        return branch;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public File getDir() {
+        return dir;
+    }
+
+    public void setDir(final File dir) {
+        this.dir = dir;
+    }
+
+    @Override
+    public String toString() {
+        return "Source{" +
+                "name='" + name + '\'' +
+                ", scmUrl='" + scmUrl + '\'' +
+                ", branch='" + branch + '\'' +
+                '}';
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/3c8d3037/src/main/java/org/apache/tomee/website/Sources.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Sources.java b/src/main/java/org/apache/tomee/website/Sources.java
index 5b64990..c08783e 100644
--- a/src/main/java/org/apache/tomee/website/Sources.java
+++ b/src/main/java/org/apache/tomee/website/Sources.java
@@ -17,11 +17,6 @@
 package org.apache.tomee.website;
 
 import org.apache.openejb.loader.IO;
-import org.eclipse.jgit.api.Git;
-import org.eclipse.jgit.api.PullResult;
-import org.eclipse.jgit.api.errors.GitAPIException;
-import org.eclipse.jgit.api.errors.RefNotAdvertisedException;
-import org.eclipse.jgit.internal.storage.file.FileRepository;
 
 import java.io.File;
 import java.io.IOException;
@@ -38,7 +33,7 @@ import java.util.List;
  * for new content.
  *
  * The prepare step will copy relevant asciidoc and markdown sources into the
- * target/jbake/<name> directory.
+ * target/jbake/content/<name> directory.
  *
  */
 public class Sources {
@@ -59,10 +54,23 @@ public class Sources {
         Collections.addAll(this.sources, sources);
     }
 
+    public File getDestination() {
+        return destination;
+    }
+
+    /**
+     * This is the heart of the code to merge several documentation
+     * sources into one tree.
+     */
     public void prepare() {
+        final Docs docs = new Docs(this);
+        final Examples2 examples = new Examples2(this);
+
         sources.stream()
                 .peek(source -> source.setDir(new File(repos, source.getName())))
-                .peek(Sources::download)
+                .peek(Repos::download)
+                .peek(docs::prepare)
+                .peek(examples::prepare)
                 .forEach(Sources::done);
         ;
 
@@ -73,6 +81,20 @@ public class Sources {
         }
     }
 
+    public File getDestinationFor(final Source source, final String... parts) {
+        final File content = new File(destination, "content");
+        File dir = new File(content, source.getName());
+
+        for (final String part : parts) {
+            dir = new File(dir, part);
+        }
+
+        if (!dir.exists()) {
+            if (!dir.mkdirs()) throw new RuntimeException("Could not make directory: " + dir.getAbsolutePath());
+        }
+        return dir;
+    }
+
     private static void done(final Source source) {
         System.out.println("Done " + source);
     }
@@ -87,126 +109,4 @@ public class Sources {
 
         sources.prepare();
     }
-
-    private static void download(final Source source) {
-        if (source.getDir().exists()) {
-
-            try {
-                pull(source);
-            } catch (Exception e) {
-                System.out.println("Pull Failed. " + source);
-                e.printStackTrace();
-            }
-
-        } else {
-
-            try {
-                clone(source);
-            } catch (Exception e) {
-                System.out.println("Clone Failed. " + source);
-                e.printStackTrace();
-            }
-        }
-    }
-
-    private static void clone(final Source source) throws Exception {
-        System.out.println("  > git clone " + source.getScmUrl());
-
-        jgit("clone", source.getScmUrl(), "-b", source.getBranch(), source.getDir().getAbsolutePath());
-    }
-
-    private static void pull(final Source source) throws IOException, GitAPIException {
-        System.out.println("  > git pull");
-
-        final Git git = new Git(new FileRepository(source.getDir().getAbsolutePath() + "/.git"));
-
-        try {
-            final PullResult call = git.pull()
-                    .setRemote("origin")
-                    .setRemoteBranchName(source.getBranch())
-                    .call();
-
-            if (call.getMergeResult() != null) {
-                System.out.println(call.getMergeResult().getMergeStatus());
-            }
-
-            if (!call.isSuccessful()) {
-                System.out.println("Pull Failed.  Will Remove and clone.");
-                // delete
-                deleteDirectory(source.getDir());
-                // and try again
-                download(source);
-            }
-        } catch (RefNotAdvertisedException ignore) {
-            // we are on a tag
-        }
-    }
-
-    public static void jgit(final String... args) throws Exception {
-        org.eclipse.jgit.pgm.Main.main(args);
-    }
-
-
-    public static class Source {
-        private final String name;
-        private final String scmUrl;
-        private final String branch;
-        private final boolean latest;
-        private File dir;
-
-        public Source(final String scmUrl, final String branch, final String name) {
-            this(scmUrl, branch, name, false);
-        }
-
-        public Source(final String scmUrl, final String branch, final String name, final boolean latest) {
-            this.scmUrl = scmUrl;
-            this.branch = branch;
-            this.name = name;
-            this.latest = latest;
-        }
-
-        public boolean isLatest() {
-            return latest;
-        }
-
-        public String getScmUrl() {
-            return scmUrl;
-        }
-
-        public String getBranch() {
-            return branch;
-        }
-
-        public String getName() {
-            return name;
-        }
-
-        public File getDir() {
-            return dir;
-        }
-
-        public void setDir(final File dir) {
-            this.dir = dir;
-        }
-
-        @Override
-        public String toString() {
-            return "Source{" +
-                    "name='" + name + '\'' +
-                    ", scmUrl='" + scmUrl + '\'' +
-                    ", branch='" + branch + '\'' +
-                    '}';
-        }
-    }
-
-    private static boolean deleteDirectory(File dir) {
-        File[] allContents = dir.listFiles();
-        if (allContents != null) {
-            for (File file : allContents) {
-                deleteDirectory(file);
-            }
-        }
-        return dir.delete();
-    }
-
 }


[30/34] tomee-site-generator git commit: Merge old content. Move tech content to main build.

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-container.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-container.mdtext b/src/main/jbake/content/dev/design-container.mdtext
new file mode 100644
index 0000000..1164cd0
--- /dev/null
+++ b/src/main/jbake/content/dev/design-container.mdtext
@@ -0,0 +1,36 @@
+Title: Design - Container
+<a name="Design-Container-Container"></a>
+## Container
+
+Sub-component of [OpenEJB](-design.html)
+
+<a name="Design-Container-Definition"></a>
+## Definition
+
+An Enterprise JavaBeans container enforce the container-bean contract for
+an EJB 1.1, 2.0, 2.1 or 3.0 bean type. Containers for custom container-bean
+contracts can also be created.
+
+<a name="Design-Container-AlsoKnownAs"></a>
+## Also Known As
+ * Container Provider
+
+<a name="Design-Container-Responsibilities"></a>
+## Responsibilities
+ * Adopt the OpenEJB architecture
+ * Use the Transaction Manager assigned to the container system to assist
+in handling transactions
+ * Use the Security Manager assigned to the container system to assist in
+enforcing security and privileges
+ * Implement the org.apache.openejb.Container interface
+
+<a name="Design-Container-RelatedClasses"></a>
+## Related Classes
+ * org.apache.openejb.Container
+
+<a name="Design-Container-Implementations"></a>
+## Implementations
+ * [Stateful SessionBean Container](design-stateful-sessionbean-container.html)
+ * [Stateless SessionBean Container](design-stateless-sessionbean-container.html)
+ * [BMP EntityBean Container](design-bmp-entitybean-container.html)
+ * [CMP EntityBean Container](design-cmp-entitybean-container.html)

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-local-server.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-local-server.mdtext b/src/main/jbake/content/dev/design-local-server.mdtext
new file mode 100644
index 0000000..fb1c833
--- /dev/null
+++ b/src/main/jbake/content/dev/design-local-server.mdtext
@@ -0,0 +1,21 @@
+Title: Design - Local Server
+<a name="Design-LocalServer-LocalServer"></a>
+## Local Server
+
+Implementation of [Application Server](design-application-server.html)
+
+<a name="Design-LocalServer-Description"></a>
+## Description
+
+Allows for optimized interaction among beans and clients in the same
+virtual machine.
+
+
+<a name="Design-LocalServer-AlsoKnownAs"></a>
+## Also Known As
+ * IntraVM
+ * IntraVM Server
+
+<a name="Design-LocalServer-RelatedPackages"></a>
+## Related Packages
+ * org.apache.openejb.core.ivm

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-local-serverlinks.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-local-serverlinks.mdtext b/src/main/jbake/content/dev/design-local-serverlinks.mdtext
new file mode 100644
index 0000000..7d5ce94
--- /dev/null
+++ b/src/main/jbake/content/dev/design-local-serverlinks.mdtext
@@ -0,0 +1,2 @@
+Title: Design - Local ServerLinks
+{include:Design - Application ServerLinks}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-nova-configuration-factory.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-nova-configuration-factory.mdtext b/src/main/jbake/content/dev/design-nova-configuration-factory.mdtext
new file mode 100644
index 0000000..af18a44
--- /dev/null
+++ b/src/main/jbake/content/dev/design-nova-configuration-factory.mdtext
@@ -0,0 +1,28 @@
+Title: Design - Nova Configuration Factory
+
+<a name="Design-NovaConfigurationFactory-NovaConfigurationFactory"></a>
+## Nova Configuration Factory
+
+Implementation of [Configuration Factory](design-configuration-factory.html)
+
+<a name="Design-NovaConfigurationFactory-Description"></a>
+## Description
+
+Populates an OpenEjbConfiguration object by combining the data from an
+openejb.xml file, the ejb-jar.xml and openejb-jar.xml from deployed bean
+jars, and service-jar.xml containing OpenEJB service implementations.
+
+
+<a name="Design-NovaConfigurationFactory-AlsoKnownAs"></a>
+## Also Known As
+ * New Configuration Factory
+ * Modular Configuration Factory
+
+<a name="Design-NovaConfigurationFactory-RelatedClasses"></a>
+## Related Classes
+ * org.apache.openejb.config.ConfigurationFactory
+
+<a name="Design-NovaConfigurationFactory-RelatedPackages"></a>
+## Related Packages
+ * org.apache.openejb.alt.config
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-passivation-strategy.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-passivation-strategy.mdtext b/src/main/jbake/content/dev/design-passivation-strategy.mdtext
new file mode 100644
index 0000000..5ceb9bd
--- /dev/null
+++ b/src/main/jbake/content/dev/design-passivation-strategy.mdtext
@@ -0,0 +1,26 @@
+Title: Design - Passivation Strategy
+<a name="Design-PassivationStrategy-PassivationStrategy"></a>
+## Passivation Strategy
+
+Sub-component of [Stateful SessionBean Container](design-stateful-sessionbean-container.html)
+
+
+<a name="Design-PassivationStrategy-Definition"></a>
+## Definition
+
+Used by the Stateful Container to passivate and activate stateful session
+beans to a temporary storage.
+
+
+<a name="Design-PassivationStrategy-Responsibilities"></a>
+## Responsibilities
+ * Store and retrieve instances
+
+<a name="Design-PassivationStrategy-RelatedClasses"></a>
+## Related Classes
+ * org.apache.openejb.core.stateful.PassivationStrategy
+
+<a name="Design-PassivationStrategy-Implementations"></a>
+## Implementations
+ * [Random Access File Passivater](design-random-access-file-passivater.html)
+ * [Simple Passivater](design-simple-passivater.html)

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-random-access-file-passivater.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-random-access-file-passivater.mdtext b/src/main/jbake/content/dev/design-random-access-file-passivater.mdtext
new file mode 100644
index 0000000..2a2eb37
--- /dev/null
+++ b/src/main/jbake/content/dev/design-random-access-file-passivater.mdtext
@@ -0,0 +1,20 @@
+Title: Design - Random Access File Passivater
+
+<a name="Design-RandomAccessFilePassivater-RandomAccessFilePassivater"></a>
+## Random Access File Passivater
+
+Implementation of [Passivation Strategy](design-passivation-strategy.html)
+
+<a name="Design-RandomAccessFilePassivater-Description"></a>
+## Description
+
+A PassivationStrategy that bulk passivates bean instances to a random
+access file.
+
+<a name="Design-RandomAccessFilePassivater-AlsoKnownAs"></a>
+## Also Known As
+ * RAF Passivater
+
+<a name="Design-RandomAccessFilePassivater-RelatedClasses"></a>
+## Related Classes
+ * org.apache.openejb.core.stateful.RAFPassivater

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-remote-server.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-remote-server.mdtext b/src/main/jbake/content/dev/design-remote-server.mdtext
new file mode 100644
index 0000000..47eb1f1
--- /dev/null
+++ b/src/main/jbake/content/dev/design-remote-server.mdtext
@@ -0,0 +1,31 @@
+Title: Design - Remote Server
+<a name="Design-RemoteServer-RemoteServer"></a>
+## Remote Server
+
+Implementation of [Application Server](design-application-server.html)
+
+<a name="Design-RemoteServer-Description"></a>
+## Description
+
+Distributes EJB interface implementations to remote clients using a
+conversational serialization-based protocol.
+
+<a name="Design-RemoteServer-AlsoKnownAs"></a>
+## Also Known As
+ * EJBd Protocol
+
+<a name="Design-RemoteServer-RelatedClasses"></a>
+## Related Classes
+ * org.apache.openejb.server.EjbDaemon
+
+<a name="Design-RemoteServer-RelatedPackages"></a>
+## Related Packages
+ * org.apache.openejb.client
+ * org.apache.openejb.server
+
+<a name="Design-RemoteServer-RequiredLibraries"></a>
+## Required Libraries
+ * openejb-server-3.0.x.jar
+ * openejb-ejbd-3.0.x.jar
+ * openejb-client-3.0.x.jar
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-remote-serverlinks.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-remote-serverlinks.mdtext b/src/main/jbake/content/dev/design-remote-serverlinks.mdtext
new file mode 100644
index 0000000..6c85052
--- /dev/null
+++ b/src/main/jbake/content/dev/design-remote-serverlinks.mdtext
@@ -0,0 +1,2 @@
+Title: Design - Remote ServerLinks
+{include:Design - Application ServerLinks}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-resource-manager.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-resource-manager.mdtext b/src/main/jbake/content/dev/design-resource-manager.mdtext
new file mode 100644
index 0000000..9d601aa
--- /dev/null
+++ b/src/main/jbake/content/dev/design-resource-manager.mdtext
@@ -0,0 +1,29 @@
+Title: Design - Resource Manager
+
+<a name="Design-ResourceManager-ResourceManager"></a>
+## Resource Manager
+
+Sub-component of [OpenEJB](-design.html)
+
+
+<a name="Design-ResourceManager-Definition"></a>
+## Definition
+
+Provides the container with managed connections to transactional data
+sources required by beans
+
+
+<a name="Design-ResourceManager-AlsoKnownAs"></a>
+## Also Known As
+ * Connector
+ * Connection Manager
+
+<a name="Design-ResourceManager-Responsibilities"></a>
+## Responsibilities
+ * Provides beans with connection handles
+ * Manages pysical connections
+
+<a name="Design-ResourceManager-RelatedPackages"></a>
+## Related Packages
+ * javax.resource.spi
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-security-service.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-security-service.mdtext b/src/main/jbake/content/dev/design-security-service.mdtext
new file mode 100644
index 0000000..aade92a
--- /dev/null
+++ b/src/main/jbake/content/dev/design-security-service.mdtext
@@ -0,0 +1,27 @@
+Title: Design - Security Service
+<a name="Design-SecurityService-SecurityService"></a>
+## Security Service
+
+Sub-component of [OpenEJB](-design.html)
+
+
+<a name="Design-SecurityService-Definition"></a>
+## Definition
+
+Provides the container with an authenticated client identity.
+
+<a name="Design-SecurityService-AlsoKnownAs"></a>
+## Also Known As
+ * Security Provider
+
+<a name="Design-SecurityService-Responsibilities"></a>
+## Responsibilities
+ * Authenticate the user in an implementation specific way
+ * Provides OpenEJB a reference to the current security identity of the
+client
+ * Assists OpenEJB with role-based authorization control
+
+<a name="Design-SecurityService-RelatedClasses"></a>
+## Related Classes
+ * org.apache.openejb.spi.SecurityService
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-simple-passivater.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-simple-passivater.mdtext b/src/main/jbake/content/dev/design-simple-passivater.mdtext
new file mode 100644
index 0000000..1d47a83
--- /dev/null
+++ b/src/main/jbake/content/dev/design-simple-passivater.mdtext
@@ -0,0 +1,18 @@
+Title: Design - Simple Passivater
+
+<a name="Design-SimplePassivater-SimplePassivater"></a>
+## Simple Passivater
+
+Implementation of [Passivation Strategy](design-passivation-strategy.html)
+
+
+<a name="Design-SimplePassivater-Description"></a>
+## Description
+
+A PassivationStrategy that idividually passivates bean instances to a
+binary file.
+
+
+<a name="Design-SimplePassivater-RelatedClasses"></a>
+## Related Classes
+ * org.apache.openejb.core.stateful.SimplePassivater

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-stateful-sessionbean-container.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-stateful-sessionbean-container.mdtext b/src/main/jbake/content/dev/design-stateful-sessionbean-container.mdtext
new file mode 100644
index 0000000..409495b
--- /dev/null
+++ b/src/main/jbake/content/dev/design-stateful-sessionbean-container.mdtext
@@ -0,0 +1,24 @@
+Title: Design - Stateful SessionBean Container
+<a name="Design-StatefulSessionBeanContainer-StatefulSessionBeanContainer"></a>
+## Stateful SessionBean Container
+
+Implementation of [Container](design-container.html)
+
+<a name="Design-StatefulSessionBeanContainer-Description"></a>
+## Description
+
+Container that implements the EJB defined bean-container contract for
+Stateful SessionBeans.
+
+<a name="Design-StatefulSessionBeanContainer-AlsoKnownAs"></a>
+## Also Known As
+ * Stateful Session Container
+ * Stateful Container
+
+<a name="Design-StatefulSessionBeanContainer-RelatedClasses"></a>
+## Related Classes
+ * org.apache.openejb.core.stateful.StatefulContainer
+
+<a name="Design-StatefulSessionBeanContainer-Sub-components"></a>
+## Sub-components
+ * [Passivation Strategy](design-passivation-strategy.html)

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-stateless-sessionbean-container.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-stateless-sessionbean-container.mdtext b/src/main/jbake/content/dev/design-stateless-sessionbean-container.mdtext
new file mode 100644
index 0000000..52a9111
--- /dev/null
+++ b/src/main/jbake/content/dev/design-stateless-sessionbean-container.mdtext
@@ -0,0 +1,22 @@
+Title: Design - Stateless SessionBean Container
+
+<a name="Design-StatelessSessionBeanContainer-StatelessSessionBeanContainer"></a>
+## Stateless SessionBean Container
+
+Implementation of [Container](design-container.html)
+
+<a name="Design-StatelessSessionBeanContainer-Description"></a>
+## Description
+
+Container that implements the EJB defined bean-container contract for
+stateless SessionBeans.
+
+<a name="Design-StatelessSessionBeanContainer-AlsoKnownAs"></a>
+## Also Known As
+ * Stateless Session Container
+ * Stateless Container
+
+<a name="Design-StatelessSessionBeanContainer-RelatedClasses"></a>
+## Related Classes
+ * org.apache.openejb.core.stateless.StatelessContainer
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design-transaction-service.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design-transaction-service.mdtext b/src/main/jbake/content/dev/design-transaction-service.mdtext
new file mode 100644
index 0000000..d314680
--- /dev/null
+++ b/src/main/jbake/content/dev/design-transaction-service.mdtext
@@ -0,0 +1,28 @@
+Title: Design - Transaction Service
+
+<a name="Design-TransactionService-TransactionService"></a>
+## Transaction Service
+
+Sub-component of [OpenEJB](design.html)
+
+
+<a name="Design-TransactionService-Definition"></a>
+## Definition
+
+Provides the container with transactional integrity.
+
+
+<a name="Design-TransactionService-AlsoKnownAs"></a>
+## Also Known As
+ * Transaction Manager
+
+<a name="Design-TransactionService-Responsibilities"></a>
+## Responsibilities
+ * To give OpenEJB a reference to a valid implementation of
+javax.transaction.TransactionManager
+
+<a name="Design-TransactionService-RelatedClasses"></a>
+## Related Classes
+ * org.apache.openejb.spi.TransactionService
+ * javax.transaction.TransactionManager
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/design.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/design.mdtext b/src/main/jbake/content/dev/design.mdtext
new file mode 100644
index 0000000..72c830c
--- /dev/null
+++ b/src/main/jbake/content/dev/design.mdtext
@@ -0,0 +1,37 @@
+Title: Design
+<a name="Design-OpenEJB"></a>
+## OpenEJB
+System Design
+
+<a name="Design-Definition"></a>
+## Definition
+A modular, configurable, customizable, embeddable open source EJB container
+system
+
+<a name="Design-AlsoKnownAs"></a>
+## Also Known As
+* container system
+
+<a name="Design-Responsibilities"></a>
+## Responsibilities
+* Implement EJB 3.0 Specification
+
+<a name="Design-RelatedClasses"></a>
+## Related Classes
+* org.apache.openejb.OpenEJB
+
+<a name="Design-RequiredLibraries"></a>
+## Required Libraries
+* openejb-javaagent-3.0.x.jar
+* openejb-jee-3.0.x.jar
+* openejb-core-3.0.x.jar
+
+<a name="Design-Sub-components"></a>
+## Sub-components
+* [Application Server](design-application-server.html)
+* [Transaction Service](design-transaction-service.html)
+* [Security Service](design-security-service.html)
+* [Resource Manager](design-resource-manager.html)
+* [Container](design-container.html)
+* [Assembler](design-assembler.html)
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/favicon.ico
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/favicon.ico b/src/main/jbake/content/dev/favicon.ico
new file mode 100644
index 0000000..f0c22ad
Binary files /dev/null and b/src/main/jbake/content/dev/favicon.ico differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/git.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/git.mdtext b/src/main/jbake/content/dev/git.mdtext
new file mode 100644
index 0000000..c12ccd4
--- /dev/null
+++ b/src/main/jbake/content/dev/git.mdtext
@@ -0,0 +1,85 @@
+Title: GIT for TomEE Developers
+
+###The GitFlow Workflow
+
+Notes before you begin (mostly for SVN users):
+
+* The '*develop*' repository is the equivalent of the SVN *trunk* directory.  
+* The '*master*' repository is the equivalent of the SVN *tags* directory.    
+* The '*origin*' is the actual GIT repository that contains the projects *master*, *develop* and other branches (Like trunk, branches and tags).  
+* Unlike SVN a 'commit' is only a local action. The local commits are only published to the remote repository using 'push'.  
+* Commit and push code to your own feature branch as often as you like, but only merge stable branches back into to the *develop* branch.  
+* Only the release manager should manage the *master* repository
+* Read the official Apache Committer documentation [here](https://git-wip-us.apache.org/#committers-getting-started) 
+
+<span style="color: rgb(128,0,0);">Run commands in the directory of the project you are working on, for example 'tomee':</span>
+
+Always create a feature branch from *develop* using an '*extremely*' descriptive name, this should usually be the [JIRA](https://issues.apache.org/jira/browse/TOMEE) id or task name you want to work on:
+
+><span style="color: rgb(51,51,153);">git checkout -b TOMEE-007 develop</span>
+>
+>Switched to a new branch 'TOMEE-007'  
+
+
+><span style="color: rgb(51,51,153);">git status</span>
+>
+>nothing to commit, working directory clean
+
+ Immediately push the new branch to the repository so everyone can see it remotely (and possibly collaborate):
+
+><span style="color: rgb(51,51,153);">git push -u origin TOMEE-007</span>
+>
+>Branch TOMEE-007 set up to track remote branch TOMEE-007 from origin.
+
+Once that is done then you just need the simple push for subsequent calls on this branch:
+
+><span style="color: rgb(51,51,153);">git push</span>
+
+<span style="color: rgb(0,128,0);">Work like mad on the JIRA issue calling commit and add as often as you like...</span>
+
+If others are working on your branch also remember to pull their changes (Or just as good practice):
+
+><span style="color: rgb(51,51,153);">git pull</span>
+>
+><span style="color: rgb(51,51,153);">git commit</span>
+>
+><span style="color: rgb(51,51,153);">git push</span>
+
+Finally, to push the completed (or significant non-breaking progress on the) feature to *develop* at any time (ensuring *develop* is up to date first):
+
+><span style="color: rgb(51,51,153);">git pull origin develop</span>
+
+><span style="color: rgb(51,51,153);">git checkout develop</span>
+
+><span style="color: rgb(51,51,153);">git merge --no-ff TOMEE-007</span>
+
+Once the completed feature is merged and the JIRA resolved then the branch can and 'should' be deleted before pushing:
+
+><span style="color: rgb(51,51,153);">git branch -d TOMEE-007</span>
+
+><span style="color: rgb(51,51,153);">git push origin develop</span>
+
+<a name="git-gui"></a>
+###The GUI Way
+
+Now we have learned to do it the hard way, time to look at the simplified version. The GitHub native tools!
+
+For the latest mac version go here: [Mac Latest](https://mac.github.com/), 
+
+And windows here: [Win Latest](https://windows.github.com/)
+
+These tools will probably not save you much time over the command line, but provide a much better visualization of ongoing processes.
+
+The steps are and remain as described above:
+
+1. From *develop* create a new branch called, for example TOMEE-007
+1. 'Publish' (push -u) the new branch
+1. Work on the branch and commit regularly
+1. Synchronize (pull and push) changes in the the branch when stable
+1. Switch to *develop* and synchronize (pull)
+1. Merge the branch into *develop*, i.e. 'TOMEE-007' + 'develop'  = 'develop' <span style="color: rgb(255,102,0);">*See note below</span>
+1. Commit *develop*
+1. Synchronize *develop* (pull and push)
+1. Delete the branch TOMEE-007
+
+<span style="color: rgb(255,102,0);">*Note</span>: You can actually merge the current *develop* (or any other 'synchronized' branch) into your branch first to make sure it is stable,i.e. 'develop' + 'TOMEE-007' = 'TOMEE-007' - This is really cool!
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/index.html
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/index.html b/src/main/jbake/content/dev/index.html
new file mode 100644
index 0000000..876a068
--- /dev/null
+++ b/src/main/jbake/content/dev/index.html
@@ -0,0 +1,3 @@
+{% extends "basic.html" %}
+{% block title %}SiteMap{% endblock %}
+{% block content %}{{ content|markdown }}{% endblock %}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/itests-overview.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/itests-overview.mdtext b/src/main/jbake/content/dev/itests-overview.mdtext
new file mode 100644
index 0000000..e72044c
--- /dev/null
+++ b/src/main/jbake/content/dev/itests-overview.mdtext
@@ -0,0 +1,151 @@
+Title: iTests Overview
+<a name="iTestsOverview-Motivation"></a>
+#  Motivation
+
+The basic idea behind itests that makes them slightly different than plain
+junit tests ran by maven is that it's assumed that there are other systems
+(servers, databases, brokers, etc) that need to be started or connected to
+before the tests can run.  The tests themselves don't setup the other
+systems themselves so that the tests don't become coupled with them and you
+can actually swap out various aspects of those systems behind the back of
+the tests; server version, protocol implementation, java version, VM
+implementation, database provider, operating systems, even using embedded
+servers and embedded databases.
+
+The idea came from the tests in OpenEJB that do this.  It took a lot of
+work to get them to run as part of the maven build and the itest plugin was
+the result.
+
+Definitely give those a look at: 
+http://svn.apache.org/viewvc/tomee/tomee/trunk/itests/
+
+<a name="iTestsOverview-Pluggingin"></a>
+#  Plugging in
+
+You can have systems started and stopped before and after the tests in a
+number of ways.
+
+<a name="iTestsOverview-Inmaven1"></a>
+##  In maven 1
+
+This series of articles established a basic technique for Container Driven
+Testing with Maven and OpenEJB using preGoals and postGoals to do server
+and databse setup and teardown before and after Maven runs the unit tests.  [http://www.theserverside.com/articles/article.tss?l=ContainerDrivenTestingSeries](http://www.theserverside.com/articles/article.tss?l=ContainerDrivenTestingSeries)
+
+This concept evolved from OpenEJB into a reusable maven plugin created by
+Dain Sundstrom that gave these integration tests (itests) their own source
+directory and added itest:setup and itest:teardown goals to your maven
+build rather than just using a preGoal on "test:test" for setup and a
+postGoal on "test:test" for teardown.  The advantage to the new goals is
+that maven does not call any postGoals on "test:test" if the tests failed;
+something the above series of articles hacked around with an odd bit of
+jelly code.
+
+The new itest plugin was checked into Geronimo with the expectation that
+Geronimo would also use it.  After some time of OpenEJB still being the
+only consumer of it, it was moved into the Maven repository where they keep
+it in the Maven sandbox. 
+
+ [http://maven.apache.org/plugins-sandbox/itest/](http://maven.apache.org/plugins-sandbox/itest/)
+
+ActiveMQ later started using the itest plugin and now has a large suite of
+their own JMS specific integration tests.
+
+<a name="iTestsOverview-Inmaven2"></a>
+##  In maven 2
+
+The concept of integration tests (itests) has been built into the lifecycle
+of maven 2, so it is no longer required to have the itest plugin around to
+get the extra "itest:setup" and "itest:teardown" goals.  See this document
+for more info:  [http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html](http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html)
+
+<a name="iTestsOverview-Injunitsetupandteardown"></a>
+##  In junit setup and teardown
+
+The ejb tests in particular require you to plug in facades for the server
+and the database so the client (the tests) can say "give me an initial
+context" or "create these tables i need" in a generic way.  It's assumed
+that those systems were setup and guaranteed in working state in the itest
+setup phase.  It's also guaranteed that the server and database facades
+know how to contact the server or database to carry out the "give me an
+initial context" and "create these tables" calls.
+
+Here are some implementations of the database provider for reference:
+  -
+http://cvs.openejb.org/viewrep/openejb/openejb/modules/itests/src/itest/org/openejb/test/AxionTestDatabase.java
+  -
+http://cvs.openejb.org/viewrep/openejb/openejb/modules/itests/src/itest/org/openejb/test/DerbyTestDatabase.java
+  -
+http://cvs.openejb.org/viewrep/openejb/openejb/modules/itests/src/itest/org/openejb/test/InstantDbTestDatabase.java
+  -
+http://cvs.openejb.org/viewrep/openejb/openejb/modules/itests/src/itest/org/openejb/test/PostgreSqlTestDatabase.java
+
+Here are some implementations for the server facades:
+  -
+http://cvs.openejb.org/viewrep/openejb/openejb/modules/itests/src/itest/org/openejb/test/CorbaTestServer.java
+  -
+http://cvs.openejb.org/viewrep/openejb/openejb/modules/itests/src/itest/org/openejb/test/RemoteTestServer.java
+  -
+http://cvs.openejb.org/viewrep/openejb/openejb/modules/itests/src/itest/org/openejb/test/IvmTestServer.java
+  -
+http://cvs.openejb.org/viewrep/openejb/openejb/modules/itests/src/itest/org/openejb/test/RiTestServer.java
+
+Using the itest concept you could setup any system you need before hand,
+then just provide an abstraction of that system to the actual tests.  So
+it's not limited to just a server or a database.  You could do queue,
+topic, clustering heartbeat agent, directory server, etc.
+
+<a name="iTestsOverview-Testingmatrix"></a>
+#  Testing matrix
+
+Even with just what we have we can get quite far.  In a perfect world, we
+would actually test against the full matrix:
+
+  Server: Local, Database: Axion
+  Server: Local, Database: Derby
+  Server: Local, Database: PostgreSQL
+  Server: Remote, Database: Axion
+  Server: Remote, Database: Derby
+  Server: Remote, Database: PostgreSQL
+  Server: Corba, Database: Axion
+  Server: Corba, Database: Derby
+  Server: Corba, Database: PostgreSQL
+
+We had that going for a short while years ago but it was just too much
+infrastructure for me to keep running.	It would be nice to get Oracle and
+MySQL in that list as well.
+
+In an even more perfect world we'd test against not just different Server
+and Database combinations, but JVM versions as well.
+
+  Server: Local, Database: Axion, JVM: 1.3
+  Server: Local, Database: Axion, JVM: 1.4
+  Server: Local, Database: Axion, JVM: 1.5
+  Server: Local, Database: Derby, JVM: 1.3
+  Server: Local, Database: Derby, JVM: 1.4
+  Server: Local, Database: Derby, JVM: 1.5
+  Server: Local, Database: PostgreSQL, JVM: 1.3
+  Server: Local, Database: PostgreSQL, JVM: 1.4
+  Server: Local, Database: PostgreSQL, JVM: 1.5
+  Server: Remote, Database: Axion, JVM: 1.3
+  Server: Remote, Database: Axion, JVM: 1.4
+  Server: Remote, Database: Axion, JVM: 1.5
+  Server: Remote, Database: Derby, JVM: 1.3
+  Server: Remote, Database: Derby, JVM: 1.4
+  Server: Remote, Database: Derby, JVM: 1.5
+  Server: Remote, Database: PostgreSQL, JVM: 1.3
+  Server: Remote, Database: PostgreSQL, JVM: 1.4
+  Server: Remote, Database: PostgreSQL, JVM: 1.5
+  Server: Corba, Database: Axion, JVM: 1.3
+  Server: Corba, Database: Axion, JVM: 1.4
+  Server: Corba, Database: Axion, JVM: 1.5
+  Server: Corba, Database: Derby, JVM: 1.3
+  Server: Corba, Database: Derby, JVM: 1.4
+  Server: Corba, Database: Derby, JVM: 1.5
+  Server: Corba, Database: PostgreSQL, JVM: 1.3
+  Server: Corba, Database: PostgreSQL, JVM: 1.4
+  Server: Corba, Database: PostgreSQL, JVM: 1.5
+
+If you add JVM vendors (Sun, IBM, Apple, BEA) to the list, the combinations
+goes up to like 109.  Throw on OS implementations and you get an insane
+number of test runs to complete.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/january2008.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/january2008.mdtext b/src/main/jbake/content/dev/january2008.mdtext
new file mode 100644
index 0000000..5709910
--- /dev/null
+++ b/src/main/jbake/content/dev/january2008.mdtext
@@ -0,0 +1,55 @@
+Title: January2008
+The release of OpenEJB 3.0 beta 1 at the end of September showed an mild
+but noticeable increase in user traffic which has continued since.  Several
+usability improvements and related new features have been added,
+particularly around a returning user from years ago Alex St. Croix.  Alex
+has already written some blog entries, created a couple video tutorials,
+and has a downloadable PDF of using OpenEJB embedded in Tomcat which is a
+dozen pages and growing.  This is all very good for OpenEJB and we are very
+excited to see user activity of this nature again.
+
+Web Services support has been added to OpenEJB in both standalone and
+Tomcat embedded modes, and significant work has been contributed to the CXF
+project as a result to add new features required by OpenEJB but not already
+present, such as rpc/encoded web services.
+
+The ability to embed OpenEJB into Tomcat has been re-expanded from
+temporarily just supporting Tomcat 6.0 to now version 5.5 as well including
+annotation processing support which is usually a v6.0.x and higher feature.
+ Support for older versions was lost when the integration was reworked and
+improved over the OpenEJB 1.0 approach, however post OpenEJB 3.0 beta 1
+release, requests from users of older Tomcat versions began coming in
+showing that the ability to support pre Tomcat 6 users is still very
+important.
+
+The documentation has been reorganized significantly.  A new confluence
+space as been created dedicated entirely to the OpenEJB 3.0.x codebase and
+reintegrated back into the main website.  Several new examples have been
+created as well.  A major issue with the documentation was that most of the
+new documents weren't linked into the main site, were just loose pages, and
+had no "center" to bind them all together.  The creation of dedicated 3.0.x
+space with it's own index and new left navigation section has dramatically
+improved this.
+
+Jonathan Gallimore, a newer contributor, recently contributed another large
+patch to the Eclipse plugin he's been working on that takes an EJB 2.x
+application and adds the annotations to the source code required to turn it
+into an EJB 3.0 application, removing the equivalent xml as it goes. 
+Jonathan has done great work, but we could be doing better as he is largely
+working alone and isn't getting the benefit of working closely with
+existing committers.  It's always difficult to pull people in when there
+isn't a strong intersection with existing code/people.
+
+Release work on OpenEJB 3.0 beta 2 has begun.  There was a perpetual state
+of "going to release" through late November and all December, however all
+the open issues have been cleared and the general mood is "it's
+over-ready."  We've branched and have begun helping other projects to
+release some of the things we have dependencies on such as the Geronimo
+Transaction Manager/Connector and the XBean libraries.	All is going well
+and we should see  OpenEJB 3.0 beta 2 put up for vote this month.
+
+On a general note, OpenEJB celebrated it's eighth year of existence in December.  As a personal comment from someone who's been on the project the entire time, I \[David Blevins\](david-blevins\.html)
+ have never seen the project in such good shape.  A major challenge going
+forward will be releasing the 3.0 final and getting OpenEJB back on
+people's radar.
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/january2010.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/january2010.mdtext b/src/main/jbake/content/dev/january2010.mdtext
new file mode 100644
index 0000000..b8f1212
--- /dev/null
+++ b/src/main/jbake/content/dev/january2010.mdtext
@@ -0,0 +1,20 @@
+Title: January2010
+Main areas of development activity include OSGi support, upgrading JAX-WS
+and potential support for JAX-RS, and Java EE 6 @ManagedBean support.  More
+detailed planning has also begun for the remaining EJB 3.1 work.
+
+Overall user list activity continues to increase with October and November
+both being record months in terms of volume.  Diversity in developers
+responding to user requests has also been greatly improved, quite stellar
+in fact, with more committers pitching in and resolving user issues.  A
+wonderful trend.  Holidays had their usual impact on December activity.
+
+OpenEJB Eclipse Plugin 1.0.0.alpha was released in late October and a
+screencast created which shows how to get started with it was put up in the
+project blog and website.
+
+An informal get together is planned in Milan, Italy for the last weekend of
+January.  Information has been sent to the user list and anyone is welcome
+to come.  Primary goal is just to meet each other and have a few beers, but
+there's certainly room for tech talk and some will likely occur.  Anything
+substantial will reach the dev list as with any offline communication.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/jira/index.html
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/jira/index.html b/src/main/jbake/content/dev/jira/index.html
new file mode 100644
index 0000000..658cd20
--- /dev/null
+++ b/src/main/jbake/content/dev/jira/index.html
@@ -0,0 +1,3 @@
+{% extends "basic.html" %}
+{% block title %}JIRA Reports{% endblock %}
+{% block content %}{{ content|markdown }}{% endblock %}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/jira/patches.swjira
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/jira/patches.swjira b/src/main/jbake/content/dev/jira/patches.swjira
new file mode 100644
index 0000000..7ee5a09
--- /dev/null
+++ b/src/main/jbake/content/dev/jira/patches.swjira
@@ -0,0 +1,32 @@
+Title: Pending Patches
+#set( $url = "https://issues.apache.org/jira/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?jqlQuery=project+in+%28OPENEJB%2C+TOMEE%29+AND+status+%3D+Open&tempMax=1000" )
+#set( $jirarss = $rss.fetch( $url ) )
+#set( $issues = $jirarss.fillAttachments() )
+#set( $void = $date.format("yyyy-MM-dd") )
+##
+#foreach( $issue in $issues )
+#set( $issue.attributes.totalAttachments = $issue.attachments.size() )
+#end
+#set( $issues = $issues.greater("@totalAttachments", 0) )
+#foreach( $issue in $issues )
+#set( $issue.attributes.firstPatch = $issue.attachments.min("created").created )
+#end
+##
+
+**${issues.size()} patches in the queue**
+
+Generated $date.as("EEEE, MMMM d, yyyy")
+
+(sorted oldest to newest)
+
+#foreach( $issue in $issues.sort("@firstPatch") )
+[$issue.key]($issue.link) $issue.summary
+
+- $date.format($issue.created)  **$issue.reporter** -  _${issue.type}_
+#foreach ( $attachment in $issue.attachments.sort("created") )
+- $date.format($attachment.created)  $attachment.author   [$attachment.fileName]($attachment.url)
+#end
+
+
+
+#end

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/jira/todo.swjira
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/jira/todo.swjira b/src/main/jbake/content/dev/jira/todo.swjira
new file mode 100644
index 0000000..8841599
--- /dev/null
+++ b/src/main/jbake/content/dev/jira/todo.swjira
@@ -0,0 +1,30 @@
+Title: Unassigned Items
+#set ( $tomee = $rss.fetch("https://issues.apache.org/jira/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?assignee=Unassigned&&pid=TOMEE&status=Open&tempMax=1000&reset=true&decorator=none") )
+#set ( $openejb = $rss.fetch("https://issues.apache.org/jira/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?assignee=Unassigned&pid=OPENEJB&status=Open&tempMax=1000&reset=true&decorator=none") )
+#set( $issues = $tomee.issues.union( $openejb.issues ) )
+#set( $priorities = $issues.collect("priority").unique("id").sort("id"))
+
+Looking for something to do?
+
+This page contains a list of JIRA issues that are open and not assigned to anyone.  Anything in this list is a great candidate for contribution.
+
+**Note "Major" and "Minor" refer to priority and not effort required to complete a task.**
+
+When looking for a task for first-time contributors, we highly encourage people to start small and find something simple and quick.  See also [Contribution Tips](../contribution-tips.html)
+
+#foreach( $p in $priorities )
+#$p
+
+#set( $list = $issues.equals("priority", $p.name).sort("id", true) )
+#set( $types = $list.collect("type").unique("id").sort("id") )
+
+#foreach( $type in $types )
+**$type**:
+
+#foreach( $issue in $list.equals("type", $type.name) )
+ - [$issue.key](https://issues.apache.org/jira/browse/$issue.key): $issue.summary
+#end
+
+#end
+
+#end

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/july2007.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/july2007.mdtext b/src/main/jbake/content/dev/july2007.mdtext
new file mode 100644
index 0000000..298c5de
--- /dev/null
+++ b/src/main/jbake/content/dev/july2007.mdtext
@@ -0,0 +1,22 @@
+Title: July2007
+CURRENT FOCUS
+
+Primary activities in the project are around polishing up features,
+user-facing code, reducing dependencies, documentation, and taking care of
+legal in preparation for the coming 3.0 release. No real issues stand in
+the way at this point, builds and voting should start soon.
+
+CONTRIBUTIONS
+
+More wonderful documentation contributions have been made by contributor
+Karan Malhi who is actively scraping our list archives and creating
+documentation from old emails.
+
+EXTERNAL INVOLVEMENT
+
+Contributed managed connection support to commons-dbcp. This will eliminate
+our custom database pooling code, and adds an important new feature to
+DBCP. This feature should be useful to anyone using DBCP in a managed
+environment such at Tomcat. Also, OpenEJB has a large set of data base test
+case, and we have already found a few bugs to fix in DBCP for which we are
+working on fixes.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/july2008.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/july2008.mdtext b/src/main/jbake/content/dev/july2008.mdtext
new file mode 100644
index 0000000..ceb3aee
--- /dev/null
+++ b/src/main/jbake/content/dev/july2008.mdtext
@@ -0,0 +1,19 @@
+Title: July2008
+The OpenEJB 3.0 Final release in mid April brought some good attention to
+the project and more new users.  User list traffic showed a small increase
+in April and May and a sharp spike in June.  July looks to be a slow month
+so far.  Many users are content and anxiously awaiting the next release.
+
+Planning for the next release has begun.  The list of fixes and
+improvements is growing very large.  If all goes well 3.1 it won't be too
+much longer before we start spinning binaries for 3.1.	Major new features
+will include more EJB 3.1 support, jaxb performance increases through the
+SXC project, network performance increases in client/server communication,
+cmp and jpa conversion improvements, tomcat console improvements, and fixes
+in the jdbc connection pooling.
+
+Jonathan Gallimore was voted in as a committer with great support. 
+Jonathan is not just a new committer to OpenEJB but to the ASF.  A very
+warm welcome to Jonathan!
+
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/july2009.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/july2009.mdtext b/src/main/jbake/content/dev/july2009.mdtext
new file mode 100644
index 0000000..87074c3
--- /dev/null
+++ b/src/main/jbake/content/dev/july2009.mdtext
@@ -0,0 +1,28 @@
+Title: July2009
+OpenEJB 3.1.1 was released in June.  The release contained a mix of
+improvements and fixes.  Overall it was very well received and very
+anticipated as the last trunk release was in October 2008.  More frequent
+dot releases are planned and a 3.1.2 will hopefully be not too far behind.
+
+Project participation in blogs.apache.org started up in April and has been
+fairly successful with about seven posts so far.  Some effort has gone into
+creating a convenient way that blog posts can be staged for community
+review before being posted.  The result has proven to be very easy and not
+cumbersome which directly contributes to the number of posts in the last
+two months or so.  Two screencasts, the first of many hopefully, were also
+added and published through the blog.
+
+Jean-Louis Monteiro was voted in as a committer in June.  The project is
+extremely happy to have him as a committer and very much enjoys his work
+and overall contributions in the community.  Congratulations, Jean-Louis!
+
+Preparation has been underway to do a first release of the OpenEJB Eclipse
+Plugin.  As part of the work in preparing the release files, discussion
+started at the beginning of the month on adding the release manager and
+majority contributor to the plugin, Jonathan Gallimore, to the project PMC
+for better oversight.  The discussion was started on the dev list carefully
+and deliberately with so far very healthy and positive results.  A vote for
+his addition to the PMC is now underway on the dev list, the first of
+hopefully many open PMC votes.	A big compliment to the community to whose
+amazing openness, mutual respect, and overall friendliness makes this kind
+of thing possible.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/july2010.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/july2010.mdtext b/src/main/jbake/content/dev/july2010.mdtext
new file mode 100644
index 0000000..0273575
--- /dev/null
+++ b/src/main/jbake/content/dev/july2010.mdtext
@@ -0,0 +1,18 @@
+Title: July2010
+Work on the 3.1.next development has slowed and a release of that codebase
+(3.1.3) is likely to come out soon.
+
+Activity on the 3.2 codebase is going strong with significant progress on
+EJB 3.1 features, specifically; @AccessTimeout, @AfterBegin,
+@BeforeCompletion, @AfterCompletion and some support for the @Asynchronous
+method invocations.  Most of this work is being done by contributors.  New
+committers are sure to be right around the corner.  Work has started on
+JCDI integration aided by the OpenWebBeans community.  That work is
+somewhat revolutionary and a separate branch has been created temporarily
+to workout the overall architecture and design of the integration. 
+Significant work is also being done to overhaul and test the application
+validation code and related i18n message keys.
+
+Dev list participation has increased due to greater contributor activity. 
+User list traffic has slowed somewhat which is welcome as it provides a
+little breathing room for development.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/june2007.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/june2007.mdtext b/src/main/jbake/content/dev/june2007.mdtext
new file mode 100644
index 0000000..517c5a8
--- /dev/null
+++ b/src/main/jbake/content/dev/june2007.mdtext
@@ -0,0 +1,16 @@
+Title: June2007
+All Incubator Infrastructure has been migrated over to tomee.apache.org
+as well as removal of any miscellaneous Incubator related disclaimers in
+code and website.  
+
+The project is excited to have implementation of EJB 3.0 complete and to
+see our sister project, Geronimo, announced JavaEE 5 Certification. 
+Community short term goals are a release of OpenEJB 3.0 along with regular
+published snapshots.  Early development discussions are underway on
+clustering, application validation as well as general items for code clean
+up.  List activity post JavaEE 5 Certification is back up to normal.
+
+We still gain more contribution interests from new people like *Karan
+Malhi* who is interested in fixing some issues with OpenEJB 3.0 assembly
+build process.
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/logging.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/logging.mdtext b/src/main/jbake/content/dev/logging.mdtext
new file mode 100644
index 0000000..e8edabe
--- /dev/null
+++ b/src/main/jbake/content/dev/logging.mdtext
@@ -0,0 +1,222 @@
+Title: Logging
+<a name="Logging-LoggingforUsers"></a>
+## Logging for Users
+All logging in OpenEJB is done using the
+openejb.base/conf/logging.properties file. When you download and extract
+OpenEJB, you will not find this file under the openejb.base/conf directory.
+However, when you start the server, this file magically appears. So what
+does this give you as a user of OpenEJB? Here are some of the benefits:
+1. You do not have to author a logging.properties from scratch. You get one
+with sensible defaults.
+1. If you did modify the default file, and you wanted to revert back to the
+default file generated by OpenEJB, all you have to do is
+1. # Delete or rename the file e.g. rename it to logging.properties.BAK .
+1. # Restart the server
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+OpenEJB will find that the logging.properties file is missing from the
+openejb.base/conf directory and it will automatically create a new one with
+the default configuration. The good thing is that if you modify the
+logging.properties file, OpenEJB will \*NOT\* over-write it.
+
+The default logging configuration created by OpenEJB uses
+RollingFileAppender's. The log files are located under the
+openejb.base/logs directory. By default it writes to just two files ,
+openejb.log and transaction.log&nbsp;
+{info:title=Embedded Testing}
+When running tests using embedded OpenEJB, the logging.properties will be
+ignored. You need to use a file named embedded.logging.properties instead.
+Place this file under src/test/resources
+{info} 
+<a name="Logging-Loggingforcontributors/committers"></a>
+## Logging for contributors/committers
+
+The org.apache.openejb.util.Logger class is the one which is used for
+logging. This class is a wrapper around log4.&nbsp;
+
+<a name="Logging-LogCategory"></a>
+### LogCategory
+
+Each Logger instance belongs to a category represented by a
+org.apache.openejb.util.LogCategory instance. Here is what the LogCategory
+class looks like
+
+    public final class LogCategory {
+      private final String name;
+      public static final LogCategory OPENEJB = new LogCategory( "OpenEJB");
+      public static final LogCategory OPENEJB_ADMIN = OPENEJB.createChild("admin");
+      public static final LogCategory OPENEJB_STARTUP = OPENEJB.createChild("startup");
+      public static final LogCategory OPENEJB_STARTUP_CONFIG = OPENEJB_STARTUP.createChild("config");
+      public static final LogCategory OPENEJB_STARTUP_VALIDATION = OPENEJB_STARTUP.createChild("validation");
+           // other categories removed for code brevity
+      private LogCategory(String name){
+        this.name = name;
+      }
+      public String getName() {
+        return name;
+      }
+      /**
+       * Creates a child category of this category. <B>Use this method sparingly</B>. This method is to be used in only those circumstances where the name of the
+       * category is not known upfront and is a derived name. If you know the name of the category, it is highly recommended to add a static final field
+       * of type LogCategory in this class
+       * @param child
+       * @return - LogCategory
+       */
+      public LogCategory createChild(String child){
+        return new LogCategory(this.name+"."+child);
+      }
+
+    }
+
+Notice carefully how each LogCategory instance is created.&nbsp; The
+objective here is that each LogCategory should be a child of the OPENEJB
+category. If you need to add a new category and you know the name of the
+category upfront, simply open the LogCategory class and add another
+category. For example, if you needed to add a category named SHUTDOWN, here
+is the recommended way to add it
+
+    public static final LogCategory OPENEJB_SHUTDOWN = LogCategory.OPENEJB.createChild("shutdown");
+
+Sometimes you may want to create a category whose name is "generated" at
+runtime. In that case you can use the "createChild" method of the
+LogCategory class to create this new category.&nbsp; For example, if you
+wanted to create a category of Logger for every deployed module, then
+assuming you have the moduleId information you could do something as
+follows to create a category:
+
+    String moduleId = "mymodule";
+    LogCategory generatedCategory = LogCategory.OPENEJB.createChild(moduleId);
+
+
+<a name="Logging-&nbsp;Logger"></a>
+### &nbsp;Logger
+
+The preference is to externalize all logging messages in properties file.
+Typically each package should have a file called Messages.properties.&nbsp;
+This file should have all the keys and the corresponding messages.&nbsp;
+Here are the steps you would follow to log a message:
+* For each message you need to log, you would open the Messages.properties
+file in the corresponding package and add a key-value pair for the
+message.&nbsp; For example, if you were authoring a class called
+org.apache.openejb.util.Connect, then you would add a key-value pair to the
+Messages.properties file located in the org.apache.openejb.util package.
+
+* Obtain a Logger instance in one of the following ways:
+
+&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
+*Using the package name*
+
+    Logger logger = Logger.getInstance (LogCategory.OPENEJB,
+"org.apache.openejb.util");
+
+&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;*&nbsp; 
+Using the Class*
+
+    Logger logger = Logger.getInsance(LogCategory.OPENEJB, Connect.class);
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+*Get a child Logger for an existing Logger instance*
+
+    Logger logger = Logger.getInsance(LogCategory.OPENEJB, Connect.class);
+    Logger child = logger.getChildLogger("shutdown");
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+*Get a child Logger of an existing Logger using a LogCategory*
+
+    LogCategory childCategory = LogCategory.OPENEJB.createChild("shutdown");
+    Logger logger = Logger.getInstance(childCategory,Connect.class);
+
+* &nbsp;Call one of the following methods passing in the key as an argument
+** debug
+** error
+** fatal
+** info
+** warning
+
+
+    Logger logger = Logger.getInstance(LogCategory.OPENEJB,Connect.class);
+    logger.info("error.file");
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The
+Messages.properties file under org.apache.openejb.util must have the
+"error.file" key in it with the corresponding message.
+
+<a name="Logging-LoggerInheritance&nbsp;"></a>
+### Logger Inheritance&nbsp;
+
+&nbsp;Another interesting feature of the Logging framework is inheritance.
+Here is how it works:
+
+Say you have the following Messages.properties files in the classpath.
+1. &nbsp; org/apache/openejb/Messages.properties
+1. &nbsp; org/apache/openejb/core/Messages.properties
+1. &nbsp; org/apache/openejb/core/stateless/Messages.properties
+
+&nbsp;
+&nbsp;
+Then you have a class such as
+org.apache.openejb.core.stateless.StatelessContainer (+note the package+)
+If that class referenced a message key "classNotFound" for example, the
+Logger would look for the message first in Messages.properties 3, then 2,
+then 1 and so on until it found the required message.
+This would allow better reuse of messages, more flexibility in where we put
+the Message.properties&nbsp; files, as well as the added bonus in that we
+no longer need to pass in the location of where our
+Message.properties file is
+
+<a name="Logging-Loggingforintegrators"></a>
+### Logging for integrators
+
+If you want to embed OpenEJB in your application and need to control the
+logging configuration of OpenEJB, simple set the openejb.logger.external
+system property to true. Now, its your applications' responsibility to
+configure logging, OpenEJB will simply use your configuration.
+
+<a name="Logging-&nbsp;OriginationoftheLoggingIdea"></a>
+### &nbsp;Origination of the Logging Idea
+
+There has been a long discussion for this logging idea. Its going to be
+worth it to read the discussion at [i18n and logging](http://www.nabble.com/i18n-and-logging-tf3962134s2756.html)
+
++Here is a extract from an email from David Blevins which talks about the
+existing logging framework. The current framework is more or less the same
+as this one, just some added features and a rewrite of the API+
+
+Each module has a file called default.logging.conf. This file contains the
+definition of all Loggers, their appenders and warning levels. However, we
+do not use default.logging.conf first. The basic idea is that first we look
+for say conf/logging.conf in the openejb.base directory. &nbsp;If we don't
+find it there, we look for default.logging.conf in the classpath. &nbsp;If
+we did find default.logging.conf (which we should) and there is an
+openejb.base/conf/ directory then expand the default.logging.conf to
+openejb.base/conf/logging.conf where we expected to find the file in the
+first place. &nbsp;If there was no openejb.base/conf/ directory, then it's
+safe to assume we're running embedded (in a test case perhaps) and just use
+the default.logging.conf and do no extra work.
+
+We have default.logging.conf which we use this way as well as
+default.openejb.conf and now more recently users.properties and
+groups.properties. &nbsp;We search on disk for the resource in
+openejb.base/conf/ if we don't find them we unpack the default one we
+stuffed in openejb-core jar and extract it to disk in the openejb.base/conf
+directory if there is one \-\- if there isn't one we just use the default
+file.
+
+The basic ideas behind the pattern are that:
+ &nbsp;1. If you've messed up your configuration, just delete or rename the
+respective files in your conf/ directory and new (working) ones will
+magically appear.
+ &nbsp;2. When upgrading its nice that our zip file won't overwrite any
+existing files in conf/
+ &nbsp;3. If you're running embedded you don't have to setup any
+directories or have any config files, we can run on defaults.
+
+The *ConfUtils.getConfResource* utility to do that pattern generically ,
+but so far we're only using it for the users.properties and
+groups.properties files. &nbsp;We should be using it everywhere.
+&nbsp;Having the code in multiple places has lead to some inconsistencies
+such as we expand the default.openejb.conf file to conf/openejb.xml (not
+even the same file extension). &nbsp;We really don't need the "default"
+part in our file names and the lingering usage of the "conf" file extension
+is something that needs to go bye-bye \-\- we should use properties for
+properties files and xml for xml files, etc.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/mastering-the-command-line.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/mastering-the-command-line.mdtext b/src/main/jbake/content/dev/mastering-the-command-line.mdtext
new file mode 100644
index 0000000..bed5666
--- /dev/null
+++ b/src/main/jbake/content/dev/mastering-the-command-line.mdtext
@@ -0,0 +1,97 @@
+# Linux/OSX awesomeness
+
+Not specific to this projec, but can be incredibly useful ways to maximizes your time.  Mastering the command line is the best way to get things done, quick and cheaply.
+
+Reapeat after me:
+
+ - I will write a script for any tasks I do regularly
+
+# Core commands
+
+Some very big time-saving commands
+
+## In shell scripts
+
+ - **basename** - what is the file name again? not the path, just the file name
+ - **dirname** - what directory is this in?
+ - **readllink -f** - what is the absolute path of this file?
+ - **cat** - spit out the contents of one or more files
+ - **cp** - copy file or dir
+ - **scp** - copy file or dir to another machine
+ - **rsync** - both the above, but so much more awesome
+    - rsync -av here there
+    - rsync -e ssh -av here user@host:there
+ - **cut** - wish I could i could chop out this column in the middle here
+ - **date** - would be nice if I had some way to make this log file name a little more unique
+ - **echo** - System.out.println()
+ - **xargs** - can be useful but doesn't respect paths with spaces. I only use it sometimes
+ - **find** - find some files and potentially execute a command against them
+ - **egrep** - search for text in a file or from STDIN.  better than grep
+ - **mkdir** - makes a dir, with -p will make parent dirs too
+ - **mv** - move a file
+ - **head** - spit out the first N lines of a file
+ - **tail** - spit out the last N lines of a file
+ - **tee** - I want to see the output of this command, but I also want to write it to a file.  Oh! tee is awesome!
+ - **perl** - edit a stream:  cat file.txt
+    - edit a file: perl -i -pe 's/this/that/'
+ - **pwd** - where am I?
+ - **rm** - delete
+ - **read (bash)** - I dig this out for strings with spaces. paths have spaces in them sometimes
+    - ls *.txt
+    - find . -name "*.txt"
+ - **export (bash)** - why can't my script find this command? i use this to debug scripts 'export > /tmp/script-env.txt'
+ - **for (bash)** - my favorite bash construct
+    - for n in one two three; do echo "$n"; done
+    - (side note, always quote your variables like "$n" vs $n, trust me it's a good habit)
+ - **while  (bash)** - my second favorite bash construct
+    - loop forever and do something: while true; do my_command; sleep 10; done
+ - **sleep** - Thread.sleep().  Only accepts seconds.  I typically do the math with bash sytax
+    - sleep for an hour:  sleep $(( 60 * 60 ))
+    - sleep for a day:  sleep $(( 60 * 60 * 24 ))
+ - **sort** - sort lines of text
+ - **uniq** - trim out the duplicates
+    - show me only things that had duplicates: uniq -d
+    - ( I always 'sort
+ - **ssh** - awesomeness.  can execute commands remotely too
+    - ssh people.apache.org pwd
+    - ssh people.apache.org 'pwd
+ - **sudo** - I wish I were a fish.  I wish I were a fish.
+ - **tar** - package up some stuff
+ - **wget** - download this url
+    - wget http://apache.org
+    - wget -q -O - http://apache.org
+ - **tr** - echo $PATH
+ - **uname** - what system am I on?
+
+## OSX commands
+
+ - **pbpaste** - paste the contents of the clipboard to stdout
+ - **pbcopy** - copy stdin to the clipbboard
+
+## running shell scripts
+
+ - **bash** - quick way to run a script if it isn't already executable
+ - **chmod** - this file should be executable
+ - **clear** - my terminal is messy
+ - **diff/patch** - comparing or merging file contents
+ - **ps/kill** - my script is running too long, i want to force it to stop
+ - **less** - paging through command line output
+ - **nohup** - I don't want this script to die if my connection is interrupted
+ - **which** - where does this command live?
+ - **crontab** - schedule something to run regularly (i use 'bash -l foo.sh' to run stuff in my crontab file)
+ - **shutdown** - shutdown or restart a machine
+ - **top** - what the heck is chewing up my cpu?
+ - **uname** - what system am I on?
+
+# I never use
+
+Some people like it.
+sed -- i always use "perl -pe 's/find/replace/'")
+
+Getting used to using perl is better.  This page was originally written thinking markdown had table support
+like confluence does.  Soo all lines where using "| command | description |" formatting.  Markdown doesn't
+have that, so I changed it to a list syntax with the following command on my mac:
+
+`pbpaste | perl -ne '@f = split(" *\\| *", $_); print " - **$f[1]** - $f[2]\n"' | pbcopy`
+
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/october2007.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/october2007.mdtext b/src/main/jbake/content/dev/october2007.mdtext
new file mode 100644
index 0000000..e650b18
--- /dev/null
+++ b/src/main/jbake/content/dev/october2007.mdtext
@@ -0,0 +1,8 @@
+Title: October2007
+OpenEJB 3.0 beta 1 released.
+First contribution from Jonathan Gallimore. (was anything checked in, if
+not yank this line)
+Completed Export Control (Cryptography) process.
+Completed integration with Tomcat 6.
+Expanded documentation and examples.
+Activity on the user list has increased slightly since the release.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/october2008.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/october2008.mdtext b/src/main/jbake/content/dev/october2008.mdtext
new file mode 100644
index 0000000..7d383f0
--- /dev/null
+++ b/src/main/jbake/content/dev/october2008.mdtext
@@ -0,0 +1,36 @@
+Title: October2008
+The user base has grown significantly. The primary areas seem to be people
+replacing the JBoss Embedded platform with OpenEJB as an embedded container
+for either testing or Swing/GUI work and people using OpenEJB in Tomcat for
+web work. There have also been some reports of very large applications
+getting ported to OpenEJB. External signs of adoption have increased as
+well with some OpenEJB users popping up in other communities such as Maven
+asking for OpenEJB focused improvements in their tools, a half dozen or so
+very favorable blog entries from people outside the project and a recent
+thread on TheServerSide where many users expressed they were considering
+leaving Spring for OpenEJB/Tomcat or Glassfish.
+
+Development on the OpenEJB Eclipse Plugin continues strong. The
+still-in-development Eclipse plugin is attracting some interest and has
+already received some contributions from at least two different
+individuals. Thanks goes out to Jonathan Gallimore for not succumbing to
+post-commit-status burnout as so many people do when first getting commit.
+The dedication is noted. Other larger areas of development have been a
+total overhaul of the client/server aspect of OpenEJB, first in the request
+speed and throughput and secondly in request failover and retry. This had
+been a weak area for the project and these improvements will likely
+increase the number of people using the standalone version of OpenEJB
+(current major areas of use are embedded and Tomcat). Some experimental
+work on integrating OpenEJB with Spring has been done which when completed
+should prove to be a compelling feature.
+
+Support for EJB 3.1 is underway. Full support for the proposed Singleton
+bean type has been added, which to our knowledge is the only implementation
+in the market currently. This should drive some EJB 3.1 early adopters to
+the project and serve as a good tool for getting feedback for the EJB 3.1
+spec.
+
+The OpenEJB 3.1 release is up for a vote and if all goes well will be final
+in a few days.	It's been a bit too long since our last release in April. 
+Hopefully after 3.1 is released we can get back into the frequent release
+rhythm we had throughout the betas and up until 3.0 final.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/october2009.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/october2009.mdtext b/src/main/jbake/content/dev/october2009.mdtext
new file mode 100644
index 0000000..0169b0d
--- /dev/null
+++ b/src/main/jbake/content/dev/october2009.mdtext
@@ -0,0 +1,4 @@
+Title: October2009
+Release 3.1.2
+Eclipse Plugin 1.0.0 alpha release
+More EJB 3.1 activity

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/openejb-release-process.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/openejb-release-process.mdtext b/src/main/jbake/content/dev/openejb-release-process.mdtext
new file mode 100644
index 0000000..2934d99
--- /dev/null
+++ b/src/main/jbake/content/dev/openejb-release-process.mdtext
@@ -0,0 +1,278 @@
+Title: OpenEJB Release Process
+
+	Note: This information is largely obsolete and remains here for reference only.
+
+{code:none}
+mvn release:prepare -Dusername=dblevins -Dassemble
+
+    
+    {code:none}
+    mvn release:perform -Dassemble -Dusername=dblevins
+-DaltDeploymentRepository=dblevins::default::scp://people.apache.org/x1/home/dblevins/public_html/stage
+-Dgpg.passphrase=xxxxx
+
+
+
+    mvn clean deploy -Prelease -Dassemble -Dusername=dblevins
+-DaltDeploymentRepository=dblevins::default::scp://people.apache.org/x1/home/dblevins/public_html/stage/repo
+-Dgpg.passphrase=xxxxx
+
+
+1. Create a copy of the trunk the branch will be based on.
+
+{code:none}
+svn copy -m "TomEE 1.5.1 branch" \
+  https://svn.apache.org/repos/asf/tomee/tomee/trunk \
+  https://svn.apache.org/repos/asf/tomee/tomee/branches/tomee-1.5.1
+
+    
+#  Merging things from trunk to the branch
+    
+    While fixing issues in the branch and trunk in parallel it may happen that
+some changes in trunk have not been applied to the branch. Provided you're
+in the branch's directory the following command applies a change from the
+trunk  to the branch (`{-c 575845`} is the commit number with the fix and
+the url points to a repo the change is in).
+    
+    {code:none}
+    svn merge -c 575845 https://svn.apache.org/repos/asf/tomee/tomee/trunk
+
+
+Here's a little script that can make merging easier
+
+
+    #!/bin/bash
+    
+    for n in $@; do
+      m=$(($n -1))
+      LOG=/tmp/svn-commit-r$n.log
+    
+      cat /dev/null > $LOG
+    
+      echo "Merging r$n - http://svn.apache.org/viewvc?rev=$n&view=rev" >> $LOG
+      echo "" >> $LOG
+      echo "svn merge -r $m:$n
+https://svn.apache.org/repos/asf/tomee/tomee/trunk ." >> $LOG
+      echo "" >> $LOG
+      svn log -r$n https://svn.apache.org/repos/asf/tomee/tomee/trunk >>
+$LOG
+    
+      svn merge -r $m:$n
+https://svn.apache.org/repos/asf/tomee/tomee/trunk .  &&
+      svn ci -F $LOG
+      echo "$n merged"
+    done
+
+
+<a name="OpenEJBReleaseProcess-Aggregationintoastage/3.xdirectory"></a>
+#  Aggregation into a stage/3.x directory
+
+
+    #!/bin/bash
+    
+    VER=3.0
+    
+    function package () {
+        SOURCE=$1; DEST=${2:-$SOURCE}
+        tar czf $DEST.tar.gz $SOURCE
+        zip -9rq $DEST.zip $SOURCE
+    }
+    function shash {
+        openssl $1 < $2 > $2.$1 ;
+    }
+    function sign {
+        archive=$1
+        gpg --armor --output $archive.asc --detach-sig $archive
+        gpg --verify $archive.asc $archive
+    }
+    
+    function fail () { echo $1 >&2; exit 1;}
+    
+    
+    mkdir $VER
+    (cd $VER
+    
+    svn export
+http://svn.apache.org/repos/asf/openejb/tags/openejb-$VER/examples
+openejb-examples-$VER
+    package openejb-examples-$VER && rm -r openejb-examples-$VER
+    
+    svn export http://svn.apache.org/repos/asf/openejb/tags/openejb-$VER
+openejb-$VER-src
+    package openejb-$VER-src && rm -r openejb-$VER-src
+    
+    for archive in *.{zip,tar.gz}; do
+        echo $archive
+        shash md5 $archive
+        sign $archive
+    done || fail "Unable to sign or hash release archives"
+    )
+    
+    scp -r $VER  people.apache.org:public_html/stage/
+    
+    # Copy standalone assembly in
+    
+    ssh people.apache.org "cp
+~/public_html/stage/repo/org/apache/openejb/openejb-standalone/$VER/openejb-standalone-$VER.{zip,tar.gz}{,.asc,.md5}
+~/public_html/stage/$VER/"
+    
+    
+    echo $VER | ssh people.apache.org 'read VER && for n in
+~/public_html/stage/repo/org/apache/openejb/openejb-standalone/$VER/openejb-standalone-$VER.{zip,tar.gz}{,.asc,.md5};
+do cp $n ~/public_html/stage/$VER/$(basename
+${n/openejb-standalone-$VER/openejb-$VER}); done'
+    
+    # Copy tomcat webapp assembly in
+    
+    echo $VER | ssh people.apache.org 'read VER && for n in
+~/public_html/stage/repo/org/apache/openejb/openejb-tomcat-webapp/$VER/openejb-tomcat-webapp-$VER.war{,.asc,.md5};
+do cp $n ~/public_html/stage/$VER/$(basename ${n/-tomcat-webapp-$VER/});
+done'
+
+
+<a name="OpenEJBReleaseProcess-Releasenotes"></a>
+#  Release notes
+
+
+    #set( $rpc =
+$xmlrpc.connect("dblevins:xxxxx","http://issues.apache.org/jira/rpc/xmlrpc")
+)
+    #set( $version = $rpc.getVersion("OPENEJB", "3.0") )
+    #set ( $versionId = $version.id )
+    #set ( $jira =
+$rss.fetch("http://issues.apache.org/jira/secure/IssueNavigator.jspa?view=rss&&pid=12310530&status=5&status=6&fixfor=${versionId}&tempMax=1000&reset=true&decorator=none")
+)
+    #set( $issues = $jira.issues )
+    
+    Apache OpenEJB $version
+    
+    $date
+    
+    New Features:
+    
+    #foreach ( $issue in $issues.equals("type", "New Feature").descending("id")
+)
+      * [$issue.key]
+ $issue.summary
+    #end
+    
+    Improvements:
+    
+    #foreach ( $issue in $issues.equals("type", "Improvement") )
+      * [$issue.key]
+ $issue.summary
+    #end
+    
+    Bugs:
+    
+    #foreach ( $issue in $issues.equals("type", "Bug").sort("priority") )
+      * [$issue.key]
+ $issue.summary
+    #end
+    
+    Tasks & Sub-Tasks:
+    
+    #foreach ( $issue in $issues.equals("type", "Task").sort("summary") )
+      * [$issue.key]
+ $issue.summary
+    #end
+    #foreach ( $issue in $issues.equals("type", "Sub-task").sort("summary") )
+      * [$issue.key]
+ $issue.summary
+    #end
+    
+    
+    
+     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+    
+    Unimplemented Features, bugs, limitations
+    
+    #set ( $jira =
+$rss.fetch("http://issues.apache.org/jira/secure/IssueNavigator.jspa?view=rss&&pid=12310530&status=1&status=3&status=4&version=${versionId}&tempMax=1000&reset=true&decorator=none")
+)
+    #set( $issues = $jira.issues )
+    
+    #foreach ( $issue in $issues.sort("priority") )
+      * [$issue.key]
+ $issue.summary
+    #end
+
+
+
+<a name="OpenEJBReleaseProcess-README.htmlfile"></a>
+#  README.html file
+
+some way to dynamically update this would be great.
+
+{code:html}
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML><HEAD><TITLE>Apache OpenEJB 3.0</TITLE>
+<META http-equiv=Content-Type content="text/html">
+</HEAD>
+<BODY>
+<P>
+<H3>Apache OpenEJB 3.0</H3>
+<P></P>
+
+<p>Packaging Details (or "What Should I Download?")
+  <ul>
+      <li>
+	  OpenEJB Standlone Server:
+	  <ul>
+	      <li><a href="openejb-3.0.zip">openejb-3.0.zip</a></li>
+	      <li><a href="openejb-3.0.tar.gz">openejb-3.0.tar.gz</a></li>
+	  </ul>
+      </li>
+      <li>
+	  OpenEJB for Tomcat 6 or Tomcat 5.5:
+	  <ul>
+	      <li><a href="openejb.war">openejb.war</a></li>
+	  </ul>
+      </li>
+      <li>
+	  EJB 3.0 and other examples:
+	  <ul>
+	      <li><a
+href="openejb-examples-3.0.zip">openejb-examples-3.0.zip</a></li>
+	      <li><a
+href="openejb-examples-3.0.tar.gz">openejb-examples-3.0.tar.gz</a></li>
+	  </ul>
+      </li>
+      <li>
+	  Source:
+	  <ul>
+	      <li><a
+href="openejb-3.0-src.zip">openejb-3.0-src.zip</a></li>
+	      <li><a
+href="openejb-3.0-src.tar.gz">openejb-3.0-src.tar.gz</a></li>
+	  </ul>
+      </li>
+  </ul>
+</p>
+
+<P>Thank you for using <A href="http://tomee.apache.org/">OpenEJB</A>!.
+</P>
+<P><B>The Apache OpenEJB Project</B> <BR><A
+href="http://tomee.apache.org/">http://tomee.apache.org/</A> </P>
+<P>
+<P></P></BODY></HTML>
+
+    
+#  Publishing
+    
+    When all voting is done
+    
+    {code:none}
+    mvn stage:copy -Dsource="http://people.apache.org/~dblevins/stage/repo/" \
+     
+-Dtarget="scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository"
+\
+      -DsourceRepositoryId=apache.staging \
+      -DtargetRepositoryId=apache.releases \
+      -Dversion=3.0
+
+
+{code:none}
+
+$ mv 3.0 /www/www.apache.org/dist/openejb/
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/proxies.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/proxies.mdtext b/src/main/jbake/content/dev/proxies.mdtext
new file mode 100644
index 0000000..f08659d
--- /dev/null
+++ b/src/main/jbake/content/dev/proxies.mdtext
@@ -0,0 +1,34 @@
+Title: Proxies
+<a name="Proxies-Where'stheJavasourcefortheproxies?"></a>
+#  Where's the Java source for the proxies?
+
+The short answer is we do not generate java code containing any ejb logic
+at all as other platforms like WebSphere and WebLogic do.  We use dynamic
+proxy generation via java.lang.reflect.Proxy.
+
+Most of the commercial platforms predate dynamic proxy generation and not
+only statically generate java files which are then compiled and included in
+the app but decided as long as they were generating java files that they
+would jam-pack them with as many optimizations as they could.  The result
+was that significant portions of your application data such as transaction
+attributes and database queries were stuck in generated vendor code.  We
+don't have any equivalent to that.
+
+Dynamic proxies such as java.lang.reflect.Proxy or cglib byte code in
+memory, not java source, which is immediately turned into a class
+definition and used.  The basic paradigm is that you give the library the
+interfaces you want implemented and some sort of Handler object.  The
+library will give you back a proxy instance that does nothing more than
+call your handler every time a method is called.  Now it's possible with
+some trickery to pull the byte code for any java.lang.Class instance out of
+the classloader and then use some sort of java decompiler library to turn
+that into some sort of java source file, however there's no real motivation
+to do so as the VM generated proxies are quite dumb and the code that does
+all the work is not generated and available for download or svn checkout.
+
+If you are coming from a commercial vendor and simply looking for a good
+place to begin your debugging, look for implementations
+java.lang.reflect.InvocationHandler and slap a breakpoint in the "invoke"
+method and you'll be all set.
+
+


[08/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/testing-transactions-bmt.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/testing-transactions-bmt.adoc b/src/main/jbake/content/examples/testing-transactions-bmt.adoc
deleted file mode 100755
index 010f218..0000000
--- a/src/main/jbake/content/examples/testing-transactions-bmt.adoc
+++ /dev/null
@@ -1,280 +0,0 @@
-= Testing Transactions BMT
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example testing-transactions-bmt can be browsed at https://github.com/apache/tomee/tree/master/examples/testing-transactions-bmt
-
-
-Shows how to begin, commit and rollback transactions using a UserTransaction via a Stateful Bean.
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-
-@Entity
-public class Movie {
-
-    @Id
-    @GeneratedValue
-    private Long id;
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public Movie() {
-
-    }
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-}
-----
-
-
-==  Movies
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.annotation.Resource;
-import javax.ejb.Stateful;
-import javax.ejb.TransactionManagement;
-import javax.ejb.TransactionManagementType;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import javax.transaction.UserTransaction;
-
-@Stateful(name = "Movies")
-@TransactionManagement(TransactionManagementType.BEAN)
-public class Movies {
-
-    @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.TRANSACTION)
-    private EntityManager entityManager;
-
-    @Resource
-    private UserTransaction userTransaction;
-
-    public void addMovie(Movie movie) throws Exception {
-        try {
-            userTransaction.begin();
-            entityManager.persist(movie);
-
-            //For some dummy reason, this db can have only 5 titles. :O)
-            if (countMovies() > 5) {
-                userTransaction.rollback();
-            } else {
-                userTransaction.commit();
-            }
-
-
-        } catch (Exception e) {
-            e.printStackTrace();
-            userTransaction.rollback();
-        }
-    }
-
-    public Long countMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT COUNT(m) FROM Movie m");
-        return Long.class.cast(query.getSingleResult());
-    }
-}
-----
-
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
-  <persistence-unit name="movie-unit">
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <class>org.superbiz.injection.tx.Movie</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  MoviesTest
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import javax.ejb.EJB;
-import javax.ejb.embeddable.EJBContainer;
-import java.util.Properties;
-
-public class MoviesTest {
-
-    @EJB
-    private Movies movies;
-
-    @Test
-    public void testMe() throws Exception {
-        final Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
-
-        movies.addMovie(new Movie("Asif Kapadia", "Senna", 2010));
-        movies.addMovie(new Movie("José Padilha", "Tropa de Elite", 2007));
-        movies.addMovie(new Movie("Andy Wachowski/Lana Wachowski", "The Matrix", 1999));
-        movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-        movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-        movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-        Assert.assertEquals(5L, movies.countMovies().longValue());
-    }
-
-}
-----
-
-
-
-=  Running
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.tx.MoviesTest
-INFO - ********************************************************************************
-INFO - OpenEJB http://tomee.apache.org/
-INFO - Startup: Sat Jul 21 16:39:28 EDT 2012
-INFO - Copyright 1999-2012 (C) Apache OpenEJB Project, All Rights Reserved.
-INFO - Version: 4.1.0
-INFO - Build date: 20120721
-INFO - Build time: 12:06
-INFO - ********************************************************************************
-INFO - openejb.home = /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-transactions-bmt
-INFO - openejb.base = /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-transactions-bmt
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@3f3f210f
-INFO - Succeeded in installing singleton service
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Creating Resource(id=movieDatabase)
-INFO - Beginning load: /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-transactions-bmt/target/classes
-INFO - Configuring enterprise application: /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-transactions-bmt
-WARNING - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Auto-deploying ejb Movies: EjbDeployment(deployment-id=Movies)
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Creating Container(id=Default Stateful Container)
-INFO - Using directory /tmp for stateful session passivation
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.tx.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory /tmp for stateful session passivation
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Creating Resource(id=movieDatabaseNonJta)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/home/boto/dev/ws/openejb_trunk/openejb/examples/testing-transactions-bmt" loaded.
-INFO - Assembling app: /home/boto/dev/ws/openejb_trunk/openejb/examples/testing-transactions-bmt
-SEVERE - JAVA AGENT NOT INSTALLED. The JPA Persistence Provider requested installation of a ClassFileTransformer which requires a JavaAgent.  See http://tomee.apache.org/3.0/javaagent.html
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 399ms
-INFO - Jndi(name="java:global/testing-transactions-bmt/Movies!org.superbiz.injection.tx.Movies")
-INFO - Jndi(name="java:global/testing-transactions-bmt/Movies")
-INFO - Existing thread singleton service in SystemInstance() org.apache.openejb.cdi.ThreadSingletonServiceImpl@3f3f210f
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 157 ms.
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Deployed Application(path=/home/boto/dev/ws/openejb_trunk/openejb/examples/testing-transactions-bmt)
-INFO - Started user transaction org.apache.geronimo.transaction.manager.TransactionImpl@709a1411
-21-Jul-2012 4:39:32 PM null openjpa.Runtime
-INFO: Starting OpenJPA 2.2.0
-21-Jul-2012 4:39:32 PM null openjpa.jdbc.JDBC
-INFO: Using dictionary class "org.apache.openjpa.jdbc.sql.HSQLDictionary" (HSQL Database Engine 2.2.8 ,HSQL Database Engine Driver 2.2.8).
-21-Jul-2012 4:39:33 PM null openjpa.Enhance
-INFO: Creating subclass and redefining methods for "[class org.superbiz.injection.tx.Movie]". This means that your application will be less efficient than it would if you ran the OpenJPA enhancer.
-INFO - Committing user transaction org.apache.geronimo.transaction.manager.TransactionImpl@709a1411
-INFO - Started user transaction org.apache.geronimo.transaction.manager.TransactionImpl@2bb64b70
-INFO - Committing user transaction org.apache.geronimo.transaction.manager.TransactionImpl@2bb64b70
-INFO - Started user transaction org.apache.geronimo.transaction.manager.TransactionImpl@627b5c
-INFO - Committing user transaction org.apache.geronimo.transaction.manager.TransactionImpl@627b5c
-INFO - Started user transaction org.apache.geronimo.transaction.manager.TransactionImpl@2f031310
-INFO - Committing user transaction org.apache.geronimo.transaction.manager.TransactionImpl@2f031310
-INFO - Started user transaction org.apache.geronimo.transaction.manager.TransactionImpl@4df2a9da
-INFO - Committing user transaction org.apache.geronimo.transaction.manager.TransactionImpl@4df2a9da
-INFO - Started user transaction org.apache.geronimo.transaction.manager.TransactionImpl@3fa9b4a4
-INFO - Rolling back user transaction org.apache.geronimo.transaction.manager.TransactionImpl@3fa9b4a4
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.471 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/testing-transactions.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/testing-transactions.adoc b/src/main/jbake/content/examples/testing-transactions.adoc
deleted file mode 100755
index a32ce8f..0000000
--- a/src/main/jbake/content/examples/testing-transactions.adoc
+++ /dev/null
@@ -1,279 +0,0 @@
-= Testing Transactions
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example testing-transactions can be browsed at https://github.com/apache/tomee/tree/master/examples/testing-transactions
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.persistence.Entity;
-
-@Entity
-public class Movie {
-
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-}
-----
-
-
-==  Movies
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.ejb.Stateful;
-import javax.ejb.TransactionAttribute;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-import static javax.ejb.TransactionAttributeType.MANDATORY;
-
-//START SNIPPET: code
-@Stateful(name = "Movies")
-@TransactionAttribute(MANDATORY)
-public class Movies {
-
-    @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.TRANSACTION)
-    private EntityManager entityManager;
-
-    public void addMovie(Movie movie) throws Exception {
-        entityManager.persist(movie);
-    }
-
-    public void deleteMovie(Movie movie) throws Exception {
-        entityManager.remove(movie);
-    }
-
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
-  <persistence-unit name="movie-unit">
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <class>org.superbiz.injection.tx.Movie</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  MoviesTest
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import junit.framework.TestCase;
-
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.embeddable.EJBContainer;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.Callable;
-
-import static javax.ejb.TransactionAttributeType.REQUIRES_NEW;
-
-/**
- * See the transaction-rollback example as it does the same thing
- * via UserTransaction and shows more techniques for rollback 
- */
-//START SNIPPET: code
-public class MoviesTest extends TestCase {
-
-    @EJB
-    private Movies movies;
-
-    @EJB
-    private Caller transactionalCaller;
-
-    protected void setUp() throws Exception {
-        final Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
-    }
-
-    private void doWork() throws Exception {
-
-        movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-        movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-        movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 3, list.size());
-
-        for (Movie movie : list) {
-            movies.deleteMovie(movie);
-        }
-
-        assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-    }
-
-    public void testWithTransaction() throws Exception {
-        transactionalCaller.call(new Callable() {
-            public Object call() throws Exception {
-                doWork();
-                return null;
-            }
-        });
-    }
-
-    public void testWithoutTransaction() throws Exception {
-        try {
-            doWork();
-            fail("The Movies bean should be using TransactionAttributeType.MANDATORY");
-        } catch (javax.ejb.EJBTransactionRequiredException e) {
-            // good, our Movies bean is using TransactionAttributeType.MANDATORY as we want
-        }
-    }
-
-
-    public static interface Caller {
-        public <V> V call(Callable<V> callable) throws Exception;
-    }
-
-    /**
-     * This little bit of magic allows our test code to execute in
-     * the scope of a container controlled transaction.
-     */
-    @Stateless
-    @TransactionAttribute(REQUIRES_NEW)
-    public static class TransactionBean implements Caller {
-
-        public <V> V call(Callable<V> callable) throws Exception {
-            return callable.call();
-        }
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.tx.MoviesTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/testing-transactions
-INFO - openejb.base = /Users/dblevins/examples/testing-transactions
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/testing-transactions/target/classes
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/testing-transactions/target/test-classes
-INFO - Beginning load: /Users/dblevins/examples/testing-transactions/target/classes
-INFO - Beginning load: /Users/dblevins/examples/testing-transactions/target/test-classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/testing-transactions
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean TransactionBean: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.tx.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/testing-transactions" loaded.
-INFO - Assembling app: /Users/dblevins/examples/testing-transactions
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 406ms
-INFO - Jndi(name="java:global/testing-transactions/Movies!org.superbiz.injection.tx.Movies")
-INFO - Jndi(name="java:global/testing-transactions/Movies")
-INFO - Jndi(name="java:global/testing-transactions/TransactionBean!org.superbiz.injection.tx.MoviesTest$Caller")
-INFO - Jndi(name="java:global/testing-transactions/TransactionBean")
-INFO - Jndi(name="java:global/EjbModule2036741132/org.superbiz.injection.tx.MoviesTest!org.superbiz.injection.tx.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule2036741132/org.superbiz.injection.tx.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=TransactionBean, ejb-name=TransactionBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.tx.MoviesTest, ejb-name=org.superbiz.injection.tx.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=TransactionBean, ejb-name=TransactionBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.tx.MoviesTest, ejb-name=org.superbiz.injection.tx.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/testing-transactions)
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.403 sec
-
-Results :
-
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/tomee-jersey-eclipselink.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/tomee-jersey-eclipselink.adoc b/src/main/jbake/content/examples/tomee-jersey-eclipselink.adoc
deleted file mode 100755
index adb73b0..0000000
--- a/src/main/jbake/content/examples/tomee-jersey-eclipselink.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= tomee-jersey-eclipselink
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example tomee-jersey-eclipselink can be browsed at https://github.com/apache/tomee/tree/master/examples/tomee-jersey-eclipselink
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/transaction-rollback.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/transaction-rollback.adoc b/src/main/jbake/content/examples/transaction-rollback.adoc
deleted file mode 100755
index 6b8088d..0000000
--- a/src/main/jbake/content/examples/transaction-rollback.adoc
+++ /dev/null
@@ -1,584 +0,0 @@
-= Transaction Rollback
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example transaction-rollback can be browsed at https://github.com/apache/tomee/tree/master/examples/transaction-rollback
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  CustomRuntimeException
-
-
-[source,java]
-----
-package org.superbiz.txrollback;
-
-import javax.ejb.ApplicationException;
-
-@ApplicationException
-public class CustomRuntimeException extends RuntimeException {
-
-    public CustomRuntimeException() {
-    }
-
-    public CustomRuntimeException(String s) {
-        super(s);
-    }
-
-    public CustomRuntimeException(String s, Throwable throwable) {
-        super(s, throwable);
-    }
-
-    public CustomRuntimeException(Throwable throwable) {
-        super(throwable);
-    }
-}
-----
-
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.txrollback;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-
-@Entity(name = "Movie")
-public class Movie {
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.AUTO)
-    private long id;
-
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-}
-----
-
-
-==  Movies
-
-
-[source,java]
-----
-package org.superbiz.txrollback;
-
-import javax.annotation.Resource;
-import javax.ejb.SessionContext;
-import javax.ejb.Stateless;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-//START SNIPPET: code
-@Stateless
-public class Movies {
-
-    @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.TRANSACTION)
-    private EntityManager entityManager;
-
-    @Resource
-    private SessionContext sessionContext;
-
-    public void addMovie(Movie movie) throws Exception {
-        entityManager.persist(movie);
-    }
-
-    public void deleteMovie(Movie movie) throws Exception {
-        entityManager.remove(movie);
-    }
-
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-
-    public void callSetRollbackOnly() {
-        sessionContext.setRollbackOnly();
-    }
-
-    public void throwUncheckedException() {
-        throw new RuntimeException("Throwing unchecked exceptions will rollback a transaction");
-    }
-
-    public void throwApplicationException() {
-        throw new CustomRuntimeException("This is marked @ApplicationException, so no TX rollback");
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
-  <persistence-unit name="movie-unit">
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <class>org.superbiz.testinjection.MoviesTest.Movie</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  MoviesTest
-
-
-[source,java]
-----
-package org.superbiz.txrollback;
-
-import junit.framework.TestCase;
-
-import javax.annotation.Resource;
-import javax.ejb.EJB;
-import javax.ejb.embeddable.EJBContainer;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.transaction.RollbackException;
-import javax.transaction.UserTransaction;
-import java.util.List;
-import java.util.Properties;
-
-//START SNIPPET: code
-public class MoviesTest extends TestCase {
-
-    @EJB
-    private Movies movies;
-
-    @Resource
-    private UserTransaction userTransaction;
-
-    @PersistenceContext
-    private EntityManager entityManager;
-
-    private EJBContainer ejbContainer;
-
-    public void setUp() throws Exception {
-        Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb" + System.currentTimeMillis());
-
-        ejbContainer = EJBContainer.createEJBContainer(p);
-        ejbContainer.getContext().bind("inject", this);
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        ejbContainer.close();
-    }
-
-    /**
-     * Standard successful transaction scenario.  The data created inside
-     * the transaction is visible after the transaction completes.
-     * <p/>
-     * Note that UserTransaction is only usable by Bean-Managed Transaction
-     * beans, which can be specified with @TransactionManagement(BEAN)
-     */
-    public void testCommit() throws Exception {
-
-        userTransaction.begin();
-
-        try {
-            entityManager.persist(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            entityManager.persist(new Movie("Joel Coen", "Fargo", 1996));
-            entityManager.persist(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-            List<Movie> list = movies.getMovies();
-            assertEquals("List.size()", 3, list.size());
-        } finally {
-            userTransaction.commit();
-        }
-
-        // Transaction was committed
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 3, list.size());
-    }
-
-    /**
-     * Standard transaction rollback scenario.  The data created inside
-     * the transaction is not visible after the transaction completes.
-     */
-    public void testUserTransactionRollback() throws Exception {
-
-        userTransaction.begin();
-
-        try {
-            entityManager.persist(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            entityManager.persist(new Movie("Joel Coen", "Fargo", 1996));
-            entityManager.persist(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-            List<Movie> list = movies.getMovies();
-            assertEquals("List.size()", 3, list.size());
-        } finally {
-            userTransaction.rollback();
-        }
-
-        // Transaction was rolled back
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 0, list.size());
-    }
-
-    /**
-     * Transaction is marked for rollback inside the bean via
-     * calling the javax.ejb.SessionContext.setRollbackOnly() method
-     * <p/>
-     * This is the cleanest way to make a transaction rollback.
-     */
-    public void testMarkedRollback() throws Exception {
-
-        userTransaction.begin();
-
-        try {
-            entityManager.persist(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            entityManager.persist(new Movie("Joel Coen", "Fargo", 1996));
-            entityManager.persist(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-            List<Movie> list = movies.getMovies();
-            assertEquals("List.size()", 3, list.size());
-
-            movies.callSetRollbackOnly();
-        } finally {
-            try {
-                userTransaction.commit();
-                fail("A RollbackException should have been thrown");
-            } catch (RollbackException e) {
-                // Pass
-            }
-        }
-
-        // Transaction was rolled back
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 0, list.size());
-    }
-
-    /**
-     * Throwing an unchecked exception from a bean will cause
-     * the container to call setRollbackOnly() and discard the
-     * bean instance from further use without calling any @PreDestroy
-     * methods on the bean instance.
-     */
-    public void testExceptionBasedRollback() throws Exception {
-
-        userTransaction.begin();
-
-        try {
-            entityManager.persist(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            entityManager.persist(new Movie("Joel Coen", "Fargo", 1996));
-            entityManager.persist(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-            List<Movie> list = movies.getMovies();
-            assertEquals("List.size()", 3, list.size());
-
-            try {
-                movies.throwUncheckedException();
-            } catch (RuntimeException e) {
-                // Good, this will cause the tx to rollback
-            }
-        } finally {
-            try {
-                userTransaction.commit();
-                fail("A RollbackException should have been thrown");
-            } catch (RollbackException e) {
-                // Pass
-            }
-        }
-
-        // Transaction was rolled back
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 0, list.size());
-    }
-
-    /**
-     * It is still possible to throw unchecked (runtime) exceptions
-     * without dooming the transaction by marking the exception
-     * with the @ApplicationException annotation or in the ejb-jar.xml
-     * deployment descriptor via the <application-exception> tag
-     */
-    public void testCommit2() throws Exception {
-
-        userTransaction.begin();
-
-        try {
-            entityManager.persist(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            entityManager.persist(new Movie("Joel Coen", "Fargo", 1996));
-            entityManager.persist(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-            List<Movie> list = movies.getMovies();
-            assertEquals("List.size()", 3, list.size());
-
-            try {
-                movies.throwApplicationException();
-            } catch (RuntimeException e) {
-                // This will *not* cause the tx to rollback
-                // because it is marked as an @ApplicationException
-            }
-        } finally {
-            userTransaction.commit();
-        }
-
-        // Transaction was committed
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 3, list.size());
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.txrollback.MoviesTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/transaction-rollback
-INFO - openejb.base = /Users/dblevins/examples/transaction-rollback
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/transaction-rollback/target/classes
-INFO - Beginning load: /Users/dblevins/examples/transaction-rollback/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/transaction-rollback
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.txrollback.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/transaction-rollback" loaded.
-INFO - Assembling app: /Users/dblevins/examples/transaction-rollback
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 412ms
-INFO - Jndi(name="java:global/transaction-rollback/Movies!org.superbiz.txrollback.Movies")
-INFO - Jndi(name="java:global/transaction-rollback/Movies")
-INFO - Jndi(name="java:global/EjbModule1718375554/org.superbiz.txrollback.MoviesTest!org.superbiz.txrollback.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule1718375554/org.superbiz.txrollback.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.txrollback.MoviesTest, ejb-name=org.superbiz.txrollback.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.txrollback.MoviesTest, ejb-name=org.superbiz.txrollback.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/transaction-rollback)
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-INFO - Undeploying app: /Users/dblevins/examples/transaction-rollback
-INFO - Closing DataSource: movieDatabase
-INFO - Closing DataSource: movieDatabaseNonJta
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/transaction-rollback
-INFO - openejb.base = /Users/dblevins/examples/transaction-rollback
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/transaction-rollback/target/classes
-INFO - Beginning load: /Users/dblevins/examples/transaction-rollback/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/transaction-rollback
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.txrollback.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/transaction-rollback" loaded.
-INFO - Assembling app: /Users/dblevins/examples/transaction-rollback
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 5ms
-INFO - Jndi(name="java:global/transaction-rollback/Movies!org.superbiz.txrollback.Movies")
-INFO - Jndi(name="java:global/transaction-rollback/Movies")
-INFO - Jndi(name="java:global/EjbModule935567559/org.superbiz.txrollback.MoviesTest!org.superbiz.txrollback.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule935567559/org.superbiz.txrollback.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.txrollback.MoviesTest, ejb-name=org.superbiz.txrollback.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.txrollback.MoviesTest, ejb-name=org.superbiz.txrollback.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/transaction-rollback)
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-INFO - Undeploying app: /Users/dblevins/examples/transaction-rollback
-INFO - Closing DataSource: movieDatabase
-INFO - Closing DataSource: movieDatabaseNonJta
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/transaction-rollback
-INFO - openejb.base = /Users/dblevins/examples/transaction-rollback
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/transaction-rollback/target/classes
-INFO - Beginning load: /Users/dblevins/examples/transaction-rollback/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/transaction-rollback
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.txrollback.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/transaction-rollback" loaded.
-INFO - Assembling app: /Users/dblevins/examples/transaction-rollback
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 5ms
-INFO - Jndi(name="java:global/transaction-rollback/Movies!org.superbiz.txrollback.Movies")
-INFO - Jndi(name="java:global/transaction-rollback/Movies")
-INFO - Jndi(name="java:global/EjbModule1961109485/org.superbiz.txrollback.MoviesTest!org.superbiz.txrollback.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule1961109485/org.superbiz.txrollback.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.txrollback.MoviesTest, ejb-name=org.superbiz.txrollback.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.txrollback.MoviesTest, ejb-name=org.superbiz.txrollback.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/transaction-rollback)
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-INFO - Undeploying app: /Users/dblevins/examples/transaction-rollback
-INFO - Closing DataSource: movieDatabase
-INFO - Closing DataSource: movieDatabaseNonJta
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/transaction-rollback
-INFO - openejb.base = /Users/dblevins/examples/transaction-rollback
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/transaction-rollback/target/classes
-INFO - Beginning load: /Users/dblevins/examples/transaction-rollback/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/transaction-rollback
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.txrollback.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/transaction-rollback" loaded.
-INFO - Assembling app: /Users/dblevins/examples/transaction-rollback
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 5ms
-INFO - Jndi(name="java:global/transaction-rollback/Movies!org.superbiz.txrollback.Movies")
-INFO - Jndi(name="java:global/transaction-rollback/Movies")
-INFO - Jndi(name="java:global/EjbModule419651577/org.superbiz.txrollback.MoviesTest!org.superbiz.txrollback.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule419651577/org.superbiz.txrollback.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.txrollback.MoviesTest, ejb-name=org.superbiz.txrollback.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.txrollback.MoviesTest, ejb-name=org.superbiz.txrollback.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/transaction-rollback)
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-INFO - Undeploying app: /Users/dblevins/examples/transaction-rollback
-INFO - Closing DataSource: movieDatabase
-INFO - Closing DataSource: movieDatabaseNonJta
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/transaction-rollback
-INFO - openejb.base = /Users/dblevins/examples/transaction-rollback
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/transaction-rollback/target/classes
-INFO - Beginning load: /Users/dblevins/examples/transaction-rollback/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/transaction-rollback
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.txrollback.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/transaction-rollback" loaded.
-INFO - Assembling app: /Users/dblevins/examples/transaction-rollback
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 4ms
-INFO - Jndi(name="java:global/transaction-rollback/Movies!org.superbiz.txrollback.Movies")
-INFO - Jndi(name="java:global/transaction-rollback/Movies")
-INFO - Jndi(name="java:global/EjbModule15169271/org.superbiz.txrollback.MoviesTest!org.superbiz.txrollback.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule15169271/org.superbiz.txrollback.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.txrollback.MoviesTest, ejb-name=org.superbiz.txrollback.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.txrollback.MoviesTest, ejb-name=org.superbiz.txrollback.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/transaction-rollback)
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-WARN - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@39172e08; ignoring.
-INFO - Undeploying app: /Users/dblevins/examples/transaction-rollback
-INFO - Closing DataSource: movieDatabase
-INFO - Closing DataSource: movieDatabaseNonJta
-Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.586 sec
-
-Results :
-
-Tests run: 5, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/troubleshooting.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/troubleshooting.adoc b/src/main/jbake/content/examples/troubleshooting.adoc
deleted file mode 100755
index 681f79f..0000000
--- a/src/main/jbake/content/examples/troubleshooting.adoc
+++ /dev/null
@@ -1,480 +0,0 @@
-= Troubleshooting
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example troubleshooting can be browsed at https://github.com/apache/tomee/tree/master/examples/troubleshooting
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.troubleshooting;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-
-@Entity(name = "Movie")
-public class Movie {
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.AUTO)
-    private long id;
-
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-}
-----
-
-
-==  Movies
-
-
-[source,java]
-----
-package org.superbiz.troubleshooting;
-
-import javax.ejb.Stateless;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-//START SNIPPET: code
-@Stateless
-public class Movies {
-
-    @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.TRANSACTION)
-    private EntityManager entityManager;
-
-    public void addMovie(Movie movie) throws Exception {
-        entityManager.persist(movie);
-    }
-
-    public void deleteMovie(Movie movie) throws Exception {
-        entityManager.remove(movie);
-    }
-
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
-  <persistence-unit name="movie-unit">
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <class>org.superbiz.testinjection.MoviesTest.Movie</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  MoviesTest
-
-
-[source,java]
-----
-package org.superbiz.troubleshooting;
-
-import junit.framework.TestCase;
-
-import javax.annotation.Resource;
-import javax.ejb.EJB;
-import javax.ejb.embeddable.EJBContainer;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.transaction.UserTransaction;
-import java.util.List;
-import java.util.Properties;
-
-//START SNIPPET: code
-public class MoviesTest extends TestCase {
-
-    @EJB
-    private Movies movies;
-
-    @Resource
-    private UserTransaction userTransaction;
-
-    @PersistenceContext
-    private EntityManager entityManager;
-
-    public void setUp() throws Exception {
-        Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-
-        // These two debug levels will get you the basic log information
-        // on the deployment of applications. Good first step in troubleshooting.
-        p.put("log4j.category.OpenEJB.startup", "debug");
-        p.put("log4j.category.OpenEJB.startup.config", "debug");
-
-        // This log category is a good way to see what "openejb.foo" options
-        // and flags are available and what their default values are
-        p.put("log4j.category.OpenEJB.options", "debug");
-
-        // This will output the full configuration of all containers
-        // resources and other openejb.xml configurable items.  A good
-        // way to see what the final configuration looks like after all
-        // overriding has been applied.
-        p.put("log4j.category.OpenEJB.startup.service", "debug");
-
-        // Will output a generated ejb-jar.xml file that represents
-        // 100% of the annotations used in the code.  This is a great
-        // way to figure out how to do something in xml for overriding
-        // or just to "see" all your application meta-data in one place.
-        // Look for log lines like this "Dumping Generated ejb-jar.xml to"
-        p.put("openejb.descriptors.output", "true");
-
-        // Setting the validation output level to verbose results in
-        // validation messages that attempt to provide explanations
-        // and information on what steps can be taken to remedy failures.
-        // A great tool for those learning EJB.
-        p.put("openejb.validation.output.level", "verbose");
-
-        EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
-    }
-
-    public void test() throws Exception {
-
-        userTransaction.begin();
-
-        try {
-            entityManager.persist(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-            entityManager.persist(new Movie("Joel Coen", "Fargo", 1996));
-            entityManager.persist(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-            List<Movie> list = movies.getMovies();
-            assertEquals("List.size()", 3, list.size());
-        } finally {
-            userTransaction.commit();
-        }
-
-        // Transaction was committed
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 3, list.size());
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.troubleshooting.MoviesTest
-2011-10-29 11:50:19,482 - DEBUG - Using default 'openejb.nobanner=true'
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-2011-10-29 11:50:19,482 - INFO  - openejb.home = /Users/dblevins/examples/troubleshooting
-2011-10-29 11:50:19,482 - INFO  - openejb.base = /Users/dblevins/examples/troubleshooting
-2011-10-29 11:50:19,483 - DEBUG - Using default 'openejb.assembler=org.apache.openejb.assembler.classic.Assembler'
-2011-10-29 11:50:19,483 - DEBUG - Instantiating assembler class org.apache.openejb.assembler.classic.Assembler
-2011-10-29 11:50:19,517 - DEBUG - Using default 'openejb.jndiname.failoncollision=true'
-2011-10-29 11:50:19,517 - INFO  - Using 'javax.ejb.embeddable.EJBContainer=true'
-2011-10-29 11:50:19,520 - DEBUG - Using default 'openejb.configurator=org.apache.openejb.config.ConfigurationFactory'
-2011-10-29 11:50:19,588 - DEBUG - Using default 'openejb.validation.skip=false'
-2011-10-29 11:50:19,589 - DEBUG - Using default 'openejb.deploymentId.format={ejbName}'
-2011-10-29 11:50:19,589 - DEBUG - Using default 'openejb.debuggable-vm-hackery=false'
-2011-10-29 11:50:19,589 - DEBUG - Using default 'openejb.webservices.enabled=true'
-2011-10-29 11:50:19,594 - DEBUG - Using default 'openejb.vendor.config=ALL'  Possible values are: geronimo, glassfish, jboss, weblogic or NONE or ALL
-2011-10-29 11:50:19,612 - DEBUG - Using default 'openejb.provider.default=org.apache.openejb.embedded'
-2011-10-29 11:50:19,658 - INFO  - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-2011-10-29 11:50:19,662 - INFO  - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-2011-10-29 11:50:19,665 - INFO  - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-2011-10-29 11:50:19,665 - DEBUG - Override [JdbcDriver=org.hsqldb.jdbcDriver]
-2011-10-29 11:50:19,666 - DEBUG - Using default 'openejb.deployments.classpath=false'
-2011-10-29 11:50:19,666 - INFO  - Creating TransactionManager(id=Default Transaction Manager)
-2011-10-29 11:50:19,676 - DEBUG - defaultTransactionTimeoutSeconds=600
-2011-10-29 11:50:19,676 - DEBUG - TxRecovery=false
-2011-10-29 11:50:19,676 - DEBUG - bufferSizeKb=32
-2011-10-29 11:50:19,676 - DEBUG - checksumEnabled=true
-2011-10-29 11:50:19,676 - DEBUG - adler32Checksum=true
-2011-10-29 11:50:19,676 - DEBUG - flushSleepTimeMilliseconds=50
-2011-10-29 11:50:19,676 - DEBUG - logFileDir=txlog
-2011-10-29 11:50:19,676 - DEBUG - logFileExt=log
-2011-10-29 11:50:19,676 - DEBUG - logFileName=howl
-2011-10-29 11:50:19,676 - DEBUG - maxBlocksPerFile=-1
-2011-10-29 11:50:19,677 - DEBUG - maxBuffers=0
-2011-10-29 11:50:19,677 - DEBUG - maxLogFiles=2
-2011-10-29 11:50:19,677 - DEBUG - minBuffers=4
-2011-10-29 11:50:19,677 - DEBUG - threadsWaitingForceThreshold=-1
-2011-10-29 11:50:19,724 - DEBUG - createService.success
-2011-10-29 11:50:19,724 - INFO  - Creating SecurityService(id=Default Security Service)
-2011-10-29 11:50:19,724 - DEBUG - DefaultUser=guest
-2011-10-29 11:50:19,750 - DEBUG - createService.success
-2011-10-29 11:50:19,750 - INFO  - Creating Resource(id=movieDatabase)
-2011-10-29 11:50:19,750 - DEBUG - Definition=
-2011-10-29 11:50:19,750 - DEBUG - JtaManaged=true
-2011-10-29 11:50:19,750 - DEBUG - JdbcDriver=org.hsqldb.jdbcDriver
-2011-10-29 11:50:19,750 - DEBUG - JdbcUrl=jdbc:hsqldb:mem:hsqldb
-2011-10-29 11:50:19,750 - DEBUG - UserName=sa
-2011-10-29 11:50:19,750 - DEBUG - Password=
-2011-10-29 11:50:19,750 - DEBUG - PasswordCipher=PlainText
-2011-10-29 11:50:19,750 - DEBUG - ConnectionProperties=
-2011-10-29 11:50:19,750 - DEBUG - DefaultAutoCommit=true
-2011-10-29 11:50:19,750 - DEBUG - InitialSize=0
-2011-10-29 11:50:19,750 - DEBUG - MaxActive=20
-2011-10-29 11:50:19,750 - DEBUG - MaxIdle=20
-2011-10-29 11:50:19,751 - DEBUG - MinIdle=0
-2011-10-29 11:50:19,751 - DEBUG - MaxWait=-1
-2011-10-29 11:50:19,751 - DEBUG - TestOnBorrow=true
-2011-10-29 11:50:19,751 - DEBUG - TestOnReturn=false
-2011-10-29 11:50:19,751 - DEBUG - TestWhileIdle=false
-2011-10-29 11:50:19,751 - DEBUG - TimeBetweenEvictionRunsMillis=-1
-2011-10-29 11:50:19,751 - DEBUG - NumTestsPerEvictionRun=3
-2011-10-29 11:50:19,751 - DEBUG - MinEvictableIdleTimeMillis=1800000
-2011-10-29 11:50:19,751 - DEBUG - PoolPreparedStatements=false
-2011-10-29 11:50:19,751 - DEBUG - MaxOpenPreparedStatements=0
-2011-10-29 11:50:19,751 - DEBUG - AccessToUnderlyingConnectionAllowed=false
-2011-10-29 11:50:19,781 - DEBUG - createService.success
-2011-10-29 11:50:19,783 - DEBUG - Containers        : 0
-2011-10-29 11:50:19,785 - DEBUG - Deployments       : 0
-2011-10-29 11:50:19,785 - DEBUG - SecurityService   : org.apache.openejb.core.security.SecurityServiceImpl
-2011-10-29 11:50:19,786 - DEBUG - TransactionManager: org.apache.geronimo.transaction.manager.GeronimoTransactionManager
-2011-10-29 11:50:19,786 - DEBUG - OpenEJB Container System ready.
-2011-10-29 11:50:19,786 - DEBUG - Using default 'openejb.validation.skip=false'
-2011-10-29 11:50:19,786 - DEBUG - Using default 'openejb.deploymentId.format={ejbName}'
-2011-10-29 11:50:19,786 - DEBUG - Using default 'openejb.debuggable-vm-hackery=false'
-2011-10-29 11:50:19,786 - DEBUG - Using default 'openejb.webservices.enabled=true'
-2011-10-29 11:50:19,786 - DEBUG - Using default 'openejb.vendor.config=ALL'  Possible values are: geronimo, glassfish, jboss, weblogic or NONE or ALL
-2011-10-29 11:50:19,789 - DEBUG - Using default 'openejb.deployments.classpath.include=.*'
-2011-10-29 11:50:19,789 - DEBUG - Using default 'openejb.deployments.classpath.exclude='
-2011-10-29 11:50:19,789 - DEBUG - Using default 'openejb.deployments.classpath.require.descriptor=client'  Possible values are: ejb, client or NONE or ALL
-2011-10-29 11:50:19,789 - DEBUG - Using default 'openejb.deployments.classpath.filter.descriptors=false'
-2011-10-29 11:50:19,789 - DEBUG - Using default 'openejb.deployments.classpath.filter.systemapps=true'
-2011-10-29 11:50:19,828 - DEBUG - Inspecting classpath for applications: 5 urls.
-2011-10-29 11:50:19,846 - INFO  - Found EjbModule in classpath: /Users/dblevins/examples/troubleshooting/target/classes
-2011-10-29 11:50:20,011 - DEBUG - URLs after filtering: 55
-2011-10-29 11:50:20,011 - DEBUG - Annotations path: file:/Users/dblevins/examples/troubleshooting/target/classes/
-2011-10-29 11:50:20,011 - DEBUG - Annotations path: jar:file:/Users/dblevins/.m2/repository/org/apache/maven/surefire/surefire-api/2.7.2/surefire-api-2.7.2.jar!/
-2011-10-29 11:50:20,011 - DEBUG - Annotations path: jar:file:/Users/dblevins/.m2/repository/org/apache/openejb/mbean-annotation-api/4.0.0-beta-1/mbean-annotation-api-4.0.0-beta-1.jar!/
-2011-10-29 11:50:20,011 - DEBUG - Annotations path: jar:file:/Users/dblevins/.m2/repository/org/apache/maven/surefire/surefire-booter/2.7.2/surefire-booter-2.7.2.jar!/
-2011-10-29 11:50:20,011 - DEBUG - Annotations path: file:/Users/dblevins/examples/troubleshooting/target/test-classes/
-2011-10-29 11:50:20,011 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.1.1/geronimo-jms_1.1_spec-1.1.1.jar!/
-2011-10-29 11:50:20,011 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/bval/bval-core/0.3-incubating/bval-core-0.3-incubating.jar!/
-2011-10-29 11:50:20,011 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-management_1.1_spec/1.0.1/geronimo-j2ee-management_1.1_spec-1.0.1.jar!/
-2011-10-29 11:50:20,011 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/activemq/activemq-core/5.4.2/activemq-core-5.4.2.jar!/
-2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/xbean/xbean-bundleutils/3.8/xbean-bundleutils-3.8.jar!/
-2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/junit/junit/4.8.1/junit-4.8.1.jar!/
-2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/net/sf/scannotation/scannotation/1.0.2/scannotation-1.0.2.jar!/
-2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openejb/javaee-api/6.0-2/javaee-api-6.0-2.jar!/
-2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-beanutils/commons-beanutils-core/1.8.3/commons-beanutils-core-1.8.3.jar!/
-2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar!/
-2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openwebbeans/openwebbeans-web/1.1.1/openwebbeans-web-1.1.1.jar!/
-2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/wsdl4j/wsdl4j/1.6.2/wsdl4j-1.6.2.jar!/
-2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/logkit/logkit/1.0.1/logkit-1.0.1.jar!/
-2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/com/ibm/icu/icu4j/4.0.1/icu4j-4.0.1.jar!/
-2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/xbean/xbean-asm-shaded/3.8/xbean-asm-shaded-3.8.jar!/
-2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openwebbeans/openwebbeans-ee-common/1.1.1/openwebbeans-ee-common-1.1.1.jar!/
-2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-pool/commons-pool/1.5.6/commons-pool-1.5.6.jar!/
-2011-10-29 11:50:20,012 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar!/
-2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-logging/commons-logging-api/1.1/commons-logging-api-1.1.jar!/
-2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openwebbeans/openwebbeans-impl/1.1.1/openwebbeans-impl-1.1.1.jar!/
-2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/xbean/xbean-finder-shaded/3.8/xbean-finder-shaded-3.8.jar!/
-2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-connector_1.6_spec/1.0/geronimo-j2ee-connector_1.6_spec-1.0.jar!/
-2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-cli/commons-cli/1.2/commons-cli-1.2.jar!/
-2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/activemq/kahadb/5.4.2/kahadb-5.4.2.jar!/
-2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/hsqldb/hsqldb/1.8.0.10/hsqldb-1.8.0.10.jar!/
-2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/log4j/log4j/1.2.16/log4j-1.2.16.jar!/
-2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/geronimo/components/geronimo-connector/3.1.1/geronimo-connector-3.1.1.jar!/
-2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/activemq/activemq-ra/5.4.2/activemq-ra-5.4.2.jar!/
-2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/net/sourceforge/serp/serp/1.13.1/serp-1.13.1.jar!/
-2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar!/
-2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar!/
-2011-10-29 11:50:20,013 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/activemq/activeio-core/3.1.2/activeio-core-3.1.2.jar!/
-2011-10-29 11:50:20,014 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/quartz-scheduler/quartz/1.8.5/quartz-1.8.5.jar!/
-2011-10-29 11:50:20,014 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openwebbeans/openwebbeans-ee/1.1.1/openwebbeans-ee-1.1.1.jar!/
-2011-10-29 11:50:20,014 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar!/
-2011-10-29 11:50:20,014 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openwebbeans/openwebbeans-spi/1.1.1/openwebbeans-spi-1.1.1.jar!/
-2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/codehaus/swizzle/swizzle-stream/1.0.2/swizzle-stream-1.0.2.jar!/
-2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openjpa/openjpa/2.1.1/openjpa-2.1.1.jar!/
-2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/xbean/xbean-naming/3.8/xbean-naming-3.8.jar!/
-2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/geronimo/components/geronimo-transaction/3.1.1/geronimo-transaction-3.1.1.jar!/
-2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar!/
-2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/javassist/javassist/3.12.0.GA/javassist-3.12.0.GA.jar!/
-2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/objectweb/howl/howl/1.0.1-1/howl-1.0.1-1.jar!/
-2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/xbean/xbean-reflect/3.8/xbean-reflect-3.8.jar!/
-2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/openwebbeans/openwebbeans-ejb/1.1.1/openwebbeans-ejb-1.1.1.jar!/
-2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-logging/commons-logging/1.1/commons-logging-1.1.jar!/
-2011-10-29 11:50:20,016 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-net/commons-net/2.0/commons-net-2.0.jar!/
-2011-10-29 11:50:20,017 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/activemq/protobuf/activemq-protobuf/1.1/activemq-protobuf-1.1.jar!/
-2011-10-29 11:50:20,017 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4.jar!/
-2011-10-29 11:50:20,017 - DEBUG - Descriptors path: jar:file:/Users/dblevins/.m2/repository/org/apache/geronimo/javamail/geronimo-javamail_1.4_mail/1.8.2/geronimo-javamail_1.4_mail-1.8.2.jar!/
-2011-10-29 11:50:20,017 - DEBUG - Searched 5 classpath urls in 80 milliseconds.  Average 16 milliseconds per url.
-2011-10-29 11:50:20,023 - INFO  - Beginning load: /Users/dblevins/examples/troubleshooting/target/classes
-2011-10-29 11:50:20,028 - DEBUG - Using default 'openejb.tempclassloader.skip=none'  Possible values are: none, annotations, enums or NONE or ALL
-2011-10-29 11:50:20,030 - DEBUG - Using default 'openejb.tempclassloader.skip=none'  Possible values are: none, annotations, enums or NONE or ALL
-2011-10-29 11:50:20,099 - INFO  - Configuring enterprise application: /Users/dblevins/examples/troubleshooting
-2011-10-29 11:50:20,099 - DEBUG - No ejb-jar.xml found assuming annotated beans present: /Users/dblevins/examples/troubleshooting, module: troubleshooting
-2011-10-29 11:50:20,213 - DEBUG - Searching for annotated application exceptions (see OPENEJB-980)
-2011-10-29 11:50:20,214 - DEBUG - Searching for annotated application exceptions (see OPENEJB-980)
-2011-10-29 11:50:20,248 - WARN  - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-2011-10-29 11:50:20,249 - DEBUG - looking for annotated MBeans in 
-2011-10-29 11:50:20,249 - DEBUG - registered 0 annotated MBeans in 
-2011-10-29 11:50:20,278 - INFO  - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-2011-10-29 11:50:20,278 - INFO  - Auto-creating a container for bean Movies: Container(type=STATELESS, id=Default Stateless Container)
-2011-10-29 11:50:20,278 - INFO  - Creating Container(id=Default Stateless Container)
-2011-10-29 11:50:20,279 - DEBUG - AccessTimeout=30 seconds
-2011-10-29 11:50:20,279 - DEBUG - MaxSize=10
-2011-10-29 11:50:20,279 - DEBUG - MinSize=0
-2011-10-29 11:50:20,279 - DEBUG - StrictPooling=true
-2011-10-29 11:50:20,279 - DEBUG - MaxAge=0 hours
-2011-10-29 11:50:20,279 - DEBUG - ReplaceAged=true
-2011-10-29 11:50:20,279 - DEBUG - ReplaceFlushed=false
-2011-10-29 11:50:20,279 - DEBUG - MaxAgeOffset=-1
-2011-10-29 11:50:20,279 - DEBUG - IdleTimeout=0 minutes
-2011-10-29 11:50:20,279 - DEBUG - GarbageCollection=false
-2011-10-29 11:50:20,279 - DEBUG - SweepInterval=5 minutes
-2011-10-29 11:50:20,279 - DEBUG - CallbackThreads=5
-2011-10-29 11:50:20,279 - DEBUG - CloseTimeout=5 minutes
-2011-10-29 11:50:20,295 - DEBUG - createService.success
-2011-10-29 11:50:20,296 - INFO  - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-2011-10-29 11:50:20,296 - INFO  - Auto-creating a container for bean org.superbiz.troubleshooting.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-2011-10-29 11:50:20,296 - INFO  - Creating Container(id=Default Managed Container)
-2011-10-29 11:50:20,310 - DEBUG - createService.success
-2011-10-29 11:50:20,310 - INFO  - Configuring PersistenceUnit(name=movie-unit)
-2011-10-29 11:50:20,310 - DEBUG - raw <jta-data-source>movieDatabase</jta-datasource>
-2011-10-29 11:50:20,310 - DEBUG - raw <non-jta-data-source>movieDatabaseUnmanaged</non-jta-datasource>
-2011-10-29 11:50:20,310 - DEBUG - normalized <jta-data-source>movieDatabase</jta-datasource>
-2011-10-29 11:50:20,310 - DEBUG - normalized <non-jta-data-source>movieDatabaseUnmanaged</non-jta-datasource>
-2011-10-29 11:50:20,310 - DEBUG - Available DataSources
-2011-10-29 11:50:20,310 - DEBUG - DataSource(name=movieDatabase, JtaManaged=true)
-2011-10-29 11:50:20,311 - INFO  - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-2011-10-29 11:50:20,311 - INFO  - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-2011-10-29 11:50:20,311 - INFO  - Creating Resource(id=movieDatabaseNonJta)
-2011-10-29 11:50:20,311 - DEBUG - Definition=
-2011-10-29 11:50:20,312 - DEBUG - JtaManaged=false
-2011-10-29 11:50:20,312 - DEBUG - JdbcDriver=org.hsqldb.jdbcDriver
-2011-10-29 11:50:20,312 - DEBUG - JdbcUrl=jdbc:hsqldb:mem:hsqldb
-2011-10-29 11:50:20,312 - DEBUG - UserName=sa
-2011-10-29 11:50:20,312 - DEBUG - Password=
-2011-10-29 11:50:20,312 - DEBUG - PasswordCipher=PlainText
-2011-10-29 11:50:20,312 - DEBUG - ConnectionProperties=
-2011-10-29 11:50:20,312 - DEBUG - DefaultAutoCommit=true
-2011-10-29 11:50:20,312 - DEBUG - InitialSize=0
-2011-10-29 11:50:20,312 - DEBUG - MaxActive=20
-2011-10-29 11:50:20,312 - DEBUG - MaxIdle=20
-2011-10-29 11:50:20,312 - DEBUG - MinIdle=0
-2011-10-29 11:50:20,312 - DEBUG - MaxWait=-1
-2011-10-29 11:50:20,312 - DEBUG - TestOnBorrow=true
-2011-10-29 11:50:20,312 - DEBUG - TestOnReturn=false
-2011-10-29 11:50:20,312 - DEBUG - TestWhileIdle=false
-2011-10-29 11:50:20,312 - DEBUG - TimeBetweenEvictionRunsMillis=-1
-2011-10-29 11:50:20,312 - DEBUG - NumTestsPerEvictionRun=3
-2011-10-29 11:50:20,312 - DEBUG - MinEvictableIdleTimeMillis=1800000
-2011-10-29 11:50:20,312 - DEBUG - PoolPreparedStatements=false
-2011-10-29 11:50:20,312 - DEBUG - MaxOpenPreparedStatements=0
-2011-10-29 11:50:20,312 - DEBUG - AccessToUnderlyingConnectionAllowed=false
-2011-10-29 11:50:20,316 - DEBUG - createService.success
-2011-10-29 11:50:20,316 - INFO  - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-2011-10-29 11:50:20,317 - INFO  - Using 'openejb.descriptors.output=true'
-2011-10-29 11:50:20,317 - INFO  - Using 'openejb.descriptors.output=true'
-2011-10-29 11:50:20,642 - INFO  - Dumping Generated ejb-jar.xml to: /var/folders/bd/f9ntqy1m8xj_fs006s6crtjh0000gn/T/ejb-jar-4107959830671443055troubleshooting.xml
-2011-10-29 11:50:20,657 - INFO  - Dumping Generated openejb-jar.xml to: /var/folders/bd/f9ntqy1m8xj_fs006s6crtjh0000gn/T/openejb-jar-5369342778223971127troubleshooting.xml
-2011-10-29 11:50:20,657 - INFO  - Using 'openejb.descriptors.output=true'
-2011-10-29 11:50:20,658 - INFO  - Dumping Generated ejb-jar.xml to: /var/folders/bd/f9ntqy1m8xj_fs006s6crtjh0000gn/T/ejb-jar-5569422837673302173EjbModule837053032.xml
-2011-10-29 11:50:20,659 - INFO  - Dumping Generated openejb-jar.xml to: /var/folders/bd/f9ntqy1m8xj_fs006s6crtjh0000gn/T/openejb-jar-560959152015048895EjbModule837053032.xml
-2011-10-29 11:50:20,665 - DEBUG - Adding persistence-unit movie-unit property openjpa.Log=log4j
-2011-10-29 11:50:20,665 - DEBUG - Adjusting PersistenceUnit(name=movie-unit) property to openjpa.RuntimeUnenhancedClasses=supported
-2011-10-29 11:50:20,674 - INFO  - Using 'openejb.validation.output.level=VERBOSE'
-2011-10-29 11:50:20,674 - INFO  - Enterprise application "/Users/dblevins/examples/troubleshooting" loaded.
-2011-10-29 11:50:20,674 - INFO  - Assembling app: /Users/dblevins/examples/troubleshooting
-2011-10-29 11:50:20,678 - DEBUG - Using default 'openejb.tempclassloader.skip=none'  Possible values are: none, annotations, enums or NONE or ALL
-2011-10-29 11:50:20,757 - DEBUG - Using default 'openejb.tempclassloader.skip=none'  Possible values are: none, annotations, enums or NONE or ALL
-2011-10-29 11:50:21,137 - INFO  - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 407ms
-2011-10-29 11:50:21,138 - DEBUG - openjpa.jdbc.SynchronizeMappings=buildSchema(ForeignKeys=true)
-2011-10-29 11:50:21,138 - DEBUG - openjpa.Log=log4j
-2011-10-29 11:50:21,138 - DEBUG - openjpa.RuntimeUnenhancedClasses=supported
-2011-10-29 11:50:21,262 - DEBUG - Using default 'openejb.jndiname.strategy.class=org.apache.openejb.assembler.classic.JndiBuilder$TemplatedStrategy'
-2011-10-29 11:50:21,262 - DEBUG - Using default 'openejb.jndiname.format={deploymentId}{interfaceType.annotationName}'
-2011-10-29 11:50:21,267 - DEBUG - Using default 'openejb.localcopy=true'
-2011-10-29 11:50:21,270 - DEBUG - bound ejb at name: openejb/Deployment/Movies/org.superbiz.troubleshooting.Movies!LocalBean, ref: org.apache.openejb.core.ivm.naming.BusinessLocalBeanReference@2569a1c5
-2011-10-29 11:50:21,270 - DEBUG - bound ejb at name: openejb/Deployment/Movies/org.superbiz.troubleshooting.Movies!LocalBeanHome, ref: org.apache.openejb.core.ivm.naming.BusinessLocalBeanReference@2569a1c5
-2011-10-29 11:50:21,272 - INFO  - Jndi(name="java:global/troubleshooting/Movies!org.superbiz.troubleshooting.Movies")
-2011-10-29 11:50:21,272 - INFO  - Jndi(name="java:global/troubleshooting/Movies")
-2011-10-29 11:50:21,277 - DEBUG - Using default 'openejb.jndiname.strategy.class=org.apache.openejb.assembler.classic.JndiBuilder$TemplatedStrategy'
-2011-10-29 11:50:21,277 - DEBUG - Using default 'openejb.jndiname.format={deploymentId}{interfaceType.annotationName}'
-2011-10-29 11:50:21,277 - DEBUG - bound ejb at name: openejb/Deployment/org.superbiz.troubleshooting.MoviesTest/org.superbiz.troubleshooting.MoviesTest!LocalBean, ref: org.apache.openejb.core.ivm.naming.BusinessLocalBeanReference@3f78e13f
-2011-10-29 11:50:21,277 - DEBUG - bound ejb at name: openejb/Deployment/org.superbiz.troubleshooting.MoviesTest/org.superbiz.troubleshooting.MoviesTest!LocalBeanHome, ref: org.apache.openejb.core.ivm.naming.BusinessLocalBeanReference@3f78e13f
-2011-10-29 11:50:21,277 - INFO  - Jndi(name="java:global/EjbModule837053032/org.superbiz.troubleshooting.MoviesTest!org.superbiz.troubleshooting.MoviesTest")
-2011-10-29 11:50:21,277 - INFO  - Jndi(name="java:global/EjbModule837053032/org.superbiz.troubleshooting.MoviesTest")
-2011-10-29 11:50:21,291 - DEBUG - CDI Service not installed: org.apache.webbeans.spi.ConversationService
-2011-10-29 11:50:21,399 - INFO  - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateless Container)
-2011-10-29 11:50:21,428 - INFO  - Created Ejb(deployment-id=org.superbiz.troubleshooting.MoviesTest, ejb-name=org.superbiz.troubleshooting.MoviesTest, container=Default Managed Container)
-2011-10-29 11:50:21,463 - INFO  - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateless Container)
-2011-10-29 11:50:21,463 - INFO  - Started Ejb(deployment-id=org.superbiz.troubleshooting.MoviesTest, ejb-name=org.superbiz.troubleshooting.MoviesTest, container=Default Managed Container)
-2011-10-29 11:50:21,463 - INFO  - Deployed Application(path=/Users/dblevins/examples/troubleshooting)
-2011-10-29 11:50:21,728 - WARN  - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@27a8c4e7; ignoring.
-2011-10-29 11:50:21,834 - WARN  - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@27a8c4e7; ignoring.
-2011-10-29 11:50:21,846 - WARN  - The class "org.superbiz.testinjection.MoviesTest.Movie" listed in the openjpa.MetaDataFactory configuration property could not be loaded by sun.misc.Launcher$AppClassLoader@27a8c4e7; ignoring.
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.642 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    


[10/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/simple-singleton.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/simple-singleton.adoc b/src/main/jbake/content/examples/simple-singleton.adoc
deleted file mode 100755
index 7dac9e8..0000000
--- a/src/main/jbake/content/examples/simple-singleton.adoc
+++ /dev/null
@@ -1,376 +0,0 @@
-= Simple Singleton
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example simple-singleton can be browsed at https://github.com/apache/tomee/tree/master/examples/simple-singleton
-
-
-As the name implies a `javax.ejb.Singleton` is a session bean with a guarantee that there is at most one instance in the application.
-
-What it gives that is completely missing in EJB 3.0 and prior versions is the ability to have an EJB that is notified when the application starts and notified when the application stops. So you can do all sorts of things that you previously could only do with a load-on-startup servlet. It also gives you a place to hold data that pertains to the entire application and all users using it, without the need for a static. Additionally, Singleton beans can be invoked by several threads at one time similar to a Servlet.
-
-See the link:../../singleton-beans.html[Singleton Beans] page for a full description of the javax.ejb.Singleton api.
-
-= The Code
-
-==  PropertyRegistry <small>Bean-Managed Concurrency</small>
-
-Here we see a bean that uses the Bean-Managed Concurrency option as well as the @Startup annotation which causes the bean to be instantiated by the container when the application starts. Singleton beans with @ConcurrencyManagement(BEAN) are responsible for their own thread-safety. The bean shown is a simple properties "registry" and provides a place where options could be set and retrieved by all beans in the application.
-
-
-[source,java]
-----
-package org.superbiz.registry;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.ejb.ConcurrencyManagement;
-import javax.ejb.Singleton;
-import javax.ejb.Startup;
-import java.util.Properties;
-
-import static javax.ejb.ConcurrencyManagementType.BEAN;
-
-@Singleton
-@Startup
-@ConcurrencyManagement(BEAN)
-public class PropertyRegistry {
-
-    // Note the java.util.Properties object is a thread-safe
-    // collections that uses synchronization.  If it didn't
-    // you would have to use some form of synchronization
-    // to ensure the PropertyRegistryBean is thread-safe.
-    private final Properties properties = new Properties();
-
-    // The @Startup annotation ensures that this method is
-    // called when the application starts up.
-    @PostConstruct
-    public void applicationStartup() {
-        properties.putAll(System.getProperties());
-    }
-
-    @PreDestroy
-    public void applicationShutdown() {
-        properties.clear();
-    }
-
-    public String getProperty(final String key) {
-        return properties.getProperty(key);
-    }
-
-    public String setProperty(final String key, final String value) {
-        return (String) properties.setProperty(key, value);
-    }
-
-    public String removeProperty(final String key) {
-        return (String) properties.remove(key);
-    }
-}
-----
-
-
-==  ComponentRegistry  <small>Container-Managed Concurrency</small>
-
-Here we see a bean that uses the Container-Managed Concurrency option, the default. With @ConcurrencyManagement(CONTAINER) the container controls whether multi-threaded access should be allowed to the bean (`@Lock(READ)`) or if single-threaded access should be enforced (`@Lock(WRITE)`).
-
-
-[source,java]
-----
-package org.superbiz.registry;
-
-import javax.ejb.Lock;
-import javax.ejb.Singleton;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import static javax.ejb.LockType.READ;
-import static javax.ejb.LockType.WRITE;
-
-@Singleton
-@Lock(READ)
-public class ComponentRegistry {
-
-    private final Map<Class, Object> components = new HashMap<Class, Object>();
-
-    public <T> T getComponent(final Class<T> type) {
-        return (T) components.get(type);
-    }
-
-    public Collection<?> getComponents() {
-        return new ArrayList(components.values());
-    }
-
-    @Lock(WRITE)
-    public <T> T setComponent(final Class<T> type, final T value) {
-        return (T) components.put(type, value);
-    }
-
-    @Lock(WRITE)
-    public <T> T removeComponent(final Class<T> type) {
-        return (T) components.remove(type);
-    }
-}
-----
-
-
-Unless specified explicitly on the bean class or a method, the default `@Lock` value is `@Lock(WRITE)`. The code above uses the `@Lock(READ)` annotation on bean class to change the default so that multi-threaded access is granted by default. We then only need to apply the `@Lock(WRITE)` annotation to the methods that modify the state of the bean.
-
-Essentially `@Lock(READ)` allows multithreaded access to the Singleton bean instance unless someone is invoking an `@Lock(WRITE)` method. With `@Lock(WRITE)`, the thread invoking the bean will be guaranteed to have exclusive access to the Singleton bean instance for the duration of its invocation. This combination allows the bean instance to use data types that are not normally thread safe. Great care must still be used, though.
-
-In the example we see `ComponentRegistryBean` using a `java.util.HashMap` which is not synchronized. To make this ok we do three things:
-
- 1. Encapsulation. We don't expose the HashMap instance directly; including its iterators, key set, value set or entry set.
- 1. We use `@Lock(WRITE)` on the methods that mutate the map such as the `put()` and `remove()` methods.
- 1. We use `@Lock(READ)` on the `get()` and `values()` methods as they do not change the map state and are guaranteed not to be called at the same as any of the `@Lock(WRITE)` methods, so we know the state of the HashMap is no being mutated and therefore safe for reading.
-
-The end result is that the threading model for this bean will switch from multi-threaded access to single-threaded access dynamically as needed, depending on the method being invoked. This gives Singletons a bit of an advantage over Servlets for processing multi-threaded requests.
-
-See the link:../../singleton-beans.html[Singleton Beans] page for  more advanced details on Container-Managed Concurrency.
-
-=  Testing
-
-
-==  ComponentRegistryTest
-
-
-[source,java]
-----
-package org.superbiz.registry;
-
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import java.net.URI;
-import java.util.Collection;
-import java.util.Date;
-
-public class ComponentRegistryTest {
-
-    private final static EJBContainer ejbContainer = EJBContainer.createEJBContainer();
-
-    @Test
-    public void oneInstancePerMultipleReferences() throws Exception {
-
-        final Context context = ejbContainer.getContext();
-
-        // Both references below will point to the exact same instance
-        final ComponentRegistry one = (ComponentRegistry) context.lookup("java:global/simple-singleton/ComponentRegistry");
-        final ComponentRegistry two = (ComponentRegistry) context.lookup("java:global/simple-singleton/ComponentRegistry");
-
-        final URI expectedUri = new URI("foo://bar/baz");
-        one.setComponent(URI.class, expectedUri);
-        final URI actualUri = two.getComponent(URI.class);
-        Assert.assertSame(expectedUri, actualUri);
-
-        two.removeComponent(URI.class);
-        URI uri = one.getComponent(URI.class);
-        Assert.assertNull(uri);
-
-        one.removeComponent(URI.class);
-        uri = two.getComponent(URI.class);
-        Assert.assertNull(uri);
-
-        final Date expectedDate = new Date();
-        two.setComponent(Date.class, expectedDate);
-        final Date actualDate = one.getComponent(Date.class);
-        Assert.assertSame(expectedDate, actualDate);
-
-        Collection<?> collection = one.getComponents();
-        System.out.println(collection);
-        Assert.assertEquals("Reference 'one' - ComponentRegistry contains one record", collection.size(), 1);
-
-        collection = two.getComponents();
-        Assert.assertEquals("Reference 'two' - ComponentRegistry contains one record", collection.size(), 1);
-    }
-
-    @AfterClass
-    public static void closeEjbContainer() {
-        ejbContainer.close();
-    }
-}
-----
-
-
-==  PropertiesRegistryTest
-
-
-[source,java]
-----
-package org.superbiz.registry;
-
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-
-public class PropertiesRegistryTest {
-
-    private final static EJBContainer ejbContainer = EJBContainer.createEJBContainer();
-
-    @Test
-    public void oneInstancePerMultipleReferences() throws Exception {
-
-        final Context context = ejbContainer.getContext();
-
-        final PropertyRegistry one = (PropertyRegistry) context.lookup("java:global/simple-singleton/PropertyRegistry");
-        final PropertyRegistry two = (PropertyRegistry) context.lookup("java:global/simple-singleton/PropertyRegistry");
-
-        one.setProperty("url", "http://superbiz.org");
-        String url = two.getProperty("url");
-        Assert.assertSame("http://superbiz.org", url);
-
-        two.removeProperty("url");
-        url = one.getProperty("url");
-        Assert.assertNull(url);
-
-        two.setProperty("version", "1.0.5");
-        String version = one.getProperty("version");
-        Assert.assertSame("1.0.5", version);
-
-        one.removeProperty("version");
-        version = two.getProperty("version");
-        Assert.assertNull(version);
-    }
-
-    @AfterClass
-    public static void closeEjbContainer() {
-        ejbContainer.close();
-    }
-}
-----
-
-
-
-= Running
-
-Running the example is fairly simple. In the "simple-singleton" directory run:
-
-    $ mvn clean install
-
-Which should create output like the following.
-
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.registry.ComponentRegistryTest
-INFO - ********************************************************************************
-INFO - OpenEJB http://tomee.apache.org/
-INFO - Startup: Sun Jun 09 03:46:51 IDT 2013
-INFO - Copyright 1999-2013 (C) Apache OpenEJB Project, All Rights Reserved.
-INFO - Version: 7.0.0-SNAPSHOT
-INFO - Build date: 20130608
-INFO - Build time: 04:07
-INFO - ********************************************************************************
-INFO - openejb.home = C:\Users\Oz\Desktop\ee-examples\simple-singleton
-INFO - openejb.base = C:\Users\Oz\Desktop\ee-examples\simple-singleton
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@448ad367
-INFO - Succeeded in installing singleton service
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Found EjbModule in classpath: c:\users\oz\desktop\ee-examples\simple-singleton\target\classes
-INFO - Beginning load: c:\users\oz\desktop\ee-examples\simple-singleton\target\classes
-INFO - Configuring enterprise application: C:\Users\Oz\Desktop\ee-examples\simple-singleton
-INFO - Auto-deploying ejb PropertyRegistry: EjbDeployment(deployment-id=PropertyRegistry)
-INFO - Auto-deploying ejb ComponentRegistry: EjbDeployment(deployment-id=ComponentRegistry)
-INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-INFO - Auto-creating a container for bean PropertyRegistry: Container(type=SINGLETON, id=Default Singleton Container)
-INFO - Creating Container(id=Default Singleton Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.registry.ComponentRegistryTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory C:\Users\Oz\AppData\Local\Temp for stateful session passivation
-INFO - Enterprise application "C:\Users\Oz\Desktop\ee-examples\simple-singleton" loaded.
-INFO - Assembling app: C:\Users\Oz\Desktop\ee-examples\simple-singleton
-INFO - Jndi(name="java:global/simple-singleton/PropertyRegistry!org.superbiz.registry.PropertyRegistry")
-INFO - Jndi(name="java:global/simple-singleton/PropertyRegistry")
-INFO - Jndi(name="java:global/simple-singleton/ComponentRegistry!org.superbiz.registry.ComponentRegistry")
-INFO - Jndi(name="java:global/simple-singleton/ComponentRegistry")
-INFO - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@448ad367
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points were validated successfully.
-INFO - OpenWebBeans Container has started, it took 68 ms.
-INFO - Created Ejb(deployment-id=PropertyRegistry, ejb-name=PropertyRegistry, container=Default Singleton Container)
-INFO - Created Ejb(deployment-id=ComponentRegistry, ejb-name=ComponentRegistry, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=PropertyRegistry, ejb-name=PropertyRegistry, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=ComponentRegistry, ejb-name=ComponentRegistry, container=Default Singleton Container)
-INFO - Deployed Application(path=C:\Users\Oz\Desktop\ee-examples\simple-singleton)
-[Sun Jun 09 03:46:52 IDT 2013]
-INFO - Undeploying app: C:\Users\Oz\Desktop\ee-examples\simple-singleton
-INFO - Destroying OpenEJB container
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.431 sec
-Running org.superbiz.registry.PropertiesRegistryTest
-INFO - ********************************************************************************
-INFO - OpenEJB http://tomee.apache.org/
-INFO - Startup: Sun Jun 09 03:46:52 IDT 2013
-INFO - Copyright 1999-2013 (C) Apache OpenEJB Project, All Rights Reserved.
-INFO - Version: 7.0.0-SNAPSHOT
-INFO - Build date: 20130608
-INFO - Build time: 04:07
-INFO - ********************************************************************************
-INFO - openejb.home = C:\Users\Oz\Desktop\ee-examples\simple-singleton
-INFO - openejb.base = C:\Users\Oz\Desktop\ee-examples\simple-singleton
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@448ad367
-INFO - Succeeded in installing singleton service
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Using 'java.security.auth.login.config=jar:file:/C:/Users/Oz/.m2/repository/org/apache/openejb/openejb-core/7.0.0-SNAPSHOT/openejb-core-7.0.0-SNAPSHOT.jar!/login.config'
-INFO - Found EjbModule in classpath: c:\users\oz\desktop\ee-examples\simple-singleton\target\classes
-INFO - Beginning load: c:\users\oz\desktop\ee-examples\simple-singleton\target\classes
-INFO - Configuring enterprise application: C:\Users\Oz\Desktop\ee-examples\simple-singleton
-INFO - Auto-deploying ejb ComponentRegistry: EjbDeployment(deployment-id=ComponentRegistry)
-INFO - Auto-deploying ejb PropertyRegistry: EjbDeployment(deployment-id=PropertyRegistry)
-INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-INFO - Auto-creating a container for bean ComponentRegistry: Container(type=SINGLETON, id=Default Singleton Container)
-INFO - Creating Container(id=Default Singleton Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.registry.PropertiesRegistryTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory C:\Users\Oz\AppData\Local\Temp for stateful session passivation
-INFO - Enterprise application "C:\Users\Oz\Desktop\ee-examples\simple-singleton" loaded.
-INFO - Assembling app: C:\Users\Oz\Desktop\ee-examples\simple-singleton
-INFO - Jndi(name="java:global/simple-singleton/ComponentRegistry!org.superbiz.registry.ComponentRegistry")
-INFO - Jndi(name="java:global/simple-singleton/ComponentRegistry")
-INFO - Jndi(name="java:global/simple-singleton/PropertyRegistry!org.superbiz.registry.PropertyRegistry")
-INFO - Jndi(name="java:global/simple-singleton/PropertyRegistry")
-INFO - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@448ad367
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points were validated successfully.
-INFO - OpenWebBeans Container has started, it took 4 ms.
-INFO - Created Ejb(deployment-id=PropertyRegistry, ejb-name=PropertyRegistry, container=Default Singleton Container)
-INFO - Created Ejb(deployment-id=ComponentRegistry, ejb-name=ComponentRegistry, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=PropertyRegistry, ejb-name=PropertyRegistry, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=ComponentRegistry, ejb-name=ComponentRegistry, container=Default Singleton Container)
-INFO - Deployed Application(path=C:\Users\Oz\Desktop\ee-examples\simple-singleton)
-INFO - Undeploying app: C:\Users\Oz\Desktop\ee-examples\simple-singleton
-INFO - Destroying OpenEJB container
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.171 sec
-
-Results :
-
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
-----
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/simple-stateful-callbacks.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/simple-stateful-callbacks.adoc b/src/main/jbake/content/examples/simple-stateful-callbacks.adoc
deleted file mode 100755
index f3c4506..0000000
--- a/src/main/jbake/content/examples/simple-stateful-callbacks.adoc
+++ /dev/null
@@ -1,324 +0,0 @@
-= Simple Stateful with callback methods
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example simple-stateful-callbacks can be browsed at https://github.com/apache/tomee/tree/master/examples/simple-stateful-callbacks
-
-
-This example shows how to create a stateful session bean that uses the @PrePassivate, @PostActivate, @PostConstruct, @PreDestroy and @AroundInvoke annotations.
-
-==  CallbackCounter
-
-
-[source,java]
-----
-package org.superbiz.counter;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.ejb.PostActivate;
-import javax.ejb.PrePassivate;
-import javax.ejb.Stateful;
-import javax.ejb.StatefulTimeout;
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-import java.io.Serializable;
-import java.util.concurrent.TimeUnit;
-
-@Stateful
-@StatefulTimeout(value = 1, unit = TimeUnit.SECONDS)
-public class CallbackCounter implements Serializable {
-
-    private int count = 0;
-
-    @PrePassivate
-    public void prePassivate() {
-        ExecutionChannel.getInstance().notifyObservers("prePassivate");
-    }
-
-    @PostActivate
-    public void postActivate() {
-        ExecutionChannel.getInstance().notifyObservers("postActivate");
-    }
-
-    @PostConstruct
-    public void postConstruct() {
-        ExecutionChannel.getInstance().notifyObservers("postConstruct");
-    }
-
-    @PreDestroy
-    public void preDestroy() {
-        ExecutionChannel.getInstance().notifyObservers("preDestroy");
-    }
-
-    @AroundInvoke
-    public Object intercept(InvocationContext ctx) throws Exception {
-        ExecutionChannel.getInstance().notifyObservers(ctx.getMethod().getName());
-        return ctx.proceed();
-    }
-
-    public int count() {
-        return count;
-    }
-
-    public int increment() {
-        return ++count;
-    }
-
-    public int reset() {
-        return (count = 0);
-    }
-}
-----
-
-
-==  ExecutionChannel
-
-
-[source,java]
-----
-package org.superbiz.counter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ExecutionChannel {
-    private static final ExecutionChannel INSTANCE = new ExecutionChannel();
-
-    private final List<ExecutionObserver> observers = new ArrayList<ExecutionObserver>();
-
-    public static ExecutionChannel getInstance() {
-        return INSTANCE;
-    }
-
-    public void addObserver(ExecutionObserver observer) {
-        this.observers.add(observer);
-    }
-
-    public void notifyObservers(Object value) {
-        for (ExecutionObserver observer : this.observers) {
-            observer.onExecution(value);
-        }
-    }
-}
-----
-
-
-==  ExecutionObserver
-
-
-[source,java]
-----
-package org.superbiz.counter;
-
-public interface ExecutionObserver {
-
-    void onExecution(Object value);
-
-}
-----
-
-
-==  CounterCallbacksTest
-
-
-[source,java]
-----
-package org.superbiz.counter;
-
-import junit.framework.Assert;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import java.util.*;
-
-public class CounterCallbacksTest implements ExecutionObserver {
-    private static List<Object> received = new ArrayList<Object>();
-
-    public Context getContext() throws NamingException {
-        final Properties p = new Properties();
-        p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        return new InitialContext(p);
-
-    }
-
-    @Test
-    public void test() throws Exception {
-        final Map<String, Object> p = new HashMap<String, Object>();
-        p.put("MySTATEFUL", "new://Container?type=STATEFUL");
-        p.put("MySTATEFUL.Capacity", "2"); //How many instances of Stateful beans can our server hold in memory?
-        p.put("MySTATEFUL.Frequency", "1"); //Interval in seconds between checks
-        p.put("MySTATEFUL.BulkPassivate", "0"); //No bulkPassivate - just passivate entities whenever it is needed
-        final EJBContainer container = EJBContainer.createEJBContainer(p);
-
-        //this is going to track the execution
-        ExecutionChannel.getInstance().addObserver(this);
-
-        {
-            final Context context = getContext();
-
-            CallbackCounter counterA = (CallbackCounter) context.lookup("java:global/simple-stateful-callbacks/CallbackCounter");
-            Assert.assertNotNull(counterA);
-            Assert.assertEquals("postConstruct", received.remove(0));
-
-            Assert.assertEquals(0, counterA.count());
-            Assert.assertEquals("count", received.remove(0));
-
-            Assert.assertEquals(1, counterA.increment());
-            Assert.assertEquals("increment", received.remove(0));
-
-            Assert.assertEquals(0, counterA.reset());
-            Assert.assertEquals("reset", received.remove(0));
-
-            Assert.assertEquals(1, counterA.increment());
-            Assert.assertEquals("increment", received.remove(0));
-
-            System.out.println("Waiting 2 seconds...");
-            Thread.sleep(2000);
-
-            Assert.assertEquals("preDestroy", received.remove(0));
-
-            try {
-                counterA.increment();
-                Assert.fail("The ejb is not supposed to be there.");
-            } catch (javax.ejb.NoSuchEJBException e) {
-                //excepted
-            }
-
-            context.close();
-        }
-
-        {
-            final Context context = getContext();
-
-            CallbackCounter counterA = (CallbackCounter) context.lookup("java:global/simple-stateful-callbacks/CallbackCounter");
-            Assert.assertEquals("postConstruct", received.remove(0));
-
-            Assert.assertEquals(1, counterA.increment());
-            Assert.assertEquals("increment", received.remove(0));
-
-            ((CallbackCounter) context.lookup("java:global/simple-stateful-callbacks/CallbackCounter")).count();
-            Assert.assertEquals("postConstruct", received.remove(0));
-            Assert.assertEquals("count", received.remove(0));
-
-            ((CallbackCounter) context.lookup("java:global/simple-stateful-callbacks/CallbackCounter")).count();
-            Assert.assertEquals("postConstruct", received.remove(0));
-            Assert.assertEquals("count", received.remove(0));
-
-            System.out.println("Waiting 2 seconds...");
-            Thread.sleep(2000);
-            Assert.assertEquals("prePassivate", received.remove(0));
-
-            context.close();
-        }
-        container.close();
-
-        Assert.assertEquals("preDestroy", received.remove(0));
-        Assert.assertEquals("preDestroy", received.remove(0));
-
-        Assert.assertTrue(received.toString(), received.isEmpty());
-    }
-
-    @Override
-    public void onExecution(Object value) {
-        System.out.println("Test step -> " + value);
-        received.add(value);
-    }
-}
-----
-
-
-=  Running
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.counter.CounterCallbacksTest
-INFO - ********************************************************************************
-INFO - OpenEJB http://tomee.apache.org/
-INFO - Startup: Sat Jul 21 08:18:28 EDT 2012
-INFO - Copyright 1999-2012 (C) Apache OpenEJB Project, All Rights Reserved.
-INFO - Version: 4.1.0
-INFO - Build date: 20120721
-INFO - Build time: 04:06
-INFO - ********************************************************************************
-INFO - openejb.home = /home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateful-callbacks
-INFO - openejb.base = /home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateful-callbacks
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@527736bd
-INFO - Succeeded in installing singleton service
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=MySTATEFUL, type=Container, provider-id=Default Stateful Container)
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Creating Container(id=MySTATEFUL)
-INFO - Using directory /tmp for stateful session passivation
-INFO - Beginning load: /home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateful-callbacks/target/classes
-INFO - Configuring enterprise application: /home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateful-callbacks
-INFO - Auto-deploying ejb CallbackCounter: EjbDeployment(deployment-id=CallbackCounter)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.counter.CounterCallbacksTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory /tmp for stateful session passivation
-INFO - Enterprise application "/home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateful-callbacks" loaded.
-INFO - Assembling app: /home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateful-callbacks
-INFO - Jndi(name="java:global/simple-stateful-callbacks/CallbackCounter!org.superbiz.counter.CallbackCounter")
-INFO - Jndi(name="java:global/simple-stateful-callbacks/CallbackCounter")
-INFO - Existing thread singleton service in SystemInstance() org.apache.openejb.cdi.ThreadSingletonServiceImpl@527736bd
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 225 ms.
-INFO - Created Ejb(deployment-id=CallbackCounter, ejb-name=CallbackCounter, container=MySTATEFUL)
-INFO - Started Ejb(deployment-id=CallbackCounter, ejb-name=CallbackCounter, container=MySTATEFUL)
-INFO - Deployed Application(path=/home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateful-callbacks)
-Test step -> postConstruct
-Test step -> count
-Test step -> increment
-Test step -> reset
-Test step -> increment
-Waiting 2 seconds...
-Test step -> preDestroy
-INFO - Removing the timed-out stateful session bean instance 583c10bfdbd326ba:57f94a9b:138a9798adf:-8000
-INFO - Activation failed: file not found /tmp/583c10bfdbd326ba=57f94a9b=138a9798adf=-8000
-Test step -> postConstruct
-Test step -> increment
-Test step -> postConstruct
-Test step -> count
-Test step -> postConstruct
-Test step -> count
-Waiting 2 seconds...
-Test step -> prePassivate
-INFO - Passivating to file /tmp/583c10bfdbd326ba=57f94a9b=138a9798adf=-7fff
-Test step -> preDestroy
-INFO - Removing the timed-out stateful session bean instance 583c10bfdbd326ba:57f94a9b:138a9798adf:-7ffe
-Test step -> preDestroy
-INFO - Removing the timed-out stateful session bean instance 583c10bfdbd326ba:57f94a9b:138a9798adf:-7ffd
-INFO - Undeploying app: /home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateful-callbacks
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.487 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-
-    [INFO] ------------------------------------------------------------------------
-    [INFO] BUILD SUCCESS
-    [INFO] ------------------------------------------------------------------------
-    [INFO] Total time: 15.803s
-    [INFO] Finished at: Sat Jul 21 08:18:35 EDT 2012
-    [INFO] Final Memory: 11M/247M
-    [INFO] ------------------------------------------------------------------------
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/simple-stateful.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/simple-stateful.adoc b/src/main/jbake/content/examples/simple-stateful.adoc
deleted file mode 100755
index cc2b7d8..0000000
--- a/src/main/jbake/content/examples/simple-stateful.adoc
+++ /dev/null
@@ -1,160 +0,0 @@
-= Simple Stateful
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example simple-stateful can be browsed at https://github.com/apache/tomee/tree/master/examples/simple-stateful
-
-
-This example demonstrates a simple deployment of a Stateful session bean.
-
-
-NOTE: "As its name suggests, a stateful session bean is similar to an interactive session. A stateful session bean is not shared; 
-
-it can have only one client, in the same way that an interactive session can have only one user. 
-When the client terminates, its stateful session bean appears to terminate and is no longer associated with the client."
-
-The `Counter` class is a Stateful session bean that maintains a state in a form of a `count` integer field.
-It exposes three methods: `count()`, `increment()` and `reset()` to manipulate and view its state.
-
-Typically, Stateful and Stateless beans implement Local and/or Remote interfaces to determine which methods should
-be exposed. In this case, the bean is using a no-interface view, which means that all public methods are exposed
-as a local view. 
-
-==  Counter
-
-
-[source,java]
-----
-package org.superbiz.counter;
-
-import javax.ejb.Stateful;
-
-/**
- * This is an EJB 3 style pojo stateful session bean
- * Every stateful session bean implementation must be annotated
- * using the annotation @Stateful
- * This EJB has 2 business interfaces: CounterRemote, a remote business
- * interface, and CounterLocal, a local business interface
- * <p/>
- * Per EJB3 rules when the @Remote or @Local annotation isn't present
- * in the bean class (this class), all interfaces are considered
- * local unless explicitly annotated otherwise.  If you look
- * in the CounterRemote interface, you'll notice it uses the @Remote
- * annotation while the CounterLocal interface is not annotated relying
- * on the EJB3 default rules to make it a local interface.
- */
-//START SNIPPET: code
-@Stateful
-public class Counter {
-
-    private int count = 0;
-
-    public int count() {
-        return count;
-    }
-
-    public int increment() {
-        return ++count;
-    }
-
-    public int reset() {
-        return (count = 0);
-    }
-}
-----
-
-
-==  CounterTest
-
-The `Counter` class is tested by obtaining a `Context` object and performing a JNDI lookup on it, to retrieve
-an instance of the `Counter` bean. After some state manipulation, a new instance is fetched from the container
-and we can see that it's a new instance.
-
-
-[source,java]
-----
-package org.superbiz.counter;
-
-import junit.framework.TestCase;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-
-public class CounterTest extends TestCase {
-
-    //START SNIPPET: local
-    public void test() throws Exception {
-
-        final Context context = EJBContainer.createEJBContainer().getContext();
-
-        Counter counterA = (Counter) context.lookup("java:global/simple-stateful/Counter");
-
-        assertEquals(0, counterA.count());
-        assertEquals(0, counterA.reset());
-        assertEquals(1, counterA.increment());
-        assertEquals(2, counterA.increment());
-        assertEquals(0, counterA.reset());
-
-        counterA.increment();
-        counterA.increment();
-        counterA.increment();
-        counterA.increment();
-
-        assertEquals(4, counterA.count());
-
-        // Get a new counter
-        Counter counterB = (Counter) context.lookup("java:global/simple-stateful/Counter");
-
-        // The new bean instance starts out at 0
-        assertEquals(0, counterB.count());
-    }
-    //END SNIPPET: local
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.counter.CounterTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/simple-stateful
-INFO - openejb.base = /Users/dblevins/examples/simple-stateful
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/simple-stateful/target/classes
-INFO - Beginning load: /Users/dblevins/examples/simple-stateful/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/simple-stateful
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Counter: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.counter.CounterTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/simple-stateful" loaded.
-INFO - Assembling app: /Users/dblevins/examples/simple-stateful
-INFO - Jndi(name="java:global/simple-stateful/Counter!org.superbiz.counter.Counter")
-INFO - Jndi(name="java:global/simple-stateful/Counter")
-INFO - Jndi(name="java:global/EjbModule309142400/org.superbiz.counter.CounterTest!org.superbiz.counter.CounterTest")
-INFO - Jndi(name="java:global/EjbModule309142400/org.superbiz.counter.CounterTest")
-INFO - Created Ejb(deployment-id=Counter, ejb-name=Counter, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=org.superbiz.counter.CounterTest, ejb-name=org.superbiz.counter.CounterTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Counter, ejb-name=Counter, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=org.superbiz.counter.CounterTest, ejb-name=org.superbiz.counter.CounterTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/simple-stateful)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.098 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/simple-stateless-callbacks.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/simple-stateless-callbacks.adoc b/src/main/jbake/content/examples/simple-stateless-callbacks.adoc
deleted file mode 100755
index 62bda15..0000000
--- a/src/main/jbake/content/examples/simple-stateless-callbacks.adoc
+++ /dev/null
@@ -1,260 +0,0 @@
-= Simple Stateless with callback methods
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example simple-stateless-callbacks can be browsed at https://github.com/apache/tomee/tree/master/examples/simple-stateless-callbacks
-
-
-This example shows how to create a stateless session bean that uses the @PostConstruct, @PreDestroy and @AroundInvoke annotations.
-
-==  CalculatorBean
-
-
-[source,java]
-----
-package org.superbiz.stateless.basic;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.ejb.Stateless;
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-@Stateless
-public class CalculatorBean {
-
-    @PostConstruct
-    public void postConstruct() {
-        ExecutionChannel.getInstance().notifyObservers("postConstruct");
-    }
-
-    @PreDestroy
-    public void preDestroy() {
-        ExecutionChannel.getInstance().notifyObservers("preDestroy");
-    }
-
-    @AroundInvoke
-    public Object intercept(InvocationContext ctx) throws Exception {
-        ExecutionChannel.getInstance().notifyObservers(ctx.getMethod().getName());
-        return ctx.proceed();
-    }
-
-    public int add(int a, int b) {
-        return a + b;
-    }
-
-    public int subtract(int a, int b) {
-        return a - b;
-    }
-
-    public int multiply(int a, int b) {
-        return a * b;
-    }
-
-    public int divide(int a, int b) {
-        return a / b;
-    }
-
-    public int remainder(int a, int b) {
-        return a % b;
-    }
-
-}
-----
-
-
-==  ExecutionChannel
-
-
-[source,java]
-----
-package org.superbiz.counter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ExecutionChannel {
-    private static final ExecutionChannel INSTANCE = new ExecutionChannel();
-
-    private final List<ExecutionObserver> observers = new ArrayList<ExecutionObserver>();
-
-    public static ExecutionChannel getInstance() {
-        return INSTANCE;
-    }
-
-    public void addObserver(ExecutionObserver observer) {
-        this.observers.add(observer);
-    }
-
-    public void notifyObservers(Object value) {
-        for (ExecutionObserver observer : this.observers) {
-            observer.onExecution(value);
-        }
-    }
-}
-----
-
-
-==  ExecutionObserver
-
-
-[source,java]
-----
-package org.superbiz.counter;
-
-public interface ExecutionObserver {
-
-    void onExecution(Object value);
-
-}
-----
-
-
-
-==  CalculatorTest
-
-
-[source,java]
-----
-package org.superbiz.stateless.basic;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-public class CalculatorTest implements ExecutionObserver {
-    private static final String JNDI = "java:global/simple-stateless-callbacks/CalculatorBean";
-
-    private List<Object> received = new ArrayList<Object>();
-
-    public Context getContext() throws NamingException {
-        final Properties p = new Properties();
-        p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-        return new InitialContext(p);
-
-    }
-
-    @Test
-    public void test() throws Exception {
-        ExecutionChannel.getInstance().addObserver(this);
-
-        final EJBContainer container = EJBContainer.createEJBContainer();
-
-        {
-            final CalculatorBean calculator = (CalculatorBean) getContext().lookup(JNDI);
-
-            Assert.assertEquals(10, calculator.add(4, 6));
-
-            //the bean is constructed only when it is used for the first time
-            Assert.assertEquals("postConstruct", this.received.remove(0));
-            Assert.assertEquals("add", this.received.remove(0));
-
-            Assert.assertEquals(-2, calculator.subtract(4, 6));
-            Assert.assertEquals("subtract", this.received.remove(0));
-
-            Assert.assertEquals(24, calculator.multiply(4, 6));
-            Assert.assertEquals("multiply", this.received.remove(0));
-
-            Assert.assertEquals(2, calculator.divide(12, 6));
-            Assert.assertEquals("divide", this.received.remove(0));
-
-            Assert.assertEquals(4, calculator.remainder(46, 6));
-            Assert.assertEquals("remainder", this.received.remove(0));
-        }
-
-        {
-            final CalculatorBean calculator = (CalculatorBean) getContext().lookup(JNDI);
-
-            Assert.assertEquals(10, calculator.add(4, 6));
-            Assert.assertEquals("add", this.received.remove(0));
-
-        }
-
-        container.close();
-        Assert.assertEquals("preDestroy", this.received.remove(0));
-        Assert.assertTrue(this.received.isEmpty());
-    }
-
-    @Override
-    public void onExecution(Object value) {
-        System.out.println("Test step -> " + value);
-        this.received.add(value);
-    }
-}
-----
-
-
-=  Running
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.stateless.basic.CalculatorTest
-INFO - ********************************************************************************
-INFO - OpenEJB http://tomee.apache.org/
-INFO - Startup: Sat Jul 21 09:23:38 EDT 2012
-INFO - Copyright 1999-2012 (C) Apache OpenEJB Project, All Rights Reserved.
-INFO - Version: 4.1.0
-INFO - Build date: 20120721
-INFO - Build time: 04:06
-INFO - ********************************************************************************
-INFO - openejb.home = /home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateless-callbacks
-INFO - openejb.base = /home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateless-callbacks
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@527736bd
-INFO - Succeeded in installing singleton service
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Beginning load: /home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateless-callbacks/target/classes
-INFO - Configuring enterprise application: /home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateless-callbacks
-INFO - Auto-deploying ejb CalculatorBean: EjbDeployment(deployment-id=CalculatorBean)
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean CalculatorBean: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Creating Container(id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.stateless.basic.CalculatorTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory /tmp for stateful session passivation
-INFO - Enterprise application "/home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateless-callbacks" loaded.
-INFO - Assembling app: /home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateless-callbacks
-INFO - Jndi(name="java:global/simple-stateless-callbacks/CalculatorBean!org.superbiz.stateless.basic.CalculatorBean")
-INFO - Jndi(name="java:global/simple-stateless-callbacks/CalculatorBean")
-INFO - Existing thread singleton service in SystemInstance() org.apache.openejb.cdi.ThreadSingletonServiceImpl@527736bd
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points are validated successfully.
-INFO - OpenWebBeans Container has started, it took 111 ms.
-INFO - Created Ejb(deployment-id=CalculatorBean, ejb-name=CalculatorBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=CalculatorBean, ejb-name=CalculatorBean, container=Default Stateless Container)
-INFO - Deployed Application(path=/home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateless-callbacks)
-Test step -> postConstruct
-Test step -> add
-Test step -> subtract
-Test step -> multiply
-Test step -> divide
-Test step -> remainder
-Test step -> add
-INFO - Undeploying app: /home/boto/dev/ws/openejb_trunk/openejb/examples/simple-stateless-callbacks
-Test step -> preDestroy
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.884 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/simple-stateless-with-descriptor.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/simple-stateless-with-descriptor.adoc b/src/main/jbake/content/examples/simple-stateless-with-descriptor.adoc
deleted file mode 100755
index d91bf04..0000000
--- a/src/main/jbake/content/examples/simple-stateless-with-descriptor.adoc
+++ /dev/null
@@ -1,205 +0,0 @@
-= Simple Stateless with Descriptor
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example simple-stateless-with-descriptor can be browsed at https://github.com/apache/tomee/tree/master/examples/simple-stateless-with-descriptor
-
-
-This test is similar to simple-stateless, with two major differences. In this case all the classes are regular POJOs without annotations.
-The EJB-specific metadata is provided via an XML descriptor. The second difference is the explicite use of Local and Remote interfaces. 
-
-==  CalculatorImpl
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-/**
- * This is an EJB 3 stateless session bean, configured using an EJB 3
- * deployment descriptor as opposed to using annotations.
- * This EJB has 2 business interfaces: CalculatorRemote, a remote business
- * interface, and CalculatorLocal, a local business interface
- */
-public class CalculatorImpl implements CalculatorRemote, CalculatorLocal {
-
-    public int sum(int add1, int add2) {
-        return add1 + add2;
-    }
-
-    public int multiply(int mul1, int mul2) {
-        return mul1 * mul2;
-    }
-}
-----
-
-
-==  CalculatorLocal
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-/**
- * This is an EJB 3 local business interface
- * This interface is specified using the business-local tag in the deployment descriptor
- */
-public interface CalculatorLocal {
-
-    public int sum(int add1, int add2);
-
-    public int multiply(int mul1, int mul2);
-}
-----
-
-
-==  CalculatorRemote
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-
-/**
- * This is an EJB 3 remote business interface
- * This interface is specified using the business-local tag in the deployment descriptor
- */
-public interface CalculatorRemote {
-
-    public int sum(int add1, int add2);
-
-    public int multiply(int mul1, int mul2);
-}
-----
-
-
-==  ejb-jar.xml
-
-The XML descriptor defines the EJB class and both local and remote interfaces.
-
-
-[source,xml]
-----
-<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
-         version="3.0">
-  <enterprise-beans>
-    <session>
-      <ejb-name>CalculatorImpl</ejb-name>
-      <business-local>org.superbiz.calculator.CalculatorLocal</business-local>
-      <business-remote>org.superbiz.calculator.CalculatorRemote</business-remote>
-      <ejb-class>org.superbiz.calculator.CalculatorImpl</ejb-class>
-      <session-type>Stateless</session-type>
-      <transaction-type>Container</transaction-type>
-    </session>
-  </enterprise-beans>
-</ejb-jar>
-----
-
-
-    
-
-==  CalculatorTest
-
-Two tests obtain a Local and Remote interface to the bean instance. This time an `InitialContext` object is directly created, 
-as opposed to getting the context from `EJBContainer`, as we did in the previous example. 
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-import junit.framework.TestCase;
-
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import java.util.Properties;
-
-public class CalculatorTest extends TestCase {
-
-    private InitialContext initialContext;
-
-    protected void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-
-        initialContext = new InitialContext(properties);
-    }
-
-    /**
-     * Lookup the Calculator bean via its remote home interface
-     *
-     * @throws Exception
-     */
-    public void testCalculatorViaRemoteInterface() throws Exception {
-        Object object = initialContext.lookup("CalculatorImplRemote");
-
-        assertNotNull(object);
-        assertTrue(object instanceof CalculatorRemote);
-        CalculatorRemote calc = (CalculatorRemote) object;
-        assertEquals(10, calc.sum(4, 6));
-        assertEquals(12, calc.multiply(3, 4));
-    }
-
-    /**
-     * Lookup the Calculator bean via its local home interface
-     *
-     * @throws Exception
-     */
-    public void testCalculatorViaLocalInterface() throws Exception {
-        Object object = initialContext.lookup("CalculatorImplLocal");
-
-        assertNotNull(object);
-        assertTrue(object instanceof CalculatorLocal);
-        CalculatorLocal calc = (CalculatorLocal) object;
-        assertEquals(10, calc.sum(4, 6));
-        assertEquals(12, calc.multiply(3, 4));
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.calculator.CalculatorTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/simple-stateless-with-descriptor
-INFO - openejb.base = /Users/dblevins/examples/simple-stateless-with-descriptor
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/simple-stateless-with-descriptor/target/classes
-INFO - Beginning load: /Users/dblevins/examples/simple-stateless-with-descriptor/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/simple-stateless-with-descriptor/classpath.ear
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean CalculatorImpl: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Enterprise application "/Users/dblevins/examples/simple-stateless-with-descriptor/classpath.ear" loaded.
-INFO - Assembling app: /Users/dblevins/examples/simple-stateless-with-descriptor/classpath.ear
-INFO - Jndi(name=CalculatorImplLocal) --> Ejb(deployment-id=CalculatorImpl)
-INFO - Jndi(name=global/classpath.ear/simple-stateless-with-descriptor/CalculatorImpl!org.superbiz.calculator.CalculatorLocal) --> Ejb(deployment-id=CalculatorImpl)
-INFO - Jndi(name=CalculatorImplRemote) --> Ejb(deployment-id=CalculatorImpl)
-INFO - Jndi(name=global/classpath.ear/simple-stateless-with-descriptor/CalculatorImpl!org.superbiz.calculator.CalculatorRemote) --> Ejb(deployment-id=CalculatorImpl)
-INFO - Jndi(name=global/classpath.ear/simple-stateless-with-descriptor/CalculatorImpl) --> Ejb(deployment-id=CalculatorImpl)
-INFO - Created Ejb(deployment-id=CalculatorImpl, ejb-name=CalculatorImpl, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=CalculatorImpl, ejb-name=CalculatorImpl, container=Default Stateless Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/simple-stateless-with-descriptor/classpath.ear)
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.475 sec
-
-Results :
-
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/simple-stateless.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/simple-stateless.adoc b/src/main/jbake/content/examples/simple-stateless.adoc
deleted file mode 100755
index 0845b5e..0000000
--- a/src/main/jbake/content/examples/simple-stateless.adoc
+++ /dev/null
@@ -1,221 +0,0 @@
-= Simple Stateless
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example simple-stateless can be browsed at https://github.com/apache/tomee/tree/master/examples/simple-stateless
-
-
-
-NOTE: "Stateless session beans are session beans whose instances have no conversational state.
-
-This means that all bean instances are equivalent when they are not involved in servicing
-a client-invoked method. The term 'stateless' signifies that an instance has no state for a
-specific client."
-
-What this means is quite simply that stateless beans are shared. They do in fact have state
-as you can assign values to the variables, etc. in the bean instance. The only catch is there
-are a pool of identical instances and you are not guaranteed to get the exact same instance on
-every call. For each call, you get whatever instance happens to be available. This is identical
-to checking out a book from the library or renting a movie from the video store. You are essentially
-checking out or renting a new bean instance on each method call.
-
-==  CalculatorBean
-
-
-[source,java]
-----
-package org.superbiz.stateless.basic;
-
-import javax.ejb.Stateless;
-
-@Stateless
-public class CalculatorBean {
-
-    public int add(int a, int b) {
-        return a + b;
-    }
-
-    public int subtract(int a, int b) {
-        return a - b;
-    }
-
-    public int multiply(int a, int b) {
-        return a * b;
-    }
-
-    public int divide(int a, int b) {
-        return a / b;
-    }
-
-    public int remainder(int a, int b) {
-        return a % b;
-    }
-}
-----
-
-
-==  CalculatorTest
-
-Our `CalculatorBean` can be easily tested using the `EJBContainer` API in EJB 3.1
-
-
-[source,java]
-----
-package org.superbiz.stateless.basic;
-
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.NamingException;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-public class CalculatorTest {
-
-    private static EJBContainer ejbContainer;
-
-    private CalculatorBean calculator;
-
-    @BeforeClass
-    public static void startTheContainer() {
-        ejbContainer = EJBContainer.createEJBContainer();
-    }
-
-    @Before
-    public void lookupABean() throws NamingException {
-        Object object = ejbContainer.getContext().lookup("java:global/simple-stateless/CalculatorBean");
-
-        assertTrue(object instanceof CalculatorBean);
-
-        calculator = (CalculatorBean) object;
-    }
-
-    @AfterClass
-    public static void stopTheContainer() {
-        if (ejbContainer != null) {
-            ejbContainer.close();
-        }
-    }
-
-    /**
-     * Test Add method
-     */
-    @Test
-    public void testAdd() {
-
-        assertEquals(10, calculator.add(4, 6));
-
-    }
-
-    /**
-     * Test Subtract method
-     */
-    @Test
-    public void testSubtract() {
-
-        assertEquals(-2, calculator.subtract(4, 6));
-
-    }
-
-    /**
-     * Test Multiply method
-     */
-    @Test
-    public void testMultiply() {
-
-        assertEquals(24, calculator.multiply(4, 6));
-
-    }
-
-    /**
-     * Test Divide method
-     */
-    @Test
-    public void testDivide() {
-
-        assertEquals(2, calculator.divide(12, 6));
-
-    }
-
-    /**
-     * Test Remainder method
-     */
-    @Test
-    public void testRemainder() {
-
-        assertEquals(4, calculator.remainder(46, 6));
-
-    }
-
-}
-----
-
-
-=  Running
-
-
-Running the example should generate output similar to the following
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.stateless.basic.CalculatorTest
-Infos - ********************************************************************************
-Infos - OpenEJB http://tomee.apache.org/
-Infos - Startup: Tue Aug 14 13:28:12 CEST 2012
-Infos - Copyright 1999-2012 (C) Apache OpenEJB Project, All Rights Reserved.
-Infos - Version: 4.1.0
-Infos - Build date: 20120814
-Infos - Build time: 01:06
-Infos - ********************************************************************************
-Infos - openejb.home = /home/a185558/Development/Apache/openejb-trunk/examples/simple-stateless
-Infos - openejb.base = /home/a185558/Development/Apache/openejb-trunk/examples/simple-stateless
-Infos - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@33bb11
-Infos - Succeeded in installing singleton service
-Infos - Using 'javax.ejb.embeddable.EJBContainer=true'
-Infos - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-Infos - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-Infos - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-Infos - Creating TransactionManager(id=Default Transaction Manager)
-Infos - Creating SecurityService(id=Default Security Service)
-Infos - Beginning load: /home/a185558/Development/Apache/openejb-trunk/examples/simple-stateless/target/classes
-Infos - Configuring enterprise application: /home/a185558/Development/Apache/openejb-trunk/examples/simple-stateless
-Infos - Auto-deploying ejb CalculatorBean: EjbDeployment(deployment-id=CalculatorBean)
-Infos - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-Infos - Auto-creating a container for bean CalculatorBean: Container(type=STATELESS, id=Default Stateless Container)
-Infos - Creating Container(id=Default Stateless Container)
-Infos - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-Infos - Auto-creating a container for bean org.superbiz.stateless.basic.CalculatorTest: Container(type=MANAGED, id=Default Managed Container)
-Infos - Creating Container(id=Default Managed Container)
-Infos - Using directory /tmp for stateful session passivation
-Infos - Enterprise application "/home/a185558/Development/Apache/openejb-trunk/examples/simple-stateless" loaded.
-Infos - Assembling app: /home/a185558/Development/Apache/openejb-trunk/examples/simple-stateless
-Infos - Jndi(name="java:global/simple-stateless/CalculatorBean!org.superbiz.stateless.basic.CalculatorBean")
-Infos - Jndi(name="java:global/simple-stateless/CalculatorBean")
-Infos - Existing thread singleton service in SystemInstance() org.apache.openejb.cdi.ThreadSingletonServiceImpl@33bb11
-Infos - OpenWebBeans Container is starting...
-Infos - Adding OpenWebBeansPlugin : [CdiPlugin]
-Infos - All injection points are validated successfully.
-Infos - OpenWebBeans Container has started, it took 135 ms.
-Infos - Created Ejb(deployment-id=CalculatorBean, ejb-name=CalculatorBean, container=Default Stateless Container)
-Infos - Started Ejb(deployment-id=CalculatorBean, ejb-name=CalculatorBean, container=Default Stateless Container)
-Infos - Deployed Application(path=/home/a185558/Development/Apache/openejb-trunk/examples/simple-stateless)
-Infos - Undeploying app: /home/a185558/Development/Apache/openejb-trunk/examples/simple-stateless
-Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.068 sec
-
-Results :
-
-Tests run: 5, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/simple-webservice-without-interface.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/simple-webservice-without-interface.adoc b/src/main/jbake/content/examples/simple-webservice-without-interface.adoc
deleted file mode 100755
index fc17728..0000000
--- a/src/main/jbake/content/examples/simple-webservice-without-interface.adoc
+++ /dev/null
@@ -1,110 +0,0 @@
-= Simple Webservice Without Interface
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example simple-webservice-without-interface can be browsed at https://github.com/apache/tomee/tree/master/examples/simple-webservice-without-interface
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Calculator
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-import javax.ejb.Stateless;
-import javax.jws.WebService;
-
-@Stateless
-@WebService(
-        portName = "CalculatorPort",
-        serviceName = "CalculatorWsService",
-        targetNamespace = "http://superbiz.org/wsdl")
-public class Calculator {
-    public int sum(int add1, int add2) {
-        return add1 + add2;
-    }
-
-    public int multiply(int mul1, int mul2) {
-        return mul1 * mul2;
-    }
-}
-----
-
-
-==  ejb-jar.xml
-
-
-[source,xml]
-----
-<ejb-jar/>
-----
-
-
-==  CalculatorTest
-
-
-[source,java]
-----
-package org.superbiz.calculator;
-
-import org.apache.commons.io.IOUtils;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.NamingException;
-import java.net.URL;
-import java.util.Properties;
-
-import static org.junit.Assert.assertTrue;
-
-public class CalculatorTest {
-    private static EJBContainer container;
-
-    @BeforeClass
-    public static void setUp() throws Exception {
-        final Properties properties = new Properties();
-        properties.setProperty("openejb.embedded.remotable", "true");
-
-        container = EJBContainer.createEJBContainer(properties);
-    }
-
-    @Before
-    public void inject() throws NamingException {
-        if (container != null) {
-            container.getContext().bind("inject", this);
-        }
-    }
-
-    @AfterClass
-    public static void close() {
-        if (container != null) {
-            container.close();
-        }
-    }
-
-    @Test
-    public void wsdlExists() throws Exception {
-        final URL url = new URL("http://127.0.0.1:4204/Calculator?wsdl");
-        assertTrue(IOUtils.readLines(url.openStream()).size() > 0);
-        assertTrue(IOUtils.readLines(url.openStream()).toString().contains("CalculatorWsService"));
-    }
-}
-----
-
-
-==  ejb-jar.xml
-
-
-[source,xml]
-----
-<ejb-jar/>
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/simple-webservice.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/simple-webservice.adoc b/src/main/jbake/content/examples/simple-webservice.adoc
deleted file mode 100755
index 172fd4a..0000000
--- a/src/main/jbake/content/examples/simple-webservice.adoc
+++ /dev/null
@@ -1,386 +0,0 @@
-= JAX-WS @WebService example
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example simple-webservice can be browsed at https://github.com/apache/tomee/tree/master/examples/simple-webservice
-
-
-Creating Web Services with JAX-WS is quite easy.  Little has to be done aside from annotating a class with `@WebService`.  For
-the purposes of this example we will also annotate our component with `@Stateless` which takes some of the configuration out of
-the process and gives us some nice options such as transactions and security.
-
-==  @WebService
-
-The following is all that is required.  No external xml files are needed.  This class placed in a jar or war and deployed into a compliant Java EE server like TomEE is enough to have the Calculator class discovered and deployed and the webservice online.
-
-
-[source,java]
-----
-import javax.ejb.Stateless;
-import javax.jws.WebService;
-
-@Stateless
-@WebService(
-        portName = "CalculatorPort",
-        serviceName = "CalculatorService",
-        targetNamespace = "http://superbiz.org/wsdl",
-        endpointInterface = "org.superbiz.calculator.ws.CalculatorWs")
-public class Calculator implements CalculatorWs {
-
-    public int sum(int add1, int add2) {
-        return add1 + add2;
-    }
-
-    public int multiply(int mul1, int mul2) {
-        return mul1 * mul2;
-    }
-}
-----
-
-
-==  @WebService Endpoint Interface
-
-Having an endpoint interface is not required, but it can make testing and using the web service from other Java clients far easier.
-
-
-[source,java]
-----
-import javax.jws.WebService;
-
-@WebService(targetNamespace = "http://superbiz.org/wsdl")
-public interface CalculatorWs {
-
-    public int sum(int add1, int add2);
-
-    public int multiply(int mul1, int mul2);
-}
-----
-
-
-==  Calculator WSDL
-
-The wsdl for our service is autmatically created for us and available at `http://127.0.0.1:4204/Calculator?wsdl`.  In TomEE or Tomcat this would be at `http://127.0.0.1:8080/simple-webservice/Calculator?wsdl`
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" name="CalculatorService"
-                  targetNamespace="http://superbiz.org/wsdl"
-                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
-                  xmlns:tns="http://superbiz.org/wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-  <wsdl:types>
-    <xsd:schema attributeFormDefault="unqualified" elementFormDefault="unqualified"
-                targetNamespace="http://superbiz.org/wsdl" xmlns:tns="http://superbiz.org/wsdl"
-                xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-      <xsd:element name="multiply" type="tns:multiply"/>
-      <xsd:complexType name="multiply">
-        <xsd:sequence>
-          <xsd:element name="arg0" type="xsd:int"/>
-          <xsd:element name="arg1" type="xsd:int"/>
-        </xsd:sequence>
-      </xsd:complexType>
-      <xsd:element name="multiplyResponse" type="tns:multiplyResponse"/>
-      <xsd:complexType name="multiplyResponse">
-        <xsd:sequence>
-          <xsd:element name="return" type="xsd:int"/>
-        </xsd:sequence>
-      </xsd:complexType>
-      <xsd:element name="sum" type="tns:sum"/>
-      <xsd:complexType name="sum">
-        <xsd:sequence>
-          <xsd:element name="arg0" type="xsd:int"/>
-          <xsd:element name="arg1" type="xsd:int"/>
-        </xsd:sequence>
-      </xsd:complexType>
-      <xsd:element name="sumResponse" type="tns:sumResponse"/>
-      <xsd:complexType name="sumResponse">
-        <xsd:sequence>
-          <xsd:element name="return" type="xsd:int"/>
-        </xsd:sequence>
-      </xsd:complexType>
-    </xsd:schema>
-  </wsdl:types>
-  <wsdl:message name="multiplyResponse">
-    <wsdl:part element="tns:multiplyResponse" name="parameters"/>
-  </wsdl:message>
-  <wsdl:message name="sumResponse">
-    <wsdl:part element="tns:sumResponse" name="parameters"/>
-  </wsdl:message>
-  <wsdl:message name="sum">
-    <wsdl:part element="tns:sum" name="parameters"/>
-  </wsdl:message>
-  <wsdl:message name="multiply">
-    <wsdl:part element="tns:multiply" name="parameters"/>
-  </wsdl:message>
-  <wsdl:portType name="CalculatorWs">
-    <wsdl:operation name="multiply">
-      <wsdl:input message="tns:multiply" name="multiply"/>
-      <wsdl:output message="tns:multiplyResponse" name="multiplyResponse"/>
-    </wsdl:operation>
-    <wsdl:operation name="sum">
-      <wsdl:input message="tns:sum" name="sum"/>
-      <wsdl:output message="tns:sumResponse" name="sumResponse"/>
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:binding name="CalculatorServiceSoapBinding" type="tns:CalculatorWs">
-    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-    <wsdl:operation name="multiply">
-      <soap:operation soapAction="" style="document"/>
-      <wsdl:input name="multiply">
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output name="multiplyResponse">
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="sum">
-      <soap:operation soapAction="" style="document"/>
-      <wsdl:input name="sum">
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output name="sumResponse">
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:service name="CalculatorService">
-    <wsdl:port binding="tns:CalculatorServiceSoapBinding" name="CalculatorPort">
-      <soap:address location="http://127.0.0.1:4204/Calculator?wsdl"/>
-    </wsdl:port>
-  </wsdl:service>
-</wsdl:definitions>
-----
-
-
-==  Accessing the @WebService with javax.xml.ws.Service
-
-In our testcase we see how to create a client for our `Calculator` service via the `javax.xml.ws.Service` class and leveraging our `CalculatorWs` endpoint interface.
-
-With this we can get an implementation of the interfacce generated dynamically for us that can be used to send compliant SOAP messages to our service.
-
-
-[source,java]
-----
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.xml.namespace.QName;
-import javax.xml.ws.Service;
-import java.net.URL;
-import java.util.Properties;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-public class CalculatorTest {
-
-    @BeforeClass
-    public static void setUp() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty("openejb.embedded.remotable", "true");
-        //properties.setProperty("httpejbd.print", "true");
-        //properties.setProperty("httpejbd.indent.xml", "true");
-        EJBContainer.createEJBContainer(properties);
-    }
-
-    @Test
-    public void test() throws Exception {
-        Service calculatorService = Service.create(
-                new URL("http://127.0.0.1:4204/Calculator?wsdl"),
-                new QName("http://superbiz.org/wsdl", "CalculatorService"));
-
-        assertNotNull(calculatorService);
-
-        CalculatorWs calculator = calculatorService.getPort(CalculatorWs.class);
-        assertEquals(10, calculator.sum(4, 6));
-        assertEquals(12, calculator.multiply(3, 4));
-    }
-}
-----
-
-
-For easy testing we'll use the Embeddable EJBContainer API part of EJB 3.1 to boot CXF in our testcase.  This will deploy our application in the embedded container and bring the web service online so we can invoke it.
-
-=  Running
-
-Running the example can be done from maven with a simple 'mvn clean install' command run from the 'simple-webservice' directory.
-
-When run you should see output similar to the following.
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.calculator.ws.CalculatorTest
-INFO - ********************************************************************************
-INFO - OpenEJB http://tomee.apache.org/
-INFO - Startup: Sat Feb 18 19:11:50 PST 2012
-INFO - Copyright 1999-2012 (C) Apache OpenEJB Project, All Rights Reserved.
-INFO - Version: 4.0.0-beta-3
-INFO - Build date: 20120218
-INFO - Build time: 03:32
-INFO - ********************************************************************************
-INFO - openejb.home = /Users/dblevins/work/all/trunk/openejb/examples/simple-webservice
-INFO - openejb.base = /Users/dblevins/work/all/trunk/openejb/examples/simple-webservice
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@16bdb503
-INFO - succeeded in installing singleton service
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Default Security Service)
-INFO - Beginning load: /Users/dblevins/work/all/trunk/openejb/examples/simple-webservice/target/classes
-INFO - Using 'openejb.embedded=true'
-INFO - Configuring enterprise application: /Users/dblevins/work/all/trunk/openejb/examples/simple-webservice
-INFO - Auto-deploying ejb Calculator: EjbDeployment(deployment-id=Calculator)
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean Calculator: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Creating Container(id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.calculator.ws.CalculatorTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory /var/folders/bd/f9ntqy1m8xj_fs006s6crtjh0000gn/T for stateful session passivation
-INFO - Enterprise application "/Users/dblevins/work/all/trunk/openejb/examples/simple-webservice" loaded.
-INFO - Assembling app: /Users/dblevins/work/all/trunk/openejb/examples/simple-webservice
-INFO - ignoreXmlConfiguration == true
-INFO - ignoreXmlConfiguration == true
-INFO - existing thread singleton service in SystemInstance() org.apache.openejb.cdi.ThreadSingletonServiceImpl@16bdb503
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points were validated successfully.
-INFO - OpenWebBeans Container has started, it took [62] ms.
-INFO - Created Ejb(deployment-id=Calculator, ejb-name=Calculator, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=Calculator, ejb-name=Calculator, container=Default Stateless Container)
-INFO - Deployed Application(path=/Users/dblevins/work/all/trunk/openejb/examples/simple-webservice)
-INFO - Initializing network services
-INFO - can't find log4j MDC class
-INFO - Creating ServerService(id=httpejbd)
-INFO - Creating ServerService(id=cxf)
-INFO - Creating ServerService(id=admin)
-INFO - Creating ServerService(id=ejbd)
-INFO - Creating ServerService(id=ejbds)
-INFO - Initializing network services
-INFO -   ** Starting Services **
-INFO -   NAME                 IP              PORT
-INFO -   httpejbd             127.0.0.1       4204
-INFO - Creating Service {http://superbiz.org/wsdl}CalculatorService from class org.superbiz.calculator.ws.CalculatorWs
-INFO - Setting the server's publish address to be http://nopath:80
-INFO - Webservice(wsdl=http://127.0.0.1:4204/Calculator, qname={http://superbiz.org/wsdl}CalculatorService) --> Ejb(id=Calculator)
-INFO -   admin thread         127.0.0.1       4200
-INFO -   ejbd                 127.0.0.1       4201
-INFO -   ejbd                 127.0.0.1       4203
-INFO - -------
-INFO - Ready!
-INFO - Creating Service {http://superbiz.org/wsdl}CalculatorService from WSDL: http://127.0.0.1:4204/Calculator?wsdl
-INFO - Creating Service {http://superbiz.org/wsdl}CalculatorService from WSDL: http://127.0.0.1:4204/Calculator?wsdl
-INFO - Default SAAJ universe not set
-INFO - TX NotSupported: Suspended transaction null
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.584 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-
-==  Inspecting the messages
-
-The above test case will result in the following SOAP messages being sent between the clien and server.
-
-===  sum(int, int)
-
-Request SOAP message:
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
-  <soap:Body>
-    <ns1:sum xmlns:ns1="http://superbiz.org/wsdl">
-      <arg0>4</arg0>
-      <arg1>6</arg1>
-    </ns1:sum>
-  </soap:Body>
-</soap:Envelope>
-----
-
-
-Response SOAP message:
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
-  <soap:Body>
-    <ns1:sumResponse xmlns:ns1="http://superbiz.org/wsdl">
-      <return>10</return>
-    </ns1:sumResponse>
-  </soap:Body>
-</soap:Envelope>
-----
-
-
-===  multiply(int, int)
-
-Request SOAP message:
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
-  <soap:Body>
-    <ns1:multiply xmlns:ns1="http://superbiz.org/wsdl">
-      <arg0>3</arg0>
-      <arg1>4</arg1>
-    </ns1:multiply>
-  </soap:Body>
-</soap:Envelope>
-----
-
-
-Response SOAP message:
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
-  <soap:Body>
-    <ns1:multiplyResponse xmlns:ns1="http://superbiz.org/wsdl">
-      <return>12</return>
-    </ns1:multiplyResponse>
-  </soap:Body>
-</soap:Envelope>
-----
-
-
-==  Inside the jar
-
-With so much going on it can make things look more complex than they are.  It can be hard to believe that so much can happen with such little code.  That's the benefit of having an app server.
-
-If we look at the jar built by maven, we'll see the application itself is quite small:
-
-    $ jar tvf target/simple-webservice-1.1.0-SNAPSHOT.jar
-         0 Sat Feb 18 19:17:06 PST 2012 META-INF/
-       127 Sat Feb 18 19:17:04 PST 2012 META-INF/MANIFEST.MF
-         0 Sat Feb 18 19:17:02 PST 2012 org/
-         0 Sat Feb 18 19:17:02 PST 2012 org/superbiz/
-         0 Sat Feb 18 19:17:02 PST 2012 org/superbiz/calculator/
-         0 Sat Feb 18 19:17:02 PST 2012 org/superbiz/calculator/ws/
-       855 Sat Feb 18 19:17:02 PST 2012 org/superbiz/calculator/ws/Calculator.class
-       288 Sat Feb 18 19:17:02 PST 2012 org/superbiz/calculator/ws/CalculatorWs.class
-
-This single jar could be deployed any any compliant Java EE implementation.  In TomEE you'd simply place it in the `tomee.home/webapps/` directory.  No war file necessary.  If you did want to create a war, you'd simply place the jar in the `WEB-INF/lib/` directory of the war.
-
-The server already contains the right libraries to run the code, such as Apache CXF, so no need to include anything extra beyond your own application code.
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/spring-data-proxy-meta.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/spring-data-proxy-meta.adoc b/src/main/jbake/content/examples/spring-data-proxy-meta.adoc
deleted file mode 100755
index f71dfc8..0000000
--- a/src/main/jbake/content/examples/spring-data-proxy-meta.adoc
+++ /dev/null
@@ -1,20 +0,0 @@
-= spring-data-proxy-meta
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example spring-data-proxy-meta can be browsed at https://github.com/apache/tomee/tree/master/examples/spring-data-proxy-meta
-
-=  Spring Data With Meta sample #
-
-This example simply simplifies the usage of spring-data sample
-providing a meta annotation @SpringRepository to do all the dynamic procy EJB job.
-
-It replaces @Proxy and @Stateless annotations.
-
-Isn't it more comfortable?
-
-To do it we defined a meta annotation "Metatype" and used it.
-
-The proxy implementation is the same than for spring-data sample.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/spring-data-proxy.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/spring-data-proxy.adoc b/src/main/jbake/content/examples/spring-data-proxy.adoc
deleted file mode 100755
index 59437f7..0000000
--- a/src/main/jbake/content/examples/spring-data-proxy.adoc
+++ /dev/null
@@ -1,22 +0,0 @@
-= spring-data-proxy
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example spring-data-proxy can be browsed at https://github.com/apache/tomee/tree/master/examples/spring-data-proxy
-
-=  Spring Data sample #
-
-This example uses OpenEJB hooks to replace an EJB implementation by a proxy
-to uses Spring Data in your preferred container.
-
-It is pretty simple: simply provide to OpenEJB an InvocationHandler using delegating to spring data
-and that's it!
-
-It is what is done in org.superbiz.dynamic.SpringDataProxy.
-
-It contains a little trick: even if it is not annotated "implementingInterfaceClass" attribute
-is injected by OpenEJB to get the interface.
-
-Then we simply create the Spring Data repository and delegate to it.


[18/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/component-interfaces.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/component-interfaces.adoc b/src/main/jbake/content/examples/component-interfaces.adoc
deleted file mode 100755
index accdf64..0000000
--- a/src/main/jbake/content/examples/component-interfaces.adoc
+++ /dev/null
@@ -1,497 +0,0 @@
-= Component Interfaces
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example component-interfaces can be browsed at https://github.com/apache/tomee/tree/master/examples/component-interfaces
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  FriendlyPerson
-
-
-[source,java]
-----
-package org.superbiz;
-
-import javax.ejb.Init;
-import javax.ejb.Local;
-import javax.ejb.LocalHome;
-import javax.ejb.Remote;
-import javax.ejb.RemoteHome;
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Properties;
-
-/**
- * This is an EJB 3 style pojo stateful session bean
- * it does not need to implement javax.ejb.SessionBean
- *
- */
-//START SNIPPET: code
-
-// EJB 3.0 Style business interfaces
-// Each of these interfaces are already annotated in the classes
-// themselves with @Remote and @Local, so annotating them here
-// in the bean class again is not really required.
-@Remote({FriendlyPersonRemote.class})
-@Local({FriendlyPersonLocal.class})
-
-// EJB 2.1 Style component interfaces
-// These interfaces, however, must be annotated here in the bean class.
-// Use of @RemoteHome in the FriendlyPersonEjbHome class itself is not allowed.
-// Use of @LocalHome in the FriendlyPersonEjbLocalHome class itself is also not allowed.
-@RemoteHome(FriendlyPersonEjbHome.class)
-@LocalHome(FriendlyPersonEjbLocalHome.class)
-
-@Stateful
-public class FriendlyPerson implements FriendlyPersonLocal, FriendlyPersonRemote {
-
-    private final HashMap<String, MessageFormat> greetings;
-    private final Properties languagePreferences;
-
-    private String defaultLanguage;
-
-    public FriendlyPerson() {
-        greetings = new HashMap();
-        languagePreferences = new Properties();
-        defaultLanguage = Locale.getDefault().getLanguage();
-
-        addGreeting("en", "Hello {0}!");
-        addGreeting("es", "Hola {0}!");
-        addGreeting("fr", "Bonjour {0}!");
-        addGreeting("pl", "Witaj {0}!");
-    }
-
-    /**
-     * This method corresponds to the FriendlyPersonEjbHome.create() method
-     * and the FriendlyPersonEjbLocalHome.create()
-     * <p/>
-     * If you do not have an EJBHome or EJBLocalHome interface, this method
-     * can be deleted.
-     */
-    @Init
-    public void create() {
-    }
-
-    /**
-     * This method corresponds to the following methods:
-     * - EJBObject.remove()
-     * - EJBHome.remove(ejbObject)
-     * - EJBLocalObject.remove()
-     * - EJBLocalHome.remove(ejbObject)
-     * <p/>
-     * If you do not have an EJBHome or EJBLocalHome interface, this method
-     * can be deleted.
-     */
-    @Remove
-    public void remove() {
-    }
-
-    public String greet(String friend) {
-        String language = languagePreferences.getProperty(friend, defaultLanguage);
-        return greet(language, friend);
-    }
-
-    public String greet(String language, String friend) {
-        MessageFormat greeting = greetings.get(language);
-        if (greeting == null) {
-            Locale locale = new Locale(language);
-            return "Sorry, I don't speak " + locale.getDisplayLanguage() + ".";
-        }
-
-        return greeting.format(new Object[]{friend});
-    }
-
-    public void addGreeting(String language, String message) {
-        greetings.put(language, new MessageFormat(message));
-    }
-
-    public void setLanguagePreferences(String friend, String language) {
-        languagePreferences.put(friend, language);
-    }
-
-    public String getDefaultLanguage() {
-        return defaultLanguage;
-    }
-
-    public void setDefaultLanguage(String defaultLanguage) {
-        this.defaultLanguage = defaultLanguage;
-    }
-}
-----
-
-
-==  FriendlyPersonEjbHome
-
-
-[source,java]
-----
-package org.superbiz;
-
-//START SNIPPET: code
-
-import javax.ejb.CreateException;
-import javax.ejb.EJBHome;
-import java.rmi.RemoteException;
-
-public interface FriendlyPersonEjbHome extends EJBHome {
-    FriendlyPersonEjbObject create() throws CreateException, RemoteException;
-}
-----
-
-
-==  FriendlyPersonEjbLocalHome
-
-
-[source,java]
-----
-package org.superbiz;
-
-//START SNIPPET: code
-
-import javax.ejb.CreateException;
-import javax.ejb.EJBLocalHome;
-import java.rmi.RemoteException;
-
-public interface FriendlyPersonEjbLocalHome extends EJBLocalHome {
-    FriendlyPersonEjbLocalObject create() throws CreateException, RemoteException;
-}
-----
-
-
-==  FriendlyPersonEjbLocalObject
-
-
-[source,java]
-----
-package org.superbiz;
-
-import javax.ejb.EJBLocalObject;
-
-public interface FriendlyPersonEjbLocalObject extends EJBLocalObject {
-    String greet(String friend);
-
-    String greet(String language, String friend);
-
-    void addGreeting(String language, String message);
-
-    void setLanguagePreferences(String friend, String language);
-
-    String getDefaultLanguage();
-
-    void setDefaultLanguage(String defaultLanguage);
-}
-----
-
-
-==  FriendlyPersonEjbObject
-
-
-[source,java]
-----
-package org.superbiz;
-
-//START SNIPPET: code
-
-import javax.ejb.EJBObject;
-import java.rmi.RemoteException;
-
-public interface FriendlyPersonEjbObject extends EJBObject {
-    String greet(String friend) throws RemoteException;
-
-    String greet(String language, String friend) throws RemoteException;
-
-    void addGreeting(String language, String message) throws RemoteException;
-
-    void setLanguagePreferences(String friend, String language) throws RemoteException;
-
-    String getDefaultLanguage() throws RemoteException;
-
-    void setDefaultLanguage(String defaultLanguage) throws RemoteException;
-}
-----
-
-
-==  FriendlyPersonLocal
-
-
-[source,java]
-----
-package org.superbiz;
-
-//START SNIPPET: code
-
-import javax.ejb.Local;
-
-@Local
-public interface FriendlyPersonLocal {
-    String greet(String friend);
-
-    String greet(String language, String friend);
-
-    void addGreeting(String language, String message);
-
-    void setLanguagePreferences(String friend, String language);
-
-    String getDefaultLanguage();
-
-    void setDefaultLanguage(String defaultLanguage);
-}
-----
-
-
-==  FriendlyPersonRemote
-
-
-[source,java]
-----
-package org.superbiz;
-
-import javax.ejb.Remote;
-
-//START SNIPPET: code
-@Remote
-public interface FriendlyPersonRemote {
-    String greet(String friend);
-
-    String greet(String language, String friend);
-
-    void addGreeting(String language, String message);
-
-    void setLanguagePreferences(String friend, String language);
-
-    String getDefaultLanguage();
-
-    void setDefaultLanguage(String defaultLanguage);
-}
-----
-
-
-==  FriendlyPersonTest
-
-
-[source,java]
-----
-package org.superbiz;
-
-import junit.framework.TestCase;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import java.util.Locale;
-
-/**
- * @version $Rev: 1090810 $ $Date: 2011-04-10 07:49:26 -0700 (Sun, 10 Apr 2011) $
- */
-public class FriendlyPersonTest extends TestCase {
-
-    private Context context;
-
-    protected void setUp() throws Exception {
-        context = EJBContainer.createEJBContainer().getContext();
-    }
-
-    /**
-     * Here we lookup and test the FriendlyPerson bean via its EJB 2.1 EJBHome and EJBObject interfaces
-     *
-     * @throws Exception
-     */
-    //START SNIPPET: remotehome
-    public void testEjbHomeAndEjbObject() throws Exception {
-        Object object = context.lookup("java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonEjbHome");
-        FriendlyPersonEjbHome home = (FriendlyPersonEjbHome) object;
-        FriendlyPersonEjbObject friendlyPerson = home.create();
-
-        friendlyPerson.setDefaultLanguage("en");
-
-        assertEquals("Hello David!", friendlyPerson.greet("David"));
-        assertEquals("Hello Amelia!", friendlyPerson.greet("Amelia"));
-
-        friendlyPerson.setLanguagePreferences("Amelia", "es");
-
-        assertEquals("Hello David!", friendlyPerson.greet("David"));
-        assertEquals("Hola Amelia!", friendlyPerson.greet("Amelia"));
-
-        // Amelia took some French, let's see if she remembers
-        assertEquals("Bonjour Amelia!", friendlyPerson.greet("fr", "Amelia"));
-
-        // Dave should take some Polish and if he had, he could say Hi in Polish
-        assertEquals("Witaj Dave!", friendlyPerson.greet("pl", "Dave"));
-
-        // Let's see if I speak Portuguese
-        assertEquals("Sorry, I don't speak " + new Locale("pt").getDisplayLanguage() + ".", friendlyPerson.greet("pt", "David"));
-
-        // Ok, well I've been meaning to learn, so...
-        friendlyPerson.addGreeting("pt", "Ola {0}!");
-
-        assertEquals("Ola David!", friendlyPerson.greet("pt", "David"));
-    }
-    //END SNIPPET: remotehome
-
-
-    /**
-     * Here we lookup and test the FriendlyPerson bean via its EJB 2.1 EJBLocalHome and EJBLocalObject interfaces
-     *
-     * @throws Exception
-     */
-    public void testEjbLocalHomeAndEjbLocalObject() throws Exception {
-        Object object = context.lookup("java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonEjbLocalHome");
-        FriendlyPersonEjbLocalHome home = (FriendlyPersonEjbLocalHome) object;
-        FriendlyPersonEjbLocalObject friendlyPerson = home.create();
-
-        friendlyPerson.setDefaultLanguage("en");
-
-        assertEquals("Hello David!", friendlyPerson.greet("David"));
-        assertEquals("Hello Amelia!", friendlyPerson.greet("Amelia"));
-
-        friendlyPerson.setLanguagePreferences("Amelia", "es");
-
-        assertEquals("Hello David!", friendlyPerson.greet("David"));
-        assertEquals("Hola Amelia!", friendlyPerson.greet("Amelia"));
-
-        // Amelia took some French, let's see if she remembers
-        assertEquals("Bonjour Amelia!", friendlyPerson.greet("fr", "Amelia"));
-
-        // Dave should take some Polish and if he had, he could say Hi in Polish
-        assertEquals("Witaj Dave!", friendlyPerson.greet("pl", "Dave"));
-
-        // Let's see if I speak Portuguese
-        assertEquals("Sorry, I don't speak " + new Locale("pt").getDisplayLanguage() + ".", friendlyPerson.greet("pt", "David"));
-
-        // Ok, well I've been meaning to learn, so...
-        friendlyPerson.addGreeting("pt", "Ola {0}!");
-
-        assertEquals("Ola David!", friendlyPerson.greet("pt", "David"));
-    }
-
-    /**
-     * Here we lookup and test the FriendlyPerson bean via its EJB 3.0 business remote interface
-     *
-     * @throws Exception
-     */
-    //START SNIPPET: remote
-    public void testBusinessRemote() throws Exception {
-        Object object = context.lookup("java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonRemote");
-
-        FriendlyPersonRemote friendlyPerson = (FriendlyPersonRemote) object;
-
-        friendlyPerson.setDefaultLanguage("en");
-
-        assertEquals("Hello David!", friendlyPerson.greet("David"));
-        assertEquals("Hello Amelia!", friendlyPerson.greet("Amelia"));
-
-        friendlyPerson.setLanguagePreferences("Amelia", "es");
-
-        assertEquals("Hello David!", friendlyPerson.greet("David"));
-        assertEquals("Hola Amelia!", friendlyPerson.greet("Amelia"));
-
-        // Amelia took some French, let's see if she remembers
-        assertEquals("Bonjour Amelia!", friendlyPerson.greet("fr", "Amelia"));
-
-        // Dave should take some Polish and if he had, he could say Hi in Polish
-        assertEquals("Witaj Dave!", friendlyPerson.greet("pl", "Dave"));
-
-        // Let's see if I speak Portuguese
-        assertEquals("Sorry, I don't speak " + new Locale("pt").getDisplayLanguage() + ".", friendlyPerson.greet("pt", "David"));
-
-        // Ok, well I've been meaning to learn, so...
-        friendlyPerson.addGreeting("pt", "Ola {0}!");
-
-        assertEquals("Ola David!", friendlyPerson.greet("pt", "David"));
-    }
-    //START SNIPPET: remote
-
-    /**
-     * Here we lookup and test the FriendlyPerson bean via its EJB 3.0 business local interface
-     *
-     * @throws Exception
-     */
-    public void testBusinessLocal() throws Exception {
-        Object object = context.lookup("java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonLocal");
-
-        FriendlyPersonLocal friendlyPerson = (FriendlyPersonLocal) object;
-
-        friendlyPerson.setDefaultLanguage("en");
-
-        assertEquals("Hello David!", friendlyPerson.greet("David"));
-        assertEquals("Hello Amelia!", friendlyPerson.greet("Amelia"));
-
-        friendlyPerson.setLanguagePreferences("Amelia", "es");
-
-        assertEquals("Hello David!", friendlyPerson.greet("David"));
-        assertEquals("Hola Amelia!", friendlyPerson.greet("Amelia"));
-
-        // Amelia took some French, let's see if she remembers
-        assertEquals("Bonjour Amelia!", friendlyPerson.greet("fr", "Amelia"));
-
-        // Dave should take some Polish and if he had, he could say Hi in Polish
-        assertEquals("Witaj Dave!", friendlyPerson.greet("pl", "Dave"));
-
-        // Let's see if I speak Portuguese
-        assertEquals("Sorry, I don't speak " + new Locale("pt").getDisplayLanguage() + ".", friendlyPerson.greet("pt", "David"));
-
-        // Ok, well I've been meaning to learn, so...
-        friendlyPerson.addGreeting("pt", "Ola {0}!");
-
-        assertEquals("Ola David!", friendlyPerson.greet("pt", "David"));
-    }
-
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.FriendlyPersonTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/component-interfaces
-INFO - openejb.base = /Users/dblevins/examples/component-interfaces
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/component-interfaces/target/classes
-INFO - Beginning load: /Users/dblevins/examples/component-interfaces/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/component-interfaces
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean FriendlyPerson: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.FriendlyPersonTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/component-interfaces" loaded.
-INFO - Assembling app: /Users/dblevins/examples/component-interfaces
-INFO - Jndi(name="java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonLocal")
-INFO - Jndi(name="java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonRemote")
-INFO - Jndi(name="java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonEjbLocalHome")
-INFO - Jndi(name="java:global/component-interfaces/FriendlyPerson!org.superbiz.FriendlyPersonEjbHome")
-INFO - Jndi(name="java:global/component-interfaces/FriendlyPerson")
-INFO - Jndi(name="java:global/EjbModule803660549/org.superbiz.FriendlyPersonTest!org.superbiz.FriendlyPersonTest")
-INFO - Jndi(name="java:global/EjbModule803660549/org.superbiz.FriendlyPersonTest")
-INFO - Created Ejb(deployment-id=FriendlyPerson, ejb-name=FriendlyPerson, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=org.superbiz.FriendlyPersonTest, ejb-name=org.superbiz.FriendlyPersonTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=FriendlyPerson, ejb-name=FriendlyPerson, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=org.superbiz.FriendlyPersonTest, ejb-name=org.superbiz.FriendlyPersonTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/component-interfaces)
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.444 sec
-
-Results :
-
-Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/cucumber-jvm.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/cucumber-jvm.adoc b/src/main/jbake/content/examples/cucumber-jvm.adoc
deleted file mode 100755
index 69da1df..0000000
--- a/src/main/jbake/content/examples/cucumber-jvm.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= cucumber-jvm
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example cucumber-jvm can be browsed at https://github.com/apache/tomee/tree/master/examples/cucumber-jvm
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/custom-injection.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/custom-injection.adoc b/src/main/jbake/content/examples/custom-injection.adoc
deleted file mode 100755
index 7edf520..0000000
--- a/src/main/jbake/content/examples/custom-injection.adoc
+++ /dev/null
@@ -1,256 +0,0 @@
-= Custom Injection
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example custom-injection can be browsed at https://github.com/apache/tomee/tree/master/examples/custom-injection
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Pickup
-
-
-[source,java]
-----
-package org.superbiz.enventries;
-
-
-//START SNIPPET: code
-
-import java.beans.PropertyEditorManager;
-
-public enum Pickup {
-
-    HUMBUCKER,
-    SINGLE_COIL;
-
-    // Here's the little magic where we register the PickupEditor
-    // which knows how to create this object from a string.
-    // You can add any of your own Property Editors in the same way.
-    static {
-        PropertyEditorManager.registerEditor(Pickup.class, PickupEditor.class);
-    }
-}
-----
-
-
-==  PickupEditor
-
-
-[source,java]
-----
-package org.superbiz.enventries;
-
-/**
- * With a java.beans.PropertyEditor, you can go way beyond the built-in
- * types that OpenEJB supports and can extend dependency injection to
- * just about anywhere.
- * <p/>
- * In the world of electric guitars, two types of pickups are used: humbucking, and single-coil.
- * Guitarists often refer to their guitars as HSS, meaning a guitar with 1 humbucker and
- * 2 single coil pickups, and so on.  This little PropertyEditor supports that shorthand notation.
- *
- * @version $Revision$ $Date$
- */
-//START SNIPPET: code
-public class PickupEditor extends java.beans.PropertyEditorSupport {
-
-    public void setAsText(String text) throws IllegalArgumentException {
-        text = text.trim();
-
-        if (text.equalsIgnoreCase("H")) setValue(Pickup.HUMBUCKER);
-        else if (text.equalsIgnoreCase("S")) setValue(Pickup.SINGLE_COIL);
-        else throw new IllegalStateException("H and S are the only supported Pickup aliases");
-    }
-}
-----
-
-
-==  Stratocaster
-
-
-[source,java]
-----
-package org.superbiz.enventries;
-
-import javax.annotation.Resource;
-import javax.ejb.Stateless;
-import java.io.File;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-/**
- * In addition to the standard env-entry types (String, Integer, Long, Short, Byte, Boolean, Double, Float, Character)
- * OpenEJB supports many other types.
- */
-//START SNIPPET: code
-@Stateless
-public class Stratocaster {
-
-
-    @Resource(name = "pickups")
-    private List<Pickup> pickups;
-
-    @Resource(name = "style")
-    private Style style;
-
-    @Resource(name = "dateCreated")
-    private Date dateCreated;
-
-    @Resource(name = "guitarStringGuages")
-    private Map<String, Float> guitarStringGuages;
-
-    @Resource(name = "certificateOfAuthenticity")
-    private File certificateOfAuthenticity;
-
-    public Date getDateCreated() {
-        return dateCreated;
-    }
-
-    /**
-     * Gets the guage of the electric guitar strings
-     * used in this guitar.
-     *
-     * @param string
-     * @return
-     */
-    public float getStringGuage(String string) {
-        return guitarStringGuages.get(string);
-    }
-
-    public List<Pickup> getPickups() {
-        return pickups;
-    }
-
-    public Style getStyle() {
-        return style;
-    }
-
-    public File getCertificateOfAuthenticity() {
-        return certificateOfAuthenticity;
-    }
-}
-----
-
-
-==  Style
-
-
-[source,java]
-----
-package org.superbiz.enventries;
-
-/**
- * @version $Revision$ $Date$
- */
-//START SNIPPET: code
-public enum Style {
-
-    STANDARD,
-    DELUX,
-    VINTAGE;
-}
-----
-
-
-==  StratocasterTest
-
-
-[source,java]
-----
-package org.superbiz.enventries;
-
-import junit.framework.TestCase;
-
-import javax.ejb.EJB;
-import javax.ejb.embeddable.EJBContainer;
-import java.io.File;
-import java.text.DateFormat;
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
-
-import static java.util.Arrays.asList;
-
-/**
- * @version $Rev: 1090810 $ $Date: 2011-04-10 07:49:26 -0700 (Sun, 10 Apr 2011) $
- */
-//START SNIPPET: code
-public class StratocasterTest extends TestCase {
-
-    @EJB
-    private Stratocaster strat;
-
-    public void test() throws Exception {
-        EJBContainer.createEJBContainer().getContext().bind("inject", this);
-
-        Date date = DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.US).parse("Mar 1, 1962");
-        assertEquals("Strat.getDateCreated()", date, strat.getDateCreated());
-
-        List<Pickup> pickups = asList(Pickup.SINGLE_COIL, Pickup.SINGLE_COIL, Pickup.SINGLE_COIL);
-        assertEquals("Strat.getPickups()", pickups, strat.getPickups());
-
-        assertEquals("Strat.getStyle()", Style.VINTAGE, strat.getStyle());
-
-        assertEquals("Strat.getStringGuage(\"E1\")", 0.052F, strat.getStringGuage("E1"));
-        assertEquals("Strat.getStringGuage(\"A\")", 0.042F, strat.getStringGuage("A"));
-        assertEquals("Strat.getStringGuage(\"D\")", 0.030F, strat.getStringGuage("D"));
-        assertEquals("Strat.getStringGuage(\"G\")", 0.017F, strat.getStringGuage("G"));
-        assertEquals("Strat.getStringGuage(\"B\")", 0.013F, strat.getStringGuage("B"));
-        assertEquals("Strat.getStringGuage(\"E\")", 0.010F, strat.getStringGuage("E"));
-
-        File file = new File("/tmp/strat-certificate.txt");
-        assertEquals("Strat.getCertificateOfAuthenticity()", file, strat.getCertificateOfAuthenticity());
-
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.enventries.StratocasterTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/custom-injection
-INFO - openejb.base = /Users/dblevins/examples/custom-injection
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/custom-injection/target/classes
-INFO - Beginning load: /Users/dblevins/examples/custom-injection/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/custom-injection
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean Stratocaster: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.enventries.StratocasterTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/custom-injection" loaded.
-INFO - Assembling app: /Users/dblevins/examples/custom-injection
-INFO - Jndi(name="java:global/custom-injection/Stratocaster!org.superbiz.enventries.Stratocaster")
-INFO - Jndi(name="java:global/custom-injection/Stratocaster")
-INFO - Jndi(name="java:global/EjbModule1663626738/org.superbiz.enventries.StratocasterTest!org.superbiz.enventries.StratocasterTest")
-INFO - Jndi(name="java:global/EjbModule1663626738/org.superbiz.enventries.StratocasterTest")
-INFO - Created Ejb(deployment-id=Stratocaster, ejb-name=Stratocaster, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.enventries.StratocasterTest, ejb-name=org.superbiz.enventries.StratocasterTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Stratocaster, ejb-name=Stratocaster, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.enventries.StratocasterTest, ejb-name=org.superbiz.enventries.StratocasterTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/custom-injection)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.11 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/datasource-ciphered-password.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/datasource-ciphered-password.adoc b/src/main/jbake/content/examples/datasource-ciphered-password.adoc
deleted file mode 100755
index f5584e2..0000000
--- a/src/main/jbake/content/examples/datasource-ciphered-password.adoc
+++ /dev/null
@@ -1,228 +0,0 @@
-= DataSource Ciphered Password
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example datasource-ciphered-password can be browsed at https://github.com/apache/tomee/tree/master/examples/datasource-ciphered-password
-
-
-=  Datasource Ciphered Password example
-
-This example shows how to use a ciphered password with an OpenEJB datasource.
-
-It shows how to implement its own encryption too.
-
-=  Configuration
-
-The configuration is simply a datasource configuration with an additionnal parameter
-"PasswordCipher" to specify the encryption to use.
-
-Example using Static3DES encryption:
-
-        properties.setProperty("ProtectedDatasource", "new://Resource?type=DataSource");
-        properties.setProperty("ProtectedDatasource.JdbcDriver", "org.hsqldb.jdbcDriver");
-        properties.setProperty("ProtectedDatasource.JdbcUrl", "jdbc:hsqldb:mem:protected");
-        properties.setProperty("ProtectedDatasource.UserName", "user");
-        // the plain text password is "YouLLN3v3rFindM3"
-        properties.setProperty("ProtectedDatasource.Password", "fEroTNXjaL5SOTyRQ92x3DNVS/ksbtgs");
-        properties.setProperty("ProtectedDatasource.PasswordCipher", "Static3DES");
-        properties.setProperty("ProtectedDatasource.JtaManaged", "true");
-
-
-=  Using its own implementation
-
-The example implement a reverse encryption which simply reverse the password to encrypt/decrypt.
-
-The implementation is done with commons-lang library:
-
-
-[source,java]
-----
-public static class ReverseEncryption implements PasswordCipher {
-    @Override public char[] encrypt(String plainPassword) {
-        return StringUtils.reverse(plainPassword).toCharArray();
-    }
-
-    @Override public String decrypt(char[] encryptedPassword) {
-        return new String(encrypt(new String(encryptedPassword)));
-    }
-}
-----
-
-
-
-To be functional it needs the file `META-INF/org.apache.openejb.resource.jdbc.PasswordCipher/reverse`.
-
-The file name (reverse) define  the encryption name to use for the PasswordCipher parameter.
-
-This file simply contains the implementation class of the encryption.
-
-Then you simply declare this encryption for your datasource:
-
-        properties.setProperty("ProtectedDatasource", "new://Resource?type=DataSource");
-        properties.setProperty("ProtectedDatasource.JdbcDriver", "org.hsqldb.jdbcDriver");
-        properties.setProperty("ProtectedDatasource.JdbcUrl", "jdbc:hsqldb:mem:protected");
-        properties.setProperty("ProtectedDatasource.UserName", USER);
-        properties.setProperty("ProtectedDatasource.Password", "3MdniFr3v3NLLuoY");
-        properties.setProperty("ProtectedDatasource.PasswordCipher", "reverse");
-        properties.setProperty("ProtectedDatasource.JtaManaged", "true");
-
-=  Documentation
-
-For more information please see the link:http://tomee.apache.org/3.0/datasource-password-encryption.html[documentation]
-
-=  Full Test Source
-
-
-[source,java]
-----
-package org.superbiz;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.openejb.resource.jdbc.PasswordCipher;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.annotation.Resource;
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import javax.sql.DataSource;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.Statement;
-import java.util.Properties;
-
-import static junit.framework.Assert.assertNotNull;
-
-public class DataSourceCipheredExampleTest {
-    private static final String USER = DataSourceCipheredExampleTest.class.getSimpleName().toUpperCase();
-    private static final String PASSWORD = "YouLLN3v3rFindM3";
-    private static final String DATASOURCE_URL = "jdbc:hsqldb:mem:protected";
-
-    @Resource
-    private DataSource dataSource;
-
-    @BeforeClass
-    public static void addDatabaseUserWithPassword() throws Exception {
-        Class.forName("org.hsqldb.jdbcDriver");
-        Connection conn = DriverManager.getConnection(DATASOURCE_URL, "sa", "");
-        conn.setAutoCommit(true);
-        Statement st = conn.createStatement();
-        st.executeUpdate("CREATE USER " + USER + " PASSWORD '" + PASSWORD + "';");
-        st.close();
-        conn.commit();
-        conn.close();
-    }
-
-    @Test
-    public void accessDatasource() throws Exception {
-        // define the datasource
-        Properties properties = new Properties();
-        properties.setProperty("ProtectedDatasource", "new://Resource?type=DataSource");
-        properties.setProperty("ProtectedDatasource.JdbcDriver", "org.hsqldb.jdbcDriver");
-        properties.setProperty("ProtectedDatasource.JdbcUrl", DATASOURCE_URL);
-        properties.setProperty("ProtectedDatasource.UserName", USER);
-        properties.setProperty("ProtectedDatasource.Password", "fEroTNXjaL5SOTyRQ92x3DNVS/ksbtgs");
-        properties.setProperty("ProtectedDatasource.PasswordCipher", "Static3DES");
-        properties.setProperty("ProtectedDatasource.JtaManaged", "true");
-
-        // start the context and makes junit test injections
-        EJBContainer container = EJBContainer.createEJBContainer(properties);
-        Context context = container.getContext();
-        context.bind("inject", this);
-
-        // test the datasource
-        assertNotNull(dataSource);
-        assertNotNull(dataSource.getConnection());
-
-        // closing the context
-        container.close();
-    }
-
-    @Test
-    public void accessDatasourceWithMyImplementation() throws Exception {
-        // define the datasource
-        Properties properties = new Properties();
-        properties.setProperty("ProtectedDatasource", "new://Resource?type=DataSource");
-        properties.setProperty("ProtectedDatasource.JdbcDriver", "org.hsqldb.jdbcDriver");
-        properties.setProperty("ProtectedDatasource.JdbcUrl", "jdbc:hsqldb:mem:protected");
-        properties.setProperty("ProtectedDatasource.UserName", USER);
-        properties.setProperty("ProtectedDatasource.Password", "3MdniFr3v3NLLuoY");
-        properties.setProperty("ProtectedDatasource.PasswordCipher", "reverse");
-        properties.setProperty("ProtectedDatasource.JtaManaged", "true");
-
-        // start the context and makes junit test injections
-        EJBContainer container = EJBContainer.createEJBContainer(properties);
-        Context context = container.getContext();
-        context.bind("inject", this);
-
-        // test the datasource
-        assertNotNull(dataSource);
-        assertNotNull(dataSource.getConnection());
-
-        // closing the context
-        container.close();
-    }
-
-    public static class ReverseEncryption implements PasswordCipher {
-        @Override
-        public char[] encrypt(String plainPassword) {
-            return StringUtils.reverse(plainPassword).toCharArray();
-        }
-
-        @Override
-        public String decrypt(char[] encryptedPassword) {
-            return new String(encrypt(new String(encryptedPassword)));
-        }
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.DataSourceCipheredExampleTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/datasource-ciphered-password
-INFO - openejb.base = /Users/dblevins/examples/datasource-ciphered-password
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=ProtectedDatasource, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/datasource-ciphered-password/target/test-classes
-INFO - Beginning load: /Users/dblevins/examples/datasource-ciphered-password/target/test-classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/datasource-ciphered-password
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean datasource-ciphered-password.Comp: Container(type=MANAGED, id=Default Managed Container)
-INFO - Auto-linking resource-ref 'java:comp/env/org.superbiz.DataSourceCipheredExampleTest/dataSource' in bean datasource-ciphered-password.Comp to Resource(id=ProtectedDatasource)
-INFO - Auto-linking resource-ref 'java:comp/env/org.superbiz.DataSourceCipheredExampleTest/dataSource' in bean org.superbiz.DataSourceCipheredExampleTest to Resource(id=ProtectedDatasource)
-INFO - Enterprise application "/Users/dblevins/examples/datasource-ciphered-password" loaded.
-INFO - Assembling app: /Users/dblevins/examples/datasource-ciphered-password
-INFO - Jndi(name="java:global/datasource-ciphered-password/datasource-ciphered-password.Comp!org.apache.openejb.BeanContext$Comp")
-INFO - Jndi(name="java:global/datasource-ciphered-password/datasource-ciphered-password.Comp")
-INFO - Jndi(name="java:global/EjbModule86823325/org.superbiz.DataSourceCipheredExampleTest!org.superbiz.DataSourceCipheredExampleTest")
-INFO - Jndi(name="java:global/EjbModule86823325/org.superbiz.DataSourceCipheredExampleTest")
-INFO - Created Ejb(deployment-id=datasource-ciphered-password.Comp, ejb-name=datasource-ciphered-password.Comp, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=org.superbiz.DataSourceCipheredExampleTest, ejb-name=org.superbiz.DataSourceCipheredExampleTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=datasource-ciphered-password.Comp, ejb-name=datasource-ciphered-password.Comp, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=org.superbiz.DataSourceCipheredExampleTest, ejb-name=org.superbiz.DataSourceCipheredExampleTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/datasource-ciphered-password)
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.331 sec
-
-Results :
-
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/datasource-definition.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/datasource-definition.adoc b/src/main/jbake/content/examples/datasource-definition.adoc
deleted file mode 100755
index 3931880..0000000
--- a/src/main/jbake/content/examples/datasource-definition.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= datasource-definition
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example datasource-definition can be browsed at https://github.com/apache/tomee/tree/master/examples/datasource-definition
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/datasource-versioning.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/datasource-versioning.adoc b/src/main/jbake/content/examples/datasource-versioning.adoc
deleted file mode 100755
index 51b80d8..0000000
--- a/src/main/jbake/content/examples/datasource-versioning.adoc
+++ /dev/null
@@ -1,412 +0,0 @@
-= DataSource Versioning
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example datasource-versioning can be browsed at https://github.com/apache/tomee/tree/master/examples/datasource-versioning
-
-
-This example shows you how to use versioned DataSources of the same provider using the classpath attribute.
-
-=  Configuration
-
-The DataSource configuration can be made several ways and here we layout two common methods in the form of unit tests.
-Before we start, if you take a peek in the project pom.xml and look for the maven-dependency-plugin usage you will see that we pull in
-two completely different driver files for this example.
-
-=  AlternateDataSourceTest.java
-This test utilizes the Arquillian testing framework. See link:http://tomee.apache.org/arquillian-available-adapters.html[here] for more details.
-
-The example uses src/test/resources/arquillian.xml and src/test/conf/tomee.xml to define the DataSources.
-Note the differing driver version paths, yet still using the same provider (org.apache.derby.jdbc.EmbeddedDriver):
-
-
-[source,xml]
-----
-<tomee>
-
-  <Resource id="DatabaseOne" type="DataSource" classpath="${catalina.base}/../../drivers/derby-10.10.1.1.jar">
-    JdbcDriver org.apache.derby.jdbc.EmbeddedDriver
-    JdbcUrl jdbc:derby:databaseOne;create=true
-    UserName SA
-  </Resource>
-
-  <Resource id="DatabaseTwo" type="DataSource" classpath="${catalina.base}/../../drivers/derby-10.9.1.0.jar">
-    JdbcDriver org.apache.derby.jdbc.EmbeddedDriver
-    JdbcUrl jdbc:derby:databaseTwo;create=true
-    UserName SA
-  </Resource>
-
-</tomee>
-----
-
-	
-=  Developer Information
-When testing within a Maven environment it is also possible to use direct maven coordinates rather than a file link, like so:
-
-    ....
-	<Resource id="DatabaseOne" type="DataSource" classpath="mvn:org.apache.derby:derby:10.10.1.1">
-	....
-	
-
-=  AlternateDriverJarTest.java
-
-This test takes an embedded approach and as you can see the driver paths are specified as a DataSource parameter.
-Both examples demonstrate the same, in that two driver versions can be loaded and used within the same application.
-
-
-[source,java]
-----
-@Configuration
-public Properties config() {
-
-    final File drivers = new File(new File("target"), "drivers").getAbsoluteFile();
-
-    final Properties p = new Properties();
-    p.put("openejb.jdbc.datasource-creator", "dbcp-alternative");
-
-    File file = new File(drivers, "derby-10.10.1.1.jar");
-    Assert.assertTrue("Failed to find: " + file, file.exists());
-
-    p.put("JdbcOne", "new://Resource?type=DataSource&classpath="
-            + file.getAbsolutePath().replace("\\", "/"));
-    p.put("JdbcOne.JdbcDriver", "org.apache.derby.jdbc.EmbeddedDriver");
-    p.put("JdbcOne.JdbcUrl", "jdbc:derby:memory:JdbcOne;create=true");
-    p.put("JdbcOne.UserName", USER);
-    p.put("JdbcOne.Password", PASSWORD);
-    p.put("JdbcOne.JtaManaged", "false");
-
-    file = new File(drivers, "derby-10.9.1.0.jar");
-    Assert.assertTrue("Failed to find: " + file, file.exists());
-
-    p.put("JdbcTwo", "new://Resource?type=DataSource&classpath="
-            + file.getAbsolutePath().replace("\\", "/"));
-    p.put("JdbcTwo.JdbcDriver", "org.apache.derby.jdbc.EmbeddedDriver");
-    p.put("JdbcTwo.JdbcUrl", "jdbc:derby:memory:JdbcTwo;create=true");
-    p.put("JdbcTwo.UserName", USER);
-    p.put("JdbcTwo.Password", PASSWORD);
-    p.put("JdbcTwo.JtaManaged", "false");
-    return p;
-}
-----
-
-
-=  Full Test Source for AlternateDataSourceTest.java
-
-
-[source,java]
-----
-package org.superbiz;
-
-import org.jboss.arquillian.container.test.api.Deployment;
-import org.jboss.arquillian.junit.Arquillian;
-import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.asset.ClassLoaderAsset;
-import org.jboss.shrinkwrap.api.spec.WebArchive;
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import javax.annotation.Resource;
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import javax.sql.DataSource;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.SQLException;
-
-@RunWith(Arquillian.class)
-public class AlternateDataSourceTest {
-
-    @Deployment
-    public static WebArchive createDeployment() {
-
-        return ShrinkWrap.create(WebArchive.class, "test.war")
-            .addClasses(DataSourceTester.class)
-            .addAsResource(new ClassLoaderAsset("META-INF/ejb-jar.xml"), "META-INF/ejb-jar.xml");
-        //We are using src/test/conf/tomee.xml, but this also works - .addAsResource(new ClassLoaderAsset("META-INF/resources.xml"), "META-INF/resources.xml");
-        //Or even using a persistence context - .addAsResource(new ClassLoaderAsset("META-INF/persistence.xml"), "META-INF/persistence.xml");
-    }
-
-    @EJB
-    private DataSourceTester tester;
-
-    @Test
-    public void testDataSourceOne() throws Exception {
-        Assert.assertEquals("Should be using 10.10.1.1 - (1458268)", "10.10.1.1 - (1458268)", tester.getOne());
-    }
-
-    @Test
-    public void testDataSourceTwo() throws Exception {
-        Assert.assertEquals("Should be using 10.9.1.0 - (1344872)", "10.9.1.0 - (1344872)", tester.getTwo());
-    }
-
-    @Test
-    public void testDataSourceBoth() throws Exception {
-        Assert.assertEquals("Should be using 10.10.1.1 - (1458268)|10.9.1.0 - (1344872)", "10.10.1.1 - (1458268)|10.9.1.0 - (1344872)", tester.getBoth());
-    }
-
-    @Stateless
-    public static class DataSourceTester {
-
-        @Resource(name = "DatabaseOne")
-        DataSource dataSourceOne;
-
-        @Resource(name = "DatabaseTwo")
-        DataSource dataSourceTwo;
-
-        public String getOne() throws Exception {
-            return getVersion(dataSourceOne);
-        }
-
-        public String getTwo() throws Exception {
-            return getVersion(dataSourceTwo);
-        }
-
-        public String getBoth() throws Exception {
-            return getOne() + "|" + getTwo();
-        }
-
-        private static String getVersion(final DataSource ds) throws SQLException {
-            Connection con = null;
-            try {
-                con = ds.getConnection();
-                final DatabaseMetaData md = con.getMetaData();
-                return md.getDriverVersion();
-            } finally {
-                if (con != null) {
-                    con.close();
-                }
-            }
-        }
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.AlternateDataSourceTest
-Apr 17, 2014 2:19:45 PM org.apache.openejb.arquillian.common.Setup findHome
-INFO: Unable to find home in: C:\dev\svn\tomee\examples\datasource-versioning\target\apache-tomee-remote
-Apr 17, 2014 2:19:45 PM org.apache.openejb.arquillian.common.MavenCache getArtifact
-INFO: Downloading org.apache.openejb:apache-tomee:1.6.1-SNAPSHOT:zip:webprofile please wait...
-Apr 17, 2014 2:19:45 PM org.apache.openejb.arquillian.common.Zips unzip
-INFO: Extracting 'C:\Users\Andy\.m2\repository\org\apache\openejb\apache-tomee\1.6.1-SNAPSHOT\apache-tomee-1.6.1-SNAPSHOT-webprofile.zip' to 'C:\dev\svn\tomee\examples\datasource-versioning\target\apache-tomee-remote'
-Apr 17, 2014 2:19:47 PM org.apache.tomee.arquillian.remote.RemoteTomEEContainer configure
-INFO: Downloaded container to: C:\dev\svn\tomee\examples\datasource-versioning\target\apache-tomee-remote\apache-tomee-webprofile-1.6.1-SNAPSHOT
-INFO - The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.7.0_45\jre\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\SlikSvn\bin;C:\dev\apache-maven-3.2.1\bin;C:\dev\apache-ant-1.9.3\bin;C:\Program Files (x86)\Git\cmd;C:\Program Files (x86)\Git\bin;C:\Program Files\TortoiseGit\bin;C:\Program Files\TortoiseSVN\bin;.
-INFO - Initializing ProtocolHandler ["http-bio-55243"]
-INFO - Initializing ProtocolHandler ["ajp-bio-55245"]
-INFO - Using 'openejb.jdbc.datasource-creator=org.apache.tomee.jdbc.TomEEDataSourceCreator'
-INFO - Optional service not installed: org.apache.tomee.webservices.TomeeJaxRsService
-INFO - Optional service not installed: org.apache.tomee.webservices.TomeeJaxWsService
-INFO - ********************************************************************************
-INFO - OpenEJB http://tomee.apache.org/
-INFO - Startup: Thu Apr 17 14:19:55 CEST 2014
-INFO - Copyright 1999-2013 (C) Apache OpenEJB Project, All Rights Reserved.
-INFO - Version: 7.0.0-SNAPSHOT
-INFO - Build date: 20140417
-INFO - Build time: 01:37
-INFO - ********************************************************************************
-INFO - openejb.home = C:\dev\svn\tomee\examples\datasource-versioning\target\apache-tomee-remote\apache-tomee-webprofile-1.6.1-SNAPSHOT
-INFO - openejb.base = C:\dev\svn\tomee\examples\datasource-versioning\target\apache-tomee-remote\apache-tomee-webprofile-1.6.1-SNAPSHOT
-INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@22c2e2dd
-INFO - Succeeded in installing singleton service
-INFO - openejb configuration file is 'C:\dev\svn\tomee\examples\datasource-versioning\target\apache-tomee-remote\apache-tomee-webprofile-1.6.1-SNAPSHOT\conf\tomee.xml'
-INFO - Configuring Service(id=Tomcat Security Service, type=SecurityService, provider-id=Tomcat Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=DatabaseOne, type=Resource, provider-id=Default JDBC Database)
-INFO - Configuring Service(id=DatabaseTwo, type=Resource, provider-id=Default JDBC Database)
-INFO - Using 'openejb.system.apps=true'
-INFO - Configuring enterprise application: openejb
-INFO - Using openejb.deploymentId.format '{ejbName}'
-INFO - Auto-deploying ejb openejb/Deployer: EjbDeployment(deployment-id=openejb/Deployer)
-INFO - Auto-deploying ejb openejb/ConfigurationInfo: EjbDeployment(deployment-id=openejb/ConfigurationInfo)
-INFO - Auto-deploying ejb MEJB: EjbDeployment(deployment-id=MEJB)
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean openejb/Deployer: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Enterprise application "openejb" loaded.
-INFO - Creating TransactionManager(id=Default Transaction Manager)
-INFO - Creating SecurityService(id=Tomcat Security Service)
-INFO - Creating Resource(id=DatabaseOne)
-INFO - Disabling testOnBorrow since no validation query is provided
-INFO - Creating Resource(id=DatabaseTwo)
-INFO - Disabling testOnBorrow since no validation query is provided
-INFO - Creating Container(id=Default Stateless Container)
-INFO - Assembling app: openejb
-INFO - Using 'openejb.jndiname.format={deploymentId}{interfaceType.openejbLegacyName}'
-INFO - Jndi(name=openejb/DeployerBusinessRemote) --> Ejb(deployment-id=openejb/Deployer)
-INFO - Jndi(name=global/openejb/openejb/Deployer!org.apache.openejb.assembler.Deployer) --> Ejb(deployment-id=openejb/Deployer)
-INFO - Jndi(name=global/openejb/openejb/Deployer) --> Ejb(deployment-id=openejb/Deployer)
-INFO - Jndi(name=openejb/ConfigurationInfoBusinessRemote) --> Ejb(deployment-id=openejb/ConfigurationInfo)
-INFO - Jndi(name=global/openejb/openejb/ConfigurationInfo!org.apache.openejb.assembler.classic.cmd.ConfigurationInfo) --> Ejb(deployment-id=openejb/ConfigurationInfo)
-INFO - Jndi(name=global/openejb/openejb/ConfigurationInfo) --> Ejb(deployment-id=openejb/ConfigurationInfo)
-INFO - Jndi(name=MEJB) --> Ejb(deployment-id=MEJB)
-INFO - Jndi(name=global/openejb/MEJB!javax.management.j2ee.ManagementHome) --> Ejb(deployment-id=MEJB)
-INFO - Jndi(name=global/openejb/MEJB) --> Ejb(deployment-id=MEJB)
-INFO - Created Ejb(deployment-id=openejb/Deployer, ejb-name=openejb/Deployer, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=MEJB, ejb-name=MEJB, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=openejb/ConfigurationInfo, ejb-name=openejb/ConfigurationInfo, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=openejb/Deployer, ejb-name=openejb/Deployer, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=MEJB, ejb-name=MEJB, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=openejb/ConfigurationInfo, ejb-name=openejb/ConfigurationInfo, container=Default Stateless Container)
-INFO - Deployed MBean(openejb.user.mbeans:application=openejb,group=org.apache.openejb.assembler.monitoring,name=JMXDeployer)
-INFO - Deployed Application(path=openejb)
-INFO -   ** Bound Services **
-INFO -   NAME                 IP              PORT
-INFO - -------
-INFO - Ready!
-INFO - Initialization processed in 7959 ms
-INFO - Importing a Tomcat Resource with id 'UserDatabase' of type 'org.apache.catalina.UserDatabase'.
-INFO - Creating Resource(id=UserDatabase)
-INFO - Starting service Catalina
-INFO - Starting Servlet Engine: Apache Tomcat (TomEE)/7.0.53 (1.6.1-SNAPSHOT)
-INFO - Starting ProtocolHandler ["http-bio-55243"]
-INFO - Starting ProtocolHandler ["ajp-bio-55245"]
-INFO - Server startup in 288 ms
-WARNING - StandardServer.await: Invalid command '' received
-Apr 17, 2014 2:20:04 PM org.apache.openejb.client.EventLogger log
-INFO: RemoteInitialContextCreated{providerUri=http://localhost:55243/tomee/ejb}
-INFO - Extracting jar: C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0\test.war
-INFO - Extracted path: C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0\test
-INFO - using default host: localhost
-INFO - ------------------------- localhost -> /test
-INFO - Using 'openejb.session.manager=org.apache.tomee.catalina.session.QuickSessionManager'
-INFO - Configuring enterprise application: C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0\test
-INFO - Auto-deploying ejb DataSourceTester: EjbDeployment(deployment-id=DataSourceTester)
-INFO - Auto-linking resource-ref 'java:comp/env/DatabaseTwo' in bean DataSourceTester to Resource(id=DatabaseTwo)
-INFO - Auto-linking resource-ref 'java:comp/env/DatabaseOne' in bean DataSourceTester to Resource(id=DatabaseOne)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.AlternateDataSourceTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Creating Container(id=Default Managed Container)
-INFO - Using directory C:\dev\svn\tomee\examples\datasource-versioning\target\apache-tomee-remote\apache-tomee-webprofile-1.6.1-SNAPSHOT\temp for stateful session passivation
-INFO - Enterprise application "C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0\test" loaded.
-INFO - Assembling app: C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0\test
-INFO - Jndi(name=DataSourceTesterLocalBean) --> Ejb(deployment-id=DataSourceTester)
-INFO - Jndi(name=global/test/DataSourceTester!org.superbiz.AlternateDataSourceTest$DataSourceTester) --> Ejb(deployment-id=DataSourceTester)
-INFO - Jndi(name=global/test/DataSourceTester) --> Ejb(deployment-id=DataSourceTester)
-INFO - Existing thread singleton service in SystemInstance(): org.apache.openejb.cdi.ThreadSingletonServiceImpl@22c2e2dd
-INFO - OpenWebBeans Container is starting...
-INFO - Adding OpenWebBeansPlugin : [CdiPlugin]
-INFO - All injection points were validated successfully.
-INFO - OpenWebBeans Container has started, it took 203 ms.
-INFO - Created Ejb(deployment-id=DataSourceTester, ejb-name=DataSourceTester, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=DataSourceTester, ejb-name=DataSourceTester, container=Default Stateless Container)
-INFO - Deployed Application(path=C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0\test)
-Apr 17, 2014 2:20:11 PM org.apache.openejb.client.EventLogger log
-INFO: RemoteInitialContextCreated{providerUri=http://localhost:55243/tomee/ejb}
-INFO - Undeploying app: C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0\test
-Apr 17, 2014 2:20:13 PM org.apache.openejb.arquillian.common.TomEEContainer undeploy
-INFO: cleaning C:\dev\svn\tomee\examples\datasource-versioning\target\arquillian-test-working-dir\0
-Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.155 sec
-Running org.superbiz.AlternateDriverJarTest
-Apr 17, 2014 2:20:13 PM org.apache.openejb.config.ConfigUtils searchForConfiguration
-INFO: Cannot find the configuration file [conf/openejb.xml].  Will attempt to create one for the beans deployed.
-Apr 17, 2014 2:20:13 PM org.apache.openejb.config.ConfigurationFactory configureService
-INFO: Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-Apr 17, 2014 2:20:13 PM org.apache.openejb.config.ConfigurationFactory configureService
-INFO: Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-Apr 17, 2014 2:20:13 PM org.apache.openejb.config.ConfigurationFactory configureService
-INFO: Configuring Service(id=JdbcTwo, type=Resource, provider-id=Default JDBC Database)
-Apr 17, 2014 2:20:13 PM org.apache.openejb.config.ConfigurationFactory configureService
-INFO: Configuring Service(id=JdbcOne, type=Resource, provider-id=Default JDBC Database)
-Apr 17, 2014 2:20:13 PM org.apache.openejb.assembler.classic.Assembler createRecipe
-INFO: Creating TransactionManager(id=Default Transaction Manager)
-Apr 17, 2014 2:20:14 PM org.apache.openejb.assembler.classic.Assembler createRecipe
-INFO: Creating SecurityService(id=Default Security Service)
-Apr 17, 2014 2:20:14 PM org.apache.openejb.assembler.classic.Assembler createRecipe
-INFO: Creating Resource(id=JdbcTwo)
-Apr 17, 2014 2:20:15 PM org.apache.openejb.assembler.classic.Assembler createRecipe
-INFO: Creating Resource(id=JdbcOne)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.config.ConfigurationFactory configureApplication
-INFO: Configuring enterprise application: C:\dev\svn\tomee\examples\datasource-versioning\AlternateDriverJarTest
-Apr 17, 2014 2:20:16 PM org.apache.openejb.config.ConfigurationFactory configureService
-INFO: Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.config.AutoConfig createContainer
-INFO: Auto-creating a container for bean org.superbiz.AlternateDriverJarTest: Container(type=MANAGED, id=Default Managed Container)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.Assembler createRecipe
-INFO: Creating Container(id=Default Managed Container)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.core.managed.SimplePassivater init
-INFO: Using directory C:\Users\Andy\AppData\Local\Temp for stateful session passivation
-Apr 17, 2014 2:20:16 PM org.apache.openejb.config.ConfigurationFactory configureService
-INFO: Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.config.AutoConfig createContainer
-INFO: Auto-creating a container for bean JdbcOne: Container(type=SINGLETON, id=Default Singleton Container)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.Assembler createRecipe
-INFO: Creating Container(id=Default Singleton Container)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.config.AutoConfig processResourceRef
-INFO: Auto-linking resource-ref 'java:comp/env/JdbcOne' in bean JdbcOne to Resource(id=JdbcOne)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.config.AutoConfig processResourceRef
-INFO: Auto-linking resource-ref 'java:comp/env/JdbcTwo' in bean JdbcTwo to Resource(id=JdbcTwo)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.config.AppInfoBuilder build
-INFO: Enterprise application "C:\dev\svn\tomee\examples\datasource-versioning\AlternateDriverJarTest" loaded.
-Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.Assembler createApplication
-INFO: Assembling app: C:\dev\svn\tomee\examples\datasource-versioning\AlternateDriverJarTest
-Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-INFO: Jndi(name=JdbcOneLocalBean) --> Ejb(deployment-id=JdbcOne)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-INFO: Jndi(name=global/AlternateDriverJarTest/app/JdbcOne!org.superbiz.AlternateDriverJarTest$JdbcOne) --> Ejb(deployment-id=JdbcOne)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-INFO: Jndi(name=global/AlternateDriverJarTest/app/JdbcOne) --> Ejb(deployment-id=JdbcOne)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-INFO: Jndi(name=JdbcTwoLocalBean) --> Ejb(deployment-id=JdbcTwo)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-INFO: Jndi(name=global/AlternateDriverJarTest/app/JdbcTwo!org.superbiz.AlternateDriverJarTest$JdbcTwo) --> Ejb(deployment-id=JdbcTwo)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.assembler.classic.JndiBuilder bind
-INFO: Jndi(name=global/AlternateDriverJarTest/app/JdbcTwo) --> Ejb(deployment-id=JdbcTwo)
-Apr 17, 2014 2:20:16 PM org.apache.openejb.cdi.CdiBuilder initializeOWB
-INFO: Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@5ddd4e70
-Apr 17, 2014 2:20:16 PM org.apache.openejb.cdi.CdiBuilder initializeOWB
-INFO: Succeeded in installing singleton service
-Apr 17, 2014 2:20:17 PM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
-INFO: OpenWebBeans Container is starting...
-Apr 17, 2014 2:20:17 PM org.apache.webbeans.plugins.PluginLoader startUp
-INFO: Adding OpenWebBeansPlugin : [CdiPlugin]
-Apr 17, 2014 2:20:17 PM org.apache.webbeans.config.BeansDeployer validateInjectionPoints
-INFO: All injection points were validated successfully.
-Apr 17, 2014 2:20:17 PM org.apache.openejb.cdi.OpenEJBLifecycle startApplication
-INFO: OpenWebBeans Container has started, it took 223 ms.
-Apr 17, 2014 2:20:17 PM org.apache.openejb.assembler.classic.Assembler startEjbs
-INFO: Created Ejb(deployment-id=JdbcTwo, ejb-name=JdbcTwo, container=Default Singleton Container)
-Apr 17, 2014 2:20:17 PM org.apache.openejb.assembler.classic.Assembler startEjbs
-INFO: Created Ejb(deployment-id=JdbcOne, ejb-name=JdbcOne, container=Default Singleton Container)
-Apr 17, 2014 2:20:17 PM org.apache.openejb.assembler.classic.Assembler startEjbs
-INFO: Started Ejb(deployment-id=JdbcTwo, ejb-name=JdbcTwo, container=Default Singleton Container)
-Apr 17, 2014 2:20:17 PM org.apache.openejb.assembler.classic.Assembler startEjbs
-INFO: Started Ejb(deployment-id=JdbcOne, ejb-name=JdbcOne, container=Default Singleton Container)
-Apr 17, 2014 2:20:17 PM org.apache.openejb.assembler.classic.Assembler createApplication
-INFO: Deployed Application(path=C:\dev\svn\tomee\examples\datasource-versioning\AlternateDriverJarTest)
-Apr 17, 2014 2:20:20 PM org.apache.openejb.assembler.classic.Assembler destroyApplication
-INFO: Undeploying app: C:\dev\svn\tomee\examples\datasource-versioning\AlternateDriverJarTest
-Apr 17, 2014 2:20:20 PM org.apache.openejb.assembler.classic.Assembler destroyResource
-INFO: Closing DataSource: JdbcTwo
-Apr 17, 2014 2:20:20 PM org.apache.openejb.assembler.classic.Assembler destroyResource
-INFO: Closing DataSource: JdbcOne
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.857 sec
-INFO - A valid shutdown command was received via the shutdown port. Stopping the Server instance.
-INFO - Pausing ProtocolHandler ["http-bio-55243"]
-INFO - Pausing ProtocolHandler ["ajp-bio-55245"]
-INFO - Stopping service Catalina
-INFO - Stopping ProtocolHandler ["http-bio-55243"]
-INFO - Stopping ProtocolHandler ["ajp-bio-55245"]
-INFO - Stopping server services
-INFO - Undeploying app: openejb
-INFO - Closing DataSource: DatabaseOne
-INFO - Closing DataSource: DatabaseTwo
-INFO - Destroying ProtocolHandler ["http-bio-55243"]
-INFO - Destroying ProtocolHandler ["ajp-bio-55245"]
-
-Results :
-
-Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/decorators.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/decorators.adoc b/src/main/jbake/content/examples/decorators.adoc
deleted file mode 100755
index 9181e92..0000000
--- a/src/main/jbake/content/examples/decorators.adoc
+++ /dev/null
@@ -1,436 +0,0 @@
-= Decorators
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example decorators can be browsed at https://github.com/apache/tomee/tree/master/examples/decorators
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  AccessDeniedException
-
-
-[source,java]
-----
-package org.superbiz.cdi.decorators;
-
-import javax.ejb.ApplicationException;
-
-/**
- * @version $Revision$ $Date$
- */
-@ApplicationException
-public class AccessDeniedException extends RuntimeException {
-    public AccessDeniedException(String s) {
-        super(s);
-    }
-}
-----
-
-
-==  Calculator
-
-
-[source,java]
-----
-package org.superbiz.cdi.decorators;
-
-/**
- * @version $Revision$ $Date$
- */
-public interface Calculator {
-
-    public int add(int a, int b);
-
-    public int subtract(int a, int b);
-
-    public int multiply(int a, int b);
-
-    public int divide(int a, int b);
-
-    public int remainder(int a, int b);
-}
-----
-
-
-==  CalculatorBean
-
-
-[source,java]
-----
-package org.superbiz.cdi.decorators;
-
-import javax.annotation.Resource;
-import javax.ejb.SessionContext;
-import javax.ejb.Stateless;
-import javax.enterprise.inject.Produces;
-
-@Stateless
-public class CalculatorBean implements Calculator {
-
-    @Produces
-    @Resource
-    private SessionContext sessionContext;
-
-    public int add(int a, int b) {
-        return a + b;
-    }
-
-    public int subtract(int a, int b) {
-        return a - b;
-    }
-
-    public int multiply(int a, int b) {
-        return a * b;
-    }
-
-    public int divide(int a, int b) {
-        return a / b;
-    }
-
-    public int remainder(int a, int b) {
-        return a % b;
-    }
-}
-----
-
-
-==  CalculatorLogging
-
-
-[source,java]
-----
-package org.superbiz.cdi.decorators;
-
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.inject.Inject;
-import java.util.logging.Logger;
-
-@Decorator
-public class CalculatorLogging implements Calculator {
-
-    private Logger logger = Logger.getLogger("Calculator");
-
-    @Inject
-    @Delegate
-    private Calculator calculator;
-
-    @Override
-    public int add(int a, int b) {
-        logger.fine(String.format("add(%s, %s)", a, b));
-        return calculator.add(a, b);
-    }
-
-    @Override
-    public int subtract(int a, int b) {
-        return calculator.subtract(a, b);
-    }
-
-    @Override
-    public int multiply(int a, int b) {
-        logger.finest(String.format("multiply(%s, %s)", a, b));
-        return calculator.multiply(a, b);
-    }
-
-    @Override
-    public int divide(int a, int b) {
-        return calculator.divide(a, b);
-    }
-
-    @Override
-    public int remainder(int a, int b) {
-        logger.info(String.format("remainder(%s, %s)", a, b));
-        return calculator.remainder(a, b);
-    }
-}
-----
-
-
-==  CalculatorSecurity
-
-
-[source,java]
-----
-package org.superbiz.cdi.decorators;
-
-import javax.decorator.Decorator;
-import javax.decorator.Delegate;
-import javax.ejb.SessionContext;
-import javax.inject.Inject;
-
-@Decorator
-public class CalculatorSecurity implements Calculator {
-
-    @Inject
-    @Delegate
-    private Calculator calculator;
-
-    @Inject
-    private SessionContext sessionContext;
-
-    @Override
-    public int add(int a, int b) {
-        return calculator.add(a, b);
-    }
-
-    @Override
-    public int subtract(int a, int b) {
-        // Caller must pass a security check to call subtract
-        if (!sessionContext.isCallerInRole("Manager")) throw new AccessDeniedException(sessionContext.getCallerPrincipal().getName());
-
-        return calculator.subtract(a, b);
-    }
-
-    @Override
-    public int multiply(int a, int b) {
-        return calculator.multiply(a, b);
-    }
-
-    @Override
-    public int divide(int a, int b) {
-        return calculator.divide(a, b);
-    }
-
-    @Override
-    public int remainder(int a, int b) {
-        return calculator.remainder(a, b);
-    }
-}
-----
-
-
-==  beans.xml
-
-
-[source,xml]
-----
-<beans>
-  <!--
-  Explicitly declaring decorators is required by the CDI specification.
-  The order decorators are listed in the xml is the order in which they are invoked.
-  -->
-  <decorators>
-    <class>org.superbiz.cdi.decorators.CalculatorSecurity</class>
-    <class>org.superbiz.cdi.decorators.CalculatorLogging</class>
-  </decorators>
-</beans>
-----
-
-    
-
-==  CalculatorTest
-
-
-[source,java]
-----
-package org.superbiz.cdi.decorators;
-
-import junit.framework.TestCase;
-
-import javax.annotation.security.RunAs;
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import javax.ejb.embeddable.EJBContainer;
-import java.util.concurrent.Callable;
-
-public class CalculatorTest extends TestCase {
-
-    @EJB
-    private Calculator calculator;
-
-    @EJB
-    private ManagerBean manager;
-
-    /**
-     * Bootstrap the Embedded EJB Container
-     *
-     * @throws Exception
-     */
-    protected void setUp() throws Exception {
-        EJBContainer.createEJBContainer().getContext().bind("inject", this);
-    }
-
-    /**
-     * Test Add method
-     */
-    public void testAdd() {
-
-        assertEquals(10, calculator.add(4, 6));
-    }
-
-    /**
-     * Test Subtract method
-     */
-    public void testSubtract() {
-
-        try {
-            calculator.subtract(4, 6);
-
-            fail("AccessDeniedException should have been thrown for unauthenticated access");
-        } catch (AccessDeniedException expected) {
-            // pass
-        }
-
-        final int result = manager.call(new Callable<Integer>() {
-            public Integer call() {
-                return calculator.subtract(4, 6);
-            }
-        });
-
-        assertEquals(-2, result);
-    }
-
-    /**
-     * Test Multiply method
-     */
-    public void testMultiply() {
-
-        assertEquals(24, calculator.multiply(4, 6));
-    }
-
-    /**
-     * Test Divide method
-     */
-    public void testDivide() {
-
-        assertEquals(2, calculator.divide(12, 6));
-    }
-
-    /**
-     * Test Remainder method
-     */
-    public void testRemainder() {
-
-        assertEquals(4, calculator.remainder(46, 6));
-    }
-
-    @Stateless
-    @RunAs("Manager")
-    public static class ManagerBean {
-
-        public <V> V call(Callable<V> callable) {
-            try {
-                return callable.call();
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
-        }
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.cdi.decorators.CalculatorTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/decorators
-INFO - openejb.base = /Users/dblevins/examples/decorators
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/decorators/target/classes
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/decorators/target/test-classes
-INFO - Beginning load: /Users/dblevins/examples/decorators/target/classes
-INFO - Beginning load: /Users/dblevins/examples/decorators/target/test-classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/decorators
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean decorators.Comp: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean CalculatorBean: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Enterprise application "/Users/dblevins/examples/decorators" loaded.
-INFO - Assembling app: /Users/dblevins/examples/decorators
-INFO - Jndi(name="java:global/decorators/decorators.Comp!org.apache.openejb.BeanContext$Comp")
-INFO - Jndi(name="java:global/decorators/decorators.Comp")
-INFO - Jndi(name="java:global/decorators/CalculatorBean!org.superbiz.cdi.decorators.Calculator")
-INFO - Jndi(name="java:global/decorators/CalculatorBean")
-INFO - Jndi(name="java:global/decorators/ManagerBean!org.superbiz.cdi.decorators.CalculatorTest$ManagerBean")
-INFO - Jndi(name="java:global/decorators/ManagerBean")
-INFO - Jndi(name="java:global/EjbModule628834558/org.superbiz.cdi.decorators.CalculatorTest!org.superbiz.cdi.decorators.CalculatorTest")
-INFO - Jndi(name="java:global/EjbModule628834558/org.superbiz.cdi.decorators.CalculatorTest")
-INFO - Created Ejb(deployment-id=CalculatorBean, ejb-name=CalculatorBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=decorators.Comp, ejb-name=decorators.Comp, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=ManagerBean, ejb-name=ManagerBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.cdi.decorators.CalculatorTest, ejb-name=org.superbiz.cdi.decorators.CalculatorTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=CalculatorBean, ejb-name=CalculatorBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=decorators.Comp, ejb-name=decorators.Comp, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=ManagerBean, ejb-name=ManagerBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.cdi.decorators.CalculatorTest, ejb-name=org.superbiz.cdi.decorators.CalculatorTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/decorators)
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-Oct 29, 2011 11:41:04 AM org.apache.webbeans.decorator.DelegateHandler invoke
-SEVERE: Exception in calling method : [subtract] in decorator class : [org.superbiz.cdi.decorators.CalculatorSecurity]. Look in the log for target checked exception.
-org.superbiz.cdi.decorators.AccessDeniedException: guest
-	at org.superbiz.cdi.decorators.CalculatorSecurity.subtract(CalculatorSecurity.java:43)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
-	at java.lang.reflect.Method.invoke(Method.java:597)
-	at org.apache.webbeans.decorator.DelegateHandler.invoke(DelegateHandler.java:98)
-	at org.apache.openejb.cdi.CdiInterceptor.invoke(CdiInterceptor.java:127)
-	at org.apache.openejb.cdi.CdiInterceptor.access$000(CdiInterceptor.java:45)
-	at org.apache.openejb.cdi.CdiInterceptor$1.call(CdiInterceptor.java:66)
-	at org.apache.openejb.cdi.CdiInterceptor.aroundInvoke(CdiInterceptor.java:72)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
-	at java.lang.reflect.Method.invoke(Method.java:597)
-	at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)
-	at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)
-	at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:130)
-	at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:226)
-	at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:178)
-	at org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:255)
-	at org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:235)
-	at org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:92)
-	at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:284)
-	at $Proxy44.subtract(Unknown Source)
-	at org.superbiz.cdi.decorators.CalculatorTest.testSubtract(CalculatorTest.java:59)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
-	at java.lang.reflect.Method.invoke(Method.java:597)
-	at junit.framework.TestCase.runTest(TestCase.java:168)
-	at junit.framework.TestCase.runBare(TestCase.java:134)
-	at junit.framework.TestResult$1.protect(TestResult.java:110)
-	at junit.framework.TestResult.runProtected(TestResult.java:128)
-	at junit.framework.TestResult.run(TestResult.java:113)
-	at junit.framework.TestCase.run(TestCase.java:124)
-	at junit.framework.TestSuite.runTest(TestSuite.java:232)
-	at junit.framework.TestSuite.run(TestSuite.java:227)
-	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
-	at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:35)
-	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:115)
-	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:97)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
-	at java.lang.reflect.Method.invoke(Method.java:597)
-	at org.apache.maven.surefire.booter.ProviderFactory$ClassLoaderProxy.invoke(ProviderFactory.java:103)
-	at $Proxy0.invoke(Unknown Source)
-	at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:150)
-	at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcess(SurefireStarter.java:91)
-	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:69)
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.338 sec
-
-Results :
-
-Tests run: 5, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/deltaspike-configproperty.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/deltaspike-configproperty.adoc b/src/main/jbake/content/examples/deltaspike-configproperty.adoc
deleted file mode 100755
index eead15e..0000000
--- a/src/main/jbake/content/examples/deltaspike-configproperty.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= deltaspike-configproperty
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example deltaspike-configproperty can be browsed at https://github.com/apache/tomee/tree/master/examples/deltaspike-configproperty
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/deltaspike-exception-handling.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/deltaspike-exception-handling.adoc b/src/main/jbake/content/examples/deltaspike-exception-handling.adoc
deleted file mode 100755
index be450bf..0000000
--- a/src/main/jbake/content/examples/deltaspike-exception-handling.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= deltaspike-exception-handling
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example deltaspike-exception-handling can be browsed at https://github.com/apache/tomee/tree/master/examples/deltaspike-exception-handling
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/deltaspike-fullstack.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/deltaspike-fullstack.adoc b/src/main/jbake/content/examples/deltaspike-fullstack.adoc
deleted file mode 100755
index ebcbca6..0000000
--- a/src/main/jbake/content/examples/deltaspike-fullstack.adoc
+++ /dev/null
@@ -1,75 +0,0 @@
-= Apache DeltaSpike Demo
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example deltaspike-fullstack can be browsed at https://github.com/apache/tomee/tree/master/examples/deltaspike-fullstack
-
-Notice:    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.
-
-<h2>Steps to run the example</h2>
-
-Build and start the demo:
-
-    mvn clean package tomee:run
-
-Open:
-
-    http://localhost:8080/
-
-This example shows how to improve JSF2/CDI/BV/JPA applications with features provided by Apache DeltaSpike and MyFaces ExtVal.
-
-<h2>Intro of Apache DeltaSpike and MyFaces ExtVal</h2>
-
-The Apache DeltaSpike project hosts portable extensions for Contexts and Dependency Injection (CDI - JSR 299). DeltaSpike is a toolbox for your CDI application. Like CDI itself DeltaSpike is focused on type-safety. It is a modularized and extensible framework. So it's easy to choose the needed parts to facilitate the daily work in your project.
-
-MyFaces Extensions Validator (aka ExtVal) is a JSF centric validation framework which is compatible with JSF 1.x and JSF 2.x.
-This example shows how it improves the default integration of Bean-Validation (JSR-303) with JSF2 as well as meta-data based cross-field validation.
-
-
-<h2>Illustrated Features</h2>
-
-<h3>Apache DeltaSpike</h3>
-
-<ul>
-
-[source,xml]
-----
-<li><a href="./src/main/java/org/superbiz/deltaspike/view/config/Pages.java" target="_blank">Type-safe view-config</a></li>
-<li><a href="./src/main/java/org/superbiz/deltaspike/view/InfoPage.java" target="_blank">Type-safe (custom) view-meta-data</a></li>
-<li><a href="./src/main/java/org/superbiz/deltaspike/view/MenuBean.java" target="_blank">Type-safe navigation</a></li>
-<li><a href="./src/main/java/org/superbiz/deltaspike/CustomProjectStage.java" target="_blank">Type-safe custom project-stage</a></li>
-<li><a href="./src/main/java/org/superbiz/deltaspike/view/UserHolder.java" target="_blank">@WindowScoped</a></li>
-<li><a href="./src/main/java/org/superbiz/deltaspike/view/MenuBean.java" target="_blank">Controlling DeltaSpike grouped-conversations with GroupedConversationManager</a></li>
-<li><a href="./src/main/java/org/superbiz/deltaspike/view/FeedbackPage.java" target="_blank">@GroupedConversationScoped</a></li>
-<li><a href="./src/main/java/org/superbiz/deltaspike/view/FeedbackPage.java" target="_blank">Manual conversation handling</a></li>
-<li><a href="./src/main/java/org/superbiz/deltaspike/view/security/LoginAccessDecisionVoter.java" target="_blank">Secured pages (AccessDecisionVoter)</a></li>
-<li><a href="./src/main/java/org/superbiz/deltaspike/repository/Repository.java" target="_blank">@Transactional</a></li>
-<li><a href="./src/main/java/org/superbiz/deltaspike/view/RegistrationPage.java" target="_blank">I18n (type-safe messages)</a></li>
-<li><a href="./src/main/java/org/superbiz/deltaspike/domain/validation/UniqueUserNameValidator.java" target="_blank">Dependency-Injection for JSR303 (BV) constraint-validators</a></li>
-<li><a href="./src/main/java/org/superbiz/deltaspike/DebugPhaseListener.java" target="_blank">Dependency-Injection for JSF phase-listeners</a></li>
-</ul>
-
-<h3>Apache MyFaces ExtVal</h3>
-
-<ul>
-<li><a href="./src/main/java/org/superbiz/myfaces/view/RegistrationPage.java" target="_blank">Cross-Field validation (@Equals)</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/view/RegistrationPage.java" target="_blank">Type-safe group-validation (@BeanValidation) for JSF action-methods</a></li>
-</ul>
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/deltaspike-i18n.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/deltaspike-i18n.adoc b/src/main/jbake/content/examples/deltaspike-i18n.adoc
deleted file mode 100755
index 18c6dbf..0000000
--- a/src/main/jbake/content/examples/deltaspike-i18n.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= deltaspike-i18n
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example deltaspike-i18n can be browsed at https://github.com/apache/tomee/tree/master/examples/deltaspike-i18n
-
-No README.md yet, be the first to contribute one!


[14/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/lookup-of-ejbs-with-descriptor.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/lookup-of-ejbs-with-descriptor.adoc b/src/main/jbake/content/examples/lookup-of-ejbs-with-descriptor.adoc
deleted file mode 100755
index cf72a6a..0000000
--- a/src/main/jbake/content/examples/lookup-of-ejbs-with-descriptor.adoc
+++ /dev/null
@@ -1,229 +0,0 @@
-= Lookup Of Ejbs with Descriptor
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example lookup-of-ejbs-with-descriptor can be browsed at https://github.com/apache/tomee/tree/master/examples/lookup-of-ejbs-with-descriptor
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  BlueBean
-
-
-[source,java]
-----
-package org.superbiz.ejblookup;
-
-import javax.ejb.EJBException;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-//START SNIPPET: code
-public class BlueBean implements Friend {
-
-    public String sayHello() {
-        return "Blue says, Hello!";
-    }
-
-    public String helloFromFriend() {
-        try {
-            Friend friend = (Friend) new InitialContext().lookup("java:comp/env/myFriend");
-            return "My friend " + friend.sayHello();
-        } catch (NamingException e) {
-            throw new EJBException(e);
-        }
-    }
-}
-----
-
-
-==  Friend
-
-
-[source,java]
-----
-package org.superbiz.ejblookup;
-
-/**
- * This is an EJB 3 local business interface
- * A local business interface may be annotated with the @Local
- * annotation, but it's optional. A business interface which is
- * not annotated with @Local or @Remote is assumed to be Local
- * if the bean does not implement any other interfaces
- */
-//START SNIPPET: code
-public interface Friend {
-
-    public String sayHello();
-
-    public String helloFromFriend();
-}
-----
-
-
-==  RedBean
-
-
-[source,java]
-----
-package org.superbiz.ejblookup;
-
-import javax.ejb.EJBException;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-//START SNIPPET: code
-public class RedBean implements Friend {
-
-    public String sayHello() {
-        return "Red says, Hello!";
-    }
-
-    public String helloFromFriend() {
-        try {
-            Friend friend = (Friend) new InitialContext().lookup("java:comp/env/myFriend");
-            return "My friend " + friend.sayHello();
-        } catch (NamingException e) {
-            throw new EJBException(e);
-        }
-    }
-}
-----
-
-
-==  ejb-jar.xml
-
-
-[source,xml]
-----
-<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee">
-
-  <!-- Notice this changes the global jndi name -->
-  <module-name>wombat</module-name>
-
-  <enterprise-beans>
-
-    <session>
-      <ejb-name>BlueBean</ejb-name>
-      <business-local>org.superbiz.ejblookup.Friend</business-local>
-      <ejb-class>org.superbiz.ejblookup.BlueBean</ejb-class>
-      <session-type>Stateless</session-type>
-      <transaction-type>Container</transaction-type>
-      <ejb-local-ref>
-        <ejb-ref-name>myFriend</ejb-ref-name>
-        <local>org.superbiz.ejblookup.Friend</local>
-        <ejb-link>RedBean</ejb-link>
-      </ejb-local-ref>
-    </session>
-
-    <session>
-      <ejb-name>RedBean</ejb-name>
-      <business-local>org.superbiz.ejblookup.Friend</business-local>
-      <ejb-class>org.superbiz.ejblookup.RedBean</ejb-class>
-      <session-type>Stateless</session-type>
-      <transaction-type>Container</transaction-type>
-      <ejb-local-ref>
-        <ejb-ref-name>myFriend</ejb-ref-name>
-        <local>org.superbiz.ejblookup.Friend</local>
-        <ejb-link>BlueBean</ejb-link>
-      </ejb-local-ref>
-    </session>
-
-  </enterprise-beans>
-</ejb-jar>
-----
-
-    
-
-==  EjbDependencyTest
-
-
-[source,java]
-----
-package org.superbiz.ejblookup;
-
-import junit.framework.TestCase;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-
-//START SNIPPET: code
-public class EjbDependencyTest extends TestCase {
-
-    private Context context;
-
-    protected void setUp() throws Exception {
-        context = EJBContainer.createEJBContainer().getContext();
-    }
-
-    public void testRed() throws Exception {
-
-        Friend red = (Friend) context.lookup("java:global/wombat/RedBean");
-
-        assertNotNull(red);
-        assertEquals("Red says, Hello!", red.sayHello());
-        assertEquals("My friend Blue says, Hello!", red.helloFromFriend());
-    }
-
-    public void testBlue() throws Exception {
-
-        Friend blue = (Friend) context.lookup("java:global/wombat/BlueBean");
-
-        assertNotNull(blue);
-        assertEquals("Blue says, Hello!", blue.sayHello());
-        assertEquals("My friend Red says, Hello!", blue.helloFromFriend());
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.ejblookup.EjbDependencyTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/lookup-of-ejbs-with-descriptor
-INFO - openejb.base = /Users/dblevins/examples/lookup-of-ejbs-with-descriptor
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/lookup-of-ejbs-with-descriptor/target/classes
-INFO - Beginning load: /Users/dblevins/examples/lookup-of-ejbs-with-descriptor/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/lookup-of-ejbs-with-descriptor
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean BlueBean: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.ejblookup.EjbDependencyTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/lookup-of-ejbs-with-descriptor" loaded.
-INFO - Assembling app: /Users/dblevins/examples/lookup-of-ejbs-with-descriptor
-INFO - Jndi(name="java:global/wombat/BlueBean!org.superbiz.ejblookup.Friend")
-INFO - Jndi(name="java:global/wombat/BlueBean")
-INFO - Jndi(name="java:global/wombat/RedBean!org.superbiz.ejblookup.Friend")
-INFO - Jndi(name="java:global/wombat/RedBean")
-INFO - Jndi(name="java:global/EjbModule136565368/org.superbiz.ejblookup.EjbDependencyTest!org.superbiz.ejblookup.EjbDependencyTest")
-INFO - Jndi(name="java:global/EjbModule136565368/org.superbiz.ejblookup.EjbDependencyTest")
-INFO - Created Ejb(deployment-id=RedBean, ejb-name=RedBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=BlueBean, ejb-name=BlueBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.ejblookup.EjbDependencyTest, ejb-name=org.superbiz.ejblookup.EjbDependencyTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=RedBean, ejb-name=RedBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=BlueBean, ejb-name=BlueBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.ejblookup.EjbDependencyTest, ejb-name=org.superbiz.ejblookup.EjbDependencyTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/lookup-of-ejbs-with-descriptor)
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.679 sec
-
-Results :
-
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/lookup-of-ejbs.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/lookup-of-ejbs.adoc b/src/main/jbake/content/examples/lookup-of-ejbs.adoc
deleted file mode 100755
index e11c8ee..0000000
--- a/src/main/jbake/content/examples/lookup-of-ejbs.adoc
+++ /dev/null
@@ -1,196 +0,0 @@
-= Lookup Of Ejbs
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example lookup-of-ejbs can be browsed at https://github.com/apache/tomee/tree/master/examples/lookup-of-ejbs
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  BlueBean
-
-
-[source,java]
-----
-package org.superbiz.ejblookup;
-
-import javax.ejb.EJB;
-import javax.ejb.EJBException;
-import javax.ejb.Stateless;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-//START SNIPPET: code
-@Stateless
-@EJB(beanInterface = Friend.class, beanName = "RedBean", name = "myFriend")
-public class BlueBean implements Friend {
-
-    public String sayHello() {
-        return "Blue says, Hello!";
-    }
-
-    public String helloFromFriend() {
-        try {
-            Friend friend = (Friend) new InitialContext().lookup("java:comp/env/myFriend");
-            return "My friend " + friend.sayHello();
-        } catch (NamingException e) {
-            throw new EJBException(e);
-        }
-    }
-}
-----
-
-
-==  Friend
-
-
-[source,java]
-----
-package org.superbiz.ejblookup;
-
-import javax.ejb.Local;
-
-/**
- * This is an EJB 3 local business interface
- * A local business interface may be annotated with the @Local
- * annotation, but it's optional. A business interface which is
- * not annotated with @Local or @Remote is assumed to be Local
- * if the bean does not implement any other interfaces
- */
-//START SNIPPET: code
-@Local
-public interface Friend {
-
-    public String sayHello();
-
-    public String helloFromFriend();
-}
-----
-
-
-==  RedBean
-
-
-[source,java]
-----
-package org.superbiz.ejblookup;
-
-import javax.ejb.EJB;
-import javax.ejb.EJBException;
-import javax.ejb.Stateless;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
-
-//START SNIPPET: code
-@Stateless
-@EJB(beanInterface = Friend.class, beanName = "BlueBean", name = "myFriend")
-public class RedBean implements Friend {
-
-    public String sayHello() {
-        return "Red says, Hello!";
-    }
-
-    public String helloFromFriend() {
-        try {
-            Friend friend = (Friend) new InitialContext().lookup("java:comp/env/myFriend");
-            return "My friend " + friend.sayHello();
-        } catch (NamingException e) {
-            throw new EJBException(e);
-        }
-    }
-}
-----
-
-
-==  EjbDependencyTest
-
-
-[source,java]
-----
-package org.superbiz.ejblookup;
-
-import junit.framework.TestCase;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-
-//START SNIPPET: code
-public class EjbDependencyTest extends TestCase {
-
-    private Context context;
-
-    protected void setUp() throws Exception {
-        context = EJBContainer.createEJBContainer().getContext();
-    }
-
-    public void testRed() throws Exception {
-
-        Friend red = (Friend) context.lookup("java:global/lookup-of-ejbs/RedBean");
-
-        assertNotNull(red);
-        assertEquals("Red says, Hello!", red.sayHello());
-        assertEquals("My friend Blue says, Hello!", red.helloFromFriend());
-    }
-
-    public void testBlue() throws Exception {
-
-        Friend blue = (Friend) context.lookup("java:global/lookup-of-ejbs/BlueBean");
-
-        assertNotNull(blue);
-        assertEquals("Blue says, Hello!", blue.sayHello());
-        assertEquals("My friend Red says, Hello!", blue.helloFromFriend());
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.ejblookup.EjbDependencyTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/lookup-of-ejbs
-INFO - openejb.base = /Users/dblevins/examples/lookup-of-ejbs
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/lookup-of-ejbs/target/classes
-INFO - Beginning load: /Users/dblevins/examples/lookup-of-ejbs/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/lookup-of-ejbs
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean RedBean: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.ejblookup.EjbDependencyTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/lookup-of-ejbs" loaded.
-INFO - Assembling app: /Users/dblevins/examples/lookup-of-ejbs
-INFO - Jndi(name="java:global/lookup-of-ejbs/RedBean!org.superbiz.ejblookup.Friend")
-INFO - Jndi(name="java:global/lookup-of-ejbs/RedBean")
-INFO - Jndi(name="java:global/lookup-of-ejbs/BlueBean!org.superbiz.ejblookup.Friend")
-INFO - Jndi(name="java:global/lookup-of-ejbs/BlueBean")
-INFO - Jndi(name="java:global/EjbModule1374821456/org.superbiz.ejblookup.EjbDependencyTest!org.superbiz.ejblookup.EjbDependencyTest")
-INFO - Jndi(name="java:global/EjbModule1374821456/org.superbiz.ejblookup.EjbDependencyTest")
-INFO - Created Ejb(deployment-id=RedBean, ejb-name=RedBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=BlueBean, ejb-name=BlueBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.ejblookup.EjbDependencyTest, ejb-name=org.superbiz.ejblookup.EjbDependencyTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=RedBean, ejb-name=RedBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=BlueBean, ejb-name=BlueBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.ejblookup.EjbDependencyTest, ejb-name=org.superbiz.ejblookup.EjbDependencyTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/lookup-of-ejbs)
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.267 sec
-
-Results :
-
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/mbean-auto-registration.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/mbean-auto-registration.adoc b/src/main/jbake/content/examples/mbean-auto-registration.adoc
deleted file mode 100755
index 724382d..0000000
--- a/src/main/jbake/content/examples/mbean-auto-registration.adoc
+++ /dev/null
@@ -1,172 +0,0 @@
-= Mbean Auto Registration
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example mbean-auto-registration can be browsed at https://github.com/apache/tomee/tree/master/examples/mbean-auto-registration
-
-
-This example shows how to automatically create and register mbeans using TomEE features.
-
-=  Dependencies
-
-To be able to use it you need to import the mbean api (annotations):
-
-
-[source,xml]
-----
-<dependency>
-  <groupId>org.apache.openejb</groupId>
-  <artifactId>mbean-annotation-api</artifactId>
-  <version>4.5.0</version>
-  <scope>provided</scope>
-</dependency>
-----
-
-
-=  The MBean
-
-The mbean implements a simple game where the goal is to guess a number.
-
-It allows the user to change the value too.
-
-
-[source,java]
-----
-package org.superbiz.mbean;
-
-import javax.management.Description;
-import javax.management.MBean;
-import javax.management.ManagedAttribute;
-import javax.management.ManagedOperation;
-
-@MBean
-@Description("play with me to guess a number")
-public class GuessHowManyMBean {
-    private int value = 0;
-
-    @ManagedAttribute
-    @Description("you are cheating!")
-    public int getValue() {
-        return value;
-    }
-
-    @ManagedAttribute
-    public void setValue(int value) {
-        this.value = value;
-    }
-
-    @ManagedOperation
-    public String tryValue(int userValue) {
-        if (userValue == value) {
-            return "winner";
-        }
-        return "not the correct value, please have another try";
-    }
-}
-----
-
-
-To register a MBean you simply have to specify a property either in system.properties,
-or in intial context properties.
-
-    Properties properties = new Properties();
-    properties.setProperty("openejb.user.mbeans.list", GuessHowManyMBean.class.getName());
-    EJBContainer.createEJBContainer(properties);
-
-=  Accessing the MBean
-
-Then simply get the platform server and you can play with parameters and operations:
-
-
-[source,java]
-----
-package org.superbiz.mbean;
-
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.management.Attribute;
-import javax.management.MBeanInfo;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import java.lang.management.ManagementFactory;
-import java.util.Properties;
-
-import static junit.framework.Assert.assertEquals;
-
-public class GuessHowManyMBeanTest {
-    private static final String OBJECT_NAME = "openejb.user.mbeans:group=org.superbiz.mbean,application=mbean-auto-registration,name=GuessHowManyMBean";
-
-    @Test
-    public void play() throws Exception {
-        Properties properties = new Properties();
-        properties.setProperty("openejb.user.mbeans.list", GuessHowManyMBean.class.getName());
-        EJBContainer container = EJBContainer.createEJBContainer(properties);
-
-        MBeanServer server = ManagementFactory.getPlatformMBeanServer();
-        ObjectName objectName = new ObjectName(OBJECT_NAME);
-        MBeanInfo infos = server.getMBeanInfo(objectName);
-        assertEquals(0, server.getAttribute(objectName, "value"));
-        server.setAttribute(objectName, new Attribute("value", 3));
-        assertEquals(3, server.getAttribute(objectName, "value"));
-        assertEquals("winner", server.invoke(objectName, "tryValue", new Object[]{3}, null));
-        assertEquals("not the correct value, please have another try", server.invoke(objectName, "tryValue", new Object[]{2}, null));
-
-        container.close();
-    }
-}
-----
-
-
-====  Note
-
-If OpenEJB can't find any module it can't start. So to force him to start even if the example has only the mbean
-as java class, we added a `beans.xml` file to turn our project into a Java EE module.
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.mbean.GuessHowManyMBeanTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/mbean-auto-registration
-INFO - openejb.base = /Users/dblevins/examples/mbean-auto-registration
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/mbean-auto-registration/target/classes
-INFO - Beginning load: /Users/dblevins/examples/mbean-auto-registration/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/mbean-auto-registration
-INFO - MBean openejb.user.mbeans:application=,group=org.superbiz.mbean,name=GuessHowManyMBean registered.
-INFO - MBean openejb.user.mbeans:application=mbean-auto-registration,group=org.superbiz.mbean,name=GuessHowManyMBean registered.
-INFO - MBean openejb.user.mbeans:application=EjbModule1847652919,group=org.superbiz.mbean,name=GuessHowManyMBean registered.
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean mbean-auto-registration.Comp: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/mbean-auto-registration" loaded.
-INFO - Assembling app: /Users/dblevins/examples/mbean-auto-registration
-INFO - Jndi(name="java:global/mbean-auto-registration/mbean-auto-registration.Comp!org.apache.openejb.BeanContext$Comp")
-INFO - Jndi(name="java:global/mbean-auto-registration/mbean-auto-registration.Comp")
-INFO - Jndi(name="java:global/EjbModule1847652919/org.superbiz.mbean.GuessHowManyMBeanTest!org.superbiz.mbean.GuessHowManyMBeanTest")
-INFO - Jndi(name="java:global/EjbModule1847652919/org.superbiz.mbean.GuessHowManyMBeanTest")
-INFO - Created Ejb(deployment-id=mbean-auto-registration.Comp, ejb-name=mbean-auto-registration.Comp, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=org.superbiz.mbean.GuessHowManyMBeanTest, ejb-name=org.superbiz.mbean.GuessHowManyMBeanTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=mbean-auto-registration.Comp, ejb-name=mbean-auto-registration.Comp, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=org.superbiz.mbean.GuessHowManyMBeanTest, ejb-name=org.superbiz.mbean.GuessHowManyMBeanTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/mbean-auto-registration)
-INFO - Undeploying app: /Users/dblevins/examples/mbean-auto-registration
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.063 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/moviefun-rest.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/moviefun-rest.adoc b/src/main/jbake/content/examples/moviefun-rest.adoc
deleted file mode 100755
index 161fb12..0000000
--- a/src/main/jbake/content/examples/moviefun-rest.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= moviefun-rest
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example moviefun-rest can be browsed at https://github.com/apache/tomee/tree/master/examples/moviefun-rest
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/moviefun.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/moviefun.adoc b/src/main/jbake/content/examples/moviefun.adoc
deleted file mode 100755
index bd2ccd9..0000000
--- a/src/main/jbake/content/examples/moviefun.adoc
+++ /dev/null
@@ -1,385 +0,0 @@
-= Movies Complete
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example moviefun can be browsed at https://github.com/apache/tomee/tree/master/examples/moviefun
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  AddInterceptor
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Revision$ $Date$
- */
-public class AddInterceptor {
-
-    @AroundInvoke
-    public Object invoke(InvocationContext context) throws Exception {
-        // Log Add
-        return context.proceed();
-    }
-}
-----
-
-
-==  DeleteInterceptor
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Revision$ $Date$
- */
-public class DeleteInterceptor {
-
-    @AroundInvoke
-    public Object invoke(InvocationContext context) throws Exception {
-        // Log Delete
-        return context.proceed();
-    }
-}
-----
-
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.persistence.Entity;
-
-@Entity
-public class Movie {
-
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-}
-----
-
-
-==  Movies
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.annotation.security.PermitAll;
-import javax.annotation.security.RolesAllowed;
-import javax.ejb.Stateful;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import javax.interceptor.Interceptors;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-//START SNIPPET: code
-@Stateful
-public class Movies {
-
-    @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.TRANSACTION)
-    private EntityManager entityManager;
-
-    @RolesAllowed({"Employee", "Manager"})
-    @TransactionAttribute(TransactionAttributeType.REQUIRED)
-    @Interceptors(AddInterceptor.class)
-    public void addMovie(Movie movie) throws Exception {
-        entityManager.persist(movie);
-    }
-
-    @RolesAllowed({"Manager"})
-    @TransactionAttribute(TransactionAttributeType.MANDATORY)
-    @Interceptors(DeleteInterceptor.class)
-    public void deleteMovie(Movie movie) throws Exception {
-        entityManager.remove(movie);
-    }
-
-    @PermitAll
-    @TransactionAttribute(TransactionAttributeType.SUPPORTS)
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-}
-----
-
-
-==  ReadInterceptor
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Revision$ $Date$
- */
-public class ReadInterceptor {
-
-    @AroundInvoke
-    public Object invoke(InvocationContext context) throws Exception {
-        // Log Delete
-        return context.proceed();
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
-  <persistence-unit name="movie-unit">
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <class>org.superbiz.injection.tx.Movie</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  MoviesTest
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import junit.framework.TestCase;
-
-import javax.annotation.security.RunAs;
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import javax.ejb.embeddable.EJBContainer;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.Callable;
-
-import static javax.ejb.TransactionAttributeType.REQUIRES_NEW;
-
-/**
- * See the transaction-rollback example as it does the same thing
- * via UserTransaction and shows more techniques for rollback 
- */
-//START SNIPPET: code
-public class MoviesTest extends TestCase {
-
-    @EJB
-    private Movies movies;
-
-    @EJB(beanName = "TransactionBean")
-    private Caller transactionalCaller;
-
-    @EJB(beanName = "NoTransactionBean")
-    private Caller nonTransactionalCaller;
-
-    protected void setUp() throws Exception {
-        final Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
-    }
-
-    private void doWork() throws Exception {
-
-        movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-        movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-        movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 3, list.size());
-
-        for (Movie movie : list) {
-            movies.deleteMovie(movie);
-        }
-
-        assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-    }
-
-    public void testWithTransaction() throws Exception {
-        transactionalCaller.call(new Callable() {
-            public Object call() throws Exception {
-                doWork();
-                return null;
-            }
-        });
-    }
-
-    public void testWithoutTransaction() throws Exception {
-        try {
-            nonTransactionalCaller.call(new Callable() {
-                public Object call() throws Exception {
-                    doWork();
-                    return null;
-                }
-            });
-            fail("The Movies bean should be using TransactionAttributeType.MANDATORY");
-        } catch (javax.ejb.EJBException e) {
-            // good, our Movies bean is using TransactionAttributeType.MANDATORY as we want
-        }
-    }
-
-
-    public static interface Caller {
-        public <V> V call(Callable<V> callable) throws Exception;
-    }
-
-    /**
-     * This little bit of magic allows our test code to execute in
-     * the scope of a container controlled transaction.
-     */
-    @Stateless
-    @RunAs("Manager")
-    @TransactionAttribute(REQUIRES_NEW)
-    public static class TransactionBean implements Caller {
-
-        public <V> V call(Callable<V> callable) throws Exception {
-            return callable.call();
-        }
-    }
-
-    @Stateless
-    @RunAs("Manager")
-    @TransactionAttribute(TransactionAttributeType.NEVER)
-    public static class NoTransactionBean implements Caller {
-
-        public <V> V call(Callable<V> callable) throws Exception {
-            return callable.call();
-        }
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.tx.MoviesTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/movies-complete
-INFO - openejb.base = /Users/dblevins/examples/movies-complete
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/movies-complete/target/classes
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/movies-complete/target/test-classes
-INFO - Beginning load: /Users/dblevins/examples/movies-complete/target/classes
-INFO - Beginning load: /Users/dblevins/examples/movies-complete/target/test-classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/movies-complete
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean TransactionBean: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.tx.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/movies-complete" loaded.
-INFO - Assembling app: /Users/dblevins/examples/movies-complete
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 402ms
-INFO - Jndi(name="java:global/movies-complete/Movies!org.superbiz.injection.tx.Movies")
-INFO - Jndi(name="java:global/movies-complete/Movies")
-INFO - Jndi(name="java:global/movies-complete/TransactionBean!org.superbiz.injection.tx.MoviesTest$Caller")
-INFO - Jndi(name="java:global/movies-complete/TransactionBean")
-INFO - Jndi(name="java:global/movies-complete/NoTransactionBean!org.superbiz.injection.tx.MoviesTest$Caller")
-INFO - Jndi(name="java:global/movies-complete/NoTransactionBean")
-INFO - Jndi(name="java:global/EjbModule1013462002/org.superbiz.injection.tx.MoviesTest!org.superbiz.injection.tx.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule1013462002/org.superbiz.injection.tx.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=NoTransactionBean, ejb-name=NoTransactionBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=TransactionBean, ejb-name=TransactionBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.tx.MoviesTest, ejb-name=org.superbiz.injection.tx.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=NoTransactionBean, ejb-name=NoTransactionBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=TransactionBean, ejb-name=TransactionBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.tx.MoviesTest, ejb-name=org.superbiz.injection.tx.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/movies-complete)
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.418 sec
-
-Results :
-
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/movies-complete-meta.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/movies-complete-meta.adoc b/src/main/jbake/content/examples/movies-complete-meta.adoc
deleted file mode 100755
index a4b50a6..0000000
--- a/src/main/jbake/content/examples/movies-complete-meta.adoc
+++ /dev/null
@@ -1,502 +0,0 @@
-= Movies Complete Meta
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example movies-complete-meta can be browsed at https://github.com/apache/tomee/tree/master/examples/movies-complete-meta
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  AddInterceptor
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Revision$ $Date$
- */
-public class AddInterceptor {
-
-    @AroundInvoke
-    public Object invoke(InvocationContext context) throws Exception {
-        // Log Add
-        return context.proceed();
-    }
-}
-----
-
-
-==  Add
-
-
-[source,java]
-----
-package org.superbiz.injection.tx.api;
-
-import org.superbiz.injection.tx.AddInterceptor;
-
-import javax.annotation.security.RolesAllowed;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import javax.interceptor.Interceptors;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.METHOD)
-
-public @interface Add {
-    public interface $ {
-
-        @Add
-        @RolesAllowed({"Employee", "Manager"})
-        @TransactionAttribute(TransactionAttributeType.REQUIRED)
-        @Interceptors(AddInterceptor.class)
-        public void method();
-    }
-}
-----
-
-
-==  Delete
-
-
-[source,java]
-----
-package org.superbiz.injection.tx.api;
-
-import org.superbiz.injection.tx.DeleteInterceptor;
-
-import javax.annotation.security.RolesAllowed;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import javax.interceptor.Interceptors;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.METHOD)
-
-public @interface Delete {
-    public interface $ {
-
-        @Delete
-        @RolesAllowed({"Manager"})
-        @TransactionAttribute(TransactionAttributeType.MANDATORY)
-        @Interceptors(DeleteInterceptor.class)
-        public void method();
-    }
-}
-----
-
-
-==  Metatype
-
-
-[source,java]
-----
-package org.superbiz.injection.tx.api;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.ANNOTATION_TYPE)
-public @interface Metatype {
-}
-----
-
-
-==  MovieUnit
-
-
-[source,java]
-----
-package org.superbiz.injection.tx.api;
-
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-
-@Metatype
-@Target({ElementType.METHOD, ElementType.FIELD})
-@Retention(RetentionPolicy.RUNTIME)
-
-@PersistenceContext(name = "movie-unit", unitName = "movie-unit", type = PersistenceContextType.EXTENDED)
-public @interface MovieUnit {
-}
-----
-
-
-==  Read
-
-
-[source,java]
-----
-package org.superbiz.injection.tx.api;
-
-import javax.annotation.security.PermitAll;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-@Metatype
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.METHOD)
-
-public @interface Read {
-    public interface $ {
-
-        @Read
-        @PermitAll
-        @TransactionAttribute(TransactionAttributeType.SUPPORTS)
-        public void method();
-    }
-}
-----
-
-
-==  DeleteInterceptor
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Revision$ $Date$
- */
-public class DeleteInterceptor {
-
-    @AroundInvoke
-    public Object invoke(InvocationContext context) throws Exception {
-        // Log Delete
-        return context.proceed();
-    }
-}
-----
-
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.persistence.Entity;
-
-@Entity
-public class Movie {
-
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-}
-----
-
-
-==  Movies
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import org.superbiz.injection.tx.api.Add;
-import org.superbiz.injection.tx.api.Delete;
-import org.superbiz.injection.tx.api.MovieUnit;
-import org.superbiz.injection.tx.api.Read;
-
-import javax.ejb.Stateful;
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import java.util.List;
-
-//END SNIPPET: code
-
-//START SNIPPET: code
-@Stateful
-public class Movies {
-
-    @MovieUnit
-    private EntityManager entityManager;
-
-    @Add
-    public void addMovie(Movie movie) throws Exception {
-        entityManager.persist(movie);
-    }
-
-    @Delete
-    public void deleteMovie(Movie movie) throws Exception {
-        entityManager.remove(movie);
-    }
-
-    @Read
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
-  <persistence-unit name="movie-unit">
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <class>org.superbiz.injection.tx.Movie</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  MoviesTest
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import junit.framework.TestCase;
-
-import javax.annotation.security.RunAs;
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import javax.ejb.embeddable.EJBContainer;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.Callable;
-
-import static javax.ejb.TransactionAttributeType.REQUIRES_NEW;
-
-/**
- * See the transaction-rollback example as it does the same thing
- * via UserTransaction and shows more techniques for rollback 
- */
-//START SNIPPET: code
-public class MoviesTest extends TestCase {
-
-    @EJB
-    private Movies movies;
-
-    @EJB(beanName = "TransactionBean")
-    private Caller transactionalCaller;
-
-    @EJB(beanName = "NoTransactionBean")
-    private Caller nonTransactionalCaller;
-
-    protected void setUp() throws Exception {
-        final Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
-    }
-
-    private void doWork() throws Exception {
-
-        movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-        movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-        movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 3, list.size());
-
-        for (Movie movie : list) {
-            movies.deleteMovie(movie);
-        }
-
-        assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-    }
-
-    public void testWithTransaction() throws Exception {
-        transactionalCaller.call(new Callable() {
-            public Object call() throws Exception {
-                doWork();
-                return null;
-            }
-        });
-    }
-
-    public void testWithoutTransaction() throws Exception {
-        try {
-            nonTransactionalCaller.call(new Callable() {
-                public Object call() throws Exception {
-                    doWork();
-                    return null;
-                }
-            });
-            fail("The Movies bean should be using TransactionAttributeType.MANDATORY");
-        } catch (javax.ejb.EJBException e) {
-            // good, our Movies bean is using TransactionAttributeType.MANDATORY as we want
-        }
-    }
-
-
-    public static interface Caller {
-        public <V> V call(Callable<V> callable) throws Exception;
-    }
-
-    /**
-     * This little bit of magic allows our test code to execute in
-     * the scope of a container controlled transaction.
-     */
-    @Stateless
-    @RunAs("Manager")
-    @TransactionAttribute(REQUIRES_NEW)
-    public static class TransactionBean implements Caller {
-
-        public <V> V call(Callable<V> callable) throws Exception {
-            return callable.call();
-        }
-    }
-
-    @Stateless
-    @RunAs("Manager")
-    @TransactionAttribute(TransactionAttributeType.NEVER)
-    public static class NoTransactionBean implements Caller {
-
-        public <V> V call(Callable<V> callable) throws Exception {
-            return callable.call();
-        }
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.tx.MoviesTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/movies-complete-meta
-INFO - openejb.base = /Users/dblevins/examples/movies-complete-meta
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/movies-complete-meta/target/test-classes
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/movies-complete-meta/target/classes
-INFO - Beginning load: /Users/dblevins/examples/movies-complete-meta/target/test-classes
-INFO - Beginning load: /Users/dblevins/examples/movies-complete-meta/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/movies-complete-meta
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean TransactionBean: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.tx.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/movies-complete-meta" loaded.
-INFO - Assembling app: /Users/dblevins/examples/movies-complete-meta
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 408ms
-INFO - Jndi(name="java:global/movies-complete-meta/TransactionBean!org.superbiz.injection.tx.MoviesTest$Caller")
-INFO - Jndi(name="java:global/movies-complete-meta/TransactionBean")
-INFO - Jndi(name="java:global/movies-complete-meta/NoTransactionBean!org.superbiz.injection.tx.MoviesTest$Caller")
-INFO - Jndi(name="java:global/movies-complete-meta/NoTransactionBean")
-INFO - Jndi(name="java:global/movies-complete-meta/Movies!org.superbiz.injection.tx.Movies")
-INFO - Jndi(name="java:global/movies-complete-meta/Movies")
-INFO - Jndi(name="java:global/EjbModule1861413442/org.superbiz.injection.tx.MoviesTest!org.superbiz.injection.tx.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule1861413442/org.superbiz.injection.tx.MoviesTest")
-INFO - Created Ejb(deployment-id=NoTransactionBean, ejb-name=NoTransactionBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=TransactionBean, ejb-name=TransactionBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.tx.MoviesTest, ejb-name=org.superbiz.injection.tx.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=NoTransactionBean, ejb-name=NoTransactionBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=TransactionBean, ejb-name=TransactionBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.tx.MoviesTest, ejb-name=org.superbiz.injection.tx.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/movies-complete-meta)
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.869 sec
-
-Results :
-
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/movies-complete.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/movies-complete.adoc b/src/main/jbake/content/examples/movies-complete.adoc
deleted file mode 100755
index 42fed35..0000000
--- a/src/main/jbake/content/examples/movies-complete.adoc
+++ /dev/null
@@ -1,385 +0,0 @@
-= Movies Complete
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example movies-complete can be browsed at https://github.com/apache/tomee/tree/master/examples/movies-complete
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  AddInterceptor
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Revision$ $Date$
- */
-public class AddInterceptor {
-
-    @AroundInvoke
-    public Object invoke(InvocationContext context) throws Exception {
-        // Log Add
-        return context.proceed();
-    }
-}
-----
-
-
-==  DeleteInterceptor
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Revision$ $Date$
- */
-public class DeleteInterceptor {
-
-    @AroundInvoke
-    public Object invoke(InvocationContext context) throws Exception {
-        // Log Delete
-        return context.proceed();
-    }
-}
-----
-
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.persistence.Entity;
-
-@Entity
-public class Movie {
-
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-
-}
-----
-
-
-==  Movies
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.annotation.security.PermitAll;
-import javax.annotation.security.RolesAllowed;
-import javax.ejb.Stateful;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import javax.interceptor.Interceptors;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.PersistenceContextType;
-import javax.persistence.Query;
-import java.util.List;
-
-//START SNIPPET: code
-@Stateful
-public class Movies {
-
-    @PersistenceContext(unitName = "movie-unit", type = PersistenceContextType.TRANSACTION)
-    private EntityManager entityManager;
-
-    @RolesAllowed({"Employee", "Manager"})
-    @TransactionAttribute(TransactionAttributeType.REQUIRED)
-    @Interceptors(AddInterceptor.class)
-    public void addMovie(Movie movie) throws Exception {
-        entityManager.persist(movie);
-    }
-
-    @RolesAllowed({"Manager"})
-    @TransactionAttribute(TransactionAttributeType.MANDATORY)
-    @Interceptors(DeleteInterceptor.class)
-    public void deleteMovie(Movie movie) throws Exception {
-        entityManager.remove(movie);
-    }
-
-    @PermitAll
-    @TransactionAttribute(TransactionAttributeType.SUPPORTS)
-    public List<Movie> getMovies() throws Exception {
-        Query query = entityManager.createQuery("SELECT m from Movie as m");
-        return query.getResultList();
-    }
-}
-----
-
-
-==  ReadInterceptor
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import javax.interceptor.AroundInvoke;
-import javax.interceptor.InvocationContext;
-
-/**
- * @version $Revision$ $Date$
- */
-public class ReadInterceptor {
-
-    @AroundInvoke
-    public Object invoke(InvocationContext context) throws Exception {
-        // Log Delete
-        return context.proceed();
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
-
-  <persistence-unit name="movie-unit">
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <class>org.superbiz.injection.tx.Movie</class>
-
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-
-==  MoviesTest
-
-
-[source,java]
-----
-package org.superbiz.injection.tx;
-
-import junit.framework.TestCase;
-
-import javax.annotation.security.RunAs;
-import javax.ejb.EJB;
-import javax.ejb.Stateless;
-import javax.ejb.TransactionAttribute;
-import javax.ejb.TransactionAttributeType;
-import javax.ejb.embeddable.EJBContainer;
-import java.util.List;
-import java.util.Properties;
-import java.util.concurrent.Callable;
-
-import static javax.ejb.TransactionAttributeType.REQUIRES_NEW;
-
-/**
- * See the transaction-rollback example as it does the same thing
- * via UserTransaction and shows more techniques for rollback 
- */
-//START SNIPPET: code
-public class MoviesTest extends TestCase {
-
-    @EJB
-    private Movies movies;
-
-    @EJB(beanName = "TransactionBean")
-    private Caller transactionalCaller;
-
-    @EJB(beanName = "NoTransactionBean")
-    private Caller nonTransactionalCaller;
-
-    protected void setUp() throws Exception {
-        final Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        EJBContainer.createEJBContainer(p).getContext().bind("inject", this);
-    }
-
-    private void doWork() throws Exception {
-
-        movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-        movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-        movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 3, list.size());
-
-        for (Movie movie : list) {
-            movies.deleteMovie(movie);
-        }
-
-        assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-    }
-
-    public void testWithTransaction() throws Exception {
-        transactionalCaller.call(new Callable() {
-            public Object call() throws Exception {
-                doWork();
-                return null;
-            }
-        });
-    }
-
-    public void testWithoutTransaction() throws Exception {
-        try {
-            nonTransactionalCaller.call(new Callable() {
-                public Object call() throws Exception {
-                    doWork();
-                    return null;
-                }
-            });
-            fail("The Movies bean should be using TransactionAttributeType.MANDATORY");
-        } catch (javax.ejb.EJBException e) {
-            // good, our Movies bean is using TransactionAttributeType.MANDATORY as we want
-        }
-    }
-
-
-    public static interface Caller {
-        public <V> V call(Callable<V> callable) throws Exception;
-    }
-
-    /**
-     * This little bit of magic allows our test code to execute in
-     * the scope of a container controlled transaction.
-     */
-    @Stateless
-    @RunAs("Manager")
-    @TransactionAttribute(REQUIRES_NEW)
-    public static class TransactionBean implements Caller {
-
-        public <V> V call(Callable<V> callable) throws Exception {
-            return callable.call();
-        }
-    }
-
-    @Stateless
-    @RunAs("Manager")
-    @TransactionAttribute(TransactionAttributeType.NEVER)
-    public static class NoTransactionBean implements Caller {
-
-        public <V> V call(Callable<V> callable) throws Exception {
-            return callable.call();
-        }
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.injection.tx.MoviesTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/movies-complete
-INFO - openejb.base = /Users/dblevins/examples/movies-complete
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/movies-complete/target/classes
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/movies-complete/target/test-classes
-INFO - Beginning load: /Users/dblevins/examples/movies-complete/target/classes
-INFO - Beginning load: /Users/dblevins/examples/movies-complete/target/test-classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/movies-complete
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean TransactionBean: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.injection.tx.MoviesTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Auto-creating a Resource with id 'movieDatabaseNonJta' of type 'DataSource for 'movie-unit'.
-INFO - Configuring Service(id=movieDatabaseNonJta, type=Resource, provider-id=movieDatabase)
-INFO - Adjusting PersistenceUnit movie-unit <non-jta-data-source> to Resource ID 'movieDatabaseNonJta' from 'movieDatabaseUnmanaged'
-INFO - Enterprise application "/Users/dblevins/examples/movies-complete" loaded.
-INFO - Assembling app: /Users/dblevins/examples/movies-complete
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 402ms
-INFO - Jndi(name="java:global/movies-complete/Movies!org.superbiz.injection.tx.Movies")
-INFO - Jndi(name="java:global/movies-complete/Movies")
-INFO - Jndi(name="java:global/movies-complete/TransactionBean!org.superbiz.injection.tx.MoviesTest$Caller")
-INFO - Jndi(name="java:global/movies-complete/TransactionBean")
-INFO - Jndi(name="java:global/movies-complete/NoTransactionBean!org.superbiz.injection.tx.MoviesTest$Caller")
-INFO - Jndi(name="java:global/movies-complete/NoTransactionBean")
-INFO - Jndi(name="java:global/EjbModule1013462002/org.superbiz.injection.tx.MoviesTest!org.superbiz.injection.tx.MoviesTest")
-INFO - Jndi(name="java:global/EjbModule1013462002/org.superbiz.injection.tx.MoviesTest")
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Created Ejb(deployment-id=NoTransactionBean, ejb-name=NoTransactionBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=TransactionBean, ejb-name=TransactionBean, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.injection.tx.MoviesTest, ejb-name=org.superbiz.injection.tx.MoviesTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=NoTransactionBean, ejb-name=NoTransactionBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=TransactionBean, ejb-name=TransactionBean, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.injection.tx.MoviesTest, ejb-name=org.superbiz.injection.tx.MoviesTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/movies-complete)
-INFO - EJBContainer already initialized.  Call ejbContainer.close() to allow reinitialization
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.418 sec
-
-Results :
-
-Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/mtom.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/mtom.adoc b/src/main/jbake/content/examples/mtom.adoc
deleted file mode 100755
index b1af48a..0000000
--- a/src/main/jbake/content/examples/mtom.adoc
+++ /dev/null
@@ -1,8 +0,0 @@
-= mtom
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example mtom can be browsed at https://github.com/apache/tomee/tree/master/examples/mtom
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/multi-jpa-provider-testing.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/multi-jpa-provider-testing.adoc b/src/main/jbake/content/examples/multi-jpa-provider-testing.adoc
deleted file mode 100755
index 5862411..0000000
--- a/src/main/jbake/content/examples/multi-jpa-provider-testing.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= multi-jpa-provider-testing
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example multi-jpa-provider-testing can be browsed at https://github.com/apache/tomee/tree/master/examples/multi-jpa-provider-testing
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/multiple-arquillian-adapters.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/multiple-arquillian-adapters.adoc b/src/main/jbake/content/examples/multiple-arquillian-adapters.adoc
deleted file mode 100755
index e4f80a3..0000000
--- a/src/main/jbake/content/examples/multiple-arquillian-adapters.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= multiple-arquillian-adapters
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example multiple-arquillian-adapters can be browsed at https://github.com/apache/tomee/tree/master/examples/multiple-arquillian-adapters
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/multiple-tomee-arquillian.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/multiple-tomee-arquillian.adoc b/src/main/jbake/content/examples/multiple-tomee-arquillian.adoc
deleted file mode 100755
index 940285d..0000000
--- a/src/main/jbake/content/examples/multiple-tomee-arquillian.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= multiple-tomee-arquillian
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example multiple-tomee-arquillian can be browsed at https://github.com/apache/tomee/tree/master/examples/multiple-tomee-arquillian
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/myfaces-codi-demo.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/myfaces-codi-demo.adoc b/src/main/jbake/content/examples/myfaces-codi-demo.adoc
deleted file mode 100755
index 6e2dc20..0000000
--- a/src/main/jbake/content/examples/myfaces-codi-demo.adoc
+++ /dev/null
@@ -1,76 +0,0 @@
-= MyFaces CODI Demo
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example myfaces-codi-demo can be browsed at https://github.com/apache/tomee/tree/master/examples/myfaces-codi-demo
-
-Notice:    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.
-
-<h2>Steps to run the example</h2>
-
-Build and start the demo:
-
-    mvn clean package tomee:run
-
-Open:
-
-    http://localhost:8080/myfaces-codi-1.0-SNAPSHOT/
-
-This example shows how to improve JSF2/CDI/BV/JPA applications with features provided by Apache MyFaces CODI and ExtVal.
-
-<h2>Intro of MyFaces CODI and ExtVal</h2>
-
-The Apache MyFaces Extensions CDI project (aka CODI) hosts portable extensions for Contexts and Dependency Injection (CDI - JSR 299). CODI is a toolbox for your CDI application. Like CDI itself CODI is focused on type-safety. It is a modularized and extensible framework. So it's easy to choose the needed parts to facilitate the daily work in your project.
-
-MyFaces Extensions Validator (aka ExtVal) is a JSF centric validation framework which is compatible with JSF 1.x and JSF 2.x.
-This example shows how it improves the default integration of Bean-Validation (JSR-303) with JSF2 as well as meta-data based cross-field validation.
-
-
-<h2>Illustrated Features</h2>
-
-<h3>Apache MyFaces CODI</h3>
-
-<ul>
-
-[source,xml]
-----
-<li><a href="./src/main/java/org/superbiz/myfaces/view/config/Pages.java" target="_blank">Type-safe view-config</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/view/InfoPage.java" target="_blank">Type-safe (custom) view-meta-data</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/view/MenuBean.java" target="_blank">Type-safe navigation</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/CustomJsfModuleConfig.java" target="_blank">Type-safe (specialized) config</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/CustomProjectStage.java" target="_blank">Type-safe custom project-stage</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/view/UserHolder.java" target="_blank">@WindowScoped</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/view/MenuBean.java" target="_blank">Controlling CODI scopes with WindowContext</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/view/FeedbackPage.java" target="_blank">@ViewAccessScoped</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/view/FeedbackPage.java" target="_blank">Manual conversation handling</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/view/security/LoginAccessDecisionVoter.java" target="_blank">Secured pages (AccessDecisionVoter)</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/repository/Repository.java" target="_blank">@Transactional</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/view/RegistrationPage.java" target="_blank">I18n (fluent API)</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/domain/validation/UniqueUserNameValidator.java" target="_blank">Dependency-Injection for JSR303 (BV) constraint-validators</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/DebugPhaseListener.java" target="_blank">Dependency-Injection for JSF phase-listeners</a></li>
-</ul>
-
-<h3>Apache MyFaces ExtVal</h3>
-
-<ul>
-<li><a href="./src/main/java/org/superbiz/myfaces/view/RegistrationPage.java" target="_blank">Cross-Field validation (@Equals)</a></li>
-<li><a href="./src/main/java/org/superbiz/myfaces/view/RegistrationPage.java" target="_blank">Type-safe group-validation (@BeanValidation) for JSF action-methods</a></li>
-</ul>
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/persistence-fragment.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/persistence-fragment.adoc b/src/main/jbake/content/examples/persistence-fragment.adoc
deleted file mode 100755
index e200f41..0000000
--- a/src/main/jbake/content/examples/persistence-fragment.adoc
+++ /dev/null
@@ -1,149 +0,0 @@
-= Persistence Fragment
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example persistence-fragment can be browsed at https://github.com/apache/tomee/tree/master/examples/persistence-fragment
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Movie
-
-
-[source,java]
-----
-package org.superbiz.injection.jpa;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-
-@Entity
-public class Movie {
-    @Id
-    @GeneratedValue
-    private long id;
-    private String director;
-    private String title;
-    private int year;
-
-    public Movie() {
-        // no-op
-    }
-
-    public Movie(String director, String title, int year) {
-        this.director = director;
-        this.title = title;
-        this.year = year;
-    }
-
-    public long getId() {
-        return id;
-    }
-
-    public String getDirector() {
-        return director;
-    }
-
-    public void setDirector(String director) {
-        this.director = director;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public int getYear() {
-        return year;
-    }
-
-    public void setYear(int year) {
-        this.year = year;
-    }
-}
-----
-
-
-==  persistence-fragment.xml
-
-
-[source,xml]
-----
-<persistence-fragment version="2.0">
-  <persistence-unit-fragment name="movie-unit">
-    <class>org.superbiz.injection.jpa.Movie</class>
-    <exclude-unlisted-classes>true</exclude-unlisted-classes>
-  </persistence-unit-fragment>
-</persistence-fragment>
-----
-
-    
-
-==  MoviesTest
-
-
-[source,java]
-----
-package org.superbiz.injection.jpa;
-
-import org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.PersistenceUnit;
-import java.util.Properties;
-
-import static org.junit.Assert.assertTrue;
-
-public class MoviesTest {
-    @PersistenceUnit
-    private EntityManagerFactory emf;
-
-    @Test
-    public void test() throws Exception {
-        final Properties p = new Properties();
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        final EJBContainer container = EJBContainer.createEJBContainer(p);
-        final Context context = container.getContext();
-        context.bind("inject", this);
-
-        assertTrue(((ReloadableEntityManagerFactory) emf).getManagedClasses().contains(Movie.class.getName()));
-
-        container.close();
-    }
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence version="2.0"
-             xmlns="http://java.sun.com/xml/ns/persistence"
-             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
-                       http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
-  <persistence-unit name="movie-unit">
-    <jta-data-source>movieDatabase</jta-data-source>
-    <non-jta-data-source>movieDatabaseUnmanaged</non-jta-data-source>
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/pojo-webservice.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/pojo-webservice.adoc b/src/main/jbake/content/examples/pojo-webservice.adoc
deleted file mode 100755
index 019f2f6..0000000
--- a/src/main/jbake/content/examples/pojo-webservice.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= pojo-webservice
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example pojo-webservice can be browsed at https://github.com/apache/tomee/tree/master/examples/pojo-webservice
-
-No README.md yet, be the first to contribute one!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/polling-parent.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/polling-parent.adoc b/src/main/jbake/content/examples/polling-parent.adoc
deleted file mode 100755
index 9ee24f5..0000000
--- a/src/main/jbake/content/examples/polling-parent.adoc
+++ /dev/null
@@ -1,39 +0,0 @@
-= polling-parent
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example polling-parent can be browsed at https://github.com/apache/tomee/tree/master/examples/polling-parent
-
-=  Sample #
-
-This sample implements a simple polling application.
-
-You can create polls and then vote (+1 or -1) for each poll (called Subject).
-
-The front is a JAX-RS front and the backend uses EJBs and JPA.
-
-=  Module #
-
-The application contains several modules:
-
-* polling-domain: entities used by the client side too
-* polling-core: the middle/dao layer
-* polling-web: front layer (REST services)
-
-=  What is noticeable #
-
-The front layer contains a MBean managed by CDI (VoteCounter) which is used by REST services to update information you
-can retrieve through JMX protocol (JConsole client is fine to see it ;)).
-
-It manages a dynamic datasource too. It manages in the example configuration 2 clients.
-
-It is a simple round robin by request. That's why from the client if you simply create a poll then find it
-you'll not find the persisted poll, you need to do it once again.
-
-=  Client #
-
-It lets you create poll, retrieve them, find the best poll and vote for any poll.
-
-Please type help for more information.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/projectstage-demo.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/projectstage-demo.adoc b/src/main/jbake/content/examples/projectstage-demo.adoc
deleted file mode 100755
index 2b92b3f..0000000
--- a/src/main/jbake/content/examples/projectstage-demo.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= projectstage-demo
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example projectstage-demo can be browsed at https://github.com/apache/tomee/tree/master/examples/projectstage-demo
-
-No README.md yet, be the first to contribute one!


[29/34] tomee-site-generator git commit: Merge old content. Move tech content to main build.

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/release-tomee.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/release-tomee.mdtext b/src/main/jbake/content/dev/release-tomee.mdtext
new file mode 100644
index 0000000..a125e4a
--- /dev/null
+++ b/src/main/jbake/content/dev/release-tomee.mdtext
@@ -0,0 +1,283 @@
+#Releasing TomEE
+
+	This document is aimed at guiding a release manager through the general release process. You will need either a Linux, Mac, or failing that a Linux Virtual (with at least a 50GB Drive) on Win. 
+
+###Preparation of The Branch
+	
+Run **ant -f rat.xml > report.txt** on trunk to ensure all licences are in place.
+
+ - Review the report.txt and update/add missing headers until clean.
+ - *Tip*, search for **Unapproved licenses:** at the beginning of the report for a list.
+
+Branch the version to release and ensure it builds and passes all tests.
+
+Add a buildbot CI setup for branch here:
+
+[https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/tomee.conf](https://svn.apache.org/repos/infra/infrastructure/buildbot/aegis/buildmaster/master1/projects/tomee.conf)
+
+Basically search for the following line and it should be obvious how to add a new builder:
+
+	c['builders'].append(tomee_hemera_builder("tomee-trunk-ubuntu", "tomee/tomee/trunk"))
+	
+An SVN trigger must be added afterwards. This can only be done by someone with admin permissions, such as any PMC chair or an Infra team member.
+Just drop an email to *infrastructure@apache.org*
+
+###Create a TCK Branch
+
+Branch the TCK using the same version as the release branch from here:
+
+[https://svn.apache.org/repos/tck/tomee-tck/trunk](https://svn.apache.org/repos/tck/tomee-tck/trunk)
+
+Update the TCK branch files to point to the version branch.
+
+	\tckbranch\plus.properties
+	\tckbranch\pom.xml
+	\tckbranch\webprofile-plus.properties
+	\tckbranch\webprofile.properties
+
+Run **ant -f rat.xml > report.txt** on the branch.
+
+ - Review the report.txt and update/add missing headers until clean.
+ - *Tip*, search for **Unapproved licenses:**.
+
+###Check SVN Authentication
+ 
+Pre-authenticate svn repositories to ensure your credentials are cached before using any tools.
+
+	svn mkdir --username [apacheuser] --password [apachepw] -m "Create test dir" https://svn.apache.org/repos/asf/tomee/tomee/branches/testdir1
+	svn delete --username [apacheuser] --password [apachepw] -m "Delete test dir" https://svn.apache.org/repos/asf/tomee/tomee/branches/testdir1
+	svn mkdir --username [apacheuser] --password [apachepw] -m "Create test dir" https://repository.apache.org/content/repositories/testdir2
+	svn delete --username [apacheuser] --password [apachepw] -m "Delete test dir" https://repository.apache.org/content/repositories/testdir2
+	svn mkdir --username [apacheuser] --password [apachepw] -m "Create test dir" https://dist.apache.org/repos/dist/dev/tomee/testdir3
+	svn delete --username [apacheuser] --password [apachepw] -m "Delete test dir" https://dist.apache.org/repos/dist/dev/tomee/testdir3
+
+###Prepare Maven Authentication
+
+Ensure your maven .m2/settings.xml correct, and be aware that the tools currently require a clear text password:
+
+	<server>
+	  <id>apache.snapshots.https</id>
+	  <username>un</username>
+	  <password>pw.in.clear</password>
+	</server>
+
+	<server>
+	  <id>apache.releases.https</id>
+	  <username>un</username>
+	  <password>pw.in.clear</password>
+	</server>
+
+	<server>
+	  <id>apache.dist.https</id>
+	  <username>un</username>
+	  <password>pw.in.clear</password>
+	</server>
+
+	<profiles>
+		<profile>
+		...
+			<repositories>
+				<repository>
+				  <id>apache.dist.https</id>
+				  <url>https://dist.apache.org/repos/dist</url>
+				</repository>
+			  </repositories>
+
+###Code Signing Setup
+
+If this is your first release then you will have to ensure that you have a code signing key prepared on the machine from which you perform the release. The process is quite intense. You can find information here:
+
+ - [http://www.apache.org/dev/release-signing.html](http://www.apache.org/dev/release-signing.html)
+ - [http://maven.apache.org/developers/release/pmc-gpg-keys.html](http://maven.apache.org/developers/release/pmc-gpg-keys.html)
+ 
+However, the basic steps are:
+
+ - Create a key using **gpg --gen-key**, using size 4096 and answering the questions that command issues.
+ - During the process you will have to generate random entropy, this is best achieved in another console and issuing the command **find / > /dev/null** and waiting a minute.
+ - List the keys using **gpg --list-keys** and take note of the name
+
+Once you have your key then you will need to append it to the key file here:
+
+ - [http://www.apache.org/dist/tomee/KEYS](http://www.apache.org/dist/tomee/KEYS)
+
+That is best done as the file itself explains, once you open and view it in a UTF-8 safe text editor you will see the description at the top.  
+Just follow the instructions there on how to append your key. The basic steps are also here, please read both before you proceed:
+
+ - Save the KEYS file on your local machine and import it using **gpg --import KEYS**
+ - Then create the new KEYS file using **(gpg --list-sigs <your name> && gpg --armor --export <your name>) >> KEYS**
+ - Check that the new KEYS file contains your key.
+ - Log in to people.apache.org and locate /dist/tomee/KEYS
+ - Make a backup of the remote KEYS file just in case
+ - Overwrite the old /dist/tomee/KEYS file with your new one that now also contains your key.
+ - Go to [http://pgp.mit.edu/](http://pgp.mit.edu/) and add your ascii armoured key
+ - Take note of your key fingerprint using **gpg --fingerprint <your name>**
+ - Go to [https://id.apache.org](https://id.apache.org), log in and fill OpenPGP Public Key Primary Fingerprint: with the value of your fingerprint.
+ 
+###Build the Release Tools
+
+Checkout the release tools using SVN from here [https://svn.apache.org/repos/asf/tomee/sandbox/release-tools](https://svn.apache.org/repos/asf/tomee/sandbox/release-tools)
+
+Really read the README.mdtext and follow the instructions for building the 3rd party libraries.  
+Basically SVN checkout and compile [Swizzle](https://svn.codehaus.org/swizzle/trunk) and [Tentacles](https://svn.apache.org/repos/asf/creadur/tentacles/trunk)
+
+Build the release tools, *mvn clean install -DskipTests -DfailIfNoTests=false*
+
+Have a look at **run.sh** to see the entry point.
+
+Understand that the release tools are not polished, and you currently may have to edit source and re-compile.
+
+###Site Staging
+<a href="#staging"/>
+For some of the release steps you will need to provide documentation on the site. Checkout the site here:
+
+[https://svn.apache.org/repos/asf/tomee/site/trunk](https://svn.apache.org/repos/asf/tomee/site/trunk)
+
+Most of the content can be found under 'content' and subdirectories.
+
+When you commit changes the site should be built automatically by the buildbot, but you can force a build on IRC using:
+
+    **tomee-bot: force build tomee-site-staging**
+
+The buildbot staging result can be seen here:
+
+[http://ci.apache.org/builders/tomee-site-staging](http://ci.apache.org/builders/tomee-site-staging)
+
+And the actual staging site, where you can review your changes, is here:
+
+[http://tomee.staging.apache.org/](http://tomee.staging.apache.org/)
+
+Once you are happy with the staging you can publish to the real site using:
+
+[https://cms.apache.org/tomee/publish](https://cms.apache.org/tomee/publish)
+
+###Begin The Release Process
+
+Ensure TCK is passing all tests, and if so create an SVN tag from the branch.
+
+	Note: It is a future goal to either separate OpenEJB from TomEE or unify the versions so the
+	[maven-release-plugin](http://maven.apache.org/maven-release/maven-release-plugin/) can be used.
+
+	Because we cannot use the Maven release tools we currently have to create a an SVN tag manually. The best way to do this is to:
+	
+	 - Copy the branch to a staging branch using:  
+	   > svn copy https://svn.apache.org/repos/asf/tomee/tomee/branches/tomee-[version]  https://svn.apache.org/repos/asf/tomee/tomee/branches/tomee-[version]-staging -m "Staging [version]"
+	 - Checkout the staging branch using:  
+	   > svn co https://svn.apache.org/repos/asf/tomee/tomee/branches/tomee-[version]-staging tomee-[version]-staging
+	 - Update all SNAPSHOT versions to the release versions in the local tomee-[version]-staging and commit.
+	 - Create the tag from the staging:  
+	   > svn copy https://svn.apache.org/repos/asf/tomee/tomee/branches/tomee-[version]-staging https://svn.apache.org/repos/asf/tomee/tomee/tags/tomee-[version] -m "Tag [version]"
+	 - Delete the staging branch using:  
+	   > svn rm https://svn.apache.org/repos/asf/tomee/tomee/branches/tomee-[version]-staging -m "Delete staging"
+
+Open a console on the release-tools directory.
+
+Note: Before running any **./run.sh** activity always check the release tools code for the command tomee-release-tools/src/main/java/org/apache/openejb/tools/release/cmd.
+At the moment some of the commands need manually editing to work. Eventually the commands should be re-written.
+
+All JIRA actions should be performed on the ASF JIRA here:
+
+[https://issues.apache.org/jira/browse/TOMEE](https://issues.apache.org/jira/browse/TOMEE)
+
+Ensure JIRAs have been filed for commits using **./run.sh reviewcommits**
+
+Update fixVersions for JIRAs used in SVN commits using **./run.sh updatejiras** - *Untested, requires investigation*
+
+Review and bulk Close all JIRAs for the version to be released.
+
+Publish the changed binaries report (if any) using **./run.sh comparelibraries**
+
+Write and publish the release notes preview on the staging site. 
+
+Publish a summary of the RAT report preview on the staging site.
+
+Using the RAT report as a guide update LICENSE and NOTICE files for any changed binaries, and add new ones if required.
+
+Update branch versions. How you do this is up to you at this point in time.
+
+Update trunk versions. How you do this is up to you at this point in time.
+
+Create the next version iterations in JIRA.
+
+###Rolling Out The Preview
+
+	Note: Before running anything below ensure you either have:
+
+	 - A valid tomee-release.properties from the last release in your home directory (Speak to the last release manager).
+	 - Or have modified **tomee-release-tools/src/main/java/org/apache/openejb/tools/release/Release.java** with current versions and **mvn clean install**.
+	 	 
+Ensure the TCK passes with preview repositories by editing and ensuring paths are correct in the following files:
+
+	\tckbranch\plus.properties
+	\tckbranch\pom.xml
+	\tckbranch\webprofile-plus.properties
+	\tckbranch\webprofile.properties
+
+Publish the preview using **./run.sh roll binaries legal releasenotes preview** - You can run these tasks like so, or individually in order.
+It will be likely that this will have to be repeated several times before a successful vote.
+
+The *legal* step will create the legal report files in the /tmp/download/staging-[revision]/legal directory. These need to be added to the staging repo.
+ - Delete the [legal]/repo and [legal]/content directories, as these are no longer required
+    rm -R /tmp/download/staging-[revision]/legal/content
+    rm -R /tmp/download/staging-[revision]/legal/repo
+
+ - Perform a non-recursive checkout of the staging repo and add the legal:
+	svn co -N https://dist.apache.org/repos/dist/dev/tomee/staging-[revision] /tmp/download/staging
+	mv /tmp/download/staging-[revision]/legal /tmp/download/staging
+	cd /tmp/download/staging-[revision]
+	svn add legal
+
+Once the binaries are in place add the staging repository to the corresponding TCK project and fire off a build.
+To fire off a build on EC2 from the TCK directory speak to the last release manager for the **curl** command to use
+
+If the TCK fails then discuss, fix and re-roll.
+
+Publish a [Vote](https://www.apache.org/foundation/voting.html) if, and only if, the TCK passes.
+
+Votes are generally managed and identified using keywords such as [VOTE], [CANCELLED] and [RESULT]
+
+If the vote fails then discuss, fix and re-roll.
+
+###Voted Binaries
+
+Once the vote has passed then release the binaries on Nexus: [https://repository.apache.org/index.html#welcome](https://repository.apache.org/index.html#welcome)
+
+Update both OpenEJB and TomEE JIRA versions as released (Set the release date).
+
+Copy the binaries to the release location (User rights require a PMC to do this)
+
+	From: https://dist.apache.org/repos/dist/dev/tomee/staging-[stagingId]/tomee-[version]
+	To: https://dist.apache.org/repos/dist/release/tomee/tomee-[version] 
+    
+
+Wait for the binaries to replicate to mirrors. Here is a neat script from David to check the status:
+
+    #!/bin/bash
+
+    RELEASE=${1?Specify a release, such as './mirror_check.sh tomee-1.7.1'}
+
+    function list_mirrors {
+        DYN=http://www.apache.org/dyn/closer.cgi/tomee/$RELEASE/
+        wget -q -O - $DYN | tr '">< ' '\n' | grep "^http.*$RELEASE/" | sort | uniq
+    }
+
+    function status_code {
+        wget -v "$1" 2>&1| grep 'awaiting response' | tr ' ' '\n' | grep "[0-9]"
+    }
+
+    list_mirrors | while read n; do
+        echo "$(status_code $n) $n"
+    done | sort | grep 'http'
+
+Commit and publish changes to the site, see [Site Staging](release-tomee.html#staging)
+
+    https://cms.apache.org/tomee/publish
+
+
+###Blog
+
+Announce to the world that TomEE has new bells and whistles!
+
+[https://blogs.apache.org/roller-ui/login.rol](https://blogs.apache.org/roller-ui/login.rol)  
+[http://twitter.com/ApacheTomEE](http://twitter.com/ApacheTomEE)  
+[http://facebook.com/ApacheTomEE](http://facebook.com/ApacheTomEE)  
+[https://plus.google.com/118203123063829126066](https://plus.google.com/118203123063829126066)  

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/roadmap.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/roadmap.mdtext b/src/main/jbake/content/dev/roadmap.mdtext
new file mode 100644
index 0000000..411e585
--- /dev/null
+++ b/src/main/jbake/content/dev/roadmap.mdtext
@@ -0,0 +1,23 @@
+# High level goals
+
+ - Pre Certification
+    - pass the tcks
+    - push a beta and get the certification mark
+ - Post Certification
+    - fill out features, performance tune and polish
+    - release final
+
+# Post Certification requirements
+
+Aside from passing the tcks, the
+
+# Post Certification goals
+
+Unordered list:
+
+ - Restore Tomcat 6 support (possibly also Tomcat 5.5)
+ - Make webapps/ dir deployment work properly again
+ - Fix undeploy memory leak
+ - Flush out TomEE embedded API
+
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/rsync.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/rsync.mdtext b/src/main/jbake/content/dev/rsync.mdtext
new file mode 100644
index 0000000..81dd002
--- /dev/null
+++ b/src/main/jbake/content/dev/rsync.mdtext
@@ -0,0 +1,98 @@
+# rsync
+
+`rsync` is basically the only copy command you'll ever need on a linux/unix system.  It can copy in the same machine or across machines.  It can retain file permissions and owners.  You can run it over and over again say if the first execution failed or if there are new files to be copied over.
+
+## same machine copy
+
+`rsync -av fromdir/ todir/`
+
+Will copy the contents of `fromdir/` to the directory `todir/`
+
+To make a little example, some fancy bash syntax for creating a directory structure.
+
+    $ mkdir -p one/{green,blue}/{square,circle}{1..3}
+    $ find .
+    .
+    ./one
+    ./one/blue
+    ./one/blue/circle1
+    ./one/blue/circle2
+    ./one/blue/circle3
+    ./one/blue/square1
+    ./one/blue/square2
+    ./one/blue/square3
+    ./one/green
+    ./one/green/circle1
+    ./one/green/circle2
+    ./one/green/circle3
+    ./one/green/square1
+    ./one/green/square2
+    ./one/green/square3
+
+So to copy `one` to a new directory `two` we just do this
+
+`rsync -av one/ two/`
+
+Which gives us this as output
+
+    $ rsync -av one/ two/
+    building file list ... done
+    created directory two
+    ./
+    blue/
+    blue/circle1/
+    blue/circle2/
+    blue/circle3/
+    blue/square1/
+    blue/square2/
+    blue/square3/
+    green/
+    green/circle1/
+    green/circle2/
+    green/circle3/
+    green/square1/
+    green/square2/
+    green/square3/
+
+    sent 301 bytes  received 110 bytes  822.00 bytes/sec
+    total size is 0  speedup is 0.00
+
+Now we have the following directory structure:
+
+    $ find .
+    .
+    ./one
+    ./one/blue
+    ./one/blue/circle1
+    ./one/blue/circle2
+    ./one/blue/circle3
+    ./one/blue/square1
+    ./one/blue/square2
+    ./one/blue/square3
+    ./one/green
+    ./one/green/circle1
+    ./one/green/circle2
+    ./one/green/circle3
+    ./one/green/square1
+    ./one/green/square2
+    ./one/green/square3
+    ./two
+    ./two/blue
+    ./two/blue/circle1
+    ./two/blue/circle2
+    ./two/blue/circle3
+    ./two/blue/square1
+    ./two/blue/square2
+    ./two/blue/square3
+    ./two/green
+    ./two/green/circle1
+    ./two/green/circle2
+    ./two/green/circle3
+    ./two/green/square1
+    ./two/green/square2
+    ./two/green/square3
+
+## beware the slashes
+
+There's a strange thing when not using the slashes at the end.  To keep things sane, just always use the slashes at the end of the two file paths and things will always be easy to remember.
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/rules-of-thumb.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/rules-of-thumb.mdtext b/src/main/jbake/content/dev/rules-of-thumb.mdtext
new file mode 100644
index 0000000..54a8130
--- /dev/null
+++ b/src/main/jbake/content/dev/rules-of-thumb.mdtext
@@ -0,0 +1,24 @@
+Title: Rules of Thumb
+
+<a name="RulesofThumb-Configuration"></a>
+### Configuration
+
+* Configuration settings should have configurable defaults at the module,
+ear, server and cluster level (when clustering is added).  For example,
+security settings should be configurable on a per ejb, ejb jar, ear and
+server levels.	
+
+* Settings should have a smooth increase in complexity from very simple to
+complex.  For example, a cache setting could start with a simple max-size,
+and over time the user could increase the complexity by adding
+configuration for disk paging up to specification of complex flushing
+rules.
+
+<a name="RulesofThumb-Validation"></a>
+### Validation
+
+* Applications should be fully validated before handing it off to the
+deployment system.  This vastly simplifies the deployment system because it
+assumes that an application is valid.  As a corollary, the deployment
+system should not be complicated with code that tests for invalid
+deployments or with code to print graceful error messages to a user.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/source-code.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/source-code.mdtext b/src/main/jbake/content/dev/source-code.mdtext
new file mode 100644
index 0000000..c9ffd7f
--- /dev/null
+++ b/src/main/jbake/content/dev/source-code.mdtext
@@ -0,0 +1,101 @@
+Title: Source Code
+
+**<span style="color: rgb(128,0,0);">We have moved to GIT</span>. This means that anything you may find elsewhere on the site about SVN is no longer valid!**
+  
+The documentation will be updated over the next few days and weeks but if you find anything that is **really** misleading then please send a message to the developer list at: [dev@tomee.apache.org](mailto:dev@tomee.apache.org)
+
+Probably the best GIT tutorial on the planet can be found here: [https://www.atlassian.com/git/](https://www.atlassian.com/git/) - This is a great reference for both existing and new GIT users. Please take a look.
+
+###GIT Information for Everyone
+
+You can browse the source code via the [web interface](http://git-wip-us.apache.org/repos/asf/tomee.git).
+
+If you intend to hack on TomEE then it is recommended that you create a [GitHub Account](https://github.com) and [fork](https://help.github.com/articles/fork-a-repo/) the TomEE repository so that you can submit pull requests (See below).
+
+If you just want to build the source version then you can download (aka clone) the sources of Apache TomEE with a GIT client from the following URL [https://git-wip-us.apache.org/repos/asf/tomee.git](https://git-wip-us.apache.org/repos/asf/tomee.git) - The 'master' branch is the current development branch.
+
+Performing the checkout from a command line using the GIT client (recommended) is as easy as executing the following command:
+> git clone [https://git-wip-us.apache.org/repos/asf/tomee.git](https://git-wip-us.apache.org/repos/asf/tomee.git) tomee
+
+If you want to checkout a specific branch then you can just change that in the command:
+
+> git clone -b tomee-1.7.x [https://git-wip-us.apache.org/repos/asf/tomee.git](https://git-wip-us.apache.org/repos/asf/tomee.git) tomee-1.7.x
+
+Or alternatively with Apache Maven 3.0.5 or later:
+
+> mvn scm:checkout
+> -DconnectionUrl=scm:git:[https://git-wip-us.apache.org/repos/asf/tomee.git](https://git-wip-us.apache.org/repos/asf/tomee.git)
+> -DcheckoutDirectory=tomee
+
+Note: This method does not require the GIT client.
+
+<a name="SourceCode-Contributors"></a>
+###GIT Information for TomEE Contributors
+
+**Please read our own detailed GitFlow workflow information [here](git.html)**
+
+We will be using the [Gitflow Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) from day one. Please read and understand how this works.
+
+See [here](https://help.github.com/articles/using-pull-requests/) for information on pull requests. 
+
+The official Apache Committer documentation can be found [here](https://git-wip-us.apache.org/#committers-getting-started)
+
+<a name="SourceCode-Continuousintegration"></a>
+###Continuous integration
+
+Apache TomEE continuous integration relies on [Apache Buildbot](http://ci.apache.org/).
+All builders are available [from the page](http://ci.apache.org/builders).
+
+* [Apache TomEE 1.7.x under Ubuntu](http://ci.apache.org/builders/tomee-1.7.x-ubuntu)
+* [Apache TomEE 2.x under Ubuntu](http://ci.apache.org/builders/tomee-trunk-ubuntu)
+* [Apache TomEE 2.x under Windows using a Sun/Oracle JDK](http://ci.apache.org/builders/tomee-trunk-win-sunjdk)
+* [Apache TomEE 2.x under Windows using an IBM JDK](http://ci.apache.org/builders/tomee-trunk-win-ibmjdk6)
+
+<a name="SourceCode-Building"></a>
+###Maven
+To build the code, you'll need to grab a copy of [Apache Maven](http://maven.apache.org), version 3.0.5 or later.
+ 
+###Memory Settings
+
+It is pretty much guaranteed that you will need to give Maven an increase on the available memory.  
+Depending on the OS you are working on the fix can be as easy as (Note: *-XX:MaxPermSize=256M* is ignored by Java 8):  
+>export MAVEN_OPTS="-Xmx768m -XX:MaxPermSize=256M -XX:ReservedCodeCacheSize=64m -Xss2048k"
+
+on MacOS and Unices or 
+>set "MAVEN_OPTS=-Xmx768m -XX:MaxPermSize=256M -XX:ReservedCodeCacheSize=64m -Xss2048k"
+  
+on MS Windows.
+
+###Full Build
+
+A fast build that skips all tests, generates no reports and creates full distribution archives is as follows:
+>mvn -Dsurefire.useFile=false -DdisableXmlReport=true -DuniqueVersion=false -ff -Dassemble -DskipTests -DfailIfNoTests=false clean install
+
+The full build with tests takes around 2 hours:
+>mvn -Dassemble clean install
+
+The output of those commands should end with "BUILD SUCCESSFUL"
+
+It is of course possible to just compile and test individual modules. Just change to the module directory and run the same commands as above.
+
+###Quick Build
+
+If you are in real a hurry (and let's face it most of us are) you can run a quick build without the examples using the *quick* profile:
+>mvn -Pquick -Dsurefire.useFile=false -DdisableXmlReport=true -DuniqueVersion=false -ff -Dassemble -DskipTests -DfailIfNoTests=false clean install
+
+###Binary locations
+
+Once built, the TomEE binaries will be located at:
+
+    ls [project]/tomee/apache-tomee/target/*.zip
+	
+    tomee/apache-tomee/target/apache-tomee-jaxrs-[version]-SNAPSHOT.zip
+    tomee/apache-tomee/target/apache-tomee-plus-[version]-SNAPSHOT.zip
+    tomee/apache-tomee/target/apache-tomee-webprofile-[version]-SNAPSHOT.zip
+    tomee/apache-tomee/target/apache-tomee-plume-[version]-SNAPSHOT.tar.gz
+
+The OpenEJB standalone binaries will be located at:
+
+    ls [project]/assembly/openejb-standalone/target/*.zip
+	
+    assembly/openejb-standalone/target/apache-openejb-[version]-SNAPSHOT.zip

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/take-my-code.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/take-my-code.mdtext b/src/main/jbake/content/dev/take-my-code.mdtext
new file mode 100644
index 0000000..42967e0
--- /dev/null
+++ b/src/main/jbake/content/dev/take-my-code.mdtext
@@ -0,0 +1,14 @@
+Title: Take My Code
+Gladly!  We (the individuals who makeup the community) will happily take
+your code.
+
+The easiest way for us to take code both legally and practically is by:
+
+1. Create a patch and attach it in a [new JIRA issue](https://issues.apache.org/jira/browse/OPENEJB)
+1. Send a note to the dev list
+
+Anyone who is a committer has already signed a [Contributor License Agreement](http://apache.org/licenses/#clas)
+ (CLA) stating that the code they contribute is intended to be licensed
+under the Apache Public License.  If you intend to contribute a lot,
+consider sending one in as it will make things go faster.  The next best
+thing to having a CLA on file.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/thread-dumps.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/thread-dumps.mdtext b/src/main/jbake/content/dev/thread-dumps.mdtext
new file mode 100644
index 0000000..fb5b5bc
--- /dev/null
+++ b/src/main/jbake/content/dev/thread-dumps.mdtext
@@ -0,0 +1,37 @@
+Title: Thread Dumps
+<a name="ThreadDumps-Java5tools"></a>
+# Java 5 tools
+
+This should work on any Java 5 or newer platform.
+
+
+    $ jps
+    3392 Jps
+    3387 JConsole
+
+
+
+    $ jstack 3387
+    Attaching to process ID 3387, please wait...
+    Debugger attached successfully.
+    Client compiler detected.
+    JVM version is 1.5.0_16-133
+    Thread t@59139: (state = BLOCKED)
+    - java.lang.Object.wait(long) @bci=0 (Interpreted frame)
+    - javax.swing.TimerQueue.run() @bci=14, line=236 (Interpreted frame)
+    - java.lang.Thread.run() @bci=11, line=613 (Interpreted frame)
+
+
+
+<a name="ThreadDumps-OSsignals"></a>
+# OS signals
+
+In the case of an OS signal the thread dump is printed to the console
+window that started the java process.  If you use javaw to start the
+process, the dump is lost.
+
+On Windows, typing *ctrl-break* in the console window that started the Java
+process.
+On Unix, the command *kill \-QUIT <pid>* or typing *ctrl-&#92;* in the
+console window that started the Java process.
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/tips-and-suggestions.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/tips-and-suggestions.mdtext b/src/main/jbake/content/dev/tips-and-suggestions.mdtext
new file mode 100644
index 0000000..70cc5ff
--- /dev/null
+++ b/src/main/jbake/content/dev/tips-and-suggestions.mdtext
@@ -0,0 +1,384 @@
+Title: Tips and Suggestions
+> 
+
+<a name="TipsandSuggestions-Usefulinformationforcontributors"></a>
+## Useful information for contributors
+
+<a name="TipsandSuggestions-JIRAusage"></a>
+### JIRA usage
+It's good to leverage JIRA, but everything that happens there should be
+considered invisible for the most part and only reviewed on a random and
+infrequent basis.
+
+
+A good way to bring jira "discussion" back to the list is to follow up on the list rather than posting more jira comments.  Maybe by having the first followup comment be a link to Nabble's "forum" view of the list.  Optionally, you can Cc jira@apache.org and include "[jira](jira.html)
+ OPENEJB-XXX" anywhere in your subject line and your email will get added
+as a jira comment.
+
+
+For those looking to contribute, there are some good habits to put into
+use.  We use a permission scheme called "Interactive Permissions."  It's
+description has some good information:
+
+ Interactive Permissions
+
+ This permissions model differs from the Standard Permissions
+ model in that people in the Contributor role must interact with
+ the dev list to get to get issues assigned to them and issues
+ closed. This isn't a trust issue, more that there are a few
+ benefits.
+
+ 1.  Active contributors hitting the list to begin and end work
+     shows other people not yet active how to get involved.
+
+ 2.  Adds more "touch points" between Contributors and
+     Committers. It should be possible to "see" the active
+     contributors even if you are not watching the JIRA or SVN
+     notifications. It's also hoped that the practice of
+     announcing your intentions on the dev list will persist
+     even when the Contributor becomes a Committer.
+
+ 3.  Gives Committers the opportunity to help, mentor or
+     otherwise get the Contributor going in the right direction
+     before a task is started; potentially resulting in fewer
+     rejected patches, less waisted Contributor time, and more
+     collaborative development.
+
+ 4.  Overall brings more communication to the dev list before
+     all work is done and all decisions made giving more
+     potential to collaboration.
+
+
+{+}If you'd like to get added to the openejb-contributors JIRA group, just
+ping the list with your JIRA id and someone will add you.{+}
+
+<a name="TipsandSuggestions-Commits"></a>
+### Commits
+
+*Contributed by*: David Blevins
++Here is an email from David Blevins explaining the things he keeps in mind
+during commits.+ *{+}Definitely worth a read{+}{*}+:+
+
+I generally *try never to reformat a file and make changes at the same
+time* as it makes it impossible for anyone to see what I've changed. Needle
+in a haystack.	I *try to get the reformatting as its own commit* before or
+after I change a file.
+
+A lot of times I end up tweaking a bunch of little unrelated things while
+working on a bigger change. *I tend to like to "clear them out" in separate
+commits as to isolate the big change in one commit*. Sometimes I'm not so
+good at that and other times I'm really meticulous about it.
+
+*Include the JIRA number and title (if there is a jira)*.  I try never to
+say "Fixed FOO-2543" all by itself.  Reviewing the last 10 changes on a
+file is a super big PITA when all you see is numbers to other systems. *I
+shoot for more or less "Fixed <issue-number> <issue-title>
+<how-did-i-fix-it>"* Sometimes the "how did i fix it" part is obvious by
+the title, other times not.  Sometimes I'm too tired and the wife is
+impatiently waiting for me to leave the computer :-)
+As far as jiras go, there doesn't have to be a jira for absolutely every
+commit -- what's the point of that.  I *try to make sure there's a jira for
+anything we'd definitely want to see in the release notes*.  Sometimes I
+don't get the jira created till long after the change, towards release time
+when creating the release notes :-) It's pretty easy to forget stuff that
+way though :-)
+
+As far as jira titles, I always *try and make them short and succinct* for
+the future release notes.
+
+<a name="TipsandSuggestions-SVN+JIRA"></a>
+### SVN + JIRA
+
+
+<a name="TipsandSuggestions-*Contributedby*:Vamsi"></a>
+#### *Contributed by*: Vamsi
+
+I had trouble figuring out if a revision is related to a JIRA and what all
+revisions corresponded to a particular JIRA.  So, I always include the JIRA
+number (if there is an associated JIRA) in the svn comment and once
+committed, I add the revision number to the JIRA comment.  It may be a
+minute or two more to do this.	But, it saves a lot of time if you ever
+have to investigate a regression or if there are multiple revisions for a
+JIRA you know where to find the revision numbers instead of having to mine
+the svn logs.
+
+Some files may be missing $Rev$ and $Date$ in the header.  Whenever I
+modify an existing file, I always check if I have to add these missing
+$Rev$ $Date$ and add those so that the file will have them from my next
+commit onwards.
+
+<a name="TipsandSuggestions-*Contributedby*:DavidBlevins"></a>
+#### *Contributed by*: David Blevins
+
+> If you put "\[jira\](jira\.html)
+>  OPENEJB-XXX" anywhere in your subject line and cc jira@apache.org our
+> email gets added as a comment with all '> quoted' text stripped out.
+PS: XXX is the JIRA issue number
+
+<a name="TipsandSuggestions-Details"></a>
+#### Details
+
+The following subject lines did work:
+- Subject: \[jira\](jira\.html)
+ OPENEJB-670
+- Subject: Some other subject prefix (\[jira\](jira\.html)
+ OPENEJB-670)
+- Subject: Re: Some other subject prefix (\[jira\](jira\.html)
+ OPENEJB-670)
+
+The following subject lines did *not* work:
+- Subject: OPENEJB-670
+- Subject: Some other subject prefix (jira: OPENEJB-670)
+- Subject: Some other subject prefix (jira OPENEJB-670)
+- Subject: Some other subject prefix (OPENEJB-670)
+
+It appears that as long as the subject contains "\[jira\](jira\.html)
+ FOO-XXX" the email contents will be added as comments.
+
+It also appears that all quoted text regardless of place in the email is
+stripped out and the remaining text is added as the comment.
+
+The exact email bodies, white space and all, for the "reply text" comments
+above are:
+
+<one>
+Reply text at the top.
+
+-- David
+
+On Aug 23, 2007, at 1:02 PM, David Blevins wrote:
+
+Testing adding comments via email with this subject line "Some other subject prefix (\[jira\](jira\.html)
+ OPENEJB-670)"
+
+</one>
+
+<two>
+
+On Aug 23, 2007, at 1:02 PM, David Blevins wrote:
+
+Testing adding comments via email with this subject line "Some other subject prefix (\[jira\](jira\.html)
+ OPENEJB-670)"
+
+Reply text at the bottom.
+
+--
+David
+
+</two>
+
+<three>
+On Aug 23, 2007, at 1:02 PM, David Blevins wrote:
+
+Testing adding comments via email
+
+Some reply text
+
+with this subject line "Some other subject prefix (\[jira\](jira\.html)
+ OPENEJB-670)"
+
+Some more reply text
+
+--
+David
+
+</three>
+
+### scp, ssh, and rsync examples for working with files and directories on
+people.apache.org
+
+*Contributed by*: David Blevins
+
+*copying a file to apache from locahost*
+scp topsecret.tar.gz kmalhi@people.apache.org:
+scp index.html kmalhi@people.apache.org:public_html/
+
+*copying a file from apache to localhost -- reverse of the above*
+scp kmalhi@people.apache.org:topsecret.tar.gz ./
+scp kmalhi@people.apache.org:public_html/index.html ./
+
+*copying directories*
+scp \-r kmalhi@people.apache.org:public_html ./
+scp \-r public_html kmalhi@people.apache.org:
+
+*When the directory exists, better to rsync*
+
+*pull a dir from apache*
+rsync \-v \-e ssh \-lzrptog kmalhi@people.apache.org:public_html ./
+rsync \-v \-e ssh \-lzrptog
+kmalhi@people.apache.org:/home/kmalhi/public_html ./
+
+*the two above commands do the exact same thing*
+
+*push the same dir to apache*
+rsync \-v \-e ssh \-lzrptog ./public_html kmalhi@people.apache.org:
+rsync \-v \-e ssh \-lzrptog ./public_html
+kmalhi@people.apache.org:/home/kmalhi/
+
+*the two above commands do the exact same thing*
+
+*sometimes useful to execute commands over ssh (piping works too)*
+ssh people.apache.org ls /home \| tee home-dirs-on-apache.txt
+echo \-e 'Hello, me\n\nHow am I doing today?' \| ssh
+kmalhi@people.apache.org mail \-s 'Greetings' kmalhi@apache.org
+
+*For Putty users*
+*Contributed by:* Mohammad
+I have Putty on my linux machine and it is easier to use, Putty has a
+Windows version too, I issue this command to upload a file to my home dir
+on people.apache.org
+
+    pscp [[file-name]
+ | [dir]
+] mnour@people.apache.org:~/
+
+and if you want to access your home page, you should create a dir with the
+name public_html, and then upload files to it.
+
+<a name="TipsandSuggestions-Acoolsubversiontip"></a>
+### A cool subversion tip
+
+*Contributed by*: Jacek Laskowski.
+
+*It'll let you forget about some svn administrative commands you'd
+otherwise have to type in on the command line.*
+Edit/Add the following configurations to \~/.subversion/config:
+
+    [miscellany]
+    global-ignores = *.log *.save *.o *.lo *.la #*# .*~ *~ .#* .DS_Store
+    build dist target *.ipr *.iml *.iws .project .classpath .settings
+    enable-auto-props = yes
+    
+    [auto-props]
+    *.c = svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL
+    *.cpp = svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL
+    *.h = svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL
+    *.dsp = svn:eol-style=CRLF
+    *.dsw = svn:eol-style=CRLF
+    *.sh = svn:executable;svn:eol-style=native;svn:keywords=Date Revision
+    *.cmd = svn:mime-type=text/plain;svn:eol-style=CRLF
+    *.bat = svn:mime-type=text/plain;svn:eol-style=CRLF
+    Makefile = svn:eol-style=native;svn:keywords=Date Author Id Revision
+HeadURL
+    *.obj = svn:mime-type=application/octet-stream
+    *.bin = svn:mime-type=application/octet-stream
+    *.bmp = svn:mime-type=image/bmp
+    *.class = svn:mime-type=application/java
+    *.doc = svn:mime-type=application/msword
+    *.exe = svn:mime-type=application/octet-stream
+    *.gif = svn:mime-type=image/gif
+    *.gz = svn:mime-type=application/x-gzip
+    *.jar = svn:mime-type=application/java-archive
+    *.jelly = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date
+    Revision
+    *.jpg = svn:mime-type=image/jpeg
+    *.jpeg = svn:mime-type=image/jpeg
+    *.pdf = svn:mime-type=application/pdf
+    *.png = svn:mime-type=image/png
+    *.tgz = svn:mime-type=application/octet-stream
+    *.tif = svn:mime-type=image/tiff
+    *.tiff = svn:mime-type=image/tiff
+    *.zip = svn:mime-type=application/zip
+    *.txt = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date
+Revision
+    *.xml = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Date
+Revision
+    *.ent = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date
+Revision
+    *.dtd = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date
+Revision
+    *.vsl = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date
+Revision
+    *.xsd = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Date
+Revision
+    *.xsl = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Date
+Revision
+    *.wsdl = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Date
+Revision
+    *.htm = svn:mime-type=text/html;svn:eol-style=native;svn:keywords=Date
+Revision
+    *.html = svn:mime-type=text/html;svn:eol-style=native;svn:keywords=Date
+Revision
+    *.css = svn:mime-type=text/css;svn:eol-style=native;svn:keywords=Date
+Revision
+    *.js = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date
+Revision
+    *.jsp = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date
+Revision
+    *.txt = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date
+Revision
+    *.java = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date
+    Revision
+    *.properties =
+svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date
+    Revision
+    *.sql = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Date
+Revision
+
+
+<a name="TipsandSuggestions-Maventips"></a>
+### Maven tips
+
+*Contributed by:* Jacek and David
+*I want to make a small change in a module , for example openejb-core and
+then want to build a snapshot of openejb-standalone, start the server and
+test my change. What is the easiest and fastest way of doing it?*
+Run the following from within openejb-core
+
+    mvn -Dtest=none install
+
+Now run the following from within openejb-standalone
+
+    mvn -Dtest=none clean package
+
+*So what if I wanted to do the above in a single command?*
+It's possible with $\{module\} and $\{assemble\} properties and *create a
+profile or a plugin*
+
+Another option is and *if you're in bash*, here's what could be done
+
+    # camping out in assembly/openejb-standalone/
+    $ (cd ../../container/openejb-core && mvn clean install -Dtest=skip) && mvn
+clean install && ./try.sh
+
+That's one command, parens and all. The first "$" is the prompt,don't type
+that.  Then just edit ./try.sh to do what you're looking for on the
+standalone zip.
+
+The parens in bash are great as nothing done in there lasts -- at least no
+changes to the environment.  So you can 'cd' around all you want and not
+have to 'cd' back when done.
+
+For example
+
+    $ export FOO=hello && (export FOO=byebye) && echo $FOO
+    hello
+    
+    $ cd ~ && echo $PWD && (cd /tmp && echo $PWD) && echo $PWD
+    /Users/dblevins
+    /tmp
+    /Users/dblevins
+
+As well, several commands can be combined with '&&'.  Far better than just
+separating commands with ';' as if one of the commands fail, the remaining
+commands will not be executed.
+
+*Suggestion from Dain*
+> &nbsp;I suggest that you always do a full build (with tests) before
+> committing.  I do this even if the change is small because I have been
+> burned too many times by trivial changes. At the very least I suggest you
+> run
+> 
+>     mvn -Dtest=none clean install
+> 
+> Using \-Dtest=none instead of \-Dmaven.test.skip=true causes maven to
+> compile the test classes so you know that your change doesn't have compile
+> errors.
+> If you want to be thorough, run with \-Dassemble.
+
+<a name="TipsandSuggestions-JAXBUsage"></a>
+### JAXB Usage
+{note:title=TODO}
+Create a write up from here
+http://www.nabble.com/jaxb-question-td18023648.html
+{note}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/validation-keys-audit-report.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/validation-keys-audit-report.mdtext b/src/main/jbake/content/dev/validation-keys-audit-report.mdtext
new file mode 100644
index 0000000..c0e9fbf
--- /dev/null
+++ b/src/main/jbake/content/dev/validation-keys-audit-report.mdtext
@@ -0,0 +1,282 @@
+Title: Validation Keys Audit Report
+{warning:title=Warning}This page is auto-generated. Any manual changes
+would be over-written the next time this page is regenerated{warning}
+{info:title=Audit Result}h2.Out of a total of 144 keys, 123 have been
+tested. Test coverage for keys is 85.41666666666666 %.{info}
+{table-plus:autoNumber=true}
+  
+  
+ | abstractAnnotatedAsBean | 
+ | ann.ejb.beanClass | 
+ | ann.ejb.notInterface | 
+ | ann.localRemote.generalconflict | 
+ | asynchronous.badExceptionType | 
+ | asynchronous.badReturnType | 
+ | asynchronous.methodignored | 
+ | asynchronous.missing | 
+ | callback.missing.possibleTypo | 
+ | cannot.validate | 
+ | client.missingMainClass | 
+ | ignoredClassAnnotation | 
+ | interfaceAnnotatedAsBean | 
+ | missing.dependent.class | 
+ | misslocated.class | 
+ | multiplyAnnotatedAsBean | 
+ | timeout.badReturnType | 
+ | timeout.invalidArguments | 
+ | timeout.missing.possibleTypo | 
+ | timeout.tooManyMethods | 
+ | xml.noEjbClass | 
+{table-plus}
+<a name="ValidationKeysAuditReport-Listofkeyswhichhavebeentested."></a>
+## List of keys which have been tested.
+{table-plus:autoNumber=true}
+<table>
+<tr><th> Key </td><td> Method which tests the key </th></tr>
+<tr><td> ann.ejb.ejbLocalObject </td><td> [org/apache/openejb/config/rules/InvalidEjbRefTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidejbreftest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> ann.ejb.ejbObject </td><td> [org/apache/openejb/config/rules/InvalidEjbRefTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidejbreftest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> ann.invalidConcurrencyAttribute </td><td> [org/apache/openejb/config/rules/CheckInvalidConcurrencyAttributeTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidconcurrencyattributetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> ann.invalidTransactionAttribute </td><td> [org/apache/openejb/config/rules/CheckInvalidTransactionAttributeTest.annotation() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidtransactionattributetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> ann.local.noAttributes </td><td> [org/apache/openejb/config/rules/CheckInvalidAnnotatedInterfacesTest.noAttributes() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidannotatedinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> ann.localRemote.ambiguous </td><td> [org/apache/openejb/config/rules/CheckInvalidAnnotatedInterfacesTest.ambiguous() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidannotatedinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+  
+  
+<tr><td> ann.notAnInterface </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> ann.remote.noAttributes </td><td> [org/apache/openejb/config/rules/CheckInvalidAnnotatedInterfacesTest.noAttributes() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidannotatedinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> ann.remoteOrLocal.converse.parent </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.test2() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> ann.remoteOrLocal.ejbHome </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> ann.remoteOrLocal.ejbLocalHome </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> ann.remoteOrLocal.ejbLocalObject </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> ann.remoteOrLocal.ejbObject </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+  
+  
+  
+  
+  
+  
+<tr><td> aroundInvoke.missing.possibleTypo </td><td> [org/apache/openejb/config/rules/CheckInvalidCallbacksTest.test1() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidcallbackstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> aroundInvoke.mustThrowException </td><td> [org/apache/openejb/config/rules/CheckInvalidAroundTimeoutTest.testInvalidAroundTimeoutReturnValue() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidaroundtimeouttest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> callback.badModifier </td><td> [org/apache/openejb/config/rules/CheckInvalidCallbacksTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidcallbackstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> callback.badReturnType </td><td> [org/apache/openejb/config/rules/CheckInvalidCallbacksTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidcallbackstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> callback.invalidArguments </td><td> [org/apache/openejb/config/rules/CheckInvalidCallbacksTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidcallbackstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> callback.missing </td><td> [org/apache/openejb/config/rules/CheckInvalidCallbacksTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidcallbackstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> callback.sessionSynchronization.invalidUse </td><td> [org/apache/openejb/config/rules/CheckInvalidCallbacksTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidcallbackstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> callback.sessionbean.invalidusage </td><td> [org/apache/openejb/config/rules/CheckInvalidCallbacksTest.test2() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidcallbackstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> conflictingSecurityAnnotations </td><td> [org/apache/openejb/config/rules/CheckInvalidSecurityAnnotationsTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidsecurityannotationstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> containerTransaction.ejbNameRequired </td><td> [org/apache/openejb/config/rules/CheckInvalidContainerTransactionTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidcontainertransactiontest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> containerTransaction.noSuchEjbName </td><td> [org/apache/openejb/config/rules/CheckInvalidContainerTransactionTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidcontainertransactiontest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> dependsOn.circuit </td><td> [org/apache/openejb/config/rules/CheckDependsOnTest.dependsOn() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkdependsontest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> dependsOn.noSuchEjb </td><td> [org/apache/openejb/config/rules/CheckDependsOnTest.dependsOn() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkdependsontest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> ejbAnnotation.onClassWithNoBeanInterface </td><td> [org/apache/openejb/config/rules/InvalidEjbRefTest.test1() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidejbreftest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> ejbAnnotation.onClassWithNoName </td><td> [org/apache/openejb/config/rules/InvalidEjbRefTest.test1() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidejbreftest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> entity.no.ejb.create </td><td> [org/apache/openejb/config/rules/CheckNoCreateMethodsTest.noCreateMethod() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checknocreatemethodstest.java?revision=head&view=markup-.html)
+</tr>
+  
+  
+<tr><td> injectionTarget.nameContainsSet </td><td> [org/apache/openejb/config/rules/CheckInjectionTargetsTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinjectiontargetstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> interceptor.callback.badReturnType </td><td> [org/apache/openejb/config/rules/CheckInvalidInterceptorTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidinterceptortest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> interceptor.callback.invalidArguments </td><td> [org/apache/openejb/config/rules/CheckInvalidInterceptorTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidinterceptortest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> interceptor.callback.missing </td><td> [org/apache/openejb/config/rules/CheckInvalidInterceptorTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidinterceptortest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> interceptor.callback.missing.possibleTypo </td><td> [org/apache/openejb/config/rules/CheckInvalidInterceptorTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidinterceptortest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> interceptor.unused </td><td> [org/apache/openejb/config/rules/CheckInvalidInterceptorTest.test1() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidinterceptortest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> interceptorBinding.ejbNameRequiredWithMethod </td><td> [org/apache/openejb/config/rules/CheckInvalidInterceptorTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidinterceptortest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> interceptorBinding.noSuchEjbName </td><td> [org/apache/openejb/config/rules/CheckInvalidInterceptorTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidinterceptortest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> interface.beanOnlyAnnotation </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.test1() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> interfaceMethod.beanOnlyAnnotation </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.test1() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> methodPermission.ejbNameRequired </td><td> [org/apache/openejb/config/rules/CheckInvalidMethodPermissionsTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidmethodpermissionstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> methodPermission.noSuchEjbName </td><td> [org/apache/openejb/config/rules/CheckInvalidMethodPermissionsTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidmethodpermissionstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> missing.class </td><td> [org/apache/openejb/config/rules/CheckMissingClassTest.wrongClassType() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkmissingclasstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> no.busines.method </td><td> [org/apache/openejb/config/rules/CheckNoBusinessMethodTest.noBusinessMethod() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checknobusinessmethodtest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> no.busines.method.args </td><td> [org/apache/openejb/config/rules/CheckNoBusinessMethodTest.noBusinessMethod() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checknobusinessmethodtest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> no.busines.method.case </td><td> [org/apache/openejb/config/rules/CheckNoBusinessMethodTest.noBusinessMethod() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checknobusinessmethodtest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> no.home.create </td><td> [org/apache/openejb/config/rules/CheckNoCreateMethodsTest.noCreateMethod() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checknocreatemethodstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> noInterfaceDeclared.entity </td><td> [org/apache/openejb/config/rules/CheckWrongClassTypeTest.wrongClassType() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkwrongclasstypetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> permitAllAndRolesAllowedOnClass </td><td> [org/apache/openejb/config/rules/CheckInvalidSecurityAnnotationsTest.test() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidsecurityannotationstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceContextAnnotation.onClassWithNoName </td><td> [org/apache/openejb/config/rules/CheckPersistenceContextUsageTest.wrongUsage() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistencecontextusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceContextAnnotation.onEntityManagerFactory </td><td> [org/apache/openejb/config/rules/CheckPersistenceContextUsageTest.wrongUsage() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistencecontextusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceContextAnnotation.onNonEntityManager </td><td> [org/apache/openejb/config/rules/CheckPersistenceContextUsageTest.wrongUsage() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistencecontextusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceContextExtented.nonStateful </td><td> [org/apache/openejb/config/rules/CheckPersistenceContextUsageTest.wrongUsage() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistencecontextusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceContextRef.noMatches </td><td> [org/apache/openejb/config/rules/CheckPersistenceContextUsageTest.noUnitName() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistencecontextusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceContextRef.noPersistenceUnits </td><td> [org/apache/openejb/config/rules/CheckPersistenceContextUsageTest.wrongUsage() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistencecontextusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceContextRef.noUnitName </td><td> [org/apache/openejb/config/rules/CheckPersistenceContextUsageTest.noUnitName() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistencecontextusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceContextRef.vagueMatches </td><td> [org/apache/openejb/config/rules/CheckPersistenceContextUsageTest.vagueMatches() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistencecontextusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceUnitAnnotation.onClassWithNoName </td><td> [org/apache/openejb/config/rules/CheckPersistenceUnitUsageTest.wrongUsage() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistenceunitusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceUnitAnnotation.onEntityManager </td><td> [org/apache/openejb/config/rules/CheckPersistenceUnitUsageTest.wrongUsage() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistenceunitusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceUnitAnnotation.onNonEntityManagerFactory </td><td> [org/apache/openejb/config/rules/CheckPersistenceUnitUsageTest.wrongUsage() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistenceunitusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceUnitRef.noMatches </td><td> [org/apache/openejb/config/rules/CheckPersistenceUnitUsageTest.noUnitName() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistenceunitusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceUnitRef.noPersistenceUnits </td><td> [org/apache/openejb/config/rules/CheckPersistenceUnitUsageTest.wrongUsage() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistenceunitusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceUnitRef.noUnitName </td><td> [org/apache/openejb/config/rules/CheckPersistenceUnitUsageTest.noUnitName() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistenceunitusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> persistenceUnitRef.vagueMatches </td><td> [org/apache/openejb/config/rules/CheckPersistenceUnitUsageTest.vagueMatches() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkpersistenceunitusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> resourceAnnotation.onClassWithNoName </td><td> [org/apache/openejb/config/rules/MistakenResourceRefUsageTest.wrongUsage() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/mistakenresourcerefusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> resourceAnnotation.onClassWithNoType </td><td> [org/apache/openejb/config/rules/MistakenResourceRefUsageTest.wrongUsage() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/mistakenresourcerefusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> resourceRef.onEntityManager </td><td> [org/apache/openejb/config/rules/MistakenResourceRefUsageTest.wrongUsage() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/mistakenresourcerefusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> resourceRef.onEntityManagerFactory </td><td> [org/apache/openejb/config/rules/MistakenResourceRefUsageTest.wrongUsage() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/mistakenresourcerefusagetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> session.no.ejb.create </td><td> [org/apache/openejb/config/rules/CheckNoCreateMethodsTest.noCreateMethod() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checknocreatemethodstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> unused.ejb.create </td><td> [org/apache/openejb/config/rules/CheckNoCreateMethodsTest.noCreateMethod() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checknocreatemethodstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> unused.ejbPostCreate </td><td> [org/apache/openejb/config/rules/CheckNoCreateMethodsTest.noCreateMethod() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checknocreatemethodstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> userTransactionRef.forbiddenForCmtdBeans </td><td> [org/apache/openejb/config/rules/CheckUserTransactionRefsTest.testSLSBwithUserTransaction() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkusertransactionrefstest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> wrong.class.type </td><td> [org/apache/openejb/config/rules/CheckWrongClassTypeTest.wrongClassType() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkwrongclasstypetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.businessLocal.beanClass </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testBeanClass() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.businessLocal.ejbHome </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBHome() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+  
+  
+  
+  
+<tr><td> xml.businessLocal.ejbObject </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBObject() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+  
+  
+<tr><td> xml.businessRemote.beanClass </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testBeanClass() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+  
+  
+<tr><td> xml.businessRemote.ejbLocalHome </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBLocalHome() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.businessRemote.ejbLocalObject </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBLocalObject() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+  
+  
+<tr><td> xml.businessRemote.notInterface </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testNotInterface() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.home.beanClass </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testBeanClass() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.home.businessLocal </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testBusinessLocal() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.home.businessRemote </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testBusinessRemote() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.home.ejbLocalHome </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBLocalHome() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.home.ejbLocalObject </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBLocalObject() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.home.ejbObject </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBObject() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.home.notInterface </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testNotInterface() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.home.unknown </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testUnkown() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.invalidTransactionAttribute </td><td> [org/apache/openejb/config/rules/CheckInvalidTransactionAttributeTest.xml() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/checkinvalidtransactionattributetest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.local.beanClass </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testBeanClass() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.local.businessLocal </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testBusinessLocal() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.local.businessRemote </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testBusinessRemote() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.local.ejbHome </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBHome() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.local.ejbLocalHome </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBLocalHome() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.local.ejbObject </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBObject() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.local.notInterface </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testNotInterface() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.local.unknown </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testUnkown() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.localHome.beanClass </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testBeanClass() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.localHome.businessLocal </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testBusinessLocal() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.localHome.businessRemote </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testBusinessRemote() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.localHome.ejbHome </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBHome() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.localHome.ejbLocalObject </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBLocalObject() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.localHome.ejbObject </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBObject() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.localHome.notInterface </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testNotInterface() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.localHome.unknown </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testUnkown() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.localRemote.conflict </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testUnkown() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.remote.beanClass </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testBeanClass() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.remote.businessLocal </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testBusinessLocal() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.remote.businessRemote </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testBusinessRemote() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.remote.ejbHome </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBHome() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.remote.ejbLocalHome </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBLocalHome() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.remote.ejbLocalObject </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testEJBLocalObject() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.remote.notInterface </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testNotInterface() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+<tr><td> xml.remote.unknown </td><td> [org/apache/openejb/config/rules/InvalidInterfacesTest.testUnkown() ](-https://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/test/java/org/apache/openejb/config/rules/invalidinterfacestest.java?revision=head&view=markup-.html)
+</tr>
+{table-plus}

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/website-dev.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/website-dev.mdtext b/src/main/jbake/content/dev/website-dev.mdtext
new file mode 100644
index 0000000..c929652
--- /dev/null
+++ b/src/main/jbake/content/dev/website-dev.mdtext
@@ -0,0 +1,51 @@
+Title: Working on the Website
+
+The easiest way to edit is to simply click the blue pencil icon in the upper right.  Have fun!
+
+## Offline Editing
+
+Editing offline can be fantastic for making big changes or documenting while coding.  You simply need to
+ check out the site source from svn:
+
+    svn co https://svn.apache.org/repos/asf/tomee/site/trunk website-source
+
+All the important source is in the `content` directory.  Just edit
+and check in the `.mdtext` files and they will appear in the staging
+site within seconds.
+
+For example, `documentation.mdtext` shows up as:
+
+[http://tomee.staging.apache.org/documentation.html]
+
+## Publishing
+
+Simply visit [https://cms.apache.org/tomee/publish](https://cms.apache.org/tomee/publish)
+
+It will prompt you for user/pass information and make you review the changes.  Enter the optional log message and click "sumbit", then done!
+
+The login information is cached for a while, so you won't have to enter user/pass information each time.
+
+
+## Building Locally <small>optional</small>
+
+Should you want to build the site locally, you can do so pretty easily with the right perl modules installed.
+
+First check out the CMS source:
+
+    svn co https://svn.apache.org/repos/infra/websites/cms/build apache-cms-source
+
+The cpan modules you have to install may vary.  Here are the ones I installed:
+
+    sudo cpan XML::RSS::Parser::Lite
+    sudo cpan XML::RSS::Parser
+    sudo cpan XML::Parser::Lite
+    sudo cpan XML::Atom::Feed
+
+What you need to install may be different, so perhaps just skip to the part
+where we attempt to run the build locally and see what shows up missing and
+install just those things.
+
+    cd apache-cms-source
+    ./build_site.pl  --source-base ~/path/to/website-source --target-base /tmp/site
+
+All the generated html content will be under `/tmp/site/content`

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/writing-examples.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/writing-examples.mdtext b/src/main/jbake/content/dev/writing-examples.mdtext
new file mode 100644
index 0000000..4aebc06
--- /dev/null
+++ b/src/main/jbake/content/dev/writing-examples.mdtext
@@ -0,0 +1,95 @@
+Title: Writing Presentable Examples
+
+Writing an example is easy.  Any example is a good one.  The more the better.
+
+Writing examples that can be used in a presentations is hard.
+
+Some basic guidelines of writing examples:
+
+ - focus on one idea per example
+ - keep examples short
+    - one test case
+    - minimal code to make the point
+ - avoid showing an entire API in one example, if possible
+ - be conscious of the cost of "setting the stage"
+ - if examples get too big, split it
+
+# Noise vs signal
+
+It takes time to learn the example scenario (noise).  You need to learn the scenario before you can start to see the important parts (signal).
+
+Be very mindful of your noise to signal ratio.
+
+Example scenarios do not need to be believable and should not be elaborate.  Get to the point in as few classes as possible.
+
+You should be able to explain the entire example in two minutes.
+
+# Five ways to do the same thing
+
+If there are five ways to do the same thing, avoid making five different scenarios.  Copy the example to a new directory, and tweak it to show the variation.
+
+So say you used objects `Green`, `Square` and `Checkers` to show the basic concept and you wish to show the next variation of that same concept.  It is tempting to add to the same
+example objects `Yellow`, `Triangle` and `PolkaDots`.
+
+Avoid that.  Copy `Green`, `Square` and `Checkers` to a new example, change the package name, and update the few lines needed to show the difference.
+
+Where does your eye focus?
+
+ - 934 + 55 = 989
+ - 513 - 19 = 494
+ - 468 * 44 = 20592
+ - 708 / 89 = 7
+ - 401 % 63 = 23
+
+How about now?
+
+ - 102 + 35 = 137
+ - 102 - 35 = 67
+ - 102 * 35 = 3570
+ - 102 / 35 = 2
+ - 102 % 35 = 32
+
+The intent of the second set of numbers can be easily guessed.  An explanation that it is about the math operators confirms that and locks it in your brain.
+
+When presenting, you only get so much time to show people ideas.  If they have to learn a new set of names and understand their relationship on each tiny variation, it severely
+impacts their ability to see what is supposed to be the same and what is supposed to be different.  As a presenter this means you must show less and what you do show will be shown
+less clearly.
+
+When names and scenarios are consistent, the variations jump out quickly and with impact.
+
+If there are five ways to do the same thing, show the same thing five different ways.
+
+# Short Class Names
+
+You don't need to document the example with the class name.  Class names that are a mouthful cannot be effectively used in presentations or screencasts.
+
+Try to stick with one or two word class names.  Three tops.
+
+Avoid:
+
+ - `BeanWithTwoDecoratorsAndOneProducerMethod`
+
+Try instead:
+
+ - `BlueBean`
+
+Shorter names can be easier for all sorts of reasons.  Less words to keep "floating in the head" when trying to truly see an example.
+
+Using the numbers from the previous section, which is easier?
+
+ - 102 + 35 = 137
+ - 102 - 35 = 67
+ - 102 * 35 = 3570
+ - 102 / 35 = 2
+ - 102 % 35 = 32
+
+Or:
+
+ - 12 + 3 = 15
+ - 12 - 3 = 9
+ - 12 * 3 = 36
+ - 12 / 3 = 4
+ - 12 % 3 = 0
+
+There's a finite amount people can keep in their head, save space for the important stuff.
+


[05/34] tomee-site-generator git commit: Ignore the repos/ directory

Posted by db...@apache.org.
Ignore the repos/ directory


Project: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/commit/c80aa0e4
Tree: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/tree/c80aa0e4
Diff: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/diff/c80aa0e4

Branch: refs/heads/master
Commit: c80aa0e499abaf3fd05afb8bff6a75084c7e6728
Parents: 14787f4
Author: dblevins <da...@gmail.com>
Authored: Sun Nov 25 22:57:54 2018 -0800
Committer: dblevins <da...@gmail.com>
Committed: Sun Nov 25 22:57:54 2018 -0800

----------------------------------------------------------------------
 .gitignore | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/c80aa0e4/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 5c494ca..f51e20c 100755
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,4 @@ buildNumber.properties
 *~
 examples.cache.old
 .content-site-checkout
+repos/
\ No newline at end of file


[32/34] tomee-site-generator git commit: Merge old content. Move tech content to main build.

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/advanced/applicationcomposer/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/advanced/applicationcomposer/index.adoc b/src/main/jbake/content/advanced/applicationcomposer/index.adoc
deleted file mode 100755
index 50390cc..0000000
--- a/src/main/jbake/content/advanced/applicationcomposer/index.adoc
+++ /dev/null
@@ -1,76 +0,0 @@
-= ApplicationComposer with JBatch
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-ApplicationComposer can be a way to run a JBatch not needing any HTTP connector.
-
-Here is an example making batch integration easy - note you can extract the generic part in a library very easily:
-
-TIP: if you didn't check yet BatchEE provides some standalone utilities for JBatch but the idea of this page can be reused for a lot of applications.
-
-[source,java]
-----
-// helper class reusable for any batch
-abstract class BatchApplication {
-    private static final DateTimeFormatter DATE = DateTimeFormatter.ofPattern("YYYYMMddHHmmss");
-
-    protected Report runBatch(final String batchName, final Properties config) {
-        final JobOperator operator = BatchRuntime.getJobOperator();
-        final long id = operator.start(batchName, config);
-        Batches.waitForEnd(operator, id);
-        return new Report(operator.getJobExecution(id), operator.getParameters(id));
-    }
-
-    @Module // we enforce BatchEE to be initialized as an EJB context to get JNDI for JTA init, needed for TomEE 1
-    public EjbModule ensureBatchEESetupIsDoneInTheRightContext() {
-        final EjbJar ejbJar = new EjbJar().enterpriseBean(new SingletonBean(BatchEEBeanManagerInitializer.class));
-
-        final Beans beans = new Beans();
-        beans.addManagedClass(BatchEEBeanManagerInitializer.Init.class);
-
-        final EjbModule ejbModule = new EjbModule(ejbJar);
-        ejbModule.setModuleId("batchee-shared-components");
-        ejbModule.setBeans(beans);
-        return ejbModule;
-    }
-
-    public static class Report {
-        private final JobExecution execution;
-        private final Properties properties;
-
-        public Report(final JobExecution execution, final Properties properties) {
-            this.execution = execution;
-            this.properties = properties;
-        }
-
-        public JobExecution getExecution() {
-            return execution;
-        }
-
-        public Properties getProperties() {
-            return properties;
-        }
-    }
-}
-
-@Classes(cdi = true, value = { MyFilter.class, MoveFile.class, InputFile.class, MyReader.class, LoggingListener.class })
-public class MyBatch extends BatchApplication {
-    private final Properties config;
-
-    public Mybatch(final String[] args) { // main args
-        this.config = new Properties() {{ // create the batch config
-            setProperty("input-directory", args[0]);
-        }};
-    }
-
-    public Report execute(final String inputDirectory) {
-        return runBatch("sunstone", config);
-    }
-
-    public static void main(final String[] args) throws Exception {
-        ApplicationComposers.run(MyBatch.class, args);
-    }
-}
-----

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/advanced/client/jndi.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/advanced/client/jndi.adoc b/src/main/jbake/content/advanced/client/jndi.adoc
deleted file mode 100644
index a6e461a..0000000
--- a/src/main/jbake/content/advanced/client/jndi.adoc
+++ /dev/null
@@ -1,116 +0,0 @@
-== Java Naming and Directory Interface (JNDI)
-:jbake-date: 2016-10-14
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-TomEE has several JNDI client intended for multiple usages.
-
-== Default one
-
-In a standalone instance you generally don't need (or want) to specify anything
-to do a lookup. Doing so you will inherit from the contextual environment:
-
-[source,java]
-----
-final Context ctx = new InitialContext();
-ctx.lookup("java:....");
-----
-
-== LocalInitialContextFactory
-
-This is the legacy context factory used by OpenEJB. It is still useful to fallback
-on the "default" one in embedded mode where sometimes classloaders or libraries can mess
-up the automatic conextual context.
-
-Usage:
-
-[source,java]
-----
-Properties properties = new Properties();
-properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-final Context ctx = new InitialContext(properties);
-ctx.lookup("java:....");
-----
-
-This context factory supports few more options when *you boot the container* creating a context:
-
-|===
-| Name | Description
-| openejb.embedded.remotable | true/false: starts embedded services
-| Context.SECURITY_PRINCIPAL/Context.SECURITY_CREDENTIALS | the *global* security identity for the whole container
-|===
-
-IMPORTANT: `Context.SECURITY_*` shouldn't be used for runtime lookups with `LocalInitialContextFactory`, it would leak a security identity and make the runtime no more thread safe.
-This factory was deprecated starting with 7.0.2 in favor of `org.apache.openejb.core.OpenEJBInitialContextFactory`.
-
-== OpenEJBInitialContextFactory
-
-This factory allows you to access local EJB and container resources.
-
-[source,java]
-----
-Properties properties = new Properties();
-properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.OpenEJBInitialContextFactory");
-final Context ctx = new InitialContext(properties);
-ctx.lookup("java:....");
-----
-
-== RemoteInitialContextFactory
-
-Intended to be used to contact a remote server, the `org.apache.openejb.client.RemoteInitialContextFactory` relies on the provider url
-to contact a tomee instance:
-
-[source,java]
-----
-Properties p = new Properties();
-p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
-p.put(Context.PROVIDER_URL, "failover:ejbd://192.168.1.20:4201,ejbd://192.168.1.30:4201");
-
-final InitialContext remoteContext = new InitialContext(p);
-ctx.lookup("java:....");
-----
-
-Contrarly to local one, the remote factory supports `Context.SECURITY_*` options in a thread safe manner and you can do lookups at runtime using them.
-
-See link:../../admin/cluster/index.html[Cluster] page for more details on the options.
-
-=== Security
-
-The context configuration can take additional configuration to handle EJB security:
-
-[source]
-----
-p.put("openejb.authentication.realmName", "my-realm"); // optional
-p.put(Context.SECURITY_PRINCIPAL, "alfred");
-p.put(Context.SECURITY_CREDENTIALS, "bat");
-----
-
-The realm will be used by JAAS to get the right LoginModules and principal/credentials to
-do the actual authentication.
-
-==== HTTP case
-
-Often HTTP layer is secured and in this case you need to authenticate before the EJBd (remote EJB TomEE protocol) layer.
-Thanks to TomEE/Tomcat integration login there will propagate to the EJBd context.
-
-This can be done passing the token you need to set as `Authorization` header in the `PROVIDER_URL`:
-
-[source]
-----
-// tomee/openejb principal/credentials
-p.put(Context.PROVIDER_URL, "http://localhost:8080/tomee/ejb?authorization=Basic%20dG9tZWU6b3BlbmVqYg==");
-----
-
-The token passed as `authorization` query parameter is the header value URL encoded. It can
-be any token like a basic one, a custom one, an OAuth2 one (in this case you need to renew it programmatically
-and change your client instance when renewing) etc...
-
-TIP: basic being very common there is a shortcut with two alternate query parameter replacing `authorization` one: `basic.password` and `basic.username`.
-
-Finally if you don't use `Authorization` header you can change the used header setting `authorizationHeader` query parameter.
-
-NOTE: `authorization`, `authorizationHeader`, `basic.username`, and `basic.password` are removed
-from the URL before opening the connection and therefore not logged in the remote server access log since version 7.0.3.
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/advanced/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/advanced/index.adoc b/src/main/jbake/content/advanced/index.adoc
deleted file mode 100755
index 7928b61..0000000
--- a/src/main/jbake/content/advanced/index.adoc
+++ /dev/null
@@ -1,7 +0,0 @@
-= Advanced
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-Click link:../docs.html[here] to find advanced documentation.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/advanced/jms/jms-configuration.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/advanced/jms/jms-configuration.adoc b/src/main/jbake/content/advanced/jms/jms-configuration.adoc
deleted file mode 100644
index 701b1dd..0000000
--- a/src/main/jbake/content/advanced/jms/jms-configuration.adoc
+++ /dev/null
@@ -1,67 +0,0 @@
-= Why is my ActiveMQ/JMS MDB not scaling as expected?
-:jbake-date: 2017-02-22
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-==== Why my ActiveMQ/JMS MDB is not scaling as expected?
-
-There are multiple configurations points to ensure you scale as much as you want.
-
-Here some common configuration to validate (note that when possible the sample value is the default):
-
-- The resource adapter thread pool ("worker threads" or `WorkManager`) limits the number of max work threads:
-
-[source,xml]
-----
-<Resource id="my resource adapter" ....>
-  # using -1 will make the server using cached threads (unbounded)
-  # min recommanded: maxSessions + 1 (for connect())
-  threadPoolSize = 30
-</Resource>
-----
-
-- Then the MDB container itself has a upper bound through `InstanceLimit` which controls the max MDB instance count:
-
-[source,xml]
-----
-<Container id="my mdb container" type="MESSAGE">
-    # -1 will disable it
-    # min recommanded = maxSessions
-    InstanceLimit = 10
-</Container>
-----
-
-- ActiveMQ `maxSessions` controls how many sessions a MDB can use:
-
-[source,java]
-----
-@MessageDriven(activationConfig = {
-        @javax.ejb.ActivationConfigProperty(propertyName = "maxSessions", propertyValue = "1"),
-        @javax.ejb.ActivationConfigProperty(propertyName = "destination", propertyValue = "target-queue")
-})
-public static class MyMdb implements MessageListener {
-    @Override
-    public void onMessage(final Message message) {
-        // ...
-    }
-}
-----
-
-- The ConnectionFactory has also an instance pool through geronimo-connector logic, configuration
- can make the behavior changing but this is controlled through pool related variables (the pool and resource properties are merged in the definition):
-
-[source,xml]
-----
-<Resource id="my connection factory" type="ConnectionFactory">
-    # recommanded to be aligned on maxSessions
-    PoolMaxSize = 10
-    # for 100% MDB (no client) you can evaluate to turn it off/false, for client it can still be useful depending what you do
-    Pooling = true
-</Resource>
-----
-
-==== Slow Message Consumption
-
-If you find you have a slow consumption of messages there are several options to have a look (activemq website explains it very well)
-but one very impacting option can be the prefetch size.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/advanced/setup/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/advanced/setup/index.adoc b/src/main/jbake/content/advanced/setup/index.adoc
deleted file mode 100755
index 4fe684d..0000000
--- a/src/main/jbake/content/advanced/setup/index.adoc
+++ /dev/null
@@ -1,142 +0,0 @@
-= How to Setup TomEE in production
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-
-
-You can use TomEE as described on link:../../admin/directory-structure.html[Directory Structure] page but in production it is better to
-split TomEE and application binaries and configuration.
-
-Idea is to have this kind of layout (the root is the one you prefer):
-
-ifndef::backend-pdf[]
-
-[#filetree.col-md-4]
-[{
-    label: '/some/path',
-    description: 'any location on your file system',
-    children: [
-        {
-            label: 'tomee',
-            description: 'all tomee binaries will be there, note: you often do the same for the JVM versions you have',
-            children: [
-                {
-                    label: 'tomee-1.7.1',
-                    description: 'a particular tomee version (just unzip it there)',
-                    children: [
-                        { label: 'bin', description: 'the startup binaries/scripts' },
-                        { label: 'conf', description: 'default shared configuration for this version, can be overwritten by instance' },
-                        { label: 'lib', description: 'the binaries' }
-                    ]
-                },
-                {
-                    label: 'tomee-1.7.2',
-                    description: 'a particular tomee version (just unzip it there)',
-                    children: [
-                        { label: 'bin', description: 'the startup binaries/scripts' },
-                        { label: 'conf', description: 'default shared configuration for this version, can be overwritten by instance' },
-                        { label: 'lib', description: 'the binaries' }
-                    ]
-                },
-                {
-                    label: 'tomee-7.0.0-M3',
-                    description: 'a particular tomee version (just unzip it there)',
-                    children: [
-                        { label: 'bin', description: 'the startup binaries/scripts' },
-                        { label: 'conf', description: 'default shared configuration for this version, can be overwritten by instance' },
-                        { label: 'lib', description: 'the binaries' }
-                    ]
-                }
-            ]
-        },
-        {
-            label: 'applications',
-            description: 'all applications',
-            children: [
-                {
-                    label: 'application1',
-                    description: 'any application instance (ie configuration + binaries)',
-                    children: [
-                        { label: 'bin', description: 'provide scripts for this instance (see under that file layout)' },
-                        { label: 'conf', description: 'the instance configuration, typically what is in tomee/conf when used in standalone' },
-                        { label: 'lib', description: 'some additional binaries like JDBC drivers' },
-                        { label: 'logs', description: 'instances logs location' },
-                        { label: 'work', description: 'dedicated work directory' },
-                        { label: 'temp', description: 'instance temporary folder' },
-                        { label: 'webapps', description: 'instance webapp folder' }
-                    ]
-                },
-                {
-                    label: 'application2',
-                    description: 'any application instance (ie configuration + binaries)',
-                    children: [
-                        { label: 'bin', description: 'provide scripts for this instance (see under that file layout)' },
-                        { label: 'conf', description: 'the instance configuration, typically what is in tomee/conf when used in standalone' },
-                        { label: 'lib', description: 'some additional binaries like JDBC drivers' },
-                        { label: 'logs', description: 'instances logs location' },
-                        { label: 'work', description: 'dedicated work directory' },
-                        { label: 'temp', description: 'instance temporary folder' },
-                        { label: 'webapps', description: 'instance webapp folder' }
-                    ]
-                }
-            ]
-        }
-    ]
-}]
-
-
-[#filetreedetail.col-md-8.bs-callout.bs-callout-primary]
-Click on a tree node or open a folder to see the detail there.
-
-[.clearfix]
-&nbsp;
-
-endif::[]
-
-=== Instance scripts
-
-The idea for instances (applications) scripts is to simply delegate to tomcat ones but customizing the JVM and TomEE versions.
-
-Customizing the version (and locations) is done in `bin/setenv.sh` of instances.
-
-Here are an example for the common scripts (of course you can write helper version like restart etc).
-
-==== setenv.sh
-
-[source,bash]
-----
-#! /bin/sh
-
-# which java
-export JAVA_HOME="/some/path/java/jdk-8u60"
-# which tomee
-export CATALINA_HOME="/some/path/tomee/tomee-7.0.0-M3"
-# where is the application - to let tomcat/tomee finds the configuration
-export CATALINA_BASE="/some/path/application1/"
-# to let tomee be able to kill the instance if shutdown doesn't work (see shutdown script)
-export CATALINA_PID="/some/path/application1/work/tomee.pid"
-----
-
-==== startup
-
-[source,bash]
-----
-#! /bin/bash
-
-proc_script_base="`cd $(dirname $0) && cd .. && pwd`"
-source "$proc_script_base/bin/setenv.sh"
-nohup "$CATALINA_HOME/bin/startup.sh" "$@" > $proc_script_base/logs/nohup.log &
-----
-
-==== shutdown
-
-[source,bash]
-----
-#! /bin/bash
-
-proc_script_base="`cd $(dirname $0) && cd .. && pwd`"
-source "$proc_script_base/bin/setenv.sh"
-# we support parameters like timeout and force, typically we would call it this way: ./shutdown 1200 -force
-"$CATALINA_HOME/bin/shutdown.sh" "$@"
-----
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/advanced/shading/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/advanced/shading/index.adoc b/src/main/jbake/content/advanced/shading/index.adoc
deleted file mode 100755
index fc4b18a..0000000
--- a/src/main/jbake/content/advanced/shading/index.adoc
+++ /dev/null
@@ -1,276 +0,0 @@
-= Fat / Uber jars - Using the Shade Plugin
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-Shading the container and the application has some challenges like merging correctly resources (`META-INF/services/` typically).
-
-Here is a maven shade plugin configuration working for most cases:
-
-[source,xml]
-----
-<plugin>
-  <groupId>org.apache.maven.plugins</groupId>
-  <artifactId>maven-shade-plugin</artifactId>
-  <version>2.3</version>
-  <executions>
-    <execution>
-      <phase>package</phase>
-      <goals>
-        <goal>shade</goal>
-      </goals>
-      <configuration>
-        <dependencyReducedPomLocation>${project.build.directory}/reduced-pom.xml</dependencyReducedPomLocation>
-        <transformers>
-          <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-            <mainClass>org.apache.tomee.embedded.FatApp</mainClass>
-          </transformer>
-          <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
-            <resource>META-INF/cxf/bus-extensions.txt</resource>
-          </transformer>
-          <transformer implementation="org.apache.openwebbeans.maven.shade.OpenWebBeansPropertiesTransformer" />
-        </transformers>
-        <filters>
-          <filter> <!-- we don't want JSF to be activated -->
-            <artifact>*:*</artifact>
-            <excludes>
-              <exclude>META-INF/faces-config.xml</exclude>
-            </excludes>
-          </filter>
-        </filters>
-      </configuration>
-    </execution>
-  </executions>
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.openwebbeans</groupId>
-      <artifactId>openwebbeans-maven</artifactId>
-      <version>1.7.0/version>
-    </dependency>
-  </dependencies>
-</plugin>
-----
-
-NOTE: see link:../tomee-embedded/index.html[TomEE Embedded] page for more information about tomee embedded options.
-
-IMPORTANT: this shade uses TomEE Embedded but you can do the same with an link:../applicationcomposer/index.html[Application Composer] application.
-
-TIP: if you have `META-INF/web-fragment.xml` in your application you will need to merge them in a single one in the shade. Note that tomcat provides one
-which can be skipped in this operation since it is there only as a marker for jasper detection.
-
-Then just build the jar:
-
-[source,bash]
-----
-mvn clean package
-----
-
-And you can run it:
-
-[source,bash]
-----
-java -jar myapp-1.0-SNAPSHOT.jar
-----
-
-== Fat Jars with Gradle
-
-With gradle you can rely on either jar plugin, fatjar plugin or shadowjar plugin. Last one is likely the closer to maven shade plugin
-so that's the one used for next sample:
-
-[source,groovy]
-----
-// run $ gradle clean shadowJar
-import org.apache.openwebbeans.gradle.shadow.OpenWebBeansPropertiesTransformer
-
-buildscript {
-    repositories {
-        mavenLocal()
-        jcenter()
-    }
-    dependencies {
-        classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3'
-        classpath 'org.apache.openwebbeans:openwebbeans-gradle:1.7.0'
-    }
-}
-
-apply plugin: 'com.github.johnrengelman.shadow'
-
-group 'org.apache.tomee.demo.gradle'
-version '1.0-SNAPSHOT'
-
-apply plugin: 'idea'
-apply plugin: 'java'
-
-sourceCompatibility = 1.8
-
-repositories {
-    mavenLocal()
-    mavenCentral()
-}
-
-dependencies {
-    compileOnly 'org.projectlombok:lombok:1.16.10'
-    compile 'org.apache.tomee:tomee-embedded:7.0.2-SNAPSHOT'
-}
-
-// customize exclusions depending your app
-
-// first the not used dependencies like JSF, JAXWS, JMS ones
-def excludedDependenciesGroups = [
-        // gradle is buggy with poms, scope provided and optional I think
-        'com.google.code.findbugs',
-        'com.google.guava',
-        'javax.annotation',
-        'javax.ws.rs',
-        'net.sf.ehcache',
-        'org.apache.httpcomponents',
-        'org.ow2.asm',
-        // tomee jaxws, jms, etc...
-        'commons-codec',
-        'com.sun.xml.messaging.saaj',
-        'joda-time',
-        'junit',
-        'net.shibboleth.utilities',
-        'org.apache.activemq',
-        'org.apache.activemq.protobuf',
-        'org.apache.myfaces.core',
-        'org.apache.neethi',
-        'org.apache.santuario',
-        'org.apache.ws.xmlschema',
-        'org.apache.wss4j',
-        'org.bouncycastle',
-        'org.cryptacular',
-        'org.fusesource.hawtbuf',
-        'org.jasypt',
-        'org.jvnet.mimepull',
-        'org.opensaml',
-        'wsdl4j',
-        'xml-resolver'
-]
-
-// then cxf+tomee specific dependencies so we need to be more precise than the group
-// to not exclude everything
-def excludedDependenciesArtifacts = [
-        'cxf-rt-bindings-soap',
-        'cxf-rt-bindings-xml',
-        'cxf-rt-databinding-jaxb',
-        'cxf-rt-frontend-jaxws',
-        'cxf-rt-frontend-simple',
-        'cxf-rt-security-saml',
-        'cxf-rt-ws-addr',
-        'cxf-rt-wsdl',
-        'cxf-rt-ws-policy',
-        'cxf-rt-ws-security',
-        'openejb-cxf',
-        'openejb-webservices',
-        'tomee-webservices',
-        'geronimo-connector',
-        'geronimo-javamail_1.4_mail'
-]
-shadowJar {
-    classifier = 'bundle'
-
-    // merge SPI descriptors
-    mergeServiceFiles()
-    append 'META-INF/cxf/bus-extensions.txt'
-    transform(OpenWebBeansPropertiesTransformer.class)
-
-    // switch off JSF + JMS + JAXWS
-    exclude 'META-INF/faces-config.xml'
-    dependencies {
-        exclude(dependency {
-            excludedDependenciesGroups.contains(it.moduleGroup) ||
-                    excludedDependenciesArtifacts.contains(it.moduleName)
-        })
-    }
-
-    // ensure we define the expected Main (if you wrap tomee main use your own class)
-    manifest {
-        attributes 'Main-Class': 'org.apache.tomee.embedded.FatApp'
-    }
-}
-----
-
-Then run:
-
-[source]
-----
-gradle clean build shadowJar
-----
-
-and you'll get `build/libs/demo-gradle-tomee-embedded-shade-1.0-SNAPSHOT-bundle.jar` ready to run with:
-
-[source]
-----
-java -jar build/libs/demo-gradle-tomee-embedded-shade-1.0-SNAPSHOT-bundle.jar --as-war --simple-log=true
-----
-
-== Fat Wars
-
-Fat Wars are executable wars. Note they can be fancy for demos but they have the drawback to put the server in web resources
-at packaging time (to ensure the war is actually an executable jar) so adding a filter preventing these files to be read
-can be needed if you don't already use a web technology doing it (a servlet bound to /*).
-
-Here how to do a fat war:
-
-[source,xml]
-----
-<properties>
-  <!-- can be uber (for all), jaxrs, jaxws for lighter ones -->
-  <tomee.flavor>uber</tomee.flavor>
-</properties>
-
-<dependencies>
-  <!-- ...your dependencies as usual... -->
-  <dependency>
-    <groupId>org.apache.tomee</groupId>
-    <artifactId>tomee-embedded</artifactId>
-    <classifier>${tomee.flavor}</classifier>
-    <version>7.0.0</version>
-    <scope>provided</scope>
-  </dependency>
-</dependencies>
-
-<build>
-  <plugins>
-    <plugin>
-      <groupId>org.apache.maven.plugins</groupId>
-      <artifactId>maven-war-plugin</artifactId>
-      <version>2.6</version>
-      <configuration>
-        <failOnMissingWebXml>false</failOnMissingWebXml>
-        <archive>
-          <manifest>
-            <mainClass>org.apache.tomee.embedded.Main</mainClass>
-          </manifest>
-        </archive>
-        <dependentWarExcludes />
-        <overlays>
-          <overlay>
-            <groupId>org.apache.tomee</groupId>
-            <artifactId>tomee-embedded</artifactId>
-            <classifier>${tomee.flavor}</classifier>
-            <type>jar</type>
-            <excludes />
-          </overlay>
-        </overlays>
-      </configuration>
-    </plugin>
-  </plugins>
-</build>
-----
-
-Then just build the war:
-
-[source,bash]
-----
-mvn clean package
-----
-
-And you can run it:
-
-[source,bash]
-----
-java -jar myapp-1.0-SNAPSHOT.war
-----

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/advanced/tomee-embedded/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/advanced/tomee-embedded/index.adoc b/src/main/jbake/content/advanced/tomee-embedded/index.adoc
deleted file mode 100755
index 8664ade..0000000
--- a/src/main/jbake/content/advanced/tomee-embedded/index.adoc
+++ /dev/null
@@ -1,223 +0,0 @@
-= TomEE Embedded
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-TomEE Embedded is based on Tomcat embedded and starts a real TomEE in the launching JVM. It is also
-able to deploy the classpath as a webapp and to use either `META-INF/resources` or a folder as web resources.
-
-Here is a basic programmatic usage based on `org.apache.tomee.embedded.Container` class:
-
-[source,java]
-----
-try (final Container container = new Container(new Configuration()).deployClasspathAsWebApp()) {
-    System.out.println("Started on http://localhost:" + container.getConfiguration().getHttpPort());
-
-    // do something or wait until the end of the application
-}
-----
-
-All EE features are then accessible directly in the same JVM.
-
-== TomEE Embedded Configuration
-
-The default configuration allows to start tomee without issue but you can desire to customize some of them.
-
-[.table.table-bordered,options="header"]
-|===
-| Name | Default | Description
-|httpPort | 8080| http port
-|stopPort | 8005| shutdown port
-|host |localhost| host
-|dir|-|where to create a file hierarchy for tomee (conf, temp, ...)
-|serverXml|-|which server.xml to use
-|keepServerXmlAsThis|false|don't adjust ports/host from the configuration and keep the ones in server.xml
-|properties|-|container properties
-|quickSession | true|use Random instead of SecureRandom (for dev)
-|skipHttp|false|don't use the http connector
-|httpsPort | 8443|https potr
-|ssl|false| activate https
-|withEjbRemote|false|use EJBd
-|keystoreFile|-|https keystore location
-|keystorePass|-|https keystore password
-|keystoreType |JKS|https keystore type
-|clientAuth|-|https client auth
-|keyAlias|-|https alias
-|sslProtocol|-|SSL protocol for https connector
-|webXml|-|default web.xml to use
-|loginConfig|-|which LoginConfig to use, relies on `org.apache.tomee.embedded.LoginConfigBuilder` to create it
-|securityConstraints|-|add some security constraints, use `org.apache.tomee.embedded.SecurityConstaintBuilder` to build them
-|realm|-|which realm to use (useful to switch to `JAASRealm` for instance) without modifying the application
-|deployOpenEjbApp|false|should internal openejb application be delpoyed
-|users|-|a map of user/password
-|roles|-|a map of role/users
-|tempDir|${java.io.tmpdir}/tomee-embedded_${timestamp}|tomcat needs a docBase, in case you don't provide one one will be created there
-|webResourceCached |true|should web resources be cached by tomcat (set false in frontend dev)
-|configuration-location|-|location (classpath or file) to a .properties to configure the server
-[pre-task|-|Runnable or org.apache.tomee.embedded.LifecycleTask implementations to execute before the container starts
-|classes-filter|-|implementation of a custom xbean Filter to ignore not desired classes during scanning
-|basic|-|set /* under BASIC authentication for the realm "Security", authentication role being "*"
-|===
-
-Note: passing to `Container` constructor a `Configuration` it will start the container automatically but using `setup(Configuration)`
-to initialize the configuration you will need to call `start()`.
-
-You can also pass through the properties `connector.xxx` and `connector.attributes.xxx` to customize connector(s)
-configuration directly.
-
-== Standalone applications or TomEE Embedded provided main(String[])
-
-Deploying an application in a server is very nice cause the application is generally small and it allows to update the
-container without touching the application (typically insanely important in case of security issues for instance).
-
-However sometimes you don't have the choice so TomEE Embedded provides a built-in `main(String[])`. Here are its options:
-
-NOTE: this is still a TomEE so all system properties work (for instance to create a resource).
-
-[.table.table-bordered,options="header"]
-|===
-|Name|Default|Description
-|--path|-|location of application(s) to deploy
-|--context|-|Context name for applications (same order than paths)
-|-p or --port|8080|http port
-|-s or --shutdown|8005|shutdown port
-|-d or --directory|./.apache-tomee|tomee work directory
-|-c or --as-war|-|deploy classpath as a war
-|-b or --doc-base|-|where web resources are for classpath deployment
-|--renaming|-|for fat war only, is renaming of the context supported
-|--serverxml|-|the server.xml location
-|--tomeexml|-|the server.xml location
-|--property|-|a list of container properties (values follow the format x=y)
-|===
-
-Note that since 7.0.0 TomEE provides 3 flavors (qualifier) of tomee-embedded as fat jars:
-
-- uber (where we put all request features by users, this is likely the most complete and the biggest)
-- jaxrs: webprofile minus JSF
-- jaxws: webprofile plus JAX-WS
-
-These different uber jars are interesting in mainly 2 cases:
-
-- you do a war shade (it avoids to list a bunch of dependencies but still get a customized version)
-- you run your application using `--path` option
-
-NOTE: if you already do a custom shade/fatjar this is not really impacting since you can depend on `tomee-embedded` and exclude/include what you want.
-
-== FatApp a shortcut main
-
-`FatApp` main (same package as tomee embedded `Main`) just wraps the default main ensuring:
-
-- ̀`--as-war` is used
-- ̀`--single-classloader` is used
-- `--configuration-location=tomee-embedded.properties` is set if `tomee-embedded.properties` is found in the classpath
-
-== configuration-location
-
-`--configuration-location` option allows to simplify the configuration of tomee embedded through properties.
-
-Here are the recognized entries (they match the configuration, see org.apache.tomee.embedded.Configuration for the detail):
-
-|===
-|Name|
-|http|
-|https|
-|stop|
-|host|
-|dir|
-|serverXml|
-|keepServerXmlAsThis|
-|quickSession|
-|skipHttp|
-|ssl|
-|http2|
-|webResourceCached|
-|withEjbRemote|
-|deployOpenEjbApp|
-|keystoreFile|
-|keystorePass|
-|keystoreType|
-|clientAuth|
-|keyAlias|
-|sslProtocol|
-|webXml|
-|tempDir|
-|classesFilter|
-|conf|
-|properties.x (set container properties x with the associated value)|
-|users.x (for default in memory realm add the user x with its password - the value)|
-|roles.x (for default in memory realm add the role x with its comma separated users - the value)|
-|connector.x (set the property x on the connector)|
-|realm=fullyqualifiedname,realm.prop=xxx (define a custom realm with its configuration)|
-|login=,login.prop=xxx (define a org.apache.tomee.embedded.LoginConfigBuilder == define a LoginConfig)|
-|securityConstraint=,securityConstraint.prop=xxx (define a org.apache.tomee.embedded.SecurityConstaintBuilder == define webapp security)|
-|configurationCustomizer.alias=,configurationCustomizer.alias.class=class,configurationCustomizer.alias.prop=xxx (define a ConfigurationCustomizer)|
-|===
-
-Here is a sample to add BASIC security on `/api/*`:
-
-[source]
-----
-# security configuration
-securityConstraint =
-securityConstraint.authConstraint = true
-securityConstraint.authRole = **
-securityConstraint.collection = api:/api/*
-
-login =
-login.realmName = app
-login.authMethod = BASIC
-
-realm = org.apache.catalina.realm.JAASRealm
-realm.appName = app
-
-properties.java.security.auth.login.config = configuration/login.jaas
-----
-
-And here a configuration to exclude jackson packages from scanning and use log4j2 as main logger (needs it as dependency):
-
-[source]
-----
-properties.openejb.log.factory = log4j2
-properties.openejb.container.additional.include = com.fasterxml.jackson,org.apache.logging.log4j
-----
-
-== Application Runner
-
-SInce TomEE 7.0.2, TomEE provide a light ApplicationComposer integration for TomEE Embedded (all features are not yet supported but the main ones are):
-`org.apache.tomee.embedded.TomEEEmbeddedApplicationRunner`. It relies on the definition of an `@Application`:
-
-[source,java]
-----
-@Application
-@Classes(context = "app")
-@ContainerProperties(@ContainerProperties.Property(name = "t", value = "set"))
-@TomEEEmbeddedApplicationRunner.LifecycleTasks(MyTask.class) // can start a ftp/sftp/elasticsearch/mongo/... server before tomee
-@TomEEEmbeddedApplicationRunner.Configurers(SetMyProperty.class)
-public class TheApp {
-    @RandomPort("http")
-    private int port;
-
-    @RandomPort("http")
-    private URL base;
-
-    @org.apache.openejb.testing.Configuration
-    public Properties add() {
-        return new PropertiesBuilder().p("programmatic", "property").build();
-    }
-
-    @PostConstruct
-    public void appStarted() {
-        // ...
-    }
-}
-----
-
-Then just start it with:
-
-[source,java]
-----
-TomEEEmbeddedApplicationRunner.run(TheApp.class, "some arg1", "other arg");
-----
-
-TIP: `@Classes(values)` and `@Jars` are supported too which can avoid a huge scanning if you run with a lot of not CDI dependencies which would boost the startup of your application.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/articles.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/articles.mdtext b/src/main/jbake/content/articles.mdtext
new file mode 100644
index 0000000..1756271
--- /dev/null
+++ b/src/main/jbake/content/articles.mdtext
@@ -0,0 +1,39 @@
+Title: Articles
+<a name="Articles-OpenEJBArticles"></a>
+# OpenEJB Articles
+
+
+<a name="Articles-3.0"></a>
+## 3.0
+
+* [Developing EJB 3 Applications in Apache Tomcat Using Apache OpenEJB](http://java.sys-con.com/read/487561_2.htm)
+, by Dario Laverde, java.sys-con.com
+* [OpenEJB 3 and Tomcat 6](http://javanotebook.com/2007/09/28/openejb_3_and_tomcat_6.html)
+, by Dario Laverde, javanotebook.com
+
+<a name="Articles-1.0"></a>
+## 1.0
+
+* [Containter Driven Testing with OpenEJB](http://theserverside.com/articles/article.tss?l=ContainerDrivenTestingSeries)
+, by N. Alex Rupp, theserverside.com
+* [Using OpenEJB 1.0 with Tomcat on Linux](http://www.galatea.com/flashguides/tomcat-openejb1-unix)
+, by Lajos Moczar, galatea.com
+
+<a name="Articles-0.9.2"></a>
+## 0.9.2
+
+* [Getting Started With OpenEJB](http://ideoplex.com/id/768/getting-started-with-openejb)
+, by Dwight Shih, ideoplex.com
+* [A Simple Entity Bean with OpenEJB](http://ideoplex.com/id/828/a-simple-entity-bean-with-openejb)
+, by Dwight Shih, ideoplex.com
+* [OpenEJB: Modular, Configurable, and Customizable](http://javaboutique.internet.com/reviews/openEJB/)
+, by Benoy Jose, javaboutique.internet.com
+* [Build, deploy, and test EJB components in just a few seconds](http://www.javaworld.com/javaworld/jw-06-2005/jw-0613-ejb.html)
+, by Nader Aeinehchi, javaworld.com
+
+<a name="Articles-0.9.0"></a>
+## 0.9.0
+
+* [OpenEJB: EJB for Tomcat](http://www.onjava.com/pub/a/onjava/2003/02/12/ejb_tomcat.html)
+, by Jacek Laskowski, onjava.com
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/azure.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/azure.mdtext b/src/main/jbake/content/azure.mdtext
new file mode 100644
index 0000000..d65e025
--- /dev/null
+++ b/src/main/jbake/content/azure.mdtext
@@ -0,0 +1,5 @@
+Title: Azure
+<a name="Installation-Installation"></a>
+# Setting up Apache TomEE on Microsoft Azure
+
+This page will detail instructions to setup TomEE on Microsoft Azure

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/commercial-support.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/commercial-support.mdtext b/src/main/jbake/content/commercial-support.mdtext
new file mode 100755
index 0000000..82e4df6
--- /dev/null
+++ b/src/main/jbake/content/commercial-support.mdtext
@@ -0,0 +1,24 @@
+Title: Apache TomEE Commercial Support
+
+This page is dedicated to companies offering products and services around or including Apache TomEE.
+
+The Apache TomEE PMC does not endorse or recommend any of the products or services on this page.  We love all
+our supporters equally.
+
+Want to be added to this page?  [See here.](add-my-offering.html)
+
+### Tomitribe
+
+[Tomitribe](http://www.tomitribe.com) is a company created by several founding members of the Apache TomEE community
+with the mission of uniting businesses using TomEE with responsible and sustainable Open Source.  Our goal is to
+support both the community and fuel the success of business that rely TomEE with a complete set of consulting, training,
+and commercial support.
+
+[Join the tribe!](http://www.tomitribe.com)
+
+### ManageCat
+[ManageCat](http://managecat.com) is a cloud management and service platform for Apache Tomcat 
+and Apache TomEE servers. Involving with a lot of Apache Java EE projects, we want to transfer not 
+only our knowledge about Apache TomEE and also other Java EE technologies 
+including JPA, EJB, CDI, JSF, JSTL, JTA, JMS. We will help our customers to develop and deploy their 
+production based Java EE applications smoothly.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/comparison.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/comparison.mdtext b/src/main/jbake/content/comparison.mdtext
new file mode 100644
index 0000000..4f417b3
--- /dev/null
+++ b/src/main/jbake/content/comparison.mdtext
@@ -0,0 +1,219 @@
+Title: Comparison
+
+Apache OpenEJB and Apache TomEE are born from the same project and community.  They differ in two major ways, only one of them technical:
+
+ - TomEE incorporates two additional projects; Tomcat and MyFaces
+ - TomEE, as a name, more easily implies the breadth of technologies included
+
+Effectively, TomEE is a superset of OpenEJB.  They share the same code and TomEE grew out of OpenEJB.
+
+Note: this table is for TomEE 1.x, TomEE 7 comments are under it.
+
+<table>
+<tr>
+<th></th>
+<th>Tomcat</th>
+<th>TomEE</th>
+<th>TomEE JAX-RS (~ Microprofile)</th>
+<th>TomEE+</th>
+<th>TomEE PluME</th>
+<th>OpenEJB</th>
+</tr>
+
+<tr>
+<td>Java Servlets</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td></td>
+</tr>
+
+<tr>
+<td>Java ServerPages (JSP)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td></td>
+</tr>
+
+<tr>
+<td>Java ServerFaces (JSF)</td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td></td>
+</tr>
+
+<tr>
+<td>Java Transaction API (JTA)</td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java Persistence API (JPA)</td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java Contexts and Dependency Injection (CDI)</td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java Authentication and Authorization Service (JAAS)</td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java Authorization Contract for Containers (JACC)</td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>JavaMail API</td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Bean Validation</td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Enterprise JavaBeans</td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java API for RESTful Web Services (JAX-RS)</td>
+<td></td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java API for XML Web Services (JAX-WS)</td>
+<td></td>
+<td></td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java EE Connector Architecture</td>
+<td></td>
+<td></td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>Java Messaging Service (JMS)</td>
+<td></td>
+<td></td>
+<td></td>
+<td>(/)</td>
+<td>(/)</td>
+<td>(/)</td>
+</tr>
+
+<tr>
+<td>EclipseLink</td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td>(/)</td>
+<td></td>
+</tr>
+
+<tr>
+<td>Mojarra</td>
+<td></td>
+<td></td>
+<td></td>
+<td></td>
+<td>(/)</td>
+<td></td>
+</tr>
+
+</table>
+
+
+TomEE 7 targets JavaEE 7 and implements these specifications (in parenthesis the distibution(s) containing it if not part of the basic packages):
+
+* WebSocket JSR 356
+* JSON-P JSR 353
+* Servlet 3.1 JSR 340
+* JSF 2.2 JSR 344
+* EL 3.0 JSR 341
+* JSP 2.3 JSR 245
+* JSTL 1.2 JSR 52
+* JBatch (plus) JSR 352
+* Concurrency utilities for EE JSR 236
+* CDI 1.2, DI, Interceptors 1.2, Common Annotations JSR 346 + JSR 330 + JSR 318 + JSR 250
+* Bean Validation 1.1 JSR 349
+* EJB 3.2 JSR 345
+* JavaEE Connector JSR 322
+* JPA 2.1 JSR 338 (WARNING: openjpa based distributions provide a JPA 2.0 runtime)
+* JMS 2.0 JSR 343 (layer based on ActiveMQ 5 / JMS 1.1 for default distributions)
+* JTA 1.2 JSR 907
+* Javamail 1.4 (NOTE: EE 7 requires 1.5)
+* JAX-RS 2.0 JSR 339
+* JAX-WS 2.2 JSR 224
+* JAXB 2.2 JSR 222
+* and more inherited from TomEE 1/JavaEE 6
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/concepts.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/concepts.mdtext b/src/main/jbake/content/concepts.mdtext
new file mode 100644
index 0000000..dba6d33
--- /dev/null
+++ b/src/main/jbake/content/concepts.mdtext
@@ -0,0 +1,75 @@
+Title: Concepts
+OpenEJB was founded on the idea that it would be embedded into third-party
+environments whom would likely already have three things:
+
+ - their one "server" platform with existing clients and protocols
+ - their own way to configure their platform
+ - existing services like TransactionManager, Security, and Connector
+
+Thus the focus of OpenEJB was to create an EJB implementation that would be
+easily embeddible, configurable, and customizable.  
+
+Part of achieving that is a drive to be as simple as possible as to not
+over-define and therefore restrict the ability to be embeddible,
+configurable and customizable.	Smaller third-party environments could
+easily 'downscale' OpenEJB in their integrations by replacing standard
+components with lighter implementations or removing them all together and
+larger environments could 'upscale' OpenEJB by replacing and adding heavier
+implementations of those standard components likely tailored to their
+systems and infrastructure.
+
+Container and Server are mentioned in the EJB spec as being separate things
+but are never defined formally.  In our world Containers, which implement
+the basic component contract and lifecycle of a bean are not coupled to any
+particular Server, which has the job of providing a naming service and
+providing a way for it's clients to reference and invoke components (beans)
+hosted in Containers.  Because Containers have no dependence at all only
+Server, you can run OpenEJB without any Server at all in an embedded
+environment for example without any work or any extra overhead.  Similarly
+you can add as many new Server components as you want without ever having
+to modify any Containers.
+
+There is a very strong pluggability focus in OpenEJB as it was always
+intended to be embedded and customized in other environments.  As a result
+all Containers are pluggable, isolated from each other, and no one
+Container is bound to another Container and therefore removing or adding a
+Container has no repercussions on the other Containers in the system. 
+TransactionManager, SecurityService and Connector also pluggable and are
+services exposed to Containers.  A Container may not be dependent on
+specific implementations of those services.  Service Providers define what
+services they are offering (Container, Connector, Security, Transaction,
+etc.) in a file they place in their jar called service-jar.xml.  
+
+The service-jar.xml should be placed not in the META-INF but somewhere in
+your package hierarchy (ours is in /org/apache/openejb/service-jar.xml)
+which allows the services in your service-jar.xml to be referenced by name
+(such as DefaultStatefulContainer) or more specifically by package and id
+(such as org.apache.openejb#DefaultStatefulContainer).	
+
+The same implementation of a service can be declared several times in a
+service-jar.xml with different ids.  This allows for you to setup several
+several different profiles or pre-configured versions of the services you
+provide each with a different name and different set of default values for
+its properties.  
+
+In your openejb.conf file when you declare Containers and Connectors, we
+are actually hooking you up with Service Providers automatically.  You get
+what is in the org/apache/openejb/service-jar.xml by default, but you are
+able to point specifically to a specific Service Provider by the 'provider'
+attribute on the Container, Connector, TransactionManager, SecurityService,
+etc. elements of the openejb.conf file.  When you declare a service
+(Container, Connector, etc.) in your openejb.conf file the properties you
+supply override the properties supplied by the Service Provider, thus you
+only need to specify the properties you'd like to change and can have your
+openejb.conf file as large or as small as you would like it.  The act of
+doing this can be thought of as essentially instantiating the Service
+Provider and configuring that instance for inclusion in the runtime system. 
+
+For example Container(id=NoTimeoutStatefulContainer,
+provider=DefaultStatefulContainer) could be declared with it's Timeout
+property set to 0 for never, and a
+Container(id=ShortTimeoutStatefulContainer,
+provider=DefaultStatefulContainer) could be declared with it's Timeout
+property set to 15 minutes.  Both would be instances of the
+DefaultStatefulContainer Service Provider which is a service of type
+Container.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/contribute.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/contribute.mdtext b/src/main/jbake/content/contribute.mdtext
new file mode 100644
index 0000000..f6f3495
--- /dev/null
+++ b/src/main/jbake/content/contribute.mdtext
@@ -0,0 +1,199 @@
+Title: Contributing
+
+Contributing to the project is a great way to support the community.  Some great links for getting involved
+
+- [Source Code](dev/source-code.html)
+- [Contribution Tips](dev/contribution-tips.html)
+- [Developer Documentation](dev/index.html)
+
+###Contributing doesn't always mean code.
+If you love the project and want to see it grow, follow it on Facebook and Twitter.
+
+- [http://twitter.com/ApacheTomEE](http://twitter.com/ApacheTomEE)
+- [http://facebook.com/ApacheTomEE](http://facebook.com/ApacheTomEE)
+- [https://plus.google.com/118203123063829126066](https://plus.google.com/118203123063829126066)
+
+The more people we reach the more the project grows.
+
+ - Become an active retweeter  
+   <a onclick="javascript:twshare()" class="tw-share sprite" title="share on Twitter">share [tw]</a>
+ - Share pages you like on Facebook  
+   <a onclick="javascript:fbshare()" class="fb-share sprite" title="share on Facebook">share [fb]</a>
+ - Share pages you like on Google+  
+   <a onclick="javascript:gpshare()" class="gp-share sprite" title="share on Google+">share [gp]</a>
+ - Share pages you like on Pinterest  
+   <a onclick="javascript:pinshare()" class="pin-share sprite" title="Share on Pinterest">share [pin]</a>
+
+Doing these things as often as possible are simple and powerful ways to help.  Do your part and watch the project grow grow grow!
+
+###Edit This Site
+Top right, next to the Twitter symbol, there is an edit symbol <a data-toggle="modal" href="#edit" class="edit-page" title="Contribute to this Page">contribute</a>. Most of the pages on this site can be edited by you. If you find a spelling mistake, or just want to improve the documentation then please do!
+
+If you want to edit the [Examples Documentation](examples-trunk/index.html) then check-out the [Source Code](dev/source-code.html) and edit or create the README.md in the example directory you want to improve.
+
+###Committers
+
+<TABLE><TBODY>
+<TR>
+<TD> <A href="mailto:adc@apache.org" rel="nofollow">Alan Cabrera</A> </TD>
+<TD> Committer, PMC </TD>
+<TD> <A href="http://people.apache.org/~adc" rel="nofollow">adc</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?adc" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:ammulder@apache.org" rel="nofollow">Aaron Mulder</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~ammulder" rel="nofollow">ammulder</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?ammulder" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:andygumbrecht@apache.org" rel="nofollow">Andrew Gumbrecht</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~andygumbrecht" rel="nofollow">andygumbrecht</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?andygumbrecht" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:dain@apache.org" rel="nofollow">Dain Sundstrom</A> </TD>
+<TD> Committer, PMC </TD>
+<TD> <A href="http://people.apache.org/~dain" rel="nofollow">dain</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?dain" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:dblevins@apache.org" rel="nofollow">David Blevins</A> </TD>
+<TD> Founder, Chair </TD>
+<TD> <A href="http://people.apache.org/~dblevins" rel="nofollow">dblevins</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?dblevins" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:djencks@apache.org" rel="nofollow">David Jencks</A> </TD>
+<TD> Committer, PMC </TD>
+<TD> <A href="http://people.apache.org/~djencks" rel="nofollow">djencks</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?djencks" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:dsh@apache.org" rel="nofollow">Daniel Stefan Haischt</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~dsh" rel="nofollow">dsh</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?dsh" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:gawor@apache.org" rel="nofollow">Jarek Gawor</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~gawor" rel="nofollow">gawor</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?gawor" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:gdamour@apache.org" rel="nofollow">Gianny Damour</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~gdamour" rel="nofollow">gdamour</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?gdamour" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:genspring@apache.org" rel="nofollow">Lin Quan Jiang</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~genspring" rel="nofollow">genspring</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?genspring" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:hogstrom@apache.org" rel="nofollow">Matt Richard Hogstrom</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~hogstrom" rel="nofollow">hogstrom</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?hogstrom" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:jgallimore@apache.org" rel="nofollow">Jonathan Gallimore</A> </TD>
+<TD> Committer, PMC </TD>
+<TD> <A href="http://people.apache.org/~jgallimore" rel="nofollow">jgallimore</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?jgallimore" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:jgenender@apache.org" rel="nofollow">Jeff Genender</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~jgenender" rel="nofollow">jgenender</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?jgenender" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:jlaskowski@apache.org" rel="nofollow">Jacek Laskowski</A> </TD>
+<TD> Committer, PMC </TD>
+<TD> <A href="http://people.apache.org/~jlaskowski" rel="nofollow">jlaskowski</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?jlaskowski" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:jlmonteiro@apache.org" rel="nofollow">Jean-Louis Monteiro</A> </TD>
+<TD> Committer, PMC </TD>
+<TD> <A href="http://people.apache.org/~jlmonteiro" rel="nofollow">jlmonteiro</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?jlmonteiro" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:jvanzyl@apache.org" rel="nofollow">Jason van Zyl</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~jvanzyl" rel="nofollow">jvanzyl</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?jvanzyl" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:jwhitlock@apache.org" rel="nofollow">Jeremy Whitlock</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~jwhitlock" rel="nofollow">jwhitlock</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?jwhitlock" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:kevan@apache.org" rel="nofollow">Kevan Lee Miller</A> </TD>
+<TD> Committer, PMC </TD>
+<TD> <A href="http://people.apache.org/~kevan" rel="nofollow">kevan</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?kevan" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:kmalhi@apache.org" rel="nofollow">Karan Singh Malhi</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~kmalhi" rel="nofollow">kmalhi</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?kmalhi" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:lajos@apache.org" rel="nofollow">Lajos Moczar</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~lajos" rel="nofollow">lajos</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?lajos" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:manugeorge@apache.org" rel="nofollow">Manu George</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~manugeorge" rel="nofollow">manugeorge</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?manugeorge" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:struberg@apache.org" rel="nofollow">Mark Struberg</A> </TD>
+<TD> Committer, PMC </TD>
+<TD> <A href="http://people.apache.org/~struberg" rel="nofollow">struberg</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?struberg" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:mnour@apache.org" rel="nofollow">Mohammad Nour El-Din</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~mnour" rel="nofollow">mnour</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?mnour" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:rickmcguire@apache.org" rel="nofollow">Richard McGuire</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~rickmcguire" rel="nofollow">rickmcguire</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?rickmcguire" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:rmannibucau@apache.org" rel="nofollow">Romain Manni-Bucau</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~rmannibucau" rel="nofollow">rmannibucau</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?rmannibucau" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:tveronezi@apache.org" rel="nofollow">Thiago Veronezi</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~tveronezi" rel="nofollow">tveronezi</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?tveronezi" rel="nofollow">map</A></TD>
+</TR>
+<TR>
+<TD> <A href="mailto:xuhaihong@apache.org" rel="nofollow">Haihong Xu</A> </TD>
+<TD> Committer </TD>
+<TD> <A href="http://people.apache.org/~xuhaihong" rel="nofollow">xuhaihong</A> </TD>
+<TD> <A href="http://people.apache.org/map.html?xuhaihong" rel="nofollow">map</A></TD>
+</TR>
+</TBODY></TABLE>

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/april2008.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/april2008.mdtext b/src/main/jbake/content/dev/april2008.mdtext
new file mode 100644
index 0000000..74bdffa
--- /dev/null
+++ b/src/main/jbake/content/dev/april2008.mdtext
@@ -0,0 +1,31 @@
+Title: April2008
+The highlight of early February was the release of OpenEJB 3.0 beta 2 which
+was very well received and triggered another small increase in overall
+users@openejb.a.o traffic.  We've also seen some encouraging growth signs
+we haven't seen for quite a while: users answering each other's questions;
+first time posters saying "we've added this feature, do you want it?"; more
+questions answerable with documentation links; random new faces on IRC.
+
+Work on OpenEJB 3.0 final began towards the end of February with the first
+binaries up for vote on March 11th.  Some wonderful feedback on both the
+dev and users list revealed some critical technical issues with those
+binaries and the vote was cancelled so that the issues could be fixed. 
+Several members of the community went the extra mile to help get issues
+fixed and the release out the door.  After steady stream of bug fixes,
+legal file maintenance, and a few more aborted votes, the long anticipated
+OpenEJB 3.0 Final was released April 12th.  The binaries proposed a month
+prior pale in comparison to the binaries eventually released and we are all
+very pleased with the quality of the 3.0 final.  We are very excited to see
+what kind of a splash 3.0 will make and expect a 3.0.1 will be required
+soon.
+
+The work contributor Jonathan Gallimore has been doing with an OpenEJB
+Eclipse plugin has taken root with other developers in the community and
+development naturally changed from code drops to frequent patches and
+discussion.  A big thank you to committer Daniel Haischt for contributing
+to the Eclipse plugin and giving Jonathan someone to work with and the
+opportunity to demonstrate his collaborative skills.  A bigger thank you to
+Jonathan for his patience.
+
+
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/april2009.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/april2009.mdtext b/src/main/jbake/content/dev/april2009.mdtext
new file mode 100644
index 0000000..b2b3d26
--- /dev/null
+++ b/src/main/jbake/content/dev/april2009.mdtext
@@ -0,0 +1,32 @@
+Title: April2009
+A patch release of OpenEJB 3.0 (3.0.1) was released with fixes aimed to
+support the Geronimo 2.1.4 release.  Talk has started on a release of the
+current 3.1 branch (to be OpenEJB 3.1.1), which already contains several
+fixes and improvements over the 3.1 version released in November.
+
+List traffic has continued to increase.  In Q1 2008 traffic averaged 63 messages per month.  In Q1 2009 the average is 133 per month.  This resulted in occasional delays in response times due to bursts of requests.  At a particularly heavier burst one user complained in an email titled, "Thank you for not supporting me in any way."  This proved to be an overall positive event as it provided an opportunity to reset expectations, get everyone behind the project, and resulted in a generous increase of participation from users and committers alike[1](1.html)
+.  Ultimately it was just what we needed.
+
+Jean-Louis Monteiro has been contributing some good patches and time on the
+user list and proving to be a good potential committer.  His activity is
+primarily around web services which is one area where can certainly use the
+expertise.  His participation is greatly appreciated and we look forward to
+continued contribution.
+
+Discussions have opened up with OpenWebBeans on providing them with the
+tools they need to support their own OpenEJB integration in efforts to
+complete the JSR-299 specification.  The JSR-299 itself is currently very
+unstable and major changes to the core of the specification, requested by
+the Java EE 6 (JSR-316) EG, are planned to address overlap with other
+specifications like JSF and EJB.  These will certainly provide some
+challenges as the specification is rebalanced.
+
+Several users have recently pointed out a possible incompatibly in regards
+to the handling of business remote interfaces also marked as a web service
+interface.  The issue has been raised on the EJB 3.1 (JSR-318) EG. 
+Regardless of the outcome, support for that feature is planned.
+
+[1](1.html)
+
+http://mail-archives.apache.org/mod_mbox/openejb-users/200902.mbox/%3c98A91BE3-4ACC-4D86-AE19-4CD4A202E1CD@visi.com%3e
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/arquillian-test-porting-initiative.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/arquillian-test-porting-initiative.mdtext b/src/main/jbake/content/dev/arquillian-test-porting-initiative.mdtext
new file mode 100644
index 0000000..ed3e44b
--- /dev/null
+++ b/src/main/jbake/content/dev/arquillian-test-porting-initiative.mdtext
@@ -0,0 +1,76 @@
+Title: Arquillian Test Porting Initiative
+
+First things, first.  You can contribute your ideas by clicking the blue pencile icon in the upper right.  Edit this page and help shape the initiative!
+
+# Unite the Armies to fight the Bugs!
+
+Testing is the most crucial part of any project.  A project that incorporates as much functionality as TomEE does needs a *lot* of tests.
+
+There's a saying that if it isn't documented it doesn't exist.  Likely more true is that if it isn't tested it it might as well not exist,
+documentation or not.
+
+The simple truth is many of the critical tests that apply to functionality in TomEE actuall exist, but are spread across the numberous projects
+that TomEE incorporates.  Just as TomEE is about unifying and integrating all these projects together, the same vision and initative
+must be given into unifying and integrating all these tests.
+
+If we could port them all to a common testing framework like Arquillian and consolidate them all into one codebase, the result would be nothing short
+of a marvel.  An unparalleled feat.
+
+Such a thing has never been done at the ASF.  Be ready to blaze some trails and be a pioneer.
+
+# The Kingdoms
+
+There are far more than 3,000 test classes we could port across the various projects, each using it's own flavor of home-made setup code.
+The coverage is also not what you'd expect.
+
+ - Activemq 1281
+ - CXF 979
+ - TomEE 802
+ - OpenEJB 215
+ - MyFaces 171
+ - OpenWebBeans 165
+ - Bval 56
+ - OpenJPA 33
+ - Tomcat 20
+
+The above results are no dount eye-opening.  In all fairness, the projects with so few test are not as "untested" as they appear, they simply rely more heavily
+on the proprietary Java EE TCK which is closed source.  This is adequate, but not fantastic.  **An open source project should have open tests.**
+
+# Generals Needed
+
+This is no small feet.  With over 3,000 tests porting them all is not realistc.  If we had 10 people working full time, that's till 300 tests each person
+would need to port.  This simply is not realistic.  More realistic would be for a person to port say 10 tests before they get an injury and need to leave the
+battlefield with hopes of joining the glorious fight another day -- aka. they get busy :)
+
+Even with 300 people each contributing 10 tests each, it's still quite a lot of patches for a small team to apply.  Organizing 300 people and shaping an initiative
+like this is als no small feat.  What we need are Generals.  Individuals to survey the land and plan attacks with small groups of soldiers.
+
+Porting 50 tests yourself is impressive.  Leading the charge on 500 tests being ported is astonishing.
+
+# Early stage
+
+The tests in question are located more or less here:
+
+ - svn co http://svn.apache.org/repos/asf/activemq/trunk
+ - svn co http://svn.apache.org/repos/asf/bval/trunk
+ - svn co http://svn.apache.org/repos/asf/cxf/trunk
+ - svn co http://svn.apache.org/repos/asf/myfaces/core/trunk
+ - svn co http://svn.apache.org/repos/asf/tomee/tomee/trunk/itests
+ - svn co http://svn.apache.org/repos/asf/openjpa/branches/2.2.x
+ - svn co http://svn.apache.org/repos/asf/openwebbeans/trunk
+ - svn co http://svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk
+
+While not part of TomEE, Wink has some wonderful JAX-RS tests we could use:
+
+ - svn co http://svn.apache.org/repos/asf/wink/trunk
+
+At this stage there's still quite a lot of information needed to mobilize the troops.  How to write Arquillian tests, which tests are most important, how should
+they be divided?
+
+The call goes out to all you would-be Generals!
+
+Any mode of cooperation is acceptable.  Discussions on the `dev (at) tomee.apache.org` list welcome.  This document can be edited by anyone.  As well there's a
+JIRA we can use to move the discussion along:
+
+ - https://issues.apache.org/jira/browse/TOMEE-746
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/asf.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/asf.mdtext b/src/main/jbake/content/dev/asf.mdtext
new file mode 100644
index 0000000..f8fab48
--- /dev/null
+++ b/src/main/jbake/content/dev/asf.mdtext
@@ -0,0 +1,24 @@
+Title: ASF
+ASF Board meetings are the third Wednesday of each month:
+
+Reports must be filed monthly for the first three months after Incubation:
+
+ - [June 18, 2007](june2007.html)
+ - [July 16, 2007](july2007.html)
+ - [August 13, 2007](august2007.html)
+
+Then quarterly after that starting the month after:
+
+ - [October 15, 2007](october2007.html)
+ - [January 14, 2008](january2008.html)
+ - [April 14, 2008](april2008.html)
+ - [July 14, 2008](july2008.html)
+ - [October 13, 2008](october2008.html)
+ - [January 19, 2009](january2009.html)
+ - [April 13, 2009](april2009.html)
+ - [July 13, 2009](july2009.html)
+ - [October 21, 2009](october2009.html)
+ - [January 20, 2010](january2010.html)
+ - [April 21, 2010](april2010.html)
+ - [July 21, 2010](july2010.html)
+ - [October 20, 2010](october2010.html)

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/august2007.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/august2007.mdtext b/src/main/jbake/content/dev/august2007.mdtext
new file mode 100644
index 0000000..fa8753e
--- /dev/null
+++ b/src/main/jbake/content/dev/august2007.mdtext
@@ -0,0 +1,18 @@
+Title: August2007
+Work on the OpenEJB 3.0 release is coming to a close. Documentation remains
+the largest outstanding item. A complete audit of all documentation was
+completed and concrete steps to improve it were detailed.  Progress on
+updating the out-of-date documentation has already been made.
+
+The usability of the codebase has matured significantly through many
+contributions from the community and very little remains to be completed in
+that regard.
+
+Developer activity is up. We are delighted to have voted in a dedicated
+contributor, Karan Malhi, as a new committer and he has proudly excepted.
+No CLA is on file yet.
+
+User list activity overall remains low, though some new faces have started
+to pop up whom we are hoping can provide us with some good pre-release
+feedback.  We hoping to see a measurable increase in user list activity
+post release.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/building-from-source.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/building-from-source.mdtext b/src/main/jbake/content/dev/building-from-source.mdtext
new file mode 100644
index 0000000..b6c28f4
--- /dev/null
+++ b/src/main/jbake/content/dev/building-from-source.mdtext
@@ -0,0 +1,44 @@
+Title: Building from source
+<a name="Buildingfromsource-Buildingfromsource"></a>
+# Building from source
+
+<a name="Buildingfromsource-Checkingoutthesource"></a>
+### Checking out the source
+
+To checkout the source, run this command with your subversion client.
+
+
+      svn checkout
+https://svn.apache.org/repos/asf/openejb/trunk/openejb-eclipse-plugin
+openejb-eclipse-plugin
+
+
+<a name="Buildingfromsource-Buildingthesource"></a>
+### Building the source
+
+To build the plugin you will need Maven (the build has been tested with
+Maven 2.0.7). To run the build, issue this command
+
+      mvn -Dassemble clean install
+
+
+You should be aware that this will download any dependencies, including a
+copy of Eclipse. This will take a while for your first build.
+
+<a name="Buildingfromsource-ImportingtheplugincodeintoanEclipseworkspace"></a>
+### Importing the plugin code into an Eclipse workspace
+
+You can generate the Eclipse projects for the plugins by running the
+following command
+
+
+      mvn eclipse:clean eclipse:eclipse
+
+
+You can add the M2_REPO classpath variable to your Eclipse workspace by
+running the following command
+
+
+      mvn -Declipse.workspace=<path-to-eclipse-workspace>
+eclipse:add-maven-repo
+


[17/34] tomee-site-generator git commit: Remove out-dated examples They are now pulled in dynamically

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/dynamic-dao-implementation.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/dynamic-dao-implementation.adoc b/src/main/jbake/content/examples/dynamic-dao-implementation.adoc
deleted file mode 100755
index 40b7a96..0000000
--- a/src/main/jbake/content/examples/dynamic-dao-implementation.adoc
+++ /dev/null
@@ -1,384 +0,0 @@
-= Dynamic DAO Implementation
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example dynamic-dao-implementation can be browsed at https://github.com/apache/tomee/tree/master/examples/dynamic-dao-implementation
-
-
-Many aspects of Data Access Objects (DAOs) are very repetitive and boiler plate.  As a fun and experimental feature, TomEE supports dynamically implementing an interface
-that is seen to have standard DAO-style methods.
-
-The interface has to be annotated with @PersistenceContext to define which EntityManager to use.
-
-Methods should respect these conventions:
-
-  * void save(Foo foo): persist foo
-  * Foo update(Foo foo): merge foo
-  * void delete(Foo foo): remove foo, if foo is detached it tries to attach it
-  * Collection<Foo>|Foo namedQuery(String name[, Map<String, ?> params, int first, int max]): run the named query called name, params contains bindings, first and max are used for magination. Last three parameters are optionnals
-  * Collection<Foo>|Foo nativeQuery(String name[, Map<String, ?> params, int first, int max]): run the native query called name, params contains bindings, first and max are used for magination. Last three parameters are optionnals
-  * Collection<Foo>|Foo query(String value [, Map<String, ?> params, int first, int max]): run the query put as first parameter, params contains bindings, first and max are used for magination. Last three parameters are optionnals
-  * Collection<Foo> findAll([int first, int max]): find all Foo, parameters are used for pagination
-  * Collection<Foo> findByBar1AndBar2AndBar3(<bar 1 type> bar1, <bar 2 type> bar2, <bar3 type> bar3 [, int first, int max]): find all Foo with specified field values for bar1, bar2, bar3.
-
-Dynamic finder can have as much as you want field constraints. For String like is used and for other type equals is used.
-
-=  Example
-
-==  User
-
-
-[source,java]
-----
-package org.superbiz.dynamic;
-
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.Id;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-
-@Entity
-@NamedQueries({
-        @NamedQuery(name = "dynamic-ejb-impl-test.query", query = "SELECT u FROM User AS u WHERE u.name LIKE :name"),
-        @NamedQuery(name = "dynamic-ejb-impl-test.all", query = "SELECT u FROM User AS u")
-})
-public class User {
-    @Id
-    @GeneratedValue
-    private long id;
-    private String name;
-    private int age;
-
-    public long getId() {
-        return id;
-    }
-
-    public void setId(long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public int getAge() {
-        return age;
-    }
-
-    public void setAge(int age) {
-        this.age = age;
-    }
-}
-----
-
-
-==  UserDao
-
-
-[source,java]
-----
-package org.superbiz.dynamic;
-
-
-import javax.ejb.Stateless;
-import javax.persistence.PersistenceContext;
-import java.util.Collection;
-import java.util.Map;
-
-@Stateless
-@PersistenceContext(name = "dynamic")
-public interface UserDao {
-    User findById(long id);
-
-    Collection<User> findByName(String name);
-
-    Collection<User> findByNameAndAge(String name, int age);
-
-    Collection<User> findAll();
-
-    Collection<User> findAll(int first, int max);
-
-    Collection<User> namedQuery(String name, Map<String, ?> params, int first, int max);
-
-    Collection<User> namedQuery(String name, int first, int max, Map<String, ?> params);
-
-    Collection<User> namedQuery(String name, Map<String, ?> params);
-
-    Collection<User> namedQuery(String name);
-
-    Collection<User> query(String value, Map<String, ?> params);
-
-    void save(User u);
-
-    void delete(User u);
-
-    User update(User u);
-}
-----
-
-
-==  persistence.xml
-
-
-[source,xml]
-----
-<persistence version="2.0"
-             xmlns="http://java.sun.com/xml/ns/persistence"
-             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-             xsi:schemaLocation="
-      http://java.sun.com/xml/ns/persistence
-      http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
-  <persistence-unit name="dynamic" transaction-type="JTA">
-    <jta-data-source>jdbc/dynamicDB</jta-data-source>
-    <class>org.superbiz.dynamic.User</class>
-    <properties>
-      <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
-    </properties>
-  </persistence-unit>
-</persistence>
-----
-
-    
-
-==  DynamicUserDaoTest
-
-
-[source,java]
-----
-package org.superbiz.dynamic;
-
-import junit.framework.Assert;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.ejb.EJBException;
-import javax.ejb.Stateless;
-import javax.ejb.embeddable.EJBContainer;
-import javax.naming.Context;
-import javax.persistence.EntityManager;
-import javax.persistence.NoResultException;
-import javax.persistence.PersistenceContext;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import static junit.framework.Assert.assertEquals;
-import static junit.framework.Assert.assertNotNull;
-import static junit.framework.Assert.assertTrue;
-
-public class DynamicUserDaoTest {
-    private static UserDao dao;
-    private static Util util;
-
-    @BeforeClass
-    public static void init() throws Exception {
-        final Properties p = new Properties();
-        p.put("jdbc/dynamicDB", "new://Resource?type=DataSource");
-        p.put("jdbc/dynamicDB.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("jdbc/dynamicDB.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-        p.put("jdbc/dynamicDB.UserName", "sa");
-        p.put("jdbc/dynamicDB.Password", "");
-
-        final Context context = EJBContainer.createEJBContainer(p).getContext();
-        dao = (UserDao) context.lookup("java:global/dynamic-dao-implementation/UserDao");
-        util = (Util) context.lookup("java:global/dynamic-dao-implementation/Util");
-
-        util.init(); // init database
-    }
-
-    @Test
-    public void simple() {
-        User user = dao.findById(1);
-        assertNotNull(user);
-        assertEquals(1, user.getId());
-    }
-
-    @Test
-    public void findAll() {
-        Collection<User> users = dao.findAll();
-        assertEquals(10, users.size());
-    }
-
-    @Test
-    public void pagination() {
-        Collection<User> users = dao.findAll(0, 5);
-        assertEquals(5, users.size());
-
-        users = dao.findAll(6, 1);
-        assertEquals(1, users.size());
-        assertEquals(7, users.iterator().next().getId());
-    }
-
-    @Test
-    public void persist() {
-        User u = new User();
-        dao.save(u);
-        assertNotNull(u.getId());
-        util.remove(u);
-    }
-
-    @Test
-    public void remove() {
-        User u = new User();
-        dao.save(u);
-        assertNotNull(u.getId());
-        dao.delete(u);
-        try {
-            dao.findById(u.getId());
-            Assert.fail();
-        } catch (EJBException ee) {
-            assertTrue(ee.getCause() instanceof NoResultException);
-        }
-    }
-
-    @Test
-    public void merge() {
-        User u = new User();
-        u.setAge(1);
-        dao.save(u);
-        assertEquals(1, u.getAge());
-        assertNotNull(u.getId());
-
-        u.setAge(2);
-        dao.update(u);
-        assertEquals(2, u.getAge());
-
-        dao.delete(u);
-    }
-
-    @Test
-    public void oneCriteria() {
-        Collection<User> users = dao.findByName("foo");
-        assertEquals(4, users.size());
-        for (User user : users) {
-            assertEquals("foo", user.getName());
-        }
-    }
-
-    @Test
-    public void twoCriteria() {
-        Collection<User> users = dao.findByNameAndAge("bar-1", 1);
-        assertEquals(1, users.size());
-
-        User user = users.iterator().next();
-        assertEquals("bar-1", user.getName());
-        assertEquals(1, user.getAge());
-    }
-
-    @Test
-    public void query() {
-        Map<String, Object> params = new HashMap<String, Object>();
-        params.put("name", "foo");
-
-        Collection<User> users = dao.namedQuery("dynamic-ejb-impl-test.query", params, 0, 100);
-        assertEquals(4, users.size());
-
-        users = dao.namedQuery("dynamic-ejb-impl-test.query", params);
-        assertEquals(4, users.size());
-
-        users = dao.namedQuery("dynamic-ejb-impl-test.query", params, 0, 2);
-        assertEquals(2, users.size());
-
-        users = dao.namedQuery("dynamic-ejb-impl-test.query", 0, 2, params);
-        assertEquals(2, users.size());
-
-        users = dao.namedQuery("dynamic-ejb-impl-test.all");
-        assertEquals(10, users.size());
-
-        params.remove("name");
-        params.put("age", 1);
-        users = dao.query("SELECT u FROM User AS u WHERE u.age = :age", params);
-        assertEquals(3, users.size());
-    }
-
-    @Stateless
-    public static class Util {
-        @PersistenceContext
-        private EntityManager em;
-
-        public void remove(User o) {
-            em.remove(em.find(User.class, o.getId()));
-        }
-
-        public void init() {
-            for (int i = 0; i < 10; i++) {
-                User u = new User();
-                u.setAge(i % 4);
-                if (i % 3 == 0) {
-                    u.setName("foo");
-                } else {
-                    u.setName("bar-" + i);
-                }
-                em.persist(u);
-            }
-        }
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.dynamic.DynamicUserDaoTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/dynamic-dao-implementation
-INFO - openejb.base = /Users/dblevins/examples/dynamic-dao-implementation
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=jdbc/dynamicDB, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/dynamic-dao-implementation/target/classes
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/dynamic-dao-implementation/target/test-classes
-INFO - Beginning load: /Users/dblevins/examples/dynamic-dao-implementation/target/classes
-INFO - Beginning load: /Users/dblevins/examples/dynamic-dao-implementation/target/test-classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/dynamic-dao-implementation
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean UserDao: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.dynamic.DynamicUserDaoTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=dynamic)
-INFO - Auto-creating a Resource with id 'jdbc/dynamicDBNonJta' of type 'DataSource for 'dynamic'.
-INFO - Configuring Service(id=jdbc/dynamicDBNonJta, type=Resource, provider-id=jdbc/dynamicDB)
-INFO - Adjusting PersistenceUnit dynamic <non-jta-data-source> to Resource ID 'jdbc/dynamicDBNonJta' from 'null'
-INFO - Enterprise application "/Users/dblevins/examples/dynamic-dao-implementation" loaded.
-INFO - Assembling app: /Users/dblevins/examples/dynamic-dao-implementation
-INFO - PersistenceUnit(name=dynamic, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 417ms
-INFO - Jndi(name="java:global/dynamic-dao-implementation/UserDao!org.superbiz.dynamic.UserDao")
-INFO - Jndi(name="java:global/dynamic-dao-implementation/UserDao")
-INFO - Jndi(name="java:global/dynamic-dao-implementation/Util!org.superbiz.dynamic.DynamicUserDaoTest$Util")
-INFO - Jndi(name="java:global/dynamic-dao-implementation/Util")
-INFO - Jndi(name="java:global/EjbModule346613126/org.superbiz.dynamic.DynamicUserDaoTest!org.superbiz.dynamic.DynamicUserDaoTest")
-INFO - Jndi(name="java:global/EjbModule346613126/org.superbiz.dynamic.DynamicUserDaoTest")
-INFO - Created Ejb(deployment-id=UserDao, ejb-name=UserDao, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=Util, ejb-name=Util, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.dynamic.DynamicUserDaoTest, ejb-name=org.superbiz.dynamic.DynamicUserDaoTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=UserDao, ejb-name=UserDao, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=Util, ejb-name=Util, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.dynamic.DynamicUserDaoTest, ejb-name=org.superbiz.dynamic.DynamicUserDaoTest, container=Default Managed Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/dynamic-dao-implementation)
-WARN - Meta class "org.superbiz.dynamic.User_" for entity class org.superbiz.dynamic.User can not be registered with following exception "java.security.PrivilegedActionException: java.lang.ClassNotFoundException: org.superbiz.dynamic.User_"
-WARN - Query "SELECT u FROM User AS u WHERE u.name LIKE :name" is removed from cache  excluded permanently. Query "SELECT u FROM User AS u WHERE u.name LIKE :name" is not cached because it uses pagination..
-Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.471 sec
-
-Results :
-
-Tests run: 9, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/dynamic-datasource-routing.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/dynamic-datasource-routing.adoc b/src/main/jbake/content/examples/dynamic-datasource-routing.adoc
deleted file mode 100755
index 8b7a76e..0000000
--- a/src/main/jbake/content/examples/dynamic-datasource-routing.adoc
+++ /dev/null
@@ -1,473 +0,0 @@
-= Dynamic Datasource Routing
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example dynamic-datasource-routing can be browsed at https://github.com/apache/tomee/tree/master/examples/dynamic-datasource-routing
-
-
-The TomEE dynamic datasource api aims to allow to use multiple data sources as one from an application point of view.
-
-It can be useful for technical reasons (load balancing for example) or more generally
-functionnal reasons (filtering, aggregation, enriching...). However please note you can choose
-only one datasource by transaction. It means the goal of this feature is not to switch more than
-once of datasource in a transaction. The following code will not work:
-
-
-[source,java]
-----
-@Stateless
-public class MyEJB {
-    @Resource private MyRouter router;
-    @PersistenceContext private EntityManager em;
-
-    public void workWithDataSources() {
-        router.setDataSource("ds1");
-        em.persist(new MyEntity());
-
-        router.setDataSource("ds2"); // same transaction -> this invocation doesn't work
-        em.persist(new MyEntity());
-    }
-}
-----
-
-
-In this example the implementation simply use a datasource from its name and needs to be set before using any JPA
-operation in the transaction (to keep the logic simple in the example).
-
-=  The implementation of the Router
-
-Our router has two configuration parameters:
-* a list of jndi names representing datasources to use
-* a default datasource to use
-
-==  Router implementation
-
-The interface Router (`org.apache.openejb.resource.jdbc.Router`) has only one method to implement, `public DataSource getDataSource()`
-
-Our `DeterminedRouter` implementation uses a ThreadLocal to manage the currently used datasource. Keep in mind JPA used more than once the getDatasource() method
-for one operation. To change the datasource in one transaction is dangerous and should be avoid.
-
-
-[source,java]
-----
-package org.superbiz.dynamicdatasourcerouting;
-
-import org.apache.openejb.resource.jdbc.AbstractRouter;
-
-import javax.naming.NamingException;
-import javax.sql.DataSource;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-public class DeterminedRouter extends AbstractRouter {
-    private String dataSourceNames;
-    private String defaultDataSourceName;
-    private Map<String, DataSource> dataSources = null;
-    private ThreadLocal<DataSource> currentDataSource = new ThreadLocal<DataSource>();
-
-    /**
-     * @param datasourceList datasource resource name, separator is a space
-     */
-    public void setDataSourceNames(String datasourceList) {
-        dataSourceNames = datasourceList;
-    }
-
-    /**
-     * lookup datasource in openejb resources
-     */
-    private void init() {
-        dataSources = new ConcurrentHashMap<String, DataSource>();
-        for (String ds : dataSourceNames.split(" ")) {
-            try {
-                Object o = getOpenEJBResource(ds);
-                if (o instanceof DataSource) {
-                    dataSources.put(ds, DataSource.class.cast(o));
-                }
-            } catch (NamingException e) {
-                // ignored
-            }
-        }
-    }
-
-    /**
-     * @return the user selected data source if it is set
-     *         or the default one
-     *  @throws IllegalArgumentException if the data source is not found
-     */
-    @Override
-    public DataSource getDataSource() {
-        // lazy init of routed datasources
-        if (dataSources == null) {
-            init();
-        }
-
-        // if no datasource is selected use the default one
-        if (currentDataSource.get() == null) {
-            if (dataSources.containsKey(defaultDataSourceName)) {
-                return dataSources.get(defaultDataSourceName);
-
-            } else {
-                throw new IllegalArgumentException("you have to specify at least one datasource");
-            }
-        }
-
-        // the developper set the datasource to use
-        return currentDataSource.get();
-    }
-
-    /**
-     *
-     * @param datasourceName data source name
-     */
-    public void setDataSource(String datasourceName) {
-        if (dataSources == null) {
-            init();
-        }
-        if (!dataSources.containsKey(datasourceName)) {
-            throw new IllegalArgumentException("data source called " + datasourceName + " can't be found.");
-        }
-        DataSource ds = dataSources.get(datasourceName);
-        currentDataSource.set(ds);
-    }
-
-    /**
-     * reset the data source
-     */
-    public void clear() {
-        currentDataSource.remove();
-    }
-
-    public void setDefaultDataSourceName(String name) {
-        this.defaultDataSourceName = name;
-    }
-}
-----
-
-
-==  Declaring the implementation
-
-To be able to use your router as a resource you need to provide a service configuration. It is done in a file
-you can find in META-INF/org.router/ and called service-jar.xml
-(for your implementation you can of course change the package name).
-
-It contains the following code:
-
-
-[source,xml]
-----
-<ServiceJar>
-  <ServiceProvider id="DeterminedRouter" <!-- the name you want to use -->
-      service="Resource"
-      type="org.apache.openejb.resource.jdbc.Router"
-      class-name="org.superbiz.dynamicdatasourcerouting.DeterminedRouter"> <!-- implementation class -->
-
-    # the parameters
-
-    DataSourceNames
-    DefaultDataSourceName
-  </ServiceProvider>
-</ServiceJar>
-----
-
-
-
-=  Using the Router
-
-Here we have a `RoutedPersister` stateless bean which uses our `DeterminedRouter`
-
-
-[source,java]
-----
-package org.superbiz.dynamicdatasourcerouting;
-
-import javax.annotation.Resource;
-import javax.ejb.Stateless;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-
-@Stateless
-public class RoutedPersister {
-    @PersistenceContext(unitName = "router")
-    private EntityManager em;
-
-    @Resource(name = "My Router", type = DeterminedRouter.class)
-    private DeterminedRouter router;
-
-    public void persist(int id, String name, String ds) {
-        router.setDataSource(ds);
-        em.persist(new Person(id, name));
-    }
-}
-----
-
-
-=  The test
-
-In test mode and using property style configuration the foolowing configuration is used:
-
-
-[source,java]
-----
-public class DynamicDataSourceTest {
-    @Test
-    public void route() throws Exception {
-        String[] databases = new String[]{"database1", "database2", "database3"};
-
-        Properties properties = new Properties();
-        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, LocalInitialContextFactory.class.getName());
-
-        // resources
-        // datasources
-        for (int i = 1; i <= databases.length; i++) {
-            String dbName = databases[i - 1];
-            properties.setProperty(dbName, "new://Resource?type=DataSource");
-            dbName += ".";
-            properties.setProperty(dbName + "JdbcDriver", "org.hsqldb.jdbcDriver");
-            properties.setProperty(dbName + "JdbcUrl", "jdbc:hsqldb:mem:db" + i);
-            properties.setProperty(dbName + "UserName", "sa");
-            properties.setProperty(dbName + "Password", "");
-            properties.setProperty(dbName + "JtaManaged", "true");
-        }
-
-        // router
-        properties.setProperty("My Router", "new://Resource?provider=org.router:DeterminedRouter&type=" + DeterminedRouter.class.getName());
-        properties.setProperty("My Router.DatasourceNames", "database1 database2 database3");
-        properties.setProperty("My Router.DefaultDataSourceName", "database1");
-
-        // routed datasource
-        properties.setProperty("Routed Datasource", "new://Resource?provider=RoutedDataSource&type=" + Router.class.getName());
-        properties.setProperty("Routed Datasource.Router", "My Router");
-
-        Context ctx = EJBContainer.createEJBContainer(properties).getContext();
-        RoutedPersister ejb = (RoutedPersister) ctx.lookup("java:global/dynamic-datasource-routing/RoutedPersister");
-        for (int i = 0; i < 18; i++) {
-            // persisting a person on database db -> kind of manual round robin
-            String name = "record " + i;
-            String db = databases[i % 3];
-            ejb.persist(i, name, db);
-        }
-
-        // assert database records number using jdbc
-        for (int i = 1; i <= databases.length; i++) {
-            Connection connection = DriverManager.getConnection("jdbc:hsqldb:mem:db" + i, "sa", "");
-            Statement st = connection.createStatement();
-            ResultSet rs = st.executeQuery("select count(*) from PERSON");
-            rs.next();
-            assertEquals(6, rs.getInt(1));
-            st.close();
-            connection.close();
-        }
-
-        ctx.close();
-    }
-}
-----
-
-
-=  Configuration via openejb.xml
-
-The testcase above uses properties for configuration.  The identical way to do it via the `conf/openejb.xml` is as follows:
-
-
-[source,xml]
-----
-<!-- Router and datasource -->
-<Resource id="My Router" type="org.apache.openejb.router.test.DynamicDataSourceTest$DeterminedRouter" provider="org.routertest:DeterminedRouter">
-    DatasourceNames = database1 database2 database3
-    DefaultDataSourceName = database1
-</Resource>
-----
-
-
-[source,xml]
-----
-<Resource id="Routed Datasource" type="org.apache.openejb.resource.jdbc.Router" provider="RoutedDataSource">
-    Router = My Router
-</Resource>
-----
-
-
-
-[source,xml]
-----
-<!-- real datasources -->
-<Resource id="database1" type="DataSource">
-    JdbcDriver = org.hsqldb.jdbcDriver
-    JdbcUrl = jdbc:hsqldb:mem:db1
-    UserName = sa
-    Password
-    JtaManaged = true
-</Resource>
-----
-
-
-[source,xml]
-----
-<Resource id="database2" type="DataSource">
-    JdbcDriver = org.hsqldb.jdbcDriver
-    JdbcUrl = jdbc:hsqldb:mem:db2
-    UserName = sa
-    Password
-    JtaManaged = true
-</Resource>
-----
-
-
-[source,xml]
-----
-<Resource id="database3" type="DataSource">
-    JdbcDriver = org.hsqldb.jdbcDriver
-    JdbcUrl = jdbc:hsqldb:mem:db3
-    UserName = sa
-    Password
-    JtaManaged = true
-</Resource>
-----
-
-
-
-
-
-==  Some hack for OpenJPA
-
-Using more than one datasource behind one EntityManager means the databases are already created. If it is not the case,
-the JPA provider has to create the datasource at boot time.
-
-Hibernate do it so if you declare your databases it will work. However with OpenJPA
-(the default JPA provider for OpenEJB), the creation is lazy and it happens only once so when you'll switch of database
-it will no more work.
-
-Of course OpenEJB provides @Singleton and @Startup features of Java EE 6 and we can do a bean just making a simple find,
-even on none existing entities, just to force the database creation:
-
-
-[source,java]
-----
-@Startup
-@Singleton
-public class BoostrapUtility {
-    // inject all real databases
-
-    @PersistenceContext(unitName = "db1")
-    private EntityManager em1;
-
-    @PersistenceContext(unitName = "db2")
-    private EntityManager em2;
-
-    @PersistenceContext(unitName = "db3")
-    private EntityManager em3;
-
-    // force database creation
-
-    @PostConstruct
-    @TransactionAttribute(TransactionAttributeType.SUPPORTS)
-    public void initDatabase() {
-        em1.find(Person.class, 0);
-        em2.find(Person.class, 0);
-        em3.find(Person.class, 0);
-    }
-}
-----
-
-
-==  Using the routed datasource
-
-Now you configured the way you want to route your JPA operation, you registered the resources and you initialized
-your databases you can use it and see how it is simple:
-
-
-[source,java]
-----
-@Stateless
-public class RoutedPersister {
-    // injection of the "proxied" datasource
-    @PersistenceContext(unitName = "router")
-    private EntityManager em;
-
-    // injection of the router you need it to configured the database
-    @Resource(name = "My Router", type = DeterminedRouter.class)
-    private DeterminedRouter router;
-
-    public void persist(int id, String name, String ds) {
-        router.setDataSource(ds); // configuring the database for the current transaction
-        em.persist(new Person(id, name)); // will use ds database automatically
-    }
-}
-----
-
-
-=  Running
-
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.dynamicdatasourcerouting.DynamicDataSourceTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/dynamic-datasource-routing
-INFO - openejb.base = /Users/dblevins/examples/dynamic-datasource-routing
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=My Router, type=Resource, provider-id=DeterminedRouter)
-INFO - Configuring Service(id=database3, type=Resource, provider-id=Default JDBC Database)
-INFO - Configuring Service(id=database2, type=Resource, provider-id=Default JDBC Database)
-INFO - Configuring Service(id=Routed Datasource, type=Resource, provider-id=RoutedDataSource)
-INFO - Configuring Service(id=database1, type=Resource, provider-id=Default JDBC Database)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/dynamic-datasource-routing/target/classes
-INFO - Beginning load: /Users/dblevins/examples/dynamic-datasource-routing/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/dynamic-datasource-routing
-WARN - Method 'lookup' is not available for 'javax.annotation.Resource'. Probably using an older Runtime.
-INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-INFO - Auto-creating a container for bean BoostrapUtility: Container(type=SINGLETON, id=Default Singleton Container)
-INFO - Configuring Service(id=Default Stateless Container, type=Container, provider-id=Default Stateless Container)
-INFO - Auto-creating a container for bean RoutedPersister: Container(type=STATELESS, id=Default Stateless Container)
-INFO - Auto-linking resource-ref 'java:comp/env/My Router' in bean RoutedPersister to Resource(id=My Router)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.dynamicdatasourcerouting.DynamicDataSourceTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Configuring PersistenceUnit(name=router)
-INFO - Configuring PersistenceUnit(name=db1)
-INFO - Auto-creating a Resource with id 'database1NonJta' of type 'DataSource for 'db1'.
-INFO - Configuring Service(id=database1NonJta, type=Resource, provider-id=database1)
-INFO - Adjusting PersistenceUnit db1 <non-jta-data-source> to Resource ID 'database1NonJta' from 'null'
-INFO - Configuring PersistenceUnit(name=db2)
-INFO - Auto-creating a Resource with id 'database2NonJta' of type 'DataSource for 'db2'.
-INFO - Configuring Service(id=database2NonJta, type=Resource, provider-id=database2)
-INFO - Adjusting PersistenceUnit db2 <non-jta-data-source> to Resource ID 'database2NonJta' from 'null'
-INFO - Configuring PersistenceUnit(name=db3)
-INFO - Auto-creating a Resource with id 'database3NonJta' of type 'DataSource for 'db3'.
-INFO - Configuring Service(id=database3NonJta, type=Resource, provider-id=database3)
-INFO - Adjusting PersistenceUnit db3 <non-jta-data-source> to Resource ID 'database3NonJta' from 'null'
-INFO - Enterprise application "/Users/dblevins/examples/dynamic-datasource-routing" loaded.
-INFO - Assembling app: /Users/dblevins/examples/dynamic-datasource-routing
-INFO - PersistenceUnit(name=router, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 504ms
-INFO - PersistenceUnit(name=db1, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 11ms
-INFO - PersistenceUnit(name=db2, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 7ms
-INFO - PersistenceUnit(name=db3, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 6ms
-INFO - Jndi(name="java:global/dynamic-datasource-routing/BoostrapUtility!org.superbiz.dynamicdatasourcerouting.BoostrapUtility")
-INFO - Jndi(name="java:global/dynamic-datasource-routing/BoostrapUtility")
-INFO - Jndi(name="java:global/dynamic-datasource-routing/RoutedPersister!org.superbiz.dynamicdatasourcerouting.RoutedPersister")
-INFO - Jndi(name="java:global/dynamic-datasource-routing/RoutedPersister")
-INFO - Jndi(name="java:global/EjbModule1519652738/org.superbiz.dynamicdatasourcerouting.DynamicDataSourceTest!org.superbiz.dynamicdatasourcerouting.DynamicDataSourceTest")
-INFO - Jndi(name="java:global/EjbModule1519652738/org.superbiz.dynamicdatasourcerouting.DynamicDataSourceTest")
-INFO - Created Ejb(deployment-id=RoutedPersister, ejb-name=RoutedPersister, container=Default Stateless Container)
-INFO - Created Ejb(deployment-id=org.superbiz.dynamicdatasourcerouting.DynamicDataSourceTest, ejb-name=org.superbiz.dynamicdatasourcerouting.DynamicDataSourceTest, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=BoostrapUtility, ejb-name=BoostrapUtility, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=RoutedPersister, ejb-name=RoutedPersister, container=Default Stateless Container)
-INFO - Started Ejb(deployment-id=org.superbiz.dynamicdatasourcerouting.DynamicDataSourceTest, ejb-name=org.superbiz.dynamicdatasourcerouting.DynamicDataSourceTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=BoostrapUtility, ejb-name=BoostrapUtility, container=Default Singleton Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/dynamic-datasource-routing)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.504 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/dynamic-implementation.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/dynamic-implementation.adoc b/src/main/jbake/content/examples/dynamic-implementation.adoc
deleted file mode 100755
index 0ffff9c..0000000
--- a/src/main/jbake/content/examples/dynamic-implementation.adoc
+++ /dev/null
@@ -1,155 +0,0 @@
-= Dynamic Implementation
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example dynamic-implementation can be browsed at https://github.com/apache/tomee/tree/master/examples/dynamic-implementation
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  SocialBean
-
-
-[source,java]
-----
-package org.superbiz.dynamic;
-
-import org.apache.openejb.api.Proxy;
-
-import javax.ejb.Singleton;
-import javax.interceptor.Interceptors;
-
-@Singleton
-@Proxy(SocialHandler.class)
-@Interceptors(SocialInterceptor.class)
-public interface SocialBean {
-    public String facebookStatus();
-
-    public String twitterStatus();
-
-    public String status();
-}
-----
-
-
-==  SocialHandler
-
-
-[source,java]
-----
-package org.superbiz.dynamic;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-
-public class SocialHandler implements InvocationHandler {
-    @Override
-    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
-        String mtd = method.getName();
-        if (mtd.toLowerCase().contains("facebook")) {
-            return "You think you have a life!";
-        } else if (mtd.toLowerCase().contains("twitter")) {
-            return "Wow, you eat pop corn!";
-        }
-        return "Hey, you have no virtual friend!";
-    }
-}
-----
-
-
-==  SocialInterceptor
-
-
-[source,java]
-----
-packagenull
-}
-----
-
-
-==  SocialTest
-
-
-[source,java]
-----
-package org.superbiz.dynamic;
-
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-
-import static junit.framework.Assert.assertTrue;
-
-public class SocialTest {
-    private static SocialBean social;
-    private static EJBContainer container;
-
-    @BeforeClass
-    public static void init() throws Exception {
-        container = EJBContainer.createEJBContainer();
-        social = (SocialBean) container.getContext().lookup("java:global/dynamic-implementation/SocialBean");
-    }
-
-    @AfterClass
-    public static void close() {
-        container.close();
-    }
-
-    @Test
-    public void simple() {
-        assertTrue(social.facebookStatus().contains("think"));
-        assertTrue(social.twitterStatus().contains("eat"));
-        assertTrue(social.status().contains("virtual"));
-    }
-}
-----
-
-
-=  Running
-
-    
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.dynamic.SocialTest
-Apache OpenEJB 4.0.0-beta-1    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/dynamic-implementation
-INFO - openejb.base = /Users/dblevins/examples/dynamic-implementation
-INFO - Using 'javax.ejb.embeddable.EJBContainer=true'
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/dynamic-implementation/target/classes
-INFO - Beginning load: /Users/dblevins/examples/dynamic-implementation/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/dynamic-implementation
-INFO - Configuring Service(id=Default Singleton Container, type=Container, provider-id=Default Singleton Container)
-INFO - Auto-creating a container for bean SocialBean: Container(type=SINGLETON, id=Default Singleton Container)
-INFO - Configuring Service(id=Default Managed Container, type=Container, provider-id=Default Managed Container)
-INFO - Auto-creating a container for bean org.superbiz.dynamic.SocialTest: Container(type=MANAGED, id=Default Managed Container)
-INFO - Enterprise application "/Users/dblevins/examples/dynamic-implementation" loaded.
-INFO - Assembling app: /Users/dblevins/examples/dynamic-implementation
-INFO - Jndi(name="java:global/dynamic-implementation/SocialBean!org.superbiz.dynamic.SocialBean")
-INFO - Jndi(name="java:global/dynamic-implementation/SocialBean")
-INFO - Jndi(name="java:global/EjbModule236706648/org.superbiz.dynamic.SocialTest!org.superbiz.dynamic.SocialTest")
-INFO - Jndi(name="java:global/EjbModule236706648/org.superbiz.dynamic.SocialTest")
-INFO - Created Ejb(deployment-id=org.superbiz.dynamic.SocialTest, ejb-name=org.superbiz.dynamic.SocialTest, container=Default Managed Container)
-INFO - Created Ejb(deployment-id=SocialBean, ejb-name=SocialBean, container=Default Singleton Container)
-INFO - Started Ejb(deployment-id=org.superbiz.dynamic.SocialTest, ejb-name=org.superbiz.dynamic.SocialTest, container=Default Managed Container)
-INFO - Started Ejb(deployment-id=SocialBean, ejb-name=SocialBean, container=Default Singleton Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/dynamic-implementation)
-INFO - Undeploying app: /Users/dblevins/examples/dynamic-implementation
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.107 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-
-    

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/dynamic-proxy-to-access-mbean.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/dynamic-proxy-to-access-mbean.adoc b/src/main/jbake/content/examples/dynamic-proxy-to-access-mbean.adoc
deleted file mode 100755
index ae03587..0000000
--- a/src/main/jbake/content/examples/dynamic-proxy-to-access-mbean.adoc
+++ /dev/null
@@ -1,460 +0,0 @@
-= dynamic-proxy-to-access-mbean
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example dynamic-proxy-to-access-mbean can be browsed at https://github.com/apache/tomee/tree/master/examples/dynamic-proxy-to-access-mbean
-
-
-*Help us document this example! Click the blue pencil icon in the upper right to edit this page.*
-
-==  Example
-
-Acessing MBean is something simple through the JMX API but it is often technical and not very interesting.
-
-This example simplify this work simply doing it generically in a proxy.
-
-So from an user side you simple declare an interface to access your MBeans.
-
-Note: the example implementation uses a local MBeanServer but enhancing the example API
-it is easy to imagine a remote connection with user/password if needed.
-
-==  ObjectName API (annotation)
-
-Simply an annotation to get the object
-
-
-[source,java]
-----
-package org.superbiz.dynamic.mbean;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-@Target({TYPE, METHOD})
-@Retention(RUNTIME)
-public @interface ObjectName {
-    String value();
-
-    // for remote usage only
-    String url() default "";
-    String user() default "";
-    String password() default "";
-}
-----
-
-
-==  DynamicMBeanHandler (thr proxy implementation)
-
-
-[source,java]
-----
-package org.superbiz.dynamic.mbean;
-
-import javax.annotation.PreDestroy;
-import javax.management.Attribute;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanInfo;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerConnection;
-import javax.management.ObjectName;
-import javax.management.remote.JMXConnector;
-import javax.management.remote.JMXConnectorFactory;
-import javax.management.remote.JMXServiceURL;
-import java.io.IOException;
-import java.lang.management.ManagementFactory;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-/**
- * Need a @PreDestroy method to disconnect the remote host when used in remote mode.
- */
-public class DynamicMBeanHandler implements InvocationHandler {
-    private final Map<Method, ConnectionInfo> infos = new ConcurrentHashMap<Method, ConnectionInfo>();
-
-    @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
-        final String methodName = method.getName();
-        if (method.getDeclaringClass().equals(Object.class) && "toString".equals(methodName)) {
-            return getClass().getSimpleName() + " Proxy";
-        }
-        if (method.getAnnotation(PreDestroy.class) != null) {
-            return destroy();
-        }
-
-        final ConnectionInfo info = getConnectionInfo(method);
-        final MBeanInfo infos = info.getMBeanInfo();
-        if (methodName.startsWith("set") && methodName.length() > 3 && args != null && args.length == 1
-            && (Void.TYPE.equals(method.getReturnType()) || Void.class.equals(method.getReturnType()))) {
-            final String attributeName = attributeName(infos, methodName, method.getParameterTypes()[0]);
-            info.setAttribute(new Attribute(attributeName, args[0]));
-            return null;
-        } else if (methodName.startsWith("get") && (args == null || args.length == 0) && methodName.length() > 3) {
-            final String attributeName = attributeName(infos, methodName, method.getReturnType());
-            return info.getAttribute(attributeName);
-        }
-        // operation
-        return info.invoke(methodName, args, getSignature(method));
-    }
-
-    public Object destroy() {
-        for (ConnectionInfo info : infos.values()) {
-            info.clean();
-        }
-        infos.clear();
-        return null;
-    }
-
-    private String[] getSignature(Method method) {
-        String[] args = new String[method.getParameterTypes().length];
-        for (int i = 0; i < method.getParameterTypes().length; i++) {
-            args[i] = method.getParameterTypes()[i].getName();
-        }
-        return args; // note: null should often work...
-    }
-
-    private String attributeName(MBeanInfo infos, String methodName, Class<?> type) {
-        String found = null;
-        String foundBackUp = null; // without checking the type
-        final String attributeName = methodName.substring(3, methodName.length());
-        final String lowerName = Character.toLowerCase(methodName.charAt(3)) + methodName.substring(4, methodName.length());
-
-        for (MBeanAttributeInfo attribute : infos.getAttributes()) {
-            final String name = attribute.getName();
-            if (attributeName.equals(name)) {
-                foundBackUp = attributeName;
-                if (attribute.getType().equals(type.getName())) {
-                    found = name;
-                }
-            } else if (found == null && ((lowerName.equals(name) && !attributeName.equals(name))
-                || lowerName.equalsIgnoreCase(name))) {
-                foundBackUp = name;
-                if (attribute.getType().equals(type.getName())) {
-                    found = name;
-                }
-            }
-        }
-
-        if (found == null && foundBackUp == null) {
-            throw new UnsupportedOperationException("cannot find attribute " + attributeName);
-        }
-
-        if (found != null) {
-            return found;
-        }
-        return foundBackUp;
-    }
-
-    private synchronized ConnectionInfo getConnectionInfo(Method method) throws Exception {
-        if (!infos.containsKey(method)) {
-            synchronized (infos) {
-                if (!infos.containsKey(method)) { // double check for synchro
-                    org.superbiz.dynamic.mbean.ObjectName on = method.getAnnotation(org.superbiz.dynamic.mbean.ObjectName.class);
-                    if (on == null) {
-                        Class<?> current = method.getDeclaringClass();
-                        do {
-                            on = method.getDeclaringClass().getAnnotation(org.superbiz.dynamic.mbean.ObjectName.class);
-                            current = current.getSuperclass();
-                        } while (on == null && current != null);
-                        if (on == null) {
-                            throw new UnsupportedOperationException("class or method should define the objectName to use for invocation: " + method.toGenericString());
-                        }
-                    }
-                    final ConnectionInfo info;
-                    if (on.url().isEmpty()) {
-                        info = new LocalConnectionInfo();
-                        ((LocalConnectionInfo) info).server = ManagementFactory.getPlatformMBeanServer(); // could use an id...
-                    } else {
-                        info = new RemoteConnectionInfo();
-                        final Map<String, String[]> environment = new HashMap<String, String[]>();
-                        if (!on.user().isEmpty()) {
-                            environment.put(JMXConnector.CREDENTIALS, new String[]{ on.user(), on.password() });
-                        }
-                        // ((RemoteConnectionInfo) info).connector = JMXConnectorFactory.newJMXConnector(new JMXServiceURL(on.url()), environment);
-                        ((RemoteConnectionInfo) info).connector = JMXConnectorFactory.connect(new JMXServiceURL(on.url()), environment);
-
-                    }
-                    info.objectName = new ObjectName(on.value());
-
-                    infos.put(method, info);
-                }
-            }
-        }
-        return infos.get(method);
-    }
-
-    private abstract static class ConnectionInfo {
-        protected ObjectName objectName;
-
-        public abstract void setAttribute(Attribute attribute) throws Exception;
-        public abstract Object getAttribute(String attribute) throws Exception;
-        public abstract Object invoke(String operationName, Object params[], String signature[]) throws Exception;
-        public abstract MBeanInfo getMBeanInfo() throws Exception;
-        public abstract void clean();
-    }
-
-    private static class LocalConnectionInfo extends ConnectionInfo {
-        private MBeanServer server;
-
-        @Override public void setAttribute(Attribute attribute) throws Exception {
-            server.setAttribute(objectName, attribute);
-        }
-
-        @Override public Object getAttribute(String attribute) throws Exception {
-            return server.getAttribute(objectName, attribute);
-        }
-
-        @Override
-        public Object invoke(String operationName, Object[] params, String[] signature) throws Exception {
-            return server.invoke(objectName, operationName, params, signature);
-        }
-
-        @Override public MBeanInfo getMBeanInfo() throws Exception {
-            return server.getMBeanInfo(objectName);
-        }
-
-        @Override public void clean() {
-            // no-op
-        }
-    }
-
-    private static class RemoteConnectionInfo extends ConnectionInfo {
-        private JMXConnector connector;
-        private MBeanServerConnection connection;
-
-        private void before() throws IOException {
-            connection = connector.getMBeanServerConnection();
-        }
-
-        private void after() throws IOException {
-            // no-op
-        }
-
-        @Override public void setAttribute(Attribute attribute) throws Exception {
-            before();
-            connection.setAttribute(objectName, attribute);
-            after();
-        }
-
-        @Override public Object getAttribute(String attribute) throws Exception {
-            before();
-            try {
-                return connection.getAttribute(objectName, attribute);
-            } finally {
-                after();
-            }
-        }
-
-        @Override
-        public Object invoke(String operationName, Object[] params, String[] signature) throws Exception {
-            before();
-            try {
-                return connection.invoke(objectName, operationName, params, signature);
-            } finally {
-                after();
-            }
-        }
-
-        @Override public MBeanInfo getMBeanInfo() throws Exception {
-            before();
-            try {
-                return connection.getMBeanInfo(objectName);
-            } finally {
-                after();
-            }
-        }
-
-        @Override public void clean() {
-            try {
-                connector.close();
-            } catch (IOException e) {
-                // no-op
-            }
-        }
-    }
-}
-----
-
-
-==  Dynamic Proxies    
-
-===  DynamicMBeanClient (the dynamic JMX client)
-
-	package org.superbiz.dynamic.mbean;
-
-	import org.apache.openejb.api.Proxy;
-	import org.superbiz.dynamic.mbean.DynamicMBeanHandler;
-	import org.superbiz.dynamic.mbean.ObjectName;
-
-	import javax.ejb.Singleton;
-
-	/**
-	 * @author rmannibucau
-	 */
-	@Singleton
-	@Proxy(DynamicMBeanHandler.class)
-	@ObjectName(DynamicMBeanClient.OBJECT_NAME)
-	public interface DynamicMBeanClient {
-		static final String OBJECT_NAME = "test:group=DynamicMBeanClientTest";
-
-		int getCounter();
-		void setCounter(int i);
-		int length(String aString);
-	}
-
-===  DynamicMBeanClient (the dynamic JMX client)
-
-[source,java]
-----
-package org.superbiz.dynamic.mbean;
-
-import org.apache.openejb.api.Proxy;
-
-import javax.annotation.PreDestroy;
-import javax.ejb.Singleton;
-
-
-@Singleton
-@Proxy(DynamicMBeanHandler.class)
-@ObjectName(value = DynamicRemoteMBeanClient.OBJECT_NAME, url = "service:jmx:rmi:///jndi/rmi://localhost:8243/jmxrmi")
-public interface DynamicRemoteMBeanClient {
-    static final String OBJECT_NAME = "test:group=DynamicMBeanClientTest";
-
-    int getCounter();
-    void setCounter(int i);
-    int length(String aString);
-
-    @PreDestroy void clean();
-}
-----
-
-
-==  The MBean used for the test
-
-===  SimpleMBean
-
-	package org.superbiz.dynamic.mbean.simple;
-
-	public interface SimpleMBean {
-		int length(String s);
-
-		int getCounter();
-		void setCounter(int c);
-	}
-
-==  Simple
-
-	package org.superbiz.dynamic.mbean.simple;
-
-	public class Simple implements SimpleMBean {
-		private int counter = 0;
-
-		@Override public int length(String s) {
-		    if (s == null) {
-		        return 0;
-		    }
-		    return s.length();
-		}
-
-		@Override public int getCounter() {
-		    return counter;
-		}
-
-		@Override public void setCounter(int c) {
-		    counter = c;
-		}
-	}
-
-==  DynamicMBeanClientTest (The test)
-
-
-[source,java]
-----
-package org.superbiz.dynamic.mbean;
-
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.superbiz.dynamic.mbean.simple.Simple;
-
-import javax.ejb.EJB;
-import javax.ejb.embeddable.EJBContainer;
-import javax.management.Attribute;
-import javax.management.ObjectName;
-import java.lang.management.ManagementFactory;
-
-import static junit.framework.Assert.assertEquals;
-
-public class DynamicMBeanClientTest {
-    private static ObjectName objectName;
-    private static EJBContainer container;
-
-    @EJB private DynamicMBeanClient localClient;
-    @EJB private DynamicRemoteMBeanClient remoteClient;
-
-    @BeforeClass public static void start() {
-        container = EJBContainer.createEJBContainer();
-    }
-
-    @Before public void injectAndRegisterMBean() throws Exception {
-        container.getContext().bind("inject", this);
-        objectName = new ObjectName(DynamicMBeanClient.OBJECT_NAME);
-        ManagementFactory.getPlatformMBeanServer().registerMBean(new Simple(), objectName);
-    }
-
-    @After public void unregisterMBean() throws Exception {
-        if (objectName != null) {
-            ManagementFactory.getPlatformMBeanServer().unregisterMBean(objectName);
-        }
-    }
-
-    @Test public void localGet() throws Exception {
-        assertEquals(0, localClient.getCounter());
-        ManagementFactory.getPlatformMBeanServer().setAttribute(objectName, new Attribute("Counter", 5));
-        assertEquals(5, localClient.getCounter());
-    }
-
-    @Test public void localSet() throws Exception {
-        assertEquals(0, ((Integer) ManagementFactory.getPlatformMBeanServer().getAttribute(objectName, "Counter")).intValue());
-        localClient.setCounter(8);
-        assertEquals(8, ((Integer) ManagementFactory.getPlatformMBeanServer().getAttribute(objectName, "Counter")).intValue());
-    }
-
-    @Test public void localOperation() {
-        assertEquals(7, localClient.length("openejb"));
-    }
-
-    @Test public void remoteGet() throws Exception {
-        assertEquals(0, remoteClient.getCounter());
-        ManagementFactory.getPlatformMBeanServer().setAttribute(objectName, new Attribute("Counter", 5));
-        assertEquals(5, remoteClient.getCounter());
-    }
-
-    @Test public void remoteSet() throws Exception {
-        assertEquals(0, ((Integer) ManagementFactory.getPlatformMBeanServer().getAttribute(objectName, "Counter")).intValue());
-        remoteClient.setCounter(8);
-        assertEquals(8, ((Integer) ManagementFactory.getPlatformMBeanServer().getAttribute(objectName, "Counter")).intValue());
-    }
-
-    @Test public void remoteOperation() {
-        assertEquals(7, remoteClient.length("openejb"));
-    }
-
-    @AfterClass public static void close() {
-        if (container != null) {
-            container.close();
-        }
-    }
-}
-----
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/efed31f4/src/main/jbake/content/examples/ear-testing.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/examples/ear-testing.adoc b/src/main/jbake/content/examples/ear-testing.adoc
deleted file mode 100755
index eac0b6d..0000000
--- a/src/main/jbake/content/examples/ear-testing.adoc
+++ /dev/null
@@ -1,244 +0,0 @@
-= EAR Testing
-:jbake-date: 2016-09-06
-:jbake-type: page
-:jbake-tomeepdf:
-:jbake-status: published
-
-Example ear-testing can be browsed at https://github.com/apache/tomee/tree/master/examples/ear-testing
-
-
-The goal of this example is to demonstrate how maven projects might be organized in a more real world style and how testing with OpenEJB can fit into that structure.
-
-This example takes the basic moviefun code we us in many of examples and splits it into two modules:
-
- - `business-logic`
- - `business-model`
-
-As the names imply, we keep our `@Entity` beans in the `business-model` module and our session beans in the `business-logic` model.  The tests located and run from the business logic module.
-
-    ear-testing
-    ear-testing/business-logic
-    ear-testing/business-logic/pom.xml
-    ear-testing/business-logic/src/main/java/org/superbiz/logic/Movies.java
-    ear-testing/business-logic/src/main/java/org/superbiz/logic/MoviesImpl.java
-    ear-testing/business-logic/src/main/resources
-    ear-testing/business-logic/src/main/resources/META-INF
-    ear-testing/business-logic/src/main/resources/META-INF/ejb-jar.xml
-    ear-testing/business-logic/src/test/java/org/superbiz/logic/MoviesTest.java
-    ear-testing/business-model
-    ear-testing/business-model/pom.xml
-    ear-testing/business-model/src/main/java/org/superbiz/model/Movie.java
-    ear-testing/business-model/src/main/resources/META-INF/persistence.xml
-    ear-testing/pom.xml
-
-=  Project configuration
-
-The parent pom, trimmed to the minimum, looks like so:
-
-
-[source,xml]
-----
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.superbiz</groupId>
-  <artifactId>myear</artifactId>
-  <version>1.1.0-SNAPSHOT</version>
-
-  <packaging>pom</packaging>
-
-  <modules>
-    <module>business-model</module>
-    <module>business-logic</module>
-  </modules>
-
-  <dependencyManagement>
-    <dependencies>
-      <dependency>
-        <groupId>org.apache.openejb</groupId>
-        <artifactId>javaee-api</artifactId>
-        <version>6.0-2</version>
-      </dependency>
-      <dependency>
-        <groupId>junit</groupId>
-        <artifactId>junit</artifactId>
-        <version>4.8.1</version>
-      </dependency>
-    </dependencies>
-  </dependencyManagement>
-</project>
-----
-
-
-The `business-model/pom.xml` as follows:
-
-
-[source,xml]
-----
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.superbiz</groupId>
-    <artifactId>myear</artifactId>
-    <version>1.1.0-SNAPSHOT</version>
-  </parent>
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <artifactId>business-model</artifactId>
-  <packaging>jar</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.openejb</groupId>
-      <artifactId>javaee-api</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-  </dependencies>
-
-</project>
-----
-
-
-And finally, the `business-logic/pom.xml` which is setup to support embedded testing with OpenEJB:
-
-
-[source,xml]
-----
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <groupId>org.superbiz</groupId>
-    <artifactId>myear</artifactId>
-    <version>1.1.0-SNAPSHOT</version>
-  </parent>
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <artifactId>business-logic</artifactId>
-  <packaging>jar</packaging>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.superbiz</groupId>
-      <artifactId>business-model</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.openejb</groupId>
-      <artifactId>javaee-api</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <!--
-    The <scope>test</scope> guarantees that non of your runtime
-    code is dependent on any OpenEJB classes.
-    -->
-    <dependency>
-      <groupId>org.apache.openejb</groupId>
-      <artifactId>openejb-core</artifactId>
-      <version>7.0.0-SNAPSHOT</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-</project>
-----
-
-
-=  TestCode
-
-The test code is the same as always:
-
-
-[source,java]
-----
-public class MoviesTest extends TestCase {
-
-    public void test() throws Exception {
-        Properties p = new Properties();
-        p.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.core.LocalInitialContextFactory");
-
-        p.put("openejb.deployments.classpath.ear", "true");
-
-        p.put("movieDatabase", "new://Resource?type=DataSource");
-        p.put("movieDatabase.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabase.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-
-        p.put("movieDatabaseUnmanaged", "new://Resource?type=DataSource");
-        p.put("movieDatabaseUnmanaged.JdbcDriver", "org.hsqldb.jdbcDriver");
-        p.put("movieDatabaseUnmanaged.JdbcUrl", "jdbc:hsqldb:mem:moviedb");
-        p.put("movieDatabaseUnmanaged.JtaManaged", "false");
-
-        Context context = new InitialContext(p);
-
-        Movies movies = (Movies) context.lookup("MoviesLocal");
-
-        movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
-        movies.addMovie(new Movie("Joel Coen", "Fargo", 1996));
-        movies.addMovie(new Movie("Joel Coen", "The Big Lebowski", 1998));
-
-        List<Movie> list = movies.getMovies();
-        assertEquals("List.size()", 3, list.size());
-
-        for (Movie movie : list) {
-            movies.deleteMovie(movie);
-        }
-
-        assertEquals("Movies.getMovies()", 0, movies.getMovies().size());
-    }
-}
-----
-
-
-
-=  Running
-
-
-
-[source]
-----
--------------------------------------------------------
- T E S T S
--------------------------------------------------------
-Running org.superbiz.logic.MoviesTest
-Apache OpenEJB 7.0.0-SNAPSHOT    build: 20111002-04:06
-http://tomee.apache.org/
-INFO - openejb.home = /Users/dblevins/examples/ear-testing/business-logic
-INFO - openejb.base = /Users/dblevins/examples/ear-testing/business-logic
-INFO - Configuring Service(id=Default Security Service, type=SecurityService, provider-id=Default Security Service)
-INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager)
-INFO - Configuring Service(id=movieDatabaseUnmanaged, type=Resource, provider-id=Default JDBC Database)
-INFO - Configuring Service(id=movieDatabase, type=Resource, provider-id=Default JDBC Database)
-INFO - Found PersistenceModule in classpath: /Users/dblevins/examples/ear-testing/business-model/target/business-model-1.0.jar
-INFO - Found EjbModule in classpath: /Users/dblevins/examples/ear-testing/business-logic/target/classes
-INFO - Using 'openejb.deployments.classpath.ear=true'
-INFO - Beginning load: /Users/dblevins/examples/ear-testing/business-model/target/business-model-1.0.jar
-INFO - Beginning load: /Users/dblevins/examples/ear-testing/business-logic/target/classes
-INFO - Configuring enterprise application: /Users/dblevins/examples/ear-testing/business-logic/classpath.ear
-INFO - Configuring Service(id=Default Stateful Container, type=Container, provider-id=Default Stateful Container)
-INFO - Auto-creating a container for bean Movies: Container(type=STATEFUL, id=Default Stateful Container)
-INFO - Configuring PersistenceUnit(name=movie-unit)
-INFO - Enterprise application "/Users/dblevins/examples/ear-testing/business-logic/classpath.ear" loaded.
-INFO - Assembling app: /Users/dblevins/examples/ear-testing/business-logic/classpath.ear
-INFO - PersistenceUnit(name=movie-unit, provider=org.apache.openjpa.persistence.PersistenceProviderImpl) - provider time 415ms
-INFO - Jndi(name=MoviesLocal) --> Ejb(deployment-id=Movies)
-INFO - Jndi(name=global/classpath.ear/business-logic/Movies!org.superbiz.logic.Movies) --> Ejb(deployment-id=Movies)
-INFO - Jndi(name=global/classpath.ear/business-logic/Movies) --> Ejb(deployment-id=Movies)
-INFO - Created Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Started Ejb(deployment-id=Movies, ejb-name=Movies, container=Default Stateful Container)
-INFO - Deployed Application(path=/Users/dblevins/examples/ear-testing/business-logic/classpath.ear)
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.393 sec
-
-Results :
-
-Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
-----
-


[23/34] tomee-site-generator git commit: Merge old content. Move tech content to main build.

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.7.2-release-notes.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.7.2-release-notes.mdtext b/src/main/jbake/content/tomee-1.7.2-release-notes.mdtext
new file mode 100644
index 0000000..e945aff
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.7.2-release-notes.mdtext
@@ -0,0 +1,162 @@
+# Release Notes - TomEE - Version 1.7.2
+                
+<h2>Upgrades</h2>
+
+<ul>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-1426">TOMEE-1426</a> xbean 4.1</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-1554">TOMEE-1554</a> Upgrade OpenJPA to 2.4.0</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-1391">TOMEE-1391</a> Use maven-filtering:1.2 to fix MSHARED-319 when compiling under JDK8</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-1405">TOMEE-1405</a> tomcat 7.0.62</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-1370">TOMEE-1370</a> symbolic links not supported by tomee for @WebXXX</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-1536">TOMEE-1536</a> xbean 4.2</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-1469">TOMEE-1469</a> cxf 2.6.16</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-1368">TOMEE-1368</a> upgrade arquillian-transaction-impl-base to 1.0.1.Final</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-1363">TOMEE-1363</a> myfaces 2.1.16</li>
+</ul>
+
+<h2>New Features</h2>
+
+<ul>
+
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1552">TOMEE-1552</a> add openejb.activemq.deploymentId-as-clientId flag to not force AMQ clientId to ejb deploymentId</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1444">TOMEE-1444</a> allow extensions through openejb extensions of cxf-rs</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1440">TOMEE-1440</a> support singleDeploymentByArchiveName in tomee arquillian adapters (remote/embedded)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1526">TOMEE-1526</a> global (conf/system.properties) openejb.datasource.pool support</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1421">TOMEE-1421</a> support persistence of javaagent config in tomee maven plugin</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1388">TOMEE-1388</a> add @JaxrsProviders to ApplicationComposers to add provider classes quickly on WebApp</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1420">TOMEE-1420</a> tomee-maven-plugin customizers configuration to be able to call java code to customize an instance</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1347">TOMEE-1347</a> allow to provide a default global properties provider for resources</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1473">TOMEE-1473</a> @SimpleLog for ApplicationComposer</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1472">TOMEE-1472</a> @RandomPort for applicationComposer</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1479">TOMEE-1479</a> HttpRequestImpl login backed by security service by default</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1487">TOMEE-1487</a> CDI Event based realm</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1483">TOMEE-1483</a> support destinationLookup activation spec with activemq</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1482">TOMEE-1482</a> add ability to log all CDI beans found (OWB scanner)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1446">TOMEE-1446</a> add event BeforeStartEjbs otherwise for timer beans it is surely too late if you want to modify it</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1451">TOMEE-1451</a> notify through BusCreated event when cxf bus is created</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1458">TOMEE-1458</a> provide cxf configuration support for @WebServiceRef</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1346">TOMEE-1346</a> support ciphered values in resources</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1345">TOMEE-1345</a> basic support of Tomcat embedded in tomee-embedded</li>
+</ul>
+
+<h2>Improvements</h2>
+
+<ul>
+
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1425">TOMEE-1425</a> better JMX naming for cxf jaxrs endpoint</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1434">TOMEE-1434</a> wire roles/users to tomee embedded arquillian adapter</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1430">TOMEE-1430</a> add support for users/roles for tomee embedded</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1392">TOMEE-1392</a> META-INF/org.apache.openejb.extension doesn't support multiple lines</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1439">TOMEE-1439</a> @Context SecurityContext doesn't use SecurityService</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1443">TOMEE-1443</a> support cxf.jaxws.wsFeatures</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1529">TOMEE-1529</a> BaseEjbProxyHandler#equals is super slow when parameter is not a proxy</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1411">TOMEE-1411</a> allow to create an application composer webapp using all inner classes of the test</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1530">TOMEE-1530</a> (arquillian) OpenEJBEnricher: if app context is null try to find it from classloader</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1374">TOMEE-1374</a> basic detection that container loader can't create a datasource and fallback on app one</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1373">TOMEE-1373</a> AlternativeDriver leaks when used (by default) from applications (resources.xml)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1372">TOMEE-1372</a> when trying to find persistence unit datasources ensure to try exact name first without required property constraint</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1371">TOMEE-1371</a> if using kahadb or leveldb or any persistence adapter force broker to be persistent</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1418">TOMEE-1418</a> Add Classpath discovery in REST annotations with virtual class path</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1387">TOMEE-1387</a> tomee embedded arquillian adapter doesn't delete temp folder as fast as it should/could</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1386">TOMEE-1386</a> skip org.apache.wink.common.internal. @Provider when using CXF</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1354">TOMEE-1354</a> Add 'openejb.deployer.binaries.use' automatically for arquillian test on remote machine</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1489">TOMEE-1489</a> Allow ActiveMQ scheduler activation when using kahadb persistence</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1367">TOMEE-1367</a> add singleDumpByArchiveName parameter to arquillian tomee adapters</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1486">TOMEE-1486</a> add to jaxws events close to jaxrs ones for consistency (ServerCreated/Destroyed)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1567">TOMEE-1567</a> allow to override persistence-unit properties from application.properties (as we already support system props)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1454">TOMEE-1454</a> add openejb.force-unit-type property to workaround 8.2.1.5 of JPA 2.0 spec</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1500">TOMEE-1500</a> MultiPulse bad URI event only fires once</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1466">TOMEE-1466</a> Apply WS-Security config (cxf interceptor) when use @WebService with javax.xml.ws.Service</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1463">TOMEE-1463</a> support WebServiceFeature for @WebServiceRef as well</li>
+</ul>
+
+<h2>Bugs</h2>
+
+<ul>
+
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1433">TOMEE-1433</a> Prevent error output on tomee:run<Enter></li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1553">TOMEE-1553</a> EJBContainerRunner broken with junit 4.12</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1551">TOMEE-1551</a> URLClassLoaderFirst uses its own lock and not classloader one</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1438">TOMEE-1438</a> cxf classloader doesn't delegate properly in equals/hashcode (lookup are broken in tomcat)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1435">TOMEE-1435</a> flushable datasources not destroyed</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1566">TOMEE-1566</a> [tomee-maven-plugin] Allow for name customizations for .rar apps</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1283">TOMEE-1283</a> old commons-lang3 dependency in lib folder</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1409">TOMEE-1409</a> Invalid configuration in module openejb-junit</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1408">TOMEE-1408</a> Incorrect assertions within the testcode</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1528">TOMEE-1528</a> add LogSqlPackages and openejb.log.sql.packages</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1407">TOMEE-1407</a> Invalid filtering configuration for assembly/openejb-standalone which causes a compile error</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1406">TOMEE-1406</a> Compile error in openejb-core due to an encoding issue</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1379">TOMEE-1379</a> TransactionSynchronizationRegistry not found in JNDI for EJB Timer started transactions</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1499">TOMEE-1499</a> connector modules are not destroyed properly</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1497">TOMEE-1497</a> NPE When deploy genericjmsra.rar </li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1495">TOMEE-1495</a> TomEE won't load Taglibs from WEB-INF/lib/</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1491">TOMEE-1491</a> add a LazyValve</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1490">TOMEE-1490</a> Arquillian Test and Local context.xml file not loading correctly</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1538">TOMEE-1538</a> ProvisioningUtil#fallback has replace String in wrong location, causing invalid path on Win platforms</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1535">TOMEE-1535</a> JAX-RS Subresource paths are chosen incorrectly</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1414">TOMEE-1414</a> @Jars works only with a single jar and not all matching jars</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1534">TOMEE-1534</a> in JAXRS ExceptionException are not always unwrapped</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1423">TOMEE-1423</a> Packaging contains duplicate artifacts with snapshot timestamp</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1389">TOMEE-1389</a> ApplicationComposer should try all possible BeanManager for injections</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1540">TOMEE-1540</a> tomee.sh doesn't support missing JAVA_HOME var</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1265">TOMEE-1265</a> Can not start tomee when using conf/catalina.policy</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1385">TOMEE-1385</a> in embedded mode with embedded JUL logger allow to change consoleHandlerClazz</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1384">TOMEE-1384</a> tolerate serialization of undeployed EJB</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1382">TOMEE-1382</a> allow to override LoaderService of openwebbeans by app in application.properties</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1381">TOMEE-1381</a> wrong property passed as ValidatorFactory to JPA</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1509">TOMEE-1509</a> PropertyPlaceHolderHelper does not work with cipher:</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1507">TOMEE-1507</a> openejb-rest leaks deployed apps</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1505">TOMEE-1505</a> shutdown cxf bus when exiting services (rs/ws)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1504">TOMEE-1504</a> undeploy doesn't always clean up correctly Deployments</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1348">TOMEE-1348</a> [JAXRS] ensure static resources are handled through servlet chain (jsp case for instance)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1468">TOMEE-1468</a> ApplicationComposer + CDI for a WebApp breaks startup</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1357">TOMEE-1357</a> tomee forces new StandardManager()</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1477">TOMEE-1477</a> TomEE wont start if added maven-properties to <args></li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1353">TOMEE-1353</a> [regression] jsonproviuder no more added </li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1352">TOMEE-1352</a> can't start if there is a space in tomee folder path</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1351">TOMEE-1351</a> jaxws doesn't support ROOT context</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1350">TOMEE-1350</a> arquillian class discovering algorithm should ignore test classes which can't be EJBs</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1071">TOMEE-1071</a> NoClassDefFoundError - SVGDocument</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1519">TOMEE-1519</a> SetupCommand fails to delete file/dir on Windows</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1513">TOMEE-1513</a> catalina.sh does not quote javaagent argument correctly</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1359">TOMEE-1359</a> TomEEInjectionEnricher does not always return correct AppContext</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1358">TOMEE-1358</a> openejb.additional.include not respected</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1521">TOMEE-1521</a> Duplicate App Deployment when autoDeploy="true"</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1400">TOMEE-1400</a> Potential NPE in TomeeAnnotationProvider</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1520">TOMEE-1520</a> A service as a singleton is not working</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1366">TOMEE-1366</a> UnsupportedOperationException in CxfEndpoint.doServiceCreate</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1364">TOMEE-1364</a> When using the tomee-maven-plugins stop goal tomee seems to hang forever</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1362">TOMEE-1362</a> WsRsTest is not correct</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1481">TOMEE-1481</a> web-fragment.xml FacesServlet declaration not supported</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1480">TOMEE-1480</a> make possibility to provide conf.d-files for arquillian-tomee-remote adapter</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1449">TOMEE-1449</a> allow to deploy twice (several hosts) the same app</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1569">TOMEE-1569</a> openejb Logger (util package) should use container loader to create JUL loggers</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1448">TOMEE-1448</a> container CDI classes shouldn't be filtered from CDI context</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1568">TOMEE-1568</a> support overriding of a failed deployment in tomcat webappdeployer</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1333">TOMEE-1333</a> NPE in releasing deployed artifacts with ArquillianSuiteExtension</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1452">TOMEE-1452</a> reloading doesn't work with jaxws services for ears</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1450">TOMEE-1450</a> Unable to shutdown with whitespace in path because of javaagent error</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1570">TOMEE-1570</a> OpenEJBLogRecord misses logger name</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1457">TOMEE-1457</a> OpenEJBLoginValidator shouldn't associate if in tomee</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1467">TOMEE-1467</a> embedded http layer doesn't support repeated query parameters</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1344">TOMEE-1344</a> URLClassLoader are not closed during scanning and with app undeployment</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1583">TOMEE-1583</a> ProvisioningUtil fails to check for alternate repository location</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1462">TOMEE-1462</a> ApplicationComposer hides assert errors</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1460">TOMEE-1460</a> deploying cxf webservice in host other than localhost</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1580">TOMEE-1580</a> Datasource JNDI Name Context not available to eclipselink non jta data source</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-2106">OPENEJB-2106</a> Invalid schema location in test xml</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-2112">OPENEJB-2112</a> 'Tweaks' to a (native) query are lost when running without a tx</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-2111">OPENEJB-2111</a> Unchecked application exceptions, thrown in asynchronous business methods, are always wrapped in EJBException</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-2109">OPENEJB-2109</a> Call to ThreadContext.enter and ThreadContext.exit is uneven in EjbObjectProxyHandler.businessMethod</li>
+</ul>
+
+<h2>Tasks & Sub-Tasks</h2>
+
+<ul>
+
+
+
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1410">TOMEE-1410</a> Cleanup poms to update the filtering of EXE files.</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1356">TOMEE-1356</a> tomcat resources are not always well created and can return a Context instead of the real instance</li>
+
+</ul>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.7.2.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.7.2.mdtext b/src/main/jbake/content/tomee-1.7.2.mdtext
new file mode 100644
index 0000000..56bc052
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.7.2.mdtext
@@ -0,0 +1,42 @@
+# Apache TomEE 1.7.2 Released!
+
+The Apache TomEE community is delighted to announce the release of [Apache TomEE 1.7.2](http://tomee.apache.org/downloads.html), which is based on [Apache Tomcat 7.0.61](http://tomcat.apache.org/tomcat-7.0-doc/index.html), including numerous fixes and updates.
+
+Please note that the TomEE 1.7.2 drop in WAR file will not work on Apache Tomcat 8. If you are interested in a Tomcat 8.x version then please feel free to check out and [contribute to the developer branch](contribute.html) - We are always interested in any help from the community that we can get.
+
+The Apache TomEE 1.7.2 release files can be downloaded from here:
+
+[http://tomee.apache.org/downloads.html](downloads.html)
+
+###Update Maven POM Files
+
+Simply update your existing Maven JavaEE-API, OpenEJB and or TomEE pom.xml entries to point to the latest versions:
+
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>javaee-api</artifactId>
+		<version>6.0-6</version>
+		<scope>provided</scope>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>openejb-core</artifactId>
+		<version>4.7.2</version>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>tomee</artifactId>
+		<version>1.7.2</version>
+	</dependency>
+
+A complete [Changelog](tomee-1.7.2-release-notes.html) can be viewed here:
+
+[tomee-1.7.2-release-notes.html](tomee-1.7.2-release-notes.html)
+
+Please feel free to jump in feet first and [get started with TomEE](documentation.html). You will nearly always find someone to help you on one of our [support channels](support.html).
+
+###Java EE7 and Beyond
+
+From this point on the TomEE community will be focusing most of it's efforts on TomEE 2.0.x, which will be the first TomEE Java EE 7 driven version running on Apache Tomcat 8.x. It is more than likely that support for Java SE 6 will be dropped so that Java SE 7 features can finally be leveraged during the development process. We will of course continue to maintain the 1.7.x branch for the foreseeable future.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.7.3-release-notes.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.7.3-release-notes.mdtext b/src/main/jbake/content/tomee-1.7.3-release-notes.mdtext
new file mode 100644
index 0000000..db1f82d
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.7.3-release-notes.mdtext
@@ -0,0 +1,82 @@
+# Release Notes - TomEE - Version 1.7.3
+                
+
+        Release Notes - TomEE - Version 1.7.3
+                                
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1465'>TOMEE-1465</a>] -         org.apache.openejb.util.PropertyPlaceHolderHelper.PropertiesLookup caches properties
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1585'>TOMEE-1585</a>] -         org.apache.openejb.core.ivm.BaseEjbProxyHandler.ProxyRegistry#liveHandleRegistry not thread safe
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1587'>TOMEE-1587</a>] -         merge arquillian tomee ear support from 7.x to 1.7.x
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1590'>TOMEE-1590</a>] -         WsFactory: ClassCastException: java.util.HashSet cannot be cast to java.util.List
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1596'>TOMEE-1596</a>] -         AutoDeployer buggy is not using hot deploy
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1610'>TOMEE-1610</a>] -         [OSGi] Version range problem in openejb-core on bean-asm5
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1614'>TOMEE-1614</a>] -         Netbeans Tomcat Plugin Integration Does Not Detected TomeeStarted
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1622'>TOMEE-1622</a>] -         TomEE SystemInstance unsafely iterates over the System.getProperties()
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1631'>TOMEE-1631</a>] -         Basic Rotating JUL Handler
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1636'>TOMEE-1636</a>] -         BrokerXmlConfig xbean:file: does not accept a relative path
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1638'>TOMEE-1638</a>] -         tomee:exec on Windows produces invalid tomee.zip due to backslash directory separators
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1655'>TOMEE-1655</a>] -         ApplicationComposers not isolating @Configuration for each test class.
+</li>
+</ul>
+    
+<h2>        Dependency upgrade
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1611'>TOMEE-1611</a>] -         Tomcat 7.0.63
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1678'>TOMEE-1678</a>] -         Tomcat 7.0.65
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1633'>TOMEE-1633</a>] -         upgrade javamail to 1.9.0-alpha-2
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1673'>TOMEE-1673</a>] -         Upgrade commons-collections to 3.2.2
+</li>
+</ul>
+                    
+<h2>        Improvement
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1428'>TOMEE-1428</a>] -         improve the performance of TempClassLoader$ResourceComparator
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1455'>TOMEE-1455</a>] -         for resource local pu try to guess if datasource is configured in persistence unit properties
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1461'>TOMEE-1461</a>] -         Need a machine global mechanism for &#39;get next available port&#39; to prevent &#39;address in use&#39; issues
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1547'>TOMEE-1547</a>] -         Use application classloader for resources defined in resources.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1557'>TOMEE-1557</a>] -         Support AMQ plugin config on amq5factory
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1642'>TOMEE-1642</a>] -         Would be nice that tomee logs JAXRS configuration in use (was: sends an INFO when not found the relative class for pojo-deployment in configuration [openejb-jar.xml])
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1662'>TOMEE-1662</a>] -         Ensure dangling JMS connections are closed on shutdown
+</li>
+</ul>
+            
+<h2>        New Feature
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1442'>TOMEE-1442</a>] -         Show list of deployed applications (including EARs) in the console
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1456'>TOMEE-1456</a>] -         Support endorsed libs in the TomEE Maven Plugin
+</li>
+</ul>
+                                                                
+<h2>        Test
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1412'>TOMEE-1412</a>] -         Extra unversioned context displayed when using parallel deployment
+</li>
+</ul>
+        
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.7.3.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.7.3.mdtext b/src/main/jbake/content/tomee-1.7.3.mdtext
new file mode 100644
index 0000000..15c1f11
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.7.3.mdtext
@@ -0,0 +1,43 @@
+# Apache TomEE 1.7.3 released, Dec 9th 2015
+
+The Apache TomEE community is pleased to announce the release of [Apache TomEE 1.7.3](http://tomee.apache.org/downloads.html), which is based on [Apache Tomcat 7.0.65](http://tomcat.apache.org/tomcat-7.0-doc/index.html), including numerous fixes and updates.
+We know this has been a long time coming, so we thank you for your patience and support.
+
+Please note that the TomEE 1.7.3 drop in WAR file will not work on Apache Tomcat 8. If you are interested in a Tomcat 8.x version then please feel free to check out and [contribute to the developer branch](contribute.html) - We are always interested in any help from the community that we can get.
+
+The Apache TomEE 1.7.3 release files can be downloaded from here:
+
+[http://tomee.apache.org/downloads.html](downloads.html)
+
+###Update Maven POM Files
+
+Simply update your existing Maven JavaEE-API, OpenEJB and or TomEE pom.xml entries to point to the latest versions:
+
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>javaee-api</artifactId>
+		<version>6.0-6</version>
+		<scope>provided</scope>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>openejb-core</artifactId>
+		<version>4.7.3</version>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>tomee</artifactId>
+		<version>1.7.3</version>
+	</dependency>
+
+A complete [Changelog](tomee-1.7.3-release-notes.html) can be viewed here:
+
+[tomee-1.7.3-release-notes.html](tomee-1.7.3-release-notes.html)
+
+Please feel free to jump in feet first and [get started with TomEE](documentation.html). You will nearly always find someone to help you on one of our [support channels](support.html).
+
+###Java EE7 and Beyond
+
+From this point on the TomEE community will be focusing most of it's efforts on TomEE 7.0.0, which will be the first TomEE Java EE 7 driven version running on Apache Tomcat 8.x. It is more than likely that support for Java SE 6 will be dropped so that Java SE 7 features can finally be leveraged during the development process. We will of course continue to maintain the 1.7.x branch for the foreseeable future.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.7.4-release-notes.html
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.7.4-release-notes.html b/src/main/jbake/content/tomee-1.7.4-release-notes.html
new file mode 100644
index 0000000..c06f998
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.7.4-release-notes.html
@@ -0,0 +1,20 @@
+
+Release Notes - TomEE - Version 1.7.4
+
+<h2>        Bug
+</h2>
+<ul>
+    <li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1638'>TOMEE-1638</a>] -         tomee:exec on Windows produces invalid tomee.zip due to backslash directory separators
+    </li>
+    <li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1686'>TOMEE-1686</a>] -         org.apache.openejb.core.cmp.CmpContainer#findEJBObject supposes args array is not empty
+    </li>
+    <li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1705'>TOMEE-1705</a>] -         Destroy application attempts to initialize lazily loaded resources
+    </li>
+</ul>
+
+<h2>        Dependency upgrade
+</h2>
+<ul>
+    <li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1677'>TOMEE-1677</a>] -         tomcat 7.0.68
+    </li>
+</ul>

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.7.4.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.7.4.mdtext b/src/main/jbake/content/tomee-1.7.4.mdtext
new file mode 100644
index 0000000..c9a5188
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.7.4.mdtext
@@ -0,0 +1,43 @@
+# Apache TomEE 1.7.4 released, Mar 7th 2016
+
+The Apache TomEE community is pleased to announce the release of [Apache TomEE 1.7.4](http://tomee.apache.org/downloads.html), which is based on [Apache Tomcat 7.0.68](http://tomcat.apache.org/tomcat-7.0-doc/index.html), including numerous fixes and updates.
+Part of this release an important security fix is included if EJBd is active on your instance (true by default). More on [CVE-2016-0779](security/tomee.html).
+
+Please note that the TomEE 1.7.4 drop in WAR file will not work on Apache Tomcat 8. If you are interested in a Tomcat 8.x version then please feel free to check out and [contribute to the developer branch](contribute.html) - We are always interested in any help from the community that we can get.
+
+The Apache TomEE 1.7.4 release files can be downloaded from here:
+
+[http://tomee.apache.org/downloads.html](downloads.html)
+
+###Update Maven POM Files
+
+Simply update your existing Maven JavaEE-API, OpenEJB and or TomEE pom.xml entries to point to the latest versions:
+
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>javaee-api</artifactId>
+		<version>6.0-6</version>
+		<scope>provided</scope>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>openejb-core</artifactId>
+		<version>4.7.4</version>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.openejb</groupId>
+		<artifactId>tomee</artifactId>
+		<version>1.7.4</version>
+	</dependency>
+
+A complete [Changelog](tomee-1.7.4-release-notes.html) can be viewed here:
+
+[tomee-1.7.4-release-notes.html](tomee-1.7.4-release-notes.html)
+
+Please feel free to jump in feet first and [get started with TomEE](documentation.html). You will nearly always find someone to help you on one of our [support channels](support.html).
+
+###Java EE7 and Beyond
+
+From this point on the TomEE community will be focusing most of it's efforts on TomEE 7.0.0, which will be the first TomEE Java EE 7 driven version running on Apache Tomcat 8.x. It is more than likely that support for Java SE 6 will be dropped so that Java SE 7 features can finally be leveraged during the development process. We will of course continue to maintain the 1.7.x branch for the foreseeable future.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-7.0.0-M1-release-notes.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-7.0.0-M1-release-notes.mdtext b/src/main/jbake/content/tomee-7.0.0-M1-release-notes.mdtext
new file mode 100644
index 0000000..c059580
--- /dev/null
+++ b/src/main/jbake/content/tomee-7.0.0-M1-release-notes.mdtext
@@ -0,0 +1,529 @@
+
+        Release Notes - TomEE - Version 7.0.0-M1
+    
+<h2>        Sub-task
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1322'>TOMEE-1322</a>] -         Client API
+</li>
+</ul>
+                            
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1071'>TOMEE-1071</a>] -         NoClassDefFoundError - SVGDocument
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1265'>TOMEE-1265</a>] -         Can not start tomee when using conf/catalina.policy
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1266'>TOMEE-1266</a>] -         Unable to configure a datasource with TomEE in context of Oracle Wallet
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1268'>TOMEE-1268</a>] -         Auto scanning of @Provider
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1275'>TOMEE-1275</a>] -         TimerExecutor as compoenent doesn&#39;t follow executor lifecycle (stop/start)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1281'>TOMEE-1281</a>] -         JAXRS doesn&#39;t work with deltaspike in Application#getSingleton
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1283'>TOMEE-1283</a>] -         old commons-lang3 dependency in lib folder
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1296'>TOMEE-1296</a>] -         org.apache.openejb.jpa.integration.eclipselink.OpenEJBServerPlatform mbeanServer name is wrong
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1324'>TOMEE-1324</a>] -         Problem with TomEE Maven archetype
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1325'>TOMEE-1325</a>] -         Dynamic subclassing doesn&#39;t support interfaces (@Local)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1329'>TOMEE-1329</a>] -         jars.txt doesn&#39;t support empty lines
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1330'>TOMEE-1330</a>] -         Support to include container urls in scanning
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1333'>TOMEE-1333</a>] -         NPE in releasing deployed artifacts with ArquillianSuiteExtension
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1334'>TOMEE-1334</a>] -         cdi lazy realm throws NPE cause of init handling (too early)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1335'>TOMEE-1335</a>] -         openejb.deployer.save-deployments broken on war
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1342'>TOMEE-1342</a>] -         OutputGeneratedDescriptors doesn&#39;t output complete ejb-jar.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1343'>TOMEE-1343</a>] -         HSQL server shuts down saying no databases available
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1344'>TOMEE-1344</a>] -         URLClassLoader are not closed during scanning and with app undeployment
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1348'>TOMEE-1348</a>] -         [JAXRS] ensure static resources are handled through servlet chain (jsp case for instance)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1350'>TOMEE-1350</a>] -         arquillian class discovering algorithm should ignore test classes which can&#39;t be EJBs
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1351'>TOMEE-1351</a>] -         jaxws doesn&#39;t support ROOT context
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1352'>TOMEE-1352</a>] -         can&#39;t start if there is a space in tomee folder path
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1353'>TOMEE-1353</a>] -         [regression] jsonproviuder no more added 
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1357'>TOMEE-1357</a>] -         tomee forces new StandardManager()
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1358'>TOMEE-1358</a>] -         openejb.additional.include not respected
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1359'>TOMEE-1359</a>] -         TomEEInjectionEnricher does not always return correct AppContext
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1362'>TOMEE-1362</a>] -         WsRsTest is not correct
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1364'>TOMEE-1364</a>] -         When using the tomee-maven-plugins stop goal tomee seems to hang forever
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1366'>TOMEE-1366</a>] -         UnsupportedOperationException in CxfEndpoint.doServiceCreate
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1379'>TOMEE-1379</a>] -         TransactionSynchronizationRegistry not found in JNDI for EJB Timer started transactions
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1381'>TOMEE-1381</a>] -         wrong property passed as ValidatorFactory to JPA
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1382'>TOMEE-1382</a>] -         allow to override LoaderService of openwebbeans by app in application.properties
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1384'>TOMEE-1384</a>] -         tolerate serialization of undeployed EJB
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1385'>TOMEE-1385</a>] -         in embedded mode with embedded JUL logger allow to change consoleHandlerClazz
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1389'>TOMEE-1389</a>] -         ApplicationComposer should try all possible BeanManager for injections
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1406'>TOMEE-1406</a>] -         Compile error in openejb-core due to an encoding issue
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1407'>TOMEE-1407</a>] -         Invalid filtering configuration for assembly/openejb-standalone which causes a compile error
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1409'>TOMEE-1409</a>] -         Invalid configuration in module openejb-junit
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1414'>TOMEE-1414</a>] -         @Jars works only with a single jar and not all matching jars
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1423'>TOMEE-1423</a>] -         Packaging contains duplicate artifacts with snapshot timestamp
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1429'>TOMEE-1429</a>] -         tomee embedded broken
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1431'>TOMEE-1431</a>] -         tomee embedded ignores server.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1433'>TOMEE-1433</a>] -         Prevent error output on tomee:run&lt;Enter&gt;
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1435'>TOMEE-1435</a>] -         flushable datasources not destroyed
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1438'>TOMEE-1438</a>] -         cxf classloader doesn&#39;t delegate properly in equals/hashcode (lookup are broken in tomcat)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1448'>TOMEE-1448</a>] -         container CDI classes shouldn&#39;t be filtered from CDI context
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1449'>TOMEE-1449</a>] -         allow to deploy twice (several hosts) the same app
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1450'>TOMEE-1450</a>] -         Unable to shutdown with whitespace in path because of javaagent error
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1452'>TOMEE-1452</a>] -         reloading doesn&#39;t work with jaxws services for ears
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1457'>TOMEE-1457</a>] -         OpenEJBLoginValidator shouldn&#39;t associate if in tomee
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1460'>TOMEE-1460</a>] -         deploying cxf webservice in host other than localhost
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1462'>TOMEE-1462</a>] -         ApplicationComposer hides assert errors
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1467'>TOMEE-1467</a>] -         embedded http layer doesn&#39;t support repeated query parameters
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1468'>TOMEE-1468</a>] -         ApplicationComposer + CDI for a WebApp breaks startup
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1477'>TOMEE-1477</a>] -         TomEE wont start if added maven-properties to &lt;args&gt;
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1480'>TOMEE-1480</a>] -         make possibility to provide conf.d-files for arquillian-tomee-remote adapter
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1481'>TOMEE-1481</a>] -         web-fragment.xml FacesServlet declaration not supported
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1488'>TOMEE-1488</a>] -         basic support of LATEST and LATEST-SNAPSHOT in maven resolver
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1490'>TOMEE-1490</a>] -         Arquillian Test and Local context.xml file not loading correctly
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1491'>TOMEE-1491</a>] -         add a LazyValve
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1495'>TOMEE-1495</a>] -         TomEE won&#39;t load Taglibs from WEB-INF/lib/
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1497'>TOMEE-1497</a>] -         NPE When deploy genericjmsra.rar 
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1499'>TOMEE-1499</a>] -         connector modules are not destroyed properly
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1502'>TOMEE-1502</a>] -         CDI interceptors dont work with MDBs
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1503'>TOMEE-1503</a>] -         for ear try to guess is webapp should use delegate loading or not
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1504'>TOMEE-1504</a>] -         undeploy doesn&#39;t always clean up correctly Deployments
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1505'>TOMEE-1505</a>] -         shutdown cxf bus when exiting services (rs/ws)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1507'>TOMEE-1507</a>] -         openejb-rest leaks deployed apps
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1510'>TOMEE-1510</a>] -         CXF Continuations not working for REST services
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1511'>TOMEE-1511</a>] -         Parallel deployment + EJB webservice not working
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1513'>TOMEE-1513</a>] -         catalina.sh does not quote javaagent argument correctly
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1520'>TOMEE-1520</a>] -         A service as a singleton is not working
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1521'>TOMEE-1521</a>] -         Duplicate App Deployment when autoDeploy=&quot;true&quot;
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1527'>TOMEE-1527</a>] -         helper cli command to debug/introspect resources (list setters and effective tomee resources)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1528'>TOMEE-1528</a>] -         add LogSqlPackages and openejb.log.sql.packages
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1531'>TOMEE-1531</a>] -         TomEE 2 + Mojarra 2.2.10 NPE when navigating into a flow
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1534'>TOMEE-1534</a>] -         in JAXRS ExceptionException are not always unwrapped
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1535'>TOMEE-1535</a>] -         JAX-RS Subresource paths are chosen incorrectly
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1540'>TOMEE-1540</a>] -         tomee.sh doesn&#39;t support missing JAVA_HOME var
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1546'>TOMEE-1546</a>] -         tomee forces jsf 2 cause of check of scopes
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1549'>TOMEE-1549</a>] -         org.apache.openejb.resource.activemq.ActiveMQ5Factory#createPersistenceAdapter broken for all but kahadb
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1551'>TOMEE-1551</a>] -         URLClassLoaderFirst uses its own lock and not classloader one
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1553'>TOMEE-1553</a>] -         EJBContainerRunner broken with junit 4.12
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1566'>TOMEE-1566</a>] -         [tomee-maven-plugin] Allow for name customizations for .rar apps
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1568'>TOMEE-1568</a>] -         support overriding of a failed deployment in tomcat webappdeployer
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1569'>TOMEE-1569</a>] -         openejb Logger (util package) should use container loader to create JUL loggers
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1570'>TOMEE-1570</a>] -         OpenEJBLogRecord misses logger name
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1571'>TOMEE-1571</a>] -         arquillian-openejb-embedded doesn&#39;t destroy sessions with application undeployment in embedded http mode
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1576'>TOMEE-1576</a>] -         openejb-http ServletRequest.getSession().invalidate should remove the session cached in the request
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1577'>TOMEE-1577</a>] -         [openejb-http] SessionManager.destroy cleanup does not check if Session got destroyed in the meantime
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1580'>TOMEE-1580</a>] -         Datasource JNDI Name Context not available to eclipselink non jta data source
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1584'>TOMEE-1584</a>] -         ProvisioningUtil does not escape group id for maven-metadata.xml check
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1585'>TOMEE-1585</a>] -         org.apache.openejb.core.ivm.BaseEjbProxyHandler.ProxyRegistry#liveHandleRegistry not thread safe
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1589'>TOMEE-1589</a>] -         LogSql doesn&#39;t support openjpa externalizer/stream
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1590'>TOMEE-1590</a>] -         WsFactory: ClassCastException: java.util.HashSet cannot be cast to java.util.List
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1594'>TOMEE-1594</a>] -         resource sorting for dependency management doesn&#39;t handle transitivity
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1596'>TOMEE-1596</a>] -         AutoDeployer buggy is not using hot deploy
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1599'>TOMEE-1599</a>] -         Session attributes are logged like being unused
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1608'>TOMEE-1608</a>] -         org.apache.openejb.client.RemoteInitialContextFactory doesnt logout authenticated pcp
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1610'>TOMEE-1610</a>] -         [OSGi] Version range problem in openejb-core on bean-asm5
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1615'>TOMEE-1615</a>] -         JTA JDBC proxies always create a connection even if one is already bound to the current transaction
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1621'>TOMEE-1621</a>] -         [jaxrs] EJBException should be unwrapped and rethrown - and not translated to anything else
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1623'>TOMEE-1623</a>] -         openejb-client doesnt support HTTPS KeepAlive caching of the JVM
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1631'>TOMEE-1631</a>] -         Basic Rotating JUL Handler
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1632'>TOMEE-1632</a>] -         org.apache.openejb.client.Client ignored IOException
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1641'>TOMEE-1641</a>] -         openejb deploymentid format changes WS endpoint
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1669'>TOMEE-1669</a>] -         blacklist org.codehaus.groovy.runtime.,org.apache.commons.collections.functors.,org.apache.xalan in our custom ObjectInputStream
+</li>
+</ul>
+    
+<h2>        Dependency upgrade
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1277'>TOMEE-1277</a>] -         cxf 3
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1368'>TOMEE-1368</a>] -         upgrade arquillian-transaction-impl-base to 1.0.1.Final
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1369'>TOMEE-1369</a>] -         arquillian persistence sample
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1370'>TOMEE-1370</a>] -         symbolic links not supported by tomee for @WebXXX
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1391'>TOMEE-1391</a>] -         Use maven-filtering:1.2 to fix MSHARED-319 when compiling under JDK8
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1426'>TOMEE-1426</a>] -         XBean 4.4
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1506'>TOMEE-1506</a>] -         AMQ 5.12.0
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1514'>TOMEE-1514</a>] -         arquillian 1.1.7.Final, ShrinkWrap descriptor 2.0.0-alpha-7 and Shrinkwrap 1.2.2
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1543'>TOMEE-1543</a>] -         [lang3] 3.4
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1554'>TOMEE-1554</a>] -         Upgrade OpenJPA to 2.4.0
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1564'>TOMEE-1564</a>] -         geronimo connector/transaction 3.1.2
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1620'>TOMEE-1620</a>] -         dbcp2+pool2
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1673'>TOMEE-1673</a>] -         Upgrade commons-collections to 3.2.2
+</li>
+</ul>
+    
+<h2>        Documentation
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1264'>TOMEE-1264</a>] -         Doc issue with &quot;cxf.jaxrs.providers&quot;
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1605'>TOMEE-1605</a>] -         Status Page for Java EE 7
+</li>
+</ul>
+                
+<h2>        Improvement
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1269'>TOMEE-1269</a>] -         if a @Path interface has a single implementation add it as rest service
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1270'>TOMEE-1270</a>] -         exclude from scanning @Deprecated @Providers
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1272'>TOMEE-1272</a>] -         Do not force use of system property &#39;com.sun.management.jmxremote&#39;
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1273'>TOMEE-1273</a>] -         fix SslTomEETest to work with JDK 8 keytool
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1328'>TOMEE-1328</a>] -         Arquillian.xml &#39;additionalLibs&#39; must fail-fast
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1336'>TOMEE-1336</a>] -         Support classname.activated = true/false for auto discovered providers
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1339'>TOMEE-1339</a>] -         [JAXRS] try static resources first
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1354'>TOMEE-1354</a>] -         Add &#39;openejb.deployer.binaries.use&#39; automatically for arquillian test on remote machine
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1371'>TOMEE-1371</a>] -         if using kahadb or leveldb or any persistence adapter force broker to be persistent
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1372'>TOMEE-1372</a>] -         when trying to find persistence unit datasources ensure to try exact name first without required property constraint
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1373'>TOMEE-1373</a>] -         AlternativeDriver leaks when used (by default) from applications (resources.xml)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1374'>TOMEE-1374</a>] -         basic detection that container loader can&#39;t create a datasource and fallback on app one
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1375'>TOMEE-1375</a>] -         add an option to deploy &quot;war classpath&quot; using tomee embedded maven plugin
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1386'>TOMEE-1386</a>] -         skip org.apache.wink.common.internal. @Provider when using CXF
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1387'>TOMEE-1387</a>] -         tomee embedded arquillian adapter doesn&#39;t delete temp folder as fast as it should/could
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1392'>TOMEE-1392</a>] -         META-INF/org.apache.openejb.extension doesn&#39;t support multiple lines
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1394'>TOMEE-1394</a>] -         mimic official JBoss CDI enricher for method parameter
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1411'>TOMEE-1411</a>] -         allow to create an application composer webapp using all inner classes of the test
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1418'>TOMEE-1418</a>] -         Add Classpath discovery in REST annotations with virtual class path
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1422'>TOMEE-1422</a>] -         Potential NPE when stoping container.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1425'>TOMEE-1425</a>] -         better JMX naming for cxf jaxrs endpoint
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1430'>TOMEE-1430</a>] -         add support for users/roles for tomee embedded
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1434'>TOMEE-1434</a>] -         wire roles/users to tomee embedded arquillian adapter
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1439'>TOMEE-1439</a>] -         @Context SecurityContext doesn&#39;t use SecurityService
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1443'>TOMEE-1443</a>] -         support cxf.jaxws.wsFeatures
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1454'>TOMEE-1454</a>] -         add openejb.force-unit-type property to workaround 8.2.1.5 of JPA 2.0 spec
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1463'>TOMEE-1463</a>] -         support WebServiceFeature for @WebServiceRef as well
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1466'>TOMEE-1466</a>] -         Apply WS-Security config (cxf interceptor) when use @WebService with javax.xml.ws.Service
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1484'>TOMEE-1484</a>] -         Add JMS 2 to spec JAR
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1486'>TOMEE-1486</a>] -         add to jaxws events close to jaxrs ones for consistency (ServerCreated/Destroyed)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1489'>TOMEE-1489</a>] -         Allow ActiveMQ scheduler activation when using kahadb persistence
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1500'>TOMEE-1500</a>] -         MultiPulse bad URI event only fires once
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1516'>TOMEE-1516</a>] -         Add method without optional parameters for Container#deployPathsAsWebapp
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1522'>TOMEE-1522</a>] -         support resources.xml in META-INF of ears
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1529'>TOMEE-1529</a>] -         BaseEjbProxyHandler#equals is super slow when parameter is not a proxy
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1530'>TOMEE-1530</a>] -         (arquillian) OpenEJBEnricher: if app context is null try to find it from classloader
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1548'>TOMEE-1548</a>] -         add @PostConstruct/@PreDestroy support for container resources as well based on Jon&#39;s work
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1558'>TOMEE-1558</a>] -         OpenEJBHttpRegistry should support getting its port from placeholder
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1562'>TOMEE-1562</a>] -         Adjust ConfigurationDeployer scan loop.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1565'>TOMEE-1565</a>] -          org.apache.openejb.OpenEJBException: Unable to load type &#39;XXX&#39; for comp/env/openejb/Resource/&lt;id&gt;
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1567'>TOMEE-1567</a>] -         allow to override persistence-unit properties from application.properties (as we already support system props)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1578'>TOMEE-1578</a>] -         dont override tomee.xml if existing and we need to add apps.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1592'>TOMEE-1592</a>] -         support java:/ resource naming
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1593'>TOMEE-1593</a>] -         try to mitigate resouces.xml sorting using a LinkedSet instead of a hashset in AppModule
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1604'>TOMEE-1604</a>] -         stateless eviction thread count should be configurable and not 1 by stateless bean pool
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1617'>TOMEE-1617</a>] -         remove implicit datasource attribute conversion for pools
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1629'>TOMEE-1629</a>] -         Implement a custom integration around log4j2 org.apache.logging.log4j.core.util.ShutdownCallbackRegistry
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1630'>TOMEE-1630</a>] -         activate ejb remote in tomee embedded with a flag
+</li>
+</ul>
+            
+<h2>        New Feature
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1274'>TOMEE-1274</a>] -         support additionalLibs in arquillian.xml to add libs from mvn coordinates to tomee/lib
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1282'>TOMEE-1282</a>] -         basic @Transactional @TransactionScoped support
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1285'>TOMEE-1285</a>] -         allow jaxrs providers to be CDI bean
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1288'>TOMEE-1288</a>] -         supports default in out propertyplaceholding
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1289'>TOMEE-1289</a>] -         allow user to provide a properties-provider on resources
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1294'>TOMEE-1294</a>] -         Allow to set System-Property in tomee.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1295'>TOMEE-1295</a>] -         openjpa.EntityManagerFactoryPool support for container persistence unit
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1297'>TOMEE-1297</a>] -         add @Jars annotation to ApplicationComposer
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1298'>TOMEE-1298</a>] -         Support JSR 107: JCACHE - Java Temporary Caching API
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1332'>TOMEE-1332</a>] -         support @Startup on CDI beans (@ApplicationScoped or normal scoped beans if the context is active at boot time)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1341'>TOMEE-1341</a>] -         Arquillian support for Suite testing
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1345'>TOMEE-1345</a>] -         basic support of Tomcat embedded in tomee-embedded
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1346'>TOMEE-1346</a>] -         support ciphered values in resources
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1347'>TOMEE-1347</a>] -         allow to provide a default global properties provider for resources
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1388'>TOMEE-1388</a>] -         add @JaxrsProviders to ApplicationComposers to add provider classes quickly on WebApp
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1420'>TOMEE-1420</a>] -         tomee-maven-plugin customizers configuration to be able to call java code to customize an instance
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1421'>TOMEE-1421</a>] -         support persistence of javaagent config in tomee maven plugin
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1436'>TOMEE-1436</a>] -         create RunAsRule
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1437'>TOMEE-1437</a>] -         create TransactionRule
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1440'>TOMEE-1440</a>] -         support singleDeploymentByArchiveName in tomee arquillian adapters (remote/embedded)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1444'>TOMEE-1444</a>] -         allow extensions through openejb extensions of cxf-rs
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1446'>TOMEE-1446</a>] -         add event BeforeStartEjbs otherwise for timer beans it is surely too late if you want to modify it
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1447'>TOMEE-1447</a>] -         tomee-embedded-maven-plugin should support deployment of multiple applications
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1451'>TOMEE-1451</a>] -         notify through BusCreated event when cxf bus is created
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1458'>TOMEE-1458</a>] -         provide cxf configuration support for @WebServiceRef
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1464'>TOMEE-1464</a>] -         support tomee embedded shades
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1472'>TOMEE-1472</a>] -         @RandomPort for applicationComposer
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1473'>TOMEE-1473</a>] -         @SimpleLog for ApplicationComposer
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1479'>TOMEE-1479</a>] -         HttpRequestImpl login backed by security service by default
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1482'>TOMEE-1482</a>] -         add ability to log all CDI beans found (OWB scanner)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1483'>TOMEE-1483</a>] -         support destinationLookup activation spec with activemq
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1487'>TOMEE-1487</a>] -         CDI Event based realm
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1494'>TOMEE-1494</a>] -         add a run(Class,String...) utitlity method to ApplicationComposers
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1498'>TOMEE-1498</a>] -         basic web resource support for openejb-http
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1512'>TOMEE-1512</a>] -         create basic application composer maven plugin
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1517'>TOMEE-1517</a>] -         TomEEEmbeddedRule
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1518'>TOMEE-1518</a>] -         ContainerRule and ApplicationRule
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1526'>TOMEE-1526</a>] -         global (conf/system.properties) openejb.datasource.pool support
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1539'>TOMEE-1539</a>] -         tomee maven plugins: allow to configure server.xml in the pom
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1541'>TOMEE-1541</a>] -         add inlinedTomEEXml to tomee maven plugins
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1542'>TOMEE-1542</a>] -         JAXRS: trailing slash not ignored/handled properly
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1544'>TOMEE-1544</a>] -         openejb.jpa.timer property to deactivate (false) jtaentitymanager timer metrics
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1550'>TOMEE-1550</a>] -         support AMQ plugin config on amq5factory
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1552'>TOMEE-1552</a>] -         add openejb.activemq.deploymentId-as-clientId flag to not force AMQ clientId to ejb deploymentId
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1555'>TOMEE-1555</a>] -         create @PersistenceUnitDefinition
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1556'>TOMEE-1556</a>] -         ApplicationComposer like API for web applications
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1559'>TOMEE-1559</a>] -         provide a basic programmatic way to secure a webapp when using tomee embedded deploy classpath
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1560'>TOMEE-1560</a>] -         tomee-embedded should support a custom realm in configuration
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1573'>TOMEE-1573</a>] -         support normal containers (ie not ra ones) in resources.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1574'>TOMEE-1574</a>] -         support Resources as return type of @Module in application composer
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1575'>TOMEE-1575</a>] -         heroku PropertiesResourceProvider
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1579'>TOMEE-1579</a>] -         support executable wars just doing an overlay of tomee embedded
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1582'>TOMEE-1582</a>] -         support endorsed and javaagent list for remote tomee arquillian adapter
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1595'>TOMEE-1595</a>] -         ApplicationComposer should support @PersistenceRootUrl for advanced cases
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1597'>TOMEE-1597</a>] -         tomee-maven-plugin: tar:gz support for tomee:build
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1598'>TOMEE-1598</a>] -         tomee-maven-plugin: support main as customizer
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1600'>TOMEE-1600</a>] -         tomee-maven-plugin: support exploded war in tomee:build
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1603'>TOMEE-1603</a>] -         support CDI password ciphers
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1625'>TOMEE-1625</a>] -         provide a way to recreate a datasource pool - Flushable feature - automatically on SQLException - aka ResetOnError
+</li>
+</ul>
+                                                        
+<h2>        Task
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1276'>TOMEE-1276</a>] -         rework TimerExecutor
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1278'>TOMEE-1278</a>] -         tomcat 8.0.x
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1279'>TOMEE-1279</a>] -         integrate batchee
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1280'>TOMEE-1280</a>] -         myfaces 2.2.x
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1317'>TOMEE-1317</a>] -         Ensure full support of JSR-349 Bean Validation 1.1
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1327'>TOMEE-1327</a>] -         log4j2 integration
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1331'>TOMEE-1331</a>] -         rework ProvisiningUtil to allow it to support more resolvers
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1355'>TOMEE-1355</a>] -         experiment a tomee-embedded flat webapp mode
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1356'>TOMEE-1356</a>] -         tomcat resources are not always well created and can return a Context instead of the real instance
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1588'>TOMEE-1588</a>] -         move tomee to org.apache.tomee groupId
+</li>
+</ul>
+        
+<h2>        Test
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1290'>TOMEE-1290</a>] -         Source build profile &#39;hibernate&#39; requires junit dependency
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1338'>TOMEE-1338</a>] -         Create tests for DeployerEjb
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1523'>TOMEE-1523</a>] -         Pull LegacyClientTest resources init into @BeforeClass
+</li>
+</ul>
+        
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-7.0.0-M1.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-7.0.0-M1.mdtext b/src/main/jbake/content/tomee-7.0.0-M1.mdtext
new file mode 100644
index 0000000..095da65
--- /dev/null
+++ b/src/main/jbake/content/tomee-7.0.0-M1.mdtext
@@ -0,0 +1,41 @@
+# Apache TomEE 7.0.0-M1 released, Dec 11th 2015
+
+The Apache TomEE community is proud to announce the release of [Apache TomEE 7.0.0-M1](download/tomee-7.0.0-M1.html), which is based on [Apache Tomcat 8.0.30](http://tomcat.apache.org/tomcat-8.0-doc/index.html) and is our first milestone release towards EE7.
+We know this has been a long time coming, so we thank you for your patience and support.
+
+Please feel free to check out and [contribute to the developer branch](contribute.html) - We are always interested in any help from the community that we can get.
+
+This version is not certified and is provided to the community as a milestone preview of the current development version. It is however an extremly well tested version. So please do test your applications and give us your feedback.
+
+The Apache TomEE 7.0.0-M1 release files can be downloaded from here:
+
+[http://tomee.apache.org/download/tomee-7.0.0-M1.html](download/tomee-7.0.0-M1.html)
+
+###Update Maven POM Files - The OpenEJB version and groupId have been aligned
+
+Simply update your existing Maven JavaEE-API, OpenEJB and or TomEE pom.xml entries to point to the latest versions:
+
+	<dependency>
+		<groupId>org.apache.tomee</groupId>
+		<artifactId>javaee-api</artifactId>
+		<version>7.0</version>
+		<scope>provided</scope>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.tomee</groupId>
+		<artifactId>openejb-core</artifactId>
+		<version>7.0.0-M1</version>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.tomee</groupId>
+		<artifactId>tomee</artifactId>
+		<version>7.0.0-M1</version>
+	</dependency>
+
+A complete [Changelog](tomee-7.0.0-M1-release-notes.html) can be viewed here:
+
+[tomee-7.0.0-M1-release-notes.html](tomee-7.0.0-M1-release-notes.html)
+
+Please feel free to jump in feet first and [get started with TomEE](documentation.html). You will nearly always find someone to help you on one of our [support channels](support.html).
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-7.0.0-M2-release-notes.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-7.0.0-M2-release-notes.mdtext b/src/main/jbake/content/tomee-7.0.0-M2-release-notes.mdtext
new file mode 100644
index 0000000..ef57dc6
--- /dev/null
+++ b/src/main/jbake/content/tomee-7.0.0-M2-release-notes.mdtext
@@ -0,0 +1,138 @@
+
+        Release Notes - TomEE - Version 7.0.0-M2
+
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1640'>TOMEE-1640</a>] -         TomEE should &quot;scan&quot; a possible CDI beans if a NoClassDefFoundError occurs before registering it
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1644'>TOMEE-1644</a>] -         synchronization ignored for entity managers using extended contexts
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1645'>TOMEE-1645</a>] -         tomee.sh ignored common.loader
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1646'>TOMEE-1646</a>] -         tomee.sh cipher swallows exceptions
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1649'>TOMEE-1649</a>] -         Websockets Memory Leak
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1655'>TOMEE-1655</a>] -         ApplicationComposers not isolating @Configuration for each test class.
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1663'>TOMEE-1663</a>] -         org.apache.openejb.assembler.classic.Assembler#destroyResourceTree doesnt detect resource adapter properly, can lead to bad connection factory shutdown
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1672'>TOMEE-1672</a>] -         user transaction not accessible during startup in webapps
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1681'>TOMEE-1681</a>] -         Upgrade &#39;&lt;cxf.version&gt;&#39; property in openejb.pom to 3.1.3
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1685'>TOMEE-1685</a>] -         Persistence and PersistenceUnit shouldnt be counted as module and lead webapps to be considered as ear in application composer
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1686'>TOMEE-1686</a>] -         org.apache.openejb.core.cmp.CmpContainer#findEJBObject supposes args array is not empty
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1687'>TOMEE-1687</a>] -         ServletContext not accesible during ApplicationScoped Initialized event
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1689'>TOMEE-1689</a>] -         arquillian tomee remote can miss test classes in webapp of ears
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1695'>TOMEE-1695</a>] -         ManagedExecutorService not propagating a request.login() when used in a servlet
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1696'>TOMEE-1696</a>] -         Lazy resources can use app classloader instead of container loader
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1698'>TOMEE-1698</a>] -         BeanManager no more set in ServletContext attributes
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1699'>TOMEE-1699</a>] -         [tomee-maven-plugin] dont quote systemVariables
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1702'>TOMEE-1702</a>] -         BaseEjbProxyHandler live proxy registry can leak for cmp beans
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1703'>TOMEE-1703</a>] -         finder not available for ear webapp making ServletcContextInitializer broken
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1704'>TOMEE-1704</a>] -         makes active config property override working and support placeholders
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1705'>TOMEE-1705</a>] -         Destroy application attempts to initialize lazily loaded resources
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1706'>TOMEE-1706</a>] -         Standalone WAR (autoWar) gets not deployed at / (ROOT)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1710'>TOMEE-1710</a>] -         resources.xml resource ClassCastException
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1711'>TOMEE-1711</a>] -         cxf-rs doesn&#39;t work in embedded mode if request is wrapped in HttpServletRequestWrapper
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1713'>TOMEE-1713</a>] -         ensure OpenWebBeans services can be extended using application.properties
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1721'>TOMEE-1721</a>] -         no module (webapp here) webservices can lead to NPE
+</li>
+</ul>
+
+<h2>        Dependency upgrade
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1633'>TOMEE-1633</a>] -         upgrade javamail to 1.9.0-alpha-2
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1659'>TOMEE-1659</a>] -         upgrade to mojarra 2.2.9
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1670'>TOMEE-1670</a>] -         xbean 4.5
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1674'>TOMEE-1674</a>] -         tomcat 8.0.32
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1676'>TOMEE-1676</a>] -         ActiveMQ 5.13
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1679'>TOMEE-1679</a>] -         myfaces 2.2.9
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1680'>TOMEE-1680</a>] -         mojarra 2.2.12
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1684'>TOMEE-1684</a>] -         CXF 3.1.5
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1700'>TOMEE-1700</a>] -         upgrade Johnzon to 0.9.3
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1707'>TOMEE-1707</a>] -         bval 1.1.1
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1716'>TOMEE-1716</a>] -         openjpa 2.4.1
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1717'>TOMEE-1717</a>] -         OpenWebBeans 1.6.3
+</li>
+</ul>
+
+<h2>        Improvement
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1642'>TOMEE-1642</a>] -         Would be nice that tomee logs JAXRS configuration in use (was: sends an INFO when not found the relative class for pojo-deployment in configuration [openejb-jar.xml])
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1643'>TOMEE-1643</a>] -         XADataSource can leak connections/skip the pool
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1650'>TOMEE-1650</a>] -         ignore tomee webapp and internal application by default
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1656'>TOMEE-1656</a>] -         {jaxrs provider qualifier name}.activated ignored for mandatory providers
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1657'>TOMEE-1657</a>] -         skip ValidationExceptionMapper if the user registers one
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1694'>TOMEE-1694</a>] -         remove workaround for websockets CDI releasing since tomcat cleans server endpoints
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1708'>TOMEE-1708</a>] -         [arquillian] use configured temp dir (arquillian.xml) instead of target to download tomee
+</li>
+</ul>
+
+<h2>        New Feature
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1651'>TOMEE-1651</a>] -         support char[] password decryption (not String)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1652'>TOMEE-1652</a>] -         add cdiStereotypes() to @Classes in ApplicationComposer API
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1653'>TOMEE-1653</a>] -         add hooks in tomee:exec runner
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1660'>TOMEE-1660</a>] -         tomee embedded should support web resource cache configuration
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1667'>TOMEE-1667</a>] -         add published-url in cxf.jax*. properties in openejb-jar.xml
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1668'>TOMEE-1668</a>] -         add objectName configuration to @MBean
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1675'>TOMEE-1675</a>] -         TomEE embedded EJBContainer implementation ignores container properties
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1682'>TOMEE-1682</a>] -         support tomee archives without a root folder in tomee maven plugin
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1690'>TOMEE-1690</a>] -         [tomee maven plugin] add jsCustomizers and groovyCustomizers option
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1701'>TOMEE-1701</a>] -         add a single instance ApplicationComposer (SingleApplicationComposerRunner)
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1709'>TOMEE-1709</a>] -         [tomee-embedded-maven-plugin] LiveReload integration
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1714'>TOMEE-1714</a>] -         add TomEEProxyHandler property in datasources to support custom proxying
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1715'>TOMEE-1715</a>] -         basic part support in openejb-http (embedded)
+</li>
+</ul>

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-7.0.0-M2.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-7.0.0-M2.mdtext b/src/main/jbake/content/tomee-7.0.0-M2.mdtext
new file mode 100644
index 0000000..8f2b5b3
--- /dev/null
+++ b/src/main/jbake/content/tomee-7.0.0-M2.mdtext
@@ -0,0 +1,41 @@
+# Apache TomEE 7.0.0-M2 released, Feb 29th 2016
+
+The Apache TomEE community is proud to announce the release of [Apache TomEE 7.0.0-M2](download/tomee-7.0.0-M2.html), which is based on [Apache Tomcat 8.0.32](http://tomcat.apache.org/tomcat-8.0-doc/index.html) and is our first milestone release towards EE7.
+We know this has been a long time coming, so we thank you for your patience and support.
+
+Please feel free to check out and [contribute to the developer branch](contribute.html) - We are always interested in any help from the community that we can get.
+
+This version is not certified and is provided to the community as a milestone preview of the current development version. It is however an extremly well tested version. So please do test your applications and give us your feedback.
+
+The Apache TomEE 7.0.0-M2 release files can be downloaded from here:
+
+[http://tomee.apache.org/download/tomee-7.0.0-M2.html](download/tomee-7.0.0-M2.html)
+
+###Update Maven POM Files - The OpenEJB version and groupId have been aligned
+
+Simply update your existing Maven JavaEE-API, OpenEJB and or TomEE pom.xml entries to point to the latest versions:
+
+	<dependency>
+		<groupId>org.apache.tomee</groupId>
+		<artifactId>javaee-api</artifactId>
+		<version>7.0</version>
+		<scope>provided</scope>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.tomee</groupId>
+		<artifactId>openejb-core</artifactId>
+		<version>7.0.0-M2</version>
+	</dependency>
+	
+	<dependency>
+		<groupId>org.apache.tomee</groupId>
+		<artifactId>tomee</artifactId>
+		<version>7.0.0-M2</version>
+	</dependency>
+
+A complete [Changelog](tomee-7.0.0-M2-release-notes.html) can be viewed here:
+
+[tomee-7.0.0-M2-release-notes.html](tomee-7.0.0-M2-release-notes.html)
+
+Please feel free to jump in feet first and [get started with TomEE](documentation.html). You will nearly always find someone to help you on one of our [support channels](support.html).

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-7.0.0-M3-release-notes.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-7.0.0-M3-release-notes.mdtext b/src/main/jbake/content/tomee-7.0.0-M3-release-notes.mdtext
new file mode 100644
index 0000000..04fb75b
--- /dev/null
+++ b/src/main/jbake/content/tomee-7.0.0-M3-release-notes.mdtext
@@ -0,0 +1,17 @@
+
+        Release Notes - TomEE - Version 7.0.0-M3
+
+<h2>        Bug
+</h2>
+<ul>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1638'>TOMEE-1638</a>] -         tomee:exec on Windows produces invalid tomee.zip due to backslash directory separators
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1718'>TOMEE-1718</a>] -         Potential NPE when servlet class is not set defining a JAXRS application mapping
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1719'>TOMEE-1719</a>] -         support application/*+json by default
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1721'>TOMEE-1721</a>] -         no module (webapp here) webservices can lead to NPE
+</li>
+<li>[<a href='https://issues.apache.org/jira/browse/TOMEE-1724'>TOMEE-1724</a>] -         BVal enforces java 8 usage
+</li>
+</ul>


[25/34] tomee-site-generator git commit: Merge old content. Move tech content to main build.

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.5.1-release-notes.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.5.1-release-notes.mdtext b/src/main/jbake/content/tomee-1.5.1-release-notes.mdtext
new file mode 100644
index 0000000..a56c4cb
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.5.1-release-notes.mdtext
@@ -0,0 +1,430 @@
+Title: Apache TomEE 1.5.1 Release Notes
+
+<h2>Upgrades</h2>
+
+<ul>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-571">TOMEE-571</a> Update to OWB 1.1.7</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-629">TOMEE-629</a> myfaces 2.1.10</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-472">TOMEE-472</a> XBean 3.12</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-516">TOMEE-516</a> ShrinkWrap 1.1.1-alpha-1</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-513">TOMEE-513</a> arquillian 1.0.3.Final</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-512">TOMEE-512</a> Shrinkwrap Descriptors 2.0.0.alpha-4</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-511">TOMEE-511</a> Arquilliant Transaction 1.0.0.Alpha2</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-494">TOMEE-494</a> Slf4j 1.7.2</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-453">TOMEE-453</a> Tomcat 7.0.34</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-457">TOMEE-457</a> cxf 2.6.3</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-455">TOMEE-455</a> Was not able to use CXF SOAP client with SalesForce until JAXB upgraded to 2.2.6</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-454">TOMEE-454</a> ActiveMQ 5.7.0</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1927">OPENEJB-1927</a> Hibernate 4.1.8.Final</li>
+</ul>
+
+<h2>New Features</h2>
+
+<ul>
+
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-630">TOMEE-630</a> add a maven archetype to start a project with tomee</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-440">TOMEE-440</a> add a tomee test enricher for arquillian tomee adapters</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-600">TOMEE-600</a> ability to inject remote initial context in tomee clients</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-473">TOMEE-473</a> ability to customize a bit more the classloaders</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-460">TOMEE-460</a> allow tomee maven plugin to reload application (war)</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-566">TOMEE-566</a> ability to let openejb/tomee scan entities instead of letting the jpa provider doing it</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1902">OPENEJB-1902</a> support shrinkwrap archive as library in openejb arquillian embedded adapter</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1906">OPENEJB-1906</a> active by default karaf webconsole in KarafEE</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1929">OPENEJB-1929</a> add an openejb lightweight web module to be able to write web tests more easily in embedded mode</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1931">OPENEJB-1931</a> support servlet deployment in embedded mode</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4005">AMQ-4005</a> Implement pluggable broker lockers</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3787">AMQ-3787</a> useCompression on server side specially on network of brokers</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3880">AMQ-3880</a> WSS transport</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3298">AMQ-3298</a> Cannot create bridge to WebSphere queue using default messaging provider</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3894">AMQ-3894</a> Add support for Broker based redelivery</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-2106">AMQ-2106</a> Allow broker to evenly distribute message groups among consumers</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3917">AMQ-3917</a> ActiveMQ should support multiple durable subscriptions per Stomp client</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3924">AMQ-3924</a> Allow REST API to connect to the secured broker</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4065">AMQ-4065</a> Add optional destination suffix for the IndividualDeadLetterStrategy</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-4460">CXF-4460</a> Support static claims globally and per endpoint</li>
+    <li><a href="https://issues.apache.org/jira/browse/MYFACES-3612">MYFACES-3612</a> [perf] compress/remove spaces for facelets html markup</li>
+    <li><a href="https://issues.apache.org/jira/browse/MYFACES-3636">MYFACES-3636</a> Add new Web Context Parameter to set Resource Buffer Size</li>
+</ul>
+
+<h2>Improvements</h2>
+
+<ul>
+
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-633">TOMEE-633</a> More understandable 'tomee.autoconfig' property to control automatic creation of resources</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-488">TOMEE-488</a> Js JNDI Panel</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-486">TOMEE-486</a> ability to override properties values (system.properties + services) by environment</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-481">TOMEE-481</a> RemoteServer should stop tomcat with Bootstrap stop and not with only the socket</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-482">TOMEE-482</a> Split the "dangerous" parts of the tomee webapp into a secure subdir</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-480">TOMEE-480</a> deploy SOAP webservices using the classloader of the app/webapp containing it</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-500">TOMEE-500</a> tomee-jdbc doesn't handle passwordcipher</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-447">TOMEE-447</a> Using Handlebars</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-627">TOMEE-627</a> when an @Resource injection can't be statisfied the error message is not always explicit</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-476">TOMEE-476</a> Update Bootstrap</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-477">TOMEE-477</a> In Arquillian TomEE ensure test class is useable when using our custom enricher (not only load it)</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-478">TOMEE-478</a> JS should load WebServiceHelperImpl info</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-474">TOMEE-474</a> not persistent amq brokers shouldnt need to specify an empty Datasource parameter in AMQ RA</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-470">TOMEE-470</a> Use less.js</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-559">TOMEE-559</a> TomEE should be able to support the tomee. prefix for properties</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-617">TOMEE-617</a> Have a look if warning due to load webapp classes from tempclassloader couldnt be avoided</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-514">TOMEE-514</a> JSONProvider - default setting of serializeAsArray is true, leading to marshaling error in out-of-the-box CXF configuration</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-510">TOMEE-510</a> shade javax.management.* from mbean annotation api to openejb-api to be able to use it even in OSGi and show it is not (yet) standard</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-596">TOMEE-596</a> provide a way to limit package took into account when using openejb to scan jpa entities</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-462">TOMEE-462</a> avoid to reload classes from appclassloader in tempclassloader</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-464">TOMEE-464</a> lazystopclassloader should call stop after destroyapplication to allow reload without memory leak</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-468">TOMEE-468</a> skip sub folders properly when synchronizing conf/lib/bin in arquillian adapter</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-467">TOMEE-467</a> ability to specify CATALINA_OPTS in arquillian.xml</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-498">TOMEE-498</a> tomee maven plugin can't use removeDefaultWebapps if adding a custom webapp</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-569">TOMEE-569</a> cdi resolution in ear are not complete from webapp</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-499">TOMEE-499</a> OpenEJBContextConfig doesn't handle correctly ROOT webapp</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-565">TOMEE-565</a> set tomee serverinfo</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-567">TOMEE-567</a> Check for invalid attributes in tomee.xml file</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-560">TOMEE-560</a> allow to use a custom bean validation impl in webapps</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-525">TOMEE-525</a> set openejb.jmx.active to false by default</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-490">TOMEE-490</a> Use regular xmlhttp requests is the browser does not support websockets</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-561">TOMEE-561</a> Rethink arquillian-tomee-webapp-remote adapter to reflect user experience with installer</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-563">TOMEE-563</a> better mapping of openejb bootstrap in tomee.sh (to get cipher command...)</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-495">TOMEE-495</a> if a bean is @Local and @LocalBean local business interface are ignored in CDI resolution</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-496">TOMEE-496</a> expose a Single Line Formatter useable with arquillian tomee remote adapter</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-497">TOMEE-497</a> arquillian tomee remote should expose a simpleLog attribute to get more readable log (embedded mode like)</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-452">TOMEE-452</a> resource in context.xml not available</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-612">TOMEE-612</a> use javax.persistence.validation.mode is validationMode is not set in persistence.xml</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-615">TOMEE-615</a> ear cdi and specializations/alternatives</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-611">TOMEE-611</a> if validation mode of jpa is none we shouldn't pass the validation factory to the emf</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1924">OPENEJB-1924</a> in arquillian-openejb-embedded release creational context of test class</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1925">OPENEJB-1925</a> don't suppose openejb (embedded) is started from app classloader for JULI classes</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1926">OPENEJB-1926</a> ignore org.scalatest interfaces</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1920">OPENEJB-1920</a> [KARAFEE] imported services in cdi should only be the service on the deployed bundle</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1903">OPENEJB-1903</a> managing ShrinkWrap resources in embedded openejb adapter</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1921">OPENEJB-1921</a> [KARAFEE] getResources should aggregate instead of returning the first value</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1908">OPENEJB-1908</a> [KarafEE] use a transaction manager from OSGi registry</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1909">OPENEJB-1909</a> try etc folder if conf folder is not available</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1911">OPENEJB-1911</a> ProxyEJB shouldnt add IvmProxy and Serializable interface for all localbean proxies</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1912">OPENEJB-1912</a> KarafEE logs</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1933">OPENEJB-1933</a> When implicitely creating a non jta or jta datasource for a persistence unit the max initial size should be 5 and not the same than the model to avoid too much netweork bandwith usage</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1915">OPENEJB-1915</a> ignore net.sourceforge.cobertura.coveragedata.HasBeenInstrumented for ejb interfaces</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1916">OPENEJB-1916</a> KarafEE distribution should come with its bundle in system repo</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1913">OPENEJB-1913</a> avoid NPE in OSGi Deployer</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1932">OPENEJB-1932</a> basic filter + servletcontextinitializer support for applicationcomposer</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1914">OPENEJB-1914</a> revisit slightly the way bundle are retrieved in felix (karafee)</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1956">OPENEJB-1956</a> try to get rootUrl for persistence units even with ApplicationComposer</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4003">AMQ-4003</a> Add option to PooledConnectionFactory to control if connection should be created on startup or not</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4004">AMQ-4004</a> activemq-pool - Rename maximumActive option maximumActiveSessionPerConnection</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4008">AMQ-4008</a> Tomcat WARN on shutdown about ThreadLocal not cleared from log4j</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3986">AMQ-3986</a> Allow optimizeDurableTopicPrefetch to be set using resource adapter properties</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3983">AMQ-3983</a> Fix osgi dependency</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3980">AMQ-3980</a> Websocket transport: support increasing the max size of websocket messages</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3696">AMQ-3696</a> Slave broker cannot be stopped in a JDBC Master/Slave configuration within OSGi</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3890">AMQ-3890</a> Turn dependency on fusemq-leveldb optional</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3893">AMQ-3893</a> Adjust topic policy entry in default configuration</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3991">AMQ-3991</a> Output version number in started log line to be consistent</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4027">AMQ-4027</a> Add support for java 7 in AbstractJmxCommand</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4026">AMQ-4026</a> Refactor logic to shutdown thread pools using a single API to ensure better shutdown and offer logging et all</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4029">AMQ-4029</a> Unregistering mbean should handle null mbean names</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4028">AMQ-4028</a> Add support for testing secured web sockets</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3861">AMQ-3861</a> Offer a way to not set a transaction manager in activemq-camel</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4012">AMQ-4012</a> Use english locale for introspection support when discovering setter/getter method names</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4011">AMQ-4011</a> Refactor IntrospectionSupport to avoid using java bean property editors</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4010">AMQ-4010</a> Use pre compiled patterns for JMX ObjectName encoder</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4019">AMQ-4019</a> Make better use of commons-pool in activemq-pool</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4016">AMQ-4016</a> org.apache.activemq.ActiveMQConnectionFactory - Seems like static thread pool is not used</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4015">AMQ-4015</a> Add uptime to broker mbean and when stopping broker to report its uptime</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3877">AMQ-3877</a> Add ability to set a timeout for the calls made to Broker MBeans</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3878">AMQ-3878</a> Reset stats automatically without dependancy on JMX / Java APIs</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3224">AMQ-3224</a> Redelivery per destination</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3770">AMQ-3770</a> Generalize LDAP group processing / LDAP group expansion</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3534">AMQ-3534</a> Fixes to poms to allow eclipse indigo and m2eclipse to not show errors.</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3902">AMQ-3902</a> Documentation for JMS Bridge With Oracle AQ </li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3813">AMQ-3813</a> limit the number of producers and consumers created by a Connection</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3815">AMQ-3815</a> Hybrid Master Slave Architecture</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3918">AMQ-3918</a> Expose transport connector URIs in uniform fashion</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3913">AMQ-3913</a> Stomp Spec allows for stomp headers to have spaces in key or value we currently trim.</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3914">AMQ-3914</a> Add support for MS SQL JDBC driver 4.0</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3940">AMQ-3940</a> REST API - support application/json response type</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4049">AMQ-4049</a> Polish the AMQ start|stop logging</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3847">AMQ-3847</a> Optional import for org.apache.activemq.pool in activemq-camel should be required</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3060">AMQ-3060</a> java.lang.ClassCastException: org.apache.activemq.broker.region.QueueSubscription cannot be cast to org.apache.activemq.broker.region.DurableTopicSubscription</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3950">AMQ-3950</a> Blueprint version should be [0.3,2)</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3859">AMQ-3859</a> To tight version range in activemq features file</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3822">AMQ-3822</a> The current sslContext element does not provide the ability to define the keystore key password key.</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3960">AMQ-3960</a> Update 5.7 to use Apache Camel 2.10.x</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4069">AMQ-4069</a> Upgrade Maven Plugins</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4066">AMQ-4066</a> Cleanup of old deprecated methods and classes from the code base.</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4067">AMQ-4067</a> Prefix Thread names with ActiveMQ</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3554">AMQ-3554</a> activemq:create command should use name as argument in place of option</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4063">AMQ-4063</a> Trim RAR to not included Derby JAR</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4060">AMQ-4060</a> activemq-optional - Upgrade Spring OXM to Spring 3 version</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3972">AMQ-3972</a> Add an 'isDisposed' check before calling 'propagateFailureToExceptionListener' in FailoverTransport</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3444">AMQ-3444</a> Fail Fast or Warn on using fileCursors/fileQueueCursors when <broker persistent="false"></li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4057">AMQ-4057</a> activemq-option - Upgrade to http client 4.2</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-4488">CXF-4488</a> Making importing com.sun.tools* packages by cxf-rf-databinding-jaxb optional in CXF 2.6</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-4485">CXF-4485</a> Provide optional support for inheriting WADL resource parameters</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-4501">CXF-4501</a> AtomPojoProvider should be able to get the entry content directly from POJO</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-4497">CXF-4497</a> Configure WSDL generation to ignore jaxb.index and ObjectFactory</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-4495">CXF-4495</a> Extend SimpleAuthorizingInterceptor to check only configured roles</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-4490">CXF-4490</a> cxf-codegen-plugin does not detect changes in WSDL loaded from classpath</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-4506">CXF-4506</a> support to set the username and password on the wsn service configuration</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-4521">CXF-4521</a> Optimization for other stax implementations</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-4519">CXF-4519</a> Make it possible to specify schemas specific to individual types</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-3813">CXF-3813</a> Possibiblity to only validate requests and/or responses</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-4515">CXF-4515</a> maven java2ws plugin address configuration</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-4479">CXF-4479</a> Improve "No namespace on "{0}" element" error message.</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-4532">CXF-4532</a> Java First @Policy support bean references</li>
+    <li><a href="https://issues.apache.org/jira/browse/CXF-4431">CXF-4431</a> Add support for OAuth2 'mac' token type</li>
+    <li><a href="https://issues.apache.org/jira/browse/MYFACES-3623">MYFACES-3623</a> [perf] avoid use HashSet for check empty html elements in HtmlResponseWriterImpl</li>
+    <li><a href="https://issues.apache.org/jira/browse/MYFACES-3635">MYFACES-3635</a> [perf] Improvements over #{cc} and #{cc.attrs} evaluation</li>
+    <li><a href="https://issues.apache.org/jira/browse/MYFACES-3619">MYFACES-3619</a> Define a special property to specify when a component is created by facelets  ( oam.vf.addedByHandler )</li>
+    <li><a href="https://issues.apache.org/jira/browse/MYFACES-3628">MYFACES-3628</a> [perf] do not calculate facelets view mappings and context suffixes if not necessary</li>
+    <li><a href="https://issues.apache.org/jira/browse/MYFACES-3645">MYFACES-3645</a> review/refactor/document ViewState handling</li>
+</ul>
+
+<h2>Bugs</h2>
+
+<ul>
+
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-578">TOMEE-578</a> Tomee Drop-in WARs installer "install" button points to a bad path </li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-487">TOMEE-487</a> deployerejb uses home to create unique file, it should be base if temp dir is not writable</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-483">TOMEE-483</a> plus and jaxrs webapp doesn't have classes in web-inf/classes</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-441">TOMEE-441</a> TomEE doesn't stop with arquillian adapter (remote) under windows</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-444">TOMEE-444</a> tomee webapp enricher suppose tomee libs are in <tomee>/lib folder (not the case when using tomcat+tomee webapp)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-443">TOMEE-443</a> MyFaces does not integrate with OWB EL resolver</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-446">TOMEE-446</a> Failed to service TomEE as a service on Windows</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-445">TOMEE-445</a> @RequestScoped @Stateful EJB beans are not destroyed after request completes</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-479">TOMEE-479</a> Can't use custom typed resource references and factories</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-475">TOMEE-475</a> tomcat request.isCallerInRole doesn't work</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-436">TOMEE-436</a> Getting SEVERE: OpenEJBContextConfig.processAnnotationsFile: failed. on Windows</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-515">TOMEE-515</a> NoClassDefFoundError Exception while marshaling data in CXF RS to JSON </li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-508">TOMEE-508</a> EntityManager dependency considered not passivation capable (CDI spec violation)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-461">TOMEE-461</a> faces-config.xml can't be empty</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-466">TOMEE-466</a> "Activation failed" messages for @ConversationScoped @Stateful bean</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-624">TOMEE-624</a> ?hen webapp is ROOT rest services can't find the webapp</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-598">TOMEE-598</a> (cdi) appscope and singleton are not well destroyed</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-469">TOMEE-469</a> Hotkeys listener</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-568">TOMEE-568</a> TomEE doesn't support WARDirContext</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-564">TOMEE-564</a> Installation page for drop war does not work (old style web ui)</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-524">TOMEE-524</a> EARs not re-unpacked on startup when changed</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-493">TOMEE-493</a> Regression on TomEE vs Tomcat 7 on Windows native library loading</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-521">TOMEE-521</a> EAR modules' default name should not contain the .jar or .war extension</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-523">TOMEE-523</a> EAR war file context path should default to /<ear-name>/<module-name>/<servlets>*</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-522">TOMEE-522</a> EAR modules' <module-name> ignored</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-451">TOMEE-451</a> CDI injection in servlet of a webapp included in an ear doesn't work</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-456">TOMEE-456</a> some jndi names are not unbound</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-459">TOMEE-459</a> exclusions.list not working properly</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-610">TOMEE-610</a> when using <Deployment ...> TomcatJndiBinder doesn't find webcontext in general</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1905">OPENEJB-1905</a> karafee version is not well filtered in rebranding module</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1923">OPENEJB-1923</a> openejb main doesn't support parameter with -D inside (A-D for instance)</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1907">OPENEJB-1907</a> revisit KarafEE import package and shade</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1928">OPENEJB-1928</a> avoid to load openejb classes with multiple classloader in karafee</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1930">OPENEJB-1930</a> serialization of timerdata is too strict for manual timers</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1938">OPENEJB-1938</a> Embedded ActiveMQ broker startup and shutdown fails to observe configured timeout</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1910">OPENEJB-1910</a> IvmProxy shouldnt be used when creating ejb as OSGi services in KarafEE</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1934">OPENEJB-1934</a> arquillian-openejb-embedded-4 doesn't manage properly war libraries regarding cdi</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1954">OPENEJB-1954</a> Arquillian tests don't fail immediately if Test cannot be enriched</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1959">OPENEJB-1959</a> DeploymentListenerObserver should be public</li>
+<li><a href="https://issues.apache.org/jira/browse/OPENEJB-1961">OPENEJB-1961</a> Classloader memory leak by Threads which is started by org.apache.openejb.loader.Files</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-719">OWB-719</a> @Named qualifier is not adhering to CDI spec default naming conventions</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-718">OWB-718</a> Decorator can't call two methods of the delegate object in the same method</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-711">OWB-711</a> Specialization does not deactivate Observer methods in parent class</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-720">OWB-720</a> injections using generic not well managed</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-732">OWB-732</a> ClassLoader leak in WebBeansUtil.isScopeTypeNormalCache</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-713">OWB-713</a> Static observer methods of superclasses are not called when a method with the same name and parameters exists in the subclass</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-725">OWB-725</a> Beans containing a producerMethod are using the wrong CreationalContext</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-734">OWB-734</a> CLONE - AbstractProducer stores CreationalContext</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-724">OWB-724</a> Ambiguous producer methods and fields are not detected due to bug in AbstractProducerBean equals and hashCode</li>
+<li><a href="https://issues.apache.org/jira/browse/OWB-722">OWB-722</a> @Typed not respected for beans using generics</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4001">AMQ-4001</a> activemq karaf feature uses different commons-lang than pom</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4002">AMQ-4002</a> Instance of BlobTransferPolicy and its URL are being shared among multiple messages</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4007">AMQ-4007</a> BrokerService TempUsage and StoreUsage Default Values Are Incorrect</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3785">AMQ-3785</a> ActiveMQSslConnectionFactory does not detect ssl request in failover URIs when creating transports</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3989">AMQ-3989</a> ActiveMQSslConnectionFactory.setKeyAndTrustManagers does not work with failover enabled using 5.7 snapshot Jars</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3988">AMQ-3988</a> PooledSession throw Exception at closing</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3987">AMQ-3987</a> For JMSUsecaseTest, incompatible types found   : javax.jms.Message required: org.apache.activemq.Message </li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3985">AMQ-3985</a> ActiveMQConnection temp advisory consumer should use asyncDispatch - can cause deadlock with slow consumers</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3882">AMQ-3882</a> Broker should not send advisories for slow consumers or fast producers if the destination in question is an advisory destination already.</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3881">AMQ-3881</a>  Handy diagnostic script for troubleshooting ActiveMQ problems</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3982">AMQ-3982</a> Overlapping PList iterators can read wrong data or throw exceptions about chunk streams not existing.</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3981">AMQ-3981</a> ActiveMQSslConnectionFactory.java now has apache commons dependency</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3885">AMQ-3885</a> ActiveMQ java client doesn't scale to thousands of queues</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3889">AMQ-3889</a> Body Preview of BytesMessages change when browsed multiple times from QueueViewMbean</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3887">AMQ-3887</a> Occasional Null Pointer Exception during NetworkConnector connection</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3791">AMQ-3791</a> Flexibility, concurrency, security, and compatibility issues in CachedLDAPAuthorizationMap</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3797">AMQ-3797</a> org.apache.activemq.util.StringArrayEditor causes classloader leaks</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3998">AMQ-3998</a> Incorrect reporting of pendingQueueSize of durable subs after reconnect with unacked</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3997">AMQ-3997</a> Memory leak in activemq-pool</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3999">AMQ-3999</a> Unsubscribing durable subs can be blocked on calls to determine store size, contending with active subs</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3994">AMQ-3994</a> DefaultDatabaseLocker will leak pooled connections on link failure</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3891">AMQ-3891</a> Durable subscribers receiving duplicate messages</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3995">AMQ-3995</a> PListTest.testSerialAddIterate runs for over 30 minutes on Hudson nodes</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3895">AMQ-3895</a> Broker sends a STOMP RECEIPT frame although the subscription fails</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3992">AMQ-3992</a> Zero Prefetch consumers increment the Enqueue Counter when the pull times out</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3897">AMQ-3897</a> Stomp 1.1 keep alive does not work with stomp+nio</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3896">AMQ-3896</a> AMQ3622Test throws NumberFormatException on ec2/ubuntu 10.04</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3669">AMQ-3669</a> Pending producer with qMirror, messages are not spooled to disk</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3664">AMQ-3664</a> Not all messages will be acknowledged when optimizeAcknowledge is true</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3860">AMQ-3860</a> doAddMessageReference missing setting priority into prepared statement therefore using wrong index for message itself </li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3868">AMQ-3868</a> ActiveMQ 5.6 - RAR deployment is not working on JBoss6</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3867">AMQ-3867</a> Unable to delete messages whose original destination is virtual topic from web console</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3865">AMQ-3865</a> AjaxTest fails all tests due to line ending differences</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3863">AMQ-3863</a> XA session is returned twice to the pool</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4017">AMQ-4017</a> Demand Forwarding Bridge uses value of asyncDispatch for advisory consumers</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3871">AMQ-3871</a> Problem in OrderPendingList can lead to message not being deliver after durable sub reconnect.</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3870">AMQ-3870</a> ArrayIndexOutOfBoundsException when using Multi kahaDB (mKahaDB) adapter, per-destination adapters and Topics</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3879">AMQ-3879</a> Temporary queues may be deleted by the wrong connection</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3873">AMQ-3873</a> Occasional deadlock during startup</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3872">AMQ-3872</a> Implement "exactly once" delivery with JDBC and XA in the event of a failure post prepare</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-2521">AMQ-2521</a> Some JMX operations fail with SecurityException with secured broker</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3654">AMQ-3654</a> JDBC Master/Slave : Slave cannot acquire lock when the master loose database connection.</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3633">AMQ-3633</a> [OSGi] activemq-web-console: exception after restart container</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-2453">AMQ-2453</a> start/control-script is not suitable for professional environments</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4090">AMQ-4090</a> Missing svn:ignores</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4084">AMQ-4084</a> Linux/Unix Files Have Incorrect EOL When Packaged</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3807">AMQ-3807</a> MBeans are not unregistered under WebSphere</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3908">AMQ-3908</a> StompSslAuthTest.testSubscribeWithReceiptNotAuthorized() fails</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-2656">AMQ-2656</a> ActiveMQInitialConnectionFactory cannot return an XAConnectionFactory</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3909">AMQ-3909</a> Messages sometimes not received by active topic subscriptions</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3903">AMQ-3903</a> Failed to fire fast producer advisory, reason: java.lang.NullPointerException</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3905">AMQ-3905</a> Karaf: activemq:create-broker results in only locally visible broker</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3912">AMQ-3912</a> Durable subs store messages in error with broker attribute persistent="false"</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4081">AMQ-4081</a> favicon should be handled as binary file in assembly</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4083">AMQ-4083</a> Consumers in Client Ack sessions can fail to ack expired messages in some cases</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4076">AMQ-4076</a> sizePrefixDisabled and/or maxFrameSize change in AcriveMq 5.6 broke FilePendingMessageCursor for big messages</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3919">AMQ-3919</a> getDestinationMap does not return temp destinations</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3915">AMQ-3915</a> JMX connector does not bind to a specific host when a connectHost is specified on the managementContext</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-2665">AMQ-2665</a> Durable subscription re-activation failed when keepDurableSubsActive=true.</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3727">AMQ-3727</a> activemq-web-console: AjaxServlet not working in OSGi container</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3921">AMQ-3921</a> Duplicated durable subscriptions after broker retart with option keepDurableSubsActive=true</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3920">AMQ-3920</a> Performance issue with delay policy in DestinationBridge.onMessage</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3923">AMQ-3923</a> Webconsole should import javax.servlet.* too</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3925">AMQ-3925</a> Advisory messages/topics not generated for ActiveMQ.Advisory.FULL or ActiveMQ.Advisory.FastProducer.Queue</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3927">AMQ-3927</a> can't connect to stomp protocol 1.1 using telnet</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3929">AMQ-3929</a> STOMP multiple header handling incorrect per the 1.1 spec</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-2488">AMQ-2488</a> Unable to access Serializable class when receiving ObjectMessage in OSGi environment</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3934">AMQ-3934</a> QueueViewMBean.getMessage throws NullPointerException when message not found</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3932">AMQ-3932</a> receiveNoWait hangs when broker is down, using failover and prefetch=0</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3931">AMQ-3931</a> Memory problems with large transactions</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3935">AMQ-3935</a> JConsole browse() function does not work if useCache=false</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3936">AMQ-3936</a> activemq status return codes should be LSB compliant </li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3939">AMQ-3939</a> FailoverTransport never closes backup connections</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3841">AMQ-3841</a> mKahaDB causes ArrayIndexOutOfBoundsException on restart after deleting existing queues</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3845">AMQ-3845</a> CachedLDAPAuthorizationMap doesn't handle the ldap connectino dying</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3846">AMQ-3846</a> The JMX message move, copy and remove operation do not take messages in FIFO order</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3943">AMQ-3943</a> Connect to ActiveMQ server's jmx feature,but failed.</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4042">AMQ-4042</a> Rest MessageServlet on osgi failes to start</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3848">AMQ-3848</a> Messages Are Not Read With Multiple Consumers</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4043">AMQ-4043</a> Web demo - Receive a message page renders an error page</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3849">AMQ-3849</a> Typos in protobuf specs + generated Java code for KahaDB</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4047">AMQ-4047</a> activemq-optional - Should include the JARs it needs</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4044">AMQ-4044</a> Shutting down AcitveMQ broker started in foreground logs 2 times</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3852">AMQ-3852</a> Stomp transport allows durable topic subscriber to subscribe to a queue</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3853">AMQ-3853</a> Missing import in activemq-web-console</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3856">AMQ-3856</a> MessageServlet assumes TextMessages contain Text</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3857">AMQ-3857</a> MessageServlet get messages does not return JMS Message Properties</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3854">AMQ-3854</a> Referencing old spring xsd in configuration files</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3855">AMQ-3855</a> MQTT doesn't translate wildcards to ActiveMQ wildcards</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3955">AMQ-3955</a> WebSocket Transport - Race condition starting transport</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3956">AMQ-3956</a> KahaDB pagefile (db.data) steady growth - BTreeIndex page leak</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3953">AMQ-3953</a> org.apache.activemq.util.URISupport.isCompositeURI doesn't work properly.</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3954">AMQ-3954</a> Intended delivery mode for JMSUsecaseTest is not tested</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3951">AMQ-3951</a> LDAP Connection Timeouts in CachedLDAPAuthorizationMap</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3958">AMQ-3958</a> META-INF/spring.schemas does not contain a reference to 5.6.0 schema</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4030">AMQ-4030</a> Tomcat7 with ActiveMQ-5.6 or ActiveMQ-5.7 starts with error</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4031">AMQ-4031</a> BrokerFactoryBean logs error when starting a non persistent broker</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3858">AMQ-3858</a> Failure to resolve local jmx url for sunJvm can result in npe</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4033">AMQ-4033</a> AMQ Broker - Uses custom RMIServerSocketFactory class which cannot be unloaded due socket reuse</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4035">AMQ-4035</a> Null pointer in class KahaDBStore programmed</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4070">AMQ-4070</a> catstomp.rb does not work anymore</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3961">AMQ-3961</a> Durable subscriber only receives part of the persisted messages on re-connect</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3962">AMQ-3962</a> Memory leak bacause of InactivityMonitor thread</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-2170">AMQ-2170</a> Incoherent documentation / strange property names for advisory messages</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3965">AMQ-3965</a> Expired msgs not getting acked to broker causing consumer to fill up its prefetch and not getting more msgs.</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3594">AMQ-3594</a> Stuck messages in topic after restart of ActiveMQ</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3557">AMQ-3557</a> Performance of consumption with JDBC persistance and Microsoft SQL Server</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4062">AMQ-4062</a> durableTopicPrefetch attribute in policyEntry in activemq.xml dont take effect</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3828">AMQ-3828</a> URISupport incorrectly handles parenthesis</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3451">AMQ-3451</a> Tomcat 6.0.32 complains that ActiveMQ 5.5 doesn't shutdown a thread</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3827">AMQ-3827</a> The SslContext definition is not used by the https transport protocol.</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3832">AMQ-3832</a> Upgrade maven-bundle-plugin</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3831">AMQ-3831</a> Exit code is not properly returned when using RUN_AS_USER</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3973">AMQ-3973</a> data.db size is not included in calculation to monitor systemUsage settings</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3976">AMQ-3976</a> ActiveMQMessageProducer::send uses == instead of equals to compare destinations</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3979">AMQ-3979</a> AjaxServlet preventing Tomcat Container from shutting down.  </li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4058">AMQ-4058</a> http transport should remove options in uri</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-4052">AMQ-4052</a> When consumers was killed and restarted frequently, some messages could not be consumed by consumer but they were still in pending messages.</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3837">AMQ-3837</a> BrokerFacade returns more connections than expect when call  getConnections by connector name</li>
+<li><a href="https://issues.apache.org/jira/browse/AMQ-3836">AMQ-3836</a> STOMP 1.0 protocol (SUBSCRIBE destination) broken on ActiveMQ 5.6.0</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4541">CXF-4541</a> idl2wsdl not finding properly scoped structure elements</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4542">CXF-4542</a> @XmlJavaTypeAdapter ignored on exception classes </li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4540">CXF-4540</a> Colon character in the password is not hanled properly in AbstractHTTPDestination class</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4545">CXF-4545</a> ut_sign + sign_enc samples broken in last releases</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4484">CXF-4484</a> Claims to SAML attribute encoding wrong</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4487">CXF-4487</a> cxf-codegen-plugin: Error resolving component warnings for imported types</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4481">CXF-4481</a> unable to generate WADL to java </li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4500">CXF-4500</a> Evaluate jaxrs:schemaLocations after jaxrs:providers</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4539">CXF-4539</a> WS-Security inbound performance regression</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4537">CXF-4537</a> XmlAdapter Not Being Used</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4552">CXF-4552</a> typical HTML form payload does not seem to work when HTML form is used</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4499">CXF-4499</a> wrong charset encoding in FormEncodingProvider </li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4496">CXF-4496</a> find of ResponseExceptionMapper do not handle runtime exceptions</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4494">CXF-4494</a> JMSDestination need set binary mode if server send MTOM message back</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4493">CXF-4493</a> If javax.jws.Oneway annotation is specified for a SOAP interface method a NPE occurs</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4511">CXF-4511</a> WS-RM Sequence header should have mustUnderstand attribute</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4503">CXF-4503</a> TransformOutInterceptor may lose namespace declarations in some elements</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4505">CXF-4505</a> Invalid WS-RM messages may not be correctly rejected by WS-RM destination</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4507">CXF-4507</a> bug in SchemaJavascriptBuilder while deserializing an Array</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4508">CXF-4508</a> @Context fails to inject SearchContext into JAX-RS resource bean</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4523">CXF-4523</a> Unclosed XMLStreamReader/Writer causes leaking</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4522">CXF-4522</a> The logicalHandler could not modify the soap:body content if provider uses the SOAPMessage</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4520">CXF-4520</a> XMLStreamException about namespace has not been bound to a prefix with other stax implemenation</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4518">CXF-4518</a> CXF bundle jax-ws-catalog.xml doesn't include mapping of "http://www.w3.org/2006/03/addressing" </li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4517">CXF-4517</a> ClassCastException in WS-RM when RMP 200702  assertions are used</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4514">CXF-4514</a> JAXRS client ignores enum properties when populating request URI from beans</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4476">CXF-4476</a> Content-Disposition header may be incorrectly set in MTOM under windows </li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4475">CXF-4475</a> LoggingInInterceptor throws when pretty printing MTOM messages</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4477">CXF-4477</a> [WADL2JAVA] Generate incorrect primitive parameter type </li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4533">CXF-4533</a> Encoding error in CachedOutputStream when double-byte char is on 1024 byte boundary</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4535">CXF-4535</a> SOAP fault XML is invalid when a details element exists</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4534">CXF-4534</a> SortedMap is returned as HashMap</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4526">CXF-4526</a> PolicyAnnotationListener throws NPE in jar</li>
+<li><a href="https://issues.apache.org/jira/browse/CXF-4528">CXF-4528</a> WebApplicationExceptionMapper is too shy</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3620">MYFACES-3620</a> jsf.js: @this results in a javascript error</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3638">MYFACES-3638</a> NPE in ServerSideStateCacheImpl</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3646">MYFACES-3646</a> remove unused src/main/old from core-impl</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3637">MYFACES-3637</a> jsf.js: All Script Tags are Evaluated (wrong behavior)</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3649">MYFACES-3649</a> myfaces-shaded-impl always unpacks myfaces-2.1.1</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3630">MYFACES-3630</a> PartialViewContextImpl.findHeadComponent and findBodyComponent does not take into account h:head or h:body inside child of UIViewRoot</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3617">MYFACES-3617</a> NullPointerException occurs when using an EL Expression in f:viewParam name attribute</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3641">MYFACES-3641</a> ViewDeclarationLanguageFactoryImpl.getViewDeclarationLanguage(String viewId) should not throw exception if no associate VDL can be found</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3618">MYFACES-3618</a> jsf.js: ajax response is missing a param in the error handing of replaceHtmlItem</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3616">MYFACES-3616</a> Javascript: Method call with wrong argument size after error in AJAX request/response</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3613">MYFACES-3613</a> NPE in composite component when ActionListener is missing in the source</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3626">MYFACES-3626</a> f:ajax execute '@none' submitted as explicit request param, firing source listeners</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3632">MYFACES-3632</a> resource bundle name with bean property collition when trying to set value</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3631">MYFACES-3631</a> Malformed Ajax XML Response with duplicated IDs</li>
+<li><a href="https://issues.apache.org/jira/browse/MYFACES-3627">MYFACES-3627</a> jsf.js: DomExperimental.js isMultipartCandidate fails on older IE Versions</li>
+</ul>
+
+<h2>Tasks & Sub-Tasks</h2>
+
+<ul>
+
+
+
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-442">TOMEE-442</a> valid using hostname in webapp id is fine</li>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-439">TOMEE-439</a> refactor DeployerEjb to be able to deploy war as Tomcat</li>
+    <li><a href="https://issues.apache.org/jira/browse/OPENEJB-1922">OPENEJB-1922</a> [KARAFEE] see how to take into account cdi dependencies</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4006">AMQ-4006</a> activemq-pool - Upgrade to commons-pool 1.6.0</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3784">AMQ-3784</a> Download page lists lots of releases; they are not in order and most of the pages point to the wrong location</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4013">AMQ-4013</a> Upgrade to xbean 3.11</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4041">AMQ-4041</a> Upgrade ActiveMQ karaf feature</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4045">AMQ-4045</a> Unit test shows NPE in BrokerService</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4038">AMQ-4038</a> Favor using JARs from Maven central</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4039">AMQ-4039</a> Upgrade 3rd party dependency JARs and align with SMX/Camel</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4056">AMQ-4056</a> Remove activemq-jmdns module</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-4053">AMQ-4053</a> Cleanup duplicate JARs in ActiveMQ distro</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3945">AMQ-3945</a> QueueBrowser missing messages on first browse.</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3947">AMQ-3947</a> ActiveMQConnectionFactory doesn't set the nestedMapAndListEnabled property on new Connections</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3967">AMQ-3967</a> ActiveMQJmsHeaderRouteTest doesn't work with Apache Camel 2.10</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3969">AMQ-3969</a> ActiveMQJmsHeaderRouteTest doesn't work with Apache Camel 2.10</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3968">AMQ-3968</a> ActiveMQJmsHeaderRouteTest doesn't work with Apache Camel 2.10</li>
+    <li><a href="https://issues.apache.org/jira/browse/AMQ-3970">AMQ-3970</a> ActiveMQJmsHeaderRouteTest doesn't work with Apache Camel 2.10</li>
+
+</ul>

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.5.1.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.5.1.mdtext b/src/main/jbake/content/tomee-1.5.1.mdtext
new file mode 100644
index 0000000..0d3d15a
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.5.1.mdtext
@@ -0,0 +1,7 @@
+# Apache TomEE 1.5.1 Released!
+
+>We are excited to announce the release of <a href="http://tomee.apache.org/downloads.html">Apache TomEE 1.5.1</a>.
+The volume of feedback on the 1.5.1 Final drove such an impressive number of fixes and improvements into TomEE
+[the changes](tomee-1.5.1-release-notes.html).
+
+We'd like to thank everyone who gave feedback and contributed to improve Apache TomEE on a daily basis!

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.6.0.1-release-notes.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.6.0.1-release-notes.mdtext b/src/main/jbake/content/tomee-1.6.0.1-release-notes.mdtext
new file mode 100644
index 0000000..8984a29
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.6.0.1-release-notes.mdtext
@@ -0,0 +1,40 @@
+Title: Apache TomEE 1.6.0.1 Release Notes
+
+<h2>Upgrades</h2>
+
+<ul>
+    <li><a href="https://issues.apache.org/jira/browse/TOMEE-1104">TOMEE-1104</a> Tomcat 7.0.53</li>
+</ul>
+
+<h2>New Features</h2>
+
+<ul>
+
+</ul>
+
+<h2>Improvements</h2>
+
+<ul>
+
+</ul>
+
+<h2>Bugs</h2>
+
+<ul>
+
+</ul>
+
+<h2>Tasks & Sub-Tasks</h2>
+
+<ul>
+
+
+
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1176">TOMEE-1176</a> Add missing ASF headers</li>
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1177">TOMEE-1177</a> Include Apache Tomcat Native library 1.1.30</li>
+
+</ul>
+
+To see the full [Changelog](http://tomcat.apache.org/tomcat-7.0-doc/changelog.html) of Apache Tomcat since version 7.0.51 follow this link:
+
+[http://tomcat.apache.org/tomcat-7.0-doc/changelog.html](http://tomcat.apache.org/tomcat-7.0-doc/changelog.html)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.6.0.1.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.6.0.1.mdtext b/src/main/jbake/content/tomee-1.6.0.1.mdtext
new file mode 100644
index 0000000..b05c890
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.6.0.1.mdtext
@@ -0,0 +1,26 @@
+# Apache TomEE 1.6.0.1 Released!
+
+Apache TomEE is happy to announce the security related release of [Apache TomEE 1.6.0.1](http://tomee.apache.org/downloads.html) which is now based on [Apache Tomcat 7.0.53](http://tomcat.apache.org/tomcat-7.0-doc/index.html) - The principal focus of this release is to provide compatibility for a significant security fix introduced in Tomcat 7.0.51 for the Apache Commons FileUpload. We recommend to all TomEE 1.6.0 users that are affected by this issue to upgrade TomEE to this latest version at the earliest opportunity.
+
+Complete details of the issue can be found at the following link:
+ 
+*Important: Denial of Service* 
+CVE-2014-0050<[http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0050](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0050)> 
+
+It goes without saying that everyone has heard of the Heartbleed issue and we have quickly replaced the included Apache Tomcat Native library with version 1.1.30 for this release, should anyone be using it. Note, this is not the default for TomEE and it does not resolve the issue, for that you will still need to update your OpenSSL - It merely enables the use of a more recent OpenSSL version. You can find more information here:
+
+[http://tomcat.apache.org/native-doc/](http://tomcat.apache.org/native-doc/) - You may need to refresh the page if you have been checking the site as it was only recently updated. 
+
+We would like to thank everyone in the community involved in the reporting, documentation and final resolution of this issue. A very special thank you goes out to Romain Manni-Bucau and Jonathan Gallimore for their tireless efforts in enabling us to provide this release so quickly.
+
+The Apache TomEE Release 1.6.0.1 files can be found here:
+
+[http://tomee.apache.org/downloads.html](http://tomee.apache.org/downloads.html)
+
+A complete [Changelog](tomee-1.6.0.1-release-notes.html) can be viewed here:
+
+[tomee-1.6.0.1-release-notes.html](tomee-1.6.0.1-release-notes.html)
+
+To see the full [Changelog](http://tomcat.apache.org/tomcat-7.0-doc/changelog.html) of Apache Tomcat since version 7.0.51 follow this link:
+
+[http://tomcat.apache.org/tomcat-7.0-doc/changelog.html](http://tomcat.apache.org/tomcat-7.0-doc/changelog.html)

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.6.0.2-release-notes.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.6.0.2-release-notes.mdtext b/src/main/jbake/content/tomee-1.6.0.2-release-notes.mdtext
new file mode 100644
index 0000000..4133ee9
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.6.0.2-release-notes.mdtext
@@ -0,0 +1,34 @@
+Title: Apache TomEE 1.6.0.2 Release Notes
+
+<h2>Upgrades</h2>
+
+<ul>
+</ul>
+
+<h2>New Features</h2>
+
+<ul>
+
+</ul>
+
+<h2>Improvements</h2>
+
+<ul>
+
+</ul>
+
+<h2>Bugs</h2>
+
+<ul>
+
+</ul>
+
+<h2>Tasks & Sub-Tasks</h2>
+
+<ul>
+
+
+
+<li><a href="https://issues.apache.org/jira/browse/TOMEE-1189">TOMEE-1189</a> Upgrade to CXF 2.6.14 to fix security issues.</li>
+
+</ul>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/tomee-1.6.0.2.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/tomee-1.6.0.2.mdtext b/src/main/jbake/content/tomee-1.6.0.2.mdtext
new file mode 100644
index 0000000..c28d608
--- /dev/null
+++ b/src/main/jbake/content/tomee-1.6.0.2.mdtext
@@ -0,0 +1,17 @@
+# Apache TomEE 1.6.0.2 Released!
+
+Apache TomEE is happy to announce the security related release of [Apache TomEE 1.6.0.2](http://tomee.apache.org/downloads.html) which is still based on [Apache Tomcat 7.0.53](http://tomcat.apache.org/tomcat-7.0-doc/index.html) - The principal focus of this release is to provide an update to CXF version 2.6.14, which fixes several security issues.
+
+Complete details of the issues that have been fixed can be found at the following link:
+
+[http://cxf.apache.org/security-advisories.html](http://cxf.apache.org/security-advisories.html)
+
+The stability of the continuous integration (CI) build can be seen here: [http://ci.apache.org/builders/tomee-1.6.0.2-ubuntu](http://ci.apache.org/builders/tomee-1.6.0.2-ubuntu)
+
+The Apache TomEE Release 1.6.0.2 files can be found here:
+
+[http://tomee.apache.org/downloads.html](http://tomee.apache.org/downloads.html)
+
+A complete [Changelog](tomee-1.6.0.2-release-notes.html) can be viewed here:
+
+[tomee-1.6.0.2-release-notes.html](tomee-1.6.0.2-release-notes.html)


[04/34] tomee-site-generator git commit: Simple examples index page

Posted by db...@apache.org.
Simple examples index page


Project: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/commit/14787f46
Tree: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/tree/14787f46
Diff: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/diff/14787f46

Branch: refs/heads/master
Commit: 14787f4665816164c061ab9a5afdc0a899143f75
Parents: 1cc43e0
Author: dblevins <da...@gmail.com>
Authored: Sun Nov 25 22:52:19 2018 -0800
Committer: dblevins <da...@gmail.com>
Committed: Sun Nov 25 22:52:19 2018 -0800

----------------------------------------------------------------------
 src/main/java/org/apache/tomee/website/Examples2.java   | 9 ++++++---
 src/main/java/org/apache/tomee/website/FixMarkdown.java | 1 -
 2 files changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/14787f46/src/main/java/org/apache/tomee/website/Examples2.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/Examples2.java b/src/main/java/org/apache/tomee/website/Examples2.java
index 79aaa03..f75e885 100644
--- a/src/main/java/org/apache/tomee/website/Examples2.java
+++ b/src/main/java/org/apache/tomee/website/Examples2.java
@@ -24,7 +24,6 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.util.ListIterator;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
@@ -60,13 +59,17 @@ public class Examples2 {
 
         // Create an index.adoc file
         final StringBuilder index = new StringBuilder();
+        index.append(":jbake-type: page\n")
+                .append(":jbake-status: published\n")
+                .append(":jbake-title: Examples\n");
+
         for (final Example example : examples) {
-            index.append(" - ")
+            index.append(" - link:")
                     .append(example.getHref())
                     .append("[")
                     .append(example.getName())
                     .append("]")
-                    .append(File.separator)
+                    .append("\n")
             ;
         }
 

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/14787f46/src/main/java/org/apache/tomee/website/FixMarkdown.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/tomee/website/FixMarkdown.java b/src/main/java/org/apache/tomee/website/FixMarkdown.java
index 2bb15de..daad57d 100644
--- a/src/main/java/org/apache/tomee/website/FixMarkdown.java
+++ b/src/main/java/org/apache/tomee/website/FixMarkdown.java
@@ -19,7 +19,6 @@ package org.apache.tomee.website;
 import org.apache.openejb.loader.IO;
 import org.apache.openejb.util.Join;
 
-import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;


[28/34] tomee-site-generator git commit: Merge old content. Move tech content to main build.

Posted by db...@apache.org.
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/writing-validation-tests.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/writing-validation-tests.mdtext b/src/main/jbake/content/dev/writing-validation-tests.mdtext
new file mode 100644
index 0000000..3c70370
--- /dev/null
+++ b/src/main/jbake/content/dev/writing-validation-tests.mdtext
@@ -0,0 +1,163 @@
+Title: Writing Validation Tests
+
+<a name="WritingValidationTests-Summary"></a>
+## Summary
+
+Validation is a critical and integral part of the project. If you are
+writing some code which validates some rules, you should definitely write a
+test for it. A little validation test framework is available to write tests
+specifically for Validation. This page explains the details of writing such
+tests using example snippets.
+
+<a name="WritingValidationTests-TheValidationFramework"></a>
+## The Validation Framework
+
+1. `org.apache.openejb.config.ConfigurationFactory` uses a chain of
+`org.apache.openejb.config.DynamicDeployer` implementations. One of the
+implementations in the chain is
+`org.apache.openejb.config.ValidateModules`. `ValidateModules` is
+conditionally added to the _chain_ if the property
+`openejb.validation.skip=true|false`. If this property is false, then
+`ValidateModules` is used to kick off the Validation Framework
+
+[Configuration Factory](https://github.com/apache/openejb/tree/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java)
+
+1. Internally ValidateModules uses the [*AppValidator.validate()* method](https://github.com/apache/openejb/tree/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/ValidateModules.java)
+
+1. This method then performs validation using a number of rules. _A
+validation rule/s is represented by a class implementing ValidationRule.
+In fact, all the classes checking the validation rules , extend
+ValidationBase, which further implements ValidationRule.
+
+    <img src="../images/ClassDiagram.png" alt="" align="center">
+
+The _list of rules_ being executed can actually be found in the following
+method of [AppValidator](https://github.com/apache/openejb/tree/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AppValidator.java)
+1. The above rules are then executed one by one
+
+1. Each module has an attached ValidationContext , which maintains a list of
+failures, warnings and errors. As the above rules are being invoked, the
+failure/errors/warnings for a module are being added to its
+ValidationContext. Every Validation failure has an associated message which
+can be found in `org/apache/openejb/config/rules/messages.properties`. A
+message has three levels as explained below:
+
+    Format for the different levels follows this spirit:
+    
+    1. Should be short and fixed such that someone could search/grep for it
+    without having to know/use regular expressions.  These tend to be similar
+    to the message key.
+    
+    2. Intended to contain the issue expressed in 1 with only the essential
+    details, should not line wrap if possible.  Be terse.
+    
+    3. Teacher's assistant.  A much more conversational and possibly more
+detailed
+    explanation of the issue, should tell the user what to do to fix the
+problem.
+    I.e. don't just point out what is wrong, also point out what is right.	Use
+    several lines if needed.
+
+Here is an *example validation message*
+
+    # 0 - method name
+    # 1 - full method
+    # 2 - remote|home
+    # 3 - interface name
+    # 4 - EJB Class name
+    1.no.busines.method	  No such business method
+    2.no.busines.method	  Business method {0} not implemented.
+    3.no.busines.method	  Business method {1} not implemented. The method was declared in the {2} interface {3}, but not implemented in the ejb class {4}
+
+1. The validation framework does not stop processing on the first validation
+failure, but keeps going and checking for other validation errors and
+reports them all to the user. This allows the user to fix all errors in one
+go and re-attempt deploying the application.
+
+<a name="WritingValidationTests-TheValidationTestFramework"></a>
+## The Validation Test Framework
+
+
+
+1. The test framework is specifically written with the following goals in
+mind:
+1.    It should be easy to write the test, and the framework should do
+the boiler-plate work, the test author just needs to provide the relevant
+info
+1.    It should report the test coverage i.e. the framework should
+generate a report regarding which keys in messages.properties have tests
+written for them and what is the corresponding Test class/es which test for
+the validation rule associated with that key
+1.    It should ensure that if a test is being written for a specific
+message key, then that key should exist in the messages.properties file
+1. Lets break down the framework by using an [example](https://github.com/apache/openejb/tree/trunk/openejb/container/openejb-core/src/test/java/org/apache/openejb/config/rules/CheckInjectionTargetsTest.java)
+
+    
+   1.    The first thing to note is that we are running the test using our
+own custom runner i.e. `@RunWith(ValidationRunner.class)`. This runner
+ensures that the keys we are testing, actually exist in the
+messages.properties file. It does a lot more, as we shall see later    
+    2.    The test method
+    3.    Can be given any name
+    4.    Must be annotated with @Keys and CANNOT be annotated with @Test.
+The rest of the JUnit annotations can be used
+    5.   Must return one of EjbJar / EjbModule / AppModule. The returned
+EjbJar/EjbModule/AppModule will be specifically created to cause one or
+more validation errors/warnings/failures.
+    1.    Following annotations are provided by the framework
+    1.    @Keys : is a collection of zero or more @Key
+    1.    @Key : represents a key for which this test is being written. A @Key
+can be of type FAILURE or WARNING or ERROR. Default value is FAILURE. As
+seen in the example above, the test() method is expecting two warnings for
+the key injectionTarget.nameContainsSet. If count is not equal to 2 or some
+other Validation Failure/Warning/Error was also thrown from the method,
+then the test fails.
+###Be Careful
+The test must cause a Validation Failure otherwise the test framework does
+not get invoked. For example, in the above code, a Key of type WARNING is
+being tested, however the test is purposely being failed by putting an
+`@AroundInvoke` around the method with zero arguments
+
+
+1. Once you have written the test and successfully run it, you now need to
+generate the report. Simply invoke the following maven command
+
+    mvn test -Dtest=ValidationKeysAuditorTest
+-DconfluenceUsername=YourConfluenceUsername
+-DconfluencePassword=YourConfluencePassword
+
+The above command will create a complete test coverage report and post it
+to this location [OPENEJB:Validation Keys Audit Report](openejb:validation-keys-audit-report.html)
+
+###Quick facts about ValidationRunner and things to keep in mind while writing tests
+
+This class is created specifically to write tests which test OpenEjb
+validation code. Specifically, it is used to check the usage of keys
+defined in `org.apache.openejb.config.rules.Messages.properties`. To use this
+runner, simply annotate your test case with
+`@RunWith(ValidationRunner.class`). Here are some things to keep in mind when writing tests:    
+    1.    A test method needs to be annotated with    
+`org.apache.openejb.config.rules.Keys` instead of the `org.junit.Test`    
+    2.    Any usage of the @Test annotation will be ignored    
+    3.    If the @Keys and @Test annotation are used together on a test     method,
+then the TestCase will error out    
+    4.    Every test method should create a EjbJar or EjbModule or AppModule and
+return it from the method. It should list the keys being tested in the
+@Keys annotation
+
+1.    The runner will invoke the test method and use the Assembler and
+ConfigurationFactory to create the application
+1.This will kick off validation and this Runner will catch
+ValidationFailureException and make sure that all the keys specified in the
+@Keys annotation show up
+in the ValidationFailureException
+1. If the keys listed in the @Keys annotation match the keys found in the
+ValidationFailureException, the test passes, else the test fails.
+1. This Runner also validates that the keys specified in the @Keys
+annotation are also available in the
+org.apache.openejb.config.rules.Messages.properties file. If the key is not
+found, then the Runner throws and exception resulting in your test case not
+being allowed to run.
+1. Sometimes you want to write a test where you do not want any
+ValidationFailureException to be thrown, in those scenarios, simply
+annotate your test with @Keys and do not specify any @Key in it

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/xbean-finder.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/xbean-finder.mdtext b/src/main/jbake/content/dev/xbean-finder.mdtext
new file mode 100644
index 0000000..98bcc93
--- /dev/null
+++ b/src/main/jbake/content/dev/xbean-finder.mdtext
@@ -0,0 +1,266 @@
+# xbean-finder
+
+## AnnotationFinder
+
+It uses ASM create an index of annotations and classes in a specific archive. Reason for using ASM are:
+
+  - Security: Loading classes involves executing static initializers.  Imagine doing this for every class in every jar.
+  - Speed: Loading all those classes is slow
+  - Memory: Chews up permgen space quickly and needlessly.  Additional note, see above, some static initializers may hook themselves into the system and make the entire classloader (and the thousands of classes loaded) impossible to GC.
+
+### Usage
+
+Say you had an `@Plugin` annotation you used, you could do as follows and skip the
+whole `META-INF` business:
+
+    AnnotationFinder finder = new AnnotationFinder(new JarArchive(classloader, jarUrl));
+    List<Class<?>> plugins = finder.findAnnotatedClasses(Plugin.class);
+
+That's the basics.
+
+    public class AnnotationFinder {
+        boolean isAnnotationPresent(Class<? extends Annotation> annotation);
+
+        List<String> getClassesNotLoaded();
+
+        List<Package> findAnnotatedPackages(Class<? extends Annotation> annotation);
+
+        List<Class<?>> findAnnotatedClasses(Class<? extends Annotation> annotation);
+
+        List<Class<?>> findInheritedAnnotatedClasses(Class<? extends Annotation> annotation);
+
+        List<Method> findAnnotatedMethods(Class<? extends Annotation> annotation);
+
+        List<Constructor> findAnnotatedConstructors(Class<? extends Annotation> annotation);
+
+        List<Field> findAnnotatedFields(Class<? extends Annotation> annotation);
+
+        List<Class<?>> findClassesInPackage(String packageName, boolean recursive);
+
+        <T> List<Class<? extends T>> findSubclasses(Class<T> clazz);
+
+        <T> List<Class<? extends T>> findImplementations(Class<T> clazz);
+
+        List<Annotated<Method>> findMetaAnnotatedMethods(Class<? extends Annotation> annotation);
+
+        List<Annotated<Field>> findMetaAnnotatedFields(Class<? extends Annotation> annotation);
+
+        List<Annotated<Class<?>>> findMetaAnnotatedClasses(Class<? extends Annotation> annotation);
+
+        List<String> getAnnotatedClassNames();
+    }
+
+## Archive
+
+So what we have now is a composable system.  You create your finder and feed it an archive, like so:
+
+    Archive archive = new JarArchive(classloader, jarURL);
+    AnnotationFinder finder = new AnnotationFinder( archive );
+    List<Class<?>> plugins = finder.findAnnotatedClasses(PluginAnnotation.class)
+
+If you want some filtering, you add that in:
+
+    Archive archive = new JarArchive(classloader, jarURL);
+
+    archive = new FilteredArchive(archive, new Filter {
+
+        @Override
+        public boolean accept(String name) {
+            return name.startsWith("org.foo.");
+        }
+    });
+
+    AnnotationFinder finder = new AnnotationFinder( archive );
+    List<Class<?>> plugins = finder.findAnnotatedClasses(PluginAnnotation.class)
+
+Several archives can be composed together via `CompositeArchive`
+
+    Archive archive = new CompositeArchive(
+        new JarArchive(classloader, jarURL),
+        new FileArchive(classloader, new File("target/classes/")),
+        new ClassesArchive(Foo.class, Bar.class)
+        );
+
+Sky is the limit.
+
+We have the following `Archive` implementations
+
+ - ClassesArchive(Class<?>... classes)
+ - ClassesArchive(Iterable<Class<?>> classes)
+ - FileArchive(ClassLoader loader, URL url)
+ - FileArchive(ClassLoader loader, File dir)
+ - JarArchive(ClassLoader loader, URL url)
+
+For creating combinations of the above we have:
+
+ - CompositeArchive(Archive... archives)
+ - CompositeArchive(Iterable<Archive> archives)
+
+For filtering classes out of archvies:
+
+ - FilteredArchive(Archive archive, Filter filter)
+
+And a convenience class to quickly get an Archive from a set of urls
+
+ - ClasspathArchive(ClassLoader loader, URL... urls)
+ - ClasspathArchive(ClassLoader loader, Iterable<URL> urls)
+
+The above currently only supports `jar:` and `file:` urls
+
+## Filters
+
+Several built in filters exist for convenience
+
+ - ClassFilter(String name)
+ - ContainsFilter(String token)
+ - PackageFilter(String packageName)
+ - PatternFilter(String expression)
+ - PatternFilter(Pattern pattern)
+ - PrefixFilter(String prefix)
+ - SuffixFilter(String suffix)
+
+
+As well as some filter implementations that allow all of the above to be composed together
+
+ - ExcludeIncludeFilter(Filter include, Filter exclude)
+ - FilterList(Filter... filters)
+ - FilterList(Iterable<Filter> filters)
+ - IncludeExcludeFilter(Filter include, Filter exclude)
+
+And the following convenience class for quickly creating any of the above
+
+    public class Filters {
+        public static Filter packages(String... packages) {
+        public static Filter classes(String... classes) {
+        public static Filter prefixes(String... prefixes) {
+        public static Filter tokens(String... tokens) {
+        public static Filter suffixes(String... suffixes) {
+        public static Filter patterns(String... patterns) {
+        public static Filter optimize(Filter... filters) {
+        public static Filter optimize(List<Filter>... filterss) {
+        public static Filter invert(Filter filter) {
+    }
+
+
+## ResourceFinder
+
+Something similar to Java 6 ServiceLoader, except doesn't do the instantiations, but you could add that for yourself very easily.
+
+Using the same `META-INF` layout and files as you posted, you can do like:
+
+    ResourceFinder finder = new ResourceFinder("META-INF/services/");
+    List plugins = finder.findAllImplementations(Plugin.class);
+
+A little neater if you adjusted your META-INF layout as follows
+
+    META-INF/com.example.plugins.Plugins/red
+    META-INF/com.example.plugins.Plugins/blue
+
+...where the "red" file contained the text "com.example.plugins.RedPlugin" and the
+"blue" file contained the text "com.example.plugins.BluePlugin", you could then get them
+in a map like so:
+
+    Map plugins = finder.mapAvailableImplementations(Plugin.class);
+    Class red = plugins.get("red");
+    Class blue = plugins.get("blue");
+
+Now say you want to do something similar, but the "red" and "blue" files are
+properties files which contain the name of the implementation class and other
+configurable properties for your red and blue plugins.
+
+    ResourceFinder finder = new ResourceFinder("META-INF/services/");
+    Map pluginConfigs = finder.mapAllProperties(Plugin.class.getName());
+    Properties redConfig = pluginConfigs.get("red");
+    Properties blueConfig = pluginConfigs.get("blue");
+
+Object instantiation was never written into any of those libraries because we're big fans
+of xbean-reflect package, which is a real "don't tell me what to do" library for when
+you just want to create a simple object and would like to get real basic
+field/setter/constructor injection without choking down a whole "i control everything"
+framework.
+
+You just:
+
+    ObjectRecipe recpie = new ObjectRecipe("com.example.plugins.RedPlugin");
+    recpie.setProperty("myDateField","2008-04-17"); recpie.setProperty("myIntField","100");
+    recpie.setProperty("myBooleanField","true");
+    recpie.setProperty("myUrlField","http://www.theserverside.com");
+    Plugin red = (Plugin) recpie.create();
+    red.start();
+
+Obviously, the above style to object creation couples really well to the `ResourceFinder` method
+that gives you Properties objects back. You put the class name and config for your plugin in the
+properties files and pass the properties right into the ObjectRecipe and more or less get a
+little do-it-yourself IoC plugin system.
+
+# OpenEJB/TomEE
+
+Here is a grep of some of the calls made to `AnnotationFinder`.  Most of this code is in an OpenEJB class called
+`AnnotationDeployer` whose primary job is to merge the @annotation and <xml> metadata into one tree.
+
+            for (Annotated<Class<?>> clazz : finder.findMetaAnnotatedClasses(LocalClient.class)) {
+            for (Annotated<Class<?>> clazz : finder.findMetaAnnotatedClasses(RemoteClient.class)) {
+        	List<Class<?>> connectorClasses = finder.findAnnotatedClasses(Connector.class);
+        	List<Class<?>> classes = finder.findAnnotatedClasses(ConnectionDefinitions.class);
+        	classes = finder.findAnnotatedClasses(ConnectionDefinition.class);
+        	classes = finder.findAnnotatedClasses(Activation.class);
+        	classes = finder.findAnnotatedClasses(AdministeredObject.class);
+            classes.addAll(finder.findAnnotatedClasses(WebService.class));
+            classes.addAll(finder.findAnnotatedClasses(WebServiceProvider.class));
+            for (Annotated<Class<?>> beanClass : finder.findMetaAnnotatedClasses(Singleton.class)) {
+            for (Annotated<Class<?>> beanClass : finder.findMetaAnnotatedClasses(Stateless.class)) {
+            for (Annotated<Class<?>> beanClass : finder.findMetaAnnotatedClasses(Stateful.class)) {
+            for (Annotated<Class<?>> beanClass : finder.findMetaAnnotatedClasses(ManagedBean.class)) {
+            for (Annotated<Class<?>> beanClass : finder.findMetaAnnotatedClasses(MessageDriven.class)) {
+            List<Class<?>> appExceptions = finder.findAnnotatedClasses(ApplicationException.class);
+                    List<Class<?>> list = finder.findAnnotatedClasses(annotation);
+                final List<Annotated<Class<?>>> annotatedClasses = sortClasses(annotationFinder.findMetaAnnotatedClasses(Interceptors.class));
+                final List<Annotated<Method>> annotatedMethods = sortMethods(annotationFinder.findMetaAnnotatedMethods(Interceptors.class));
+                for (Annotated<Method> method : annotationFinder.findMetaAnnotatedMethods(ExcludeDefaultInterceptors.class)) {
+                for (Annotated<Method> method : sortMethods(annotationFinder.findMetaAnnotatedMethods(ExcludeClassInterceptors.class))) {
+                            if (annotationFinder.isAnnotationPresent(Path.class) || !annotationFinder.findAnnotatedMethods(Path.class).isEmpty()) {
+            for (Annotated<Method> method : annotationFinder.findMetaAnnotatedMethods(Asynchronous.class)) {
+            for (Annotated<Class<?>> clazz : annotationFinder.findMetaAnnotatedClasses(Asynchronous.class)) {
+            for (Annotated<Method> method : annotationFinder.findMetaAnnotatedMethods(RolesAllowed.class)) {
+            for (Annotated<Method> method : annotationFinder.findMetaAnnotatedMethods(PermitAll.class)) {
+            for (Annotated<Method> method : annotationFinder.findMetaAnnotatedMethods(DenyAll.class)) {
+            scheduleMethods.addAll(annotationFinder.findMetaAnnotatedMethods(javax.ejb.Schedules.class));
+            scheduleMethods.addAll(annotationFinder.findMetaAnnotatedMethods(javax.ejb.Schedule.class));
+                for (Annotated<Method> method : sortMethods(annotationFinder.findMetaAnnotatedMethods(PostConstruct.class))) {
+                for (Annotated<Method> method : sortMethods(annotationFinder.findMetaAnnotatedMethods(PreDestroy.class))) {
+                    for (Annotated<Method> method : sortMethods(annotationFinder.findMetaAnnotatedMethods(javax.interceptor.AroundInvoke.class))) {
+                    for (Annotated<Method> method : sortMethods((annotationFinder.findMetaAnnotatedMethods(javax.interceptor.AroundTimeout.class)))) {
+                    List<Annotated<Method>> timeoutMethods = sortMethods(annotationFinder.findMetaAnnotatedMethods(javax.ejb.Timeout.class));
+                    for (Annotated<Method> method : sortMethods(annotationFinder.findMetaAnnotatedMethods(AfterBegin.class))) {
+                    for (Annotated<Method> method : sortMethods(annotationFinder.findMetaAnnotatedMethods(BeforeCompletion.class))) {
+                    for (Annotated<Method> method : sortMethods(annotationFinder.findMetaAnnotatedMethods(AfterCompletion.class))) {
+                    for (Annotated<Method> method : sortMethods(annotationFinder.findMetaAnnotatedMethods(PostActivate.class))) {
+                    for (Annotated<Method> method : sortMethods(annotationFinder.findMetaAnnotatedMethods(PrePassivate.class))) {
+                for (Annotated<Method> method : sortMethods(annotationFinder.findMetaAnnotatedMethods(Init.class))) {
+                List<Annotated<Method>> removeMethods = sortMethods(annotationFinder.findMetaAnnotatedMethods(Remove.class));
+            for (Annotated<Class<?>> clazz : annotationFinder.findMetaAnnotatedClasses(EJBs.class)) {
+            for (Annotated<Class<?>> clazz : annotationFinder.findMetaAnnotatedClasses(EJB.class)) {
+            for (Annotated<Field> field : annotationFinder.findMetaAnnotatedFields(EJB.class)) {
+            for (Annotated<Method> method : annotationFinder.findMetaAnnotatedMethods(EJB.class)) {
+            for (Annotated<Class<?>> clazz : annotationFinder.findMetaAnnotatedClasses(Resources.class)) {
+            for (Annotated<Class<?>> clazz : annotationFinder.findMetaAnnotatedClasses(Resource.class)) {
+            for (Annotated<Field> field : annotationFinder.findMetaAnnotatedFields(Resource.class)) {
+            for (Annotated<Method> method : annotationFinder.findMetaAnnotatedMethods(Resource.class)) {
+            for (Annotated<Class<?>> clazz : annotationFinder.findMetaAnnotatedClasses(WebServiceRefs.class)) {
+            for (Annotated<Class<?>> clazz : annotationFinder.findMetaAnnotatedClasses(WebServiceRef.class)) {
+            for (Annotated<Field> field : annotationFinder.findMetaAnnotatedFields(WebServiceRef.class)) {
+            for (Annotated<Method> method : annotationFinder.findMetaAnnotatedMethods(WebServiceRef.class)) {
+            for (Annotated<Class<?>> clazz : annotationFinder.findMetaAnnotatedClasses(PersistenceUnits.class)) {
+            for (Annotated<Class<?>> clazz : annotationFinder.findMetaAnnotatedClasses(PersistenceUnit.class)) {
+            for (Annotated<Field> field : annotationFinder.findMetaAnnotatedFields(PersistenceUnit.class)) {
+            for (Annotated<Method> method : annotationFinder.findMetaAnnotatedMethods(PersistenceUnit.class)) {
+            for (Annotated<Class<?>> clazz : annotationFinder.findMetaAnnotatedClasses(PersistenceContexts.class)) {
+            for (Annotated<Class<?>> clazz : annotationFinder.findMetaAnnotatedClasses(PersistenceContext.class)) {
+            for (Annotated<Field> field : annotationFinder.findMetaAnnotatedFields(PersistenceContext.class)) {
+            for (Annotated<Method> method : annotationFinder.findMetaAnnotatedMethods(PersistenceContext.class)) {
+            int ann = annotationFinder.findAnnotatedClasses(handler.getAnnotationClass()).size();
+            ann += annotationFinder.findAnnotatedMethods(handler.getAnnotationClass()).size();
+            List<Annotated<Class<?>>> types = sortClasses(annotationFinder.findMetaAnnotatedClasses(annotationClass));
+            List<Annotated<Method>> methods = annotationFinder.findMetaAnnotatedMethods(annotationClass);
+        List<Class<?>> annotatedClasses = finder.findAnnotatedClasses(Path.class);
+        methods.addAll(finder.findAnnotatedMethods(Path.class));

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/dev/xbean-usage-in-openejb.mdtext
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/dev/xbean-usage-in-openejb.mdtext b/src/main/jbake/content/dev/xbean-usage-in-openejb.mdtext
new file mode 100644
index 0000000..9a0b1aa
--- /dev/null
+++ b/src/main/jbake/content/dev/xbean-usage-in-openejb.mdtext
@@ -0,0 +1,149 @@
+Title: Xbean usage in OpenEJB
+<a name="XbeanusageinOpenEJB-HowXBeanisusedinOpenEJB"></a>
+# How XBean is used in OpenEJB
+
+Below is an explanation by David Blevins on the usage of xbean in OpenEJB. This text was taken from an email conversation. To view the full conversation, click&nbsp;[here](http://www.nabble.com/How-is-XBean-used-in-OpenEJB-3--tf2148639.html#a5959172)
+
+
+<a name="XbeanusageinOpenEJB-xbean-reflect"></a>
+## xbean-reflect
+
+ xbean-reflect is a beefed up reflection library.
+
+Earlier all pluggable components had an "init(Properties props)" method?
+&nbsp;Same concept except now we throw the component class and the
+properties into an "ObjectRecipe" and call create(). &nbsp;The recipe will
+take the props out, convert them to the right data types,  and construct
+the object using the right constructor and setters.
+
+So our Containers and stuff now use constructors and setters. &nbsp;Same with anything in a &nbsp;[service-jar.xml](http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml?view=markup)
+ file.
+
+<a name="XbeanusageinOpenEJB-Somecoderefs:"></a>
+#### Some code refs:
+
+1. [Assembler.java](http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?revision=546308&view=markup)
+We also use it to construct Stateful and Stateless session bean instances.
+
+1. [StatefulInstanceManager.java](http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulInstanceManager.java?revision=546308&view=markup)
+1. [StatelessInstanceManager.java](http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/stateless/StatelessInstanceManager.java?revision=546308&view=markup)
+
+<a name="XbeanusageinOpenEJB-xbean-finder"></a>
+## xbean-finder
+
+xbean-finder is the second coolest library ever. &nbsp;It's a beefed
+up&nbsp; service finder for grabbing stuff in your classpath. &nbsp;We use
+it at a couple of places.
+
+<a name="XbeanusageinOpenEJB-COMMANDLINETOOL:"></a>
+### COMMAND LINE TOOL:
+
+The available commands are in properties files in
+"META-INF/org.openejb.cli/\{name\}", where \{name\} is the name of the
+command. &nbsp;See:
+1. [openejb cli](http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/resources/META-INF/org.apache.openejb.cli/)
+1. [openejb cli for itests](http://svn.apache.org/viewvc/tomee/tomee/trunk/itests/openejb-itests-client/src/main/resources/META-INF/org.openejb.cli/)
+
+Earlier we had the "test"&nbsp; command hardcoded in a script, but the
+person may have uninstalled&nbsp; the itests? &nbsp;Well now, if you have
+the itests jar, the "test" command&nbsp; will be available. &nbsp;If you
+don't have the itests jar, the "test" &nbsp;
+command won't be available. &nbsp;The "test" command itself is in the&nbsp;
+itests jar. &nbsp;You can put any command in any jar and it will&nbsp;
+automatically become available on the command line. &nbsp;Remove the
+jar&nbsp; and the command is gone.
+
+When someone types "java \-jar openejb.jar start" this guy will look&nbsp;
+for "META-INF/org.openejb.cli/start". &nbsp;If he finds it, he'll
+create&nbsp; it and execute it. &nbsp;If he doesn't find it, he'll list the
+available&nbsp; commands by enumerating over all the files he see's in the
+classpath&nbsp; under the "META-INF/org.openejb.cli/" directory. See [MainImpl.java](http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cli/MainImpl.java?revision=546308&view=markup)
+
+An extra cool thing is that each command has in it's properties a&nbsp;
+"description" property. &nbsp;This is localized, so if the VM locale
+is&nbsp; "pl" it will look for a "description.pl" property and use its
+value&nbsp; when printing command line help.
+I'd like to give Jeremy Whitlock a big shout-out for doing such a&nbsp;
+bang up job on this. &nbsp;He and I worked out the idea and
+white-boarded&nbsp; it in the wiki, then Jeremy went off and coded up the
+whole thing\!&nbsp; It was fantastic.
+
+<a name="XbeanusageinOpenEJB-SERVERSERVICES:"></a>
+### SERVER SERVICES:
+
+We also use the xbean-finder to create our Server Services (aka.&nbsp;
+protocols). &nbsp;Our ServerService implementations are in properties&nbsp;
+files under "META-INF/org.openejb.server.ServerService/\{protocolName\}.
+See:
+1. [OpenEJB Server - ServerService](http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-server/src/main/resources/META-INF/org.apache.openejb.server.ServerService/)
+1. [OpenEJB ejbd - ServerService](http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-ejbd/src/main/resources/META-INF/org.apache.openejb.server.ServerService/)
+1. [OpenEJB Telnet - ServerService](http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-telnet/src/main/resources/META-INF/org.apache.openejb.server.ServerService/)
+1. [OpenEJB HTTP - ServerService](http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-http/src/main/resources/META-INF/org.apache.openejb.server.ServerService/)
+
+The very first time a ServerService is constructed, we squirt the&nbsp;
+properties file into the openejb/conf/ directory so the user can edit&nbsp;
+it. &nbsp;The properties files for ServerServices are very xinet.d
+like.&nbsp; For example, here is the definition of the "admin" server
+service:
+
+&nbsp; &nbsp; &nbsp;server &nbsp; &nbsp; &nbsp;=
+org.openejb.server.admin.AdminDaemon
+&nbsp; &nbsp; &nbsp;bind &nbsp; &nbsp; &nbsp; &nbsp;= 127.0.0.1
+&nbsp; &nbsp; &nbsp;port &nbsp; &nbsp; &nbsp; &nbsp;= 4200
+&nbsp; &nbsp; &nbsp;disabled &nbsp; &nbsp;= false
+&nbsp; &nbsp; &nbsp;threads &nbsp; &nbsp; = 1
+&nbsp; &nbsp; &nbsp;only_from &nbsp; = localhost
+
+You can reconfigure the "admin" server service, for example, via the&nbsp;
+properties file in openejb/conf/admin.properties. &nbsp;Or you can do
+it&nbsp; on the command line as such:
+
+<in-a-shell>
+$ ./bin/openejb start \-Dadmin.bind=192.168.42.13
+OPENEJB_HOME=/Users/dblevins/work/openejb1/target/openejb-1.1-SNAPSHOT
+OpenEJB 1.1-SNAPSHOT &nbsp; &nbsp;build: 20060420-2356
+[http://www.openejb.org](http://www.openejb.org)
+resources 1
+OpenEJB ready.
+\[init\](init\.html)
+ OpenEJB Remote Server
+&nbsp; &nbsp;*\* Starting Services \*\*
+&nbsp; &nbsp;NAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+IP &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PORT
+&nbsp; &nbsp;webadmin &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 127.0.0.1
+&nbsp; &nbsp; &nbsp; 4203
+&nbsp; &nbsp;httpejbd &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 127.0.0.1
+&nbsp; &nbsp; &nbsp; 4204
+&nbsp; &nbsp;telnet &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+127.0.0.1 &nbsp; &nbsp; &nbsp; 4202
+&nbsp; &nbsp;ejbd &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+127.0.0.1 &nbsp; &nbsp; &nbsp; 4201
+&nbsp; &nbsp;admin &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
+&nbsp;192.168.42.13 &nbsp; 4200
+\------\-
+Ready\!
+</in-a-shell>
+
+You can override any server service property in the same way.
+&nbsp;Here&nbsp; are a bunch more examples:
+
+&nbsp; Option: \-D<service>.bind=<address>
+&nbsp; &nbsp; openejb start \-Dejbd.bind=10.45.67.8
+&nbsp; &nbsp; openejb start \-Dejbd.bind=myhost.foo.com
+&nbsp; &nbsp; openejb start \-Dtelnet.bind=myhost.foo.com
+
+&nbsp; Option: \-D<service>.port=<port>
+&nbsp; &nbsp; openejb start \-Dejbd.port=8765
+&nbsp; &nbsp; &nbsp;openejb start \-Dhttpejbd.port=8888
+
+&nbsp; Option: \-D<service>.only_from=<addresses>
+&nbsp; &nbsp; &nbsp;openejb start \-Dadmin.only_from=192.168.1.12
+&nbsp; &nbsp; &nbsp;openejb start
+\-Dadmin.only_from=192.168.1.12,joe.foo.com,robert
+
+&nbsp; Option: \-D<service>.threads=<max>
+&nbsp; &nbsp; &nbsp;openejb start \-Dejbd.threads=200
+
+&nbsp; Option: \-D<service>.disabled=<true/false>
+&nbsp; &nbsp; &nbsp;openejb start \-Dtelnet.disabled=true
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/classloading/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/classloading/index.adoc b/src/main/jbake/content/developer/classloading/index.adoc
deleted file mode 100755
index fb47ef3..0000000
--- a/src/main/jbake/content/developer/classloading/index.adoc
+++ /dev/null
@@ -1,59 +0,0 @@
-= The TomEE ClassLoader
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-TomEE ClassLoading is directly mapped to Tomcat one.
-
-ifndef::backend-pdf[]
-
-[#filetree.col-md-3]
-[
-    {
-        label: 'JVM',
-        description: 'The JVM classloader launching tomcat main(String[])',
-        children: [
-            {
-                label:'common.loader',
-                description:'Customizable in conf/catalina.properties, the common loader is the Tomcat classloader',
-                children: [
-                    {
-                        label:'shared.loader',
-                        description:'Optional layer where you can add libraries for the web applications not seen by Tomcat. It is generally not used and not encouraged since Tomcat 6',
-                        children: [
-                            {
-                                label:'webapp1',
-                                description:'loader of one of your wars, it container WEB-INF/classes, WEB-INF/lib/*.jar'
-                            },
-                            {
-                                label:'webapp2',
-                                description:'loader of another one of your wars, it container WEB-INF/classes, WEB-INF/lib/*.jar'
-                            },
-                            {
-                                label:'application1',
-                                description:'loader of another application, it can be an ear, it contains lib and ejbmodules of the ear',
-                                children: [
-                                    {
-                                        label:'earwebapp1',
-                                        description:'loader of one of the wars of the ear'
-                                    },
-                                    {
-                                        label:'earwebapp2',
-                                        description:'loader of the other webapp of the ear'
-                                    }
-                                ]
-                            }
-                        ]
-                    }
-                ]
-            }
-        ]
-    }
-]
-
-[#filetreedetail.col-md-8.bs-callout.bs-callout-primary]
-Click on the tree (JVM) on the left to see the detail there.
-
-endif::[]
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/configuration/cxf.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/configuration/cxf.adoc b/src/main/jbake/content/developer/configuration/cxf.adoc
deleted file mode 100755
index 997fc82..0000000
--- a/src/main/jbake/content/developer/configuration/cxf.adoc
+++ /dev/null
@@ -1,93 +0,0 @@
-= CXF Configuration - JAX-RS (RESTful Services) and JAX-WS (Web Services)
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-TomEE relies on Apache CXF for JAX-RS (RESTful Services) and JAX-WS (Web Services). It does not provide all CXF modules, but the most common ones for both specifications (JAX-RS is part of all distributions but JAX-WS is only part of plus one).
-
-== Configuration
-
-CXF API is reusable but you can also configure the interceptors through `openejb-jar.xml` (located in WEB-INF).
-
-If you want to configure JAX-RS you will use the prefix `cxf.jaxrs` and if you configure JAX-WS you use `cxf.jaxws` prefix.
-
-TIP: to configure directly the bus use `org.apache.openejb.cxf.bus.` prefix and configure it in `conf/system.properties`.
-
-To configure JAX-RS you need to add in `openejb-jar.xml` a `pojo-deployment`:
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<openejb-jar>
- <pojo-deployment class-name="jaxrs-application">
-   <properties>
-     # here will go the config
-   </properties>
- </pojo-deployment>
-</openejb-jar>
-----
-
-For JAX-WS you will use a `pojo-deployment` matching the webservice class name for POJO webservices
-or an `ejb-deployment` instead of a `pojo-deployment` for EJB webservices:
-
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<openejb-jar>
- <ejb-deployment ejb-name="MyEJBWebService">
-   <properties>
-     # here will go the config
-   </properties>
- </ejb-deployment>
-</openejb-jar>
-----
-
-Then once you selected your prefix and know where to write the config just use the following entries:
-
-- properties: server factory properties
-- features: CXF features
-- in-interceptors: CXF in interceptors
-- out-interceptors: CXF out interceptors
-- in-fault-interceptors: CXF in interceptors for fault handling
-- out-fault-interceptors: CXF out interceptors for fault handling
-- databinding: server databinding
-- providers (only for JAX-RS endpoint): list of JAX-RS providers
-- skip-provider-scanning (only for JAX-RS): is provider scanning on or not (default true)
-
-For features and interceptors the rule is the same: value is a list comma separated. Each value of the list is either a qualified class name or an id of a service in resources.xml.
-
-Databinding is simply either a qualified name or a service id in resources.xml (located in WEB-INF).
-
-== Sample for JAX-WS
-
-To configure WSS4J on the EJB `CalculatorBean` for instance add in openejb-jar.xml:
-
-[source,xml]
-----
-<openejb-jar xmlns="http://www.openejb.org/openejb-jar/1.1">
-  <ejb-deployment ejb-name="CalculatorBean">
-    <properties>
-      cxf.jaxws.in-interceptors = wss4j
-    </properties>
-  </ejb-deployment>
-</openejb-jar>
-----
-
-With associated resources.xml which will define precisely the `wss4j` configuration:
-
-[source,xml]
-----
-<resources>
-  <Service id="wss4j" class-name="org.apache.openejb.server.cxf.config.WSS4JInInterceptorFactory" factory-name="create">
-    action = UsernameToken
-    passwordType = PasswordText
-    passwordCallbackClass = org.superbiz.ws.security.PasswordCallbackHandler
-  </Service>
-</resources>
-----
-
-== Sample for JAX-RS
-
-link:../json/index.html[JAX-RS JSON] page shows a sample dedicated to JAX-RS.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/ide/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/ide/index.adoc b/src/main/jbake/content/developer/ide/index.adoc
deleted file mode 100755
index 9bc3370..0000000
--- a/src/main/jbake/content/developer/ide/index.adoc
+++ /dev/null
@@ -1,25 +0,0 @@
-= Integrated Development Environments (IDEs)
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-TomEE is supported by the main IDEs in the market:
-
-- https://eclipse.org/downloads/[Eclipse]
-- https://www.jetbrains.com/idea/download/[Intellij Idea]
-- https://netbeans.org/downloads/[Netbeans]
-
-=== Eclipse
-
-Be the first to write this part!
-
-=== Idea
-
-Be the first to write this part!
-
-=== Netbeans
-
-Be the first to write this part!
-
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/index.adoc b/src/main/jbake/content/developer/index.adoc
deleted file mode 100755
index 5d49d24..0000000
--- a/src/main/jbake/content/developer/index.adoc
+++ /dev/null
@@ -1,7 +0,0 @@
-= Developer
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-Click link:../docs.html[here] to find documentation for developers.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/json/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/json/index.adoc b/src/main/jbake/content/developer/json/index.adoc
deleted file mode 100755
index 9141d88..0000000
--- a/src/main/jbake/content/developer/json/index.adoc
+++ /dev/null
@@ -1,206 +0,0 @@
-= TomEE and Apache Johnzon - JAX-RS JSON Provider
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-Since TomEE 7.0, TomEE comes with Apache Johnzon.
-It means you can use JSON-P out of the box but also Johnzon Mapper
-which is the default JAX-RS provider for JSON.
-
-*IMPORTANT* - this is a breaking change with 1.x which was using jettison.
-This last one was relying on JAXB model to generate JSON which often led
-to unexpected JSON tree and some unexpected escaping too.
-
-== Getting started with Johnzon Mapper
-
-http://johnzon.apache.org/ will get more informations than this quick
-getting started but here are the basics of the mapping with Johnzon.
-
-The mapper uses a direct java to json representation.
-
-For instance this java bean:
-
-[source,java]
-----
-public class MyModel {
-  private int id;
-  private String name;
-  
-  // getters/setters
-}
-----
-
-will be mapped to:
-
-[source,java]
-----
-{
-  "id": 1234,
-  "name": "Johnzon doc"
-}
-----
-
-Note that Johnzon supports several customization either directly on the MapperBuilder of through annotations.
-
-=== @JohnzonIgnore
-
-@JohnzonIgnore is used to ignore a field. You can optionally say you ignore the field until some version
-if the mapper has a version:
-
-[source,java]
-----
-public class MyModel {
-  @JohnzonIgnore
-  private String name;
-  
-  // getters/setters
-}
-----
-
-Or to support name for version 3, 4, ... but ignore it for 1 and 2:
-
-
-[source,java]
-----
-public class MyModel {
-  @JohnzonIgnore(minVersion = 3)
-  private String name;
-  
-  // getters/setters
-}
-----
-
-=== @JohnzonConverter
-
-Converters are used for advanced mapping between java and json.
-
-There are several converter types:
-
-1. Converter: map java to json and the opposite based on the string representation
-2. Adapter: a converter not limited to String
-3. ObjectConverter.Reader: to converter from json to java at low level
-4. ObjectConverter.Writer: to converter from java to json at low level
-4. ObjectConverter.Codec: a Reader and Writer
-
-The most common is to customize date format but they all take. For that simple case we often use a Converter:
-
-[source,java]
-----
-public class LocalDateConverter implements Converter<LocalDate> {
-    @Override
-    public String toString(final LocalDate instance) {
-        return instance.toString();
-    }
-
-    @Override
-    public LocalDate fromString(final String text) {
-        return LocalDate.parse(text);
-    }
-}
-----
-
-If you need a more advanced use case and modify the structure of the json (wrapping the value for instance)
-you will likely need Reader/Writer or a Codec.
-
-Then once your converter developed you can either register globally on the MapperBuilder or simply decorate
-the field you want to convert with @JohnzonConverter:
-
-[source,java]
-----
-public class MyModel {
-  @JohnzonConverter(LocalDateConverter.class)
-  private LocalDate date;
-  
-  // getters/setters
-}
-----
-
-=== @JohnzonProperty
-
-Sometimes the json name is not java friendly (_foo or foo-bar or even 200 for instance). For that cases
-@JohnzonProperty allows to customize the name used:
-
-[source,java]
-----
-public class MyModel {
-  @JohnzonProperty("__date")
-  private LocalDate date;
-  
-  // getters/setters
-}
-----
-
-=== AccessMode
-
-On MapperBuilder you have several AccessMode available by default but you can also create your own one.
-
-The default available names are:
-
-* field: to use fields model and ignore getters/setters
-* method: use getters/setters (means if you have a getter but no setter you will serialize the property but not read it)
-* strict-method (default based on Pojo convention): same as method but getters for collections are not used to write
-
-You can use these names with setAccessModeName().
-
-=== Your own mapper
-
-Since johnzon is in tomee libraries you can use it yourself (if you use maven/gradle set johnzon-mapper as provided):
-
-[source,java]
-----
-final MySuperObject object = createObject();
-
-final Mapper mapper = new MapperBuilder().build();
-mapper.writeObject(object, outputStream);
-
-final MySuperObject otherObject = mapper.readObject(inputStream, MySuperObject.class);
-----
-
-== Johnzon and JAX-RS
-
-TomEE uses by default Johnzon as JAX-RS provider for versions 7.x. If you want however to customize it you need to follow this procedure:
-   
-1. Create a WEB-INF/openejb-jar.xml:
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<openejb-jar>
- <pojo-deployment class-name="jaxrs-application">
-   <properties>
-     # optional but requires to skip scanned providers if set to true
-     cxf.jaxrs.skip-provider-scanning = true
-     # list of providers we want
-     cxf.jaxrs.providers = johnzon,org.apache.openejb.server.cxf.rs.EJBAccessExceptionMapper
-   </properties>
- </pojo-deployment>
-</openejb-jar>
-----
-
-2. Create a WEB-INF/resources.xml to define johnzon service which will be use to instantiate the provider
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<resources>
- <Service id="johnzon" class-name="org.apache.johnzon.jaxrs.ConfigurableJohnzonProvider">
-   # 1M
-   maxSize = 1048576
-   bufferSize = 1048576
-
-   # ordered attributes
-   attributeOrder = $order
-
-   # Additional types to ignore
-   ignores = org.apache.cxf.jaxrs.ext.multipart.MultipartBody
- </Service>
-
- <Service id="order" class-name="com.company.MyAttributeSorter" />
-
-</resources>
-----
-
-Note: as you can see you mainly just need to define a service with the id johnzon (same as in openejb-jar.xml)
-and you can reference other instances using $id for services and @id for resources.
-

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/migration/tomee-1-to-7.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/migration/tomee-1-to-7.adoc b/src/main/jbake/content/developer/migration/tomee-1-to-7.adoc
deleted file mode 100644
index 5bf7153..0000000
--- a/src/main/jbake/content/developer/migration/tomee-1-to-7.adoc
+++ /dev/null
@@ -1,33 +0,0 @@
-= Migrate from TomEE 1 to TomEE 7
-:jbake-date: 2017-06-17
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-== Breaking changes
-
-- Artifact coordinates changes
-
-GroupId changed from `org.apache.openejb` to `org.apache.tomee`.
-It includes maven plugins which use now `org.apache.tomee.maven` and the `javaee-api`.
-
-Versions of openejb and tomee are now aligned on 7.x and you don't need to use
-4.x and 1.x (or any variant) for openejb and tomee.
-
-- JAX-RS 2 specification refined the sorting of providers. It can have side effects for message body
-readers/writers which don't define their target mediatype properly like Jackson which uses wildcard instead of
-a json related mediatype. To solve it register a custom provider redefining the media type.
-
-Can be as easy as:
-
-[source,java]
-----
-@Provider
-@Consumes("application/json")
-@Produces("application/json")
-public class MyAppJsonProvider extends JacksonJsonProvider {
-}
-----
-
-- JPA and CDI are linked now, enabling JPA to use CDI for its components but CDI can use JPA too...
-to solve issues with hibernate you need to add either as system property or persistence unit `tomee.jpa.factory.lazy = true`.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/testing/applicationcomposer/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/testing/applicationcomposer/index.adoc b/src/main/jbake/content/developer/testing/applicationcomposer/index.adoc
deleted file mode 100755
index 64b5e48..0000000
--- a/src/main/jbake/content/developer/testing/applicationcomposer/index.adoc
+++ /dev/null
@@ -1,335 +0,0 @@
-= ApplicationComposer: The TomEE Swiss Knife
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-ApplicationComposer API is mainly contained in org.apache.openejb.testing package (historically, today we would have called the package org.apache.tomee.applicationcomposer).
-
-=== Dependencies
-
-To start using ApplicationComposer you need to add some dependencies.
-
-The minimum required one is openejb-core:
-
-[source,xml]
-----
-<dependency>
-  <groupId>org.apache.tomee</groupId>
-  <artifactId>openejb-core</artifactId>
-  <version>${openejb.version></version>
-</dependency>
-----
-
-If you need JAXRS services you'll add (or replace thanks to transitivity of maven) openejb-cxf-rs:
-
-[source,xml]
-----
-<dependency>
-  <groupId>org.apache.tomee</groupId>
-  <artifactId>openejb-cxf-rs</artifactId>
-  <version>${openejb.version></version>
-</dependency>
-----
-
-If you need JAXWS services you'll add (or replace thanks to transitivity of maven) openejb-cxf:
-
-[source,xml]
-----
-<dependency>
-  <groupId>org.apache.tomee</groupId>
-  <artifactId>openejb-cxf</artifactId>
-  <version>${openejb.version></version>
-</dependency>
-----
-
-=== ApplicationComposer Components
-
-==== @Module
-An ApplicationComposer needs at minimum a module (the application you need to deploy).
-
-To do so you have two cases:
-
-before TomEE 7.x: you can only write method(s) decorated with @Module
-since TomEE 7.x: you can skip it and use @Classes directly on the ApplicationComposer class as a shortcut for:
-
-[source,java]
-----
-@Module public WebApp app() { return new WebApp(); }
-----
-
-The expected returned type of these methods are in org.apache.openejb.jee package:
-
-- Application: entry point to create an ear
-- WebApp: a web application
-- EjbJar: an ejb module
-- EnterpriseBean children: a simple EJB
-- Persistence: a persistence module with multiple units
-- PersistenceUnit: a simple unit (automatically wrapped in a Persistence)
-- Connector: a JCA connector module
-- Beans: a CDI module,
-- Class[] or Class: a set of classes scanned to discover annotations
-
-Note that for easiness @Classes was added to be able to describe a module and some scanned classes. For instance the following snippet will create a web application with classes C1, C2 as CDI beans and E1 as an EJB automatically:
-
-[source,java]
-----
-@Module
-@Classes(cdi = true, value = { C1.class, C2.class, E1.class })
-public WebApp app() {
-    return new WebApp();
-}
-----
-
-==== @Configuration
-Often you need to customize a bit the container or at least create some resources like test databases. To do so you can create a method returning Properties which will be the container properties.
-
-Note: to simplify writing properties you can use PropertiesBuilder util class which is just a fluent API to write properties.
-
-In these properties you can reuse OpenEJB/TomEE property syntax for resources.
-
-Here is a sample:
-
-[source,java]
-----
-@Configuration
-public Properties configuration() {
-    return new PropertiesBuilder()
-        .p("db", "new://Resource?type=DataSource")
-        .p("db.JdbcUrld", "jdbc:hsqldb:mem:test")
-        .build();
-}
-----
-
-Since TomEE 7.x you can also put properties on ApplicationComposer class using @ContainerProperties API:
-
-[source,java]
-----
-@ContainerProperties({
-  @ContainerProperties.Property(name = "db", value = "new://Resource?type=DataSource"),
-  @ContainerProperties.Property(name = "db.JdbcUrl", value = "jdbc:hsqldb:mem:test")
-})
-public class MyAppComposer() {
-  // ...
-}
-----
-
-==== @Component
-Sometimes you need to customize a container component. The most common use case is the security service to mock a little bit authorization if you don't care in your test.
-
-To do so just write a method decorated with @Component returning the instance you desire.
-
-Components in TomEE are stored in a container Map and the key needs to be a Class. This one is deduced from the returned type of the @Component method:
-
-[source,java]
-----
-@Component
-public SecurityService mockSecurity() {
-    return new MySecurityService();
-}
-----
-
-==== @Descriptors
-You can reuse existing file descriptors using @Descriptors. The name is the file name and the path either a classpath path or a file path:
-
-[source,java]
-----
-// runner if needed etc...
-@Descriptors(@Descriptor(name = "persistence.xml", path = "META-INF/persistence.xml"))
-public class MyTest {
-   //...
-}
-----
-
-Note: this can be put in a @Module method as well.
-
-==== Services
-If you want to test a JAXRS or JAXWS service you need to activate these services.
-
-To do so just add the needed dependency and use @EnableServices:
-
-[source,java]
-----
-// runner if needed etc...
-@EnableService("jaxrs") // jaxws supported as well
-public class MyTest {
-   //...
-}
-----
-
-==== Random port
-Services like JAXRS and JAXWS relies on HTTP. Often it is nice to have a random port to be able to deploy multiple tests/projects on the same CI platform at the same time.
-
-To shortcut all the needed logic you can use @RandomPort. It is simply an injection giving you either the port (int) or the root context (URL):
-
-[source,java]
-----
-// runner, services if needed etc...
-public class MyTest {
-   @RandomPort("http")
-   private int port;
-}
-----
-
-Note: you can generate this way multiple ports. The value is the name of the service it will apply on (being said http is an alias for httpejbd which is our embedded http layer).
-
-==== Nice logs
-@SimpleLog annotation allows you to have one liner logs
-
-==== @JaxrsProvider
-@JaxrsProvider allows you to specify on a @Module method the list of JAXRS provider you want to use.
-
-==== Dependencies without hacky code
-@Jars allows you to add dependencies (scanned) to your application automatically (like CDI libraries):
-
-[source,java]
-----
-@Module
-@Classes(cdi = true, value = { C1.class, C2.class, E1.class })
-@Jars("deltaspike-")
-public WebApp app() {
-    return new WebApp();
-}
-----
-
-==== @Default
-@Default (openejb one not CDI one) automatically adds in the application target/classes as binaries and src/main/webapp as resources for maven projects.
-
-==== @CdiExtensions
-This annotation allows you to control which extensions are activated during the test.
-
-==== @AppResource
-This annotation allows injection of few particular test resources like:
-
-the test AppModule (application meta)
-the test Context (JNDI)
-the test ApplicationComposers (underlying runner)
-ContextProvider: allow to mock JAXRS contexts
-
-==== @MockInjector
-Allows to mock EJB injections. It decorates a dedicated method returning an instance (or Class) implementing FallbackPropertyInjector.
-
-==== @WebResource
-Allow for web application to add folders containing web resources.
-
-
-=== How to run it?
-==== JUnit
-If you use JUnit you have mainly 2 solutions to run you "model" using the ApplicationComposer:
-
-using ApplicationComposer runner:
-
-[source,java]
-----
-@RunWith(ApplicationComposer.class) public class MyTest { // ... }
-----
-
-using ApplicationComposerRule rule:
-public class MyTest { @Rule // or @ClassRule if you want the container/application lifecycle be bound to the class and not test methods public final ApplicationComposerRule rule = new ApplicationComposerRule(this); }
-
-Tip: since TomEE 7.x ApplicationComposerRule is decomposed in 2 rules if you need: ContainerRule and DeployApplication. Using JUnit RuleChain you can chain them to get the samebehavior as ApplicationComposerRule or better deploy multiple ApplicationComposer models and controlling their deployment ordering (to mock a remote service for instance).
-
-Finally just write `@Test` method using test class injections as if the test class was a managed bean!
-
-==== TestNG
-TestNG integration is quite simple today and mainly ApplicationComposerListener class you can configure as a listener to get ApplicationComposer features.
-
-Finally just write TestNG @Test method using test class injections as if the test class was a managed bean!
-
-==== Standalone
-Since TomEE 7.x you can also use ApplicationComposers to directly run you ApplicationComposer model as a standalone application:
-
-[source,java]
-----
-public class MyApp {
-    public static void main(String[] args) {
-        ApplicationComposers.run(MyApp.class, args);
-    }
-
-    // @Module, @Configuration etc...
-}
-----
-
-Tip: if MyApp has `@PostConstruct` methods they will be respected and if MyApp has a constructor taking an array of String it will be instantiated getting the second parameter as argument (ie you can propagate your main parameter to your model to modify your application depending it!)
-
-=== JUnit Sample
-
-[source,java]
-----
-@Classes(cdi = true, value = { MyService.class, MyOtherService.class })
-@ContainerProperties(@ContainerProperties.Property(name = "myDb", value = "new://Resource?type=DataSource"))
-@RunWith(ApplicationComposer.class)
-public class MyTest {
-    @Resource(name = "myDb")
-    private DataSource ds;
-
-    @Inject
-    private MyService service;
-
-    @Test
-    public void myTest() {
-        // do test using injections
-    }
-}
-----
-
-=== Start and Deploy once
-
-When having a huge suite of test it can be long to start/deploy/undeploy/shutdown he container/application for each method.
-
-That's why `SingleApplicationComposerRunner` allows to just reuse the same instance accross several test.
-
-The first test will start and deploy the application and then other tests will reuse this instance until the JVM is destroyed
-where the server/application will be undeployed/shutdown.
-
-
-Here a simple usage:
-
-[source,java]
-----
-import org.apache.openejb.testing.SingleApplicationComposerRunner;
-// other imports
-
-@RunWith(SingleApplicationComposerRunner.class)
-public class MyTest {
-    @Inject
-    private ACdiBean bean;
-
-    @Application
-    private TheModel model;
-
-    @Test
-    public void aTest() {
-        // ...
-    }
-}
-----
-
-TIP: if you need a real TomEE container then you can have a look to `TomEEEmbeddedSingleRunner` which does deploys the classpath
-using tomee-embedded.
-
-==== Configure what to deploy
-
-As all tests will reuse the same application the model (the class declaring the application with `@Classes`, `@Module` etc...) needs to be extracted from the test class itself.
-
-The application lookup uses this strategy (ordered):
-
-- the fully qualified name is read from the system property `tomee.application-composer.application`
-- a *single* class decorated with `@Application` is looked in the jar/folder containing the test class
-
-If you have several "groups" you can use JUnit `@Category` to differentiate them and write one application class by category. Then
-in `surefire` plugin you declare two `executions` enforcing the system property `tomee.application-composer.application` for each of them
-and the associated `@Category`.
-
-==== Available injections
-
-- If the application model class uses `@RandomPort` then the test classes can get it as well
-- CDI injections are supported
-- `@Application` on a field allows to get the application model to get injected
-
-Compared to a standalone usage it misses all other EE injections (`@PersistenceContext`, `@Resource` etc... but you can inject them in the application model
-and just expose them or wrap them in your tests thanks to the `@Application` field.
-
-
-=== Going further
-If you want to learn more about ApplicationComposer see link:../../../advanced/applicationcomposer/index.html[ApplicationComposer Advanced] page.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/testing/arquillian/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/testing/arquillian/index.adoc b/src/main/jbake/content/developer/testing/arquillian/index.adoc
deleted file mode 100755
index 16f0538..0000000
--- a/src/main/jbake/content/developer/testing/arquillian/index.adoc
+++ /dev/null
@@ -1,421 +0,0 @@
-= TomEE and Arquillian
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-TomEE has several arquillian adapter flavors:
-
-- openejb-embedded: a plain embedded OpenEJB supporting most of EE features
-- tomee-embedded: a full TomEE running in the same JVM
-- tomee-remote: a standard TomEE running in its own process as in production
-- tomee-webapp (not recommanded): an adapter starting from a Tomcat and installing tomee-webapp
-
-=== Embedded or Remote?
-
-Big advantage of embedded adapters is to be able to debug as usual. However it has few drawbacks which can make you
-rething this choice:
-
-- JVM resources are available where it will likely not be the case in war mode (src/main/resources typically)
-- You can mix server and client side features when writing a test
-- Classloading is a bit different by design and less isolated (test dependencies) so you can get runtime surprises when really deploying
-
-To summarize: the choice is the trade off you choose between easiness and reality of the simulation.
-
-TIP: in TomEE build we build the same tests against all tomee adapters in the same build/module, this means you can use embedded adapter in dev
-and activate remote tomee too (not only cause then if there is a failure you don't know if you missed it locally or if it is due
-to the switch of adapter) on your continuous integration platform.
-
-NOTE: all configurations have defaults
-
-=== OpenEJB Embedded
-
-==== Coordinates
-
-[source,xml]
-----
-<dependency>
-  <groupId>org.apache.tomee</groupId>
-  <artifactId>arquillian-openejb-embedded</artifactId>
-  <version>${tomee7.version}
-</dependency>
-----
-
-==== arquillian.xml
-
-|===
-|Name|Description
-|properties|container properties, as in conf/system.properties (not in xml format)
-|preloadClasses|some class to load (ie enforce static block initialization)
-|startDefaultScopes|should CDI default scopes be started (includes @RequestScoped)
-|singleDeploymentByArchiveName |names of archives (or true for all) to dploy a single time
-|===
-
-Sample:
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<arquillian
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
-  <container qualifier="openejb" default="true">
-    <configuration>
-      <property name="properties">
-        # used to not have a single DataSource and be able to test the resource resolution
-        db1 = new://Resource?type=DataSource
-        db1.JdbcUrl = jdbc:hsqldb:mem:db1
-
-        # will preload both classes, simple comma separated qualified names work too
-        openejb.arquillian.predeploy-archives = org.company.openejb.arquillian.openejb.archive.[SimpleArchive|SimpleArchive2]
-      </property>
-    </configuration>
-  </container>
-</arquillian>
-----
-
-=== TomEE Embedded
-
-==== Coordinates
-
-[source,xml]
-----
-<dependency>
-  <groupId>org.apache.tomee</groupId>
-  <artifactId>arquillian-tomee-embedded</artifactId>
-  <version>${tomee7.version}
-</dependency>
-----
-
-==== Configuration
-
-|===
-|Name|Description
-| exportConfAsSystemProperty|export system properties with adapter prefix(es) (ex: httpPort will be set as tomee.httpPort)
-| httpsPort | the HTTPS port
-| httpPort  | the HTTP port
-| stopPort   | the shutdown port
-| dir    | where to create the TomEE work dir (a fake file layout is created for Tomcat needs)
-| appWorkingDir     | where to dump applications (`@Deployment`)
-| host      | which host to use
-| stopHost       | which port to use to shutdown TomEE (port on Server configuration)
-| stopCommand       | which command to use to shutdown TomEE
-| serverXml       | where is the provided server.xml
-| portRange        | when port are set to -1 TomEE adapter will generate an available port, if specified the range will be used
-| preloadClasses        | which classes to initialize during container startup
-| quickSession         | should the session use a Random instead of SecureRandom (useful when the machine doesn't have a lot of entropy)
-| unsafeEjbd         | should EJB allow all classes
-| unpackWars          | unpackWARs value in server.xml
-| properties           | container properties
-| webContextToUseWithEars           |sometimes you can need this to adjust which context the adapter uses to find the ArquillianServletRunner
-| keepServerXmlAsThis           |don't replace ports etc in server.xml and use it like it has been provided when serverXml is set
-| singleDumpByArchiveName           | dump only once `@Deployment` archives using the name as key
-| singleDeploymentByArchiveName            |deploy only once `@Deployment` archives using the name as key
-|ssl| should https be activated
-|withEjbRemote| should EJBd remote be activated
-|keystoreFile | if ssl is set to true the keystore location
-|keystorePass | if ssl is set to true the keystore password
-|keystoreType  | if ssl is set to true the keystore type
-|clientAuth  |should SSL connector use clientAuth
-|keyAlias  | if ssl is set to true the key to use
-|sslProtocol  | if ssl is set to true the protocol to use
-|users  |a map of users (properties syntax)
-|roles  |user roles (properties syntax)
-|webResourcesCached   |should resources be cached or not (`DefaultServlet` caching)
-|===
-
-
-Sample:
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<arquillian
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="
-  http://jboss.org/schema/arquillian
-  http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
- <container qualifier="tomee" default="true">
-  <configuration>
-   <property name="serverXml">conf/server.xml</property>
-
-   <!-- port = -1 means random -->
-   <property name="httpPort">-1</property>
-   <property name="stopPort">-1</property>
-
-   <!-- ssl -->
-   <property name="httpsPort">-1</property>
-   <property name="ssl">false</property>
-   <property name="keystoreFile">keystore-path</property>
-   <property name="keystorePass">changeit</property>
-   <property name="keystoreType">JKS</property>
-   <property name="clientAuth">false</property>
-   <property name="keyAlias">alias</property>
-   <property name="sslProtocol">protocol</property>
-
-   <!-- where to create TomEE files -->
-   <property name="dir">target/tomee-embedded</property>
-
-   <!-- where to dump on disk applications to deploy -->
-   <property name="appWorkingDir">target/working-dir</property>
-
-   <!-- optional - limit the port allowed when random -->
-   <property name="portRange">20001-30000</property>
-
-   <!-- container config -->
-   <property name="properties">
-    # same as embedded case
-   </property>
-
-   <!-- Deployer config -->
-   <property name="deployerProperties">
-    # openejb.deployer.binaries.use=true
-    # openejb.deployer.forced.appId=[name]
-    # openejb.deployer.save-deployments=false
-   </property>
-  </configuration>
- </container>
-</arquillian>
-----
-
-=== TomEE Remote
-
-IMPORTANT: if a server is already started on host:port then it will be used instead of starting the configured TomEE type.
-
-To use a custom instance with arquillian ensure to have ejbd and tomee webapp activated. A way is to have in `conf/system.properties` these entries:
-
-[source]
-----
-tomee.remote.support=true
-openejb.system.apps=true
-
-# you can customize it depending the security level you need on the instance
-tomee.serialization.class.whitelist =
-tomee.serialization.class.blacklist = org.codehaus.groovy.runtime.,org.apache.commons.collections.functors.,org.apache.xalan,java.lang.Process
-----
-
-For really remote instances (= not on localhost) you need the `deployerProperties` of previous snippet too:
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<arquillian
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="
-  http://jboss.org/schema/arquillian
-  http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
- <container qualifier="tomee" default="true">
-  <configuration>
-   <!-- ... -->
-   <property name="deployerProperties">
-    openejb.deployer.binaries.use=true
-    openejb.deployer.save-deployments=false
-   </property>
-  </configuration>
- </container>
-</arquillian>
-----
-
-==== Coordinates
-
-[source,xml]
-----
-<dependency>
-  <groupId>org.apache.tomee</groupId>
-  <artifactId>arquillian-tomee-remote</artifactId>
-  <version>${tomee7.version}
-</dependency>
-----
-
-==== Configuration
-
-|===
-|Name|Description
-| exportConfAsSystemProperty|export system properties with adapter prefix(es) (ex: httpPort will be set as tomee.httpPort)
-| httpsPort | the HTTPS port
-| httpPort  | the HTTP port
-| stopPort   | the shutdown port
-| dir    | where to create the TomEE work dir (a fake file layout is created for Tomcat needs)
-| appWorkingDir     | where to dump applications (`@Deployment`)
-| host      | which host to use
-| stopHost       | which port to use to shutdown TomEE (port on Server configuration)
-| stopCommand       | which command to use to shutdown TomEE
-| serverXml       | where is the provided server.xml
-| portRange        | when port are set to -1 TomEE adapter will generate an available port, if specified the range will be used
-| preloadClasses        | which classes to initialize during container startup
-| quickSession         | should the session use a Random instead of SecureRandom (useful when the machine doesn't have a lot of entropy)
-| unsafeEjbd         | should EJB allow all classes
-| unpackWars          | unpackWARs value in server.xml
-| properties           | container properties
-| webContextToUseWithEars           |sometimes you can need this to adjust which context the adapter uses to find the ArquillianServletRunner
-| keepServerXmlAsThis           |don't replace ports etc in server.xml and use it like it has been provided when serverXml is set
-| singleDumpByArchiveName           | dump only once `@Deployment` archives using the name as key
-| singleDeploymentByArchiveName            |deploy only once `@Deployment` archives using the name as key
-|groupId|the maven groupId of the TomEE (or not) artifact
-|artifactId|the maven artifactId of the TomEE (or not) artifact
-|version |the maven version of the TomEE (or not) artifact
-|classifier |the maven classifier of the TomEE (or not) artifact
-|type  |the maven type of the TomEE (or not) artifact (should be zip)
-|removeUnusedWebapps   |should default webapps (ROOT, manager, ...) be removed
-|ajpPort   |the ajp port if used
-|conf  |a folder to synchronize with TomEE conf folder
-|bin  |a folder to synchronize with TomEE bin folder
-|lib  |a folder to synchronize with TomEE lib folder
-|endorsed   |a folder to synchronize with TomEE endorsed folder
-|javaagent   |a list (flat format) of javaagent to add when launching tomee, can use maven coordinates if prefixed with `mvn:`
-|additionalLibs   |a list (flat format) of library to add to TomEE libraries, can use paths of maven coordinates when prefixed with `mvn:`
-|cleanOnStartUp   |should TomEE folder be deleted on startup if exists
-|debug   |should the container run in debug mode (`-Dopenejb.server.debug=true` activates it without touching the configuration)
-|debugPort   |if activated which port to use to debug
-|catalina_opts   |equivalent to `CATALINA_OPTS` environment variable
-|simple_log   |should logs be inline
-|deployerProperties    |deployer properties, useful when not deploying on an instance managed by the build (remote instance typically)
-|===
-
-
-Sample:
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<arquillian
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="
-  http://jboss.org/schema/arquillian
-  http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
- <container qualifier="tomee" default="true">
-  <configuration>
-   <property name="serverXml">conf/server.xml</property>
-
-   <!-- tomee zip to use -->
-   <property name="groupId">org.apache.tomee</property>
-   <property name="artifactId">apache-tomee</property>
-   <property name="version">LATEST</property>
-   <property name="type">zip</property>
-
-   <!-- tomee provided files, ignored by default -->
-   <property name="bin">src/test/tomee/bin</property>
-   <property name="conf">src/test/tomee/conf</property>
-   <property name="lib">src/test/tomee/lib</property>
-
-   <!--
-    remote debugging,
-    -Dopenejb.server.debug can activate it too
-   -->
-   <property name="debug">false</property>
-   <property name="debugPort">5005</property>
-
-   <!-- nice one line logging -->
-   <property name="simpleLog">true</property>
-
-   <!-- jvm config -->
-   <property name="catalina_opts">-XX:-UseParallelGC</property>
-
-   <!-- remove if exist -->
-   <property name="cleanOnStartUp">true</property>
-
-   <!-- remove default webapps -->
-   <property name="removeunusedWebapps">true</property>
-
-   <!-- port = -1 means random -->
-   <property name="httpPort">-1</property>
-   <property name="stopPort">-1</property>
-
-   <!-- where to create TomEE -->
-   <property name="dir">target/apache-tomee</property>
-
-   <!-- where to dump on disk applications to deploy -->
-   <property name="appWorkingDir">target/working-dir</property>
-
-   <!-- optional - limit the port allowed when random -->
-   <property name="portRange">20001-30000</property>
-
-   <!-- container config -->
-   <property name="properties">
-    # same as embedded case
-   </property>
-
-   <!-- we monitor the test with sirona -->
-   <property name="javaagent">
-     mvn:org.apache.sirona:sirona-javaagent:0.2-incubating:jar:shaded
-   </property>
-
-   <!-- Deployer config -->
-   <property name="deployerProperties">
-    # openejb.deployer.binaries.use=true
-    # openejb.deployer.forced.appId=[name]
-    # openejb.deployer.save-deployments=false
-   </property>
-
-  </configuration>
- </container>
-</arquillian>
-----
-
-=== Multiple instances
-
-With arquillian you can create cluster or isolated instances. Here is a sample `arquillian.xml`:
-
-[source,xml]
-----
-<?xml version="1.0" encoding="UTF-8"?>
-<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="
-    http://jboss.org/schema/arquillian
-    http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
- <group qualifier="tomee-cluster">
-  <container qualifier="tomee-1">
-   <configuration>
-    <property name="httpPort">-1</property>
-    <property name="stopPort">-1</property>
-    <property name="ajpPort">-1</property>
-    <property name="dir">target/tomee1</property>
-    <property name="appWorkingDir">target/wd1</property>
-   </configuration>
-  </container>
-  <container qualifier="tomee-2">
-   <configuration>
-    <property name="httpPort">-1</property>
-    <property name="stopPort">-1</property>
-    <property name="ajpPort">-1</property>
-    <property name="dir">target/tomee2</property>
-    <property name="appWorkingDir">target/wd2</property>
-   </configuration>
-  </container>
- </group>
-</arquillian>
-----
-
-Then in your test just specify the container you are testing against:
-
-[source,java]
-----
-@RunWith(Arquillian.class)
-public class MultipleTomEETest {
- @Deployment(name = "war1", testable = false)
- @TargetsContainer("tomee-1")
- public static WebArchive war1() {
-  return /* ... */;
- }
-
- @Deployment(name = "war2", testable = false)
- @TargetsContainer("tomee-2")
- public static WebArchive war2() {
-  return /* ... */;
- }
-
- @Test
- @OperateOnDeployment("war1")
- public void testRunningInDep1(
-    @ArquillianResource URL url) {
-   // test on tomee 1, url is contextual
- }
-
- @Test
- @OperateOnDeployment("war2")
- public void testRunningInDep1(
-    @ArquillianResource URL url) {
-   // test on tomee 1, url is contextual
- }
-}
-----

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/testing/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/testing/index.adoc b/src/main/jbake/content/developer/testing/index.adoc
deleted file mode 100755
index 8b277e6..0000000
--- a/src/main/jbake/content/developer/testing/index.adoc
+++ /dev/null
@@ -1,9 +0,0 @@
-= Unit Testing
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-- link:applicationcomposer/index.html[ApplicationComposer]: Lightweight tests
-- link:arquillian/index.html[Arquillian]: The standard for EE tests
-- link:other/index.html[Going futher]: OpenEJB JUnit, TomEE Embedded...

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/testing/other/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/testing/other/index.adoc b/src/main/jbake/content/developer/testing/other/index.adoc
deleted file mode 100755
index b1d41b1..0000000
--- a/src/main/jbake/content/developer/testing/other/index.adoc
+++ /dev/null
@@ -1,134 +0,0 @@
-= Other Testing Techniques
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-=== EJBContainer
-
-The `EJBContainer` API is a JavaEE API enriched by some OpenEJB features to make the testing easier.
-
-It starts a container (embedded for case we are interested in) scanning the classpath. This operation can be
-slow and if you go with this solution maybe think to start it only once for all tests.
-
-==== Sample
-
-[source,java]
-----
-import org.junit.After;
-import org.junit.AfterClass;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import javax.ejb.embeddable.EJBContainer;
-import javax.inject.Inject;
-import javax.naming.NamingException;
-
-import static org.junit.Assert.assertTrue;
-
-public class ATest {
-    @Inject
-    private MyCDIBean aBean;
-
-    @PersistenceContext
-    private EntityManager em;
-
-    @Resource
-    private DataSource ds;
-
-    @BeforeClass
-    public static void start() throws NamingException {
-        container = EJBContainer.createEJBContainer();
-    }
-
-    @AfterClass
-    public static void shutdown() {
-        if (container != null) {
-            container.close();
-        }
-    }
-
-    @Before
-    public void inject() throws NamingException {
-        container.getContext().bind("inject", this);
-    }
-
-    @After
-    public void reset() throws NamingException {
-        container.getContext().unbind("inject");
-    }
-
-    @Test
-    public void aTest() {
-        // ...
-    }
-}
-----
-
-It will use `createEJBContainer()` method to start the container and application, and `close()` to shutdown it.
-
-OpenEJB provides the `bind("inject")` hack to be able to get injection in the test class.
-
-=== OpenEJB JUnit
-
-`openejb-junit` is another artifact providing some facilities for testing.
-
-==== EJBContainer Rule
-
-[source,java]
-----
-@Properties({
-    @Property(key = DeploymentFilterable.CLASSPATH_EXCLUDE, value = "jar:.*"),
-    @Property(key = DeploymentFilterable.CLASSPATH_INCLUDE, value = ".*openejb-junit.*")
-})
-public class TestEJBContainerDefaultConfig {
-    @Rule
-    public final EJBContainerRule containerRule = new EJBContainerRule(this);
-
-    @org.apache.openejb.junit.jee.resources.TestResource
-    private Context ctx;
-
-    @org.apache.openejb.junit.jee.resources.TestResource
-    private java.util.Properties props;
-
-    @org.apache.openejb.junit.jee.resources.TestResource
-    private EJBContainer container;
-
-
-    @Test
-    public void configIsHere() {
-        // ...
-    }
-}
-
-----
-
-TIP: there is the equivalent runner: `@RunWith(EJBContainerRunner.class)`
-
-==== InjectRule: injections for EJBContainerRule
-
-[source,java]
-----
-@Properties({
-    @Property(key = DeploymentFilterable.CLASSPATH_EXCLUDE, value = "jar:.*"),
-    @Property(key = DeploymentFilterable.CLASSPATH_INCLUDE, value = ".*myjar.*")
-})
-public class TestEJBContainerRule {
-    @ClassRule
-    public static final EJBContainerRule CONTAINER_RULE = new EJBContainerRule();
-
-    @Rule
-    public final InjectRule injectRule = new InjectRule(this, CONTAINER_RULE);
-
-    @EJB
-    private BasicEjbLocal ejb;
-
-    @Test
-    public void aTest() {
-        // ...
-    }
-}
-----
-
-TIP: an alternative in `openejb-core` is to use `org.apache.openejb.Injector.inject(instance)`

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/tools/gradle-plugins.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/tools/gradle-plugins.adoc b/src/main/jbake/content/developer/tools/gradle-plugins.adoc
deleted file mode 100755
index fe43434..0000000
--- a/src/main/jbake/content/developer/tools/gradle-plugins.adoc
+++ /dev/null
@@ -1,50 +0,0 @@
-= TomEE Gradle Plugin
-:jbake-date: 2016-05-31
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-TomEE provides a gradle plugin for tomee-embedded "à la Jetty".
-
-[source,java]
-----
-buildscript {
-   repositories {
-       mavenCentral()
-   }
-
-   dependencies {
-       classpath 'org.apache.tomee.gradle:tomee-embedded:7.0.0'
-   }
-}
-
-apply plugin: 'org.apache.tomee.tomee-embedded'
-
-// ...
-----
-
-Then just start tomee with:
-
-[source]
-----
-gradle tomee-embedded -i
-----
-
-== Configuration
-
-All the configuration is optional.
-
-[source,java]
-----
-// plugin setup
-def tomeeEmbedded = extensions.getByName('tomee-embedded')
-tomeeEmbedded.tomeeVersion = 'other version'
-tomeeEmbedded.skipDefaultRepository  = true // don't use central to retrieve tomee
-
-// container dependencies
-def tomeeEmbeddedDeps = configurations.getByName('tomee-embedded')
-// add dependencies you need to this configuration
-----
-
-tomee-embedded task has several more advanced configuration like tomee properties, modules to deploy etc...
-Its configuration is pretty close to link:maven/embedded.html[Embedded Maven Plugin].

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/tools/index.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/tools/index.adoc b/src/main/jbake/content/developer/tools/index.adoc
deleted file mode 100755
index 235f774..0000000
--- a/src/main/jbake/content/developer/tools/index.adoc
+++ /dev/null
@@ -1,8 +0,0 @@
-= Build Tools and Plugins
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-- link:maven-plugins.html[Maven Plugins]
-- link:gradle-plugins.html[Gradle Plugin]

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/tools/maven-plugins.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/tools/maven-plugins.adoc b/src/main/jbake/content/developer/tools/maven-plugins.adoc
deleted file mode 100755
index 3f335d2..0000000
--- a/src/main/jbake/content/developer/tools/maven-plugins.adoc
+++ /dev/null
@@ -1,12 +0,0 @@
-= TomEE Maven Plugins
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-TomEE provides several maven plugins:
-
-- one for a link:maven/tomee.html[standalone TomEE]
-- one for link:maven/embedded.html[TomEE embedded]
-- one for link:maven/applicationcomposer.html[application composer] based applications
-- Note: there is one for `EJBContainer` but this one is easily replaced by one of the previous in general

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/b34e23c0/src/main/jbake/content/developer/tools/maven/applicationcomposer.adoc
----------------------------------------------------------------------
diff --git a/src/main/jbake/content/developer/tools/maven/applicationcomposer.adoc b/src/main/jbake/content/developer/tools/maven/applicationcomposer.adoc
deleted file mode 100755
index 8694c37..0000000
--- a/src/main/jbake/content/developer/tools/maven/applicationcomposer.adoc
+++ /dev/null
@@ -1,47 +0,0 @@
-= Application Composer Maven Plugin
-:jbake-date: 2016-03-16
-:jbake-type: page
-:jbake-status: published
-:jbake-tomeepdf:
-
-This plugin has two goal:
-
-- `applicationcomposer:run`: to start the application from mvn command line
-- `applicationcomposer:zip`: to package a zip with dependencies and start scripts
-
-IMPORTANT: the dependencies are retrieved with `MavenProject.getArtifacts()` which means you artifacts should be a `war`
-- maven doesn't populate it with a `jar` - and the compile phase - at least - should be passed to ensure it is populated.
-
-=== Run goal configuration
-
-[source]
-----
-mvn process-classes applicationcomposer:run -DskipTests
-----
-
-[.table.table-bordered,options="header"]
-|===
-| Name | Default | Description
-| args | - | a list of application arguments
-|application|-|application qualified name
-|binaries|${project.build.outputDirectory}|where is your module code (target/classes)
-|mavenLog|true|force to use maven logging in openejb
-|===
-
-=== Zip goal configuration
-
-[source]
-----
-mvn process-classes applicationcomposer:zip -DskipTests
-----
-
-[.table.table-bordered,options="header"]
-|===
-| Name | Default | Description
-|workDir|${project.build.directory}/${project.build.finalName}-applicationcomposer| where the container can "work" and create temp files
-|zip|${project.build.directory}/${project.build.finalName}-applicationcomposer.zip| where to create the zip
-|attach|true|attach the created artifact
-|classifier|-|artifact classifier if needed
-|application|-|application qualified name
-|binaries|${project.build.outputDirectory}|where is your module code (target/classes)
-|===