Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
import org.springframework.ide.vscode.boot.java.data.jpa.queries.JpqlSupportState;
import org.springframework.ide.vscode.boot.java.data.jpa.queries.QueryJdtAstReconciler;
import org.springframework.ide.vscode.boot.java.handlers.Reconciler;
import org.springframework.ide.vscode.boot.java.reconcilers.ApplicationModuleListenerReconciler;
import org.springframework.ide.vscode.boot.java.reconcilers.AddConfigurationIfBeansPresentReconciler;
import org.springframework.ide.vscode.boot.java.reconcilers.AuthorizeHttpRequestsReconciler;
import org.springframework.ide.vscode.boot.java.reconcilers.AutowiredFieldIntoConstructorParameterReconciler;
Expand Down Expand Up @@ -152,6 +153,10 @@ public class JdtConfig {
@Bean ModulithTypeReferenceViolationReconciler modulithTypeReferenceViolationReconciler() {
return new ModulithTypeReferenceViolationReconciler();
}

@Bean ApplicationModuleListenerReconciler applicationModuleListenerReconciler(SimpleLanguageServer server) {
return new ApplicationModuleListenerReconciler(server.getQuickfixRegistry());
}

@Bean NoRepoAnnotationReconciler noRepoAnnotationReconciler(SimpleLanguageServer server) {
return new NoRepoAnnotationReconciler(server.getQuickfixRegistry());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,14 @@ public class Annotations {

public static final String CONTEXT_CONFIGURATION = "org.springframework.test.context.ContextConfiguration";
public static final String SCHEDULED = "org.springframework.scheduling.annotation.Scheduled";
public static final String ASYNC = "org.springframework.scheduling.annotation.Async";

public static final String TRANSACTIONAL = "org.springframework.transaction.annotation.Transactional";
public static final String TRANSACTIONAL_EVENT_LISTENER = "org.springframework.transaction.event.TransactionalEventListener";

// Modulith

public static final String APPLICATION_MODULE_LISTENER = "org.springframework.modulith.events.ApplicationModuleListener";

// Beans

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
package org.springframework.ide.vscode.boot.java;

import static org.springframework.ide.vscode.commons.languageserver.reconcile.ProblemSeverity.ERROR;
import static org.springframework.ide.vscode.commons.languageserver.reconcile.ProblemSeverity.WARNING;

import java.util.List;

Expand All @@ -28,7 +29,10 @@ public enum Boot3JavaProblemType implements ProblemType {

JAVA_TYPE_NOT_SUPPORTED(ERROR, "Type no supported as of Spring Boot 3", "Type not supported as of Spring Boot 3"),
FACTORIES_KEY_NOT_SUPPORTED(ERROR, "Spring factories key not supported", "Spring factories key not supported"),
MODULITH_TYPE_REF_VIOLATION(ERROR, "Modulith restricted type reference", "Modulith restricted type reference");
MODULITH_TYPE_REF_VIOLATION(ERROR, "Modulith restricted type reference", "Modulith restricted type reference"),
MODULITH_APPLICATION_MODULE_LISTENER(WARNING,
"Prefer @ApplicationModuleListener over @Async + @Transactional + @TransactionalEventListener",
"Use @ApplicationModuleListener");

private final ProblemSeverity defaultSeverity;
private final String description;
Expand Down