Skip to content

Commit dadfba5

Browse files
committed
update to handle npe
1 parent 0fee3d4 commit dadfba5

12 files changed

+60
-13
lines changed

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-java-sdk/src/main/java/com/microsoft/azure/toolkit/intellij/java/sdk/analyzer/ConnectionStringCheck.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
import com.microsoft.azure.toolkit.intellij.java.sdk.models.RuleConfig;
1414
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.HelperUtils;
1515
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.RuleConfigLoader;
16+
17+
import java.util.Collections;
1618
import java.util.Map;
1719
import org.jetbrains.annotations.NotNull;
1820

@@ -23,7 +25,9 @@ public class ConnectionStringCheck extends LocalInspectionTool {
2325

2426
@Override
2527
public @NotNull PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
26-
return new ConnectionStringCheckVisitor(holder, RuleConfigLoader.getInstance().getRuleConfigs());
28+
final RuleConfigLoader loader = RuleConfigLoader.getInstance();
29+
final Map<String, RuleConfig> rules = (loader != null) ? loader.getRuleConfigs() : Collections.emptyMap();
30+
return new ConnectionStringCheckVisitor(holder, rules);
2731
}
2832

2933
static class ConnectionStringCheckVisitor extends JavaElementVisitor {

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-java-sdk/src/main/java/com/microsoft/azure/toolkit/intellij/java/sdk/analyzer/DisableAutoCompleteCheck.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
import com.microsoft.azure.toolkit.intellij.java.sdk.models.RuleConfig;
1818
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.HelperUtils;
1919
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.RuleConfigLoader;
20+
21+
import java.util.Collections;
2022
import java.util.Map;
2123
import org.jetbrains.annotations.NotNull;
2224

@@ -37,9 +39,11 @@ public class DisableAutoCompleteCheck extends LocalInspectionTool {
3739
@NotNull
3840
@Override
3941
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
40-
return new DisableAutoCompleteVisitor(holder, RuleConfigLoader.getInstance().getRuleConfigs());
42+
final RuleConfigLoader loader = RuleConfigLoader.getInstance();
43+
final Map<String, RuleConfig> rules = (loader != null) ? loader.getRuleConfigs() : Collections.emptyMap();
44+
return new DisableAutoCompleteVisitor(holder, rules);
4145
}
42-
46+
4347
/**
4448
* This class extends the JavaElementVisitor and is used to visit the Java elements in the code. It checks for the
4549
* usage of Azure SDK ServiceBusReceiver & ServiceBusProcessor clients and whether the auto-complete feature is

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-java-sdk/src/main/java/com/microsoft/azure/toolkit/intellij/java/sdk/analyzer/DynamicClientCreationCheck.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import com.microsoft.azure.toolkit.intellij.java.sdk.models.RuleConfig;
2222
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.HelperUtils;
2323
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.RuleConfigLoader;
24+
25+
import java.util.Collections;
2426
import java.util.Map;
2527
import org.jetbrains.annotations.NotNull;
2628

@@ -32,7 +34,9 @@ public class DynamicClientCreationCheck extends LocalInspectionTool {
3234
@NotNull
3335
@Override
3436
public JavaElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
35-
return new DynamicClientCreationVisitor(holder, RuleConfigLoader.getInstance().getRuleConfigs());
37+
final RuleConfigLoader loader = RuleConfigLoader.getInstance();
38+
final Map<String, RuleConfig> rules = (loader != null) ? loader.getRuleConfigs() : Collections.emptyMap();
39+
return new DynamicClientCreationVisitor(holder, rules);
3640
}
3741

3842
static class DynamicClientCreationVisitor extends JavaElementVisitor {

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-java-sdk/src/main/java/com/microsoft/azure/toolkit/intellij/java/sdk/analyzer/EventHubConsumerAsyncClientCheck.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import com.microsoft.azure.toolkit.intellij.java.sdk.models.RuleConfig;
88
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.HelperUtils;
99
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.RuleConfigLoader;
10+
11+
import java.util.Collections;
1012
import java.util.Map;
1113
import org.jetbrains.annotations.NotNull;
1214

@@ -24,8 +26,10 @@ public class EventHubConsumerAsyncClientCheck extends LocalInspectionTool {
2426
@NotNull
2527
@Override
2628
public JavaElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
29+
final RuleConfigLoader loader = RuleConfigLoader.getInstance();
30+
final Map<String, RuleConfig> rules = (loader != null) ? loader.getRuleConfigs() : Collections.emptyMap();
2731
return new EventHubConsumerAsyncClientCheck.EventHubConsumerAsyncClientVisitor(holder,
28-
RuleConfigLoader.getInstance().getRuleConfigs());
32+
rules);
2933
}
3034

3135
/**

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-java-sdk/src/main/java/com/microsoft/azure/toolkit/intellij/java/sdk/analyzer/GetCompletionsCheck.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
import com.microsoft.azure.toolkit.intellij.java.sdk.models.RuleConfig;
1414
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.HelperUtils;
1515
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.RuleConfigLoader;
16+
17+
import java.util.Collections;
1618
import java.util.Map;
1719
import org.jetbrains.annotations.NotNull;
1820

@@ -23,7 +25,9 @@ public class GetCompletionsCheck extends LocalInspectionTool {
2325

2426
@Override
2527
public @NotNull PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
26-
return new GetCompletionsCheck.GetCompletionsVisitor(holder, RuleConfigLoader.getInstance().getRuleConfigs());
28+
final RuleConfigLoader loader = RuleConfigLoader.getInstance();
29+
final Map<String, RuleConfig> rules = (loader != null) ? loader.getRuleConfigs() : Collections.emptyMap();
30+
return new GetCompletionsCheck.GetCompletionsVisitor(holder, rules);
2731
}
2832

2933
static class GetCompletionsVisitor extends JavaElementVisitor {

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-java-sdk/src/main/java/com/microsoft/azure/toolkit/intellij/java/sdk/analyzer/GetSyncPollerOnPollerFluxCheck.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import com.microsoft.azure.toolkit.intellij.java.sdk.models.RuleConfig;
1313
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.HelperUtils;
1414
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.RuleConfigLoader;
15+
16+
import java.util.Collections;
1517
import java.util.Map;
1618
import org.jetbrains.annotations.NotNull;
1719

@@ -40,7 +42,9 @@ public class GetSyncPollerOnPollerFluxCheck extends LocalInspectionTool {
4042
@NotNull
4143
@Override
4244
public JavaElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
43-
return new GetSyncPollerOnPollerFluxVisitor(holder, RuleConfigLoader.getInstance().getRuleConfigs());
45+
final RuleConfigLoader loader = RuleConfigLoader.getInstance();
46+
final Map<String, RuleConfig> rules = (loader != null) ? loader.getRuleConfigs() : Collections.emptyMap();
47+
return new GetSyncPollerOnPollerFluxVisitor(holder, rules);
4448
}
4549

4650
/**

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-java-sdk/src/main/java/com/microsoft/azure/toolkit/intellij/java/sdk/analyzer/HardcodedAPIKeysAndTokensCheck.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
import com.microsoft.azure.toolkit.intellij.java.sdk.models.RuleConfig;
2424
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.HelperUtils;
2525
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.RuleConfigLoader;
26+
27+
import java.util.Collections;
2628
import java.util.Map;
2729
import java.util.regex.Pattern;
2830
import javax.annotation.Nonnull;
@@ -38,7 +40,9 @@ public class HardcodedAPIKeysAndTokensCheck extends LocalInspectionTool {
3840
@NotNull
3941
@Override
4042
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
41-
return new APIKeysAndTokensVisitor(holder, RuleConfigLoader.getInstance().getRuleConfigs());
43+
final RuleConfigLoader loader = RuleConfigLoader.getInstance();
44+
final Map<String, RuleConfig> rules = (loader != null) ? loader.getRuleConfigs() : Collections.emptyMap();
45+
return new APIKeysAndTokensVisitor(holder, rules);
4246
}
4347

4448
/**

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-java-sdk/src/main/java/com/microsoft/azure/toolkit/intellij/java/sdk/analyzer/ServiceBusReceiverAsyncClientCheck.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
import com.microsoft.azure.toolkit.intellij.java.sdk.models.RuleConfig;
88
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.HelperUtils;
99
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.RuleConfigLoader;
10+
11+
import java.util.Collections;
1012
import java.util.Map;
1113
import org.jetbrains.annotations.NotNull;
1214

@@ -18,8 +20,10 @@ public class ServiceBusReceiverAsyncClientCheck extends LocalInspectionTool {
1820
@NotNull
1921
@Override
2022
public JavaElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
23+
final RuleConfigLoader loader = RuleConfigLoader.getInstance();
24+
final Map<String, RuleConfig> rules = (loader != null) ? loader.getRuleConfigs() : Collections.emptyMap();
2125
return new ServiceBusReceiverAsyncClientCheck.ServiceBusReceiverAsyncClientCheckVisitor(holder,
22-
RuleConfigLoader.getInstance().getRuleConfigs());
26+
rules);
2327
}
2428

2529

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-java-sdk/src/main/java/com/microsoft/azure/toolkit/intellij/java/sdk/analyzer/SingleOperationInLoopTextAnalyticsCheck.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
import com.intellij.psi.PsiWhileStatement;
2424
import com.microsoft.azure.toolkit.intellij.java.sdk.models.RuleConfig;
2525
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.RuleConfigLoader;
26+
27+
import java.util.Collections;
2628
import java.util.List;
2729
import java.util.Map;
2830
import org.jetbrains.annotations.NotNull;
@@ -53,7 +55,9 @@ public class SingleOperationInLoopTextAnalyticsCheck extends LocalInspectionTool
5355
@NotNull
5456
@Override
5557
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
56-
return new SingleOperationInLoopVisitor(holder, RuleConfigLoader.getInstance().getRuleConfigs());
58+
final RuleConfigLoader loader = RuleConfigLoader.getInstance();
59+
final Map<String, RuleConfig> rules = (loader != null) ? loader.getRuleConfigs() : Collections.emptyMap();
60+
return new SingleOperationInLoopVisitor(holder, rules);
5761
}
5862

5963
/**

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-java-sdk/src/main/java/com/microsoft/azure/toolkit/intellij/java/sdk/analyzer/StorageUploadWithoutLengthCheck.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.microsoft.azure.toolkit.intellij.java.sdk.models.RuleConfig;
2121
import com.microsoft.azure.toolkit.intellij.java.sdk.utils.RuleConfigLoader;
2222
import java.util.Arrays;
23+
import java.util.Collections;
2324
import java.util.List;
2425
import java.util.Map;
2526
import org.jetbrains.annotations.NotNull;
@@ -32,7 +33,9 @@ public class StorageUploadWithoutLengthCheck extends LocalInspectionTool {
3233
@NotNull
3334
@Override
3435
public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
35-
return new StorageUploadVisitor(holder, RuleConfigLoader.getInstance().getRuleConfigs());
36+
final RuleConfigLoader loader = RuleConfigLoader.getInstance();
37+
final Map<String, RuleConfig> rules = (loader != null) ? loader.getRuleConfigs() : Collections.emptyMap();
38+
return new StorageUploadVisitor(holder, rules);
3639
}
3740

3841
/**

0 commit comments

Comments
 (0)