[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