diff --git a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java index e75ef301e40ee35dc2b38cf308215782c342a439..96f3804358b911e2186598f75c19b8cf81faa214 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 bb1684e5f5fff0839840c4d6abffd01b2151fea0..03d4b8dc055425ad1f0364f68986df839df6d057 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 3b7b1d99c1f4a5b1a69eeab39870e3ddc902864e..784d8e6bff24fea169c8ea02de67ecfabf1a0fc6 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 58e0f39fca73397ccf946974ea77e82f697d011e..0e6da1c22b44da388a2cc28436916be21d46c8cb 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 6cac1cbae60346064bb24f418772b0225424ba86..c5f9e2aaffbd4018fad215835fa4c472f961e06f 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 b8b8d39919984a5d3cc7289040401c683e951e64..54975964b0b135b2cee695889698f927baa88317 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 1c964b8f1974d9c84e5f445d15f7ecb06331195a..1cc3973fdb9d8301839e9690a401b25f20a5ba33 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 9a3f088fb6424798592105c59c8cd0f33e5de7f5..0c98dded196d1b7815315ef19fd330da7e124b65 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 45aa601b83955dc057130d28f501e01c79b659a3..278a4e120087a298a41ac843f9accbb40a55b031 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 5f6975bc510bff9358693b972495915db2ed6d6b..9ff4b933b74cff3016131aba49029f1d7e97568d 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 ffae355a57b1c648e69058ab0df46ef168ebd025..5a4ebd275d299763f5dcb39f683944706a3f4a9b 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 be9e598c215f1f41a41367f49bc90ee3ef0f2217..78e04232d491b537e06676f43c49a97fa15901c4 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 94facd366bb36bac43e4b676f5f7be6474acd842..b9e0327dd385009896a94bf651046dde3348e763 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 affe6e4e8b58fe94e42b43d9e78b224148f8cb11..d9b111e234e26df3235c6fe1146854913ccbadaa 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 1801b122e7256beb3eb42b8eafe2f97409f5f62c..50670c760d1299d59174ebb9daf34328d1020545 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 eeca4416feba3bcd2a644d4e41b8de995e795c23..296030818d892924a31b11d5738f755661470e40 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;