use of org.eclipse.che.ide.ext.java.shared.dto.Proposals in project che by eclipse.
the class CodeAssist method convertProposals.
private Proposals convertProposals(int offset, ICompilationUnit compilationUnit, TextViewer viewer, List<ICompletionProposal> proposals) {
Proposals result = DtoFactory.getInstance().createDto(Proposals.class);
String sessionId = UUID.randomUUID().toString();
result.setSessionId(sessionId);
ArrayList<ProposalPresentation> presentations = new ArrayList<>();
for (int i = 0; i < proposals.size(); i++) {
ProposalPresentation presentation = DtoFactory.getInstance().createDto(ProposalPresentation.class);
ICompletionProposal proposal = proposals.get(i);
presentation.setIndex(i);
presentation.setDisplayString(proposal.getDisplayString());
String image = proposal.getImage() == null ? null : proposal.getImage().getImg();
presentation.setImage(image);
if (proposal instanceof ICompletionProposalExtension4) {
presentation.setAutoInsertable(((ICompletionProposalExtension4) proposal).isAutoInsertable());
}
if (proposal instanceof CheActionAcces) {
String actionId = ((CheActionAcces) proposal).getActionId();
if (actionId != null) {
presentation.setActionId(actionId);
}
}
presentations.add(presentation);
}
result.setProposals(presentations);
cache.put(sessionId, new CodeAssistContext(viewer, offset, proposals, compilationUnit));
return result;
}
use of org.eclipse.che.ide.ext.java.shared.dto.Proposals in project che by eclipse.
the class JavaCodeAssistProcessor method computeCompletionProposals.
@Override
public void computeCompletionProposals(final TextEditor textEditor, final int offset, final boolean triggered, final CodeAssistCallback callback) {
if (errorMessage != null) {
return;
}
final VirtualFile file = editor.getEditorInput().getFile();
if (file instanceof Resource) {
final Optional<Project> project = ((Resource) file).getRelatedProject();
Unmarshallable<Proposals> unmarshaller = unmarshallerFactory.newUnmarshaller(Proposals.class);
client.computeProposals(project.get().getLocation().toString(), resolveFQN(file), offset, textEditor.getDocument().getContents(), new AsyncRequestCallback<Proposals>(unmarshaller) {
@Override
protected void onSuccess(Proposals proposals) {
showProposals(callback, proposals);
}
@Override
protected void onFailure(Throwable throwable) {
Log.error(JavaCodeAssistProcessor.class, throwable);
}
});
}
}
use of org.eclipse.che.ide.ext.java.shared.dto.Proposals in project che by eclipse.
the class JavaQuickAssistProcessor method setupProposals.
private void setupProposals(final CodeAssistCallback callback, final TextEditor textEditor, final int offset, final List<Problem> annotations) {
final VirtualFile file = textEditor.getEditorInput().getFile();
if (file instanceof Resource) {
final Optional<Project> project = ((Resource) file).getRelatedProject();
Unmarshallable<Proposals> unmarshaller = unmarshallerFactory.newUnmarshaller(Proposals.class);
client.computeAssistProposals(project.get().getLocation().toString(), resolveFQN(file), offset, annotations, new AsyncRequestCallback<Proposals>(unmarshaller) {
@Override
protected void onSuccess(Proposals proposals) {
showProposals(callback, proposals, textEditor);
}
@Override
protected void onFailure(Throwable throwable) {
Log.error(JavaCodeAssistProcessor.class, throwable);
}
});
}
}
Aggregations