summaryrefslogtreecommitdiff
path: root/gnu/javax
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/javax')
-rw-r--r--gnu/javax/crypto/cipher/IBlockCipher.java9
-rw-r--r--gnu/javax/crypto/jce/prng/FortunaImpl.java4
-rw-r--r--gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java8
-rw-r--r--gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java8
-rw-r--r--gnu/javax/crypto/mac/IMac.java4
-rw-r--r--gnu/javax/crypto/mode/BaseMode.java23
-rw-r--r--gnu/javax/crypto/mode/EAX.java32
-rw-r--r--gnu/javax/crypto/prng/Fortuna.java19
-rw-r--r--gnu/javax/net/ssl/Session.java12
-rw-r--r--gnu/javax/net/ssl/provider/AbstractHandshake.java10
-rw-r--r--gnu/javax/net/ssl/provider/SSLRandom.java11
-rw-r--r--gnu/javax/net/ssl/provider/TLSRandom.java75
-rw-r--r--gnu/javax/net/ssl/provider/Util.java10
-rw-r--r--gnu/javax/net/ssl/provider/X509KeyManagerFactory.java25
-rw-r--r--gnu/javax/net/ssl/provider/X509TrustManagerFactory.java6
-rw-r--r--gnu/javax/security/auth/callback/AWTCallbackHandler.java16
-rw-r--r--gnu/javax/security/auth/callback/ConsoleCallbackHandler.java6
-rw-r--r--gnu/javax/security/auth/callback/GnuCallbacks.java9
-rw-r--r--gnu/javax/security/auth/login/ConfigFileParser.java18
-rw-r--r--gnu/javax/security/auth/login/GnuConfiguration.java25
20 files changed, 195 insertions, 135 deletions
diff --git a/gnu/javax/crypto/cipher/IBlockCipher.java b/gnu/javax/crypto/cipher/IBlockCipher.java
index 86f8b34e0..48cc6968c 100644
--- a/gnu/javax/crypto/cipher/IBlockCipher.java
+++ b/gnu/javax/crypto/cipher/IBlockCipher.java
@@ -1,5 +1,5 @@
/* IBlockCipher.java --
- Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -113,7 +113,7 @@ public interface IBlockCipher
*
* @return an {@link Iterator} over the supported block sizes.
*/
- Iterator blockSizes();
+ Iterator<Integer> blockSizes();
/**
* Returns an {@link Iterator} over the supported key sizes. Each element
@@ -121,7 +121,7 @@ public interface IBlockCipher
*
* @return an {@link Iterator} over the supported key sizes.
*/
- Iterator keySizes();
+ Iterator<Integer> keySizes();
/**
* Returns a clone of this instance.
@@ -141,7 +141,8 @@ public interface IBlockCipher
* @see #KEY_MATERIAL
* @see #CIPHER_BLOCK_SIZE
*/
- void init(Map attributes) throws InvalidKeyException, IllegalStateException;
+ void init(Map<String,Object> attributes)
+ throws InvalidKeyException, IllegalStateException;
/**
* Returns the currently set block size for this instance.
diff --git a/gnu/javax/crypto/jce/prng/FortunaImpl.java b/gnu/javax/crypto/jce/prng/FortunaImpl.java
index d2073b98d..e9e334f0e 100644
--- a/gnu/javax/crypto/jce/prng/FortunaImpl.java
+++ b/gnu/javax/crypto/jce/prng/FortunaImpl.java
@@ -1,5 +1,5 @@
/* FortunaImpl.java -- Fortuna SecureRandom adapter.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -64,7 +64,7 @@ public final class FortunaImpl
{
if (virgin)
{
- adaptee.init (Collections.singletonMap (Fortuna.SEED, seed));
+ adaptee.init (Collections.singletonMap (Fortuna.SEED, (Object) seed));
virgin = false;
}
else
diff --git a/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java b/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java
index 8c03cbb00..27b74b996 100644
--- a/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java
+++ b/gnu/javax/crypto/key/dh/DHKeyPairPKCS8Codec.java
@@ -1,5 +1,5 @@
/* DHKeyPairPKCS8Codec.java -- PKCS#8 encoder/decoder for DH keys
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2014 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -128,13 +128,13 @@ public class DHKeyPairPKCS8Codec
q = BigInteger.ZERO;
BigInteger x = pk.getX();
- ArrayList params = new ArrayList(3);
+ ArrayList<DERValue> params = new ArrayList<DERValue>(3);
params.add(new DERValue(DER.INTEGER, p));
params.add(new DERValue(DER.INTEGER, g));
params.add(new DERValue(DER.INTEGER, q));
DERValue derParams = new DERValue(DER.CONSTRUCTED | DER.SEQUENCE, params);
- ArrayList algorithmID = new ArrayList(2);
+ ArrayList<DERValue> algorithmID = new ArrayList<DERValue>(2);
algorithmID.add(derOID);
algorithmID.add(derParams);
DERValue derAlgorithmID = new DERValue(DER.CONSTRUCTED | DER.SEQUENCE,
@@ -142,7 +142,7 @@ public class DHKeyPairPKCS8Codec
DERValue derPrivateKey = new DERValue(DER.OCTET_STRING, Util.trim(x));
- ArrayList pki = new ArrayList(3);
+ ArrayList<DERValue> pki = new ArrayList<DERValue>(3);
pki.add(derVersion);
pki.add(derAlgorithmID);
pki.add(derPrivateKey);
diff --git a/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java b/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java
index 893716eef..7ed3666dd 100644
--- a/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java
+++ b/gnu/javax/crypto/key/dh/DHKeyPairX509Codec.java
@@ -1,5 +1,5 @@
/* DHKeyPairX509Codec.java -- X.509 DER encoder/decoder for DH keys
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2014 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -132,13 +132,13 @@ public class DHKeyPairX509Codec
DERValue derG = new DERValue(DER.INTEGER, g);
DERValue derQ = new DERValue(DER.INTEGER, q);
- ArrayList params = new ArrayList(3);
+ ArrayList<DERValue> params = new ArrayList<DERValue>(3);
params.add(derP);
params.add(derG);
params.add(derQ);
DERValue derParams = new DERValue(DER.CONSTRUCTED | DER.SEQUENCE, params);
- ArrayList algorithmID = new ArrayList(2);
+ ArrayList<DERValue> algorithmID = new ArrayList<DERValue>(2);
algorithmID.add(derOID);
algorithmID.add(derParams);
DERValue derAlgorithmID = new DERValue(DER.CONSTRUCTED | DER.SEQUENCE,
@@ -148,7 +148,7 @@ public class DHKeyPairX509Codec
byte[] yBytes = derDHPublicKey.getEncoded();
DERValue derSPK = new DERValue(DER.BIT_STRING, new BitString(yBytes));
- ArrayList spki = new ArrayList(2);
+ ArrayList<DERValue> spki = new ArrayList<DERValue>(2);
spki.add(derAlgorithmID);
spki.add(derSPK);
DERValue derSPKI = new DERValue(DER.CONSTRUCTED | DER.SEQUENCE, spki);
diff --git a/gnu/javax/crypto/mac/IMac.java b/gnu/javax/crypto/mac/IMac.java
index a9582564d..6081ef11f 100644
--- a/gnu/javax/crypto/mac/IMac.java
+++ b/gnu/javax/crypto/mac/IMac.java
@@ -1,5 +1,5 @@
/* IMac.java --
- Copyright (C) 2001, 2002, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -129,7 +129,7 @@ public interface IMac
* @exception IllegalStateException if the instance is already initialised.
* @see #MAC_KEY_MATERIAL
*/
- void init(Map attributes) throws InvalidKeyException, IllegalStateException;
+ void init(Map<String,Object> attributes) throws InvalidKeyException, IllegalStateException;
/**
* Continues a <i>MAC</i> operation using the input byte.
diff --git a/gnu/javax/crypto/mode/BaseMode.java b/gnu/javax/crypto/mode/BaseMode.java
index 831dd9664..1f4feea22 100644
--- a/gnu/javax/crypto/mode/BaseMode.java
+++ b/gnu/javax/crypto/mode/BaseMode.java
@@ -1,5 +1,5 @@
/* BaseMode.java --
- Copyright (C) 2001, 2002, 2003, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003, 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -91,6 +91,7 @@ public abstract class BaseMode
state = -1;
}
+ @Override
public void update(byte[] in, int inOffset, byte[] out, int outOffset)
throws IllegalStateException
{
@@ -110,6 +111,7 @@ public abstract class BaseMode
}
}
+ @Override
public String name()
{
return new CPStringBuilder(name).append('(').append(cipher.name()).append(')')
@@ -128,6 +130,7 @@ public abstract class BaseMode
* @return the default value, in bytes, of the mode's block size.
* @see ModeFactory
*/
+ @Override
public int defaultBlockSize()
{
return cipherBlockSize;
@@ -139,6 +142,7 @@ public abstract class BaseMode
*
* @return the default value, in bytes, of the underlying cipher's key size.
*/
+ @Override
public int defaultKeySize()
{
return cipher.defaultKeySize();
@@ -155,9 +159,10 @@ public abstract class BaseMode
*
* @return an {@link Iterator} over the supported block sizes.
*/
- public Iterator blockSizes()
+ @Override
+ public Iterator<Integer> blockSizes()
{
- ArrayList al = new ArrayList();
+ ArrayList<Integer> al = new ArrayList<Integer>();
al.add(Integer.valueOf(cipherBlockSize));
return Collections.unmodifiableList(al).iterator();
}
@@ -169,12 +174,14 @@ public abstract class BaseMode
*
* @return an {@link Iterator} over the supported key sizes.
*/
- public Iterator keySizes()
+ @Override
+ public Iterator<Integer> keySizes()
{
return cipher.keySizes();
}
- public void init(Map attributes) throws InvalidKeyException,
+ @Override
+ public void init(Map<String,Object> attributes) throws InvalidKeyException,
IllegalStateException
{
synchronized (lock)
@@ -208,6 +215,7 @@ public abstract class BaseMode
}
}
+ @Override
public int currentBlockSize()
{
if (state == -1)
@@ -215,6 +223,7 @@ public abstract class BaseMode
return modeBlockSize;
}
+ @Override
public void reset()
{
synchronized (lock)
@@ -226,6 +235,7 @@ public abstract class BaseMode
}
}
+ @Override
public boolean selfTest()
{
int ks;
@@ -240,6 +250,7 @@ public abstract class BaseMode
return true;
}
+ @Override
public abstract Object clone();
/** The initialisation phase of the concrete mode implementation. */
@@ -248,8 +259,10 @@ public abstract class BaseMode
/** The termination phase of the concrete mode implementation. */
public abstract void teardown();
+ @Override
public abstract void encryptBlock(byte[] in, int i, byte[] out, int o);
+ @Override
public abstract void decryptBlock(byte[] in, int i, byte[] out, int o);
private boolean testSymmetry(int ks, int bs)
diff --git a/gnu/javax/crypto/mode/EAX.java b/gnu/javax/crypto/mode/EAX.java
index b3e4a6a4e..910949e87 100644
--- a/gnu/javax/crypto/mode/EAX.java
+++ b/gnu/javax/crypto/mode/EAX.java
@@ -1,5 +1,5 @@
/* EAX.java --
- Copyright (C) 2004, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -110,37 +110,44 @@ public class EAX
init = false;
}
+ @Override
public Object clone()
{
return new EAX((IBlockCipher) cipher.clone(), cipherBlockSize);
}
+ @Override
public String name()
{
return Registry.EAX_MODE + "(" + cipher.name() + ")";
}
+ @Override
public int defaultBlockSize()
{
return ctr.defaultBlockSize();
}
+ @Override
public int defaultKeySize()
{
return ctr.defaultKeySize();
}
- public Iterator blockSizes()
+ @Override
+ public Iterator<Integer> blockSizes()
{
return ctr.blockSizes();
}
- public Iterator keySizes()
+ @Override
+ public Iterator<Integer> keySizes()
{
return ctr.keySizes();
}
- public void init(Map attrib) throws InvalidKeyException
+ @Override
+ public void init(Map<String,Object> attrib) throws InvalidKeyException
{
byte[] nonce = (byte[]) attrib.get(IV);
if (nonce == null)
@@ -151,7 +158,7 @@ public class EAX
Arrays.fill(t_n, (byte) 0);
nonceOmac.reset();
- nonceOmac.init(Collections.singletonMap(MAC_KEY_MATERIAL, key));
+ nonceOmac.init(Collections.singletonMap(MAC_KEY_MATERIAL, (Object) key));
nonceOmac.update(t_n, 0, t_n.length);
nonceOmac.update(nonce, 0, nonce.length);
byte[] N = nonceOmac.digest();
@@ -160,16 +167,16 @@ public class EAX
nonceOmac.update(nonce, 0, nonce.length);
t_n[t_n.length - 1] = 1;
headerOmac.reset();
- headerOmac.init(Collections.singletonMap(MAC_KEY_MATERIAL, key));
+ headerOmac.init(Collections.singletonMap(MAC_KEY_MATERIAL, (Object) key));
headerOmac.update(t_n, 0, t_n.length);
t_n[t_n.length - 1] = 2;
msgOmac.reset();
- msgOmac.init(Collections.singletonMap(MAC_KEY_MATERIAL, key));
+ msgOmac.init(Collections.singletonMap(MAC_KEY_MATERIAL, (Object) key));
msgOmac.update(t_n, 0, t_n.length);
Integer modeSize = (Integer) attrib.get(MODE_BLOCK_SIZE);
if (modeSize == null)
modeSize = Integer.valueOf(cipherBlockSize);
- HashMap ctrAttr = new HashMap();
+ HashMap<String,Object> ctrAttr = new HashMap<String,Object>();
ctrAttr.put(KEY_MATERIAL, key);
ctrAttr.put(IV, N);
ctrAttr.put(STATE, Integer.valueOf(ENCRYPTION));
@@ -196,11 +203,13 @@ public class EAX
init = true;
}
+ @Override
public int currentBlockSize()
{
return ctr.currentBlockSize();
}
+ @Override
public void encryptBlock(byte[] in, int inOff, byte[] out, int outOff)
{
if (! init)
@@ -211,6 +220,7 @@ public class EAX
msgOmac.update(out, outOff, ctr.currentBlockSize());
}
+ @Override
public void decryptBlock(byte[] in, int inOff, byte[] out, int outOff)
{
if (! init)
@@ -236,6 +246,7 @@ public class EAX
}
}
+ @Override
public void reset()
{
nonceOmac.reset();
@@ -244,16 +255,19 @@ public class EAX
ctr.reset();
}
+ @Override
public boolean selfTest()
{
return true; // XXX
}
+ @Override
public int macSize()
{
return tagSize;
}
+ @Override
public byte[] digest()
{
byte[] tag = new byte[tagSize];
@@ -273,6 +287,7 @@ public class EAX
reset();
}
+ @Override
public void update(byte b)
{
if (! init)
@@ -280,6 +295,7 @@ public class EAX
headerOmac.update(b);
}
+ @Override
public void update(byte[] buf, int off, int len)
{
if (! init)
diff --git a/gnu/javax/crypto/prng/Fortuna.java b/gnu/javax/crypto/prng/Fortuna.java
index 8aec9ab7d..4d41cad55 100644
--- a/gnu/javax/crypto/prng/Fortuna.java
+++ b/gnu/javax/crypto/prng/Fortuna.java
@@ -1,5 +1,5 @@
/* Fortuna.java -- The Fortuna PRNG.
- Copyright (C) 2004, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -118,7 +118,8 @@ public class Fortuna
buffer = new byte[256];
}
- public void setup(Map attributes)
+ @Override
+ public void setup(Map<String,Object> attributes)
{
lastReseed = 0;
reseedCount = 0;
@@ -227,9 +228,9 @@ public class Fortuna
counter = new byte[cipher.defaultBlockSize()];
buffer = new byte[cipher.defaultBlockSize()];
int keysize = 0;
- for (Iterator it = cipher.keySizes(); it.hasNext();)
+ for (Iterator<Integer> it = cipher.keySizes(); it.hasNext();)
{
- int ks = ((Integer) it.next()).intValue();
+ int ks = it.next().intValue();
if (ks > keysize)
keysize = ks;
if (keysize >= 32)
@@ -238,6 +239,7 @@ public class Fortuna
key = new byte[keysize];
}
+ @Override
public byte nextByte()
{
byte[] b = new byte[1];
@@ -245,6 +247,7 @@ public class Fortuna
return b[0];
}
+ @Override
public void nextBytes(byte[] out, int offset, int length)
{
if (! seeded)
@@ -275,11 +278,13 @@ public class Fortuna
ndx = 0;
}
+ @Override
public void addRandomByte(byte b)
{
addRandomBytes(new byte[] { b });
}
+ @Override
public void addRandomBytes(byte[] seed, int offset, int length)
{
hash.update(key);
@@ -291,6 +296,7 @@ public class Fortuna
seeded = true;
}
+ @Override
public void fillBlock()
{
if (! seeded)
@@ -299,7 +305,8 @@ public class Fortuna
incrementCounter();
}
- public void setup(Map attributes)
+ @Override
+ public void setup(Map<String,Object> attributes)
{
seeded = false;
Arrays.fill(key, (byte) 0);
@@ -319,7 +326,7 @@ public class Fortuna
try
{
cipher.reset();
- cipher.init(Collections.singletonMap(IBlockCipher.KEY_MATERIAL, key));
+ cipher.init(Collections.singletonMap(IBlockCipher.KEY_MATERIAL, (Object) key));
}
// We expect to never get an exception here.
catch (InvalidKeyException ike)
diff --git a/gnu/javax/net/ssl/Session.java b/gnu/javax/net/ssl/Session.java
index 3acf9932d..bfa94c29a 100644
--- a/gnu/javax/net/ssl/Session.java
+++ b/gnu/javax/net/ssl/Session.java
@@ -1,5 +1,5 @@
/* SessionImpl.java -- concrete definition of SSLSession.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -286,7 +286,7 @@ public abstract class Session implements SSLSession, Serializable
/**
* An SSL or TLS session ID.
*/
- public static final class ID implements Comparable, Serializable
+ public static final class ID implements Comparable<ID>, Serializable
{
// Fields.
@@ -319,6 +319,7 @@ public abstract class Session implements SSLSession, Serializable
return (byte[]) id.clone();
}
+ @Override
public boolean equals(Object other)
{
if (!(other instanceof ID))
@@ -326,6 +327,7 @@ public abstract class Session implements SSLSession, Serializable
return Arrays.equals(id, ((ID) other).id);
}
+ @Override
public int hashCode()
{
int code = 0;
@@ -334,9 +336,10 @@ public abstract class Session implements SSLSession, Serializable
return code;
}
- public int compareTo(Object other)
+ @Override
+ public int compareTo(ID other)
{
- byte[] id2 = ((ID) other).id;
+ byte[] id2 = other.id;
if (id.length != id2.length)
return (id.length < id2.length) ? -1 : 1;
for (int i = 0; i < id.length; i++)
@@ -349,6 +352,7 @@ public abstract class Session implements SSLSession, Serializable
return 0;
}
+ @Override
public String toString()
{
CPStringBuilder str = new CPStringBuilder (3 * id.length + 1);
diff --git a/gnu/javax/net/ssl/provider/AbstractHandshake.java b/gnu/javax/net/ssl/provider/AbstractHandshake.java
index bf03ed77f..dbbd92962 100644
--- a/gnu/javax/net/ssl/provider/AbstractHandshake.java
+++ b/gnu/javax/net/ssl/provider/AbstractHandshake.java
@@ -1,5 +1,5 @@
/* AbstractHandshake.java -- abstract handshake handler.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -588,7 +588,7 @@ Certificate.signature.sha_hash
clientRandom.buffer().get(seed, serverRandom.length(),
clientRandom.length());
prf = new SSLRandom();
- HashMap<String,byte[]> attr = new HashMap<String,byte[]>(2);
+ HashMap<String,Object> attr = new HashMap<String,Object>(2);
attr.put(SSLRandom.SECRET, session.privateData.masterSecret);
attr.put(SSLRandom.SEED, seed);
prf.init(attr);
@@ -606,7 +606,7 @@ Certificate.signature.sha_hash
clientRandom.length());
prf = new TLSRandom();
- HashMap<String,byte[]> attr = new HashMap<String,byte[]>(2);
+ HashMap<String,Object> attr = new HashMap<String,Object>(2);
attr.put(TLSRandom.SECRET, session.privateData.masterSecret);
attr.put(TLSRandom.SEED, seed);
prf.init(attr);
@@ -650,7 +650,7 @@ Certificate.signature.sha_hash
else
{
TLSRandom prf2 = new TLSRandom();
- HashMap<String,byte[]> attr = new HashMap<String,byte[]>(2);
+ HashMap<String,Object> attr = new HashMap<String,Object>(2);
attr.put(TLSRandom.SECRET, keys[2]);
byte[] seed = new byte[CLIENT_WRITE_KEY.length +
clientRandom.length() +
@@ -910,7 +910,7 @@ Certificate.signature.sha_hash
MASTER_SECRET.length + clientRandom.length(),
serverRandom.length());
TLSRandom prf = new TLSRandom();
- HashMap<String,byte[]> attr = new HashMap<String,byte[]>(2);
+ HashMap<String,Object> attr = new HashMap<String,Object>(2);
attr.put(TLSRandom.SECRET, preMasterSecret);
attr.put(TLSRandom.SEED, seed);
prf.init(attr);
diff --git a/gnu/javax/net/ssl/provider/SSLRandom.java b/gnu/javax/net/ssl/provider/SSLRandom.java
index 0b28f1044..68da1bf52 100644
--- a/gnu/javax/net/ssl/provider/SSLRandom.java
+++ b/gnu/javax/net/ssl/provider/SSLRandom.java
@@ -1,5 +1,5 @@
/* SSLRandom.java -- SSLv3 pseudo-random function.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -72,7 +72,8 @@ class SSLRandom implements IRandom
// Instance methods.
// -------------------------------------------------------------------------
- public void init(Map attrib)
+ @Override
+ public void init(Map<String,Object> attrib)
{
secret = (byte[]) attrib.get(SECRET);
seed = (byte[]) attrib.get(SEED);
@@ -90,11 +91,13 @@ class SSLRandom implements IRandom
return "SSLRandom";
}
+ @Override
public Object clone()
{
throw new UnsupportedOperationException();
}
+ @Override
public byte nextByte() throws LimitReachedException
{
if (buffer == null)
@@ -104,6 +107,7 @@ class SSLRandom implements IRandom
return buffer[idx++];
}
+ @Override
public void nextBytes(byte[] buf, int off, int len)
throws LimitReachedException
{
@@ -131,14 +135,17 @@ class SSLRandom implements IRandom
}
// For future versions of GNU Crypto. No-ops.
+ @Override
public void addRandomByte (byte b)
{
}
+ @Override
public void addRandomBytes(byte[] buffer) {
addRandomBytes(buffer, 0, buffer.length);
}
+ @Override
public void addRandomBytes (byte[] b, int i, int j)
{
}
diff --git a/gnu/javax/net/ssl/provider/TLSRandom.java b/gnu/javax/net/ssl/provider/TLSRandom.java
index ded632928..f438d7729 100644
--- a/gnu/javax/net/ssl/provider/TLSRandom.java
+++ b/gnu/javax/net/ssl/provider/TLSRandom.java
@@ -1,5 +1,5 @@
/* TLSRandom.java -- The TLS pseudo-random function.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -62,8 +62,8 @@ class TLSRandom implements IRandom
*/
static final String SEED = "jessie.tls.prng.seed";
- private final IMac hmac_sha, hmac_md5;
- private byte[] sha_a, md5_a;
+ private final IMac hmacSHA, hmacMD5;
+ private byte[] shaA, md5A;
private byte[] seed;
private final byte[] buffer;
private int idx;
@@ -74,8 +74,8 @@ class TLSRandom implements IRandom
TLSRandom()
{
- hmac_sha = new TLSHMac(HashFactory.getInstance("SHA1"));
- hmac_md5 = new TLSHMac(HashFactory.getInstance("MD5"));
+ hmacSHA = new TLSHMac(HashFactory.getInstance("SHA1"));
+ hmacMD5 = new TLSHMac(HashFactory.getInstance("MD5"));
buffer = new byte[80]; // 80 == LCM of 16 and 20.
idx = 0;
init = false;
@@ -84,6 +84,7 @@ class TLSRandom implements IRandom
// Instance methods.
// -------------------------------------------------------------------------
+ @Override
public Object clone()
{
try
@@ -96,22 +97,22 @@ class TLSRandom implements IRandom
}
}
- public void init(Map attributes)
+ public void init(Map<String,Object> attributes)
{
- HashMap sha_attr = new HashMap();
- HashMap md5_attr = new HashMap();
+ HashMap<String,Object> shaAttr = new HashMap<String,Object>();
+ HashMap<String,Object> md5Attr = new HashMap<String,Object>();
byte[] secret = (byte[]) attributes.get(SECRET);
if (secret != null)
{
int l = (secret.length >>> 1) + (secret.length & 1);
byte[] s1 = Util.trim(secret, 0, l);
byte[] s2 = Util.trim(secret, secret.length - l, l);
- md5_attr.put(IMac.MAC_KEY_MATERIAL, s1);
- sha_attr.put(IMac.MAC_KEY_MATERIAL, s2);
+ md5Attr.put(IMac.MAC_KEY_MATERIAL, s1);
+ shaAttr.put(IMac.MAC_KEY_MATERIAL, s2);
try
{
- hmac_md5.init(md5_attr);
- hmac_sha.init(sha_attr);
+ hmacMD5.init(md5Attr);
+ hmacSHA.init(shaAttr);
}
catch (InvalidKeyException ike)
{
@@ -136,21 +137,23 @@ class TLSRandom implements IRandom
// else re-use
// A(0) is the seed, A(1) = HMAC_hash(secret, A(0)).
- hmac_md5.update(seed, 0, seed.length);
- md5_a = hmac_md5.digest();
- hmac_md5.reset();
- hmac_sha.update(seed, 0, seed.length);
- sha_a = hmac_sha.digest();
- hmac_sha.reset();
+ hmacMD5.update(seed, 0, seed.length);
+ md5A = hmacMD5.digest();
+ hmacMD5.reset();
+ hmacSHA.update(seed, 0, seed.length);
+ shaA = hmacSHA.digest();
+ hmacSHA.reset();
fillBuffer();
init = true;
}
+ @Override
public String name()
{
return "TLSRandom";
}
+ @Override
public byte nextByte()
{
if (!init)
@@ -160,6 +163,7 @@ class TLSRandom implements IRandom
return buffer[idx++];
}
+ @Override
public void nextBytes(byte[] buf, int off, int len)
{
if (!init)
@@ -183,14 +187,17 @@ class TLSRandom implements IRandom
}
// For future versions of GNU Crypto. No-ops.
+ @Override
public void addRandomByte (byte b)
{
}
+ @Override
public void addRandomBytes(byte[] buffer) {
addRandomBytes(buffer, 0, buffer.length);
}
+ @Override
public void addRandomBytes (byte[] b, int i, int j)
{
}
@@ -220,32 +227,32 @@ class TLSRandom implements IRandom
*/
private synchronized void fillBuffer()
{
- int len = hmac_md5.macSize();
+ int len = hmacMD5.macSize();
for (int i = 0; i < buffer.length; i += len)
{
- hmac_md5.update(md5_a, 0, md5_a.length);
- hmac_md5.update(seed, 0, seed.length);
- byte[] b = hmac_md5.digest();
- hmac_md5.reset();
+ hmacMD5.update(md5A, 0, md5A.length);
+ hmacMD5.update(seed, 0, seed.length);
+ byte[] b = hmacMD5.digest();
+ hmacMD5.reset();
System.arraycopy(b, 0, buffer, i, len);
- hmac_md5.update(md5_a, 0, md5_a.length);
- md5_a = hmac_md5.digest();
- hmac_md5.reset();
+ hmacMD5.update(md5A, 0, md5A.length);
+ md5A = hmacMD5.digest();
+ hmacMD5.reset();
}
- len = hmac_sha.macSize();
+ len = hmacSHA.macSize();
for (int i = 0; i < buffer.length; i += len)
{
- hmac_sha.update(sha_a, 0, sha_a.length);
- hmac_sha.update(seed, 0, seed.length);
- byte[] b = hmac_sha.digest();
- hmac_sha.reset();
+ hmacSHA.update(shaA, 0, shaA.length);
+ hmacSHA.update(seed, 0, seed.length);
+ byte[] b = hmacSHA.digest();
+ hmacSHA.reset();
for (int j = 0; j < len; j++)
{
buffer[j + i] ^= b[j];
}
- hmac_sha.update(sha_a, 0, sha_a.length);
- sha_a = hmac_sha.digest();
- hmac_sha.reset();
+ hmacSHA.update(shaA, 0, shaA.length);
+ shaA = hmacSHA.digest();
+ hmacSHA.reset();
}
idx = 0;
}
diff --git a/gnu/javax/net/ssl/provider/Util.java b/gnu/javax/net/ssl/provider/Util.java
index a2004b7aa..a79a2cc8b 100644
--- a/gnu/javax/net/ssl/provider/Util.java
+++ b/gnu/javax/net/ssl/provider/Util.java
@@ -1,5 +1,5 @@
/* Util.java -- Miscellaneous utility methods.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -419,14 +419,14 @@ public final class Util
* each element of <i>array</i> with <i>args</i>. The return type
* of the array will be an array of <i>returnType</i>.
*/
- static Object[] transform(Object[] array, Class returnType,
- String method, Object[] args)
+ static <T> T[] transform(Object[] array, Class<T> returnType,
+ String method, Object[] args)
throws InvocationTargetException, NoSuchMethodException,
IllegalAccessException
{
if (args == null)
args = new Object[0];
- Object[] result = (Object[]) Array.newInstance(returnType, array.length);
+ T[] result = (T[]) Array.newInstance(returnType, array.length);
Class[] argsClasses = new Class[args.length];
for (int i = 0; i < args.length; i++)
{
@@ -444,7 +444,7 @@ public final class Util
Object o = objMethod.invoke(array[i], args);
if (!returnType.isAssignableFrom(o.getClass()))
throw new ClassCastException();
- result[i] = o;
+ result[i] = returnType.cast(o);
}
return result;
}
diff --git a/gnu/javax/net/ssl/provider/X509KeyManagerFactory.java b/gnu/javax/net/ssl/provider/X509KeyManagerFactory.java
index a63cb2cbe..44fb37e1f 100644
--- a/gnu/javax/net/ssl/provider/X509KeyManagerFactory.java
+++ b/gnu/javax/net/ssl/provider/X509KeyManagerFactory.java
@@ -1,5 +1,5 @@
/* X509KeyManagerFactory.java -- X.509 key manager factory.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -75,6 +75,7 @@ import javax.net.ssl.KeyManagerFactorySpi;
import javax.net.ssl.ManagerFactoryParameters;
import javax.net.ssl.SSLEngine;
import javax.net.ssl.X509ExtendedKeyManager;
+
import gnu.javax.net.ssl.NullManagerParameters;
import gnu.javax.net.ssl.PrivateCredentials;
@@ -113,9 +114,13 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi
protected void engineInit(ManagerFactoryParameters params)
throws InvalidAlgorithmParameterException
{
+ Map<String, X509Certificate[]> certMap;
+ Map<String, PrivateKey> keyMap;
+
if (params instanceof NullManagerParameters)
{
- current = new Manager(Collections.EMPTY_MAP, Collections.EMPTY_MAP);
+ certMap = Collections.emptyMap();
+ keyMap = Collections.emptyMap();
}
else if (params instanceof PrivateCredentials)
{
@@ -124,10 +129,8 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi
List<PrivateKey> keys
= ((PrivateCredentials) params).getPrivateKeys();
int i = 0;
- HashMap<String, X509Certificate[]> certMap
- = new HashMap<String, X509Certificate[]>();
- HashMap<String, PrivateKey> keyMap
- = new HashMap<String, PrivateKey>();
+ certMap = new HashMap<String, X509Certificate[]>();
+ keyMap = new HashMap<String, PrivateKey>();
Iterator<X509Certificate[]> c = chains.iterator();
Iterator<PrivateKey> k = keys.iterator();
while (c.hasNext() && k.hasNext())
@@ -136,12 +139,12 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi
keyMap.put(String.valueOf(i), k.next());
i++;
}
- current = new Manager(keyMap, certMap);
}
else
{
throw new InvalidAlgorithmParameterException();
}
+ current = new Manager(keyMap, certMap);
}
protected void engineInit(KeyStore store, char[] passwd)
@@ -175,11 +178,11 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi
HashMap<String, PrivateKey> p = new HashMap<String, PrivateKey>();
HashMap<String, X509Certificate[]> c
= new HashMap<String, X509Certificate[]>();
- Enumeration aliases = store.aliases();
+ Enumeration<String> aliases = store.aliases();
UnrecoverableKeyException exception = null;
while (aliases.hasMoreElements())
{
- String alias = (String) aliases.nextElement();
+ String alias = aliases.nextElement();
if (!store.isKeyEntry(alias))
{
continue;
@@ -316,9 +319,9 @@ public class X509KeyManagerFactory extends KeyManagerFactorySpi
private String[] getAliases(String keyType, Principal[] issuers)
{
LinkedList<String> l = new LinkedList<String>();
- for (Iterator i = privateKeys.keySet().iterator(); i.hasNext(); )
+ for (Iterator<String> i = privateKeys.keySet().iterator(); i.hasNext(); )
{
- String alias = (String) i.next();
+ String alias = i.next();
X509Certificate[] chain = getCertificateChain(alias);
if (chain.length == 0)
continue;
diff --git a/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java b/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java
index ddd2f9c8b..eab53ac43 100644
--- a/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java
+++ b/gnu/javax/net/ssl/provider/X509TrustManagerFactory.java
@@ -1,5 +1,5 @@
/* X509TrustManagerFactory.java -- X.509 trust manager factory.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -183,10 +183,10 @@ public class X509TrustManagerFactory extends TrustManagerFactorySpi
}
LinkedList<X509Certificate> l = new LinkedList<X509Certificate>();
- Enumeration aliases = store.aliases();
+ Enumeration<String> aliases = store.aliases();
while (aliases.hasMoreElements())
{
- String alias = (String) aliases.nextElement();
+ String alias = aliases.nextElement();
if (!store.isCertificateEntry(alias))
continue;
Certificate c = store.getCertificate(alias);
diff --git a/gnu/javax/security/auth/callback/AWTCallbackHandler.java b/gnu/javax/security/auth/callback/AWTCallbackHandler.java
index f241157ee..5aad0335d 100644
--- a/gnu/javax/security/auth/callback/AWTCallbackHandler.java
+++ b/gnu/javax/security/auth/callback/AWTCallbackHandler.java
@@ -1,5 +1,5 @@
/* AWTCallbackHandler.java --
- Copyright (C) 2004, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -77,10 +77,8 @@ public class AWTCallbackHandler extends AbstractCallbackHandler
protected String actionCommand;
private static final String ACTION_CANCEL = "CANCEL";
- private static final String ACTION_NO = "NO";
private static final String ACTION_NONE = "NONE";
private static final String ACTION_OK = "OK";
- private static final String ACTION_YES = "YES";
// Constructor.
// -------------------------------------------------------------------------
@@ -126,7 +124,7 @@ public class AWTCallbackHandler extends AbstractCallbackHandler
buttons.add(ok);
dialog.add(buttons, BorderLayout.SOUTH);
dialog.pack();
- dialog.show();
+ dialog.setVisible(true);
try { wait(); }
catch (InterruptedException ie) { }
if (actionCommand.equals(ACTION_OK))
@@ -217,7 +215,7 @@ public class AWTCallbackHandler extends AbstractCallbackHandler
buttons.add(b);
}
dialog.pack();
- dialog.show();
+ dialog.setVisible(true);
try { wait(); }
catch (InterruptedException ie) { }
for (int i = 0; i < choices.length; i++)
@@ -307,7 +305,7 @@ public class AWTCallbackHandler extends AbstractCallbackHandler
buttons.add(cancel);
dialog.add(buttons);
dialog.pack();
- dialog.show();
+ dialog.setVisible(true);
try { wait(); }
catch (InterruptedException ie) { }
if (actionCommand.equals(ACTION_OK))
@@ -344,7 +342,7 @@ public class AWTCallbackHandler extends AbstractCallbackHandler
buttons.add(cancel);
dialog.add(buttons);
dialog.pack();
- dialog.show();
+ dialog.setVisible(true);
try { wait(); }
catch (InterruptedException ie) { }
if (actionCommand.equals(ACTION_OK))
@@ -381,7 +379,7 @@ public class AWTCallbackHandler extends AbstractCallbackHandler
buttons.add(cancel);
dialog.add(buttons, BorderLayout.SOUTH);
dialog.pack();
- dialog.show();
+ dialog.setVisible(true);
try { wait(); }
catch (InterruptedException ie) { }
if (actionCommand.equals(ACTION_OK))
@@ -420,7 +418,7 @@ public class AWTCallbackHandler extends AbstractCallbackHandler
dialog.add(label);
dialog.add(buttons);
dialog.pack();
- dialog.show();
+ dialog.setVisible(true);
try { wait(); }
catch (InterruptedException ie) { }
dialog.dispose();
diff --git a/gnu/javax/security/auth/callback/ConsoleCallbackHandler.java b/gnu/javax/security/auth/callback/ConsoleCallbackHandler.java
index 4c24ab808..bb25ca049 100644
--- a/gnu/javax/security/auth/callback/ConsoleCallbackHandler.java
+++ b/gnu/javax/security/auth/callback/ConsoleCallbackHandler.java
@@ -1,5 +1,5 @@
/* ConsoleCallbackHandler.java --
- Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -124,7 +124,7 @@ public class ConsoleCallbackHandler extends AbstractCallbackHandler
}
else
{
- TreeSet indices = new TreeSet();
+ TreeSet<Integer> indices = new TreeSet<Integer>();
StringTokenizer tok = new StringTokenizer(reply, ",");
String[] replies = new String[tok.countTokens()];
int idx = 0;
@@ -146,7 +146,7 @@ public class ConsoleCallbackHandler extends AbstractCallbackHandler
{
int[] ii = new int[indices.size()];
int i = 0;
- for (Iterator it = indices.iterator(); it.hasNext(); )
+ for (Iterator<Integer> it = indices.iterator(); it.hasNext(); )
ii[i++] = ((Integer) it.next()).intValue();
c.setSelectedIndexes(ii);
}
diff --git a/gnu/javax/security/auth/callback/GnuCallbacks.java b/gnu/javax/security/auth/callback/GnuCallbacks.java
index 9fd72f926..810452010 100644
--- a/gnu/javax/security/auth/callback/GnuCallbacks.java
+++ b/gnu/javax/security/auth/callback/GnuCallbacks.java
@@ -1,5 +1,5 @@
/* GnuCallbacks.java -- Provider for callback implementations.
- Copyright (C) 2004, 2006 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2006, 2014 Free Software Foundation, Inc.
This file is a part of GNU Classpath.
@@ -44,13 +44,16 @@ import java.security.Provider;
public final class GnuCallbacks extends Provider
{
+
+ private static final long serialVersionUID = -5978562213558760614L;
+
public GnuCallbacks()
{
super("GNU-CALLBACKS", 2.1, "Implementations of various callback handlers.");
- AccessController.doPrivileged(new PrivilegedAction()
+ AccessController.doPrivileged(new PrivilegedAction<Void>()
{
- public Object run()
+ public Void run()
{
put("CallbackHandler.Default", DefaultCallbackHandler.class.getName());
put("CallbackHandler.Console", ConsoleCallbackHandler.class.getName());
diff --git a/gnu/javax/security/auth/login/ConfigFileParser.java b/gnu/javax/security/auth/login/ConfigFileParser.java
index bebd036f9..e86e4a8c6 100644
--- a/gnu/javax/security/auth/login/ConfigFileParser.java
+++ b/gnu/javax/security/auth/login/ConfigFileParser.java
@@ -1,5 +1,5 @@
/* ConfigFileParser.java -- JAAS Login Configuration default syntax parser
- Copyright (C) 2006, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2010, 2014 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -95,7 +95,8 @@ public final class ConfigFileParser
Logger.getLogger(ConfigFileParser.class.getName()) : null;
private ConfigFileTokenizer cft;
- private final Map map = new HashMap();
+ private final Map<String,List<AppConfigurationEntry>> map =
+ new HashMap<String,List<AppConfigurationEntry>>();
// default 0-arguments constructor
@@ -106,7 +107,7 @@ public final class ConfigFileParser
* encountered, for that application name in the just parsed configuration
* file.
*/
- public Map getLoginModulesMap()
+ public Map<String,List<AppConfigurationEntry>> getLoginModulesMap()
{
return map;
}
@@ -159,7 +160,7 @@ public final class ConfigFileParser
if (cft.nextToken() != '{')
abort("Missing '{' after APP_NAME_OR_OTHER");
- List lmis = new ArrayList();
+ List<AppConfigurationEntry> lmis = new ArrayList<AppConfigurationEntry>();
while (parseACE(lmis))
{
/* do nothing */
@@ -173,10 +174,10 @@ public final class ConfigFileParser
if (c != ';')
abort("Was expecting ';' but found " + (char) c);
- List listOfACEs = (List) map.get(appName);
+ List<AppConfigurationEntry> listOfACEs = map.get(appName);
if (listOfACEs == null)
{
- listOfACEs = new ArrayList();
+ listOfACEs = new ArrayList<AppConfigurationEntry>();
map.put(appName, listOfACEs);
}
listOfACEs.addAll(lmis);
@@ -188,7 +189,8 @@ public final class ConfigFileParser
* Returns <code>false</code> otherwise.
* @throws IOException if an exception occurs while parsing the input.
*/
- private boolean parseACE(List listOfACEs) throws IOException
+ private boolean parseACE(List<AppConfigurationEntry> listOfACEs)
+ throws IOException
{
int c = cft.nextToken();
if (c != ConfigFileTokenizer.TT_WORD)
@@ -219,7 +221,7 @@ public final class ConfigFileParser
else
abort("Unknown Flag: " + flag);
- Map options = new HashMap();
+ Map<String,String> options = new HashMap<String,String>();
String paramName, paramValue;
c = cft.nextToken();
while (c != ';')
diff --git a/gnu/javax/security/auth/login/GnuConfiguration.java b/gnu/javax/security/auth/login/GnuConfiguration.java
index 6afe1cd19..b7c3b5a44 100644
--- a/gnu/javax/security/auth/login/GnuConfiguration.java
+++ b/gnu/javax/security/auth/login/GnuConfiguration.java
@@ -1,5 +1,5 @@
/* GnuConfiguration.java -- GNU Classpath implementation of JAAS Configuration
- Copyright (C) 2006, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2010, 2014 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -47,7 +47,6 @@ import java.net.MalformedURLException;
import java.net.URL;
import java.security.Security;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
@@ -136,7 +135,7 @@ public final class GnuConfiguration extends Configuration
* this map is a {@link List} of {@link AppConfigurationEntry}s for that
* application name.
*/
- private Map loginModulesMap;
+ private Map<String,List<AppConfigurationEntry>> loginModulesMap;
/** Our reference to our default syntax parser. */
private ConfigFileParser cp;
@@ -148,7 +147,7 @@ public final class GnuConfiguration extends Configuration
{
super();
- loginModulesMap = new HashMap();
+ loginModulesMap = new HashMap<String,List<AppConfigurationEntry>>();
cp = new ConfigFileParser();
init();
}
@@ -173,13 +172,13 @@ public final class GnuConfiguration extends Configuration
if (appName.length() == 0)
return null;
- List loginModules = (List) loginModulesMap.get(appName);
+ List<AppConfigurationEntry> loginModules = loginModulesMap.get(appName);
if (loginModules == null || loginModules.size() == 0)
return null;
if (gnu.java.security.Configuration.DEBUG)
log.fine(appName + " -> " + loginModules.size() + " entry(ies)");
- return (AppConfigurationEntry[]) loginModules.toArray(new AppConfigurationEntry[0]);
+ return loginModules.toArray(new AppConfigurationEntry[loginModules.size()]);
}
/**
@@ -241,7 +240,7 @@ public final class GnuConfiguration extends Configuration
* <i>java.security.auth.login.config.url.N</i>.
*
* @return <code>true</code> if it succeeds, and <code>false</code>
- * otherwsie.
+ * otherwise.
*/
private boolean processSecurityProperties()
{
@@ -386,23 +385,23 @@ public final class GnuConfiguration extends Configuration
private void parseConfig(InputStream configStream) throws IOException
{
cp.parse(new InputStreamReader(configStream, "UTF-8"));
- Map loginModulesMap = cp.getLoginModulesMap();
+ Map<String,List<AppConfigurationEntry>> loginModulesMap = cp.getLoginModulesMap();
mergeLoginModules(loginModulesMap);
}
- private void mergeLoginModules(Map otherLoginModules)
+ private void mergeLoginModules(Map<String,List<AppConfigurationEntry>> otherLoginModules)
{
if (otherLoginModules == null || otherLoginModules.size() < 1)
return;
- for (Iterator it = otherLoginModules.keySet().iterator(); it.hasNext();)
+ for (Map.Entry<String,List<AppConfigurationEntry>> entry : otherLoginModules.entrySet())
{
- String appName = (String) it.next();
- List thatListOfACEs = (List) otherLoginModules.get(appName);
+ String appName = entry.getKey();
+ List<AppConfigurationEntry> thatListOfACEs = entry.getValue();
if (thatListOfACEs == null || thatListOfACEs.size() < 1)
continue;
- List thisListsOfACEs = (List) loginModulesMap.get(appName);
+ List<AppConfigurationEntry> thisListsOfACEs = loginModulesMap.get(appName);
if (thisListsOfACEs == null)
loginModulesMap.put(appName, thatListOfACEs);
else