Author: scabanovich
Date: 2008-12-09 11:25:15 -0500 (Tue, 09 Dec 2008)
New Revision: 12491
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/action/AddNatureActionDelegate.java
Log:
JBIDE-2691
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/action/AddNatureActionDelegate.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/action/AddNatureActionDelegate.java 2008-12-09
16:04:22 UTC (rev 12490)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/action/AddNatureActionDelegate.java 2008-12-09
16:25:15 UTC (rev 12491)
@@ -11,6 +11,8 @@
package org.jboss.tools.common.model.ui.action;
import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
@@ -88,18 +90,31 @@
protected String findWebXML(String root) {
if(root == null) return "";
- String s = root + "/WEB-INF/web.xml";
- if(new File(s).isFile()) return s;
File rf = new File(root);
- File[] fs = rf.listFiles();
- if(fs == null) return "";
- for (int i = 0; i < fs.length; i++) {
- s = fs[i].getAbsolutePath().replace('\\', '/') +
"/WEB-INF/web.xml";
+ if(!rf.isDirectory()) return "";
+ List<File> folders = new ArrayList<File>();
+ folders.add(rf);
+ return findWebXML(folders);
+ }
+
+ protected String findWebXML(List<File> folders) {
+ if(folders == null || folders.size() == 0) return "";
+ for (File f: folders) {
+ if(!f.isDirectory()) continue;
+ String s = f.getAbsolutePath().replace('\\', '/') +
"/WEB-INF/web.xml";
if(new File(s).isFile()) return s;
- }
- return "";
+ }
+ List<File> nextLevelFolders = new ArrayList<File>();
+ for (File f: folders) {
+ File[] fs = f.listFiles();
+ if(fs == null) continue;
+ for (int i = 0; i < fs.length; i++) {
+ if(fs[i].isDirectory()) nextLevelFolders.add(fs[i]);
+ }
+ }
+ return findWebXML(nextLevelFolders);
}
-
+
public void dispose() {}
protected boolean isWindowAction;
Show replies by date