[jboss-cvs] jbosside/as/plugins/org.jboss.ide.eclipse.as.ui.mbeans/src/org/jboss/ide/eclipse/as/ui/mbeans/editors ...
Robert Stryker
rawblem at gmail.com
Mon Dec 4 12:47:38 EST 2006
User: rawb
Date: 06/12/04 12:47:38
Modified: as/plugins/org.jboss.ide.eclipse.as.ui.mbeans/src/org/jboss/ide/eclipse/as/ui/mbeans/editors
ServiceXMLCorrectionAssistantProvider.java
Log:
Changes to dialog allow you to turn a selection from an xml file into an xpath to be used in the properties view
Revision Changes Path
1.3 +37 -2 jbosside/as/plugins/org.jboss.ide.eclipse.as.ui.mbeans/src/org/jboss/ide/eclipse/as/ui/mbeans/editors/ServiceXMLCorrectionAssistantProvider.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ServiceXMLCorrectionAssistantProvider.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.ui.mbeans/src/org/jboss/ide/eclipse/as/ui/mbeans/editors/ServiceXMLCorrectionAssistantProvider.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- ServiceXMLCorrectionAssistantProvider.java 20 Nov 2006 19:22:25 -0000 1.2
+++ ServiceXMLCorrectionAssistantProvider.java 4 Dec 2006 17:47:38 -0000 1.3
@@ -25,6 +25,9 @@
import java.util.Arrays;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.jdt.core.IMethod;
import org.eclipse.jdt.core.IType;
import org.eclipse.jface.text.contentassist.CompletionProposal;
@@ -47,13 +50,34 @@
import org.eclipse.wst.xml.ui.internal.correction.QuickFixProcessorXML;
import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImageHelper;
import org.eclipse.wst.xml.ui.internal.editor.XMLEditorPluginImages;
+import org.jboss.ide.eclipse.as.ui.mbeans.Activator;
import org.jboss.ide.eclipse.as.ui.mbeans.Messages;
+import org.jboss.ide.eclipse.as.ui.mbeans.editors.proposals.IServiceXMLQuickFixProposalProvider;
import org.jboss.ide.eclipse.as.ui.util.ServiceXMLEditorUtil;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class ServiceXMLCorrectionAssistantProvider extends CorrectionAssistantProviderXML {
+ public static IServiceXMLQuickFixProposalProvider[] providers;
+
+ public static IServiceXMLQuickFixProposalProvider[] getProviders() {
+ if( providers == null ) {
+ ArrayList list = new ArrayList();
+ IExtensionRegistry registry = Platform.getExtensionRegistry();
+ IConfigurationElement[] cf = registry.getConfigurationElementsFor(Activator.PLUGIN_ID, "ServiceXMLQuickFixProvider");
+ for( int i = 0; i < cf.length; i++ ) {
+ try {
+ list.add((IServiceXMLQuickFixProposalProvider)cf[i].createExecutableExtension("class"));
+ } catch( CoreException ce ) {
+ ce.printStackTrace();
+ }
+ }
+ providers = (IServiceXMLQuickFixProposalProvider[])
+ list.toArray(new IServiceXMLQuickFixProposalProvider[list.size()]);
+ }
+ return providers;
+ }
public ServiceXMLCorrectionAssistantProvider() {
super();
@@ -161,10 +185,21 @@
IDOMNode node = (IDOMNode) ContentAssistUtils.getNodeAt(viewer, offset);
addMissingAttributesProposal(node, props);
-
+ addXPathProposals(viewer, offset, props);
return (ICompletionProposal[]) props.toArray(new ICompletionProposal[props.size()]);
}
+ protected void addXPathProposals(StructuredTextViewer viewer, int offset, ArrayList proposals) {
+ IServiceXMLQuickFixProposalProvider[] providers = getProviders();
+ ICompletionProposal[] props;
+ for( int i = 0; i < providers.length; i++ ) {
+ props = providers[i].getProposals(viewer, offset);
+ if( props != null )
+ proposals.addAll(Arrays.asList(props));
+ }
+ }
+
+
protected void addMissingAttributesProposal(IDOMNode node, ArrayList proposals) {
String[] missing = mbeanGetMissingAttributes(node);
if( missing.length == 0 ) return;
More information about the jboss-cvs-commits
mailing list