Author: scabanovich
Date: 2011-08-09 18:23:52 -0400 (Tue, 09 Aug 2011)
New Revision: 33741
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/JSPDialogContentProposalProvider.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/FaceletsELCompletionProposalComputer.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/XmlELCompletionProposalComputer.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPTextEditor.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPContentOutlineConfiguration.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertySourceAdapter.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/ValueHelper.java
Log:
JBIDE-9501
https://issues.jboss.org/browse/JBIDE-9501
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/JSPDialogContentProposalProvider.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/JSPDialogContentProposalProvider.java 2011-08-09
22:17:07 UTC (rev 33740)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/JSPDialogContentProposalProvider.java 2011-08-09
22:23:52 UTC (rev 33741)
@@ -20,7 +20,6 @@
import org.eclipse.jface.fieldassist.IContentProposalProvider;
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.jst.jsp.ui.internal.contentassist.JSPContentAssistProcessor;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.IEditorPart;
import org.eclipse.wst.sse.ui.internal.contentassist.IRelevanceCompletionProposal;
@@ -37,6 +36,7 @@
import org.jboss.tools.common.model.ui.ModelUIPlugin;
import org.jboss.tools.common.text.TextProposal;
import
org.jboss.tools.jst.jsp.contentassist.AbstractXMLContentAssistProcessor.TextRegion;
+import org.jboss.tools.jst.jsp.contentassist.computers.JspELCompletionProposalComputer;
import org.jboss.tools.jst.jsp.jspeditor.JSPMultiPageEditor;
import org.jboss.tools.jst.jsp.messages.JstUIMessages;
import org.jboss.tools.jst.jsp.outline.ValueHelper;
@@ -61,7 +61,7 @@
String attributeName;
String nodeName;
int offset = 0;
- JspContentAssistProcessor processor;
+ JspELCompletionProposalComputer processor;
IPageContext pageContext = null;
public JSPDialogContentProposalProvider() {
@@ -86,7 +86,7 @@
valueHelper = new ValueHelper();
}
pageContext = (IPageContext)context.get("pageContext"); //$NON-NLS-1$
- processor = (JspContentAssistProcessor)context.get("processor");
//$NON-NLS-1$
+ processor = (JspELCompletionProposalComputer)context.get("processor");
//$NON-NLS-1$
if(processor == null) {
processor = valueHelper.createContentAssistProcessor();
context.put("processor", processor); //$NON-NLS-1$
@@ -336,7 +336,7 @@
return i < 0 ? null : nodeName.substring(0, i);
}
- protected String[] getParentTags(JspContentAssistProcessor processor) {
+ protected String[] getParentTags(JspELCompletionProposalComputer processor) {
String[] result = processor.getParentTags(true);
String[] result1 = add(result, attributeName);
return result1;
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/FaceletsELCompletionProposalComputer.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/FaceletsELCompletionProposalComputer.java 2011-08-09
22:17:07 UTC (rev 33740)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/FaceletsELCompletionProposalComputer.java 2011-08-09
22:23:52 UTC (rev 33741)
@@ -86,7 +86,9 @@
//compute the completion proposals
return super.computeCompletionProposals(context, monitor);
} finally {
- fCurrentContext = null;
+ if(!keepState) {
+ fCurrentContext = null;
+ }
}
}
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/XmlELCompletionProposalComputer.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/XmlELCompletionProposalComputer.java 2011-08-09
22:17:07 UTC (rev 33740)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/contentassist/computers/XmlELCompletionProposalComputer.java 2011-08-09
22:23:52 UTC (rev 33741)
@@ -79,6 +79,19 @@
private static final String[] EMPTY_TAGS = new String[0];
protected static final Image JSF_EL_PROPOSAL_IMAGE =
JspEditorPlugin.getDefault().getImage(JspEditorPlugin.CA_JSF_EL_IMAGE_PATH);
+ /**
+ * Implementation may only set fCurrentContext to null if keepState is not set to true.
+ */
+ boolean keepState = false;
+
+ /**
+ *
+ * @param b
+ */
+ public void setKeepState(boolean b) {
+ keepState = b;
+ }
+
@Override
protected XMLContentModelGenerator getContentGenerator() {
return new XMLContentModelGenerator();
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPTextEditor.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPTextEditor.java 2011-08-09
22:17:07 UTC (rev 33740)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPTextEditor.java 2011-08-09
22:23:52 UTC (rev 33741)
@@ -122,7 +122,7 @@
import org.jboss.tools.jst.jsp.HTMLTextViewerConfiguration;
import org.jboss.tools.jst.jsp.JSPTextViewerConfiguration;
import org.jboss.tools.jst.jsp.JspEditorPlugin;
-import org.jboss.tools.jst.jsp.contentassist.JspContentAssistProcessor;
+import org.jboss.tools.jst.jsp.contentassist.computers.JspELCompletionProposalComputer;
import org.jboss.tools.jst.jsp.editor.IJSPTextEditor;
import org.jboss.tools.jst.jsp.editor.ITextFormatter;
import org.jboss.tools.jst.jsp.editor.IVisualContext;
@@ -788,7 +788,7 @@
class AttributeDescriptorValueProviderImpl implements AttributeDescriptorValueProvider
{
TagProposal proposal;
KbQuery query;
- JspContentAssistProcessor processor;
+ JspELCompletionProposalComputer processor;
IPageContext pageContext;
public void setProposal(ITagProposal proposal) {
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPContentOutlineConfiguration.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPContentOutlineConfiguration.java 2011-08-09
22:17:07 UTC (rev 33740)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPContentOutlineConfiguration.java 2011-08-09
22:23:52 UTC (rev 33741)
@@ -45,6 +45,7 @@
import org.jboss.tools.common.model.ui.editors.dnd.context.DropContext;
import org.jboss.tools.jst.jsp.JspEditorPlugin;
import org.jboss.tools.jst.jsp.contentassist.JspContentAssistProcessor;
+import org.jboss.tools.jst.jsp.contentassist.computers.JspELCompletionProposalComputer;
import org.jboss.tools.jst.jsp.editor.IJSPTextEditor;
import org.jboss.tools.jst.jsp.editor.IViewerDropAdapterFactory;
import org.jboss.tools.jst.web.kb.IPageContext;
@@ -174,7 +175,7 @@
} else {
List modelQueryActionList = new ArrayList();
- JspContentAssistProcessor processor = valueHelper.createContentAssistProcessor();
+ JspELCompletionProposalComputer processor =
valueHelper.createContentAssistProcessor();
int offset = 0;
if(element instanceof IndexedRegion) {
offset = ((IndexedRegion)element).getStartOffset() + 1;
@@ -222,7 +223,7 @@
};
}
- protected KbQuery createKbQuery(JspContentAssistProcessor processor, Node fNode, int
offset) {
+ protected KbQuery createKbQuery(JspELCompletionProposalComputer processor, Node fNode,
int offset) {
KbQuery kbQuery = new KbQuery();
String[] parentTags = processor.getParentTags(false);
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertySourceAdapter.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertySourceAdapter.java 2011-08-09
22:17:07 UTC (rev 33740)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/JSPPropertySourceAdapter.java 2011-08-09
22:23:52 UTC (rev 33741)
@@ -19,6 +19,7 @@
import java.util.Set;
import java.util.Stack;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.jface.text.ITextViewer;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
@@ -28,6 +29,7 @@
import org.eclipse.ui.views.properties.TextPropertyDescriptor;
import org.eclipse.wst.sse.core.internal.provisional.INodeAdapter;
import org.eclipse.wst.sse.core.internal.provisional.INodeNotifier;
+import org.eclipse.wst.sse.ui.contentassist.CompletionProposalInvocationContext;
import org.eclipse.wst.sse.ui.views.properties.IPropertySourceExtension;
import org.eclipse.wst.xml.core.internal.contentmodel.CMAttributeDeclaration;
import org.eclipse.wst.xml.core.internal.contentmodel.CMDataType;
@@ -43,6 +45,8 @@
import org.jboss.tools.jst.jsp.JspEditorPlugin;
import org.jboss.tools.jst.jsp.contentassist.FaceletPageContectAssistProcessor;
import org.jboss.tools.jst.jsp.contentassist.JspContentAssistProcessor;
+import
org.jboss.tools.jst.jsp.contentassist.computers.FaceletsELCompletionProposalComputer;
+import org.jboss.tools.jst.jsp.contentassist.computers.JspELCompletionProposalComputer;
import org.jboss.tools.jst.jsp.editor.IVisualController;
import org.jboss.tools.jst.jsp.jspeditor.JSPMultiPageEditor;
import org.jboss.tools.jst.web.kb.IPageContext;
@@ -91,7 +95,7 @@
private IPropertyDescriptor[] fDescriptors = null;
private ValueHelper valueHelper = new ValueHelper();
IPageContext pageContext;
- JspContentAssistProcessor processor;
+ JspELCompletionProposalComputer processor;
int offset = 0;
KbQuery kbQuery, kbQueryAttr;
@SuppressWarnings("unchecked")
@@ -122,8 +126,10 @@
}
if(fNode instanceof Node) {
- processor = valueHelper.isFacetets() ? new FaceletPageContectAssistProcessor() : new
JspContentAssistProcessor();
- processor.createContext(getTextViewer(), offset);
+ processor = valueHelper.isFacetets() ? new FaceletsELCompletionProposalComputer() :
new JspELCompletionProposalComputer();
+// processor.createContext(getTextViewer(), offset);
+ processor.setKeepState(true);
+ processor.computeCompletionProposals(new
CompletionProposalInvocationContext(getTextViewer(), offset), new NullProgressMonitor());
pageContext = processor.getContext();
kbQuery = createKbQuery(processor);
kbQuery.setMask(true);
@@ -293,7 +299,7 @@
return descriptors;
}
- protected KbQuery createKbQuery(JspContentAssistProcessor processor) {
+ protected KbQuery createKbQuery(JspELCompletionProposalComputer processor) {
KbQuery kbQuery = new KbQuery();
String[] parentTags = processor.getParentTags(false);
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/ValueHelper.java
===================================================================
---
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/ValueHelper.java 2011-08-09
22:17:07 UTC (rev 33740)
+++
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/outline/ValueHelper.java 2011-08-09
22:23:52 UTC (rev 33741)
@@ -20,6 +20,7 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.source.ISourceViewer;
@@ -28,11 +29,13 @@
import org.eclipse.ui.IFileEditorInput;
import org.eclipse.ui.texteditor.AbstractTextEditor;
import org.eclipse.wst.sse.ui.StructuredTextEditor;
+import org.eclipse.wst.sse.ui.contentassist.CompletionProposalInvocationContext;
import org.jboss.tools.common.model.project.IPromptingProvider;
import org.jboss.tools.common.model.ui.ModelUIPlugin;
import org.jboss.tools.common.model.util.ModelFeatureFactory;
-import org.jboss.tools.jst.jsp.contentassist.FaceletPageContectAssistProcessor;
import org.jboss.tools.jst.jsp.contentassist.JspContentAssistProcessor;
+import
org.jboss.tools.jst.jsp.contentassist.computers.FaceletsELCompletionProposalComputer;
+import org.jboss.tools.jst.jsp.contentassist.computers.JspELCompletionProposalComputer;
import org.jboss.tools.jst.jsp.drop.treeviewer.model.AttributeValueResource;
import org.jboss.tools.jst.jsp.drop.treeviewer.model.AttributeValueResourceFactory;
import org.jboss.tools.jst.jsp.drop.treeviewer.model.ModelElement;
@@ -113,14 +116,16 @@
return (jspEditor == null) ? null : jspEditor.getPageContext();
}
- public JspContentAssistProcessor createContentAssistProcessor() {
- return isFacetets() ? new FaceletPageContectAssistProcessor() : new
JspContentAssistProcessor();
+ public JspELCompletionProposalComputer createContentAssistProcessor() {
+ return isFacetets() ? new FaceletsELCompletionProposalComputer() : new
JspELCompletionProposalComputer();
}
- public IPageContext createPageContext(JspContentAssistProcessor processor, int offset)
{
+ public IPageContext createPageContext(JspELCompletionProposalComputer processor, int
offset) {
ISourceViewer sv = getSourceViewer();
if(sv == null) return null;
- processor.createContext(sv, offset);
+// processor.createContext(sv, offset);
+ processor.setKeepState(true);
+ processor.computeCompletionProposals(new CompletionProposalInvocationContext(sv,
offset), new NullProgressMonitor());
return processor.getContext();
}