Skip to content

Commit aea6626

Browse files
authored
Merge pull request #2259 from digma-ai/fix-nullable-env
make newEnv in environmentChanged nullable Closes #2257
2 parents 86bdd98 + f80d31b commit aea6626

File tree

7 files changed

+16
-8
lines changed

7 files changed

+16
-8
lines changed

ide-common/src/main/java/org/digma/intellij/plugin/analytics/Environment.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,9 @@ public Env findById(@NotNull String envId) {
187187
}
188188

189189
private Optional<Env> find(@Nullable String envIdToFind) {
190+
if(envIdToFind == null){
191+
return Optional.empty();
192+
}
190193
return environments.stream().filter(env -> env.getId().equals(envIdToFind)).findFirst();
191194
}
192195

@@ -223,7 +226,7 @@ private void notifyEnvironmentsListChange() {
223226
}
224227

225228

226-
private void notifyEnvironmentChanged(Env oldEnv, Env newEnv) {
229+
private void notifyEnvironmentChanged(@Nullable Env oldEnv, @Nullable Env newEnv) {
227230
if (project.isDisposed()) {
228231
return;
229232
}

ide-common/src/main/java/org/digma/intellij/plugin/analytics/EnvironmentChangeHandler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.digma.intellij.plugin.log.Log;
1111
import org.digma.intellij.plugin.model.rest.environment.Env;
1212
import org.digma.intellij.plugin.psi.*;
13+
import org.jetbrains.annotations.Nullable;
1314

1415
import java.util.List;
1516

@@ -30,7 +31,7 @@ public EnvironmentChangeHandler(Project project) {
3031
//environmentChanged must run in a background thread.
3132
//when fired by the Environment object it is on background
3233
@Override
33-
public void environmentChanged(Env newEnv) {
34+
public void environmentChanged(@Nullable Env newEnv) {
3435

3536
try {
3637

ide-common/src/main/java/org/digma/intellij/plugin/analytics/EnvironmentChanged.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.intellij.util.messages.Topic;
44
import org.digma.intellij.plugin.model.rest.environment.Env;
5+
import org.jetbrains.annotations.Nullable;
56

67
import java.util.List;
78

@@ -10,7 +11,7 @@ public interface EnvironmentChanged {
1011
@com.intellij.util.messages.Topic.ProjectLevel
1112
Topic<EnvironmentChanged> ENVIRONMENT_CHANGED_TOPIC = Topic.create("ENVIRONMENT_CHANGED_TOPIC", EnvironmentChanged.class);
1213

13-
void environmentChanged(Env newEnv);
14+
void environmentChanged(@Nullable Env newEnv);
1415

1516
void environmentsListChanged(List<Env> newEnvironments);
1617

ide-common/src/main/java/org/digma/intellij/plugin/document/CodeLensProviderDocumentInfoAndEnvironmentChangedListener.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.digma.intellij.plugin.common.Backgroundable;
77
import org.digma.intellij.plugin.errorreporting.ErrorReporter;
88
import org.digma.intellij.plugin.model.rest.environment.Env;
9+
import org.jetbrains.annotations.Nullable;
910

1011
import java.util.List;
1112

@@ -32,7 +33,7 @@ public void documentInfoChanged(PsiFile psiFile) {
3233
}
3334

3435
@Override
35-
public void environmentChanged(Env newEnv) {
36+
public void environmentChanged(@Nullable Env newEnv) {
3637
Backgroundable.executeOnPooledThread(() -> {
3738
try {
3839
var changedPsiFiles = CodeLensProvider.getInstance(project).refresh();

ide-common/src/main/java/org/digma/intellij/plugin/psi/LanguageService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,7 @@ default String detectMethodBySpan(@NotNull Project project, String spanCodeObjec
394394
/**
395395
* let language services do something on environmentChanged. for example to update the current method context.
396396
*/
397-
default void environmentChanged(Env newEnv) {
397+
default void environmentChanged(@Nullable Env newEnv) {
398398
//nothing to do , implement for specific languages if necessary
399399
}
400400

src/main/kotlin/org/digma/intellij/plugin/ui/jcef/JCefComponent.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,9 +222,11 @@ private constructor(
222222

223223
project.messageBus.connect(parentDisposable).subscribe(
224224
EnvironmentChanged.ENVIRONMENT_CHANGED_TOPIC, object : EnvironmentChanged {
225-
override fun environmentChanged(newEnv: Env) {
225+
override fun environmentChanged(newEnv: Env?) {
226226
try {
227-
sendCurrentEnvironment(jbCefBrowser.cefBrowser, newEnv)
227+
newEnv?.let {
228+
sendCurrentEnvironment(jbCefBrowser.cefBrowser, it)
229+
}
228230
} catch (e: Throwable) {
229231
ErrorReporter.getInstance().reportError("JCefComponent.environmentChanged", e)
230232
}

src/main/kotlin/org/digma/intellij/plugin/ui/recentactivity/RecentActivityUpdater.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class RecentActivityUpdater(val project: Project) : Disposable {
5151

5252
init {
5353
project.messageBus.connect(this).subscribe<EnvironmentChanged>(EnvironmentChanged.ENVIRONMENT_CHANGED_TOPIC, object : EnvironmentChanged {
54-
override fun environmentChanged(newEnv: Env) {
54+
override fun environmentChanged(newEnv: Env?) {
5555
Backgroundable.ensurePooledThreadWithoutReadAccess { updateLatestActivities() }
5656
}
5757

0 commit comments

Comments
 (0)