[354644] Search Component doesn't work for Project and Workspace search scopes
diff --git a/bundles/org.eclipse.wst.xml.core/src-search/org/eclipse/wst/xml/core/internal/search/XMLSearchPattern.java b/bundles/org.eclipse.wst.xml.core/src-search/org/eclipse/wst/xml/core/internal/search/XMLSearchPattern.java
index 293d1c3..7bc2a6a 100644
--- a/bundles/org.eclipse.wst.xml.core/src-search/org/eclipse/wst/xml/core/internal/search/XMLSearchPattern.java
+++ b/bundles/org.eclipse.wst.xml.core/src-search/org/eclipse/wst/xml/core/internal/search/XMLSearchPattern.java
@@ -106,7 +106,10 @@
public boolean matches(XMLSearchPattern pattern) {
if (pattern.searchName == null)
return false;
-
+ if ("*".equals(searchName) && "*".equals(searchNamespace)) { //$NON-NLS-1$ //$NON-NLS-2$
+ return true;
+ }
+
final StringTokenizer tokenizer = new StringTokenizer(pattern.searchName);
while (tokenizer.hasMoreTokens()) {
final String token = tokenizer.nextToken();
@@ -118,14 +121,13 @@
name = token.substring(n+1);
namespace = pattern.element != null ? (String)pattern.element.getNamespaceMap().get(prefix) : computeNamespaceForPrefix(pattern.domElement, prefix);
}
- if ("*".equals(name))
- return true;
+
if (namespace == null) {
- if (name.equals(searchName))
+ if (name.equals(searchName) || "*".equals(searchName))
return true;
}
else {
- if (name.equals(searchName) && namespace.equals(searchNamespace))
+ if ((namespace.equals(searchNamespace) || "*".equals(searchNamespace)) && name.equals(searchName))
return true;
}
}