Logging to debug issue #415
This commit is contained in:
@@ -23,6 +23,8 @@ import org.eclipse.lsp4j.CompletionItemKind;
|
||||
import org.eclipse.lsp4xml.dom.DOMAttr;
|
||||
import org.eclipse.lsp4xml.dom.DOMNode;
|
||||
import org.eclipse.lsp4xml.dom.parser.Scanner;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.ide.vscode.boot.xml.XMLCompletionProvider;
|
||||
import org.springframework.ide.vscode.commons.java.IJavaProject;
|
||||
import org.springframework.ide.vscode.commons.java.IMethod;
|
||||
@@ -37,6 +39,8 @@ import org.springframework.ide.vscode.commons.util.text.TextDocument;
|
||||
* @author Martin Lippert
|
||||
*/
|
||||
public class PropertyNameCompletionProposalProvider implements XMLCompletionProvider {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(PropertyNameCompletionProposalProvider.class);
|
||||
|
||||
private final JavaProjectFinder projectFinder;
|
||||
|
||||
@@ -51,18 +55,27 @@ public class PropertyNameCompletionProposalProvider implements XMLCompletionProv
|
||||
int tokenOffset = scanner.getTokenOffset();
|
||||
int tokenEnd = scanner.getTokenEnd();
|
||||
String tokenText = scanner.getTokenText();
|
||||
|
||||
log.info("Stating calculating completions for {} at offset {}.", doc.getId().getUri(), offset);
|
||||
|
||||
|
||||
Optional<IJavaProject> foundProject = this.projectFinder.find(doc.getId());
|
||||
if (foundProject.isPresent()) {
|
||||
IJavaProject project = foundProject.get();
|
||||
log.info("Project found is {}", project.getElementName());
|
||||
|
||||
String prefix = tokenText.substring(0, offset - tokenOffset);
|
||||
if (prefix.startsWith("\"")) {
|
||||
prefix = prefix.substring(1);
|
||||
}
|
||||
|
||||
log.info("Prefix is '{}'", prefix);
|
||||
|
||||
String beanClass = identifyBeanClass(node);
|
||||
if (beanClass != null && beanClass.length() > 0) {
|
||||
|
||||
log.info("Bean class '{}'", beanClass);
|
||||
|
||||
final String searchPrefix = prefix;
|
||||
return propertyNameCandidateMethods(project, beanClass)
|
||||
.filter(method -> getPropertyName(method).startsWith(searchPrefix))
|
||||
|
||||
@@ -65,9 +65,14 @@ public class TypeCompletionProposalProvider implements XMLCompletionProvider {
|
||||
int tokenOffset = scanner.getTokenOffset();
|
||||
int tokenEnd = scanner.getTokenEnd();
|
||||
String tokenText = scanner.getTokenText();
|
||||
|
||||
log.info("Stating calculating completions for {} at offset {}.", doc.getId().getUri(), offset);
|
||||
log.info("Allowed proposals packagesAllowed={} classesAllowed={} interfacesAllowed={} enumsAllowed={}", packagesAllowed, classesAllowed, interfacesAllowed, enumsAllowed);
|
||||
|
||||
Optional<IJavaProject> foundProject = this.projectFinder.find(doc.getId());
|
||||
if (foundProject.isPresent()) {
|
||||
log.info("Project found is {}", foundProject.get().getElementName());
|
||||
|
||||
IJavaProject project = foundProject.get();
|
||||
|
||||
String prefix = tokenText.substring(0, offset - tokenOffset);
|
||||
@@ -78,6 +83,8 @@ public class TypeCompletionProposalProvider implements XMLCompletionProvider {
|
||||
// Flux<Tuple2<IType, Double>> types = project.getIndex().fuzzySearchTypes(prefix, true, true);
|
||||
// Flux<Tuple2<IType, Double>> types = project.getIndex().camelcaseSearchTypes(prefix, true, true);
|
||||
|
||||
log.info("Prefix is '{}'", prefix);
|
||||
|
||||
JavaCodeCompleteParams params = new JavaCodeCompleteParams(project.getLocationUri().toString(), prefix, true, true);
|
||||
CompletableFuture<List<JavaCodeCompleteData>> completions = server.getClient().javaCodeComplete(params);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user