tomee-site-generator git commit: Text

2017-07-04 Thread andygumbrecht
Repository: tomee-site-generator
Updated Branches:
  refs/heads/master affbff78c -> 4578ea0ff


Text


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/4578ea0f
Tree: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/tree/4578ea0f
Diff: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/diff/4578ea0f

Branch: refs/heads/master
Commit: 4578ea0ffdf65f69901d78961eadacb6e1b497b5
Parents: affbff7
Author: Andy Gumbrecht 
Authored: Tue Jul 4 23:50:47 2017 +0200
Committer: Andy Gumbrecht 
Committed: Tue Jul 4 23:50:47 2017 +0200

--
 src/main/jbake/templates/header.gsp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/4578ea0f/src/main/jbake/templates/header.gsp
--
diff --git a/src/main/jbake/templates/header.gsp 
b/src/main/jbake/templates/header.gsp
index 649d759..2f0d662 100755
--- a/src/main/jbake/templates/header.gsp
+++ b/src/main/jbake/templates/header.gsp
@@ -6,7 +6,8 @@


Apache TomEE
-   
+   






tomee-site-generator git commit: comment about prod deployment potential automotion

2017-07-04 Thread rmannibucau
Repository: tomee-site-generator
Updated Branches:
  refs/heads/master eb450892c -> affbff78c


comment about prod deployment potential automotion


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/affbff78
Tree: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/tree/affbff78
Diff: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/diff/affbff78

Branch: refs/heads/master
Commit: affbff78c2328e9124b021f13da2e6d2af419b1d
Parents: eb45089
Author: rmannibucau 
Authored: Tue Jul 4 23:35:36 2017 +0200
Committer: rmannibucau 
Committed: Tue Jul 4 23:35:36 2017 +0200

--
 src/main/java/org/apache/tomee/website/SvnPub.java | 5 +
 1 file changed, 5 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/affbff78/src/main/java/org/apache/tomee/website/SvnPub.java
--
diff --git a/src/main/java/org/apache/tomee/website/SvnPub.java 
b/src/main/java/org/apache/tomee/website/SvnPub.java
index 31d1c06..78c3d10 100644
--- a/src/main/java/org/apache/tomee/website/SvnPub.java
+++ b/src/main/java/org/apache/tomee/website/SvnPub.java
@@ -140,5 +140,10 @@ public class SvnPub {
 throw new 
IllegalStateException(commitInfo.getErrorMessage().toString());
 }
 System.out.println(commitInfo.toString());
+
+// do we want to POST https://cms.apache.org/tomee/publish?diff=1 \
+// 
message=&submit=Submit&key=commitInfo.getNewRevision()&source_url=https%3A%2F%2Fsvn.apache.org%2Frepos%2Fasf%2Ftomee%2Fsite&referer=
+//
+// to automatically publish on prod?
 }
 }



tomee-site-generator git commit: working svnpub impl

2017-07-04 Thread rmannibucau
Repository: tomee-site-generator
Updated Branches:
  refs/heads/master 61cae98ed -> eb450892c


working svnpub impl


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/eb450892
Tree: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/tree/eb450892
Diff: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/diff/eb450892

Branch: refs/heads/master
Commit: eb450892c3e1cb58ea302635dca9679b1961de28
Parents: 61cae98
Author: rmannibucau 
Authored: Tue Jul 4 23:32:29 2017 +0200
Committer: rmannibucau 
Committed: Tue Jul 4 23:32:29 2017 +0200

--
 README.adoc | 13 +++-
 pom.xml | 19 +-
 .../java/org/apache/tomee/website/SvnPub.java   | 65 +---
 src/main/jbake/content/community/index.adoc |  8 ++-
 4 files changed, 90 insertions(+), 15 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/eb450892/README.adoc
--
diff --git a/README.adoc b/README.adoc
index 0fefd33..8ee6431 100755
--- a/README.adoc
+++ b/README.adoc
@@ -71,11 +71,20 @@ Finally note that the site generation will rely on the 
cache as well to generate
 
 == Publish (needs an ASF account)
 
-`SvnPub` is a main to push to the staging the site content once built, you 
need to set the system properties (`MAVEN_OPTS`) `site.password`
-to your asf password and `site.username` if you user name is not `USER` 
environment variable for it to work.
+`SvnPub` is a main to push to the staging the site content once built, you 
need to set the system properties (or properties in ~/.m2/settings.xml)
+`site.password` to your asf password and `site.username` if you user name is 
not `USER` environment variable for it to work.
 
 It will checkout/update the site from svn then copy the site folder from 
target directory to synchronize it with the svn version
 and finally it will commit everything.
 
 You can set the system property `site.message` to not use the default commit 
message.
 
+NOTE: `.content-site-checkout` will be the local copy of the website (if you 
need to modify manually the files or delete some old ones.
+
+NOTE: if the process fails unexpectedly (wrong update in the logic or 
anything) you can unlock the `.content-site-checkout` executing inside `svn 
cleanup`.
+
+To build and deploy on staging at once: `mvn clean compile pre-site`.
+
+Then to deploy to "prod": go on https://cms.apache.org/tomee/publish and hit 
"Submit" (note: you can review changes before if you want to check what the CMS 
took as changes).
+
+TIP: the staging is available when 
https://ci.apache.org/builders/tomee-site-staging build is done (triggered on 
commit), you can't deploy before.

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/eb450892/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 7a229e6..1b74108 100755
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,6 @@
 false
 false
 
-notset
 notset
 
 UTF-8
@@ -91,7 +90,7 @@
 
   org.tmatesoft.svnkit
   svnkit
-  1.8.9
+  1.8.15
 
   
 
@@ -109,7 +108,7 @@
   
 org.codehaus.mojo
 exec-maven-plugin
-1.5.0
+1.6.0
 
   
 tomee-site
@@ -147,4 +146,18 @@
   
 
   
+
+  
+
+  svnkit
+  SVNKit
+  https://maven.tmatesoft.com/content/repositories/releases/
+  
+true
+  
+  
+false
+  
+
+  
 

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/eb450892/src/main/java/org/apache/tomee/website/SvnPub.java
--
diff --git a/src/main/java/org/apache/tomee/website/SvnPub.java 
b/src/main/java/org/apache/tomee/website/SvnPub.java
index 9e3ec0a..31d1c06 100644
--- a/src/main/java/org/apache/tomee/website/SvnPub.java
+++ b/src/main/java/org/apache/tomee/website/SvnPub.java
@@ -20,12 +20,15 @@ import org.apache.commons.io.FileUtils;
 import org.tmatesoft.svn.core.SVNCommitInfo;
 import org.tmatesoft.svn.core.SVNDepth;
 import org.tmatesoft.svn.core.SVNException;
-import org.tmatesoft.svn.core.SVNProperties;
 import org.tmatesoft.svn.core.SVNURL;
 import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
+import org.tmatesoft.svn.core.internal.util.jna.SVNJNAUtil;
 import org.tmatesoft.svn.core.internal.wc.DefaultSVNOptions;
+import org.tmatesoft.svn.core.wc.ISVNStatusHandler;
 import org.tmatesoft.svn.core.wc.SVNClientManager;
 import org.tmatesoft.svn.core.wc.SVNRevision;
+import org.tmatesoft.svn.core.wc.SVNStatus;
+import org.tmatesoft.svn.core.wc.SVNStatusType;
 import org.tmatesoft

svn commit: r1800826 - /tomee/site/trunk/content/community/contributors.html

2017-07-04 Thread rmannibucau
Author: rmannibucau
Date: Tue Jul  4 21:30:49 2017
New Revision: 1800826

URL: http://svn.apache.org/viewvc?rev=1800826&view=rev
Log:
Maven update of the website on the Tue Jul 04 23:30:45 CEST 2017 from 
rmannibucau

Modified:
tomee/site/trunk/content/community/contributors.html

Modified: tomee/site/trunk/content/community/contributors.html
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/community/contributors.html?rev=1800826&r1=1800825&r2=1800826&view=diff
==
--- tomee/site/trunk/content/community/contributors.html (original)
+++ tomee/site/trunk/content/community/contributors.html Tue Jul  4 21:30:49 
2017
@@ -97,19 +97,6 @@
 
   
 
-  http://www.gravatar.com/avatar/fea00dfa5f55664b225d9c072d9c6766?s=140"; 
style="width:140px">
-  
-
-
-  Andy
-  
-  
-  
-
-  
-  
-  
-
   http://www.gravatar.com/avatar/dd2ab408381395402fb0b183d002165c?s=140"; 
style="width:140px">
   
 
@@ -144,6 +131,19 @@
   
   
 
+  http://www.gravatar.com/avatar/fea00dfa5f55664b225d9c072d9c6766?s=140"; 
style="width:140px">
+  
+
+
+  Andy
+  
+  
+  
+
+  
+  
+  
+
   http://www.gravatar.com/avatar/9b67307a606e8dbc311c449cd4cae2aa?s=140"; 
style="width:140px">
   
 
@@ -157,6 +157,19 @@
   
   
 
+  http://www.gravatar.com/avatar/34820bca697fbf1598774b393c5ca4fe?s=140"; 
style="width:140px">
+  
+
+
+  Jeremy Whitlock
+  
+  
+  
+
+  
+  
+  
+
   http://www.gravatar.com/avatar/a02777ec107dbbdaa723f4115397dbb0?s=140"; 
style="width:140px">
   
 
@@ -195,11 +208,11 @@
   
   
 
-  http://www.gravatar.com/avatar/34820bca697fbf1598774b393c5ca4fe?s=140"; 
style="width:140px">
+  http://www.gravatar.com/avatar/30fae5bce90608fb3df5c018c586aea6?s=140"; 
style="width:140px">
   
 
 
-  Jeremy Whitlock
+  Mark Struberg
   
   
   
@@ -208,11 +221,11 @@
   
   
 
-  http://www.gravatar.com/avatar/30fae5bce90608fb3df5c018c586aea6?s=140"; 
style="width:140px">
+  
   
 
 
-  Mark Struberg
+  Mohammad Nour El-Din
   
   
   
@@ -234,11 +247,11 @@
   
   
 
-  https://twitter.com/kevanmiller/profile_image?size=bigger"; 
style="width:140px">
+  
   
 
 
-  Kevan Lee Miller
+  Rick McGuire
   
   
   
@@ -247,11 +260,11 @@
   
   
 
-  https://twitter.com/KrnMal/profile_image?size=bigger"; style="width:140px">
+  https://twitter.com/kevanmiller/profile_image?size=bigger"; 
style="width:140px">
   
 
 
-  Karan Singh Malhi
+  Kevan Lee Miller
   
   
   
@@ -260,11 +273,11 @@
   
   
 
-  
+  https://twitter.com/KrnMal/profile_image?size=bigger"; style="width:140px">
   
 
 
-  Mohammad Nour El-Din
+  Karan Singh Malhi
   
   
   
@@ -273,11 +286,11 @@
   
   

svn commit: r1800825 - in /tomee/site/trunk/content/community: contributors.html index.html

2017-07-04 Thread rmannibucau
Author: rmannibucau
Date: Tue Jul  4 21:27:18 2017
New Revision: 1800825

URL: http://svn.apache.org/viewvc?rev=1800825&view=rev
Log:
notset

Modified:
tomee/site/trunk/content/community/contributors.html
tomee/site/trunk/content/community/index.html

Modified: tomee/site/trunk/content/community/contributors.html
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/content/community/contributors.html?rev=1800825&r1=1800824&r2=1800825&view=diff
==
--- tomee/site/trunk/content/community/contributors.html (original)
+++ tomee/site/trunk/content/community/contributors.html Tue Jul  4 21:27:18 
2017
@@ -97,32 +97,24 @@
 
   
 
-  http://www.gravatar.com/avatar/d46f3fc40e8ecba3bc3b250d5c0d1734?s=140"; 
style="width:140px">
+  http://www.gravatar.com/avatar/fea00dfa5f55664b225d9c072d9c6766?s=140"; 
style="width:140px">
   
 
 
-  David Blevins
+  Andy
   
   
   
-  http://people.apache.org/~dblevins";>Apache
-  
-  http://github.com/dblevins";>Github
-  
-  http://www.linkedin.com/in/dblevins";>linkedin
-  
-  http://twitter.com/dblevins";>twitter
-  
 
   
   
   
 
-  http://www.gravatar.com/avatar/9b67307a606e8dbc311c449cd4cae2aa?s=140"; 
style="width:140px">
+  http://www.gravatar.com/avatar/dd2ab408381395402fb0b183d002165c?s=140"; 
style="width:140px">
   
 
 
-  Dain Sundstrom
+  Jason van Zyl
   
   
   
@@ -131,24 +123,32 @@
   
   
 
-  http://www.gravatar.com/avatar/fea00dfa5f55664b225d9c072d9c6766?s=140"; 
style="width:140px">
+  http://www.gravatar.com/avatar/d46f3fc40e8ecba3bc3b250d5c0d1734?s=140"; 
style="width:140px">
   
 
 
-  Andy
+  David Blevins
   
   
   
+  http://people.apache.org/~dblevins";>Apache
+  
+  http://github.com/dblevins";>Github
+  
+  http://www.linkedin.com/in/dblevins";>linkedin
+  
+  http://twitter.com/dblevins";>twitter
+  
 
   
   
   
 
-  http://www.gravatar.com/avatar/dd2ab408381395402fb0b183d002165c?s=140"; 
style="width:140px">
+  http://www.gravatar.com/avatar/9b67307a606e8dbc311c449cd4cae2aa?s=140"; 
style="width:140px">
   
 
 
-  Jason van Zyl
+  Dain Sundstrom
   
   
   
@@ -221,11 +221,11 @@
   
   
 
-  
+  
   
 
 
-  Haihong Xu
+  Lajos Moczar
   
   
   
@@ -234,11 +234,11 @@
   
   
 
-  
+  https://twitter.com/kevanmiller/profile_image?size=bigger"; 
style="width:140px">
   
 
 
-  Lajos Moczar
+  Kevan Lee Miller
   
   
   
@@ -247,11 +247,11 @@
   
   
 
-  
+  https://twitter.com/KrnMal/profile_image?size=bigger"; style="width:140px">
   
 
 
-  Manu George
+  Karan Singh Malhi
   
   
   
@@ -260,11 +260,11 @@
   
   
 
-  https://twitter.com/KrnMal/profile_image?size=bigger"; style="width:140px">
+  
   
 
 
-  

[30/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/css/bootstrap.css
--
diff --git a/src/main/jbake/assets/css/bootstrap.css 
b/src/main/jbake/assets/css/bootstrap.css
new file mode 100755
index 000..9910c44
--- /dev/null
+++ b/src/main/jbake/assets/css/bootstrap.css
@@ -0,0 +1,6782 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+html {
+  font-family: sans-serif;
+  -webkit-text-size-adjust: 100%;
+  -ms-text-size-adjust: 100%;
+}
+body {
+  margin: 0;
+  color: #33;
+}
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+  display: block;
+}
+audio,
+canvas,
+progress,
+video {
+  display: inline-block;
+  vertical-align: baseline;
+}
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+[hidden],
+template {
+  display: none;
+}
+a {
+  background-color: transparent;
+}
+a:active,
+a:hover {
+  outline: 0;
+}
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+b,
+strong {
+  font-weight: bold;
+}
+dfn {
+  font-style: italic;
+}
+h1 {
+  margin: .67em 0;
+  font-size: 2em;
+}
+mark {
+  color: #000;
+  background: #ff0;
+}
+small {
+  font-size: 80%;
+}
+sub,
+sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline;
+}
+sup {
+  top: -.5em;
+}
+sub {
+  bottom: -.25em;
+}
+img {
+  border: 0;
+}
+svg:not(:root) {
+  overflow: hidden;
+}
+figure {
+  margin: 1em 40px;
+}
+hr {
+  height: 0;
+  -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+  box-sizing: content-box;
+}
+pre {
+  overflow: auto;
+}
+code,
+kbd,
+pre,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em;
+}
+button,
+input,
+optgroup,
+select,
+textarea {
+  margin: 0;
+  font: inherit;
+  color: inherit;
+}
+button {
+  overflow: visible;
+}
+button,
+select {
+  text-transform: none;
+}
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  -webkit-appearance: button;
+  cursor: pointer;
+}
+button[disabled],
+html input[disabled] {
+  cursor: default;
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  padding: 0;
+  border: 0;
+}
+input {
+  line-height: normal;
+}
+input[type="checkbox"],
+input[type="radio"] {
+  -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+  box-sizing: border-box;
+  padding: 0;
+}
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+input[type="search"] {
+  -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+  box-sizing: content-box;
+  -webkit-appearance: textfield;
+}
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+fieldset {
+  padding: .35em .625em .75em;
+  margin: 0 2px;
+  border: 1px solid #c0c0c0;
+}
+legend {
+  padding: 0;
+  border: 0;
+}
+textarea {
+  overflow: auto;
+}
+optgroup {
+  font-weight: bold;
+}
+table {
+  border-spacing: 0;
+  border-collapse: collapse;
+}
+td,
+th {
+  padding: 0;
+}
+/*! Source: 
https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
+@media print {
+  *,
+  *:before,
+  *:after {
+color: #000 !important;
+text-shadow: none !important;
+background: transparent !important;
+-webkit-box-shadow: none !important;
+box-shadow: none !important;
+  }
+  a,
+  a:visited {
+text-decoration: underline;
+  }
+  a[href]:after {
+content: " (" attr(href) ")";
+  }
+  abbr[title]:after {
+content: " (" attr(title) ")";
+  }
+  a[href^="#"]:after,
+  a[href^="javascript:"]:after {
+content: "";
+  }
+  pre,
+  blockquote {
+border: 1px solid #999;
+
+page-break-inside: avoid;
+  }
+  thead {
+display: table-header-group;
+  }
+  tr,
+  img {
+page-break-inside: avoid;
+  }
+  img {
+max-width: 100% !important;
+  }
+  p,
+  h2,
+  h3 {
+orphans: 3;
+widows: 3;
+  }
+  h2,
+  h3 {
+page-break-after: avoid;
+  }
+  .navbar {
+display: none;
+  }
+  .btn > .caret,
+  .dropup > .btn > .caret {
+border-top-color: #000 !important;
+  }
+  .label {
+border: 1px solid #000;
+  }
+  .table {
+border-collapse: collapse !important;
+  }
+  .table td,
+  .table th {
+background-color: #fff !important;
+  }
+  .table-bordered th,
+  .table-bordered td {
+border: 1px solid #ddd !important;
+  }
+}
+@font-face {
+  font-family: 'Glyphicons Halflings';
+
+  src: url('../fonts/glyphicons-halflings-regular.eot');
+  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') 
format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') 
f

[05/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..cc2b7d8
--- /dev/null
+++ b/src/main/jbake/content/examples/simple-stateful.adoc
@@ -0,0 +1,160 @@
+= 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
+ * 
+ * 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-1build: 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 - Co

[02/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..bb4a5f4
--- /dev/null
+++ b/src/main/jbake/content/examples/webservice-holder.adoc
@@ -0,0 +1,201 @@
+= @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 sum,
+   @WebParam(name = "multiply", mode = 
WebParam.Mode.OUT) Holder 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` params.
+
+
+[source,xml]
+
+
+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";>
+  
+http://superbiz.org/wsdl";
+xmlns:tns="http://superbiz.org/wsdl";
+xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
+  
+  
+
+  
+  
+
+  
+  
+  
+
+  
+  
+
+  
+
+  
+  
+
+  
+  
+
+  
+  
+
+  
+  
+
+  
+  
+http://schemas.xmlsoap.org/soap/http"/>
+
+  
+  
+
+  
+  
+
+  
+
+  
+  
+
+  http://127.0.0.1:4204/Calculator?wsdl"/>
+
+  
+
+
+
+
+==  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 Ser

[22/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/js/jquery.onepagenav.js
--
diff --git a/src/main/jbake/assets/js/jquery.onepagenav.js 
b/src/main/jbake/assets/js/jquery.onepagenav.js
new file mode 100755
index 000..8668b46
--- /dev/null
+++ b/src/main/jbake/assets/js/jquery.onepagenav.js
@@ -0,0 +1,223 @@
+/*
+ * jQuery One Page Nav Plugin
+ * http://github.com/davist11/jQuery-One-Page-Nav
+ *
+ * Copyright (c) 2010 Trevor Davis (http://trevordavis.net)
+ * Dual licensed under the MIT and GPL licenses.
+ * Uses the same license as jQuery, see:
+ * http://jquery.org/license
+ *
+ * @version 3.0.0
+ *
+ * Example usage:
+ * $('#nav').onePageNav({
+ *   currentClass: 'current',
+ *   changeHash: false,
+ *   scrollSpeed: 750
+ * });
+ */
+
+;(function($, window, document, undefined){
+
+   // our plugin constructor
+   var OnePageNav = function(elem, options){
+   this.elem = elem;
+   this.$elem = $(elem);
+   this.options = options;
+   this.metadata = this.$elem.data('plugin-options');
+   this.$win = $(window);
+   this.sections = {};
+   this.didScroll = false;
+   this.$doc = $(document);
+   this.docHeight = this.$doc.height();
+   };
+
+   // the plugin prototype
+   OnePageNav.prototype = {
+   defaults: {
+   navItems: 'a',
+   currentClass: 'current',
+   changeHash: false,
+   easing: 'swing',
+   filter: '',
+   scrollSpeed: 750,
+   scrollThreshold: 0.5,
+   begin: false,
+   end: false,
+   scrollChange: false
+   },
+
+   init: function() {
+   // Introduce defaults that can be extended either
+   // globally or using an object literal.
+   this.config = $.extend({}, this.defaults, this.options, 
this.metadata);
+
+   this.$nav = this.$elem.find(this.config.navItems);
+
+   //Filter any links out of the nav
+   if(this.config.filter !== '') {
+   this.$nav = 
this.$nav.filter(this.config.filter);
+   }
+
+   //Handle clicks on the nav
+   this.$nav.on('click.onePageNav', 
$.proxy(this.handleClick, this));
+
+   //Get the section positions
+   this.getPositions();
+
+   //Handle scroll changes
+   this.bindInterval();
+
+   //Update the positions on resize too
+   this.$win.on('resize.onePageNav', 
$.proxy(this.getPositions, this));
+
+   return this;
+   },
+
+   adjustNav: function(self, $parent) {
+   self.$elem.find('.' + 
self.config.currentClass).removeClass(self.config.currentClass);
+   $parent.addClass(self.config.currentClass);
+   },
+
+   bindInterval: function() {
+   var self = this;
+   var docHeight;
+
+   self.$win.on('scroll.onePageNav', function() {
+   self.didScroll = true;
+   });
+
+   self.t = setInterval(function() {
+   docHeight = self.$doc.height();
+
+   //If it was scrolled
+   if(self.didScroll) {
+   self.didScroll = false;
+   self.scrollChange();
+   }
+
+   //If the document height changes
+   if(docHeight !== self.docHeight) {
+   self.docHeight = docHeight;
+   self.getPositions();
+   }
+   }, 250);
+   },
+
+   getHash: function($link) {
+   return $link.attr('href').split('#')[1];
+   },
+
+   getPositions: function() {
+   var self = this;
+   var linkHref;
+   var topPos;
+   var $target;
+
+   self.$nav.each(function() {
+   linkHref = self.getHash($(this));
+   $target = $('#' + linkHref);
+
+   if($target.length) {
+   topPos = $target.offset().top;
+ 

[06/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..f29d9be
--- /dev/null
+++ b/src/main/jbake/content/examples/simple-cdi-interceptor.adoc
@@ -0,0 +1,127 @@
+= 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 getMoviesList() {
+List moviesAvailable = new ArrayList();
+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]
+
+
+  
+org.superbiz.cdi.bookshow.interceptors.LoggingInterceptor
+
+  
+
+
+
+
+ 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-2build: 2003-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/Wo

[16/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/content/download-ng.adoc
--
diff --git a/src/main/jbake/content/download-ng.adoc 
b/src/main/jbake/content/download-ng.adoc
new file mode 100755
index 000..0610a06
--- /dev/null
+++ b/src/main/jbake/content/download-ng.adoc
@@ -0,0 +1,280 @@
+= Downloads
+:jbake-date: 2015-04-05
+:jbake-type: page
+:jbake-status: published
+:jbake-tomeepdf:
+:icons: font
+
+IMPORTANT: only TomEE 1.x WebProfile and JAX-RS distributions are certified.
+
+[.table.table-bordered,options="header"]
+|===
+|Name|Version|Date|Size|Type|Links
+|Apache TomEE plume|7.0.3|Tue, 07 Mar 2017 21:47:50 GMT|55 MB |tar.gz| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.tar.gz[icon:download[]
 tar.gz] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.tar.gz.sha1[icon:download[]
 sha1] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.tar.gz.md5[icon:download[]
 md5] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.tar.gz.asc[icon:download[]
 asc]
+|Apache TomEE plume|7.0.3|Tue, 07 Mar 2017 21:45:35 GMT|55 MB |zip| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.zip[icon:download[]
 zip] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.zip.sha1[icon:download[]
 sha1] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.zip.md5[icon:download[]
 md5] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.zip.asc[icon:download[]
 asc]
+|Apache TomEE plus|7.0.3|Tue, 07 Mar 2017 21:43:39 GMT|48 MB |tar.gz| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.tar.gz[icon:download[]
 tar.gz] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.tar.gz.sha1[icon:download[]
 sha1] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.tar.gz.md5[icon:download[]
 md5] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.tar.gz.asc[icon:download[]
 asc]
+|Apache TomEE plus|7.0.3|Tue, 07 Mar 2017 21:41:45 GMT|48 MB |zip| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.zip[icon:download[]
 zip] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.zip.sha1[icon:download[]
 sha1] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.zip.md5[icon:download[]
 md5] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.zip.asc[icon:download[]
 asc]
+|Apache TomEE webprofile|7.0.3|Tue, 07 Mar 2017 21:40:27 GMT|33 MB |tar.gz| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.tar.gz[icon:download[]
 tar.gz] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.tar.gz.sha1[icon:download[]
 sha1] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.tar.gz.md5[icon:download[]
 md5] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.tar.gz.asc[icon:download[]
 asc]
+|Apache TomEE webprofile|7.0.3|Tue, 07 Mar 2017 21:39:18 GMT|34 MB |zip| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.zip[icon:download[]
 zip] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.zip.sha1[icon:download[]
 sha1] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.zip.md5[icon:download[]
 md5] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.zip.asc[icon:download[]
 asc]
+|Apache TomEE plume|7.0.2|Sun, 06 Nov 2016 19:13:59 GMT|55 MB |tar.gz| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.2/apache-tomee-7.0.2-plume.tar.gz[icon:download[]
 tar.gz] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.2/apache-tomee-7.0.2-plume.tar.gz.sha1[icon:download[]
 sha1] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.2/apache-tomee-7.0.2-plume.tar.gz.md5[icon:download[]
 md5] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.2/apache-tomee-7.0.2-plume.tar.gz.asc[icon:download[]
 asc]
+|Apache TomEE plume|7.0.2|Sun, 06 Nov 2016 19:05:57 GMT|55 MB |zip| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.2/apache-t

[27/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.svg
--
diff --git a/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.svg 
b/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.svg
new file mode 100755
index 000..93538d7
--- /dev/null
+++ b/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.svg
@@ -0,0 +1,1832 @@
+
+http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"; >
+http://www.w3.org/2000/svg";>
+
+This is a custom SVG font generated by IcoMoon.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.ttf
--
diff --git a/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.ttf 
b/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.ttf
new file mode 100755
index 000..12ff680
Binary files /dev/null and 
b/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.ttf differ



[07/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..c62eecb
--- /dev/null
+++ b/src/main/jbake/content/examples/rest-example.adoc
@@ -0,0 +1,641 @@
+= 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 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 create(E e) {
+em.persist(e);
+return e;
+}
+
+public  E update(E e) {
+return em.merge(e);
+}
+
+public  void delete(Class clazz, long id) {
+em.remove(em.find(clazz, id));
+}
+
+public  E find(Class clazz, long id) {
+return em.find(clazz, id);
+}
+
+public  List find(Class clazz, String query, int min, int max) {
+return queryRange(em.createQuery(query, clazz), min, 
max).getResultList();
+}
+
+public  List namedFind(Class 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 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

[14/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..2f5e99d
--- /dev/null
+++ b/src/main/jbake/content/examples/cdi-alternative-and-stereotypes.adoc
@@ -0,0 +1,138 @@
+= 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`:
+
+
+  org.superbiz.cdi.stereotype.Mock
+
+
+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 s

[28/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/css/cardio.css
--
diff --git a/src/main/jbake/assets/css/cardio.css 
b/src/main/jbake/assets/css/cardio.css
new file mode 100755
index 000..71c6ad6
--- /dev/null
+++ b/src/main/jbake/assets/css/cardio.css
@@ -0,0 +1,1173 @@
+@import url(http://fonts.googleapis.com/css?family=Roboto:300,400,500,700);
+body {
+   font-family: 'Roboto', 'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 
sans-serif;
+   font-size: 14px;
+   overflow-x: hidden;
+   color: #2a3237;
+   -webkit-font-smoothing: antialiased;
+   -moz-osx-font-smoothing: grayscale;
+}
+
+.parallax {
+   position: absolute;
+   overflow: hidden;
+   width: 100%;
+   -webkit-transform: translateZ(0);
+   -ms-transform: translateZ(0);
+   transform: translateZ(0);
+}
+
+.parallax img {
+   width: 100%;
+   height: 100%;
+}
+/* Preloader */
+
+.preloader {
+   position: fixed;
+   z-index: ;
+   width: 100%;
+   height: 100%;
+   background-color: white;
+}
+
+.preloader img {
+   position: absolute;
+   top: calc(50% - 32px);
+   left: calc(50% - 32px);
+}
+
+.preloader div {
+   display: none;
+   /* Preload the Second Pricing Image */
+   background: url(../img/pricing2.jpg) no-repeat px px;
+   background-position: px px;
+}
+
+/* Typography */
+
+.bigp {
+   font-size: 18px;
+   line-height: 1.5;
+   color: #80287a;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+   font-family: 'Roboto', 'Avenir Next', 'Helvetica Neue', 'Segoe UI', 
Helvetica, Arial, sans-serif;
+   position: relative;
+   margin: 10px 0;
+}
+
+h1 {
+   font-size: 60px;
+}
+
+h2 {
+   font-size: 48px;
+}
+
+h3 {
+   font-size: 30px;
+}
+
+h4 {
+   font-size: 24px;
+}
+
+h5 {
+   font-size: 18px;
+}
+
+h6 {
+   font-size: 16px;
+}
+
+ul.white-list {
+   padding: 0;
+   list-style-type: none;
+}
+
+ul.white-list li {
+   font-size: 18px;
+   margin: 10px 0;
+   color: #fff;
+}
+
+ul.white-list li:before {
+   content: ' ';
+   position: relative;
+   top: -3px;
+   display: inline-block;
+   width: 6px;
+   height: 6px;
+   margin-right: 15px;
+   background: white;
+}
+
+header {
+   position: relative;
+   width: 100%;
+   color: #80287a;
+   background: rgba(28, 36, 65, 0.93);
+   background: url('../img/header.jpg');
+   background-size: cover;
+}
+
+header .table {
+   display: table;
+   height: 100%;
+}
+
+header .container {
+   height: 100%;
+}
+
+header .header-text {
+   display: table-cell;
+   text-align: center;
+   vertical-align: middle;
+   color: #80287a;
+}
+
+header .typed {
+   display: inline-block;
+   margin: 0;
+}
+
+header .typed-cursor {
+   font-size: 60px;
+   display: inline-block;
+   margin: 0 10px;
+   color: #80287a;
+   -webkit-animation-name: flash;
+   animation-name: flash;
+   -webkit-animation-duration: 1s;
+   animation-duration: 1s;
+   -webkit-animation-iteration-count: infinite;
+   animation-iteration-count: infinite;
+}
+
+a {
+   text-decoration: none;
+   color: #80287a;
+   -webkit-transition: all 0.3s ease;
+   transition: all 0.3s ease;
+}
+/* Navigation Bar ( Navbar ) */
+
+nav.navbar {
+   position: absolute;
+   z-index: 9500;
+   width: 100%;
+   width: 100vw;
+   -webkit-transition: all 0.3s ease;
+   transition: all 0.3s ease;
+}
+
+nav.navbar .navbar-nav li.active a:not(.btn) {
+   color: #80287a !important;
+}
+
+nav.navbar-fixed-top {
+   z-index: 9499;
+   top: 0;
+   padding-top: 10px;
+   padding-bottom: 10px;
+   opacity: 1;
+   background: white;
+   box-shadow: 0px 4px 3px rgba(0, 0, 0, 0.05);
+}
+
+nav.navbar-fixed-top .navbar-nav > li > a:not(.btn) {
+   color: #bbb;
+}
+
+.icon-bar {
+   background: #bbb;
+}
+/* Buttons */
+
+.btn {
+   font-size: 18px;
+   display: inline-block;
+   padding: 15px 30px;
+   color: #80287a;
+   border: 2px solid transparent;
+   border-radius: 2px;
+   background: transparent;
+   -webkit-transition: all 0.3s ease;
+   transition: all 0.3s ease;
+}
+
+.btn:hover,
+.btn:focus {
+   color: #CE2D34;
+}
+
+.btn.btn-blue {
+   background: #80287a;
+   color: #fff;
+}
+
+.btn.btn-blue:hover {
+   background: #31b9ff;
+}
+
+.btn.btn-blue-fill {
+   color: #80287a;
+   border-color: #80287a;
+   background: transparent;
+}
+
+.btn.btn-blue-fill:hover {
+   color: white;
+   background: #80287a;
+}
+
+.btn.btn-white-fill {
+   color: #fff;
+   border-color: #fff;
+   background: transparent;
+}
+
+.btn.btn-white-fill:hover {
+   color: #80287a;
+   back

[24/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.ttf
--
diff --git 
a/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.ttf 
b/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.ttf
new file mode 100755
index 000..96a3639
Binary files /dev/null and 
b/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.ttf 
differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.woff
--
diff --git 
a/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.woff 
b/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.woff
new file mode 100755
index 000..628b6a5
Binary files /dev/null and 
b/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.woff 
differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/gdamour.jpg
--
diff --git a/src/main/jbake/assets/img/gdamour.jpg 
b/src/main/jbake/assets/img/gdamour.jpg
new file mode 100644
index 000..148cc7b
Binary files /dev/null and b/src/main/jbake/assets/img/gdamour.jpg differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/genspring.jpg
--
diff --git a/src/main/jbake/assets/img/genspring.jpg 
b/src/main/jbake/assets/img/genspring.jpg
new file mode 100644
index 000..a7bd1db
Binary files /dev/null and b/src/main/jbake/assets/img/genspring.jpg differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/header.jpg
--
diff --git a/src/main/jbake/assets/img/header.jpg 
b/src/main/jbake/assets/img/header.jpg
new file mode 100755
index 000..56da914
Binary files /dev/null and b/src/main/jbake/assets/img/header.jpg differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/jgenender.jpg
--
diff --git a/src/main/jbake/assets/img/jgenender.jpg 
b/src/main/jbake/assets/img/jgenender.jpg
new file mode 100644
index 000..06c40dd
Binary files /dev/null and b/src/main/jbake/assets/img/jgenender.jpg differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/loader.gif
--
diff --git a/src/main/jbake/assets/img/loader.gif 
b/src/main/jbake/assets/img/loader.gif
new file mode 100755
index 000..ab26baa
Binary files /dev/null and b/src/main/jbake/assets/img/loader.gif differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/logo-active.png
--
diff --git a/src/main/jbake/assets/img/logo-active.png 
b/src/main/jbake/assets/img/logo-active.png
new file mode 100755
index 000..2352448
Binary files /dev/null and b/src/main/jbake/assets/img/logo-active.png differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/logo.png
--
diff --git a/src/main/jbake/assets/img/logo.png 
b/src/main/jbake/assets/img/logo.png
new file mode 100755
index 000..05dc2e7
Binary files /dev/null and b/src/main/jbake/assets/img/logo.png differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/manugeorge.jpg
--
diff --git a/src/main/jbake/assets/img/manugeorge.jpg 
b/src/main/jbake/assets/img/manugeorge.jpg
new file mode 100644
index 000..f69f4f7
Binary files /dev/null and b/src/main/jbake/assets/img/manugeorge.jpg differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/mnour.jpg
--
diff --git a/src/main/jbake/assets/img/mnour.jpg 
b/src/main/jbake/assets/img/mnour.jpg
new file mode 100644
index 000..e797b8b
Binary files /dev/null and b/src/main/jbake/assets/img/mnour.jpg differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/noimg.png
--
diff --git a/src/main/jbake/assets/img/noimg.png 
b/src/main/jbake/assets/img/noimg.png
new file mode 100644
index 000..f779c8f
Binary files /

[11/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..dd8279e
--- /dev/null
+++ b/src/main/jbake/content/examples/helloworld-weblogic.adoc
@@ -0,0 +1,169 @@
+= 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]
+
+
+
+
+
+==  weblogic-ejb-jar.xml
+
+
+[source,xml]
+
+
+  
+HelloBean
+MyHello
+  
+
+
+
+
+
+
+==  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-1build: 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

[01/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
Repository: tomee-site-generator
Updated Branches:
  refs/heads/master [created] 61cae98ed


http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/templates/footer.gsp
--
diff --git a/src/main/jbake/templates/footer.gsp 
b/src/main/jbake/templates/footer.gsp
new file mode 100755
index 000..2c24dc9
--- /dev/null
+++ b/src/main/jbake/templates/footer.gsp
@@ -0,0 +1,80 @@
+
+   
+   
+   
+   Apache TomEE the 
little great server.
+   "A good application in a good server"
+   
+   https://fr-fr.facebook.com/ApacheTomEE/";>
+   https://twitter.com/apachetomee";>
+   https://plus.google.com/communities/105208241852045684449";>
+   
+   
+   
+   
+   
+   Administration
+   
+   Cluster
+   Configuration
+   
+   
+   
+   Developer
+   
+   Classloading
+   IDE
+   Testing
+   Tools
+   
+   
+   
+   Advanced
+   
+   Application Composer
+   Setup
+   Shading
+   TomEE 
Embedded
+   
+   
+   
+   Community
+   
+   Contributors
+   Social
+   Sources
+   
+   
+   
+   
+   
+   
+   
+   Copyright © 1999-2016 The 
Apache Software Foundation, Licensed under the Apache License, Version 2.0. 
Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE 
project logo are trademarks of The Apache Software Foundation. All other marks 
mentioned may be trademarks or registered trademarks of their respective 
owners.
+   
+   
+   
+   
+   
+   
+
+  Administrators
+  Developers
+  Advanced
+  Community
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/templates/header.gsp
--
diff --git a/src/main/jbake/templates/header.gsp 
b/src/main/jbake/templates/header.gsp
new file mode 100755
index 000..649d759
--- /dev/null
+++ b/src/main/jbake/templates/header.gsp
@@ -0,0 +1,45 @@
+
+
+
+
+   
+   
+   
+   Apache TomEE
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-2717626-1']);
+  _gaq.push(['_setDomainName', 'apache.org']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+var ga = document.createElement('script'); ga.t

[35/35] tomee-site-generator git commit: starting to impl svn pub sub - to finish

2017-07-04 Thread rmannibucau
starting to impl svn pub sub - to finish


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/61cae98e
Tree: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/tree/61cae98e
Diff: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/diff/61cae98e

Branch: refs/heads/master
Commit: 61cae98edd940d8117f70ad12915a599f814bb24
Parents: 972cc35
Author: rmannibucau 
Authored: Tue Jul 4 20:21:23 2017 +0200
Committer: rmannibucau 
Committed: Tue Jul 4 20:21:23 2017 +0200

--
 .gitignore  |  3 +-
 README.adoc | 11 +++
 pom.xml | 43 ++---
 .../java/org/apache/tomee/website/SvnPub.java   | 95 
 4 files changed, 141 insertions(+), 11 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/61cae98e/.gitignore
--
diff --git a/.gitignore b/.gitignore
index 8291ee8..5c494ca 100755
--- a/.gitignore
+++ b/.gitignore
@@ -12,4 +12,5 @@ dependency-reduced-pom.xml
 buildNumber.properties
 .mvn/timing.properties
 *~
-examples.cache.old
\ No newline at end of file
+examples.cache.old
+.content-site-checkout

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/61cae98e/README.adoc
--
diff --git a/README.adoc b/README.adoc
index eb2a308..0fefd33 100755
--- a/README.adoc
+++ b/README.adoc
@@ -68,3 +68,14 @@ in `src/main/jbake/content/examples`. If you want to take 
into account another e
 need to delete the cache before re-running the generation.
 
 Finally note that the site generation will rely on the cache as well to 
generate the examples home page.
+
+== Publish (needs an ASF account)
+
+`SvnPub` is a main to push to the staging the site content once built, you 
need to set the system properties (`MAVEN_OPTS`) `site.password`
+to your asf password and `site.username` if you user name is not `USER` 
environment variable for it to work.
+
+It will checkout/update the site from svn then copy the site folder from 
target directory to synchronize it with the svn version
+and finally it will commit everything.
+
+You can set the system property `site.message` to not use the default commit 
message.
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/61cae98e/pom.xml
--
diff --git a/pom.xml b/pom.xml
index a479edc..7a229e6 100755
--- a/pom.xml
+++ b/pom.xml
@@ -14,6 +14,9 @@
 false
 false
 
+notset
+notset
+
 UTF-8
   
 
@@ -85,6 +88,11 @@
   pegdown
   1.6.0
 
+
+  org.tmatesoft.svnkit
+  svnkit
+  1.8.9
+
   
 
   
@@ -109,18 +117,33 @@
 
   java
 
+
+  true
+  org.apache.tomee.website.JBake
+  
+${project.basedir}/src/main/jbake/
+
${project.build.directory}/${project.build.finalName}
+${jbake.http}
+${jbake.pdf}
+  
+
+  
+  
+publish
+pre-site
+
+  java
+
+
+  true
+  org.apache.tomee.website.SvnPub
+  
+${site.password}
+${site.message}
+  
+
   
 
-
-  true
-  org.apache.tomee.website.JBake
-  
-${project.basedir}/src/main/jbake/
-
${project.build.directory}/${project.build.finalName}
-${jbake.http}
-${jbake.pdf}
-  
-
   
 
   

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/61cae98e/src/main/java/org/apache/tomee/website/SvnPub.java
--
diff --git a/src/main/java/org/apache/tomee/website/SvnPub.java 
b/src/main/java/org/apache/tomee/website/SvnPub.java
new file mode 100644
index 000..9e3ec0a
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/SvnPub.java
@@ -0,0 +1,95 @@
+/*
+ * 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

[18/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..8664ade
--- /dev/null
+++ b/src/main/jbake/content/advanced/tomee-embedded/index.adoc
@@ -0,0 +1,223 @@
+= 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 

[20/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/js/typeahead.bundle.min.js
--
diff --git a/src/main/jbake/assets/js/typeahead.bundle.min.js 
b/src/main/jbake/assets/js/typeahead.bundle.min.js
new file mode 100755
index 000..ffd98f3
--- /dev/null
+++ b/src/main/jbake/assets/js/typeahead.bundle.min.js
@@ -0,0 +1,8 @@
+/*!
+ * typeahead.js 0.11.1
+ * https://github.com/twitter/typeahead.js
+ * Copyright 2013-2015 Twitter, Inc. and other contributors; Licensed MIT
+ */
+
+!function(a,b){"function"==typeof 
define&&define.amd?define("bloodhound",["jquery"],function(c){return 
a.Bloodhound=b(c)}):"object"==typeof 
exports?module.exports=b(require("jquery")):a.Bloodhound=b(jQuery)}(this,function(a){var
 b=function(){"use 
strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie
 
|rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(a){return!a||/^\s*$/.test(a)},escapeRegExChars:function(a){return
 
a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(a){return"string"==typeof
 a},isNumber:function(a){return"number"==typeof 
a},isArray:a.isArray,isFunction:a.isFunction,isObject:a.isPlainObject,isUndefined:function(a){return"undefined"==typeof
 
a},isElement:function(a){return!(!a||1!==a.nodeType)},isJQuery:function(b){return
 b instanceof a},toStr:function(a){return 
b.isUndefined(a)||null===a?"":a+""},bind:a.proxy,each:function(b,c){function 
d(a,b){return c(b,a)}a.each(b,d)},map:a.map,filte
 r:a.grep,every:function(b,c){var d=!0;return 
b?(a.each(b,function(a,e){return(d=c.call(null,e,a,b))?void 
0:!1}),!!d):d},some:function(b,c){var d=!1;return 
b?(a.each(b,function(a,e){return(d=c.call(null,e,a,b))?!1:void 
0}),!!d):d},mixin:a.extend,identity:function(a){return 
a},clone:function(b){return a.extend(!0,{},b)},getIdGenerator:function(){var 
a=0;return function(){return a++}},templatify:function(b){function c(){return 
String(b)}return 
a.isFunction(b)?b:c},defer:function(a){setTimeout(a,0)},debounce:function(a,b,c){var
 d,e;return function(){var f,g,h=this,i=arguments;return 
f=function(){d=null,c||(e=a.apply(h,i))},g=c&&!d,clearTimeout(d),d=setTimeout(f,b),g&&(e=a.apply(h,i)),e}},throttle:function(a,b){var
 c,d,e,f,g,h;return g=0,h=function(){g=new 
Date,e=null,f=a.apply(c,d)},function(){var i=new Date,j=b-(i-g);return 
c=this,d=arguments,0>=j?(clearTimeout(e),e=null,g=i,f=a.apply(c,d)):e||(e=setTimeout(h,j)),f}},stringify:function(a){return
 b.isString(a)?a:JSON.stringify(a)},noop:
 function(){}}}(),c="0.11.1",d=function(){"use strict";function a(a){return 
a=b.toStr(a),a?a.split(/\s+/):[]}function c(a){return 
a=b.toStr(a),a?a.split(/\W+/):[]}function d(a){return function(c){return 
c=b.isArray(c)?c:[].slice.call(arguments,0),function(d){var e=[];return 
b.each(c,function(c){e=e.concat(a(b.toStr(d[c])))}),e}}}return{nonword:c,whitespace:a,obj:{nonword:d(c),whitespace:d(a)}}}(),e=function(){"use
 strict";function 
c(c){this.maxSize=b.isNumber(c)?c:100,this.reset(),this.maxSize<=0&&(this.set=this.get=a.noop)}function
 d(){this.head=this.tail=null}function 
e(a,b){this.key=a,this.val=b,this.prev=this.next=null}return 
b.mixin(c.prototype,{set:function(a,b){var 
c,d=this.list.tail;this.size>=this.maxSize&&(this.list.remove(d),delete 
this.hash[d.key],this.size--),(c=this.hash[a])?(c.val=b,this.list.moveToFront(c)):(c=new
 e(a,b),this.list.add(c),this.hash[a]=c,this.size++)},get:function(a){var 
b=this.hash[a];return b?(this.list.moveToFront(b),b.val):void 
0},reset:function(){t
 his.size=0,this.hash={},this.list=new 
d}}),b.mixin(d.prototype,{add:function(a){this.head&&(a.next=this.head,this.head.prev=a),this.head=a,this.tail=this.tail||a},remove:function(a){a.prev?a.prev.next=a.next:this.head=a.next,a.next?a.next.prev=a.prev:this.tail=a.prev},moveToFront:function(a){this.remove(a),this.add(a)}}),c}(),f=function(){"use
 strict";function 
c(a,c){this.prefix=["__",a,"__"].join(""),this.ttlKey="__ttl__",this.keyMatcher=new
 
RegExp("^"+b.escapeRegExChars(this.prefix)),this.ls=c||h,!this.ls&&this._noop()}function
 d(){return(new Date).getTime()}function e(a){return 
JSON.stringify(b.isUndefined(a)?null:a)}function f(b){return 
a.parseJSON(b)}function g(a){var 
b,c,d=[],e=h.length;for(b=0;e>b;b++)(c=h.key(b)).match(a)&&d.push(c.replace(a,""));return
 d}var 
h;try{h=window.localStorage,h.setItem("~~~","!"),h.removeItem("~~~")}catch(i){h=null}return
 b.mixin(c.prototype,{_prefix:function(a){return 
this.prefix+a},_ttlKey:function(a){return this._prefix(a)+this.ttlKey},_noop:fu
 
nction(){this.get=this.set=this.remove=this.clear=this.isExpired=b.noop},_safeSet:function(a,b){try{this.ls.setItem(a,b)}catch(c){"QuotaExceededError"===c.name&&(this.clear(),this._noop())}},get:function(a){return
 
this.isExpired(a)&&this.remove(a),f(this.ls.getItem(this._prefix(a)))},set:function(a,c,f){return
 
b.isNumber(f)?this._safeSet(this._tt

[26/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.woff
--
diff --git a/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.woff 
b/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.woff
new file mode 100755
index 000..3933052
Binary files /dev/null and 
b/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.woff differ

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/fonts/eleganticons/et-icons.css
--
diff --git a/src/main/jbake/assets/fonts/eleganticons/et-icons.css 
b/src/main/jbake/assets/fonts/eleganticons/et-icons.css
new file mode 100755
index 000..26f2053
--- /dev/null
+++ b/src/main/jbake/assets/fonts/eleganticons/et-icons.css
@@ -0,0 +1,1159 @@
+@font-face {
+   font-family: 'ElegantIcons';
+   src:url('ElegantIcons.eot');
+   src:url('ElegantIcons.eot?#iefix') format('embedded-opentype'),
+   url('ElegantIcons.woff') format('woff'),
+   url('ElegantIcons.ttf') format('truetype'),
+   url('ElegantIcons.svg#ElegantIcons') format('svg');
+   font-weight: normal;
+   font-style: normal;
+}
+
+/* Use the following CSS code if you want to use data attributes for inserting 
your icons */
+[data-icon]:before {
+   font-family: 'ElegantIcons';
+   content: attr(data-icon);
+   speak: none;
+   font-weight: normal;
+   font-variant: normal;
+   text-transform: none;
+   line-height: 1;
+   -webkit-font-smoothing: antialiased;
+   -moz-osx-font-smoothing: grayscale;
+}
+
+/* Use the following CSS code if you want to have a class per icon */
+/*
+Instead of a list of all class selectors,
+you can use the generic selector below, but it's slower:
+[class*="your-class-prefix"] {
+*/
+.arrow_up, .arrow_down, .arrow_left, .arrow_right, .arrow_left-up, 
.arrow_right-up, .arrow_right-down, .arrow_left-down, .arrow-up-down, 
.arrow_up-down_alt, .arrow_left-right_alt, .arrow_left-right, 
.arrow_expand_alt2, .arrow_expand_alt, .arrow_condense, .arrow_expand, 
.arrow_move, .arrow_carrot-up, .arrow_carrot-down, .arrow_carrot-left, 
.arrow_carrot-right, .arrow_carrot-2up, .arrow_carrot-2down, 
.arrow_carrot-2left, .arrow_carrot-2right, .arrow_carrot-up_alt2, 
.arrow_carrot-down_alt2, .arrow_carrot-left_alt2, .arrow_carrot-right_alt2, 
.arrow_carrot-2up_alt2, .arrow_carrot-2down_alt2, .arrow_carrot-2left_alt2, 
.arrow_carrot-2right_alt2, .arrow_triangle-up, .arrow_triangle-down, 
.arrow_triangle-left, .arrow_triangle-right, .arrow_triangle-up_alt2, 
.arrow_triangle-down_alt2, .arrow_triangle-left_alt2, 
.arrow_triangle-right_alt2, .arrow_back, .icon_minus-06, .icon_plus, 
.icon_close, .icon_check, .icon_minus_alt2, .icon_plus_alt2, .icon_close_alt2, 
.icon_check_alt2, .icon_zoom-out_alt
 , .icon_zoom-in_alt, .icon_search, .icon_box-empty, .icon_box-selected, 
.icon_minus-box, .icon_plus-box, .icon_box-checked, .icon_circle-empty, 
.icon_circle-slelected, .icon_stop_alt2, .icon_stop, .icon_pause_alt2, 
.icon_pause, .icon_menu, .icon_menu-square_alt2, .icon_menu-circle_alt2, 
.icon_ul, .icon_ol, .icon_adjust-horiz, .icon_adjust-vert, .icon_document_alt, 
.icon_documents_alt, .icon_pencil, .icon_pencil-edit_alt, .icon_pencil-edit, 
.icon_folder-alt, .icon_folder-open_alt, .icon_folder-add_alt, .icon_info_alt, 
.icon_error-oct_alt, .icon_error-circle_alt, .icon_error-triangle_alt, 
.icon_question_alt2, .icon_question, .icon_comment_alt, .icon_chat_alt, 
.icon_vol-mute_alt, .icon_volume-low_alt, .icon_volume-high_alt, 
.icon_quotations, .icon_quotations_alt2, .icon_clock_alt, .icon_lock_alt, 
.icon_lock-open_alt, .icon_key_alt, .icon_cloud_alt, .icon_cloud-upload_alt, 
.icon_cloud-download_alt, .icon_image, .icon_images, .icon_lightbulb_alt, 
.icon_gift_alt, .icon_house_alt, .icon_ge
 nius, .icon_mobile, .icon_tablet, .icon_laptop, .icon_desktop, 
.icon_camera_alt, .icon_mail_alt, .icon_cone_alt, .icon_ribbon_alt, 
.icon_bag_alt, .icon_creditcard, .icon_cart_alt, .icon_paperclip, 
.icon_tag_alt, .icon_tags_alt, .icon_trash_alt, .icon_cursor_alt, 
.icon_mic_alt, .icon_compass_alt, .icon_pin_alt, .icon_pushpin_alt, 
.icon_map_alt, .icon_drawer_alt, .icon_toolbox_alt, .icon_book_alt, 
.icon_calendar, .icon_film, .icon_table, .icon_contacts_alt, .icon_headphones, 
.icon_lifesaver, .icon_piechart, .icon_refresh, .icon_link_alt, .icon_link, 
.icon_loading, .icon_blocked, .icon_archive_alt, .icon_heart_alt, 
.icon_star_alt, .icon_star-half_alt, .icon_star, .icon_star-half, .icon_tools, 
.icon_tool, .icon_cog, .icon_cogs, .arrow_up_alt, .arrow_down_alt, 
.arrow_left_alt, .arrow_right_alt, .arrow_left-up_alt, .arrow_right-up_alt, 
.arrow_right-down_alt, .arrow_left-down_alt, .arrow_condense_alt, 
.arrow_expand_alt3, .arrow_carrot_up_alt, .arrow_carrot-down_alt, 
.arrow_carr

[10/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..77141dd
--- /dev/null
+++ b/src/main/jbake/content/examples/javamail.adoc
@@ -0,0 +1,201 @@
+= 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("gene...@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 o

[34/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
import from old website


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/972cc356
Tree: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/tree/972cc356
Diff: http://git-wip-us.apache.org/repos/asf/tomee-site-generator/diff/972cc356

Branch: refs/heads/master
Commit: 972cc3567a8009690445f18ffc10ce8b14e962ab
Parents: 
Author: rmannibucau 
Authored: Tue Jul 4 18:32:47 2017 +0200
Committer: rmannibucau 
Committed: Tue Jul 4 18:32:47 2017 +0200

--
 .gitignore  |   15 +
 README.adoc |   70 +
 examples.cache  | 1653 +
 pom.xml |  127 +
 .../org/apache/tomee/website/Contributors.java  |  222 +
 .../org/apache/tomee/website/Downloads.java |  247 +
 .../java/org/apache/tomee/website/Examples.java |  319 +
 .../java/org/apache/tomee/website/JBake.java|  181 +
 .../java/org/apache/tomee/website/PDFify.java   |   76 +
 .../apache/tomee/website/ServiceJarHelper.java  |  192 +
 .../org/slf4j/bridge/SLF4JBridgeHandler.java|7 +
 src/main/jbake/assets/bash  |  147 +
 src/main/jbake/assets/css/animate.css   | 3391 +
 src/main/jbake/assets/css/bootstrap.css | 6782 ++
 src/main/jbake/assets/css/bootstrap.css.map |1 +
 src/main/jbake/assets/css/cardio.css| 1173 +++
 src/main/jbake/assets/css/et-icons.css  | 1159 +++
 src/main/jbake/assets/css/idea.css  |  123 +
 src/main/jbake/assets/css/jqtree.css|  132 +
 src/main/jbake/assets/css/normalize.css |  432 ++
 src/main/jbake/assets/css/owl.css   |  208 +
 src/main/jbake/assets/favicon.ico   |  Bin 0 -> 12322 bytes
 src/main/jbake/assets/favicon.png   |  Bin 0 -> 1983 bytes
 .../assets/fonts/eleganticons/ElegantIcons.eot  |  Bin 0 -> 59572 bytes
 .../assets/fonts/eleganticons/ElegantIcons.svg  | 1832 +
 .../assets/fonts/eleganticons/ElegantIcons.ttf  |  Bin 0 -> 59388 bytes
 .../assets/fonts/eleganticons/ElegantIcons.woff |  Bin 0 -> 63664 bytes
 .../assets/fonts/eleganticons/et-icons.css  | 1159 +++
 .../font-awesome-4.1.0/css/font-awesome.min.css |4 +
 .../font-awesome-4.1.0/fonts/FontAwesome.otf|  Bin 0 -> 85908 bytes
 .../fonts/fontawesome-webfont.eot   |  Bin 0 -> 56006 bytes
 .../fonts/fontawesome-webfont.svg   |  520 ++
 .../fonts/fontawesome-webfont.ttf   |  Bin 0 -> 112160 bytes
 .../fonts/fontawesome-webfont.woff  |  Bin 0 -> 65452 bytes
 src/main/jbake/assets/img/gdamour.jpg   |  Bin 0 -> 6288 bytes
 src/main/jbake/assets/img/genspring.jpg |  Bin 0 -> 5115 bytes
 src/main/jbake/assets/img/header.jpg|  Bin 0 -> 192314 bytes
 src/main/jbake/assets/img/jgenender.jpg |  Bin 0 -> 9440 bytes
 src/main/jbake/assets/img/loader.gif|  Bin 0 -> 20788 bytes
 src/main/jbake/assets/img/logo-active.png   |  Bin 0 -> 1983 bytes
 src/main/jbake/assets/img/logo.png  |  Bin 0 -> 2015 bytes
 src/main/jbake/assets/img/manugeorge.jpg|  Bin 0 -> 7240 bytes
 src/main/jbake/assets/img/mnour.jpg |  Bin 0 -> 23758 bytes
 src/main/jbake/assets/img/noimg.png |  Bin 0 -> 4777 bytes
 src/main/jbake/assets/img/popup.jpg |  Bin 0 -> 71172 bytes
 src/main/jbake/assets/img/pricing1.jpg  |  Bin 0 -> 176192 bytes
 src/main/jbake/assets/img/pricing2.jpg  |  Bin 0 -> 138505 bytes
 src/main/jbake/assets/img/rickmcguire.jpg   |  Bin 0 -> 21599 bytes
 src/main/jbake/assets/img/table-1-hover.jpg |  Bin 0 -> 50138 bytes
 src/main/jbake/assets/img/table-1.jpg   |  Bin 0 -> 39889 bytes
 src/main/jbake/assets/img/table-2-hover.jpg |  Bin 0 -> 19219 bytes
 src/main/jbake/assets/img/table-2.jpg   |  Bin 0 -> 18293 bytes
 src/main/jbake/assets/img/table-3-hover.jpg |  Bin 0 -> 26828 bytes
 src/main/jbake/assets/img/table-3.jpg   |  Bin 0 -> 34756 bytes
 src/main/jbake/assets/img/xuhaihong.jpg |  Bin 0 -> 20528 bytes
 src/main/jbake/assets/js/bootstrap.min.js   |7 +
 src/main/jbake/assets/js/highlight.pack.js  |3 +
 src/main/jbake/assets/js/jquery-1.11.1.min.js   |4 +
 src/main/jbake/assets/js/jquery.onepagenav.js   |  223 +
 src/main/jbake/assets/js/main.js|  178 +
 src/main/jbake/assets/js/owl.carousel.min.js|   47 +
 src/main/jbake/assets/js/tooltip.js |  304 +
 src/main/jbake/assets/js/tree.jquery.js | 3542 +
 .../jbake/assets/js/typeahead.bundle.min.js |8 +
 src/main/jbake/assets/js/typed.js   |  421 ++
 src/main/jbake/assets/js/typewriter.js  |   54 +
 src/main/jbake/assets/js/wow.min.js  

[23/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/js/jquery-1.11.1.min.js
--
diff --git a/src/main/jbake/assets/js/jquery-1.11.1.min.js 
b/src/main/jbake/assets/js/jquery-1.11.1.min.js
new file mode 100755
index 000..d1608e3
--- /dev/null
+++ b/src/main/jbake/assets/js/jquery-1.11.1.min.js
@@ -0,0 +1,4 @@
+/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | 
jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof 
module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw
 new Error("jQuery requires a window with a document");return 
b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var 
c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return
 new 
m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return
 
b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return
 d.call(this)},get:function(a){return 
null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var 
b=m.merge(this.constructor(),a);return 
b.prevObject=this,b.context=this.context,b},each:function(a,b){return 
m.each(this,a,b)},map:function(a){return 
this.pushStack(m.map(this,function(b,c){return 
a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,argumen
 ts))},first:function(){return this.eq(0)},last:function(){return 
this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return 
this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return 
this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var
 
a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof
 g&&(j=g,g=arguments[h]||{},h++),"object"==typeof 
g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d
 in 
e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void
 0!==c&&(g[d]=c));return 
g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw
 new 
Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return
 null!=a&&a=
 
=a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var
 b;for(b in a)return!1;return!0},isPlainObject:function(a){var 
b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b
 in a)return j.call(a,b);for(b in a);return void 
0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof 
a||"function"==typeof a?h[i.call(a)]||"object":typeof 
a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return
 a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return 
a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var
 
d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else
 for(e in a)if(d=b.apply(a[e],c),d===!1)break}else 
if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d
 ===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return 
a},trim:function(a){return 
null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return 
null!=a&&(r(Object(a))?m.merge(c,"string"==typeof 
a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return 
g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in 
b&&b[c]===a)return c}return-1},merge:function(a,b){var 
c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 
0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var 
d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return 
e},map:function(a,b,c){var 
d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else
 for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return 
e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof 
b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return 
a.apply(b||this,c.concat(d.call(ar
 guments)))},e.guid=a.guid=a.guid||m.guid++,e):void 
0},now:function(){return+new Date},support:k}),m.each("Boolean Number String 
Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object 
"+b+"]"]=b.toLowerCase()});function r(a){var 
b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof
 b&&b>0&&b-1 in a}var s=function(a){var 
b,c,d,e,f,g,h,i,j,k

[08/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..99f35b6
--- /dev/null
+++ b/src/main/jbake/content/examples/resources-jmx-example.adoc
@@ -0,0 +1,746 @@
+= 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 MalformedObjectNameExcepti

[13/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..7edf520
--- /dev/null
+++ b/src/main/jbake/content/examples/custom-injection.adoc
@@ -0,0 +1,256 @@
+= 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.
+ * 
+ * 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 pickups;
+
+@Resource(name = "style")
+private Style style;
+
+@Resource(name = "dateCreated")
+private Date dateCreated;
+
+@Resource(name = "guitarStringGuages")
+private Map 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 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 pickups = asList(Pickup.SINGLE_COIL, Pickup.SINGLE_COIL, 
Pickup.SINGLE_COIL);
+assertEquals("Strat.getPickups()",

[04/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..c8a2491
--- /dev/null
+++ b/src/main/jbake/content/examples/testing-security-2.adoc
@@ -0,0 +1,306 @@
+= 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 getMovies() throws Exception {
+Query query = entityManager.createQuery("SELECT m from Movie as m");
+return query.getResultList();
+}
+}
+
+
+
+==  persistence.xml
+
+
+[source,xml]
+
+http://java.sun.com/xml/ns/persistence"; version="1.0">
+
+  
+movieDatabase
+movieDatabaseUnmanaged
+org.superbiz.injection.secure.Movie
+
+
+  
+
+  
+
+
+
+
+==  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 list = movies.getMovies();
+assertEquals("List.size()", 3, list.size());
+
+for (Movie movie : list) {
+movies.deleteMovie(movie);
+}
+
+assertEquals("Movies.get

[33/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/examples.cache
--
diff --git a/examples.cache b/examples.cache
new file mode 100755
index 000..ba5ccce
--- /dev/null
+++ b/examples.cache
@@ -0,0 +1,1653 @@
+{
+  "all":{
+"adapters":[
+  {
+"name":"multiple-arquillian-adapters",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/multiple-arquillian-adapters";
+  }
+],
+"alternate":[
+  {
+"name":"alternate-descriptors",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/alternate-descriptors";
+  }
+],
+"alternative":[
+  {
+"name":"cdi-alternative-and-stereotypes",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/cdi-alternative-and-stereotypes";
+  }
+],
+"applet":[
+  {
+"name":"applet",
+"readme":"No README.md yet, be the first to contribute one!",
+"url":"https://github.com/apache/tomee/tree/master/examples/applet";
+  }
+],
+"applicationcomposer":[
+  {
+"name":"applicationcomposer-jaxws-cdi",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/applicationcomposer-jaxws-cdi";
+  },
+  {
+"name":"rest-applicationcomposer",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/rest-applicationcomposer";
+  },
+  {
+"name":"application-composer",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/application-composer";
+  },
+  {
+"name":"rest-applicationcomposer-mockito",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/rest-applicationcomposer-mockito";
+  }
+],
+"applicationexception":[
+  {
+"name":"applicationexception",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/applicationexception";
+  }
+],
+"arquillian":[
+  {
+"name":"arquillian-jpa",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/arquillian-jpa";
+  },
+  {
+"name":"multiple-tomee-arquillian",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/multiple-tomee-arquillian";
+  },
+  {
+"name":"multiple-arquillian-adapters",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/multiple-arquillian-adapters";
+  }
+],
+"async":[
+  {
+"name":"async-postconstruct",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/async-postconstruct";
+  },
+  {
+"name":"async-methods",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/async-methods";
+  }
+],
+"attachments":[
+  {
+"name":"webservice-attachments",
+"readme":"Title: Webservice Attachments\n\n*Help us document this 
example! Click the blue pencil icon in the upper right to edit this 
page.*\n\n## AttachmentImpl\n\npackage org.superbiz.attachment;\n\n
import javax.activation.DataHandler;\nimport javax.activation.DataSource;\n 
   import javax.ejb.Stateless;\nimport javax.jws.WebService;\nimport 
javax.xml.ws.BindingType;\nimport javax.xml.ws.soap.SOAPBinding;\n
import java.io.IOException;\nimport java.io.InputStream;\n\n/**\n   
  * This is an EJB 3 style pojo stateless session bean\n * Every stateless 
session bean implementation must be annotated\n * using the annotation 
@Stateless\n * This EJB has a single interface: {@link AttachmentWs} a 
webservice interface.\n */\n@Stateless\n@WebService(\n
portName = \"AttachmentPort\",\nserviceName = 
\"AttachmentWsService\",\ntargetNamespace = 
\"http://superbiz.org/wsdl\",\ne
 ndpointInterface = \"org.superbiz.attachment.AttachmentWs\")\n
@BindingType(value = SOAPBinding.SOAP12HTTP_MTOM_BINDING)\npublic class 
AttachmentImpl implements AttachmentWs {\n\n

[17/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..e4f5896
--- /dev/null
+++ b/src/main/jbake/content/developer/tools/maven/tomee.adoc
@@ -0,0 +1,183 @@
+= 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

[19/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..3d86272
--- /dev/null
+++ b/src/main/jbake/content/admin/configuration/containers.adoc
@@ -0,0 +1,585 @@
+= 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]
+
+
+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
+
+
+
+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 the

[21/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/js/tree.jquery.js
--
diff --git a/src/main/jbake/assets/js/tree.jquery.js 
b/src/main/jbake/assets/js/tree.jquery.js
new file mode 100755
index 000..71290b1
--- /dev/null
+++ b/src/main/jbake/assets/js/tree.jquery.js
@@ -0,0 +1,3542 @@
+/*
+JqTree 1.3.2
+
+Copyright 2015 Marco Braak
+
+Licensed 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.
+*/
+(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof 
require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var 
f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var 
l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return 
s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof 
require=="function"&&require;for(var o=0;o dimensions.right || y 
> dimensions.bottom) {
+  return null;
+}
+low = 0;
+high = this.hit_areas.length;
+while (low < high) {
+  mid = (low + high) >> 1;
+  area = this.hit_areas[mid];
+  if (y < area.top) {
+high = mid;
+  } else if (y > area.bottom) {
+low = mid + 1;
+  } else {
+return area;
+  }
+}
+return null;
+  };
+
+  DragAndDropHandler.prototype.mustOpenFolderTimer = function(area) {
+var node;
+node = area.node;
+return node.isFolder() && !node.is_open && area.position === 
Position.INSIDE;
+  };
+
+  DragAndDropHandler.prototype.updateDropHint = function() {
+var node_element;
+if (!this.hovered_area) {
+  return;
+}
+this.removeDropHint();
+node_element = 
this.tree_widget._getNodeElementForNode(this.hovered_area.node);
+return this.previous_ghost = 
node_element.addDropHint(this.hovered_area.position);
+  };
+
+  DragAndDropHandler.prototype.startOpenFolderTimer = function(folder) {
+var openFolder;
+openFolder = (function(_this) {
+  return function() {
+return _this.tree_widget._openNode(folder, 
_this.tree_widget.options.slide, function() {
+  _this.refresh();
+  return _this.updateDropHint();
+});
+  };
+})(this);
+this.stopOpenFolderTimer();
+return this.open_folder_timer = setTimeout(openFolder, 
this.tree_widget.options.openFolderDelay);
+  };
+
+  DragAndDropHandler.prototype.stopOpenFolderTimer = function() {
+if (this.open_folder_timer) {
+  clearTimeout(this.open_folder_timer);
+  return this.open_folder_timer = null;
+}
+  };
+
+  DragAndDropHandler.prototype.moveItem = function(position_info) {
+var doMove, event, moved_node, position, previous_parent, target_node;
+if (this.hovered_area && this.hovered_area.position !== Position.NONE && 
this.canMoveToArea(this.hovered_area)) {
+  moved_node = this.current_item.node;
+  target_node = this.hovered_area.node;
+  position = this.hovered_area.position;
+  previous_parent = moved_node.parent;
+  if (position === Position.INSIDE) {
+this.hovered_area.node.is_open = true;
+  }
+  doMove = (function(_this) {
+return function() {
+  _this.tree_widget.tree.moveNode(moved_node, target_node, position);
+  _this.tree_widget.element.empty();
+  return _this.tree_widget._refreshElements();
+};
+  })(this);
+  event = this.tree_widget._triggerEvent('tree.move', {
+move_info: {
+  moved_node: moved_node,
+  target_node: target_node,
+  position: Position.getName(position),
+  previous_parent: previous_parent,
+  do_move: doMove,
+  original_event: position_info.original_event
+}
+  });
+  if (!event.isDefaultPrevented()) {
+return doMove();
+  }
+}
+  };
+
+  DragAndDropHandler.prototype.getTreeDimensions = function() {
+var offset;
+offset = this.tree_widget.element.offset();
+return {
+  left: offset.left,
+  top: offset.top,
+  right: offset.left + this.tree_widget.element.width(),
+  bottom: offset.top + this.tree_widget.element.height() + 16
+};
+  };
+
+  return DragAndDropHandler;
+
+})();
+
+VisibleNodeIterator = (function() {
+  function VisibleNodeIterator(tree) {
+this.tree = tree;
+  }
+
+  VisibleNodeIterator.prototype.iterate = function() {
+var _iterateNode, is_first_node;
+is_first_node = true;
+_iterateNode = (function(_this) {
+   

[09/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..bd2ccd9
--- /dev/null
+++ b/src/main/jbake/content/examples/moviefun.adoc
@@ -0,0 +1,385 @@
+= 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 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]
+
+http://java.sun.com/xml/ns/persistence"; version="1.0">
+
+  
+movieDatabase
+movieDatabaseUnmanaged
+org.superbiz.injection.tx.Movie
+
+
+  
+
+  
+
+
+
+
+==  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 st

[29/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/css/bootstrap.css.map
--
diff --git a/src/main/jbake/assets/css/bootstrap.css.map 
b/src/main/jbake/assets/css/bootstrap.css.map
new file mode 100755
index 000..f944af4
--- /dev/null
+++ b/src/main/jbake/assets/css/bootstrap.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["bootstrap.css","less/normalize.less","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labe
 
ls.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"GAIG;AACH,4EAA4E;ACG5E;EACE,wBAAA;EACA,2BAAA;EACA,+BAAA;CDDD;ACQD;EACE,UAAA;CDND;ACmBD;EAaE,eAAA;CDjBD;ACyBDEAIE,sBAAA;EACA,yBAAA;CDvBD;AC+BD;EACE,cAAA;EACA,UAAA;CD7BD;ACqCD;;EAEE,cAAA;CDnCD;AC6CD;EACE,8BAAA;CD3CD;ACmDD;;EAEE,WAAA;CDjDD;AC2DD;EACE,0BAAA;CDzDD;ACg
 
ED;;EAEE,kBAAA;CD9DD;ACqED;EACE,mBAAA;CDnED;AC2ED;EACE,eAAA;EACA,iBAAA;CDzED;ACgFD;EACE,iBAAA;EACA,YAAA;CD9ED;ACqFD;EACE,eAAA;CDnFD;AC0FD;;EAEE,eAAA;EACA,eAAA;EACA,mBAAA;EACA,yBAAA;CDxFD;AC2FD;EACE,YAAA;CDzFD;AC4FD;EACE,gBAAA;CD1FD;ACoGD;EACE,UAAA;CDlGD;ACyGD;EACE,iBAAA;CDvGD;ACiHD;EACE,iBAAA;CD/GD;ACsHD;EACE,gCAAA;KAAA,6BAAA;UAAA,wBAAA;EACA,UAAA;CDpHD;AC2HD;EACE,eAAA;CDzHD;ACgIDEAIE,kCAAA;EACA,eAAA;CD9HD;ACgJD;EAKE,eAAA;EACA,cAAA;EACA,UAAA;CD9ID;ACqJD;EACE,kBAAA;CDnJD;AC6JD;;EAEE,qBAAA;CD3JD;ACsKDEAIE,2BAAA;EACA,gBAAA;CDpKD;AC2KD;;EAEE,gBAAA;CDzKD;ACgLD;;EAEE,UAAA;EACA,WAAA;CD9KD;ACsLD;EACE,oBAAA;CDpLD;AC+LD;;EAEE,+BAAA;KAAA,4BAAA;UAAA,uBAAA;EACA,WAAA;CD7LD;ACsMD;;EAEE,aAAA;CDpMD;AC4MD;EACE,8BAAA;EACA,gCAAA;KAAA,6BAAA;UAAA,wBAAA;CD1MD;ACmND;;EAEE,yBAAA;CDjND;ACwND;EACE,0BAAA;EACA,cAAA;EACA,+BAAA;CDtND;AC8ND;EACE,UAAA;EACA,WAAA;CD5ND;ACmOD;EACE,eAAA;CDjOD;ACyOD;EACE,kBAAA;CDvOD;ACiPD;EACE,0BAAA;EACA,kBAAA;CD/OD;ACkPD;;EAEE,WAAA;CDhPD;AACD,qFAAqF;AElFrF;EA7FI;;;IAGI,mCAAA
 
;IACA,uBAAA;IACA,oCAAA;YAAA,4BAAA;IACA,6BAAA;GFkLL;EE/KC;;IAEI,2BAAA;GFiLL;EE9KC;IACI,6BAAA;GFgLL;EE7KC;IACI,8BAAA;GF+KL;EE1KC;;IAEI,YAAA;GF4KL;EEzKC;;IAEI,uBAAA;IACA,yBAAA;GF2KL;EExKC;IACI,4BAAA;GF0KL;EEvKC;;IAEI,yBAAA;GFyKL;EEtKC;IACI,2BAAA;GFwKL;EErKC;;;IAGI,WAAA;IACA,UAAA;GFuKL;EEpKC;;IAEI,wBAAA;GFsKL;EEhKC;IACI,cAAA;GFkKL;EEhKC;;IAGQ,kCAAA;GFiKT;EE9JC;IACI,uBAAA;GFgKL;EE7JC;IACI,qCAAA;GF+JL;EEhKC;;IAKQ,kCAAA;GF+JT;EE5JC;;IAGQ,kCAAA;GF6JT;CACF;AGnPD;EACE,oCAAA;EACA,sDAAA;EACA,gYAAA;CHqPD;AG7OD;EACE,mBAAA;EACA,SAAA;EACA,sBAAA;EACA,oCAAA;EACA,mBAAA;EACA,oBAAA;EACA,eAAA;EACA,oCAAA;EACA,mCAAA;CH+OD;AG3OmC;EAAW,eAAA;CH8O9C;AG7OmC;EAAW,eAAA;CHgP9C;AG9OmC;;EAAW,iBAAA;CHkP9C;AGjPmC;EAAW,iBAAA;CHoP9C;AGnPmC;EAAW,iBAAA;CHsP9C;AGrPmC;EAAW,iBAAA;CHwP9C;AGvPmC;EAAW,iBAAA;CH0P9C;AGzPmC;EAAW,iBAAA;CH4P9C;AG3PmC;EAAW,iBAAA;CH8P9C;AG7PmC;EAAW,iBAAA;CHgQ9C;AG/PmC;EAAW,iBAAA;CHkQ9C;AGjQmC;EAAW,iBAAA;CHoQ9C;AGnQmC;EAAW,iBAAA;CHsQ9C;AGrQmC;EAAW,iBAAA;CHwQ9C;AGvQmC;EAAW,iBAAA;CH0Q9C;AGzQmC;EAAW,iBAAA
 
;CH4Q9C;AG3QmC;EAAW,iBAAA;CH8Q9C;AG7QmC;EAAW,iBAAA;CHgR9C;AG/QmC;EAAW,iBAAA;CHkR9C;AGjRmC;EAAW,iBAAA;CHoR9C;AGnRmC;EAAW,iBAAA;CHsR9C;AGrRmC;EAAW,iBAAA;CHwR9C;AGvRmC;EAAW,iBAAA;CH0R9C;AGzRmC;EAAW,iBAAA;CH4R9C;AG3RmC;EAAW,iBAAA;CH8R9C;AG7RmC;EAAW,iBAAA;CHgS9C;AG/RmC;EAAW,iBAAA;CHkS9C;AGjSmC;EAAW,iBAAA;CHoS9C;AGnSmC;EAAW,iBAAA;CHsS9C;AGrSmC;EAAW,iBAAA;CHwS9C;AGvSmC;EAAW,iBAAA;CH0S9C;AGzSmC;EAAW,iBAAA;CH4S9C;AG3SmC;EAAW,iBAAA;CH8S9C;AG7SmC;EAAW,iBAAA;CHgT9C;AG/SmC;EAAW,iBAAA;CHkT9C;AGjTmC;EAAW,iBAAA;CHoT9C;AGnTmC;EAAW,iBAAA;CHsT9C;AGrTmC;EAAW,iBAAA;CHwT9C;AGvTmC;EAAW,iBAAA;CH0T9C;

[03/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..6b8088d
--- /dev/null
+++ b/src/main/jbake/content/examples/transaction-rollback.adoc
@@ -0,0 +1,584 @@
+= 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 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]
+
+http://java.sun.com/xml/ns/persistence"; version="1.0">
+
+  
+movieDatabase
+movieDatabaseUnmanaged
+org.superbiz.testinjection.MoviesTest.Movie
+
+
+  
+
+  
+
+
+
+
+==  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=DataS

[12/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..8b7a76e
--- /dev/null
+++ b/src/main/jbake/content/examples/dynamic-datasource-routing.adoc
@@ -0,0 +1,473 @@
+= 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 dataSources = null;
+private ThreadLocal currentDataSource = new 
ThreadLocal();
+
+/**
+ * @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();
+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(

[32/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/pom.xml
--
diff --git a/pom.xml b/pom.xml
new file mode 100755
index 000..a479edc
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,127 @@
+
+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/xsd/maven-4.0.0.xsd";>
+  4.0.0
+
+  org.apache.tomee
+  site
+  1.0-SNAPSHOT
+  Apache TomEE :: WebSite NG
+
+  
+7.0.3
+false
+false
+
+UTF-8
+  
+
+  
+
+  org.asciidoctor
+  asciidoctorj-pdf
+  1.5.0-alpha.11
+
+
+  org.asciidoctor
+  asciidoctorj
+  1.5.4
+
+
+  org.projectlombok
+  lombok
+  1.16.12
+  provided
+
+
+  org.apache.geronimo.specs
+  geronimo-json_1.0_spec
+  1.0-alpha-1
+
+
+  org.apache.johnzon
+  johnzon-jaxrs
+  0.9.5
+
+
+  org.apache.cxf
+  cxf-rt-rs-client
+  3.1.8
+
+
+  org.apache.tomee
+  javaee-api
+  7.0-1
+
+
+  org.apache.tomee
+  tomee-embedded
+  ${tomee.version}
+
+
+  org.jbake
+  jbake-core
+  2.4.0
+  
+
+  org.slf4j
+  jul-to-slf4j
+
+  
+
+
+  org.codehaus.groovy
+  groovy
+  2.3.11
+
+
+  org.codehaus.groovy
+  groovy-templates
+  2.3.11
+
+
+  org.pegdown
+  pegdown
+  1.6.0
+
+  
+
+  
+
+  
+org.apache.maven.plugins
+maven-compiler-plugin
+3.5.1
+
+  1.8
+  1.8
+
+  
+  
+org.codehaus.mojo
+exec-maven-plugin
+1.5.0
+
+  
+tomee-site
+compile
+
+  java
+
+  
+
+
+  true
+  org.apache.tomee.website.JBake
+  
+${project.basedir}/src/main/jbake/
+
${project.build.directory}/${project.build.finalName}
+${jbake.http}
+${jbake.pdf}
+  
+
+  
+
+  
+

http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/java/org/apache/tomee/website/Contributors.java
--
diff --git a/src/main/java/org/apache/tomee/website/Contributors.java 
b/src/main/java/org/apache/tomee/website/Contributors.java
new file mode 100755
index 000..fb4d0bf
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/Contributors.java
@@ -0,0 +1,222 @@
+/*
+ * 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 lombok.Builder;
+import lombok.Data;
+import org.apache.johnzon.jaxrs.JohnzonProvider;
+
+import javax.net.ssl.HttpsURLConnection;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Stream;
+
+import static java.util.Collections.emptyList;
+import static java.util.Optional.ofNullable;
+import static java.util.stream.Collectors.toList;
+
+public class Contributors {
+private static final String GRAVATAR_BASE = "http://fr.gravatar.com/";;
+
+private Contributors() {
+// no-op
+}
+
+public static Contributor singleLoad(final WebTarget target, final String 
input) throws IOException {
+try {
+return ofNullable(loadGravatar(target, 
input)).orElse(loadStatic(input));
+} catch (Exception e) {
+e.printStackTrace();
+return loadStatic(

[15/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..345b7c3
--- /dev/null
+++ b/src/main/jbake/content/examples/access-timeout-meta.adoc
@@ -0,0 +1,291 @@
+= @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 The "root" Meta-Annotation
+
+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`

[25/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.svg
--
diff --git 
a/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.svg 
b/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.svg
new file mode 100755
index 000..d907b25
--- /dev/null
+++ 
b/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.svg
@@ -0,0 +1,520 @@
+
+http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"; >
+http://www.w3.org/2000/svg";>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

[31/35] tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-site-generator/blob/972cc356/src/main/jbake/assets/css/animate.css
--
diff --git a/src/main/jbake/assets/css/animate.css 
b/src/main/jbake/assets/css/animate.css
new file mode 100755
index 000..e1a54e2
--- /dev/null
+++ b/src/main/jbake/assets/css/animate.css
@@ -0,0 +1,3391 @@
+@charset "UTF-8";
+
+/*!
+Animate.css - http://daneden.me/animate
+Licensed under the MIT license - http://opensource.org/licenses/MIT
+
+Copyright (c) 2015 Daniel Eden
+*/
+
+.animated {
+  -webkit-animation-duration: .3s;
+  animation-duration: .3s;
+  -webkit-animation-fill-mode: both;
+  animation-fill-mode: both;
+}
+
+.animated.infinite {
+  -webkit-animation-iteration-count: infinite;
+  -webkit-animation-duration: 1s;
+  animation-duration: 1s;
+  animation-iteration-count: infinite;
+}
+
+.animated.hinge {
+  -webkit-animation-duration: 2s;
+  animation-duration: 2s;
+}
+
+@-webkit-keyframes bounce {
+  0%, 20%, 53%, 80%, 100% {
+-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 
1.000);
+transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+-webkit-transform: translate3d(0,0,0);
+transform: translate3d(0,0,0);
+  }
+
+  40%, 43% {
+-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 
0.060);
+transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+-webkit-transform: translate3d(0, -30px, 0);
+transform: translate3d(0, -30px, 0);
+  }
+
+  70% {
+-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 
0.060);
+transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+-webkit-transform: translate3d(0, -15px, 0);
+transform: translate3d(0, -15px, 0);
+  }
+
+  90% {
+-webkit-transform: translate3d(0,-4px,0);
+transform: translate3d(0,-4px,0);
+  }
+}
+
+@keyframes bounce {
+  0%, 20%, 53%, 80%, 100% {
+-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 
1.000);
+transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+-webkit-transform: translate3d(0,0,0);
+-ms-transform: translate3d(0,0,0);
+transform: translate3d(0,0,0);
+  }
+
+  40%, 43% {
+-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 
0.060);
+transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+-webkit-transform: translate3d(0, -30px, 0);
+-ms-transform: translate3d(0, -30px, 0);
+transform: translate3d(0, -30px, 0);
+  }
+
+  70% {
+-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 
0.060);
+transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+-webkit-transform: translate3d(0, -15px, 0);
+-ms-transform: translate3d(0, -15px, 0);
+transform: translate3d(0, -15px, 0);
+  }
+
+  90% {
+-webkit-transform: translate3d(0,-4px,0);
+-ms-transform: translate3d(0,-4px,0);
+transform: translate3d(0,-4px,0);
+  }
+}
+
+.bounce {
+  -webkit-animation-name: bounce;
+  animation-name: bounce;
+  -webkit-transform-origin: center bottom;
+  -ms-transform-origin: center bottom;
+  transform-origin: center bottom;
+}
+
+@-webkit-keyframes flash {
+  0%, 100% {
+opacity: 1;
+  }
+
+  50% {
+opacity: 0;
+  }
+}
+
+@keyframes flash {
+  0%, 100% {
+opacity: 1;
+  }
+
+  50% {
+opacity: 0;
+  }
+}
+
+.flash {
+  -webkit-animation-name: flash;
+  animation-name: flash;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@-webkit-keyframes pulse {
+  0% {
+-webkit-transform: scale3d(1, 1, 1);
+transform: scale3d(1, 1, 1);
+  }
+
+  50% {
+-webkit-transform: scale3d(1.05, 1.05, 1.05);
+transform: scale3d(1.05, 1.05, 1.05);
+  }
+
+  100% {
+-webkit-transform: scale3d(1, 1, 1);
+transform: scale3d(1, 1, 1);
+  }
+}
+
+@keyframes pulse {
+  0% {
+-webkit-transform: scale3d(1, 1, 1);
+-ms-transform: scale3d(1, 1, 1);
+transform: scale3d(1, 1, 1);
+  }
+
+  50% {
+-webkit-transform: scale3d(1.05, 1.05, 1.05);
+-ms-transform: scale3d(1.05, 1.05, 1.05);
+transform: scale3d(1.05, 1.05, 1.05);
+  }
+
+  100% {
+-webkit-transform: scale3d(1, 1, 1);
+-ms-transform: scale3d(1, 1, 1);
+transform: scale3d(1, 1, 1);
+  }
+}
+
+.pulse {
+  -webkit-animation-name: pulse;
+  animation-name: pulse;
+}
+
+@-webkit-keyframes rubberBand {
+  0% {
+-webkit-transform: scale3d(1, 1, 1);
+transform: scale3d(1, 1, 1);
+  }
+
+  30% {
+-webkit-transform: scale3d(1.25, 0.75, 1);
+transform: scale3d(1.25, 0.75, 1);
+  }
+
+  40% {
+-webkit-transform: scale3d(0.75, 1.25, 1);
+transform: scale3d(0.75, 1.25, 1);
+  }
+
+  50% {
+-webkit-transform: scale3d(1.15, 0.85, 1);
+transform: scale3d(1.15, 0.85, 1);
+  }
+
+  65% {
+-webkit-transform: scale3d(.95, 1.05, 1);
+transform: scale3d(.95, 1.05, 1);
+  }
+
+  75% {
+-webkit-

svn commit: r1800805 - /tomee/site/trunk/generators/site-tomee-ng/src/main/java/org/apache/tomee/website/JBake.java

2017-07-04 Thread rmannibucau
Author: rmannibucau
Date: Tue Jul  4 17:14:37 2017
New Revision: 1800805

URL: http://svn.apache.org/viewvc?rev=1800805&view=rev
Log:
fixing repo path

Modified:

tomee/site/trunk/generators/site-tomee-ng/src/main/java/org/apache/tomee/website/JBake.java

Modified: 
tomee/site/trunk/generators/site-tomee-ng/src/main/java/org/apache/tomee/website/JBake.java
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/generators/site-tomee-ng/src/main/java/org/apache/tomee/website/JBake.java?rev=1800805&r1=1800804&r2=1800805&view=diff
==
--- 
tomee/site/trunk/generators/site-tomee-ng/src/main/java/org/apache/tomee/website/JBake.java
 (original)
+++ 
tomee/site/trunk/generators/site-tomee-ng/src/main/java/org/apache/tomee/website/JBake.java
 Tue Jul  4 17:14:37 2017
@@ -37,7 +37,7 @@ public class JBake {
 System.out.println();
 System.out.println();
 System.out.println();
-System.out.println("WARNING: site moved to 
https://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator.git";);
+System.out.println("WARNING: site moved to 
https://git-wip-us.apache.org/repos/asf/tomee-site-generator.git";);
 System.out.println();
 System.out.println("Think to use that repository, this one will be 
soon dropped off");
 System.out.println();




svn commit: r1800804 - /tomee/site/trunk/generators/site-tomee-ng/src/main/java/org/apache/tomee/website/JBake.java

2017-07-04 Thread rmannibucau
Author: rmannibucau
Date: Tue Jul  4 16:39:05 2017
New Revision: 1800804

URL: http://svn.apache.org/viewvc?rev=1800804&view=rev
Log:
warning in generator since we moved to git

Modified:

tomee/site/trunk/generators/site-tomee-ng/src/main/java/org/apache/tomee/website/JBake.java

Modified: 
tomee/site/trunk/generators/site-tomee-ng/src/main/java/org/apache/tomee/website/JBake.java
URL: 
http://svn.apache.org/viewvc/tomee/site/trunk/generators/site-tomee-ng/src/main/java/org/apache/tomee/website/JBake.java?rev=1800804&r1=1800803&r2=1800804&view=diff
==
--- 
tomee/site/trunk/generators/site-tomee-ng/src/main/java/org/apache/tomee/website/JBake.java
 (original)
+++ 
tomee/site/trunk/generators/site-tomee-ng/src/main/java/org/apache/tomee/website/JBake.java
 Tue Jul  4 16:39:05 2017
@@ -29,6 +29,28 @@ import static lombok.AccessLevel.PRIVATE
 @RequiredArgsConstructor(access = PRIVATE)
 public class JBake {
 public static void main(final String[] args) throws Exception {
+System.out.println();
+System.out.println();
+System.out.println();
+System.out.println();
+System.out.println();
+System.out.println();
+System.out.println();
+System.out.println();
+System.out.println("WARNING: site moved to 
https://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator.git";);
+System.out.println();
+System.out.println("Think to use that repository, this one will be 
soon dropped off");
+System.out.println();
+System.out.println();
+System.out.println();
+System.out.println();
+System.out.println();
+System.out.println();
+System.out.println();
+System.out.println();
+System.out.println();
+System.out.println();
+
 
System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", 
"64"); // try to have parallelStream better than default
 
 final File source = args == null || args.length < 1 ? new 
File("src/main/jbake") : new File(args[0]);




[32/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/css/animate.css
--
diff --git a/src/main/jbake/assets/css/animate.css 
b/src/main/jbake/assets/css/animate.css
new file mode 100755
index 000..e1a54e2
--- /dev/null
+++ b/src/main/jbake/assets/css/animate.css
@@ -0,0 +1,3391 @@
+@charset "UTF-8";
+
+/*!
+Animate.css - http://daneden.me/animate
+Licensed under the MIT license - http://opensource.org/licenses/MIT
+
+Copyright (c) 2015 Daniel Eden
+*/
+
+.animated {
+  -webkit-animation-duration: .3s;
+  animation-duration: .3s;
+  -webkit-animation-fill-mode: both;
+  animation-fill-mode: both;
+}
+
+.animated.infinite {
+  -webkit-animation-iteration-count: infinite;
+  -webkit-animation-duration: 1s;
+  animation-duration: 1s;
+  animation-iteration-count: infinite;
+}
+
+.animated.hinge {
+  -webkit-animation-duration: 2s;
+  animation-duration: 2s;
+}
+
+@-webkit-keyframes bounce {
+  0%, 20%, 53%, 80%, 100% {
+-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 
1.000);
+transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+-webkit-transform: translate3d(0,0,0);
+transform: translate3d(0,0,0);
+  }
+
+  40%, 43% {
+-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 
0.060);
+transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+-webkit-transform: translate3d(0, -30px, 0);
+transform: translate3d(0, -30px, 0);
+  }
+
+  70% {
+-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 
0.060);
+transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+-webkit-transform: translate3d(0, -15px, 0);
+transform: translate3d(0, -15px, 0);
+  }
+
+  90% {
+-webkit-transform: translate3d(0,-4px,0);
+transform: translate3d(0,-4px,0);
+  }
+}
+
+@keyframes bounce {
+  0%, 20%, 53%, 80%, 100% {
+-webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 
1.000);
+transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
+-webkit-transform: translate3d(0,0,0);
+-ms-transform: translate3d(0,0,0);
+transform: translate3d(0,0,0);
+  }
+
+  40%, 43% {
+-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 
0.060);
+transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+-webkit-transform: translate3d(0, -30px, 0);
+-ms-transform: translate3d(0, -30px, 0);
+transform: translate3d(0, -30px, 0);
+  }
+
+  70% {
+-webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 
0.060);
+transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
+-webkit-transform: translate3d(0, -15px, 0);
+-ms-transform: translate3d(0, -15px, 0);
+transform: translate3d(0, -15px, 0);
+  }
+
+  90% {
+-webkit-transform: translate3d(0,-4px,0);
+-ms-transform: translate3d(0,-4px,0);
+transform: translate3d(0,-4px,0);
+  }
+}
+
+.bounce {
+  -webkit-animation-name: bounce;
+  animation-name: bounce;
+  -webkit-transform-origin: center bottom;
+  -ms-transform-origin: center bottom;
+  transform-origin: center bottom;
+}
+
+@-webkit-keyframes flash {
+  0%, 100% {
+opacity: 1;
+  }
+
+  50% {
+opacity: 0;
+  }
+}
+
+@keyframes flash {
+  0%, 100% {
+opacity: 1;
+  }
+
+  50% {
+opacity: 0;
+  }
+}
+
+.flash {
+  -webkit-animation-name: flash;
+  animation-name: flash;
+}
+
+/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
+
+@-webkit-keyframes pulse {
+  0% {
+-webkit-transform: scale3d(1, 1, 1);
+transform: scale3d(1, 1, 1);
+  }
+
+  50% {
+-webkit-transform: scale3d(1.05, 1.05, 1.05);
+transform: scale3d(1.05, 1.05, 1.05);
+  }
+
+  100% {
+-webkit-transform: scale3d(1, 1, 1);
+transform: scale3d(1, 1, 1);
+  }
+}
+
+@keyframes pulse {
+  0% {
+-webkit-transform: scale3d(1, 1, 1);
+-ms-transform: scale3d(1, 1, 1);
+transform: scale3d(1, 1, 1);
+  }
+
+  50% {
+-webkit-transform: scale3d(1.05, 1.05, 1.05);
+-ms-transform: scale3d(1.05, 1.05, 1.05);
+transform: scale3d(1.05, 1.05, 1.05);
+  }
+
+  100% {
+-webkit-transform: scale3d(1, 1, 1);
+-ms-transform: scale3d(1, 1, 1);
+transform: scale3d(1, 1, 1);
+  }
+}
+
+.pulse {
+  -webkit-animation-name: pulse;
+  animation-name: pulse;
+}
+
+@-webkit-keyframes rubberBand {
+  0% {
+-webkit-transform: scale3d(1, 1, 1);
+transform: scale3d(1, 1, 1);
+  }
+
+  30% {
+-webkit-transform: scale3d(1.25, 0.75, 1);
+transform: scale3d(1.25, 0.75, 1);
+  }
+
+  40% {
+-webkit-transform: scale3d(0.75, 1.25, 1);
+transform: scale3d(0.75, 1.25, 1);
+  }
+
+  50% {
+-webkit-transform: scale3d(1.15, 0.85, 1);
+transform: scale3d(1.15, 0.85, 1);
+  }
+
+  65% {
+-webkit-transform: scale3d(.95, 1.05, 1);
+transform: scale3d(.95, 1.05, 1);
+  }
+
+  75% {
+-w

[04/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..c8a2491
--- /dev/null
+++ b/src/main/jbake/content/examples/testing-security-2.adoc
@@ -0,0 +1,306 @@
+= 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 getMovies() throws Exception {
+Query query = entityManager.createQuery("SELECT m from Movie as m");
+return query.getResultList();
+}
+}
+
+
+
+==  persistence.xml
+
+
+[source,xml]
+
+http://java.sun.com/xml/ns/persistence"; version="1.0">
+
+  
+movieDatabase
+movieDatabaseUnmanaged
+org.superbiz.injection.secure.Movie
+
+
+  
+
+  
+
+
+
+
+==  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 list = movies.getMovies();
+assertEquals("List.size()", 3, list.size());
+
+for (Movie movie : list) {
+movies.deleteMovie(movie);
+}
+
+assertEquals("Movi

[33/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/pom.xml
--
diff --git a/pom.xml b/pom.xml
new file mode 100755
index 000..a479edc
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,127 @@
+
+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/xsd/maven-4.0.0.xsd";>
+  4.0.0
+
+  org.apache.tomee
+  site
+  1.0-SNAPSHOT
+  Apache TomEE :: WebSite NG
+
+  
+7.0.3
+false
+false
+
+UTF-8
+  
+
+  
+
+  org.asciidoctor
+  asciidoctorj-pdf
+  1.5.0-alpha.11
+
+
+  org.asciidoctor
+  asciidoctorj
+  1.5.4
+
+
+  org.projectlombok
+  lombok
+  1.16.12
+  provided
+
+
+  org.apache.geronimo.specs
+  geronimo-json_1.0_spec
+  1.0-alpha-1
+
+
+  org.apache.johnzon
+  johnzon-jaxrs
+  0.9.5
+
+
+  org.apache.cxf
+  cxf-rt-rs-client
+  3.1.8
+
+
+  org.apache.tomee
+  javaee-api
+  7.0-1
+
+
+  org.apache.tomee
+  tomee-embedded
+  ${tomee.version}
+
+
+  org.jbake
+  jbake-core
+  2.4.0
+  
+
+  org.slf4j
+  jul-to-slf4j
+
+  
+
+
+  org.codehaus.groovy
+  groovy
+  2.3.11
+
+
+  org.codehaus.groovy
+  groovy-templates
+  2.3.11
+
+
+  org.pegdown
+  pegdown
+  1.6.0
+
+  
+
+  
+
+  
+org.apache.maven.plugins
+maven-compiler-plugin
+3.5.1
+
+  1.8
+  1.8
+
+  
+  
+org.codehaus.mojo
+exec-maven-plugin
+1.5.0
+
+  
+tomee-site
+compile
+
+  java
+
+  
+
+
+  true
+  org.apache.tomee.website.JBake
+  
+${project.basedir}/src/main/jbake/
+
${project.build.directory}/${project.build.finalName}
+${jbake.http}
+${jbake.pdf}
+  
+
+  
+
+  
+

http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/java/org/apache/tomee/website/Contributors.java
--
diff --git a/src/main/java/org/apache/tomee/website/Contributors.java 
b/src/main/java/org/apache/tomee/website/Contributors.java
new file mode 100755
index 000..fb4d0bf
--- /dev/null
+++ b/src/main/java/org/apache/tomee/website/Contributors.java
@@ -0,0 +1,222 @@
+/*
+ * 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 lombok.Builder;
+import lombok.Data;
+import org.apache.johnzon.jaxrs.JohnzonProvider;
+
+import javax.net.ssl.HttpsURLConnection;
+import javax.ws.rs.client.ClientBuilder;
+import javax.ws.rs.client.WebTarget;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Stream;
+
+import static java.util.Collections.emptyList;
+import static java.util.Optional.ofNullable;
+import static java.util.stream.Collectors.toList;
+
+public class Contributors {
+private static final String GRAVATAR_BASE = "http://fr.gravatar.com/";;
+
+private Contributors() {
+// no-op
+}
+
+public static Contributor singleLoad(final WebTarget target, final String 
input) throws IOException {
+try {
+return ofNullable(loadGravatar(target, 
input)).orElse(loadStatic(input));
+} catch (Exception e) {
+e.printStackTrace();
+return

[18/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..8664ade
--- /dev/null
+++ b/src/main/jbake/content/advanced/tomee-embedded/index.adoc
@@ -0,0 +1,223 @@
+= 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

[02/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..bb4a5f4
--- /dev/null
+++ b/src/main/jbake/content/examples/webservice-holder.adoc
@@ -0,0 +1,201 @@
+= @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 sum,
+   @WebParam(name = "multiply", mode = 
WebParam.Mode.OUT) Holder 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` params.
+
+
+[source,xml]
+
+
+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";>
+  
+http://superbiz.org/wsdl";
+xmlns:tns="http://superbiz.org/wsdl";
+xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
+  
+  
+
+  
+  
+
+  
+  
+  
+
+  
+  
+
+  
+
+  
+  
+
+  
+  
+
+  
+  
+
+  
+  
+
+  
+  
+http://schemas.xmlsoap.org/soap/http"/>
+
+  
+  
+
+  
+  
+
+  
+
+  
+  
+
+  http://127.0.0.1:4204/Calculator?wsdl"/>
+
+  
+
+
+
+
+==  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 {
+fin

[20/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/js/typeahead.bundle.min.js
--
diff --git a/src/main/jbake/assets/js/typeahead.bundle.min.js 
b/src/main/jbake/assets/js/typeahead.bundle.min.js
new file mode 100755
index 000..ffd98f3
--- /dev/null
+++ b/src/main/jbake/assets/js/typeahead.bundle.min.js
@@ -0,0 +1,8 @@
+/*!
+ * typeahead.js 0.11.1
+ * https://github.com/twitter/typeahead.js
+ * Copyright 2013-2015 Twitter, Inc. and other contributors; Licensed MIT
+ */
+
+!function(a,b){"function"==typeof 
define&&define.amd?define("bloodhound",["jquery"],function(c){return 
a.Bloodhound=b(c)}):"object"==typeof 
exports?module.exports=b(require("jquery")):a.Bloodhound=b(jQuery)}(this,function(a){var
 b=function(){"use 
strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie
 
|rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(a){return!a||/^\s*$/.test(a)},escapeRegExChars:function(a){return
 
a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(a){return"string"==typeof
 a},isNumber:function(a){return"number"==typeof 
a},isArray:a.isArray,isFunction:a.isFunction,isObject:a.isPlainObject,isUndefined:function(a){return"undefined"==typeof
 
a},isElement:function(a){return!(!a||1!==a.nodeType)},isJQuery:function(b){return
 b instanceof a},toStr:function(a){return 
b.isUndefined(a)||null===a?"":a+""},bind:a.proxy,each:function(b,c){function 
d(a,b){return c(b,a)}a.each(b,d)},map:a.map,filte
 r:a.grep,every:function(b,c){var d=!0;return 
b?(a.each(b,function(a,e){return(d=c.call(null,e,a,b))?void 
0:!1}),!!d):d},some:function(b,c){var d=!1;return 
b?(a.each(b,function(a,e){return(d=c.call(null,e,a,b))?!1:void 
0}),!!d):d},mixin:a.extend,identity:function(a){return 
a},clone:function(b){return a.extend(!0,{},b)},getIdGenerator:function(){var 
a=0;return function(){return a++}},templatify:function(b){function c(){return 
String(b)}return 
a.isFunction(b)?b:c},defer:function(a){setTimeout(a,0)},debounce:function(a,b,c){var
 d,e;return function(){var f,g,h=this,i=arguments;return 
f=function(){d=null,c||(e=a.apply(h,i))},g=c&&!d,clearTimeout(d),d=setTimeout(f,b),g&&(e=a.apply(h,i)),e}},throttle:function(a,b){var
 c,d,e,f,g,h;return g=0,h=function(){g=new 
Date,e=null,f=a.apply(c,d)},function(){var i=new Date,j=b-(i-g);return 
c=this,d=arguments,0>=j?(clearTimeout(e),e=null,g=i,f=a.apply(c,d)):e||(e=setTimeout(h,j)),f}},stringify:function(a){return
 b.isString(a)?a:JSON.stringify(a)},noop:
 function(){}}}(),c="0.11.1",d=function(){"use strict";function a(a){return 
a=b.toStr(a),a?a.split(/\s+/):[]}function c(a){return 
a=b.toStr(a),a?a.split(/\W+/):[]}function d(a){return function(c){return 
c=b.isArray(c)?c:[].slice.call(arguments,0),function(d){var e=[];return 
b.each(c,function(c){e=e.concat(a(b.toStr(d[c])))}),e}}}return{nonword:c,whitespace:a,obj:{nonword:d(c),whitespace:d(a)}}}(),e=function(){"use
 strict";function 
c(c){this.maxSize=b.isNumber(c)?c:100,this.reset(),this.maxSize<=0&&(this.set=this.get=a.noop)}function
 d(){this.head=this.tail=null}function 
e(a,b){this.key=a,this.val=b,this.prev=this.next=null}return 
b.mixin(c.prototype,{set:function(a,b){var 
c,d=this.list.tail;this.size>=this.maxSize&&(this.list.remove(d),delete 
this.hash[d.key],this.size--),(c=this.hash[a])?(c.val=b,this.list.moveToFront(c)):(c=new
 e(a,b),this.list.add(c),this.hash[a]=c,this.size++)},get:function(a){var 
b=this.hash[a];return b?(this.list.moveToFront(b),b.val):void 
0},reset:function(){t
 his.size=0,this.hash={},this.list=new 
d}}),b.mixin(d.prototype,{add:function(a){this.head&&(a.next=this.head,this.head.prev=a),this.head=a,this.tail=this.tail||a},remove:function(a){a.prev?a.prev.next=a.next:this.head=a.next,a.next?a.next.prev=a.prev:this.tail=a.prev},moveToFront:function(a){this.remove(a),this.add(a)}}),c}(),f=function(){"use
 strict";function 
c(a,c){this.prefix=["__",a,"__"].join(""),this.ttlKey="__ttl__",this.keyMatcher=new
 
RegExp("^"+b.escapeRegExChars(this.prefix)),this.ls=c||h,!this.ls&&this._noop()}function
 d(){return(new Date).getTime()}function e(a){return 
JSON.stringify(b.isUndefined(a)?null:a)}function f(b){return 
a.parseJSON(b)}function g(a){var 
b,c,d=[],e=h.length;for(b=0;e>b;b++)(c=h.key(b)).match(a)&&d.push(c.replace(a,""));return
 d}var 
h;try{h=window.localStorage,h.setItem("~~~","!"),h.removeItem("~~~")}catch(i){h=null}return
 b.mixin(c.prototype,{_prefix:function(a){return 
this.prefix+a},_ttlKey:function(a){return this._prefix(a)+this.ttlKey},_noop:fu
 
nction(){this.get=this.set=this.remove=this.clear=this.isExpired=b.noop},_safeSet:function(a,b){try{this.ls.setItem(a,b)}catch(c){"QuotaExceededError"===c.name&&(this.clear(),this._noop())}},get:function(a){return
 
this.isExpired(a)&&this.remove(a),f(this.ls.getItem(this._prefix(a)))},set:function(a,c,f){return
 
b.isNumber(f)?this._safeSet(th

[13/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..7edf520
--- /dev/null
+++ b/src/main/jbake/content/examples/custom-injection.adoc
@@ -0,0 +1,256 @@
+= 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.
+ * 
+ * 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 pickups;
+
+@Resource(name = "style")
+private Style style;
+
+@Resource(name = "dateCreated")
+private Date dateCreated;
+
+@Resource(name = "guitarStringGuages")
+private Map 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 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 pickups = asList(Pickup.SINGLE_COIL, Pickup.SINGLE_COIL, 
Pickup.SINGLE_COIL);
+assertEquals("Strat.getPicku

[29/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/css/cardio.css
--
diff --git a/src/main/jbake/assets/css/cardio.css 
b/src/main/jbake/assets/css/cardio.css
new file mode 100755
index 000..71c6ad6
--- /dev/null
+++ b/src/main/jbake/assets/css/cardio.css
@@ -0,0 +1,1173 @@
+@import url(http://fonts.googleapis.com/css?family=Roboto:300,400,500,700);
+body {
+   font-family: 'Roboto', 'Helvetica Neue', 'Segoe UI', Helvetica, Arial, 
sans-serif;
+   font-size: 14px;
+   overflow-x: hidden;
+   color: #2a3237;
+   -webkit-font-smoothing: antialiased;
+   -moz-osx-font-smoothing: grayscale;
+}
+
+.parallax {
+   position: absolute;
+   overflow: hidden;
+   width: 100%;
+   -webkit-transform: translateZ(0);
+   -ms-transform: translateZ(0);
+   transform: translateZ(0);
+}
+
+.parallax img {
+   width: 100%;
+   height: 100%;
+}
+/* Preloader */
+
+.preloader {
+   position: fixed;
+   z-index: ;
+   width: 100%;
+   height: 100%;
+   background-color: white;
+}
+
+.preloader img {
+   position: absolute;
+   top: calc(50% - 32px);
+   left: calc(50% - 32px);
+}
+
+.preloader div {
+   display: none;
+   /* Preload the Second Pricing Image */
+   background: url(../img/pricing2.jpg) no-repeat px px;
+   background-position: px px;
+}
+
+/* Typography */
+
+.bigp {
+   font-size: 18px;
+   line-height: 1.5;
+   color: #80287a;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+   font-family: 'Roboto', 'Avenir Next', 'Helvetica Neue', 'Segoe UI', 
Helvetica, Arial, sans-serif;
+   position: relative;
+   margin: 10px 0;
+}
+
+h1 {
+   font-size: 60px;
+}
+
+h2 {
+   font-size: 48px;
+}
+
+h3 {
+   font-size: 30px;
+}
+
+h4 {
+   font-size: 24px;
+}
+
+h5 {
+   font-size: 18px;
+}
+
+h6 {
+   font-size: 16px;
+}
+
+ul.white-list {
+   padding: 0;
+   list-style-type: none;
+}
+
+ul.white-list li {
+   font-size: 18px;
+   margin: 10px 0;
+   color: #fff;
+}
+
+ul.white-list li:before {
+   content: ' ';
+   position: relative;
+   top: -3px;
+   display: inline-block;
+   width: 6px;
+   height: 6px;
+   margin-right: 15px;
+   background: white;
+}
+
+header {
+   position: relative;
+   width: 100%;
+   color: #80287a;
+   background: rgba(28, 36, 65, 0.93);
+   background: url('../img/header.jpg');
+   background-size: cover;
+}
+
+header .table {
+   display: table;
+   height: 100%;
+}
+
+header .container {
+   height: 100%;
+}
+
+header .header-text {
+   display: table-cell;
+   text-align: center;
+   vertical-align: middle;
+   color: #80287a;
+}
+
+header .typed {
+   display: inline-block;
+   margin: 0;
+}
+
+header .typed-cursor {
+   font-size: 60px;
+   display: inline-block;
+   margin: 0 10px;
+   color: #80287a;
+   -webkit-animation-name: flash;
+   animation-name: flash;
+   -webkit-animation-duration: 1s;
+   animation-duration: 1s;
+   -webkit-animation-iteration-count: infinite;
+   animation-iteration-count: infinite;
+}
+
+a {
+   text-decoration: none;
+   color: #80287a;
+   -webkit-transition: all 0.3s ease;
+   transition: all 0.3s ease;
+}
+/* Navigation Bar ( Navbar ) */
+
+nav.navbar {
+   position: absolute;
+   z-index: 9500;
+   width: 100%;
+   width: 100vw;
+   -webkit-transition: all 0.3s ease;
+   transition: all 0.3s ease;
+}
+
+nav.navbar .navbar-nav li.active a:not(.btn) {
+   color: #80287a !important;
+}
+
+nav.navbar-fixed-top {
+   z-index: 9499;
+   top: 0;
+   padding-top: 10px;
+   padding-bottom: 10px;
+   opacity: 1;
+   background: white;
+   box-shadow: 0px 4px 3px rgba(0, 0, 0, 0.05);
+}
+
+nav.navbar-fixed-top .navbar-nav > li > a:not(.btn) {
+   color: #bbb;
+}
+
+.icon-bar {
+   background: #bbb;
+}
+/* Buttons */
+
+.btn {
+   font-size: 18px;
+   display: inline-block;
+   padding: 15px 30px;
+   color: #80287a;
+   border: 2px solid transparent;
+   border-radius: 2px;
+   background: transparent;
+   -webkit-transition: all 0.3s ease;
+   transition: all 0.3s ease;
+}
+
+.btn:hover,
+.btn:focus {
+   color: #CE2D34;
+}
+
+.btn.btn-blue {
+   background: #80287a;
+   color: #fff;
+}
+
+.btn.btn-blue:hover {
+   background: #31b9ff;
+}
+
+.btn.btn-blue-fill {
+   color: #80287a;
+   border-color: #80287a;
+   background: transparent;
+}
+
+.btn.btn-blue-fill:hover {
+   color: white;
+   background: #80287a;
+}
+
+.btn.btn-white-fill {
+   color: #fff;
+   border-color: #fff;
+   background: transparent;
+}
+
+.btn.btn-white-fill:hover {
+   color: #80287a;
+ 

[11/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..dd8279e
--- /dev/null
+++ b/src/main/jbake/content/examples/helloworld-weblogic.adoc
@@ -0,0 +1,169 @@
+= 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]
+
+
+
+
+
+==  weblogic-ejb-jar.xml
+
+
+[source,xml]
+
+
+  
+HelloBean
+MyHello
+  
+
+
+
+
+
+
+==  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-1build: 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:

[21/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/js/tree.jquery.js
--
diff --git a/src/main/jbake/assets/js/tree.jquery.js 
b/src/main/jbake/assets/js/tree.jquery.js
new file mode 100755
index 000..71290b1
--- /dev/null
+++ b/src/main/jbake/assets/js/tree.jquery.js
@@ -0,0 +1,3542 @@
+/*
+JqTree 1.3.2
+
+Copyright 2015 Marco Braak
+
+Licensed 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.
+*/
+(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof 
require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var 
f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var 
l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return 
s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof 
require=="function"&&require;for(var o=0;o dimensions.right || y 
> dimensions.bottom) {
+  return null;
+}
+low = 0;
+high = this.hit_areas.length;
+while (low < high) {
+  mid = (low + high) >> 1;
+  area = this.hit_areas[mid];
+  if (y < area.top) {
+high = mid;
+  } else if (y > area.bottom) {
+low = mid + 1;
+  } else {
+return area;
+  }
+}
+return null;
+  };
+
+  DragAndDropHandler.prototype.mustOpenFolderTimer = function(area) {
+var node;
+node = area.node;
+return node.isFolder() && !node.is_open && area.position === 
Position.INSIDE;
+  };
+
+  DragAndDropHandler.prototype.updateDropHint = function() {
+var node_element;
+if (!this.hovered_area) {
+  return;
+}
+this.removeDropHint();
+node_element = 
this.tree_widget._getNodeElementForNode(this.hovered_area.node);
+return this.previous_ghost = 
node_element.addDropHint(this.hovered_area.position);
+  };
+
+  DragAndDropHandler.prototype.startOpenFolderTimer = function(folder) {
+var openFolder;
+openFolder = (function(_this) {
+  return function() {
+return _this.tree_widget._openNode(folder, 
_this.tree_widget.options.slide, function() {
+  _this.refresh();
+  return _this.updateDropHint();
+});
+  };
+})(this);
+this.stopOpenFolderTimer();
+return this.open_folder_timer = setTimeout(openFolder, 
this.tree_widget.options.openFolderDelay);
+  };
+
+  DragAndDropHandler.prototype.stopOpenFolderTimer = function() {
+if (this.open_folder_timer) {
+  clearTimeout(this.open_folder_timer);
+  return this.open_folder_timer = null;
+}
+  };
+
+  DragAndDropHandler.prototype.moveItem = function(position_info) {
+var doMove, event, moved_node, position, previous_parent, target_node;
+if (this.hovered_area && this.hovered_area.position !== Position.NONE && 
this.canMoveToArea(this.hovered_area)) {
+  moved_node = this.current_item.node;
+  target_node = this.hovered_area.node;
+  position = this.hovered_area.position;
+  previous_parent = moved_node.parent;
+  if (position === Position.INSIDE) {
+this.hovered_area.node.is_open = true;
+  }
+  doMove = (function(_this) {
+return function() {
+  _this.tree_widget.tree.moveNode(moved_node, target_node, position);
+  _this.tree_widget.element.empty();
+  return _this.tree_widget._refreshElements();
+};
+  })(this);
+  event = this.tree_widget._triggerEvent('tree.move', {
+move_info: {
+  moved_node: moved_node,
+  target_node: target_node,
+  position: Position.getName(position),
+  previous_parent: previous_parent,
+  do_move: doMove,
+  original_event: position_info.original_event
+}
+  });
+  if (!event.isDefaultPrevented()) {
+return doMove();
+  }
+}
+  };
+
+  DragAndDropHandler.prototype.getTreeDimensions = function() {
+var offset;
+offset = this.tree_widget.element.offset();
+return {
+  left: offset.left,
+  top: offset.top,
+  right: offset.left + this.tree_widget.element.width(),
+  bottom: offset.top + this.tree_widget.element.height() + 16
+};
+  };
+
+  return DragAndDropHandler;
+
+})();
+
+VisibleNodeIterator = (function() {
+  function VisibleNodeIterator(tree) {
+this.tree = tree;
+  }
+
+  VisibleNodeIterator.prototype.iterate = function() {
+var _iterateNode, is_first_node;
+is_first_node = true;
+_iterateNode = (function(_this) 

[09/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..bd2ccd9
--- /dev/null
+++ b/src/main/jbake/content/examples/moviefun.adoc
@@ -0,0 +1,385 @@
+= 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 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]
+
+http://java.sun.com/xml/ns/persistence"; version="1.0">
+
+  
+movieDatabase
+movieDatabaseUnmanaged
+org.superbiz.injection.tx.Movie
+
+
+  
+
+  
+
+
+
+
+==  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;
+
+imp

[17/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..e4f5896
--- /dev/null
+++ b/src/main/jbake/content/developer/tools/maven/tomee.adoc
@@ -0,0 +1,183 @@
+= 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 

[03/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..6b8088d
--- /dev/null
+++ b/src/main/jbake/content/examples/transaction-rollback.adoc
@@ -0,0 +1,584 @@
+= 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 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]
+
+http://java.sun.com/xml/ns/persistence"; version="1.0">
+
+  
+movieDatabase
+movieDatabaseUnmanaged
+org.superbiz.testinjection.MoviesTest.Movie
+
+
+  
+
+  
+
+
+
+
+==  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

[35/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
import from old website


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

Branch: refs/heads/master
Commit: 972cc3567a8009690445f18ffc10ce8b14e962ab
Parents: 
Author: rmannibucau 
Authored: Tue Jul 4 18:32:47 2017 +0200
Committer: rmannibucau 
Committed: Tue Jul 4 18:32:47 2017 +0200

--
 .gitignore  |   15 +
 README.adoc |   70 +
 examples.cache  | 1653 +
 pom.xml |  127 +
 .../org/apache/tomee/website/Contributors.java  |  222 +
 .../org/apache/tomee/website/Downloads.java |  247 +
 .../java/org/apache/tomee/website/Examples.java |  319 +
 .../java/org/apache/tomee/website/JBake.java|  181 +
 .../java/org/apache/tomee/website/PDFify.java   |   76 +
 .../apache/tomee/website/ServiceJarHelper.java  |  192 +
 .../org/slf4j/bridge/SLF4JBridgeHandler.java|7 +
 src/main/jbake/assets/bash  |  147 +
 src/main/jbake/assets/css/animate.css   | 3391 +
 src/main/jbake/assets/css/bootstrap.css | 6782 ++
 src/main/jbake/assets/css/bootstrap.css.map |1 +
 src/main/jbake/assets/css/cardio.css| 1173 +++
 src/main/jbake/assets/css/et-icons.css  | 1159 +++
 src/main/jbake/assets/css/idea.css  |  123 +
 src/main/jbake/assets/css/jqtree.css|  132 +
 src/main/jbake/assets/css/normalize.css |  432 ++
 src/main/jbake/assets/css/owl.css   |  208 +
 src/main/jbake/assets/favicon.ico   |  Bin 0 -> 12322 bytes
 src/main/jbake/assets/favicon.png   |  Bin 0 -> 1983 bytes
 .../assets/fonts/eleganticons/ElegantIcons.eot  |  Bin 0 -> 59572 bytes
 .../assets/fonts/eleganticons/ElegantIcons.svg  | 1832 +
 .../assets/fonts/eleganticons/ElegantIcons.ttf  |  Bin 0 -> 59388 bytes
 .../assets/fonts/eleganticons/ElegantIcons.woff |  Bin 0 -> 63664 bytes
 .../assets/fonts/eleganticons/et-icons.css  | 1159 +++
 .../font-awesome-4.1.0/css/font-awesome.min.css |4 +
 .../font-awesome-4.1.0/fonts/FontAwesome.otf|  Bin 0 -> 85908 bytes
 .../fonts/fontawesome-webfont.eot   |  Bin 0 -> 56006 bytes
 .../fonts/fontawesome-webfont.svg   |  520 ++
 .../fonts/fontawesome-webfont.ttf   |  Bin 0 -> 112160 bytes
 .../fonts/fontawesome-webfont.woff  |  Bin 0 -> 65452 bytes
 src/main/jbake/assets/img/gdamour.jpg   |  Bin 0 -> 6288 bytes
 src/main/jbake/assets/img/genspring.jpg |  Bin 0 -> 5115 bytes
 src/main/jbake/assets/img/header.jpg|  Bin 0 -> 192314 bytes
 src/main/jbake/assets/img/jgenender.jpg |  Bin 0 -> 9440 bytes
 src/main/jbake/assets/img/loader.gif|  Bin 0 -> 20788 bytes
 src/main/jbake/assets/img/logo-active.png   |  Bin 0 -> 1983 bytes
 src/main/jbake/assets/img/logo.png  |  Bin 0 -> 2015 bytes
 src/main/jbake/assets/img/manugeorge.jpg|  Bin 0 -> 7240 bytes
 src/main/jbake/assets/img/mnour.jpg |  Bin 0 -> 23758 bytes
 src/main/jbake/assets/img/noimg.png |  Bin 0 -> 4777 bytes
 src/main/jbake/assets/img/popup.jpg |  Bin 0 -> 71172 bytes
 src/main/jbake/assets/img/pricing1.jpg  |  Bin 0 -> 176192 bytes
 src/main/jbake/assets/img/pricing2.jpg  |  Bin 0 -> 138505 bytes
 src/main/jbake/assets/img/rickmcguire.jpg   |  Bin 0 -> 21599 bytes
 src/main/jbake/assets/img/table-1-hover.jpg |  Bin 0 -> 50138 bytes
 src/main/jbake/assets/img/table-1.jpg   |  Bin 0 -> 39889 bytes
 src/main/jbake/assets/img/table-2-hover.jpg |  Bin 0 -> 19219 bytes
 src/main/jbake/assets/img/table-2.jpg   |  Bin 0 -> 18293 bytes
 src/main/jbake/assets/img/table-3-hover.jpg |  Bin 0 -> 26828 bytes
 src/main/jbake/assets/img/table-3.jpg   |  Bin 0 -> 34756 bytes
 src/main/jbake/assets/img/xuhaihong.jpg |  Bin 0 -> 20528 bytes
 src/main/jbake/assets/js/bootstrap.min.js   |7 +
 src/main/jbake/assets/js/highlight.pack.js  |3 +
 src/main/jbake/assets/js/jquery-1.11.1.min.js   |4 +
 src/main/jbake/assets/js/jquery.onepagenav.js   |  223 +
 src/main/jbake/assets/js/main.js|  178 +
 src/main/jbake/assets/js/owl.carousel.min.js|   47 +
 src/main/jbake/assets/js/tooltip.js |  304 +
 src/main/jbake/assets/js/tree.jquery.js | 3542 +
 .../jbake/assets/js/typeahead.bundle.min.js |8 +
 src/main/jbake/assets/js/typed.js   |  421 ++
 src/main/jbake/assets/js/typewriter.js  |   54 +
 src/main/jbake/asse

[16/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/content/download-ng.adoc
--
diff --git a/src/main/jbake/content/download-ng.adoc 
b/src/main/jbake/content/download-ng.adoc
new file mode 100755
index 000..0610a06
--- /dev/null
+++ b/src/main/jbake/content/download-ng.adoc
@@ -0,0 +1,280 @@
+= Downloads
+:jbake-date: 2015-04-05
+:jbake-type: page
+:jbake-status: published
+:jbake-tomeepdf:
+:icons: font
+
+IMPORTANT: only TomEE 1.x WebProfile and JAX-RS distributions are certified.
+
+[.table.table-bordered,options="header"]
+|===
+|Name|Version|Date|Size|Type|Links
+|Apache TomEE plume|7.0.3|Tue, 07 Mar 2017 21:47:50 GMT|55 MB |tar.gz| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.tar.gz[icon:download[]
 tar.gz] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.tar.gz.sha1[icon:download[]
 sha1] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.tar.gz.md5[icon:download[]
 md5] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.tar.gz.asc[icon:download[]
 asc]
+|Apache TomEE plume|7.0.3|Tue, 07 Mar 2017 21:45:35 GMT|55 MB |zip| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.zip[icon:download[]
 zip] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.zip.sha1[icon:download[]
 sha1] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.zip.md5[icon:download[]
 md5] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plume.zip.asc[icon:download[]
 asc]
+|Apache TomEE plus|7.0.3|Tue, 07 Mar 2017 21:43:39 GMT|48 MB |tar.gz| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.tar.gz[icon:download[]
 tar.gz] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.tar.gz.sha1[icon:download[]
 sha1] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.tar.gz.md5[icon:download[]
 md5] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.tar.gz.asc[icon:download[]
 asc]
+|Apache TomEE plus|7.0.3|Tue, 07 Mar 2017 21:41:45 GMT|48 MB |zip| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.zip[icon:download[]
 zip] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.zip.sha1[icon:download[]
 sha1] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.zip.md5[icon:download[]
 md5] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-plus.zip.asc[icon:download[]
 asc]
+|Apache TomEE webprofile|7.0.3|Tue, 07 Mar 2017 21:40:27 GMT|33 MB |tar.gz| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.tar.gz[icon:download[]
 tar.gz] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.tar.gz.sha1[icon:download[]
 sha1] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.tar.gz.md5[icon:download[]
 md5] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.tar.gz.asc[icon:download[]
 asc]
+|Apache TomEE webprofile|7.0.3|Tue, 07 Mar 2017 21:39:18 GMT|34 MB |zip| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.zip[icon:download[]
 zip] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.zip.sha1[icon:download[]
 sha1] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.zip.md5[icon:download[]
 md5] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.3/apache-tomee-7.0.3-webprofile.zip.asc[icon:download[]
 asc]
+|Apache TomEE plume|7.0.2|Sun, 06 Nov 2016 19:13:59 GMT|55 MB |tar.gz| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.2/apache-tomee-7.0.2-plume.tar.gz[icon:download[]
 tar.gz] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.2/apache-tomee-7.0.2-plume.tar.gz.sha1[icon:download[]
 sha1] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.2/apache-tomee-7.0.2-plume.tar.gz.md5[icon:download[]
 md5] 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.2/apache-tomee-7.0.2-plume.tar.gz.asc[icon:download[]
 asc]
+|Apache TomEE plume|7.0.2|Sun, 06 Nov 2016 19:05:57 GMT|55 MB |zip| 
http://repo.maven.apache.org/maven2/org/apache/tomee/apache-tomee/7.0.2/ap

[19/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..3d86272
--- /dev/null
+++ b/src/main/jbake/content/admin/configuration/containers.adoc
@@ -0,0 +1,585 @@
+= 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]
+
+
+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
+
+
+
+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 reachi

[25/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.ttf
--
diff --git 
a/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.ttf 
b/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.ttf
new file mode 100755
index 000..96a3639
Binary files /dev/null and 
b/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.ttf 
differ

http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.woff
--
diff --git 
a/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.woff 
b/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.woff
new file mode 100755
index 000..628b6a5
Binary files /dev/null and 
b/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.woff 
differ

http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/gdamour.jpg
--
diff --git a/src/main/jbake/assets/img/gdamour.jpg 
b/src/main/jbake/assets/img/gdamour.jpg
new file mode 100644
index 000..148cc7b
Binary files /dev/null and b/src/main/jbake/assets/img/gdamour.jpg differ

http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/genspring.jpg
--
diff --git a/src/main/jbake/assets/img/genspring.jpg 
b/src/main/jbake/assets/img/genspring.jpg
new file mode 100644
index 000..a7bd1db
Binary files /dev/null and b/src/main/jbake/assets/img/genspring.jpg differ

http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/header.jpg
--
diff --git a/src/main/jbake/assets/img/header.jpg 
b/src/main/jbake/assets/img/header.jpg
new file mode 100755
index 000..56da914
Binary files /dev/null and b/src/main/jbake/assets/img/header.jpg differ

http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/jgenender.jpg
--
diff --git a/src/main/jbake/assets/img/jgenender.jpg 
b/src/main/jbake/assets/img/jgenender.jpg
new file mode 100644
index 000..06c40dd
Binary files /dev/null and b/src/main/jbake/assets/img/jgenender.jpg differ

http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/loader.gif
--
diff --git a/src/main/jbake/assets/img/loader.gif 
b/src/main/jbake/assets/img/loader.gif
new file mode 100755
index 000..ab26baa
Binary files /dev/null and b/src/main/jbake/assets/img/loader.gif differ

http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/logo-active.png
--
diff --git a/src/main/jbake/assets/img/logo-active.png 
b/src/main/jbake/assets/img/logo-active.png
new file mode 100755
index 000..2352448
Binary files /dev/null and b/src/main/jbake/assets/img/logo-active.png differ

http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/logo.png
--
diff --git a/src/main/jbake/assets/img/logo.png 
b/src/main/jbake/assets/img/logo.png
new file mode 100755
index 000..05dc2e7
Binary files /dev/null and b/src/main/jbake/assets/img/logo.png differ

http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/manugeorge.jpg
--
diff --git a/src/main/jbake/assets/img/manugeorge.jpg 
b/src/main/jbake/assets/img/manugeorge.jpg
new file mode 100644
index 000..f69f4f7
Binary files /dev/null and b/src/main/jbake/assets/img/manugeorge.jpg differ

http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/mnour.jpg
--
diff --git a/src/main/jbake/assets/img/mnour.jpg 
b/src/main/jbake/assets/img/mnour.jpg
new file mode 100644
index 000..e797b8b
Binary files /dev/null and b/src/main/jbake/assets/img/mnour.jpg differ

http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/img/noimg.png
--
diff --git a/src/main/jbake/assets/img/noimg.png 
b/src/main/jbake/assets/

[23/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/js/jquery-1.11.1.min.js
--
diff --git a/src/main/jbake/assets/js/jquery-1.11.1.min.js 
b/src/main/jbake/assets/js/jquery-1.11.1.min.js
new file mode 100755
index 000..d1608e3
--- /dev/null
+++ b/src/main/jbake/assets/js/jquery-1.11.1.min.js
@@ -0,0 +1,4 @@
+/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | 
jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof 
module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw
 new Error("jQuery requires a window with a document");return 
b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var 
c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return
 new 
m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return
 
b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return
 d.call(this)},get:function(a){return 
null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var 
b=m.merge(this.constructor(),a);return 
b.prevObject=this,b.context=this.context,b},each:function(a,b){return 
m.each(this,a,b)},map:function(a){return 
this.pushStack(m.map(this,function(b,c){return 
a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,argumen
 ts))},first:function(){return this.eq(0)},last:function(){return 
this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return 
this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return 
this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var
 
a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof
 g&&(j=g,g=arguments[h]||{},h++),"object"==typeof 
g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d
 in 
e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void
 0!==c&&(g[d]=c));return 
g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw
 new 
Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return
 null!=a&&a=
 
=a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var
 b;for(b in a)return!1;return!0},isPlainObject:function(a){var 
b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b
 in a)return j.call(a,b);for(b in a);return void 
0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof 
a||"function"==typeof a?h[i.call(a)]||"object":typeof 
a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return
 a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return 
a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var
 
d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else
 for(e in a)if(d=b.apply(a[e],c),d===!1)break}else 
if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d
 ===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return 
a},trim:function(a){return 
null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return 
null!=a&&(r(Object(a))?m.merge(c,"string"==typeof 
a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return 
g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in 
b&&b[c]===a)return c}return-1},merge:function(a,b){var 
c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 
0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var 
d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return 
e},map:function(a,b,c){var 
d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else
 for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return 
e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof 
b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return 
a.apply(b||this,c.concat(d.call(ar
 guments)))},e.guid=a.guid=a.guid||m.guid++,e):void 
0},now:function(){return+new Date},support:k}),m.each("Boolean Number String 
Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object 
"+b+"]"]=b.toLowerCase()});function r(a){var 
b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof
 b&&b>0&&b-1 in a}var s=function(a){var 
b,c,d,e,f,g,h

[10/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..77141dd
--- /dev/null
+++ b/src/main/jbake/content/examples/javamail.adoc
@@ -0,0 +1,201 @@
+= 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("gene...@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 cr

[12/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..8b7a76e
--- /dev/null
+++ b/src/main/jbake/content/examples/dynamic-datasource-routing.adoc
@@ -0,0 +1,473 @@
+= 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 dataSources = null;
+private ThreadLocal currentDataSource = new 
ThreadLocal();
+
+/**
+ * @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();
+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);
+currentDataSourc

[15/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..345b7c3
--- /dev/null
+++ b/src/main/jbake/content/examples/access-timeout-meta.adoc
@@ -0,0 +1,291 @@
+= @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 The "root" Meta-Annotation
+
+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
+
+No

[05/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..cc2b7d8
--- /dev/null
+++ b/src/main/jbake/content/examples/simple-stateful.adoc
@@ -0,0 +1,160 @@
+= 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
+ * 
+ * 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-1build: 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
+INF

[14/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..2f5e99d
--- /dev/null
+++ b/src/main/jbake/content/examples/cdi-alternative-and-stereotypes.adoc
@@ -0,0 +1,138 @@
+= 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`:
+
+
+  org.superbiz.cdi.stereotype.Mock
+
+
+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

[22/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/js/jquery.onepagenav.js
--
diff --git a/src/main/jbake/assets/js/jquery.onepagenav.js 
b/src/main/jbake/assets/js/jquery.onepagenav.js
new file mode 100755
index 000..8668b46
--- /dev/null
+++ b/src/main/jbake/assets/js/jquery.onepagenav.js
@@ -0,0 +1,223 @@
+/*
+ * jQuery One Page Nav Plugin
+ * http://github.com/davist11/jQuery-One-Page-Nav
+ *
+ * Copyright (c) 2010 Trevor Davis (http://trevordavis.net)
+ * Dual licensed under the MIT and GPL licenses.
+ * Uses the same license as jQuery, see:
+ * http://jquery.org/license
+ *
+ * @version 3.0.0
+ *
+ * Example usage:
+ * $('#nav').onePageNav({
+ *   currentClass: 'current',
+ *   changeHash: false,
+ *   scrollSpeed: 750
+ * });
+ */
+
+;(function($, window, document, undefined){
+
+   // our plugin constructor
+   var OnePageNav = function(elem, options){
+   this.elem = elem;
+   this.$elem = $(elem);
+   this.options = options;
+   this.metadata = this.$elem.data('plugin-options');
+   this.$win = $(window);
+   this.sections = {};
+   this.didScroll = false;
+   this.$doc = $(document);
+   this.docHeight = this.$doc.height();
+   };
+
+   // the plugin prototype
+   OnePageNav.prototype = {
+   defaults: {
+   navItems: 'a',
+   currentClass: 'current',
+   changeHash: false,
+   easing: 'swing',
+   filter: '',
+   scrollSpeed: 750,
+   scrollThreshold: 0.5,
+   begin: false,
+   end: false,
+   scrollChange: false
+   },
+
+   init: function() {
+   // Introduce defaults that can be extended either
+   // globally or using an object literal.
+   this.config = $.extend({}, this.defaults, this.options, 
this.metadata);
+
+   this.$nav = this.$elem.find(this.config.navItems);
+
+   //Filter any links out of the nav
+   if(this.config.filter !== '') {
+   this.$nav = 
this.$nav.filter(this.config.filter);
+   }
+
+   //Handle clicks on the nav
+   this.$nav.on('click.onePageNav', 
$.proxy(this.handleClick, this));
+
+   //Get the section positions
+   this.getPositions();
+
+   //Handle scroll changes
+   this.bindInterval();
+
+   //Update the positions on resize too
+   this.$win.on('resize.onePageNav', 
$.proxy(this.getPositions, this));
+
+   return this;
+   },
+
+   adjustNav: function(self, $parent) {
+   self.$elem.find('.' + 
self.config.currentClass).removeClass(self.config.currentClass);
+   $parent.addClass(self.config.currentClass);
+   },
+
+   bindInterval: function() {
+   var self = this;
+   var docHeight;
+
+   self.$win.on('scroll.onePageNav', function() {
+   self.didScroll = true;
+   });
+
+   self.t = setInterval(function() {
+   docHeight = self.$doc.height();
+
+   //If it was scrolled
+   if(self.didScroll) {
+   self.didScroll = false;
+   self.scrollChange();
+   }
+
+   //If the document height changes
+   if(docHeight !== self.docHeight) {
+   self.docHeight = docHeight;
+   self.getPositions();
+   }
+   }, 250);
+   },
+
+   getHash: function($link) {
+   return $link.attr('href').split('#')[1];
+   },
+
+   getPositions: function() {
+   var self = this;
+   var linkHref;
+   var topPos;
+   var $target;
+
+   self.$nav.each(function() {
+   linkHref = self.getHash($(this));
+   $target = $('#' + linkHref);
+
+   if($target.length) {
+   topPos = $target.offset().top;
+   

[27/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.woff
--
diff --git a/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.woff 
b/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.woff
new file mode 100755
index 000..3933052
Binary files /dev/null and 
b/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.woff differ

http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/fonts/eleganticons/et-icons.css
--
diff --git a/src/main/jbake/assets/fonts/eleganticons/et-icons.css 
b/src/main/jbake/assets/fonts/eleganticons/et-icons.css
new file mode 100755
index 000..26f2053
--- /dev/null
+++ b/src/main/jbake/assets/fonts/eleganticons/et-icons.css
@@ -0,0 +1,1159 @@
+@font-face {
+   font-family: 'ElegantIcons';
+   src:url('ElegantIcons.eot');
+   src:url('ElegantIcons.eot?#iefix') format('embedded-opentype'),
+   url('ElegantIcons.woff') format('woff'),
+   url('ElegantIcons.ttf') format('truetype'),
+   url('ElegantIcons.svg#ElegantIcons') format('svg');
+   font-weight: normal;
+   font-style: normal;
+}
+
+/* Use the following CSS code if you want to use data attributes for inserting 
your icons */
+[data-icon]:before {
+   font-family: 'ElegantIcons';
+   content: attr(data-icon);
+   speak: none;
+   font-weight: normal;
+   font-variant: normal;
+   text-transform: none;
+   line-height: 1;
+   -webkit-font-smoothing: antialiased;
+   -moz-osx-font-smoothing: grayscale;
+}
+
+/* Use the following CSS code if you want to have a class per icon */
+/*
+Instead of a list of all class selectors,
+you can use the generic selector below, but it's slower:
+[class*="your-class-prefix"] {
+*/
+.arrow_up, .arrow_down, .arrow_left, .arrow_right, .arrow_left-up, 
.arrow_right-up, .arrow_right-down, .arrow_left-down, .arrow-up-down, 
.arrow_up-down_alt, .arrow_left-right_alt, .arrow_left-right, 
.arrow_expand_alt2, .arrow_expand_alt, .arrow_condense, .arrow_expand, 
.arrow_move, .arrow_carrot-up, .arrow_carrot-down, .arrow_carrot-left, 
.arrow_carrot-right, .arrow_carrot-2up, .arrow_carrot-2down, 
.arrow_carrot-2left, .arrow_carrot-2right, .arrow_carrot-up_alt2, 
.arrow_carrot-down_alt2, .arrow_carrot-left_alt2, .arrow_carrot-right_alt2, 
.arrow_carrot-2up_alt2, .arrow_carrot-2down_alt2, .arrow_carrot-2left_alt2, 
.arrow_carrot-2right_alt2, .arrow_triangle-up, .arrow_triangle-down, 
.arrow_triangle-left, .arrow_triangle-right, .arrow_triangle-up_alt2, 
.arrow_triangle-down_alt2, .arrow_triangle-left_alt2, 
.arrow_triangle-right_alt2, .arrow_back, .icon_minus-06, .icon_plus, 
.icon_close, .icon_check, .icon_minus_alt2, .icon_plus_alt2, .icon_close_alt2, 
.icon_check_alt2, .icon_zoom-out_alt
 , .icon_zoom-in_alt, .icon_search, .icon_box-empty, .icon_box-selected, 
.icon_minus-box, .icon_plus-box, .icon_box-checked, .icon_circle-empty, 
.icon_circle-slelected, .icon_stop_alt2, .icon_stop, .icon_pause_alt2, 
.icon_pause, .icon_menu, .icon_menu-square_alt2, .icon_menu-circle_alt2, 
.icon_ul, .icon_ol, .icon_adjust-horiz, .icon_adjust-vert, .icon_document_alt, 
.icon_documents_alt, .icon_pencil, .icon_pencil-edit_alt, .icon_pencil-edit, 
.icon_folder-alt, .icon_folder-open_alt, .icon_folder-add_alt, .icon_info_alt, 
.icon_error-oct_alt, .icon_error-circle_alt, .icon_error-triangle_alt, 
.icon_question_alt2, .icon_question, .icon_comment_alt, .icon_chat_alt, 
.icon_vol-mute_alt, .icon_volume-low_alt, .icon_volume-high_alt, 
.icon_quotations, .icon_quotations_alt2, .icon_clock_alt, .icon_lock_alt, 
.icon_lock-open_alt, .icon_key_alt, .icon_cloud_alt, .icon_cloud-upload_alt, 
.icon_cloud-download_alt, .icon_image, .icon_images, .icon_lightbulb_alt, 
.icon_gift_alt, .icon_house_alt, .icon_ge
 nius, .icon_mobile, .icon_tablet, .icon_laptop, .icon_desktop, 
.icon_camera_alt, .icon_mail_alt, .icon_cone_alt, .icon_ribbon_alt, 
.icon_bag_alt, .icon_creditcard, .icon_cart_alt, .icon_paperclip, 
.icon_tag_alt, .icon_tags_alt, .icon_trash_alt, .icon_cursor_alt, 
.icon_mic_alt, .icon_compass_alt, .icon_pin_alt, .icon_pushpin_alt, 
.icon_map_alt, .icon_drawer_alt, .icon_toolbox_alt, .icon_book_alt, 
.icon_calendar, .icon_film, .icon_table, .icon_contacts_alt, .icon_headphones, 
.icon_lifesaver, .icon_piechart, .icon_refresh, .icon_link_alt, .icon_link, 
.icon_loading, .icon_blocked, .icon_archive_alt, .icon_heart_alt, 
.icon_star_alt, .icon_star-half_alt, .icon_star, .icon_star-half, .icon_tools, 
.icon_tool, .icon_cog, .icon_cogs, .arrow_up_alt, .arrow_down_alt, 
.arrow_left_alt, .arrow_right_alt, .arrow_left-up_alt, .arrow_right-up_alt, 
.arrow_right-down_alt, .arrow_left-down_alt, .arrow_condense_alt, 
.arrow_expand_alt3, .arrow_carrot_up_alt, .arrow_carrot-down_alt, 

[26/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.svg
--
diff --git 
a/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.svg 
b/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.svg
new file mode 100755
index 000..d907b25
--- /dev/null
+++ 
b/src/main/jbake/assets/fonts/font-awesome-4.1.0/fonts/fontawesome-webfont.svg
@@ -0,0 +1,520 @@
+
+http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"; >
+http://www.w3.org/2000/svg";>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

[28/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.svg
--
diff --git a/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.svg 
b/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.svg
new file mode 100755
index 000..93538d7
--- /dev/null
+++ b/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.svg
@@ -0,0 +1,1832 @@
+
+http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"; >
+http://www.w3.org/2000/svg";>
+
+This is a custom SVG font generated by IcoMoon.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.ttf
--
diff --git a/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.ttf 
b/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.ttf
new file mode 100755
index 000..12ff680
Binary files /dev/null and 
b/src/main/jbake/assets/fonts/eleganticons/ElegantIcons.ttf differ



[34/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/examples.cache
--
diff --git a/examples.cache b/examples.cache
new file mode 100755
index 000..ba5ccce
--- /dev/null
+++ b/examples.cache
@@ -0,0 +1,1653 @@
+{
+  "all":{
+"adapters":[
+  {
+"name":"multiple-arquillian-adapters",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/multiple-arquillian-adapters";
+  }
+],
+"alternate":[
+  {
+"name":"alternate-descriptors",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/alternate-descriptors";
+  }
+],
+"alternative":[
+  {
+"name":"cdi-alternative-and-stereotypes",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/cdi-alternative-and-stereotypes";
+  }
+],
+"applet":[
+  {
+"name":"applet",
+"readme":"No README.md yet, be the first to contribute one!",
+"url":"https://github.com/apache/tomee/tree/master/examples/applet";
+  }
+],
+"applicationcomposer":[
+  {
+"name":"applicationcomposer-jaxws-cdi",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/applicationcomposer-jaxws-cdi";
+  },
+  {
+"name":"rest-applicationcomposer",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/rest-applicationcomposer";
+  },
+  {
+"name":"application-composer",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/application-composer";
+  },
+  {
+"name":"rest-applicationcomposer-mockito",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/rest-applicationcomposer-mockito";
+  }
+],
+"applicationexception":[
+  {
+"name":"applicationexception",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/applicationexception";
+  }
+],
+"arquillian":[
+  {
+"name":"arquillian-jpa",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/arquillian-jpa";
+  },
+  {
+"name":"multiple-tomee-arquillian",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/multiple-tomee-arquillian";
+  },
+  {
+"name":"multiple-arquillian-adapters",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/multiple-arquillian-adapters";
+  }
+],
+"async":[
+  {
+"name":"async-postconstruct",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/async-postconstruct";
+  },
+  {
+"name":"async-methods",
+"readme":"No README.md yet, be the first to contribute one!",
+
"url":"https://github.com/apache/tomee/tree/master/examples/async-methods";
+  }
+],
+"attachments":[
+  {
+"name":"webservice-attachments",
+"readme":"Title: Webservice Attachments\n\n*Help us document this 
example! Click the blue pencil icon in the upper right to edit this 
page.*\n\n## AttachmentImpl\n\npackage org.superbiz.attachment;\n\n
import javax.activation.DataHandler;\nimport javax.activation.DataSource;\n 
   import javax.ejb.Stateless;\nimport javax.jws.WebService;\nimport 
javax.xml.ws.BindingType;\nimport javax.xml.ws.soap.SOAPBinding;\n
import java.io.IOException;\nimport java.io.InputStream;\n\n/**\n   
  * This is an EJB 3 style pojo stateless session bean\n * Every stateless 
session bean implementation must be annotated\n * using the annotation 
@Stateless\n * This EJB has a single interface: {@link AttachmentWs} a 
webservice interface.\n */\n@Stateless\n@WebService(\n
portName = \"AttachmentPort\",\nserviceName = 
\"AttachmentWsService\",\ntargetNamespace = 
\"http://superbiz.org/wsdl\",\ne
 ndpointInterface = \"org.superbiz.attachment.AttachmentWs\")\n
@BindingType(value = SOAPBinding.SOAP12HTTP_MTOM_BINDING)\npublic class 
AttachmentImpl implements AttachmentWs {\n

[24/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/js/highlight.pack.js
--
diff --git a/src/main/jbake/assets/js/highlight.pack.js 
b/src/main/jbake/assets/js/highlight.pack.js
new file mode 100755
index 000..6797e89
--- /dev/null
+++ b/src/main/jbake/assets/js/highlight.pack.js
@@ -0,0 +1,3 @@
+/*! highlight.js v9.2.0 | BSD3 License | git.io/hljslicense */
+!function(e){var t="object"==typeof window&&window||"object"==typeof 
self&&self;"undefined"!=typeof 
exports?e(exports):t&&(t.hljs=e({}),"function"==typeof 
define&&define.amd&&define([],function(){return t.hljs}))}(function(e){function 
t(e){return 
e.replace(/&/gm,"&").replace(//gm,">")}function 
r(e){return e.nodeName.toLowerCase()}function a(e,t){var r=e&&e.exec(t);return 
r&&0==r.index}function 
n(e){return/^(no-?highlight|plain|text)$/i.test(e)}function i(e){var 
t,r,a,i=e.className+" 
";if(i+=e.parentNode?e.parentNode.className:"",r=/\blang(?:uage)?-([\w-]+)\b/i.exec(i))return
 
y(r[1])?r[1]:"no-highlight";for(i=i.split(/\s+/),t=0,a=i.length;a>t;t++)if(y(i[t])||n(i[t]))return
 i[t]}function s(e,t){var r,a={};for(r in e)a[r]=e[r];if(t)for(r in 
t)a[r]=t[r];return a}function c(e){var t=[];return function a(e,n){for(var 
i=e.firstChild;i;i=i.nextSibling)3==i.nodeType?n+=i.nodeValue.length:1==i.nodeType&&(t.push({event:"start",offset:n,node:i}),n=a(i,n),r(i).match
 (/br|hr|img|input/)||t.push({event:"stop",offset:n,node:i}));return 
n}(e,0),t}function o(e,a,n){function i(){return 
e.length&&a.length?e[0].offset!=a[0].offset?e[0].offset"}function
 c(e){u+=""}function o(e){("start"==e.event?s:c)(e.node)}for(var 
l=0,u="",d=[];e.length||a.length;){var 
b=i();if(u+=t(n.substr(l,b[0].offset-l)),l=b[0].offset,b==e){d.reverse().forEach(c);do
 
o(b.splice(0,1)[0]),b=i();while(b==e&&b.length&&b[0].offset==l);d.reverse().forEach(s)}else"start"==b[0].event?d.push(b[0].node):d.pop(),o(b.splice(0,1)[0])}return
 u+t(n.substr(l))}function l(e){function t(e){return e&&e.source||e}function 
r(r,a){return new RegExp(t(r),"m"+(e.cI?"i":"")+(a?"g":""))}function 
a(n,i){if(!n.compiled){if(n.compiled=!0,n.k=n.k||n.bK,n.k){var 
c={},o=function(t,r){e.cI&&(r=r.toLowerCase()),r.split(
 " ").forEach(function(e){var 
r=e.split("|");c[r[0]]=[t,r[1]?Number(r[1]):1]})};"string"==typeof 
n.k?o("keyword",n.k):Object.keys(n.k).forEach(function(e){o(e,n.k[e])}),n.k=c}n.lR=r(n.l||/\b\w+\b/,!0),i&&(n.bK&&(n.b="\\b("+n.bK.split("
 
").join("|")+")\\b"),n.b||(n.b=/\B|\b/),n.bR=r(n.b),n.e||n.eW||(n.e=/\B|\b/),n.e&&(n.eR=r(n.e)),n.tE=t(n.e)||"",n.eW&&i.tE&&(n.tE+=(n.e?"|":"")+i.tE)),n.i&&(n.iR=r(n.i)),void
 0===n.r&&(n.r=1),n.c||(n.c=[]);var 
l=[];n.c.forEach(function(e){e.v?e.v.forEach(function(t){l.push(s(e,t))}):l.push("self"==e?n:e)}),n.c=l,n.c.forEach(function(e){a(e,n)}),n.starts&&a(n.starts,i);var
 u=n.c.map(function(e){return 
e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([n.tE,n.i]).map(t).filter(Boolean);n.t=u.length?r(u.join("|"),!0):{exec:function(){return
 nulla(e)}function u(e,r,n,i){function s(e,t){for(var 
r=0;r";return 
i+=e+'">',i+t+s}function m(){if(!x.k)return t(E);var 
e="",r=0;x.lR.lastIndex=0;for(var 
a=x.lR.exec(E);a;){e+=t(E.substr(r,a.index-r));var 
n=b(x,a);n?(B+=n[1],e+=p(n[0],t(a[0]))):e+=t(a[0]),r=x.lR.lastIndex,a=x.lR.exec(E)}return
 e+t(E.substr(r))}function f(){var e="string"==typeof 
x.sL;if(e&&!N[x.sL])return t(E);var 
r=e?u(x.sL,E,!0,C[x.sL]):d(E,x.sL.length?x.sL:void 0);return 
x.r>0&&(B+=r.r),e&&(C[x.sL]=r.top),p(r.language,r.value,!1,!0)}function 
g(){M+=void 0!==x.sL?f():m(),E=""}function 
h(e,t){M+=e.cN?p(e.cN,"",!0):"",x=Object.create(e,{parent:{value:x}})}function 
_(e,t){if(E+=e,void 0===t)return g(),0;var r=s(t,x);if(r)return 
r.skip?E+=t:(r.eB&&(E+=t),g(),r.rB||r.eB||(E=t)),h(r,t),r.rB?0:t.length;var 
a=c(x,t);if(a){var n=x;n.skip?E+=t:(n.rE||n.eE||(E+=t),g(),n.eE&&(E=t));do x.cN&
 &(M+=""),x.skip||(B+=x.r),x=x.parent;while(x!=a.parent);return 
a.starts&&h(a.starts,""),n.rE?0:t.length}if(o(t,x))throw new Error('Illegal 
lexeme "'+t+'" for mode "'+(x.cN||"")+'"');return E+=t,t.length||1}var 
v=y(e);if(!v)throw new Error('Unknown language: "'+e+'"');l(v);var 
k,x=i||v,C={},M="";for(k=x;k!=v;k=k.parent)k.cN&&(M=p(k.cN,"",!0)+M);var 
E="",B=0;try{for(var 
$,z,L=0;;){if(x.t.lastIndex=L,$=x.t.exec(r),!$)break;z=_(r.substr(L,$.index-L),$[0]),L=$.index+z}for(_(r.substr(L)),k=x;k.parent;k=k.parent)k.cN&&(M+="");return{r:B,value:M,language:e,top:x}}catch(R){if(-1!=R.message.indexOf("Illegal"))return{r:0,value:t(r)};throw
 R}}function d(e,r){r=r||w.languages||Object.keys(N);var 
a={r:0,value:t(e)},n=a;return r.forEach(function(t){if(y(t)){var 
r=u(t,e,!1);r.language=t,r.r>n.r&&(n=r),r.r>a.r&&(n=a,a=r)}}),n.language&&(a.second_best=n),a}function
 b(e){return 
w.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,t){return 
t.replace(/\t/g,w.tabReplace)})),
 w.useBR&&(e=e.replace(/\n/g,"")),e}function p(e,t,r){var 
a=t?k[t]:r,n=[e

[08/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..99f35b6
--- /dev/null
+++ b/src/main/jbake/content/examples/resources-jmx-example.adoc
@@ -0,0 +1,746 @@
+= 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 MalformedObjectNameE

[01/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
Repository: tomee-tomee-site-generator
Updated Branches:
  refs/heads/master [created] 972cc3567


http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/templates/footer.gsp
--
diff --git a/src/main/jbake/templates/footer.gsp 
b/src/main/jbake/templates/footer.gsp
new file mode 100755
index 000..2c24dc9
--- /dev/null
+++ b/src/main/jbake/templates/footer.gsp
@@ -0,0 +1,80 @@
+
+   
+   
+   
+   Apache TomEE the 
little great server.
+   "A good application in a good server"
+   
+   https://fr-fr.facebook.com/ApacheTomEE/";>
+   https://twitter.com/apachetomee";>
+   https://plus.google.com/communities/105208241852045684449";>
+   
+   
+   
+   
+   
+   Administration
+   
+   Cluster
+   Configuration
+   
+   
+   
+   Developer
+   
+   Classloading
+   IDE
+   Testing
+   Tools
+   
+   
+   
+   Advanced
+   
+   Application Composer
+   Setup
+   Shading
+   TomEE 
Embedded
+   
+   
+   
+   Community
+   
+   Contributors
+   Social
+   Sources
+   
+   
+   
+   
+   
+   
+   
+   Copyright © 1999-2016 The 
Apache Software Foundation, Licensed under the Apache License, Version 2.0. 
Apache TomEE, TomEE, Apache, the Apache feather logo, and the Apache TomEE 
project logo are trademarks of The Apache Software Foundation. All other marks 
mentioned may be trademarks or registered trademarks of their respective 
owners.
+   
+   
+   
+   
+   
+   
+
+  Administrators
+  Developers
+  Advanced
+  Community
+
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+
+

http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/templates/header.gsp
--
diff --git a/src/main/jbake/templates/header.gsp 
b/src/main/jbake/templates/header.gsp
new file mode 100755
index 000..649d759
--- /dev/null
+++ b/src/main/jbake/templates/header.gsp
@@ -0,0 +1,45 @@
+
+
+
+
+   
+   
+   
+   Apache TomEE
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+   
+
+   
+
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-2717626-1']);
+  _gaq.push(['_setDomainName', 'apache.org']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+var ga = document.createEleme

[06/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..f29d9be
--- /dev/null
+++ b/src/main/jbake/content/examples/simple-cdi-interceptor.adoc
@@ -0,0 +1,127 @@
+= 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 getMoviesList() {
+List moviesAvailable = new ArrayList();
+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]
+
+
+  
+org.superbiz.cdi.bookshow.interceptors.LoggingInterceptor
+
+  
+
+
+
+
+ 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-2build: 2003-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/fth

[07/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/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
new file mode 100755
index 000..c62eecb
--- /dev/null
+++ b/src/main/jbake/content/examples/rest-example.adoc
@@ -0,0 +1,641 @@
+= 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 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 create(E e) {
+em.persist(e);
+return e;
+}
+
+public  E update(E e) {
+return em.merge(e);
+}
+
+public  void delete(Class clazz, long id) {
+em.remove(em.find(clazz, id));
+}
+
+public  E find(Class clazz, long id) {
+return em.find(clazz, id);
+}
+
+public  List find(Class clazz, String query, int min, int max) {
+return queryRange(em.createQuery(query, clazz), min, 
max).getResultList();
+}
+
+public  List namedFind(Class 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 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) {
+   

[30/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/css/bootstrap.css.map
--
diff --git a/src/main/jbake/assets/css/bootstrap.css.map 
b/src/main/jbake/assets/css/bootstrap.css.map
new file mode 100755
index 000..f944af4
--- /dev/null
+++ b/src/main/jbake/assets/css/bootstrap.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["bootstrap.css","less/normalize.less","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labe
 
ls.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"GAIG;AACH,4EAA4E;ACG5E;EACE,wBAAA;EACA,2BAAA;EACA,+BAAA;CDDD;ACQD;EACE,UAAA;CDND;ACmBD;EAaE,eAAA;CDjBD;ACyBDEAIE,sBAAA;EACA,yBAAA;CDvBD;AC+BD;EACE,cAAA;EACA,UAAA;CD7BD;ACqCD;;EAEE,cAAA;CDnCD;AC6CD;EACE,8BAAA;CD3CD;ACmDD;;EAEE,WAAA;CDjDD;AC2DD;EACE,0BAAA;CDzDD;ACg
 
ED;;EAEE,kBAAA;CD9DD;ACqED;EACE,mBAAA;CDnED;AC2ED;EACE,eAAA;EACA,iBAAA;CDzED;ACgFD;EACE,iBAAA;EACA,YAAA;CD9ED;ACqFD;EACE,eAAA;CDnFD;AC0FD;;EAEE,eAAA;EACA,eAAA;EACA,mBAAA;EACA,yBAAA;CDxFD;AC2FD;EACE,YAAA;CDzFD;AC4FD;EACE,gBAAA;CD1FD;ACoGD;EACE,UAAA;CDlGD;ACyGD;EACE,iBAAA;CDvGD;ACiHD;EACE,iBAAA;CD/GD;ACsHD;EACE,gCAAA;KAAA,6BAAA;UAAA,wBAAA;EACA,UAAA;CDpHD;AC2HD;EACE,eAAA;CDzHD;ACgIDEAIE,kCAAA;EACA,eAAA;CD9HD;ACgJD;EAKE,eAAA;EACA,cAAA;EACA,UAAA;CD9ID;ACqJD;EACE,kBAAA;CDnJD;AC6JD;;EAEE,qBAAA;CD3JD;ACsKDEAIE,2BAAA;EACA,gBAAA;CDpKD;AC2KD;;EAEE,gBAAA;CDzKD;ACgLD;;EAEE,UAAA;EACA,WAAA;CD9KD;ACsLD;EACE,oBAAA;CDpLD;AC+LD;;EAEE,+BAAA;KAAA,4BAAA;UAAA,uBAAA;EACA,WAAA;CD7LD;ACsMD;;EAEE,aAAA;CDpMD;AC4MD;EACE,8BAAA;EACA,gCAAA;KAAA,6BAAA;UAAA,wBAAA;CD1MD;ACmND;;EAEE,yBAAA;CDjND;ACwND;EACE,0BAAA;EACA,cAAA;EACA,+BAAA;CDtND;AC8ND;EACE,UAAA;EACA,WAAA;CD5ND;ACmOD;EACE,eAAA;CDjOD;ACyOD;EACE,kBAAA;CDvOD;ACiPD;EACE,0BAAA;EACA,kBAAA;CD/OD;ACkPD;;EAEE,WAAA;CDhPD;AACD,qFAAqF;AElFrF;EA7FI;;;IAGI,mCAAA
 
;IACA,uBAAA;IACA,oCAAA;YAAA,4BAAA;IACA,6BAAA;GFkLL;EE/KC;;IAEI,2BAAA;GFiLL;EE9KC;IACI,6BAAA;GFgLL;EE7KC;IACI,8BAAA;GF+KL;EE1KC;;IAEI,YAAA;GF4KL;EEzKC;;IAEI,uBAAA;IACA,yBAAA;GF2KL;EExKC;IACI,4BAAA;GF0KL;EEvKC;;IAEI,yBAAA;GFyKL;EEtKC;IACI,2BAAA;GFwKL;EErKC;;;IAGI,WAAA;IACA,UAAA;GFuKL;EEpKC;;IAEI,wBAAA;GFsKL;EEhKC;IACI,cAAA;GFkKL;EEhKC;;IAGQ,kCAAA;GFiKT;EE9JC;IACI,uBAAA;GFgKL;EE7JC;IACI,qCAAA;GF+JL;EEhKC;;IAKQ,kCAAA;GF+JT;EE5JC;;IAGQ,kCAAA;GF6JT;CACF;AGnPD;EACE,oCAAA;EACA,sDAAA;EACA,gYAAA;CHqPD;AG7OD;EACE,mBAAA;EACA,SAAA;EACA,sBAAA;EACA,oCAAA;EACA,mBAAA;EACA,oBAAA;EACA,eAAA;EACA,oCAAA;EACA,mCAAA;CH+OD;AG3OmC;EAAW,eAAA;CH8O9C;AG7OmC;EAAW,eAAA;CHgP9C;AG9OmC;;EAAW,iBAAA;CHkP9C;AGjPmC;EAAW,iBAAA;CHoP9C;AGnPmC;EAAW,iBAAA;CHsP9C;AGrPmC;EAAW,iBAAA;CHwP9C;AGvPmC;EAAW,iBAAA;CH0P9C;AGzPmC;EAAW,iBAAA;CH4P9C;AG3PmC;EAAW,iBAAA;CH8P9C;AG7PmC;EAAW,iBAAA;CHgQ9C;AG/PmC;EAAW,iBAAA;CHkQ9C;AGjQmC;EAAW,iBAAA;CHoQ9C;AGnQmC;EAAW,iBAAA;CHsQ9C;AGrQmC;EAAW,iBAAA;CHwQ9C;AGvQmC;EAAW,iBAAA;CH0Q9C;AGzQmC;EAAW,iBAAA
 
;CH4Q9C;AG3QmC;EAAW,iBAAA;CH8Q9C;AG7QmC;EAAW,iBAAA;CHgR9C;AG/QmC;EAAW,iBAAA;CHkR9C;AGjRmC;EAAW,iBAAA;CHoR9C;AGnRmC;EAAW,iBAAA;CHsR9C;AGrRmC;EAAW,iBAAA;CHwR9C;AGvRmC;EAAW,iBAAA;CH0R9C;AGzRmC;EAAW,iBAAA;CH4R9C;AG3RmC;EAAW,iBAAA;CH8R9C;AG7RmC;EAAW,iBAAA;CHgS9C;AG/RmC;EAAW,iBAAA;CHkS9C;AGjSmC;EAAW,iBAAA;CHoS9C;AGnSmC;EAAW,iBAAA;CHsS9C;AGrSmC;EAAW,iBAAA;CHwS9C;AGvSmC;EAAW,iBAAA;CH0S9C;AGzSmC;EAAW,iBAAA;CH4S9C;AG3SmC;EAAW,iBAAA;CH8S9C;AG7SmC;EAAW,iBAAA;CHgT9C;AG/SmC;EAAW,iBAAA;CHkT9C;AGjTmC;EAAW,iBAAA;CHoT9C;AGnTmC;EAAW,iBAAA;CHsT9C;AGrTmC;EAAW,iBAAA;CHwT9C;AGvTmC;EAAW,iBAAA;C

[31/35] tomee-tomee-site-generator git commit: import from old website

2017-07-04 Thread rmannibucau
http://git-wip-us.apache.org/repos/asf/tomee-tomee-site-generator/blob/972cc356/src/main/jbake/assets/css/bootstrap.css
--
diff --git a/src/main/jbake/assets/css/bootstrap.css 
b/src/main/jbake/assets/css/bootstrap.css
new file mode 100755
index 000..9910c44
--- /dev/null
+++ b/src/main/jbake/assets/css/bootstrap.css
@@ -0,0 +1,6782 @@
+/*!
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+html {
+  font-family: sans-serif;
+  -webkit-text-size-adjust: 100%;
+  -ms-text-size-adjust: 100%;
+}
+body {
+  margin: 0;
+  color: #33;
+}
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+  display: block;
+}
+audio,
+canvas,
+progress,
+video {
+  display: inline-block;
+  vertical-align: baseline;
+}
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+[hidden],
+template {
+  display: none;
+}
+a {
+  background-color: transparent;
+}
+a:active,
+a:hover {
+  outline: 0;
+}
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+b,
+strong {
+  font-weight: bold;
+}
+dfn {
+  font-style: italic;
+}
+h1 {
+  margin: .67em 0;
+  font-size: 2em;
+}
+mark {
+  color: #000;
+  background: #ff0;
+}
+small {
+  font-size: 80%;
+}
+sub,
+sup {
+  position: relative;
+  font-size: 75%;
+  line-height: 0;
+  vertical-align: baseline;
+}
+sup {
+  top: -.5em;
+}
+sub {
+  bottom: -.25em;
+}
+img {
+  border: 0;
+}
+svg:not(:root) {
+  overflow: hidden;
+}
+figure {
+  margin: 1em 40px;
+}
+hr {
+  height: 0;
+  -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+  box-sizing: content-box;
+}
+pre {
+  overflow: auto;
+}
+code,
+kbd,
+pre,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em;
+}
+button,
+input,
+optgroup,
+select,
+textarea {
+  margin: 0;
+  font: inherit;
+  color: inherit;
+}
+button {
+  overflow: visible;
+}
+button,
+select {
+  text-transform: none;
+}
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  -webkit-appearance: button;
+  cursor: pointer;
+}
+button[disabled],
+html input[disabled] {
+  cursor: default;
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  padding: 0;
+  border: 0;
+}
+input {
+  line-height: normal;
+}
+input[type="checkbox"],
+input[type="radio"] {
+  -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+  box-sizing: border-box;
+  padding: 0;
+}
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+input[type="search"] {
+  -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+  box-sizing: content-box;
+  -webkit-appearance: textfield;
+}
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+fieldset {
+  padding: .35em .625em .75em;
+  margin: 0 2px;
+  border: 1px solid #c0c0c0;
+}
+legend {
+  padding: 0;
+  border: 0;
+}
+textarea {
+  overflow: auto;
+}
+optgroup {
+  font-weight: bold;
+}
+table {
+  border-spacing: 0;
+  border-collapse: collapse;
+}
+td,
+th {
+  padding: 0;
+}
+/*! Source: 
https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
+@media print {
+  *,
+  *:before,
+  *:after {
+color: #000 !important;
+text-shadow: none !important;
+background: transparent !important;
+-webkit-box-shadow: none !important;
+box-shadow: none !important;
+  }
+  a,
+  a:visited {
+text-decoration: underline;
+  }
+  a[href]:after {
+content: " (" attr(href) ")";
+  }
+  abbr[title]:after {
+content: " (" attr(title) ")";
+  }
+  a[href^="#"]:after,
+  a[href^="javascript:"]:after {
+content: "";
+  }
+  pre,
+  blockquote {
+border: 1px solid #999;
+
+page-break-inside: avoid;
+  }
+  thead {
+display: table-header-group;
+  }
+  tr,
+  img {
+page-break-inside: avoid;
+  }
+  img {
+max-width: 100% !important;
+  }
+  p,
+  h2,
+  h3 {
+orphans: 3;
+widows: 3;
+  }
+  h2,
+  h3 {
+page-break-after: avoid;
+  }
+  .navbar {
+display: none;
+  }
+  .btn > .caret,
+  .dropup > .btn > .caret {
+border-top-color: #000 !important;
+  }
+  .label {
+border: 1px solid #000;
+  }
+  .table {
+border-collapse: collapse !important;
+  }
+  .table td,
+  .table th {
+background-color: #fff !important;
+  }
+  .table-bordered th,
+  .table-bordered td {
+border: 1px solid #ddd !important;
+  }
+}
+@font-face {
+  font-family: 'Glyphicons Halflings';
+
+  src: url('../fonts/glyphicons-halflings-regular.eot');
+  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') 
format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff

[jira] [Resolved] (TOMEE-2084) Update files with correct copyright.

2017-07-04 Thread Jean-Louis MONTEIRO (JIRA)

 [ 
https://issues.apache.org/jira/browse/TOMEE-2084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jean-Louis MONTEIRO resolved TOMEE-2084.

   Resolution: Fixed
Fix Version/s: 7.0.4

Thanks Daniel for the PR

> Update files with correct copyright.
> 
>
> Key: TOMEE-2084
> URL: https://issues.apache.org/jira/browse/TOMEE-2084
> Project: TomEE
>  Issue Type: Task
>Reporter: Daniel Cunha
> Fix For: 7.0.4
>
>




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (TOMEE-2085) AutoConfig::firstMatching sorting issue with java 8

2017-07-04 Thread Svetlin Zarev (JIRA)
Svetlin Zarev created TOMEE-2085:


 Summary: AutoConfig::firstMatching sorting issue with java 8
 Key: TOMEE-2085
 URL: https://issues.apache.org/jira/browse/TOMEE-2085
 Project: TomEE
  Issue Type: Bug
Reporter: Svetlin Zarev


Java 8 changed the implementation of Collections.sort(). In java < 8 it always 
allocated a new array which was used for the actual sorting, and then the list 
was recreated with it's content. Starting with Jav a8, the sort() method 
delegates to the concrete implementation of the concrete list. For arrya list 
it works directly on the backing array, which violates the assumption of the 
current comparator impl, that the backing array is not modified during the 
actual sorting.

Test case
{code}
public final class Main {
public static void main(String[] args) {
final Random random = new Random();
final String prefix = "0";

for (int k = 0; k < 1000; k++) {
try {
final List resourceIds = generateRandomData(random);
sort(prefix, resourceIds);
} catch (Exception e) {
System.out.println(e);
break;
}

System.out.println(k);
}
}

private static void sort(final String prefix, final List 
resourceIds) {
Collections.sort(resourceIds, new Comparator() { // sort from 
webapp to global resources
@Override
public int compare(final String o1, final String o2) { // don't 
change global order, just put app scoped resource before others
if (o1.startsWith(prefix) && o2.startsWith(prefix)) {
return resourceIds.indexOf(o1) - resourceIds.indexOf(o2);
} else if (o1.startsWith(prefix)) {
return -1;
} else if (o2.startsWith(prefix)) {
return 1;
}
// make it stable with prefixed comparison + keep existing 
ordering (bck compat)
return resourceIds.indexOf(o1) - resourceIds.indexOf(o2);
}
});
}

private static List generateRandomData(Random random) {
final List resourceIds = new ArrayList<>();
for (int i = 0; i < 5000; i++) {
resourceIds.add(Integer.toString(random.nextInt(3)) + 
random.nextInt(1000));
}
return resourceIds;
}
}
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (TOMEE-2084) Update files with correct copyright.

2017-07-04 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TOMEE-2084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16073252#comment-16073252
 ] 

ASF GitHub Bot commented on TOMEE-2084:
---

Github user asfgit closed the pull request at:

https://github.com/apache/tomee/pull/83


> Update files with correct copyright.
> 
>
> Key: TOMEE-2084
> URL: https://issues.apache.org/jira/browse/TOMEE-2084
> Project: TomEE
>  Issue Type: Task
>Reporter: Daniel Cunha
>




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (TOMEE-2084) Update files with correct copyright.

2017-07-04 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/TOMEE-2084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16073250#comment-16073250
 ] 

ASF GitHub Bot commented on TOMEE-2084:
---

Github user jeanouii commented on the issue:

https://github.com/apache/tomee/pull/83
  
Thanks Daniel, pushed


> Update files with correct copyright.
> 
>
> Key: TOMEE-2084
> URL: https://issues.apache.org/jira/browse/TOMEE-2084
> Project: TomEE
>  Issue Type: Task
>Reporter: Daniel Cunha
>




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


tomee git commit: TOMEE-2084 - Update files with correct copyright.

2017-07-04 Thread jlmonteiro
Repository: tomee
Updated Branches:
  refs/heads/master 97b606b0d -> ccad627c0


TOMEE-2084 - Update files with correct copyright.


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

Branch: refs/heads/master
Commit: ccad627c02e058bc42377652238f862de0eb7287
Parents: 97b606b
Author: Daniel Cunha (soro) 
Authored: Mon Jul 3 10:24:02 2017 -0300
Committer: Daniel Cunha (soro) 
Committed: Mon Jul 3 10:24:02 2017 -0300

--
 examples/javamail/README.md  |  4 ++--
 .../src/test/java/test/patch/MyMain.java | 17 -
 .../src/test/java/test/patch/foo/Another.java| 17 -
 tomee/apache-tomee/src/main/resources/tomee.bat  | 19 ---
 4 files changed, 38 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/tomee/blob/ccad627c/examples/javamail/README.md
--
diff --git a/examples/javamail/README.md b/examples/javamail/README.md
index 61ff594..fa239b2 100644
--- a/examples/javamail/README.md
+++ b/examples/javamail/README.md
@@ -51,7 +51,7 @@ You can find much more detailed information on the [Javamail 
API here](https://j
 //Create a message
 final MimeMessage msg = new MimeMessage(session);
 msg.setFrom(new InternetAddress("your@email.address"));
-final InternetAddress[] address = {new 
InternetAddress("gene...@tomitribe.com")};
+final InternetAddress[] address = {new 
InternetAddress("gene...@email.com")};
 msg.setRecipients(Message.RecipientType.TO, address);
 msg.setSubject("JavaMail API test");
 msg.setSentDate(new Date());
@@ -108,7 +108,7 @@ Finally to test it we use cxf client API to call the REST 
service post() method.
 
 @Test
 public void post() throws IOException {
-final String message = 
WebClient.create("http://localhost:4204";).path("/test/email/").post("Hello 
Tomitribe", String.class);
+final String message = 
WebClient.create("http://localhost:4204";).path("/test/email/").post("Hello 
General", String.class);
 assertEquals("Failed to send message: Unknown SMTP host: 
your.mailserver.host", message);
 }
 }

http://git-wip-us.apache.org/repos/asf/tomee/blob/ccad627c/maven/tomee-maven-plugin/src/test/java/test/patch/MyMain.java
--
diff --git a/maven/tomee-maven-plugin/src/test/java/test/patch/MyMain.java 
b/maven/tomee-maven-plugin/src/test/java/test/patch/MyMain.java
index d9ef975..d56ade5 100644
--- a/maven/tomee-maven-plugin/src/test/java/test/patch/MyMain.java
+++ b/maven/tomee-maven-plugin/src/test/java/test/patch/MyMain.java
@@ -1,11 +1,18 @@
 /*
- * Tomitribe Confidential
+ * 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
  *
- * Copyright Tomitribe Corporation. 2016
+ *  http://www.apache.org/licenses/LICENSE-2.0
  *
- * The source code for this program is not published or otherwise divested
- * of its trade secrets, irrespective of what has been deposited with the
- * U.S. Copyright Office.
+ *   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 test.patch;
 

http://git-wip-us.apache.org/repos/asf/tomee/blob/ccad627c/maven/tomee-maven-plugin/src/test/java/test/patch/foo/Another.java
--
diff --git a/maven/tomee-maven-plugin/src/test/java/test/patch/foo/Another.java 
b/maven/tomee-maven-plugin/src/test/java/test/patch/foo/Another.java
index fe0608a..f7d74dc 100644
--- a/maven/tomee-maven-plugin/src/test/java/test/patch/foo/Another.java
+++ b/maven/tomee-maven-plugin/src/test/java/test/patch/foo/Another.java
@@ -1,11 +1,18 @@
 /*
- * Tomitribe Confidential
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work