Author: j16sdiz
Date: 2008-09-04 15:58:37 +0000 (Thu, 04 Sep 2008)
New Revision: 22416

Modified:
   trunk/freenet/src/freenet/node/NodeDispatcher.java
   trunk/freenet/src/freenet/node/NodeStats.java
   trunk/freenet/src/freenet/node/fcp/FCPClient.java
   trunk/freenet/src/freenet/node/fcp/FCPServer.java
   trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java
   trunk/freenet/src/freenet/support/SimpleFieldSet.java
   trunk/freenet/src/freenet/support/io/PersistentTempBucketFactory.java
Log:
warning hunt: remove unneeded casts, generic for Comparator

Modified: trunk/freenet/src/freenet/node/NodeDispatcher.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeDispatcher.java  2008-09-04 15:32:25 UTC 
(rev 22415)
+++ trunk/freenet/src/freenet/node/NodeDispatcher.java  2008-09-04 15:58:37 UTC 
(rev 22416)
@@ -524,14 +524,14 @@
                }
        }

-       final Hashtable routedContexts = new Hashtable();
+       final Hashtable<Long, RoutedContext> routedContexts = new 
Hashtable<Long, RoutedContext>();

        static class RoutedContext {
                long createdTime;
                long accessTime;
                PeerNode source;
-               final HashSet routedTo;
-               final HashSet notIgnored;
+               final HashSet<PeerNode> routedTo;
+               final HashSet<PeerNode> notIgnored;
                Message msg;
                short lastHtl;
                final byte[] identity;
@@ -539,8 +539,8 @@
                RoutedContext(Message msg, PeerNode source, byte[] identity) {
                        createdTime = accessTime = System.currentTimeMillis();
                        this.source = source;
-                       routedTo = new HashSet();
-                       notIgnored = new HashSet();
+                       routedTo = new HashSet<PeerNode>();
+                       notIgnored = new HashSet<PeerNode>();
                        this.msg = msg;
                        lastHtl = msg.getShort(DMT.HTL);
                        this.identity = identity;
@@ -557,9 +557,9 @@
        public void run() {
                long now=System.currentTimeMillis();
                synchronized (routedContexts) {
-                       Iterator i=routedContexts.values().iterator();
+                       Iterator<RoutedContext> i = 
routedContexts.values().iterator();
                        while (i.hasNext()) {
-                               RoutedContext rc = (RoutedContext)i.next();
+                               RoutedContext rc = i.next();
                                if (now-rc.createdTime > STALE_CONTEXT) {
                                        i.remove();
                                }
@@ -574,7 +574,7 @@
        private boolean handleRoutedRejected(Message m) {
                long id = m.getLong(DMT.UID);
                Long lid = new Long(id);
-               RoutedContext rc = (RoutedContext) routedContexts.get(lid);
+               RoutedContext rc = routedContexts.get(lid);
                if(rc == null) {
                        // Gah
                        Logger.error(this, "Unrecognized FNPRoutedRejected");
@@ -617,10 +617,10 @@
                byte[] identity = ((ShortBuffer) 
m.getObject(DMT.NODE_IDENTITY)).getData();
                if(source != null) htl = source.decrementHTL(htl);
                RoutedContext ctx;
-               ctx = (RoutedContext)routedContexts.get(lid);
+               ctx = routedContexts.get(lid);
                if(ctx != null) {
                        try {
-                               
source.sendAsync(DMT.createFNPRoutedRejected(id, (short)htl), null, 0, 
nodeStats.routedMessageCtr);
+                               
source.sendAsync(DMT.createFNPRoutedRejected(id, htl), null, 0, 
nodeStats.routedMessageCtr);
                        } catch (NotConnectedException e) {
                                if(logMINOR) Logger.minor(this, "Lost 
connection rejecting "+m);
                        }
@@ -656,7 +656,7 @@
                long id = m.getLong(DMT.UID);
                if(logMINOR) Logger.minor(this, "Got reply: "+m);
                Long lid = new Long(id);
-               RoutedContext ctx = (RoutedContext) routedContexts.get(lid);
+               RoutedContext ctx = routedContexts.get(lid);
                if(ctx == null) {
                        Logger.error(this, "Unrecognized routed reply: "+m);
                        return false;

Modified: trunk/freenet/src/freenet/node/NodeStats.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStats.java       2008-09-04 15:32:25 UTC 
(rev 22415)
+++ trunk/freenet/src/freenet/node/NodeStats.java       2008-09-04 15:58:37 UTC 
(rev 22416)
@@ -434,12 +434,12 @@
                long totalSent = total[0];
                long totalOverhead = getSentOverhead();
                long uptime = node.getUptime();
-               double sentOverheadPerSecond = ((double)totalOverhead*1000.0) / 
((double)uptime);
+               double sentOverheadPerSecond = (totalOverhead*1000.0) / 
(uptime);
                /** The fraction of output bytes which are used for requests */
                double overheadFraction = ((double)(totalSent - totalOverhead)) 
/ totalSent;
                long timeFirstAnyConnections = peers.timeFirstAnyConnections;
                long now = System.currentTimeMillis();
-               if(logMINOR) Logger.minor(this, "Output rate: 
"+((double)totalSent*1000.0)/uptime+" overhead rate "+sentOverheadPerSecond+" 
non-overhead fraction "+overheadFraction);
+               if(logMINOR) Logger.minor(this, "Output rate: 
"+(totalSent*1000.0)/uptime+" overhead rate "+sentOverheadPerSecond+" 
non-overhead fraction "+overheadFraction);
                if(timeFirstAnyConnections > 0) {
                        long time = now - timeFirstAnyConnections;
                        if(time < DEFAULT_ONLY_PERIOD) {
@@ -470,7 +470,7 @@
                                        return ">MAX_PING_TIME 
("+TimeUtil.formatTime((long)pingTime, 2, true)+ ')';
                                }
                        } else if(pingTime > SUB_MAX_PING_TIME) {
-                               double x = ((double)(pingTime - 
SUB_MAX_PING_TIME)) / (MAX_PING_TIME - SUB_MAX_PING_TIME);
+                               double x = ((pingTime - SUB_MAX_PING_TIME)) / 
(MAX_PING_TIME - SUB_MAX_PING_TIME);
                                if(hardRandom.nextDouble() < x) {
                                        pInstantRejectIncoming.report(1.0);
                                        rejected(">SUB_MAX_PING_TIME", isLocal);
@@ -488,7 +488,7 @@
                                        return ">MAX_THROTTLE_DELAY 
("+TimeUtil.formatTime((long)bwlimitDelayTime, 2, true)+ ')';
                                }
                        } else if(bwlimitDelayTime > SUB_MAX_THROTTLE_DELAY) {
-                               double x = ((double)(bwlimitDelayTime - 
SUB_MAX_THROTTLE_DELAY)) / (MAX_THROTTLE_DELAY - SUB_MAX_THROTTLE_DELAY);
+                               double x = ((bwlimitDelayTime - 
SUB_MAX_THROTTLE_DELAY)) / (MAX_THROTTLE_DELAY - SUB_MAX_THROTTLE_DELAY);
                                if(hardRandom.nextDouble() < x) {
                                        pInstantRejectIncoming.report(1.0);
                                        rejected(">SUB_MAX_THROTTLE_DELAY", 
isLocal);
@@ -904,10 +904,8 @@

                /* gather connection statistics */
                DarknetPeerNodeStatus[] peerNodeStatuses = 
peers.getDarknetPeerNodeStatuses(true);
-               Arrays.sort(peerNodeStatuses, new Comparator() {
-                       public int compare(Object first, Object second) {
-                               DarknetPeerNodeStatus firstNode = 
(DarknetPeerNodeStatus) first;
-                               DarknetPeerNodeStatus secondNode = 
(DarknetPeerNodeStatus) second;
+               Arrays.sort(peerNodeStatuses, new 
Comparator<DarknetPeerNodeStatus>() {
+                       public int compare(DarknetPeerNodeStatus firstNode, 
DarknetPeerNodeStatus secondNode) {
                                int statusDifference = 
firstNode.getStatusValue() - secondNode.getStatusValue();
                                if (statusDifference != 0) {
                                        return statusDifference;
@@ -977,9 +975,9 @@
                        }
                }

-               double swaps = (double)node.getSwaps();
-               double noSwaps = (double)node.getNoSwaps();
-               double numberOfRemotePeerLocationsSeenInSwaps = 
(double)node.getNumberOfRemotePeerLocationsSeenInSwaps();
+               double swaps = node.getSwaps();
+               double noSwaps = node.getNoSwaps();
+               double numberOfRemotePeerLocationsSeenInSwaps = 
node.getNumberOfRemotePeerLocationsSeenInSwaps();
                fs.putSingle("numberOfRemotePeerLocationsSeenInSwaps", 
Double.toString(numberOfRemotePeerLocationsSeenInSwaps));
                double avgConnectedPeersPerNode = 0.0;
                if ((numberOfRemotePeerLocationsSeenInSwaps > 0.0) && ((swaps > 
0.0) || (noSwaps > 0.0))) {
@@ -1003,13 +1001,13 @@
                        locationChangePerSwap = locationChangePerSession/swaps;
                }
                if ((swaps > 0.0) && (nodeUptimeSeconds >= 60)) {
-                       locationChangePerMinute = 
locationChangePerSession/(double)(nodeUptimeSeconds/60.0);
+                       locationChangePerMinute = 
locationChangePerSession/(nodeUptimeSeconds/60.0);
                }
                if ((swaps > 0.0) && (nodeUptimeSeconds >= 60)) {
-                       swapsPerMinute = swaps/(double)(nodeUptimeSeconds/60.0);
+                       swapsPerMinute = swaps/(nodeUptimeSeconds/60.0);
                }
                if ((noSwaps > 0.0) && (nodeUptimeSeconds >= 60)) {
-                       noSwapsPerMinute = 
noSwaps/(double)(nodeUptimeSeconds/60.0);
+                       noSwapsPerMinute = noSwaps/(nodeUptimeSeconds/60.0);
                }
                if ((swaps > 0.0) && (noSwaps > 0.0)) {
                        swapsPerNoSwaps = swaps/noSwaps;
@@ -1073,9 +1071,9 @@
                fs.put("avgStoreAccessRate", avgStoreAccessRate);

                Runtime rt = Runtime.getRuntime();
-               float freeMemory = (float) rt.freeMemory();
-               float totalMemory = (float) rt.totalMemory();
-               float maxMemory = (float) rt.maxMemory();
+               float freeMemory = rt.freeMemory();
+               float totalMemory = rt.totalMemory();
+               float maxMemory = rt.maxMemory();

                long usedJavaMem = (long)(totalMemory - freeMemory);
                long allocatedJavaMem = (long)totalMemory;
@@ -1682,7 +1680,7 @@
         */
        public double getSentOverheadPerSecond() {
                long uptime = node.getUptime();
-               return ((double)getSentOverhead() * 1000.0) / ((double) uptime);
+               return (getSentOverhead() * 1000.0) / uptime;
        }

        public synchronized void successfulBlockReceive() {

Modified: trunk/freenet/src/freenet/node/fcp/FCPClient.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPClient.java   2008-09-04 15:32:25 UTC 
(rev 22415)
+++ trunk/freenet/src/freenet/node/fcp/FCPClient.java   2008-09-04 15:58:37 UTC 
(rev 22416)
@@ -4,6 +4,7 @@
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedList;
+import java.util.List;
 import java.util.Vector;

 import freenet.client.FetchContext;
@@ -45,7 +46,7 @@
        /** The current connection handler, if any. */
        private FCPConnectionHandler currentConnection;
        /** Currently running persistent requests */
-       private final HashSet runningPersistentRequests;
+       private final HashSet<ClientRequest> runningPersistentRequests;
        /** Completed unacknowledged persistent requests */
        private final Vector completedUnackedRequests;
        /** ClientRequest's by identifier */
@@ -168,17 +169,15 @@
                return !(runningPersistentRequests.isEmpty() && 
completedUnackedRequests.isEmpty());
        }

-       public void addPersistentRequests(Vector v, boolean onlyForever) {
+       public void addPersistentRequests(List<ClientRequest> v, boolean 
onlyForever) {
                synchronized(this) {
-                       Iterator i = runningPersistentRequests.iterator();
+                       Iterator<ClientRequest> i = 
runningPersistentRequests.iterator();
                        while(i.hasNext()) {
                                ClientRequest req = (ClientRequest) i.next();
                                if(req.isPersistentForever() || !onlyForever)
                                        v.add(req);
                        }
-                       Object[] unacked = completedUnackedRequests.toArray();
-                       for(int j=0;j<unacked.length;j++)
-                               v.add(unacked[j]);
+                       v.addAll(completedUnackedRequests);
                }
        }


Modified: trunk/freenet/src/freenet/node/fcp/FCPServer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPServer.java   2008-09-04 15:32:25 UTC 
(rev 22415)
+++ trunk/freenet/src/freenet/node/fcp/FCPServer.java   2008-09-04 15:58:37 UTC 
(rev 22416)
@@ -15,9 +15,10 @@
 import java.io.InputStreamReader;
 import java.io.OutputStreamWriter;
 import java.net.Socket;
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.LinkedList;
-import java.util.Vector;
+import java.util.List;
 import java.util.WeakHashMap;
 import java.util.zip.GZIPInputStream;
 import java.util.zip.GZIPOutputStream;
@@ -67,7 +68,7 @@
        String bindTo;
        private String allowedHosts;
        AllowedHosts allowedHostsFullAccess;
-       final WeakHashMap clientsByName;
+       final WeakHashMap<String, FCPClient> clientsByName;
        final FCPClient globalClient;
        private boolean enablePersistentDownloads;
        private File persistentDownloadsFile;
@@ -110,7 +111,7 @@
                this.core = core;
                this.assumeDownloadDDAIsAllowed = assumeDDADownloadAllowed;
                this.assumeUploadDDAIsAllowed = assumeDDAUploadAllowed;
-               clientsByName = new WeakHashMap();
+               clientsByName = new WeakHashMap<String, FCPClient>();

                // This one is only used to get the default settings. 
Individual FCP conns
                // will make their own.
@@ -526,7 +527,7 @@
        public FCPClient registerClient(String name, NodeClientCore core, 
FCPConnectionHandler handler) {
                FCPClient oldClient;
                synchronized(this) {
-                       oldClient = (FCPClient) clientsByName.get(name);
+                       oldClient = clientsByName.get(name);
                        if(oldClient == null) {
                                // Create new client
                                FCPClient client = new FCPClient(name, this, 
handler, false, null);
@@ -758,22 +759,22 @@
        }

        private ClientRequest[] getPersistentRequests() {
-               Vector v = new Vector();
+               List<ClientRequest> v = new ArrayList<ClientRequest>();
                synchronized(this) {
-                       Iterator i = clientsByName.values().iterator();
+                       Iterator<FCPClient> i = 
clientsByName.values().iterator();
                        while(i.hasNext()) {
-                               FCPClient client = (FCPClient) (i.next());
+                               FCPClient client = (i.next());
                                client.addPersistentRequests(v, true);
                        }
                        globalClient.addPersistentRequests(v, true);
                }
-               return (ClientRequest[]) v.toArray(new ClientRequest[v.size()]);
+               return v.toArray(new ClientRequest[v.size()]);
        }

        public ClientRequest[] getGlobalRequests() {
-               Vector v = new Vector();
+               List<ClientRequest> v = new ArrayList<ClientRequest>();
                globalClient.addPersistentRequests(v, false);
-               return (ClientRequest[]) v.toArray(new ClientRequest[v.size()]);
+               return v.toArray(new ClientRequest[v.size()]);
        }

        public void removeGlobalRequest(String identifier) throws 
MessageInvalidException {
@@ -887,7 +888,7 @@

                FCPClient[] clients;
                synchronized(this) {
-                       clients = (FCPClient[]) 
clientsByName.values().toArray(new FCPClient[clientsByName.size()]);
+                       clients = clientsByName.values().toArray(new 
FCPClient[clientsByName.size()]);
                }

                for(int i=0;i<clients.length;i++) {

Modified: trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java     
2008-09-04 15:32:25 UTC (rev 22415)
+++ trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java     
2008-09-04 15:58:37 UTC (rev 22416)
@@ -16,14 +16,13 @@
 /**
  * Collection of UserAlert's.
  */
-public class UserAlertManager implements Comparator {
-
-       private final HashSet alerts;
+public class UserAlertManager implements Comparator<UserAlert> {
+       private final HashSet<UserAlert> alerts;
        private final NodeClientCore core;

        public UserAlertManager(NodeClientCore core) {
                this.core = core;
-               alerts = new LinkedHashSet();
+               alerts = new LinkedHashSet<UserAlert>();
        }

        public void register(UserAlert alert) {
@@ -67,15 +66,13 @@
        public UserAlert[] getAlerts() {
                UserAlert[] a;
                synchronized (alerts) {
-                       a = (UserAlert[]) alerts.toArray(new 
UserAlert[alerts.size()]);
+                       a = alerts.toArray(new UserAlert[alerts.size()]);
                }
                Arrays.sort(a, this);
                return a;
        }

-       public int compare(Object arg0, Object arg1) {
-               UserAlert a0 = (UserAlert) arg0;
-               UserAlert a1 = (UserAlert) arg1;
+       public int compare(UserAlert a0, UserAlert a1) {
                if(a0 == a1) return 0; // common case, also we should be 
consistent with == even with proxyuseralert's
                short prio0 = a0.getPriorityClass();
                short prio1 = a1.getPriorityClass();
@@ -298,7 +295,7 @@
                return L10n.getString("UserAlertManager."+key);
        }

-       public void dumpEvents(HashSet toDump) {
+       public void dumpEvents(HashSet<String> toDump) {
                // An iterator might be faster, but we don't want to call 
methods on the alert within the lock.
                UserAlert[] alerts = getAlerts();
                for(int i=0;i<alerts.length;i++) {

Modified: trunk/freenet/src/freenet/support/SimpleFieldSet.java
===================================================================
--- trunk/freenet/src/freenet/support/SimpleFieldSet.java       2008-09-04 
15:32:25 UTC (rev 22415)
+++ trunk/freenet/src/freenet/support/SimpleFieldSet.java       2008-09-04 
15:58:37 UTC (rev 22416)
@@ -1,13 +1,17 @@
 package freenet.support;

 import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
 import java.io.BufferedReader;
+import java.io.BufferedWriter;
 import java.io.EOFException;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
 import java.io.StringReader;
 import java.io.StringWriter;
 import java.io.UnsupportedEncodingException;
@@ -20,10 +24,6 @@
 import freenet.node.FSParseException;
 import freenet.support.io.Closer;
 import freenet.support.io.LineReader;
-import java.io.BufferedOutputStream;
-import java.io.BufferedWriter;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;

 /**
  * @author amphibian
@@ -224,17 +224,17 @@
      * Put contents of a fieldset, overwrite old values.
      */
     public void putAllOverwrite(SimpleFieldSet fs) {
-       Iterator i = fs.values.keySet().iterator();
+       Iterator<String> i = fs.values.keySet().iterator();
        while(i.hasNext()) {
-               String key = (String) i.next();
+               String key = i.next();
                String hisVal = fs.values.get(key);
                values.put(key, hisVal); // overwrite old
        }
        if(fs.subsets == null) return;
-       if(subsets == null) subsets = new HashMap();
+       if(subsets == null) subsets = new HashMap<String, SimpleFieldSet>();
        i = fs.subsets.keySet().iterator();
        while(i.hasNext()) {
-               String key = (String) i.next();
+               String key = i.next();
                SimpleFieldSet hisFS = fs.subsets.get(key);
                SimpleFieldSet myFS = subsets.get(key);
                if(myFS != null) {
@@ -308,7 +308,7 @@
                        String after = key.substring(idx+1);
                        SimpleFieldSet fs = null;
                        if(subsets == null)
-                               subsets = new HashMap();
+                               subsets = new HashMap<String, SimpleFieldSet>();
                        fs = subsets.get(before);
                        if(fs == null) {
                                fs = new SimpleFieldSet(shortLived);
@@ -365,10 +365,10 @@
      * @warning keep in mind that a Writer is not necessarily UTF-8!!
      */
     synchronized void writeTo(Writer w, String prefix, boolean noEndMarker) 
throws IOException {
-       for(Iterator i = values.entrySet().iterator();i.hasNext();) {
-            Map.Entry entry = (Map.Entry) i.next();
-            String key = (String) entry.getKey();
-            String value = (String) entry.getValue();
+       for (Iterator<Map.Entry<String, String>> i = 
values.entrySet().iterator(); i.hasNext();) {
+            Map.Entry<String, String> entry = i.next();
+                       String key = entry.getKey();
+                       String value = entry.getValue();
             w.write(prefix);
             w.write(key);
             w.write(KEYVALUE_SEPARATOR_CHAR);
@@ -376,10 +376,10 @@
             w.write('\n');
        }
        if(subsets != null) {
-               for(Iterator i = subsets.entrySet().iterator();i.hasNext();) {
-                       Map.Entry entry = (Map.Entry) i.next();
-                       String key = (String) entry.getKey();
-                       SimpleFieldSet subset = (SimpleFieldSet) 
entry.getValue();
+               for (Iterator<Map.Entry<String, SimpleFieldSet>> i = 
subsets.entrySet().iterator(); i.hasNext();) {
+                               Map.Entry<String, SimpleFieldSet> entry = 
i.next();
+                               String key = entry.getKey();
+                               SimpleFieldSet subset = entry.getValue();
                        if(subset == null) throw new NullPointerException();
                        subset.writeTo(w, prefix+key+MULTI_LEVEL_CHAR, true);
                }
@@ -480,7 +480,7 @@
                return fs;
        }

-       public Iterator keyIterator() {
+       public Iterator<String> keyIterator() {
                return new KeyIterator("");
        }

@@ -488,14 +488,13 @@
                return new KeyIterator(prefix);
        }

-        public Iterator toplevelKeyIterator() {
+        public Iterator<String> toplevelKeyIterator() {
             return values.keySet().iterator();
         }

-    public class KeyIterator implements Iterator {
-       
-       final Iterator valuesIterator;
-       final Iterator subsetIterator;
+    public class KeyIterator implements Iterator<String> {     
+       final Iterator<String> valuesIterator;
+       final Iterator<String> subsetIterator;
        KeyIterator subIterator;
        String prefix;

@@ -518,7 +517,7 @@
                        while(true) {
                                if(valuesIterator != null && 
valuesIterator.hasNext()) break;
                                if(subsetIterator == null || 
!subsetIterator.hasNext()) break;
-                               String name = (String) subsetIterator.next();
+                               String name = subsetIterator.next();
                                if(name == null) continue;
                                SimpleFieldSet fs = subsets.get(name);
                                if(fs == null) continue;
@@ -538,7 +537,7 @@
                                        if((subIterator != null) && 
subIterator.hasNext()) return true;
                                        if(subIterator != null) subIterator = 
null;
                                        if(subsetIterator != null && 
subsetIterator.hasNext()) {
-                                               String key = (String) 
subsetIterator.next();
+                                               String key = 
subsetIterator.next();
                                                SimpleFieldSet fs = 
subsets.get(key);
                                                String newPrefix = prefix + key 
+ MULTI_LEVEL_CHAR;
                                                subIterator = 
fs.keyIterator(newPrefix);
@@ -548,7 +547,7 @@
                        }
                }

-               public final Object next() {
+               public final String next() {
                        return nextKey();
                }

@@ -563,7 +562,7 @@
                                        if(subIterator != null && 
subIterator.hasNext()) {
                                                // If we have a retval, and we 
have a next value, return
                                                if(ret != null) return ret;
-                                               ret = (String) 
subIterator.next();
+                                               ret = subIterator.next();
                                                if(subIterator.hasNext())
                                                        // If we have a retval, 
and we have a next value, return
                                                        if(ret != null) return 
ret;
@@ -571,7 +570,7 @@
                                        // Otherwise, we need to get a new 
subIterator (or hasNext() will return false)
                                        subIterator = null;
                                        if(subsetIterator != null && 
subsetIterator.hasNext()) {
-                                               String key = (String) 
subsetIterator.next();
+                                               String key = 
subsetIterator.next();
                                                SimpleFieldSet fs = 
subsets.get(key);
                                                String newPrefix = prefix + key 
+ MULTI_LEVEL_CHAR;
                                                subIterator = 
fs.keyIterator(newPrefix);
@@ -601,7 +600,7 @@
                if(fs.isEmpty()) // can't just no-op, because caller might add 
the FS then populate it...
                        throw new IllegalArgumentException("Empty");
                if(subsets == null)
-                       subsets = new HashMap();
+                       subsets = new HashMap<String, SimpleFieldSet>();
                if(subsets.containsKey(key))
                        throw new IllegalArgumentException("Already contains 
"+key+" but trying to add a SimpleFieldSet!");
                if(!shortLived) key = key.intern();
@@ -665,7 +664,7 @@
                return values.isEmpty() && (subsets == null || 
subsets.isEmpty());
        }

-       public Iterator directSubsetNameIterator() {
+       public Iterator<String> directSubsetNameIterator() {
                return (subsets == null) ? null : subsets.keySet().iterator();
        }


Modified: trunk/freenet/src/freenet/support/io/PersistentTempBucketFactory.java
===================================================================
--- trunk/freenet/src/freenet/support/io/PersistentTempBucketFactory.java       
2008-09-04 15:32:25 UTC (rev 22415)
+++ trunk/freenet/src/freenet/support/io/PersistentTempBucketFactory.java       
2008-09-04 15:58:37 UTC (rev 22416)
@@ -3,18 +3,18 @@
  * http://www.gnu.org/ for further details of the GPL. */
 package freenet.support.io;

-import freenet.crypt.RandomSource;
 import java.io.File;
+import java.io.FileFilter;
 import java.io.IOException;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedList;
+import java.util.Random;

+import freenet.crypt.RandomSource;
 import freenet.support.Logger;
 import freenet.support.api.Bucket;
 import freenet.support.api.BucketFactory;
-import java.io.FileFilter;
-import java.util.Random;

 /**
  * Handles persistent temp files. These are used for e.g. persistent downloads.
@@ -41,7 +41,7 @@
        private final Random weakPRNG;

        /** Buckets to free */
-       private LinkedList bucketsToFree;
+       private LinkedList<Bucket> bucketsToFree;

        private volatile boolean encrypt;

@@ -122,10 +122,10 @@
                }
        }

-       public LinkedList grabBucketsToFree() {
+       public LinkedList<Bucket> grabBucketsToFree() {
                synchronized(this) {
-                       LinkedList toFree = bucketsToFree;
-                       bucketsToFree = new LinkedList();
+                       LinkedList<Bucket> toFree = bucketsToFree;
+                       bucketsToFree = new LinkedList<Bucket>();
                        return toFree;
                }
        }


Reply via email to