Author: dblevins
Date: Fri Apr 8 03:07:47 2011
New Revision: 1090094
URL: http://svn.apache.org/viewvc?rev=1090094&view=rev
Log:
filter out invalid directory-based module names
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentModule.java
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentModule.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentModule.java?rev=1090094&r1=1090093&r2=1090094&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentModule.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentModule.java
Fri Apr 8 03:07:47 2011
@@ -20,6 +20,8 @@ import org.apache.openejb.jee.NamedModul
import java.io.File;
import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -73,11 +75,26 @@ public interface DeploymentModule {
if (spec != null && spec.getModuleName() != null) return
spec.getModuleName().trim();
if (spec != null && spec.getId() != null) return
spec.getId().trim();
if (uri != null) return stripExtension(uri.getPath());
- if (location != null) return stripExtension(location.getName());
+ if (location != null) return moduleName(location);
if (name != null) return name;
return "@" + module.getClass().getSimpleName() + module.hashCode();
}
+ private String moduleName(File location) {
+ List<String> invalid = new ArrayList<String>();
+ invalid.add("classes");
+ invalid.add("test-classes");
+ invalid.add("target");
+ invalid.add("build");
+ invalid.add("dist");
+ invalid.add("bin");
+
+ while (invalid.contains(location.getName())) {
+ location = location.getParentFile();
+ }
+ return stripExtension(location.getName());
+ }
+
private String stripExtension(String name) {
String[] exts = {".jar", ".zip", ".ear", ".war", ".rar",
".unpacked"};
for (String ext : exts) {