Skip to content
This repository was archived by the owner on Apr 23, 2025. It is now read-only.

Commit e4fd73d

Browse files
committed
fix: made sure telemetry sender is initialized (#926)
Signed-off-by: Andre Dietisheim <[email protected]>
1 parent 7703793 commit e4fd73d

File tree

3 files changed

+40
-23
lines changed

3 files changed

+40
-23
lines changed

src/main/java/org/jboss/tools/intellij/openshift/actions/HelmAction.java

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@
1111
package org.jboss.tools.intellij.openshift.actions;
1212

1313
import com.intellij.openapi.actionSystem.AnActionEvent;
14+
import com.redhat.devtools.intellij.common.actions.StructureTreeAction;
15+
import java.util.Arrays;
16+
import javax.swing.tree.TreePath;
1417
import org.jboss.tools.intellij.openshift.telemetry.TelemetrySender;
1518
import org.jboss.tools.intellij.openshift.utils.helm.Helm;
1619
import org.jetbrains.annotations.NotNull;
1720
import org.slf4j.Logger;
1821
import org.slf4j.LoggerFactory;
1922

20-
import javax.swing.tree.TreePath;
21-
2223
import static org.jboss.tools.intellij.openshift.telemetry.TelemetryService.PREFIX_ACTION;
2324

2425
public abstract class HelmAction extends TelemetryAction {
@@ -31,12 +32,27 @@ protected HelmAction(Class... filters) {
3132

3233
@Override
3334
public void actionPerformed(AnActionEvent anActionEvent, TreePath path, Object selected) {
35+
// not invoked
36+
}
37+
38+
@Override
39+
public void actionPerformed(AnActionEvent anActionEvent, TreePath[] path, Object[] selected) {
3440
setTelemetrySender(new TelemetrySender(PREFIX_ACTION + getTelemetryActionName()));
3541
Helm helm = getHelm(anActionEvent);
3642
if (helm == null) {
3743
return;
3844
}
39-
this.actionPerformedOnSelectedObject(anActionEvent, getElement(selected), helm);
45+
if (selected.length == 0 || path.length == 0) {
46+
actionPerformed(anActionEvent, (TreePath) null, null);
47+
} else if (selected.length == 1) {
48+
Object selectedElement = getElement(selected[0]);
49+
actionPerformedOnSelectedObject(anActionEvent, selectedElement, helm);
50+
} else {
51+
Object[] selectedElements = Arrays.stream(selected)
52+
.map(StructureTreeAction::getElement)
53+
.toArray();
54+
actionPerformedOnSelectedObjects(anActionEvent, selectedElements, helm);
55+
}
4056
}
4157

4258
protected Helm getHelm(AnActionEvent anActionEvent) {
@@ -52,4 +68,7 @@ public void actionPerformedOnSelectedObject(AnActionEvent anActionEvent, Object
5268
// noop implementation
5369
}
5470

71+
public void actionPerformedOnSelectedObjects(AnActionEvent anActionEvent, Object[] selected, @NotNull Helm helm) {
72+
// noop implementation
73+
}
5574
}

src/main/java/org/jboss/tools/intellij/openshift/actions/helm/RemoveRepositoriesAction.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@
1919
import java.util.Arrays;
2020
import java.util.List;
2121
import java.util.stream.Collectors;
22-
import javax.swing.tree.TreePath;
2322
import org.jboss.tools.intellij.openshift.actions.HelmAction;
2423
import org.jboss.tools.intellij.openshift.telemetry.TelemetryService;
2524
import org.jboss.tools.intellij.openshift.tree.application.ApplicationsRootNode;
2625
import org.jboss.tools.intellij.openshift.tree.application.HelmRepositoryNode;
2726
import org.jboss.tools.intellij.openshift.tree.application.ProcessingNode;
2827
import org.jboss.tools.intellij.openshift.utils.helm.Helm;
28+
import org.jetbrains.annotations.NotNull;
2929
import org.jetbrains.annotations.Nullable;
3030

3131
import static org.jboss.tools.intellij.openshift.actions.ActionUtils.runWithProgress;
@@ -35,12 +35,13 @@
3535
public class RemoveRepositoriesAction extends HelmAction {
3636

3737
@Override
38-
public void actionPerformed(AnActionEvent anActionEvent, TreePath[] path, Object[] selected) {
39-
Helm helm = getHelm(anActionEvent);
40-
if (helm == null) {
41-
return;
42-
}
43-
Project project = getEventProject(anActionEvent);
38+
public void actionPerformedOnSelectedObject(AnActionEvent event, Object selected, @NotNull Helm helm) {
39+
actionPerformedOnSelectedObjects(event, new Object[] { selected }, helm);
40+
}
41+
42+
@Override
43+
public void actionPerformedOnSelectedObjects(AnActionEvent event, Object[] selected, @NotNull Helm helm) {
44+
Project project = getEventProject(event);
4445
List<HelmRepositoryNode> repositories = toHelmRepositoryNodes(selected);
4546
if (repositories == null
4647
|| repositories.isEmpty()) {

src/main/java/org/jboss/tools/intellij/openshift/actions/helm/UninstallReleaseAction.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,35 +14,33 @@
1414
import com.intellij.openapi.progress.ProgressIndicator;
1515
import com.intellij.openapi.project.Project;
1616
import com.intellij.openapi.ui.Messages;
17-
import com.redhat.devtools.intellij.common.actions.StructureTreeAction;
1817
import com.redhat.devtools.intellij.common.utils.UIHelper;
18+
import java.util.Arrays;
19+
import java.util.List;
20+
import java.util.stream.Collectors;
1921
import org.jboss.tools.intellij.openshift.actions.HelmAction;
2022
import org.jboss.tools.intellij.openshift.telemetry.TelemetryService;
2123
import org.jboss.tools.intellij.openshift.tree.application.ApplicationsRootNode;
2224
import org.jboss.tools.intellij.openshift.tree.application.ChartReleaseNode;
2325
import org.jboss.tools.intellij.openshift.tree.application.ProcessingNode;
2426
import org.jboss.tools.intellij.openshift.utils.helm.Helm;
27+
import org.jetbrains.annotations.NotNull;
2528
import org.jetbrains.annotations.Nullable;
2629

27-
import javax.swing.tree.TreePath;
28-
import java.util.Arrays;
29-
import java.util.List;
30-
import java.util.stream.Collectors;
31-
3230
import static org.jboss.tools.intellij.openshift.actions.ActionUtils.runWithProgress;
3331
import static org.jboss.tools.intellij.openshift.actions.NodeUtils.clearProcessing;
3432
import static org.jboss.tools.intellij.openshift.actions.NodeUtils.setProcessing;
3533

3634
public class UninstallReleaseAction extends HelmAction {
3735

36+
@Override
37+
public void actionPerformedOnSelectedObject(AnActionEvent event, Object selected, @NotNull Helm helm) {
38+
actionPerformedOnSelectedObjects(event, new Object[] { selected }, helm);
39+
}
3840

3941
@Override
40-
public void actionPerformed(AnActionEvent anActionEvent, TreePath[] path, Object[] selected) {
41-
Helm helm = getHelm(anActionEvent);
42-
if (helm == null) {
43-
return;
44-
}
45-
Project project = getEventProject(anActionEvent);
42+
public void actionPerformedOnSelectedObjects(AnActionEvent event, Object[] selected, @NotNull Helm helm) {
43+
Project project = getEventProject(event);
4644
List<ChartReleaseNode> releases = toChartReleaseNodes(selected);
4745
if (releases == null
4846
|| releases.isEmpty()) {
@@ -80,7 +78,6 @@ private static List<ChartReleaseNode> toChartReleaseNodes(Object[] selected) {
8078
}
8179

8280
return Arrays.stream(selected)
83-
.map(StructureTreeAction::getElement)
8481
.filter(ChartReleaseNode.class::isInstance)
8582
.map(ChartReleaseNode.class::cast)
8683
.collect(Collectors.toList());

0 commit comments

Comments
 (0)