Skip to content

Commit 9dc7c89

Browse files
committed
Fix unchecked types in override combo box
1 parent aac24ed commit 9dc7c89

File tree

1 file changed

+28
-8
lines changed

1 file changed

+28
-8
lines changed

src/main/java/org/infernus/idea/checkstyle/toolwindow/CheckStyleToolWindowPanel.java

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@
2828
import org.infernus.idea.checkstyle.exception.CheckStylePluginParseException;
2929
import org.infernus.idea.checkstyle.exception.CheckstyleToolException;
3030
import org.infernus.idea.checkstyle.model.ConfigurationLocation;
31+
import org.infernus.idea.checkstyle.model.ConfigurationType;
3132
import org.infernus.idea.checkstyle.model.ScanResult;
33+
import org.jetbrains.annotations.NotNull;
3234
import org.jetbrains.annotations.Nullable;
3335

3436
import javax.swing.*;
@@ -39,6 +41,7 @@
3941
import javax.swing.tree.TreePath;
4042
import java.awt.*;
4143
import java.awt.event.*;
44+
import java.io.InputStream;
4245
import java.util.*;
4346
import java.util.List;
4447
import java.util.regex.Matcher;
@@ -61,15 +64,14 @@ public class CheckStyleToolWindowPanel extends JPanel implements ConfigurationLi
6164

6265
private static final String MAIN_ACTION_GROUP = "CheckStylePluginActions";
6366
private static final String TREE_ACTION_GROUP = "CheckStylePluginTreeActions";
64-
private static final String DEFAULT_OVERRIDE = message("plugin.toolwindow.default-file");
6567

66-
private static final Map<Pattern, String> CHECKSTYLE_ERROR_PATTERNS
67-
= new HashMap<>();
68+
private static final Map<Pattern, String> CHECKSTYLE_ERROR_PATTERNS = new HashMap<>();
6869

6970
private final Project project;
7071
private final ToolWindow toolWindow;
71-
private final ComboBox configurationOverrideCombo = new ComboBox();
72-
private final DefaultComboBoxModel configurationOverrideModel = new DefaultComboBoxModel();
72+
private final ConfigurationLocation defaultOverride;
73+
private final ComboBox<ConfigurationLocation> configurationOverrideCombo = new ComboBox<>();
74+
private final DefaultComboBoxModel<ConfigurationLocation> configurationOverrideModel = new DefaultComboBoxModel<>();
7375

7476
private boolean displayingErrors = true;
7577
private boolean displayingWarnings = true;
@@ -107,6 +109,8 @@ public CheckStyleToolWindowPanel(final ToolWindow toolWindow, final Project proj
107109
this.toolWindow = toolWindow;
108110
this.project = project;
109111

112+
defaultOverride = createDefaultOverride();
113+
110114
configurationChanged();
111115
configurationManager().addConfigurationListener(this);
112116

@@ -135,9 +139,25 @@ public CheckStyleToolWindowPanel(final ToolWindow toolWindow, final Project proj
135139
mainToolbar.getComponent().setVisible(true);
136140
}
137141

142+
private @NotNull ConfigurationLocation createDefaultOverride() {
143+
final ConfigurationLocation overrideLocation = new ConfigurationLocation("default", ConfigurationType.LOCAL_FILE, project) {
144+
@Override
145+
protected @NotNull InputStream resolveFile(@NotNull final ClassLoader checkstyleClassLoader) {
146+
throw new UnsupportedOperationException("Default override should never be resolved to a file.");
147+
}
148+
149+
@Override
150+
public Object clone() {
151+
return this;
152+
}
153+
};
154+
overrideLocation.setDescription(message("plugin.toolwindow.default-file"));
155+
return overrideLocation;
156+
}
157+
138158
public ConfigurationLocation getSelectedOverride() {
139159
final Object selectedItem = configurationOverrideModel.getSelectedItem();
140-
if (DEFAULT_OVERRIDE.equals(selectedItem)) {
160+
if (defaultOverride.equals(selectedItem)) {
141161
return null;
142162
}
143163
return (ConfigurationLocation) selectedItem;
@@ -216,9 +236,9 @@ public static CheckStyleToolWindowPanel panelFor(final Project project) {
216236
public void configurationChanged() {
217237
configurationOverrideModel.removeAllElements();
218238

219-
configurationOverrideModel.addElement(DEFAULT_OVERRIDE);
239+
configurationOverrideModel.addElement(defaultOverride);
220240
configurationManager().getCurrent().getLocations().forEach(configurationOverrideModel::addElement);
221-
configurationOverrideModel.setSelectedItem(DEFAULT_OVERRIDE);
241+
configurationOverrideModel.setSelectedItem(defaultOverride);
222242
}
223243

224244
public void showToolWindow() {

0 commit comments

Comments
 (0)