Skip to content

Commit e5a5ed9

Browse files
committed
eclipse-archived#190 In progress TqCL-syntax and library services
1 parent 01305c1 commit e5a5ed9

File tree

1 file changed

+23
-12
lines changed
  • org.eclipse.triquetrum.commands.xtext.ui/src/main/java/org/eclipse/triquetrum/commands/ui/contentassist

1 file changed

+23
-12
lines changed

org.eclipse.triquetrum.commands.xtext.ui/src/main/java/org/eclipse/triquetrum/commands/ui/contentassist/TqclProposalProvider.java

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.util.Map.Entry;
2222

2323
import org.apache.commons.lang.StringUtils;
24+
import org.eclipse.emf.common.util.EList;
2425
import org.eclipse.emf.ecore.EObject;
2526
import org.eclipse.graphiti.features.ICreateFeature;
2627
import org.eclipse.jface.text.contentassist.ICompletionProposal;
@@ -31,6 +32,8 @@
3132
import org.eclipse.triquetrum.commands.api.services.TqCLLibraryProvider;
3233
import org.eclipse.triquetrum.commands.tqcl.Category;
3334
import org.eclipse.triquetrum.commands.tqcl.Insert;
35+
import org.eclipse.triquetrum.commands.tqcl.Library;
36+
import org.eclipse.triquetrum.commands.tqcl.TriquetrumScript;
3437
import org.eclipse.triquetrum.workflow.editor.TriqDiagramTypeProvider;
3538
import org.eclipse.triquetrum.workflow.editor.TriqFeatureProvider;
3639
import org.eclipse.triquetrum.workflow.editor.features.ModelElementCreateFeature;
@@ -70,29 +73,37 @@ private void initFeatureMap() {
7073
}
7174
}
7275

76+
@SuppressWarnings({ "rawtypes", "unchecked" })
7377
@Override
7478
public void completeInsert_Obj(EObject model, Assignment assignment, ContentAssistContext context,
7579
ICompletionProposalAcceptor acceptor) {
7680

7781
try {
7882
Insert insert = (Insert) model;
83+
TriquetrumScript triquetrumScript = (TriquetrumScript) insert.eContainer();
84+
EList<Library> libraries = triquetrumScript.getLibraries();
7985
TqCLLibraryProvider tcqlLibraryProvider = TqCLServices.getInstance().getTcqlLibraryProvider();
8086
Category category = insert.getCategory();
87+
List<? extends EntityDescriptor> descriptors = new ArrayList<>();
88+
if (libraries == null) {
89+
return;
90+
}
8191
if (insert.getCategory() == null) {
8292
category = Category.ACTOR;
8393
}
84-
List<? extends EntityDescriptor> descriptors = new ArrayList<>();
85-
switch (category) {
86-
case ACTOR:
87-
descriptors = tcqlLibraryProvider.getActors("Triquetrum");
88-
break;
89-
90-
case DIRECTOR:
91-
descriptors = tcqlLibraryProvider.getDirectors("Triquetrum");
92-
break;
93-
94-
default:
95-
break;
94+
for (Library library : libraries) {
95+
switch (category) {
96+
case ACTOR:
97+
descriptors.addAll((List) tcqlLibraryProvider.getActors(library.getName()));
98+
break;
99+
100+
case DIRECTOR:
101+
descriptors.addAll((List) tcqlLibraryProvider.getDirectors(library.getName()));
102+
break;
103+
104+
default:
105+
break;
106+
}
96107
}
97108
for (EntityDescriptor key : descriptors) {
98109
ICompletionProposal completionProposal = createCompletionProposal(key.getClazz(), context);

0 commit comments

Comments
 (0)