Author: tveronezi
Date: Thu Mar 29 12:11:50 2012
New Revision: 1306801

URL: http://svn.apache.org/viewvc?rev=1306801&view=rev
Log:
https://issues.apache.org/jira/browse/TOMEE-142

(in progress task)

-normalizing context paths

Modified:
    
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelperImpl.java
    
openejb/trunk/openejb/tomee/tomee-loader/src/test/java/org/apache/tomee/loader/test/UserSessionTest.java

Modified: 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelperImpl.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelperImpl.java?rev=1306801&r1=1306800&r2=1306801&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelperImpl.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/service/helper/JndiHelperImpl.java
 Thu Mar 29 12:11:50 2012
@@ -43,6 +43,10 @@ public class JndiHelperImpl implements J
         this.srvCtx = srvCtx;
     }
 
+//    public List<Method> getJndiMethods(String path) {
+//
+//    }
+
     @Override
     public Map<String, Object> getJndi() {
         final Map<String, Object> root = 
JndiHelperImpl.createTreeNode(ROOT_NODE_TYPE, "/", null);
@@ -69,6 +73,7 @@ public class JndiHelperImpl implements J
             addSubContext(appContext.getGlobalJndiContext(), "global", 
appNode);
         }
 
+        normalizePaths(new ArrayList<String>(), root);
         return root;
     }
 
@@ -98,4 +103,35 @@ public class JndiHelperImpl implements J
 
         return result;
     }
+
+    private void normalizePaths(final List<String> path, final Map<String, 
Object> jndiEntry) {
+        final List<String> innerPath = new ArrayList<String>(path);
+
+        if ("context".equals(jndiEntry.get("type"))) {
+            innerPath.add((String) jndiEntry.get("path"));
+
+        } else if ("leaf".equals(jndiEntry.get("type"))) {
+            String[] entryPaths = ((String) jndiEntry.get("path")).split("/");
+            String leafName = entryPaths[entryPaths.length - 1];
+
+            StringBuffer resultingPath = new StringBuffer();
+            for (String pathEntry : path) {
+                resultingPath.append(pathEntry);
+                resultingPath.append("/");
+            }
+            resultingPath.append(leafName);
+
+            jndiEntry.put("path", resultingPath.toString());
+            return;
+        }
+
+        List<Map<String, Object>> jndiEntries = (List<Map<String, Object>>) 
jndiEntry.get("children");
+        if (jndiEntries != null && !jndiEntries.isEmpty()) {
+
+            for (Map<String, Object> child : jndiEntries) {
+                normalizePaths(innerPath, child);
+            }
+        }
+
+    }
 }

Modified: 
openejb/trunk/openejb/tomee/tomee-loader/src/test/java/org/apache/tomee/loader/test/UserSessionTest.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/test/java/org/apache/tomee/loader/test/UserSessionTest.java?rev=1306801&r1=1306800&r2=1306801&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-loader/src/test/java/org/apache/tomee/loader/test/UserSessionTest.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-loader/src/test/java/org/apache/tomee/loader/test/UserSessionTest.java
 Thu Mar 29 12:11:50 2012
@@ -49,7 +49,7 @@ public class UserSessionTest {
         org.junit.Assert.assertFalse(result.isEmpty());
 
         final List<String> names = new ArrayList<String>();
-        mountPathsList(names, new ArrayList<String>(), result);
+        mountPathsList(names, result);
 
         System.out.println("*******************************************");
         System.out.println(result);
@@ -77,41 +77,14 @@ public class UserSessionTest {
         System.out.println("*******************************************");
     }
 
-    private void mountPathsList(final List<String> names, final List<String> 
path, final Map<String, Object> jndiEntry) {
-        if ("module".equals(jndiEntry.get("type"))) {
-            return;
-        }
-
-        final List<String> innerPath = new ArrayList<String>(path);
-
-        if ("context".equals(jndiEntry.get("type"))) {
-            innerPath.add((String) jndiEntry.get("path"));
-
-        } else if ("leaf".equals(jndiEntry.get("type"))) {
-            if ("/AppName".equals(jndiEntry.get("path"))
-                    || "/ModuleName".equals(jndiEntry.get("path"))) {
-                return;
-            }
-
-            String[] entryPaths = ((String) jndiEntry.get("path")).split("/");
-            String leafName = entryPaths[entryPaths.length - 1];
-
-            StringBuffer resultingPath = new StringBuffer();
-            for (String pathEntry : path) {
-                resultingPath.append(pathEntry);
-                resultingPath.append("/");
-            }
-            resultingPath.append(leafName);
-
-            names.add(resultingPath.toString());
-            return;
-        }
+    private void mountPathsList(final List<String> names, final Map<String, 
Object> jndiEntry) {
+        names.add((String) jndiEntry.get("path"));
 
         List<Map<String, Object>> jndiEntries = (List<Map<String, Object>>) 
jndiEntry.get("children");
         if (jndiEntries != null && !jndiEntries.isEmpty()) {
 
             for (Map<String, Object> child : jndiEntries) {
-                mountPathsList(names, innerPath, child);
+                mountPathsList(names, child);
             }
         }
 


Reply via email to