Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLakshminarayana Nekkanti2021-02-13 06:07:47 +0000
committerLakshminarayana Nekkanti2021-02-13 08:25:18 +0000
commitfb7afb65e2dbc50df943b8cd5d19927b483dae97 (patch)
treebc901431799036d7413792d417387dd2b7fba93f
parentae9c1938372e3c853f2b7c229cddbd80403338e0 (diff)
downloadwebtools.dali-fb7afb65e2dbc50df943b8cd5d19927b483dae97.tar.gz
webtools.dali-fb7afb65e2dbc50df943b8cd5d19927b483dae97.tar.xz
webtools.dali-fb7afb65e2dbc50df943b8cd5d19927b483dae97.zip
[563158] - JpaCompletionProposalComputer andR3_21
JpaJpqlCompletionProposalComputer require UI Thread Change-Id: I1b1c656d81fecbbdb140ffc2be72a9a060be024b Signed-off-by: Lakshminarayana Nekkanti <narayana.nekkanti@gmail.com>
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/plugin.xml3
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JpaXmlCompletionProposalComputer.java22
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlContentProposalProvider.java2
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlJavaCompletionProposalComputer.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlSseCompletionProposalComputer.java4
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpqlCompletionProposalComputer.java13
6 files changed, 25 insertions, 23 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/plugin.xml b/jpa/plugins/org.eclipse.jpt.jpa.ui/plugin.xml
index 1b4df162ae..564544e31b 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/plugin.xml
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/plugin.xml
@@ -172,8 +172,7 @@
activate="true"
categoryId="org.eclipse.jpt.jpa.ui.jpaProposalCategory"
class="org.eclipse.jpt.jpa.ui.internal.jpql.JpaJpqlJavaCompletionProposalComputer"
- requiresUIThread="true">
- <!-- requires UI Thread because it dereferences getViewer() to utlimately ask StyledText.getData() -->
+ requiresUIThread="false">
<partition type="__dftl_partition_content_type"/>
<partition type="__java_string"/>
</javaCompletionProposalComputer>
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JpaXmlCompletionProposalComputer.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JpaXmlCompletionProposalComputer.java
index 8a8b8549f7..eba0c1627c 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JpaXmlCompletionProposalComputer.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/JpaXmlCompletionProposalComputer.java
@@ -35,7 +35,6 @@ import org.eclipse.jpt.jpa.ui.JptJpaUiImages;
import org.eclipse.jpt.jpa.ui.JptJpaUiMessages;
import org.eclipse.jpt.jpa.ui.internal.plugin.JptJpaUiPlugin;
import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Control;
import org.eclipse.wst.sse.ui.contentassist.CompletionProposalInvocationContext;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMDocument;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMElement;
@@ -53,6 +52,8 @@ import org.w3c.dom.Node;
*/
public class JpaXmlCompletionProposalComputer extends DefaultJpaXmlCompletionProposalComputer {
+ private ResourceManager resourceManager;
+
public JpaXmlCompletionProposalComputer() {
}
@@ -190,12 +191,12 @@ public class JpaXmlCompletionProposalComputer extends DefaultJpaXmlCompletionPro
if (proposedValue.startsWith("\"")) { //$NON-NLS-1$
proposal = new CompletionProposal(
convertedProposedValue, begin, length, convertedProposedValue.length(),
- this.getImage(context, JptJpaUiImages.JPA_CONTENT), proposedValue, null,
+ this.getImage(JptJpaUiImages.JPA_CONTENT), proposedValue, null,
JptJpaUiMessages.JPA_XML_COMPLETION_PROPOSAL_COMPUTER_SPECIAL_NAME_MSG);
} else {
proposal = new CompletionProposal(
convertedProposedValue, begin, length, convertedProposedValue.length(),
- this.getImage(context, JptJpaUiImages.JPA_CONTENT), proposedValue, null, null);
+ this.getImage(JptJpaUiImages.JPA_CONTENT), proposedValue, null, null);
}
contentAssistRequest.addProposal(proposal);
@@ -297,16 +298,15 @@ public class JpaXmlCompletionProposalComputer extends DefaultJpaXmlCompletionPro
return ((node != null) && (node instanceof IDOMElement) && ((IDOMElement) node).isCommentTag());
}
- private Image getImage(CompletionProposalInvocationContext context, ImageDescriptor descriptor) {
- return this.getImage(context.getViewer().getTextWidget(), descriptor);
- }
-
- private Image getImage(Control control, ImageDescriptor descriptor) {
- return this.getResourceManager(control).createImage(descriptor);
+ private Image getImage(ImageDescriptor descriptor) {
+ return this.getResourceManager().createImage(descriptor);
}
- private ResourceManager getResourceManager(Control control) {
- return this.getJpaWorkbench().getResourceManager(control);
+ private ResourceManager getResourceManager() {
+ if (resourceManager == null) {
+ resourceManager = getJpaWorkbench().buildLocalResourceManager();
+ }
+ return resourceManager;
}
private JpaWorkbench getJpaWorkbench() {
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlContentProposalProvider.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlContentProposalProvider.java
index e4ea34a297..0967768c31 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlContentProposalProvider.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlContentProposalProvider.java
@@ -624,7 +624,7 @@ public final class JpaJpqlContentProposalProvider extends JpqlCompletionProposal
0,
jpqlQuery.length(),
position,
- getResourceManager(viewer.getTextWidget())
+ getResourceManager()
);
return proposals.toArray(new ICompletionProposal[proposals.size()]);
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlJavaCompletionProposalComputer.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlJavaCompletionProposalComputer.java
index ee227f2886..e97bf2928f 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlJavaCompletionProposalComputer.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlJavaCompletionProposalComputer.java
@@ -38,7 +38,6 @@ import org.eclipse.jdt.core.dom.StringLiteral;
import org.eclipse.jdt.ui.text.java.ContentAssistInvocationContext;
import org.eclipse.jdt.ui.text.java.IJavaCompletionProposalComputer;
import org.eclipse.jdt.ui.text.java.JavaContentAssistInvocationContext;
-import org.eclipse.jface.resource.ResourceManager;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
import org.eclipse.jface.text.contentassist.IContextInformation;
import org.eclipse.jpt.common.core.internal.utility.jdt.ASTTools;
@@ -171,8 +170,7 @@ public final class JpaJpqlJavaCompletionProposalComputer extends JpqlCompletionP
String jpqlQuery = retrieveQuery(astRoot, tokenStart, tokenEnd, position);
// Now create the proposals
- ResourceManager resourceManager = this.getResourceManager(context.getViewer().getTextWidget());
- return buildProposals(namedQuery, jpqlQuery, tokenStart[0], tokenEnd[0], position[0], resourceManager);
+ return buildProposals(namedQuery, jpqlQuery, tokenStart[0], tokenEnd[0], position[0], getResourceManager());
}
/**
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlSseCompletionProposalComputer.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlSseCompletionProposalComputer.java
index 7af9e6c497..63266a0759 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlSseCompletionProposalComputer.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpaJpqlSseCompletionProposalComputer.java
@@ -24,7 +24,6 @@ import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.resource.ResourceManager;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
@@ -134,8 +133,7 @@ public final class JpaJpqlSseCompletionProposalComputer extends JpqlCompletionPr
int tokenEnd = tokenStart + jpqlQuery.length();
// Now create the proposals
- ResourceManager resourceManager = this.getResourceManager(context.getViewer().getTextWidget());
- return buildProposals(namedQuery, jpqlQuery, tokenStart, tokenEnd, position[0], resourceManager);
+ return buildProposals(namedQuery, jpqlQuery, tokenStart, tokenEnd, position[0], getResourceManager());
}
catch (Exception ex) {
JptJpaUiPlugin.instance().logError(ex, JptJpaUiMessages.JPA_JPQL_SSE_COMPLETION_PROPOSAL_COMPUTER_ERROR);
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpqlCompletionProposalComputer.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpqlCompletionProposalComputer.java
index c1deb8b535..1cad93403a 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpqlCompletionProposalComputer.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/jpql/JpqlCompletionProposalComputer.java
@@ -50,7 +50,6 @@ import org.eclipse.persistence.jpa.jpql.tools.spi.IEntity;
import org.eclipse.persistence.jpa.jpql.tools.spi.IMapping;
import org.eclipse.persistence.jpa.jpql.tools.spi.IType;
import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Control;
/**
* The abstract definition of JPQL content assist support.
@@ -114,6 +113,11 @@ abstract class JpqlCompletionProposalComputer<T> {
int tokenStart;
/**
+ * Resource manager
+ */
+ private ResourceManager resourceManager;
+
+ /**
* Creates a new <code>JpqlCompletionProposalComputer</code>.
*/
public JpqlCompletionProposalComputer() {
@@ -431,8 +435,11 @@ abstract class JpqlCompletionProposalComputer<T> {
return WorkbenchTools.getAdapter(JpaWorkbench.class);
}
- ResourceManager getResourceManager(Control control) {
- return this.getJpaWorkbench().getResourceManager(control);
+ ResourceManager getResourceManager() {
+ if (resourceManager == null) {
+ resourceManager = getJpaWorkbench().buildLocalResourceManager();
+ }
+ return resourceManager;
}
private boolean isRealFunction(String identifier) {

Back to the top