From 71bc55b470bf66102788c6cb70b29c58da44a1a3 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Sat, 17 Oct 2015 16:49:37 +0000 Subject: [PATCH] lint core, i2psnark, jetty, susimail --- .../java/src/org/klomp/snark/I2PSnarkUtil.java | 1 + .../java/src/org/klomp/snark/SnarkManager.java | 2 +- .../java/src/org/klomp/snark/dht/DHTTracker.java | 1 + .../i2psnark/java/src/org/klomp/snark/dht/KRPC.java | 4 ++++ apps/jetty/java/src/net/i2p/jetty/JettyStart.java | 1 + .../net/i2p/servlet/filters/XSSRequestWrapper.java | 1 + .../src/org/mortbay/servlet/MultiPartRequest.java | 1 + .../java/src/org/mortbay/util/ByteArrayPool.java | 13 +++++++------ .../src/src/i2p/susi/webmail/MailCache.java | 2 ++ apps/susimail/src/src/i2p/susi/webmail/WebMail.java | 6 +++--- .../net/i2p/client/naming/MetaNamingService.java | 4 ++-- .../src/net/i2p/client/naming/NamingService.java | 2 +- core/java/src/net/i2p/crypto/CryptoConstants.java | 4 ++-- core/java/src/net/i2p/crypto/ECConstants.java | 4 ++-- core/java/src/net/i2p/data/ByteArray.java | 7 +++---- core/java/src/net/i2p/util/FileUtil.java | 10 +++++----- 16 files changed, 37 insertions(+), 26 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java index e75ef301e4..96f3804358 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java +++ b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java @@ -136,6 +136,7 @@ public class I2PSnarkUtil { public boolean configured() { return _configured; } + @SuppressWarnings({"unchecked", "rawtypes"}) public void setI2CPConfig(String i2cpHost, int i2cpPort, Map opts) { if (i2cpHost != null) _i2cpHost = i2cpHost; diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java index bb1684e5f5..03d4b8dc05 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java +++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java @@ -2191,7 +2191,7 @@ public class SnarkManager implements CompleteListener { */ private void addMagnets() { boolean changed = false; - for (Iterator iter = _config.keySet().iterator(); iter.hasNext(); ) { + for (Iterator<?> iter = _config.keySet().iterator(); iter.hasNext(); ) { String k = (String) iter.next(); if (k.startsWith(PROP_META_MAGNET_PREFIX)) { String b64 = k.substring(PROP_META_MAGNET_PREFIX.length()); diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/DHTTracker.java b/apps/i2psnark/java/src/org/klomp/snark/dht/DHTTracker.java index 3b7b1d99c1..784d8e6bff 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/dht/DHTTracker.java +++ b/apps/i2psnark/java/src/org/klomp/snark/dht/DHTTracker.java @@ -106,6 +106,7 @@ class DHTTracker { * @param noSeeds true if we do not want seeds in the result * @return list or empty list (never null) */ + @SuppressWarnings({"unchecked", "rawtypes"}) List<Hash> getPeers(InfoHash ih, int max, boolean noSeeds) { Peers peers = _torrents.get(ih); if (peers == null || max <= 0) diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java b/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java index 58e0f39fca..0e6da1c22b 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java +++ b/apps/i2psnark/java/src/org/klomp/snark/dht/KRPC.java @@ -243,6 +243,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT { * @param maxWait how long to wait for each to reply (not total) must be > 0 * @param parallel how many outstanding at once (unimplemented, always 1) */ + @SuppressWarnings("unchecked") private void explore(NID target, int maxNodes, long maxWait, int parallel) { List<NodeInfo> nodes = _knownNodes.findClosest(target, maxNodes); if (nodes.isEmpty()) { @@ -327,6 +328,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT { * @param noSeeds true if we do not want seeds in the result * @return possibly empty (never null) */ + @SuppressWarnings("unchecked") public Collection<Hash> getPeersAndAnnounce(byte[] ih, int max, long maxWait, int annMax, long annMaxWait, boolean isSeed, boolean noSeeds) { @@ -858,6 +860,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT { * @param repliable true for all but announce * @return null on error */ + @SuppressWarnings("unchecked") private ReplyWaiter sendQuery(NodeInfo nInfo, Map<String, Object> map, boolean repliable) { if (nInfo.equals(_myNodeInfo)) throw new IllegalArgumentException("wtf don't send to ourselves"); @@ -907,6 +910,7 @@ public class KRPC implements I2PSessionMuxedListener, DHT { * @param toPort the query port, we will increment here * @return success */ + @SuppressWarnings("unchecked") private boolean sendResponse(NodeInfo nInfo, MsgID msgID, Map<String, Object> map) { if (nInfo.equals(_myNodeInfo)) throw new IllegalArgumentException("wtf don't send to ourselves"); diff --git a/apps/jetty/java/src/net/i2p/jetty/JettyStart.java b/apps/jetty/java/src/net/i2p/jetty/JettyStart.java index 6cac1cbae6..c5f9e2aaff 100644 --- a/apps/jetty/java/src/net/i2p/jetty/JettyStart.java +++ b/apps/jetty/java/src/net/i2p/jetty/JettyStart.java @@ -72,6 +72,7 @@ public class JettyStart implements ClientApp { /** * Modified from XmlConfiguration.main() */ + @SuppressWarnings({"unchecked", "rawtypes"}) public void parseArgs(String[] args) throws Exception { Properties properties=new Properties(); XmlConfiguration last=null; diff --git a/apps/jetty/java/src/net/i2p/servlet/filters/XSSRequestWrapper.java b/apps/jetty/java/src/net/i2p/servlet/filters/XSSRequestWrapper.java index b8b8d39919..54975964b0 100644 --- a/apps/jetty/java/src/net/i2p/servlet/filters/XSSRequestWrapper.java +++ b/apps/jetty/java/src/net/i2p/servlet/filters/XSSRequestWrapper.java @@ -84,6 +84,7 @@ public class XSSRequestWrapper extends HttpServletRequestWrapper { * Parameter names starting with "nofilter_" will not be filtered. */ @Override + @SuppressWarnings({"unchecked", "rawtypes"}) public Map getParameterMap() { Map rv = new HashMap(); for (Enumeration keys = getParameterNames(); keys.hasMoreElements(); ) { diff --git a/apps/jetty/java/src/org/mortbay/servlet/MultiPartRequest.java b/apps/jetty/java/src/org/mortbay/servlet/MultiPartRequest.java index 1c964b8f19..1cc3973fdb 100644 --- a/apps/jetty/java/src/org/mortbay/servlet/MultiPartRequest.java +++ b/apps/jetty/java/src/org/mortbay/servlet/MultiPartRequest.java @@ -219,6 +219,7 @@ public class MultiPartRequest } /* ------------------------------------------------------------ */ + @SuppressWarnings("rawtypes") public Hashtable[] getMultipleParams(String name) { List<Object> parts = _partMap.getValues(name); diff --git a/apps/jetty/java/src/org/mortbay/util/ByteArrayPool.java b/apps/jetty/java/src/org/mortbay/util/ByteArrayPool.java index 9a3f088fb6..0c98dded19 100644 --- a/apps/jetty/java/src/org/mortbay/util/ByteArrayPool.java +++ b/apps/jetty/java/src/org/mortbay/util/ByteArrayPool.java @@ -29,7 +29,7 @@ public class ByteArrayPool public static final int __POOL_SIZE= Integer.getInteger("org.mortbay.util.ByteArrayPool.pool_size",8).intValue(); - public static final ThreadLocal __pools=new BAThreadLocal(); + public static final ThreadLocal<byte[][]> __pools = new BAThreadLocal(); public static final AtomicInteger __slot = new AtomicInteger(); /* ------------------------------------------------------------ */ @@ -39,7 +39,7 @@ public class ByteArrayPool */ public static byte[] getByteArray(int size) { - byte[][] pool = (byte[][])__pools.get(); + byte[][] pool = __pools.get(); boolean full=true; for (int i=pool.length;i-->0;) { @@ -63,7 +63,7 @@ public class ByteArrayPool /* ------------------------------------------------------------ */ public static byte[] getByteArrayAtLeast(int minSize) { - byte[][] pool = (byte[][])__pools.get(); + byte[][] pool = __pools.get(); for (int i=pool.length;i-->0;) { if (pool[i]!=null && pool[i].length>=minSize) @@ -84,7 +84,7 @@ public class ByteArrayPool if (b==null) return; - byte[][] pool = (byte[][])__pools.get(); + byte[][] pool = __pools.get(); for (int i=pool.length;i-->0;) { if (pool[i]==null) @@ -103,9 +103,10 @@ public class ByteArrayPool /* ------------------------------------------------------------ */ /* ------------------------------------------------------------ */ - private static final class BAThreadLocal extends ThreadLocal + private static final class BAThreadLocal extends ThreadLocal<byte[][]> { - protected Object initialValue() + @Override + protected byte[][] initialValue() { return new byte[__POOL_SIZE][]; } diff --git a/apps/susimail/src/src/i2p/susi/webmail/MailCache.java b/apps/susimail/src/src/i2p/susi/webmail/MailCache.java index 45aa601b83..278a4e1200 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/MailCache.java +++ b/apps/susimail/src/src/i2p/susi/webmail/MailCache.java @@ -109,6 +109,7 @@ class MailCache { * @param mode CACHE_ONLY to not pull from pop server * @return An e-mail or null */ + @SuppressWarnings({"unchecked", "rawtypes"}) public Mail getMail(String uidl, FetchMode mode) { Mail mail = null, newMail = null; @@ -163,6 +164,7 @@ class MailCache { * @return true if any were fetched * @since 0.9.13 */ + @SuppressWarnings({"unchecked", "rawtypes"}) public boolean getMail(FetchMode mode) { if (mode == FetchMode.CACHE_ONLY) throw new IllegalArgumentException(); diff --git a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java index 5f6975bc51..9ff4b933b7 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java +++ b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java @@ -288,7 +288,7 @@ public class WebMail extends HttpServlet */ private static class SenderSorter extends SorterBase { - private final Comparator collator = Collator.getInstance(); + private final Comparator<Object> collator = Collator.getInstance(); public SenderSorter( MailCache mailCache ) { @@ -307,7 +307,7 @@ public class WebMail extends HttpServlet * @author susi */ private static class SubjectSorter extends SorterBase { - private final Comparator collator = Collator.getInstance(); + private final Comparator<Object> collator = Collator.getInstance(); public SubjectSorter( MailCache mailCache ) { @@ -2299,7 +2299,7 @@ public class WebMail extends HttpServlet /** * first prev next last */ - private static void showPageButtons(PrintWriter out, Folder folder) { + private static void showPageButtons(PrintWriter out, Folder<?> folder) { out.println( "<br>" + ( folder.isFirstPage() ? diff --git a/core/java/src/net/i2p/client/naming/MetaNamingService.java b/core/java/src/net/i2p/client/naming/MetaNamingService.java index ffae355a57..5a4ebd275d 100644 --- a/core/java/src/net/i2p/client/naming/MetaNamingService.java +++ b/core/java/src/net/i2p/client/naming/MetaNamingService.java @@ -41,8 +41,8 @@ public class MetaNamingService extends DummyNamingService { while (tok.hasMoreTokens()) { try { Class<?> cls = Class.forName(tok.nextToken()); - Constructor<?> con = cls.getConstructor(new Class[] { I2PAppContext.class }); - addNamingService((NamingService)con.newInstance(new Object[] { context }), false); + Constructor<?> con = cls.getConstructor(I2PAppContext.class); + addNamingService((NamingService)con.newInstance(), false); } catch (Exception ex) { } } diff --git a/core/java/src/net/i2p/client/naming/NamingService.java b/core/java/src/net/i2p/client/naming/NamingService.java index be9e598c21..78e04232d4 100644 --- a/core/java/src/net/i2p/client/naming/NamingService.java +++ b/core/java/src/net/i2p/client/naming/NamingService.java @@ -537,7 +537,7 @@ public abstract class NamingService { try { Class<?> cls = Class.forName(impl); Constructor<?> con = cls.getConstructor(I2PAppContext.class); - instance = (NamingService)con.newInstance(new Object[] { context }); + instance = (NamingService)con.newInstance(context); } catch (Exception ex) { Log log = context.logManager().getLog(NamingService.class); // Blockfile may throw RuntimeException but HostsTxt won't diff --git a/core/java/src/net/i2p/crypto/CryptoConstants.java b/core/java/src/net/i2p/crypto/CryptoConstants.java index 94facd366b..b9e0327dd3 100644 --- a/core/java/src/net/i2p/crypto/CryptoConstants.java +++ b/core/java/src/net/i2p/crypto/CryptoConstants.java @@ -92,8 +92,8 @@ public class CryptoConstants { if (ECConstants.isBCAvailable()) { try { Class<?> cls = Class.forName("org.bouncycastle.jce.spec.ElGamalParameterSpec"); - Constructor<?> con = cls.getConstructor(new Class[] {BigInteger.class, BigInteger.class}); - spec = (AlgorithmParameterSpec)con.newInstance(new Object[] {elgp, elgg}); + Constructor<?> con = cls.getConstructor(BigInteger.class, BigInteger.class); + spec = (AlgorithmParameterSpec)con.newInstance(elgp, elgg); //System.out.println("BC ElG spec loaded"); } catch (Exception e) { //System.out.println("BC ElG spec failed"); diff --git a/core/java/src/net/i2p/crypto/ECConstants.java b/core/java/src/net/i2p/crypto/ECConstants.java index affe6e4e8b..d9b111e234 100644 --- a/core/java/src/net/i2p/crypto/ECConstants.java +++ b/core/java/src/net/i2p/crypto/ECConstants.java @@ -42,8 +42,8 @@ class ECConstants { if (Security.getProvider("BC") == null) { try { Class<?> cls = Class.forName("org.bouncycastle.jce.provider.BouncyCastleProvider"); - Constructor<?> con = cls.getConstructor(new Class[0]); - Provider bc = (Provider)con.newInstance(new Object[0]); + Constructor<?> con = cls.getConstructor(); + Provider bc = (Provider)con.newInstance(); Security.addProvider(bc); log("Added BC provider"); loaded = true; diff --git a/core/java/src/net/i2p/data/ByteArray.java b/core/java/src/net/i2p/data/ByteArray.java index 1801b122e7..50670c760d 100644 --- a/core/java/src/net/i2p/data/ByteArray.java +++ b/core/java/src/net/i2p/data/ByteArray.java @@ -16,7 +16,7 @@ import java.io.Serializable; * maps, and the like. * */ -public class ByteArray implements Serializable, Comparable { +public class ByteArray implements Serializable, Comparable<ByteArray> { private byte[] _data; private int _valid; private int _offset; @@ -85,9 +85,8 @@ public class ByteArray implements Serializable, Comparable { return (llen == rlen) && DataHelper.eq(lhs, loff, rhs, roff, llen); } - public final int compareTo(Object obj) { - if (obj.getClass() != getClass()) throw new ClassCastException("invalid object: " + obj); - return DataHelper.compareTo(_data, ((ByteArray)obj).getData()); + public final int compareTo(ByteArray ba) { + return DataHelper.compareTo(_data, ba.getData()); } @Override diff --git a/core/java/src/net/i2p/util/FileUtil.java b/core/java/src/net/i2p/util/FileUtil.java index eeca4416fe..296030818d 100644 --- a/core/java/src/net/i2p/util/FileUtil.java +++ b/core/java/src/net/i2p/util/FileUtil.java @@ -300,9 +300,9 @@ public class FileUtil { if (!_failedOracle) { try { Class<?> p200 = Class.forName("java.util.jar.Pack200", true, ClassLoader.getSystemClassLoader()); - Method newUnpacker = p200.getMethod("newUnpacker", (Class[]) null); + Method newUnpacker = p200.getMethod("newUnpacker"); Object unpacker = newUnpacker.invoke(null,(Object[]) null); - Method unpack = unpacker.getClass().getMethod("unpack", new Class[] {InputStream.class, JarOutputStream.class}); + Method unpack = unpacker.getClass().getMethod("unpack", InputStream.class, JarOutputStream.class); // throws IOException unpack.invoke(unpacker, new Object[] {in, out}); return; @@ -321,9 +321,9 @@ public class FileUtil { if (!_failedApache) { try { Class<?> p200 = Class.forName("org.apache.harmony.unpack200.Archive", true, ClassLoader.getSystemClassLoader()); - Constructor<?> newUnpacker = p200.getConstructor(new Class[] {InputStream.class, JarOutputStream.class}); - Object unpacker = newUnpacker.newInstance(new Object[] {in, out}); - Method unpack = unpacker.getClass().getMethod("unpack", (Class[]) null); + Constructor<?> newUnpacker = p200.getConstructor(InputStream.class, JarOutputStream.class); + Object unpacker = newUnpacker.newInstance(in, out); + Method unpack = unpacker.getClass().getMethod("unpack"); // throws IOException or Pack200Exception unpack.invoke(unpacker, (Object[]) null); return; -- GitLab