Logging to debug issue #415

This commit is contained in:
BoykoAlex
2020-03-10 11:41:01 -04:00
parent 29e6555cb9
commit e8610bb448
2 changed files with 20 additions and 0 deletions

View File

@@ -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))

View File

@@ -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);