[144691] Unable to search for attribute, attribute group and group
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-search/org/eclipse/wst/xsd/ui/internal/search/XSDSearchContributor.java b/bundles/org.eclipse.wst.xsd.ui/src-search/org/eclipse/wst/xsd/ui/internal/search/XSDSearchContributor.java
index 12fec5d..95dcb48 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src-search/org/eclipse/wst/xsd/ui/internal/search/XSDSearchContributor.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src-search/org/eclipse/wst/xsd/ui/internal/search/XSDSearchContributor.java
@@ -46,6 +46,17 @@
references.put(IXSDSearchConstants.SIMPLE_TYPE_META_NAME, patterns);
+ patterns = new ArrayList();
+ patterns.add(new XMLSearchPattern( ns, XSDConstants.GROUP_ELEMENT_TAG, XSDConstants.REF_ATTRIBUTE));
+ references.put(IXSDSearchConstants.GROUP_META_NAME, patterns);
+
+ patterns = new ArrayList();
+ patterns.add(new XMLSearchPattern( ns, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDConstants.REF_ATTRIBUTE));
+ references.put(IXSDSearchConstants.ATTRIBUTE_GROUP_META_NAME, patterns);
+
+ patterns = new ArrayList();
+ patterns.add(new XMLSearchPattern( ns, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDConstants.REF_ATTRIBUTE));
+ references.put(IXSDSearchConstants.ATTRIBUTE_META_NAME, patterns);
}
protected void initializeDeclarations(){
@@ -53,22 +64,22 @@
declarations = new HashMap();
String ns = IXSDSearchConstants.XMLSCHEMA_NAMESPACE;
- SearchPattern pattern = new XMLSearchPattern( ns, "element", "name", 2);
+ SearchPattern pattern = new XMLSearchPattern( ns, XSDConstants.ELEMENT_ELEMENT_TAG, XSDConstants.NAME_ATTRIBUTE, 2);
declarations.put(IXSDSearchConstants.ELEMENT_META_NAME, pattern);
- pattern = new XMLSearchPattern(ns, "complexType", "name");
+ pattern = new XMLSearchPattern(ns, XSDConstants.COMPLEXTYPE_ELEMENT_TAG, XSDConstants.NAME_ATTRIBUTE);
declarations.put(IXSDSearchConstants.COMPLEX_TYPE_META_NAME, pattern);
- pattern = new XMLSearchPattern(ns, "simpleType", "name");
+ pattern = new XMLSearchPattern(ns, XSDConstants.SIMPLETYPE_ELEMENT_TAG, XSDConstants.NAME_ATTRIBUTE);
declarations.put(IXSDSearchConstants.SIMPLE_TYPE_META_NAME, pattern);
- pattern = new XMLSearchPattern(ns, "attribute", "name");
+ pattern = new XMLSearchPattern(ns, XSDConstants.ATTRIBUTE_ELEMENT_TAG, XSDConstants.NAME_ATTRIBUTE);
declarations.put(IXSDSearchConstants.ATTRIBUTE_META_NAME, pattern);
- pattern = new XMLSearchPattern(ns, "attributeGroup", "name");
+ pattern = new XMLSearchPattern(ns, XSDConstants.ATTRIBUTEGROUP_ELEMENT_TAG, XSDConstants.NAME_ATTRIBUTE);
declarations.put(IXSDSearchConstants.ATTRIBUTE_GROUP_META_NAME, pattern);
- pattern = new XMLSearchPattern(ns, "group", "name");
+ pattern = new XMLSearchPattern(ns, XSDConstants.GROUP_ELEMENT_TAG, XSDConstants.NAME_ATTRIBUTE);
declarations.put(IXSDSearchConstants.GROUP_META_NAME, pattern);
}
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-search/org/eclipse/wst/xsd/ui/internal/search/actions/FindReferencesAction.java b/bundles/org.eclipse.wst.xsd.ui/src-search/org/eclipse/wst/xsd/ui/internal/search/actions/FindReferencesAction.java
index c7a9520..ad53351 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src-search/org/eclipse/wst/xsd/ui/internal/search/actions/FindReferencesAction.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src-search/org/eclipse/wst/xsd/ui/internal/search/actions/FindReferencesAction.java
@@ -24,8 +24,11 @@
import org.eclipse.wst.xsd.ui.internal.editor.ISelectionMapper;
import org.eclipse.wst.xsd.ui.internal.search.IXSDSearchConstants;
import org.eclipse.wst.xsd.ui.internal.search.XSDSearchQuery;
+import org.eclipse.xsd.XSDAttributeDeclaration;
+import org.eclipse.xsd.XSDAttributeGroupDefinition;
import org.eclipse.xsd.XSDComplexTypeDefinition;
import org.eclipse.xsd.XSDElementDeclaration;
+import org.eclipse.xsd.XSDModelGroupDefinition;
import org.eclipse.xsd.XSDNamedComponent;
import org.eclipse.xsd.XSDSimpleTypeDefinition;
public class FindReferencesAction extends FindAction
@@ -83,6 +86,18 @@
{
metaName = IXSDSearchConstants.ELEMENT_META_NAME;
}
+ else if (component instanceof XSDModelGroupDefinition)
+ {
+ metaName = IXSDSearchConstants.GROUP_META_NAME;
+ }
+ else if (component instanceof XSDAttributeGroupDefinition)
+ {
+ metaName = IXSDSearchConstants.ATTRIBUTE_GROUP_META_NAME;
+ }
+ else if (component instanceof XSDAttributeDeclaration)
+ {
+ metaName = IXSDSearchConstants.ATTRIBUTE_META_NAME;
+ }
return metaName;
}