You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2020/02/08 04:55:44 UTC
[groovy] 02/02: remove Xlint warnings
This is an automated email from the ASF dual-hosted git repository.
paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 724cc0da8aa177189b9c63826e9612f78adc353d
Author: Paul King <pa...@asert.com.au>
AuthorDate: Sat Feb 8 14:55:27 2020 +1000
remove Xlint warnings
---
.../main/java/groovy/swing/model/FormModel.java | 6 +--
.../main/java/groovy/swing/table/TableSorter.java | 36 +++++++--------
.../swing/binding/ClosureTriggerBinding.java | 13 ++++--
.../groovy/swing/binding/PropertyBinding.java | 18 +++++---
.../groovy/swing/extensions/SwingExtensions.java | 54 +++++++++++-----------
5 files changed, 68 insertions(+), 59 deletions(-)
diff --git a/subprojects/groovy-swing/src/main/java/groovy/swing/model/FormModel.java b/subprojects/groovy-swing/src/main/java/groovy/swing/model/FormModel.java
index e1057a7..03aaec8 100644
--- a/subprojects/groovy-swing/src/main/java/groovy/swing/model/FormModel.java
+++ b/subprojects/groovy-swing/src/main/java/groovy/swing/model/FormModel.java
@@ -26,13 +26,13 @@ import java.util.Map;
* PropertyModel, TableModel, TreeModel or nested FormModel instances
*/
public class FormModel {
- private Map fieldModels;
+ private Map<String, Object> fieldModels;
public FormModel() {
- this(new HashMap());
+ this(new HashMap<>());
}
- public FormModel(Map fieldModels) {
+ public FormModel(Map<String, Object> fieldModels) {
this.fieldModels = fieldModels;
}
diff --git a/subprojects/groovy-swing/src/main/java/groovy/swing/table/TableSorter.java b/subprojects/groovy-swing/src/main/java/groovy/swing/table/TableSorter.java
index 018db20..188d2be 100644
--- a/subprojects/groovy-swing/src/main/java/groovy/swing/table/TableSorter.java
+++ b/subprojects/groovy-swing/src/main/java/groovy/swing/table/TableSorter.java
@@ -18,7 +18,7 @@
*/
package groovy.swing.table;
-import javax.swing.*;
+import javax.swing.JTable;
import javax.swing.event.TableModelEvent;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableColumnModel;
@@ -29,7 +29,9 @@ import java.util.Date;
import java.util.Vector;
/**
- * A sorter for TableModels. The sorter has a model (conforming to TableModel)
+ * A sorter for TableModels.
+ * <p>
+ * The sorter has a model (conforming to TableModel)
* and itself implements TableModel. TableSorter does not store or copy
* the data in the TableModel, instead it maintains an array of
* integers which it keeps the same size as the number of rows in its
@@ -44,8 +46,8 @@ import java.util.Vector;
*/
public class TableSorter extends TableMap {
private static final int[] EMPTY_INT_ARRAY = new int[0];
- int indexes[];
- Vector sortingColumns = new Vector();
+ int[] indexes;
+ Vector<Integer> sortingColumns = new Vector<>();
boolean ascending = true;
int lastSortedColumn = -1;
@@ -63,7 +65,7 @@ public class TableSorter extends TableMap {
}
public int compareRowsByColumn(int row1, int row2, int column) {
- Class type = model.getColumnClass(column);
+ Class<?> type = model.getColumnClass(column);
TableModel data = model;
// Check for nulls
@@ -80,12 +82,12 @@ public class TableSorter extends TableMap {
return 1;
}
-/* We copy all returned values from the getValue call in case
-an optimised model is reusing one object to return many values.
-The Number subclasses in the JDK are immutable and so will not be used in
-this way but other subclasses of Number might want to do this to save
-space and avoid unnecessary heap allocation.
-*/
+ /* We copy all returned values from the getValue call in case
+ an optimised model is reusing one object to return many values.
+ The Number subclasses in the JDK are immutable and so will not be used in
+ this way but other subclasses of Number might want to do this to save
+ space and avoid unnecessary heap allocation.
+ */
if (type.getSuperclass() == java.lang.Number.class) {
return compareNumbers(data, row1, column, row2);
}
@@ -119,10 +121,8 @@ space and avoid unnecessary heap allocation.
}
private static int compareBooleans(TableModel data, int row1, int column, int row2) {
- Boolean bool1 = (Boolean) data.getValueAt(row1, column);
- boolean b1 = bool1;
- Boolean bool2 = (Boolean) data.getValueAt(row2, column);
- boolean b2 = bool2;
+ boolean b1 = (Boolean) data.getValueAt(row1, column);
+ boolean b2 = (Boolean) data.getValueAt(row2, column);
if (b1 == b2)
return 0;
@@ -225,7 +225,7 @@ space and avoid unnecessary heap allocation.
// arrays. The number of compares appears to vary between N-1 and
// NlogN depending on the initial order but the main reason for
// using it here is that, unlike qsort, it is stable.
- public void shuttlesort(int from[], int to[], int low, int high) {
+ public void shuttlesort(int[] from, int[] to, int low, int high) {
if (high - low < 2) {
return;
}
@@ -298,7 +298,7 @@ space and avoid unnecessary heap allocation.
super.tableChanged(new TableModelEvent(this));
}
- // There is no-where else to put this.
+ // There is nowhere else to put this.
// Add a mouse listener to the Table to trigger a table sort
// when a column heading is clicked in the JTable.
public void addMouseListenerToHeaderInTable(JTable table) {
@@ -321,6 +321,4 @@ space and avoid unnecessary heap allocation.
th.addMouseListener(listMouseListener);
}
-
}
-
diff --git a/subprojects/groovy-swing/src/main/java/org/apache/groovy/swing/binding/ClosureTriggerBinding.java b/subprojects/groovy-swing/src/main/java/org/apache/groovy/swing/binding/ClosureTriggerBinding.java
index d2484c3..283b12d 100644
--- a/subprojects/groovy-swing/src/main/java/org/apache/groovy/swing/binding/ClosureTriggerBinding.java
+++ b/subprojects/groovy-swing/src/main/java/org/apache/groovy/swing/binding/ClosureTriggerBinding.java
@@ -23,6 +23,7 @@ import groovy.lang.GroovyObjectSupport;
import groovy.lang.Reference;
import org.codehaus.groovy.reflection.ReflectionUtils;
+import java.lang.reflect.AccessibleObject;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.security.PrivilegedAction;
@@ -78,16 +79,16 @@ public class ClosureTriggerBinding implements TriggerBinding, SourceBinding {
Object[] args = new Object[paramCount];
args[0] = delegate;
for (int i = 1; i < paramCount; i++) {
- args[i] = new Reference(new BindPathSnooper());
+ args[i] = new Reference<Object>(new BindPathSnooper());
}
try {
- boolean acc = constructor.isAccessible();
+ boolean acc = isAccessible(constructor);
ReflectionUtils.trySetAccessible(constructor);
Closure localCopy = (Closure) constructor.newInstance(args);
if (!acc) { constructor.setAccessible(false); }
localCopy.setResolveStrategy(Closure.DELEGATE_ONLY);
for (Field f:closureClass.getDeclaredFields()) {
- acc = f.isAccessible();
+ acc = isAccessible(f);
ReflectionUtils.trySetAccessible(f);
if (f.getType() == Reference.class) {
delegate.fields.put(f.getName(),
@@ -128,6 +129,12 @@ public class ClosureTriggerBinding implements TriggerBinding, SourceBinding {
return fb;
}
+ // TODO when JDK9+ is minimum, use canAccess and remove suppression
+ @SuppressWarnings("deprecation")
+ private boolean isAccessible(AccessibleObject accessibleObject) {
+ return accessibleObject.isAccessible();
+ }
+
public Object getSourceValue() {
return closure.call();
}
diff --git a/subprojects/groovy-swing/src/main/java/org/apache/groovy/swing/binding/PropertyBinding.java b/subprojects/groovy-swing/src/main/java/org/apache/groovy/swing/binding/PropertyBinding.java
index a485f35..c28b855 100644
--- a/subprojects/groovy-swing/src/main/java/org/apache/groovy/swing/binding/PropertyBinding.java
+++ b/subprojects/groovy-swing/src/main/java/org/apache/groovy/swing/binding/PropertyBinding.java
@@ -27,8 +27,8 @@ import org.codehaus.groovy.runtime.InvokerInvocationException;
import org.codehaus.groovy.runtime.ResourceGroovyMethods;
import org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation;
-import javax.swing.*;
-import java.awt.*;
+import javax.swing.SwingUtilities;
+import java.awt.Component;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyVetoException;
@@ -44,14 +44,13 @@ import java.util.concurrent.Executors;
import java.util.logging.Level;
import java.util.logging.Logger;
-
/**
* @since Groovy 1.1
*/
public class PropertyBinding implements SourceBinding, TargetBinding, TriggerBinding {
private static final ExecutorService DEFAULT_EXECUTOR_SERVICE = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
private static final Logger LOG = Logger.getLogger(PropertyBinding.class.getName());
- private static final Map<Class, Class<? extends PropertyAccessor>> ACCESSORS = new LinkedHashMap<Class, Class<? extends PropertyAccessor>>();
+ private static final Map<Class<?>, Class<? extends PropertyAccessor>> ACCESSORS = new LinkedHashMap<>();
private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
static {
@@ -75,7 +74,7 @@ public class PropertyBinding implements SourceBinding, TargetBinding, TriggerBin
String[] parts = line.split("=");
if (parts.length == 2) {
try {
- ACCESSORS.put(cl.loadClass(parts[0].trim()), (Class<? extends PropertyAccessor>) cl.loadClass(parts[1].trim()));
+ ACCESSORS.put(cl.loadClass(parts[0].trim()), getaAccessorClass(cl, parts[1]));
} catch (ClassNotFoundException e) {
// ignore
// TODO should use a low priority logger
@@ -85,6 +84,11 @@ public class PropertyBinding implements SourceBinding, TargetBinding, TriggerBin
}
}
+ @SuppressWarnings("unchecked")
+ private static Class<? extends PropertyAccessor> getaAccessorClass(ClassLoader cl, String part) throws ClassNotFoundException {
+ return (Class<? extends PropertyAccessor>) cl.loadClass(part.trim());
+ }
+
private static Enumeration<URL> fetchUrlsFor(String path) {
try {
return Thread.currentThread().getContextClassLoader().getResources(path);
@@ -138,14 +142,14 @@ public class PropertyBinding implements SourceBinding, TargetBinding, TriggerBin
}
}
- private PropertyAccessor fetchPropertyAccessor(Class klass) {
+ private PropertyAccessor fetchPropertyAccessor(Class<?> klass) {
if (klass == null) {
return DefaultPropertyAccessor.INSTANCE;
}
Class<? extends PropertyAccessor> accessorClass = ACCESSORS.get(klass);
if (accessorClass == null) {
- for (Class c : klass.getInterfaces()) {
+ for (Class<?> c : klass.getInterfaces()) {
PropertyAccessor propertyAccessor = fetchPropertyAccessor(c);
if (propertyAccessor != DefaultPropertyAccessor.INSTANCE) {
return propertyAccessor;
diff --git a/subprojects/groovy-swing/src/main/java/org/apache/groovy/swing/extensions/SwingExtensions.java b/subprojects/groovy-swing/src/main/java/org/apache/groovy/swing/extensions/SwingExtensions.java
index 2a4da3d..18a1a4c 100644
--- a/subprojects/groovy-swing/src/main/java/org/apache/groovy/swing/extensions/SwingExtensions.java
+++ b/subprojects/groovy-swing/src/main/java/org/apache/groovy/swing/extensions/SwingExtensions.java
@@ -122,9 +122,9 @@ public class SwingExtensions {
public static AbstractButton getAt(ButtonGroup self, int index) {
int size = self.getButtonCount();
if (index < 0 || index >= size) return null;
- Enumeration buttons = self.getElements();
+ Enumeration<AbstractButton> buttons = self.getElements();
for (int i = 0; i <= index; i++) {
- AbstractButton b = (AbstractButton) buttons.nextElement();
+ AbstractButton b = buttons.nextElement();
if (i == index) return b;
}
return null;
@@ -162,7 +162,7 @@ public class SwingExtensions {
* @return the size of the ListModel
* @since 1.6.4
*/
- public static int size(ListModel self) {
+ public static int size(ListModel<?> self) {
return self.getSize();
}
@@ -174,7 +174,7 @@ public class SwingExtensions {
* @return the element at the given index
* @since 1.6.4
*/
- public static Object getAt(ListModel self, int index) {
+ public static Object getAt(ListModel<?> self, int index) {
return self.getElementAt(index);
}
@@ -185,8 +185,8 @@ public class SwingExtensions {
* @return an Iterator for a ListModel
* @since 1.6.4
*/
- public static Iterator iterator(final ListModel self) {
- return new Iterator() {
+ public static Iterator<?> iterator(final ListModel<?> self) {
+ return new Iterator<Object>() {
private int index = 0;
public boolean hasNext() {
@@ -212,7 +212,7 @@ public class SwingExtensions {
* @return same listModel, after the value was added to it.
* @since 1.6.4
*/
- public static DefaultListModel leftShift(DefaultListModel self, Object e) {
+ public static DefaultListModel<?> leftShift(DefaultListModel<Object> self, Object e) {
self.addElement(e);
return self;
}
@@ -228,7 +228,7 @@ public class SwingExtensions {
* @param e the element to insert at the given index
* @since 1.6.4
*/
- public static void putAt(DefaultListModel self, int index, Object e) {
+ public static void putAt(DefaultListModel<Object> self, int index, Object e) {
self.set(index, e);
}
@@ -238,7 +238,7 @@ public class SwingExtensions {
* @param self a DefaultListModel
* @since 1.6.4
*/
- public static void clear(DefaultListModel self) {
+ public static void clear(DefaultListModel<?> self) {
self.removeAllElements();
}
@@ -249,8 +249,8 @@ public class SwingExtensions {
* @return an Iterator for a DefaultListModel
* @since 1.6.4
*/
- public static Iterator iterator(final DefaultListModel self) {
- return new Iterator() {
+ public static Iterator<?> iterator(final DefaultListModel<Object> self) {
+ return new Iterator<Object>() {
private int index = 0;
public boolean hasNext() {
@@ -299,7 +299,7 @@ public class SwingExtensions {
* @return same comboBox, after the value was added to it.
* @since 1.6.4
*/
- public static JComboBox leftShift(JComboBox self, Object i) {
+ public static JComboBox<?> leftShift(JComboBox<Object> self, Object i) {
self.addItem(i);
return self;
}
@@ -310,7 +310,7 @@ public class SwingExtensions {
* @param self a JComboBox
* @since 1.6.4
*/
- public static void clear(JComboBox self) {
+ public static void clear(JComboBox<?> self) {
self.removeAllItems();
}
@@ -321,7 +321,7 @@ public class SwingExtensions {
* @return an Iterator for a ComboBox
* @since 1.6.4
*/
- public static Iterator iterator(JComboBox self) {
+ public static Iterator<?> iterator(JComboBox<Object> self) {
return iterator(self.getModel());
}
@@ -334,7 +334,7 @@ public class SwingExtensions {
* @return same model, after the value was added to it.
* @since 1.6.4
*/
- public static MutableComboBoxModel leftShift(MutableComboBoxModel self, Object i) {
+ public static MutableComboBoxModel<?> leftShift(MutableComboBoxModel<Object> self, Object i) {
self.addElement(i);
return self;
}
@@ -350,7 +350,7 @@ public class SwingExtensions {
* @param i the item to insert at the given index
* @since 1.6.4
*/
- public static void putAt(MutableComboBoxModel self, int index, Object i) {
+ public static void putAt(MutableComboBoxModel<Object> self, int index, Object i) {
self.insertElementAt(i, index);
}
@@ -361,8 +361,8 @@ public class SwingExtensions {
* @return an Iterator for a MutableComboBoxModel
* @since 1.6.4
*/
- public static Iterator iterator(final MutableComboBoxModel self) {
- return new Iterator() {
+ public static Iterator<?> iterator(final MutableComboBoxModel<Object> self) {
+ return new Iterator<Object>() {
private int index = 0;
public boolean hasNext() {
@@ -385,7 +385,7 @@ public class SwingExtensions {
* @param self a DefaultComboBoxModel
* @since 1.7.3
*/
- public static void clear(DefaultComboBoxModel self) {
+ public static void clear(DefaultComboBoxModel<?> self) {
self.removeAllElements();
}
@@ -424,8 +424,8 @@ public class SwingExtensions {
* @return an Iterator for a TableModel
* @since 1.6.4
*/
- public static Iterator iterator(final TableModel self) {
- return new Iterator() {
+ public static Iterator<?> iterator(final TableModel self) {
+ return new Iterator<Object>() {
private int row = 0;
public boolean hasNext() {
@@ -497,7 +497,7 @@ public class SwingExtensions {
int cols = delegate.getColumnCount();
Object[] rowData = new Object[cols];
int i = 0;
- for (Iterator it = DefaultGroovyMethods.iterator(row); it.hasNext() && i < cols;) {
+ for (Iterator<?> it = DefaultGroovyMethods.iterator(row); it.hasNext() && i < cols;) {
rowData[i++] = it.next();
}
return rowData;
@@ -510,8 +510,8 @@ public class SwingExtensions {
* @return an Iterator for a DefaultTableModel
* @since 1.6.4
*/
- public static Iterator iterator(final DefaultTableModel self) {
- return new Iterator() {
+ public static Iterator<?> iterator(final DefaultTableModel self) {
+ return new Iterator<Object>() {
private int row = 0;
public boolean hasNext() {
@@ -640,7 +640,7 @@ public class SwingExtensions {
* @return an Iterator for a TreePath
* @since 1.6.4
*/
- public static Iterator iterator(TreePath self) {
+ public static Iterator<?> iterator(TreePath self) {
return DefaultGroovyMethods.iterator(self.getPath());
}
@@ -833,7 +833,7 @@ public class SwingExtensions {
* @return an Iterator for a JMenu
* @since 1.6.4
*/
- public static Iterator/*<MenuElement>*/ iterator(JMenu self) {
+ public static Iterator<Component> iterator(JMenu self) {
return DefaultGroovyMethods.iterator(self.getMenuComponents());
}
@@ -881,7 +881,7 @@ public class SwingExtensions {
* @return an Iterator for a JMenuBar
* @since 1.6.4
*/
- public static Iterator/*<JMenu>*/ iterator(JMenuBar self) {
+ public static Iterator<MenuElement> iterator(JMenuBar self) {
return DefaultGroovyMethods.iterator(self.getSubElements());
}