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);
}
}