TOMEE-2444 Updated examples internatioalization to format: source/<language>/examples/
diff --git a/src/main/java/org/apache/tomee/website/GroupedIndex.java b/src/main/java/org/apache/tomee/website/GroupedIndex.java
index 7218763..f81f190 100644
--- a/src/main/java/org/apache/tomee/website/GroupedIndex.java
+++ b/src/main/java/org/apache/tomee/website/GroupedIndex.java
@@ -69,10 +69,19 @@
 
         final Map<String, List<Doc>> sections = new HashMap<>();
 
-        //filtering only documents with the same language
-        for (Doc doc1 : docs) {
-            if (doc1.language.equalsIgnoreCase(language)) {
-                sections.computeIfAbsent(doc1.getGroup(), k -> new ArrayList<>()).add(doc1);
+        //filtering only documents with the same language for: target/jbake/<tomeeBranch>/docs
+        if(this.type.equalsIgnoreCase("docsindex")){
+
+            for (Doc doc1 : docs) {
+                if (doc1.language.equalsIgnoreCase(language)) {
+                    sections.computeIfAbsent(doc1.getGroup(), k -> new ArrayList<>()).add(doc1);
+                }
+            }
+        }else{
+            for (Doc doc1 : docs) { //filtering only documents with the same language for: target/jbake/<tomeeBranch> and type = examplesindex
+                if (doc1.language.equalsIgnoreCase(language) && doc1.source.getParentFile().getName().equalsIgnoreCase("examples")) {
+                    sections.computeIfAbsent(doc1.getGroup(), k -> new ArrayList<>()).add(doc1);
+                }
             }
         }
 
@@ -96,7 +105,7 @@
 
                         out.printf(
                                 "              <li class=\"group-item\"><span class=\"group-item-i\" ><i class=\"fa fa-angle-right\"></i></span><a href=\"%s\">%s</a></li>\n",
-                                doc.getHref().replaceAll(language + File.separator, ""), doc.getTitle());
+                                doc.getHref(), doc.getTitle());
 
 
                     });
@@ -129,6 +138,9 @@
                 }
             }
 
+            //ToDo:*****************
+            //ToDo: This is going to break when a group will have more than 10 documents in different languages
+            //ToDo:*****************
             sections.entrySet().stream()
                     .filter(entry -> entry.getValue().size() >= 10)
                     .sorted((o1, o2) -> new Integer(o1.getValue().size()).compareTo(o2.getValue().size()))
@@ -157,7 +169,7 @@
                                 final Doc doc = iterator.next();
                                 out.printf(
                                         "              <li class=\"group-item\"><span class=\"group-item-i\" ><i class=\"fa fa-angle-right\"></i></span><a href=\"%s\">%s</a></li>\n",
-                                        doc.getHref().replaceAll(language + File.separator, ""), doc.getTitle());
+                                        doc.getHref(), doc.getTitle());
 
                             }
                             out.printf("            </ul>\n");
@@ -235,14 +247,18 @@
         final String group = Optional.ofNullable(map.get("index-group")).orElse("Unknown") + "";
 
         /*
-         Extract language from the file path, examples:
-                   examples/file.adoc  will not generate language. (default to "en")
-                   examples/es/file.adoc  generates language es attribute inside the New Doc that is returned.
-         */
+             Create the document reference to be ready to be added as part of the index files like:
+             target/jbake/content/tomee-8.0/docs/index.html
+             target/jbake/content/tomee-8.0/docs/maven/index.html
+             target/jbake/content/tomee-8.0/fr/examples/index.html
+             target/jbake/content/tomee-8.0/en/examples/index.html
 
+         */
         if (type.equalsIgnoreCase("examplesindex") && file.getParentFile().getName().equalsIgnoreCase("examples")) {
             String detectedLanguage = getLanguageFromPath(file,this.type);
-            return new Doc(group, title, Docs.href(directory, file), file, detectedLanguage);
+            return new Doc(group, title, Docs.href(new File (directory + File.separator + detectedLanguage + File.separator + "examples"), file), file, detectedLanguage);
+            //target/jbake/content/tomee-8.0/docs   //target/jbake/content/tomee-8.0/docs/maven/configtest-mojo.adoc
+            //target/jbake/content/tomee-8.0        //target/jbake/content/tomee-8.0/fr/examples/cdi-request-scope.adoc
 //            if (detectedLanguage.equalsIgnoreCase("en")) {
 //                return new Doc(group, title, Docs.href(directory, file), file); //default to english "en"
 //            } else {
diff --git a/src/main/java/org/apache/tomee/website/Sources.java b/src/main/java/org/apache/tomee/website/Sources.java
index 599b9df..13daf34 100644
--- a/src/main/java/org/apache/tomee/website/Sources.java
+++ b/src/main/java/org/apache/tomee/website/Sources.java
@@ -139,7 +139,7 @@
                 .peek(examples::prepare)
                 .peek(versionIndex::prepare)
                 .forEach(Sources::done);
-        ;
+
 
         VersionsIndex.prepare(this);
     }
diff --git a/src/main/java/org/apache/tomee/website/VersionIndex.java b/src/main/java/org/apache/tomee/website/VersionIndex.java
index 3923d1e..7601f42 100644
--- a/src/main/java/org/apache/tomee/website/VersionIndex.java
+++ b/src/main/java/org/apache/tomee/website/VersionIndex.java
@@ -31,9 +31,15 @@
         this.sources = sources;
     }
 
+    /**
+     * Add the available languages to the /target/jbake/content/tomee-8.0/examples/index.html
+     * Add the available languages to the /target/jbake/content/tomee-8.0/es/examples/index.html
+     *
+     * @param source
+     */
     public void prepare(final Source source) {
         final File docs = sources.getJbakeContentDestFor(source, "docs");
-        final File examples = sources.getJbakeContentDestFor(source, "examples");
+        final File examples = sources.getJbakeContentDestFor(source, ""); // target/jbake/content/tomee-8.0/
 
         try {
             final StringBuilder index = new StringBuilder();
@@ -50,14 +56,16 @@
                 //ToDo: add to the doc index file the available languages for documentation.
                 index.append(" - link:docs[Documentation]\n");
             }
-            if (examples.exists() && examples.listFiles().length > 0) {
+            List<String> listOfLanguagesDirs = obtainListOfExamplesLanguages(examples);
 
-                List<String> listOfLanguagesDirs = obtainListOfLanguages(examples);
+            if (listOfLanguagesDirs.size() > 0) {
 
-                index.append(" - link:examples[Examples]");
+                index.append(" - link:en/examples[Examples]");
 
                 for (String LanguageDir : listOfLanguagesDirs) {
-                    index.append(" link:examples/" + LanguageDir + "[ [" + LanguageDir + "\\] ]");
+                    if (!LanguageDir.equalsIgnoreCase("en")) {
+                        index.append(" link:" + LanguageDir + "/examples" + "[ [" + LanguageDir + "\\] ]");
+                    }
                 }
 
                 index.append("\n");
@@ -71,13 +79,18 @@
         }
     }
 
-    public static List<String> obtainListOfLanguages(File file) {
+    public static List<String> obtainListOfExamplesLanguages(File file) { // target/jbake/content/tomee-8.0/
         List<String> listOfLanguages = new ArrayList<>();
 
         File[] directories = new File(file.getAbsolutePath()).listFiles(File::isDirectory);
 
+        File temp = null;
+
         for (File directory : directories) {
-            listOfLanguages.add(directory.getName());
+            temp = new File(directory.getAbsolutePath() + File.separator + "examples");
+            if (temp.exists()) {
+                listOfLanguages.add(directory.getName());
+            }
         }
 
         return listOfLanguages;
diff --git a/src/main/java/org/apache/tomee/website/VersionsIndex.java b/src/main/java/org/apache/tomee/website/VersionsIndex.java
index 0e4a1e3..61edfa9 100644
--- a/src/main/java/org/apache/tomee/website/VersionsIndex.java
+++ b/src/main/java/org/apache/tomee/website/VersionsIndex.java
@@ -20,7 +20,6 @@
 
 import java.io.File;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.List;
 
 public class VersionsIndex {
@@ -50,25 +49,29 @@
                 index.append("*\n\n");
 
                 final File docs = sources.getJbakeContentDestFor(source, "docs");
-                final File examples = sources.getJbakeContentDestFor(source, "examples");
+                final File examples = sources.getJbakeContentDestFor(source, "");
 
                 if (docs.exists() && docs.listFiles().length > 0) {
                     index.append(" - link:").append(source.getName()).append("/docs[Documentation]\n");
                 }
-                if (examples.exists() && examples.listFiles().length > 0) {
 
-                    List<String> listOfLanguagesDirs = VersionIndex.obtainListOfLanguages(examples);
+                List<String> listOfLanguagesDirs = VersionIndex.obtainListOfExamplesLanguages(examples);
 
-                    index.append(" - link:").append(source.getName()).append("/examples[Examples]");
+                if (listOfLanguagesDirs.size() > 0) {
+
+                    index.append(" - link:"+source.getName()+"/en/examples[Examples]");
 
                     for (String LanguageDir : listOfLanguagesDirs) {
-                        index.append(" link:")
-                             .append(source.getName())
-                             .append("/examples/")
-                             .append(LanguageDir)
-                             .append("[ [")
-                             .append(LanguageDir)
-                             .append("\\] ]");
+                        if(!LanguageDir.equalsIgnoreCase("en")){
+                            index.append(" link:")
+                                 .append(source.getName())
+                                 .append("/")
+                                 .append(LanguageDir)
+                                 .append("/examples/")
+                                 .append("[ [")
+                                 .append(LanguageDir)
+                                 .append("\\] ]");
+                        }
                     }
 
                     index.append("\n");