Skip to content

Commit

Permalink
LSP: Provide code completion for named resources even when generic NB…
Browse files Browse the repository at this point in the history
…LS Java support is disabled.
  • Loading branch information
dbalek committed Oct 15, 2024
1 parent d28a518 commit b8a70d0
Show file tree
Hide file tree
Showing 6 changed files with 580 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
*/
public class CloudAssetsJavaCompletion implements Processor {

private static final String DATA_SOURCE = "java.sql.DataSource";
private static final String JAVAX_DATA_SOURCE = "javax.sql.DataSource";
private static final String JAKARTA_NAMED_ANNOTATION = "jakarta.inject.Named";
private static final String MICRONAUT_JDBC_REPOSITORY_ANNOTATION = "io.micronaut.data.jdbc.annotation.JdbcRepository";
private static final String MICRONAUT_OBJECT_STORAGE = "io.micronaut.objectstorage.ObjectStorageOperations";
Expand Down Expand Up @@ -106,8 +106,8 @@ private Class<? extends OCIItem> element2ReferenceClass(Element element) {
Elements elements = this.processingEnv.get().getElementUtils();
Types types = this.processingEnv.get().getTypeUtils();
tm = types.erasure(tm);
TypeElement dataSource = elements.getTypeElement(DATA_SOURCE);
if (dataSource != null && types.isAssignable(tm, dataSource.asType())) {
TypeElement javaxDataSource = elements.getTypeElement(JAVAX_DATA_SOURCE);
if (javaxDataSource != null && types.isAssignable(tm, javaxDataSource.asType())) {
return DatabaseItem.class;
}
TypeElement objectStorage = elements.getTypeElement(MICRONAUT_OBJECT_STORAGE);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ build.xml.script.CRC32=78def90a
build.xml.stylesheet.CRC32=15ca8a54@2.87
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
nbproject/build-impl.xml.data.CRC32=0f964ba8
nbproject/build-impl.xml.data.CRC32=15a234a7
nbproject/build-impl.xml.script.CRC32=a765edfb
nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.87
nbproject/build-impl.xml.stylesheet.CRC32=49aa68b0@2.97
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@

javac.source=1.8
javac.compilerargs=-Xlint -Xlint:-serial
requires.nb.javac=true
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,93 @@
<data xmlns="http://www.netbeans.org/ns/nb-module-project/3">
<code-name-base>org.netbeans.modules.nbcode.integration.java</code-name-base>
<suite-component/>
<module-dependencies/>
<module-dependencies>
<dependency>
<code-name-base>org.netbeans.api.lsp</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>1</release-version>
<specification-version>1.29</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.netbeans.libs.javacapi</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>8.50.0.3</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.netbeans.modules.editor.mimelookup</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>1</release-version>
<specification-version>1.66</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.netbeans.modules.java.lexer</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>1</release-version>
<specification-version>1.62</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.netbeans.modules.java.source.base</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>2.70.0.6.4.3.8.1</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.netbeans.modules.lexer</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>2</release-version>
<specification-version>1.89.0.1</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.netbeans.modules.parsing.api</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<release-version>1</release-version>
<specification-version>9.33.0.8</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.filesystems</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>9.39</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.util</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>9.34</specification-version>
</run-dependency>
</dependency>
<dependency>
<code-name-base>org.openide.util.lookup</code-name-base>
<build-prerequisite/>
<compile-dependency/>
<run-dependency>
<specification-version>8.60</specification-version>
</run-dependency>
</dependency>
</module-dependencies>
<public-packages/>
</data>
</configuration>
Expand Down
Loading

0 comments on commit b8a70d0

Please sign in to comment.