From: <vam...@us...> - 2023-10-13 20:06:53
|
Revision: 25693 http://sourceforge.net/p/jedit/svn/25693 Author: vampire0 Date: 2023-10-13 20:06:50 +0000 (Fri, 13 Oct 2023) Log Message: ----------- Fix unchecked and deprecated compiler warnings Modified Paths: -------------- jEdit/trunk/org/gjt/sp/jedit/browser/VFSBrowser.java jEdit/trunk/org/gjt/sp/jedit/gui/BufferSwitcher.java jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/EncodingWidgetFactory.java jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/FoldWidgetFactory.java jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/ModeWidgetFactory.java jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/WrapWidgetFactory.java jEdit/trunk/org/gjt/sp/jedit/pluginmgr/PluginManagerProgress.java jEdit/trunk/org/gjt/sp/jedit/pluginmgr/Roster.java jEdit/trunk/org/gjt/sp/jedit/syntax/ParserRuleSet.java jEdit/trunk/org/gjt/sp/util/StandardUtilities.java Modified: jEdit/trunk/org/gjt/sp/jedit/browser/VFSBrowser.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/browser/VFSBrowser.java 2023-10-13 19:09:34 UTC (rev 25692) +++ jEdit/trunk/org/gjt/sp/jedit/browser/VFSBrowser.java 2023-10-13 20:06:50 UTC (rev 25693) @@ -51,6 +51,8 @@ import org.gjt.sp.jedit.buffer.JEditBuffer; import org.gjt.sp.util.*; import org.gjt.sp.jedit.menu.MenuItemTextComparator; + +import static org.gjt.sp.util.StandardUtilities.castUnchecked; //}}} /** @@ -731,7 +733,7 @@ } final Task task = new DeleteBrowserTask(this, session, vfs, files[i].getDeletePath()); - TaskManager.instance.addTaskListener(new TaskAdapter() + TaskManager.instance.addTaskListener(new TaskListener() { @Override public void done(Task t) @@ -1037,7 +1039,7 @@ return getSelectedFiles(); } } //}}} - + //{{{ paste() method /** * Paste the file contained in the clipboard. @@ -1045,7 +1047,6 @@ * @param file the target, it can be a file, in that case it will be pasted to * the parent directory, or a directory. */ - @SuppressWarnings({"unchecked"}) public void paste(VFSFile file) throws IOException, UnsupportedFlavorException { if (file == null) @@ -1079,7 +1080,7 @@ List<String> sources = new ArrayList<>(); if (transferable.isDataFlavorSupported(ListVFSFileTransferable.jEditFileList)) { - Iterable<VFSFile> copiedFiles = (Iterable<VFSFile>) transferable.getTransferData(ListVFSFileTransferable.jEditFileList); + Iterable<VFSFile> copiedFiles = castUnchecked(transferable.getTransferData(ListVFSFileTransferable.jEditFileList)); for (VFSFile copiedFile : copiedFiles) { sources.add(copiedFile.getPath()); @@ -1087,7 +1088,7 @@ } else if (transferable.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { - Iterable<File> copiedFiles = (Iterable<File>) transferable.getTransferData(DataFlavor.javaFileListFlavor); + Iterable<File> copiedFiles = castUnchecked(transferable.getTransferData(DataFlavor.javaFileListFlavor)); for (File copiedFile : copiedFiles) { sources.add(copiedFile.getAbsolutePath()); @@ -1797,7 +1798,7 @@ } } } //}}} - + //{{{ Action class class Action extends AbstractAction { @@ -1887,7 +1888,7 @@ @Override void doPopup() - { + { if (popup==null) createPopupMenu(); GenericGUIUtilities.showPopupMenu(popup, this, 0, getHeight(), false); } Modified: jEdit/trunk/org/gjt/sp/jedit/gui/BufferSwitcher.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/gui/BufferSwitcher.java 2023-10-13 19:09:34 UTC (rev 25692) +++ jEdit/trunk/org/gjt/sp/jedit/gui/BufferSwitcher.java 2023-10-13 20:06:50 UTC (rev 25693) @@ -41,6 +41,8 @@ import org.gjt.sp.jedit.bufferset.BufferSetManager; import org.gjt.sp.jedit.msg.PropertiesChanged; import org.gjt.sp.util.ThreadUtilities; + +import static org.gjt.sp.util.StandardUtilities.castUnchecked; //}}} /** BufferSwitcher class @@ -223,7 +225,7 @@ Accessible acc = ui.getAccessibleChild(null, 0); if (acc instanceof BasicComboPopup) { - JList list = ((BasicComboPopup)acc).getList(); + JList<Object> list = ((BasicComboPopup)acc).getList(); list.setDragEnabled(true); list.setDropMode(DropMode.INSERT); list.setTransferHandler(new BufferSwitcherTransferHandler()); @@ -444,7 +446,7 @@ @Override public Transferable createTransferable(JComponent c) { - JList<Buffer> list = (JList<Buffer>) c; + JList<Buffer> list = castUnchecked(c); Buffer buffer = list.getSelectedValue(); if (buffer == null) { Modified: jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/EncodingWidgetFactory.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/EncodingWidgetFactory.java 2023-10-13 19:09:34 UTC (rev 25692) +++ jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/EncodingWidgetFactory.java 2023-10-13 20:06:50 UTC (rev 25693) @@ -38,11 +38,12 @@ import javax.swing.*; import static java.lang.String.CASE_INSENSITIVE_ORDER; +import static org.gjt.sp.util.StandardUtilities.castUnchecked; //}}} /** * @author Matthieu Casanova - * @since jEdit 4.3pre14 + * @since jEdit 4.3pre14 */ public class EncodingWidgetFactory implements StatusWidgetFactory { @@ -73,7 +74,7 @@ currentEncoding, listSelectionEvent -> EventQueue.invokeLater(() -> { - JList<String> list = (JList<String>) listSelectionEvent.getSource(); + JList<String> list = castUnchecked(listSelectionEvent.getSource()); String selectedValue = list.getSelectedValue(); int selectedOption = DialogChooser.openChooserWindow(view, jEdit.getProperty("buffer.encoding.reload", new String[]{selectedValue}), Modified: jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/FoldWidgetFactory.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/FoldWidgetFactory.java 2023-10-13 19:09:34 UTC (rev 25692) +++ jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/FoldWidgetFactory.java 2023-10-13 20:06:50 UTC (rev 25693) @@ -38,11 +38,13 @@ import org.gjt.sp.jedit.msg.BufferUpdate; import javax.swing.*; + +import static org.gjt.sp.util.StandardUtilities.castUnchecked; //}}} /** * @author Matthieu Casanova - * @since jEdit 4.3pre14 + * @since jEdit 4.3pre14 */ public class FoldWidgetFactory implements StatusWidgetFactory { @@ -71,7 +73,7 @@ currentFoldingMode, listSelectionEvent -> EventQueue.invokeLater(() -> { - JList<String> list = (JList<String>) listSelectionEvent.getSource(); + JList<String> list = castUnchecked(listSelectionEvent.getSource()); String selectedValue = list.getSelectedValue(); buffer.setStringProperty("folding", selectedValue); buffer.propertiesChanged(); Modified: jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/ModeWidgetFactory.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/ModeWidgetFactory.java 2023-10-13 19:09:34 UTC (rev 25692) +++ jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/ModeWidgetFactory.java 2023-10-13 20:06:50 UTC (rev 25693) @@ -33,6 +33,8 @@ import org.gjt.sp.jedit.gui.DialogChooser; import javax.swing.*; + +import static org.gjt.sp.util.StandardUtilities.castUnchecked; //}}} /** @@ -67,7 +69,7 @@ currentMode, listSelectionEvent -> EventQueue.invokeLater(() -> { - JList<Mode> list = (JList<Mode>) listSelectionEvent.getSource(); + JList<Mode> list = castUnchecked(listSelectionEvent.getSource()); buffer.setMode(list.getSelectedValue()); }), modes); Modified: jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/WrapWidgetFactory.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/WrapWidgetFactory.java 2023-10-13 19:09:34 UTC (rev 25692) +++ jEdit/trunk/org/gjt/sp/jedit/gui/statusbar/WrapWidgetFactory.java 2023-10-13 20:06:50 UTC (rev 25693) @@ -37,6 +37,7 @@ import static org.gjt.sp.jedit.buffer.WordWrap.none; import static org.gjt.sp.jedit.buffer.WordWrap.soft; +import static org.gjt.sp.util.StandardUtilities.castUnchecked; //}}} /** @@ -70,7 +71,7 @@ currentFoldingMode, listSelectionEvent -> EventQueue.invokeLater(() -> { - JList<WordWrap> list = (JList<WordWrap>) listSelectionEvent.getSource(); + JList<WordWrap> list = castUnchecked(listSelectionEvent.getSource()); WordWrap selectedValue = list.getSelectedValue(); buffer.setWordWrap(selectedValue); EditBus.send(new BufferUpdate(buffer,null,BufferUpdate.PROPERTIES_CHANGED)); Modified: jEdit/trunk/org/gjt/sp/jedit/pluginmgr/PluginManagerProgress.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/pluginmgr/PluginManagerProgress.java 2023-10-13 19:09:34 UTC (rev 25692) +++ jEdit/trunk/org/gjt/sp/jedit/pluginmgr/PluginManagerProgress.java 2023-10-13 20:06:50 UTC (rev 25693) @@ -60,8 +60,8 @@ JButton stop = new JButton(jEdit.getProperty("plugin-manager.progress.stop")); stop.addActionListener(e -> { - // TODO: Thread.stop is deprecated, this should probably be Thread.interrupt - thread.stop(); + roster.abortWorkThreadOperations(); + thread.interrupt(); dispose(); }); JPanel panel = new JPanel(new FlowLayout( @@ -172,12 +172,10 @@ } @Override - @SuppressWarnings("deprecation") public void windowClosing(WindowEvent evt) { - // TODO: Thread.stop is deprecated, this should probably be Thread.interrupt - thread.stop(); - dispose(); + roster.abortWorkThreadOperations(); + thread.interrupt(); } } //}}} //}}} Modified: jEdit/trunk/org/gjt/sp/jedit/pluginmgr/Roster.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/pluginmgr/Roster.java 2023-10-13 19:09:34 UTC (rev 25692) +++ jEdit/trunk/org/gjt/sp/jedit/pluginmgr/Roster.java 2023-10-13 20:06:50 UTC (rev 25693) @@ -28,6 +28,7 @@ import java.awt.Component; import java.io.*; import java.net.*; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.zip.*; @@ -51,6 +52,7 @@ //{{{ Roster constructor Roster() { + abortWorkThreadOperations = new AtomicBoolean(false); operations = new ArrayList<>(); toLoad = new ArrayList<>(); } //}}} @@ -77,6 +79,12 @@ toLoad.add(path); } //}}} + //{{{ abortWorkThreadOperations() method + void abortWorkThreadOperations() + { + abortWorkThreadOperations.set(true); + } //}}} + //{{{ getOperation() method public Operation getOperation(int i) { @@ -103,7 +111,7 @@ op.runInWorkThread(progress); progress.done(); - if (Thread.interrupted()) + if (abortWorkThreadOperations.get()) return; } } //}}} @@ -143,6 +151,7 @@ //{{{ Private members private static File downloadDir; + private final AtomicBoolean abortWorkThreadOperations; private final List<Operation> operations; private final List<String> toLoad; Modified: jEdit/trunk/org/gjt/sp/jedit/syntax/ParserRuleSet.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/syntax/ParserRuleSet.java 2023-10-13 19:09:34 UTC (rev 25692) +++ jEdit/trunk/org/gjt/sp/jedit/syntax/ParserRuleSet.java 2023-10-13 20:06:50 UTC (rev 25693) @@ -25,8 +25,11 @@ //{{{ Imports import org.jedit.annotation.Nonnull; +import java.lang.reflect.Array; import java.util.*; import java.util.regex.Pattern; + +import static org.gjt.sp.util.StandardUtilities.castUnchecked; //}}} /** @@ -54,7 +57,7 @@ this.setName = setName; allRules = new ArrayList<>(); rulesForNull = new ArrayList<>(); - ruleArray = new List[BASE_CACHE]; + ruleArray = castUnchecked(Array.newInstance(List.class, BASE_CACHE)); imports = new ArrayList<>(); } //}}} Modified: jEdit/trunk/org/gjt/sp/util/StandardUtilities.java =================================================================== --- jEdit/trunk/org/gjt/sp/util/StandardUtilities.java 2023-10-13 19:09:34 UTC (rev 25692) +++ jEdit/trunk/org/gjt/sp/util/StandardUtilities.java 2023-10-13 20:06:50 UTC (rev 25693) @@ -754,4 +754,18 @@ } } // }}} + + //{{{ castUnchecked() method + /** + * Casts the given argument to the needed return type. + * + * @param castee The object to be casted unchecked + * @throws ClassCastException if the cast does not succeed + * @since jEdit 5.7 + */ + @SuppressWarnings("unchecked") + public static <T> T castUnchecked(Object castee) + { + return (T) castee; + } //}}} } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |