Author: j16sdiz
Date: 2008-09-06 06:36:53 +0000 (Sat, 06 Sep 2008)
New Revision: 22491

Modified:
   trunk/freenet/src/freenet/node/fcp/ClientGet.java
   trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java
   trunk/freenet/src/freenet/node/fcp/ClientPutDir.java
   trunk/freenet/src/freenet/node/fcp/ClientPutDiskDirMessage.java
   trunk/freenet/src/freenet/node/fcp/FCPClient.java
   trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
   trunk/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java
   trunk/freenet/src/freenet/node/fcp/FCPServer.java
   trunk/freenet/src/freenet/node/fcp/ModifyConfig.java
   trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java
Log:
warning hung: freenet.node.fcp

Modified: trunk/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientGet.java   2008-09-06 06:36:21 UTC 
(rev 22490)
+++ trunk/freenet/src/freenet/node/fcp/ClientGet.java   2008-09-06 06:36:53 UTC 
(rev 22491)
@@ -295,8 +295,9 @@

                String[] allowed = fs.getAll("AllowedMIMETypes");
                if(allowed != null) {
-                       fctx.allowedMIMETypes = new HashSet();
-                       for(int i=0;i<allowed.length;i++) 
fctx.allowedMIMETypes.add(allowed[i]);
+                       fctx.allowedMIMETypes = new HashSet<String>();
+                       for (String a : allowed)
+                               fctx.allowedMIMETypes.add(a);
                }

                getter = new ClientGetter(this, 
client.core.requestStarters.chkFetchScheduler, 

Modified: trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java  
2008-09-06 06:36:21 UTC (rev 22490)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java  
2008-09-06 06:36:53 UTC (rev 22491)
@@ -19,8 +19,9 @@
 import freenet.support.io.PersistentTempBucketFactory;

 /**
+ * <pre>
  * ClientPutComplexDir
- * < ... standard ClientPutDir headers ... >
+ * &lt; ... standard ClientPutDir headers ... &gt;
  * Files.0.Name=hello.txt
  * Files.0.UploadFrom=direct
  * Files.0.Metadata.ContentType=text/plain
@@ -39,14 +40,15 @@
  *  order for UploadFrom=direct. they must be sequential and start at 0).
  * ...
  * End
- * <data from above direct uploads, ***in alphabetical order***>
+ * &lt;data from above direct uploads, ***in alphabetical order***&gt;
+ * </pre>
  */
 public class ClientPutComplexDirMessage extends ClientPutDirMessage {

        /** The files attached to this message, in a directory hierarchy */
-       private final HashMap filesByName;
+       private final HashMap<String, Object /* <HashMap || DirPutFile> */> 
filesByName;
        /** Any files we want to read data from */
-       private final LinkedList filesToRead;
+       private final LinkedList<DirPutFile> filesToRead;
        /** Total number of bytes of attached data */
        private final long attachedBytes;

@@ -54,8 +56,8 @@
                // Parse the standard ClientPutDir headers - URI, etc.
                super(fs);

-               filesByName = new HashMap();
-               filesToRead = new LinkedList();
+               filesByName = new HashMap<String, Object>();
+               filesToRead = new LinkedList<DirPutFile>();
                long totalBytes = 0;
                // Now parse the meat
                SimpleFieldSet files = fs.subset("Files");
@@ -85,7 +87,8 @@
                addFile(filesByName, f.getName(), f);
        }

-       private void addFile(HashMap byName, String name, DirPutFile f) throws 
MessageInvalidException {
+       @SuppressWarnings("unchecked")
+       private void addFile(HashMap<String, Object> byName, String name, 
DirPutFile f) throws MessageInvalidException {
                int idx = name.indexOf('/');
                if(idx == -1) {
                        byName.put(name, f);
@@ -94,16 +97,16 @@
                        String after = name.substring(idx+1);
                        Object o = byName.get(before);
                        if(o != null) {
-                               if(o instanceof HashMap) {
-                                       addFile((HashMap)o, after, f);
+                               if (o instanceof HashMap) {
+                                       addFile((HashMap<String, Object>) o, 
after, f);
                                        return;
                                } else {
                                        throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "Cannot be both a 
file and a directory: "+before, identifier, global);
                                }
                        } else {
-                               o = new HashMap();
+                               o = new HashMap<Object, Object>();
                                byName.put(before, o);
-                               addFile((HashMap)o, after, f);
+                               addFile((HashMap<String, Object>) o, after, f);
                        }
                }
        }
@@ -123,7 +126,7 @@
        }

        public void readFrom(InputStream is, BucketFactory bf, FCPServer 
server) throws IOException, MessageInvalidException {
-               Iterator i = filesToRead.iterator();
+               Iterator<DirPutFile> i = filesToRead.iterator();
                while(i.hasNext()) {
                        DirectDirPutFile f = (DirectDirPutFile) i.next();
                        f.read(is);
@@ -131,7 +134,7 @@
        }

        protected void writeData(OutputStream os) throws IOException {
-               Iterator i = filesToRead.iterator();
+               Iterator<DirPutFile> i = filesToRead.iterator();
                while(i.hasNext()) {
                        DirectDirPutFile f = (DirectDirPutFile) i.next();
                        f.write(os);
@@ -142,7 +145,7 @@
                // Convert the hierarchical hashmap's of DirPutFile's to 
hierarchical hashmap's
                // of ManifestElement's.
                // Then simply create the ClientPutDir.
-               HashMap manifestElements = new HashMap();
+               HashMap<String, Object> manifestElements = new HashMap<String, 
Object>();
                convertFilesByNameToManifestElements(filesByName, 
manifestElements, node);
                handler.startClientPutDir(this, manifestElements, false);
        }
@@ -151,15 +154,16 @@
         * Convert a hierarchy of HashMap's containing DirPutFile's into a 
hierarchy of
         * HashMap's containing ManifestElement's.
         */
-       private void convertFilesByNameToManifestElements(HashMap filesByName, 
HashMap manifestElements, Node node) throws MessageInvalidException {
-               Iterator i = filesByName.entrySet().iterator();
-               while(i.hasNext()) {
-                       Map.Entry entry = (Map.Entry) i.next();
-                       String tempName = (String) entry.getKey();
+       @SuppressWarnings("unchecked")
+       private void convertFilesByNameToManifestElements(HashMap<String, 
Object> filesByName,
+               HashMap<String, Object> manifestElements, Node node) throws 
MessageInvalidException {
+               
+               for (Map.Entry<String, Object> entry : filesByName.entrySet()) {
+                       String tempName = entry.getKey();
                        Object val = entry.getValue();
                        if(val instanceof HashMap) {
-                               HashMap h = (HashMap) val;
-                               HashMap manifests = new HashMap();
+                               HashMap<String, Object> h = (HashMap<String, 
Object>) val;
+                               HashMap<String, Object> manifests = new 
HashMap<String, Object>();
                                manifestElements.put(tempName, manifests);
                                convertFilesByNameToManifestElements(h, 
manifests, node);
                        } else {

Modified: trunk/freenet/src/freenet/node/fcp/ClientPutDir.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutDir.java        2008-09-06 
06:36:21 UTC (rev 22490)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutDir.java        2008-09-06 
06:36:53 UTC (rev 22491)
@@ -4,8 +4,8 @@
 package freenet.node.fcp;

 import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.IOException;
-import java.io.FileNotFoundException;
 import java.net.MalformedURLException;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -30,7 +30,7 @@

 public class ClientPutDir extends ClientPutBase {

-       private final HashMap manifestElements;
+       private final HashMap<String, Object> manifestElements;
        private SimpleManifestPutter putter;
        private final String defaultName;
        private final long totalSize;
@@ -39,7 +39,8 @@
        private final boolean wasDiskPut;

        public ClientPutDir(FCPConnectionHandler handler, ClientPutDirMessage 
message, 
-                       HashMap manifestElements, boolean wasDiskPut) throws 
IdentifierCollisionException, MalformedURLException {
+                       HashMap<String, Object> manifestElements, boolean 
wasDiskPut) throws IdentifierCollisionException,
+               MalformedURLException {
                super(message.uri, message.identifier, message.verbosity, 
handler,
                                message.priorityClass, message.persistenceType, 
message.clientToken, message.global,
                                message.getCHKOnly, message.dontCompress, 
message.maxRetries, message.earlyEncode);
@@ -91,17 +92,17 @@
                if(logMINOR) Logger.minor(this, "Putting dir "+identifier+" : 
"+priorityClass);
        }

-       private HashMap makeDiskDirManifest(File dir, String prefix, boolean 
allowUnreadableFiles) throws FileNotFoundException {
+       private HashMap<String, Object> makeDiskDirManifest(File dir, String 
prefix, boolean allowUnreadableFiles)
+               throws FileNotFoundException {

-               HashMap map = new HashMap();
+               HashMap<String, Object> map = new HashMap<String, Object>();
                File[] files = dir.listFiles();

                if(files == null)
                        throw new IllegalArgumentException("No such directory");

-               for(int i=0; i < files.length; i++) {
+               for (File f : files) {

-                       File f = files[i];
                        if (f.exists() && f.canRead()) {
                                if(f.isFile()) {
                                        FileBucket bucket = new FileBucket(f, 
true, false, false, false, false);
@@ -153,7 +154,7 @@
                // Flattened for disk, sort out afterwards
                int fileCount = 0;
                long size = 0;
-               Vector v = new Vector();
+               Vector<ManifestElement> v = new Vector<ManifestElement>();
                for(int i=0;;i++) {
                        String num = Integer.toString(i);
                        SimpleFieldSet subset = files.subset(num);
@@ -251,12 +252,13 @@
                freeData(manifestElements);
        }

-       private void freeData(HashMap manifestElements) {
-               Iterator i = manifestElements.values().iterator();
+       @SuppressWarnings("unchecked")
+    private void freeData(HashMap<String, Object> manifestElements) {
+               Iterator<Object> i = manifestElements.values().iterator();
                while(i.hasNext()) {
                        Object o = i.next();
                        if(o instanceof HashMap)
-                               freeData((HashMap)o);
+                               freeData((HashMap<String, Object>) o);
                        else {
                                ManifestElement e = (ManifestElement) o;
                                e.freeData();

Modified: trunk/freenet/src/freenet/node/fcp/ClientPutDiskDirMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutDiskDirMessage.java     
2008-09-06 06:36:21 UTC (rev 22490)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutDiskDirMessage.java     
2008-09-06 06:36:53 UTC (rev 22491)
@@ -53,7 +53,7 @@
                        throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "Not allowed to 
upload from "+dirname, identifier, global);
                // Create a directory listing of Buckets of data, mapped to 
ManifestElement's.
                // Directories are sub-HashMap's.
-               HashMap buckets = makeBucketsByName(dirname, "");
+               HashMap<String, Object> buckets = makeBucketsByName(dirname, 
"");
                handler.startClientPutDir(this, buckets, true);
        }

@@ -62,12 +62,12 @@
      * and its subdirs.
      * @throws MessageInvalidException 
      */
-    private HashMap makeBucketsByName(File thisdir, String prefix) throws 
MessageInvalidException {
+    private HashMap<String, Object> makeBucketsByName(File thisdir, String 
prefix) throws MessageInvalidException {

        if(Logger.shouldLog(Logger.MINOR, this))
                Logger.minor(this, "Listing directory: "+thisdir);

-       HashMap ret = new HashMap();
+       HashMap<String, Object> ret = new HashMap<String, Object>();

        File filelist[] = thisdir.listFiles();
        if(filelist == null)
@@ -83,7 +83,8 @@

                                ret.put(f.getName(), new 
ManifestElement(f.getName(), prefix + f.getName(), bucket, 
DefaultMIMETypes.guessMIMEType(f.getName(), true), f.length()));
                        } else if(filelist[i].isDirectory()) {
-                               HashMap subdir = makeBucketsByName(new 
File(thisdir, filelist[i].getName()), prefix + filelist[i].getName() + '/');
+                               HashMap<String, Object> subdir = 
makeBucketsByName(new File(thisdir, filelist[i].getName()), prefix
+                                               + filelist[i].getName() + '/');
                                ret.put(filelist[i].getName(), subdir);
                        } else if(!allowUnreadableFiles) {
                                throw new 
MessageInvalidException(ProtocolErrorMessage.FILE_NOT_FOUND, "Not directory and 
not file: "+filelist[i], identifier, global);

Modified: trunk/freenet/src/freenet/node/fcp/FCPClient.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPClient.java   2008-09-06 06:36:21 UTC 
(rev 22490)
+++ trunk/freenet/src/freenet/node/fcp/FCPClient.java   2008-09-06 06:36:53 UTC 
(rev 22491)
@@ -23,18 +23,18 @@
                this.name = name2;
                if(name == null) throw new NullPointerException();
                this.currentConnection = handler;
-               this.runningPersistentRequests = new HashSet();
-               this.completedUnackedRequests = new Vector();
-               this.clientRequestsByIdentifier = new HashMap();
+               this.runningPersistentRequests = new HashSet<ClientRequest>();
+               this.completedUnackedRequests = new Vector<ClientRequest>();
+               this.clientRequestsByIdentifier = new HashMap<String, 
ClientRequest>();
                this.server = server;
                this.core = server.core;
                this.client = core.makeClient((short)0);
                this.isGlobalQueue = isGlobalQueue;
                defaultFetchContext = client.getFetchContext();
                defaultInsertContext = client.getInsertContext(false);
-               clientsWatching = new LinkedList();
+               clientsWatching = new LinkedList<FCPClient>();
                watchGlobalVerbosityMask = Integer.MAX_VALUE;
-               toStart = new LinkedList();
+               toStart = new LinkedList<ClientRequest>();
                lowLevelClient = this;
                completionCallback = cb;
        }
@@ -48,9 +48,9 @@
        /** Currently running persistent requests */
        private final HashSet<ClientRequest> runningPersistentRequests;
        /** Completed unacknowledged persistent requests */
-       private final Vector completedUnackedRequests;
+       private final Vector<ClientRequest> completedUnackedRequests;
        /** ClientRequest's by identifier */
-       private final HashMap clientRequestsByIdentifier;
+       private final HashMap<String, ClientRequest> clientRequestsByIdentifier;
        /** Client (one FCPClient = one HighLevelSimpleClient = one round-robin 
slot) */
        private final HighLevelSimpleClient client;
        public final FetchContext defaultFetchContext;
@@ -64,8 +64,8 @@
        /** FCPClients watching us */
        // FIXME how do we lazily init this without synchronization problems?
        // We obviously can't synchronize on it when it hasn't been constructed 
yet...
-       final LinkedList clientsWatching;
-       private final LinkedList toStart;
+       final LinkedList<FCPClient> clientsWatching;
+       private final LinkedList<ClientRequest> toStart;
        /** Low-level client object, for freenet.client.async. Normally == 
this. */
        final Object lowLevelClient;
        private RequestCompletionCallback completionCallback;
@@ -130,7 +130,7 @@
                        Logger.minor(this, "Registering 
"+cg.getIdentifier()+(startLater ? " to start later" : ""));
                synchronized(this) {
                        String ident = cg.getIdentifier();
-                       ClientRequest old = (ClientRequest) 
clientRequestsByIdentifier.get(ident);
+                       ClientRequest old = 
clientRequestsByIdentifier.get(ident);
                        if((old != null) && (old != cg))
                                throw new IdentifierCollisionException();
                        if(cg.hasFinished()) {
@@ -148,7 +148,7 @@
                boolean logMINOR = Logger.shouldLog(Logger.MINOR, this);
                if(logMINOR) Logger.minor(this, 
"removeByIdentifier("+identifier+ ',' +kill+ ')');
                synchronized(this) {
-                       req = (ClientRequest) 
clientRequestsByIdentifier.get(identifier);
+                       req = clientRequestsByIdentifier.get(identifier);
                        if(req == null)
                                throw new 
MessageInvalidException(ProtocolErrorMessage.NO_SUCH_IDENTIFIER, "Not in hash", 
identifier, isGlobalQueue);
                        else if(!(runningPersistentRequests.remove(req) || 
completedUnackedRequests.remove(req)))
@@ -173,7 +173,7 @@
                synchronized(this) {
                        Iterator<ClientRequest> i = 
runningPersistentRequests.iterator();
                        while(i.hasNext()) {
-                               ClientRequest req = (ClientRequest) i.next();
+                               ClientRequest req = i.next();
                                if(req.isPersistentForever() || !onlyForever)
                                        v.add(req);
                        }
@@ -217,7 +217,7 @@
                FCPClient[] clients;
                if(isGlobalQueue) {
                        synchronized(clientsWatching) {
-                               clients = (FCPClient[]) 
clientsWatching.toArray(new FCPClient[clientsWatching.size()]);
+                               clients = clientsWatching.toArray(new 
FCPClient[clientsWatching.size()]);
                        }
                        for(int i=0;i<clients.length;i++)
                                clients[i].queueClientRequestMessage(msg, 
verbosityLevel);
@@ -239,7 +239,7 @@
        }

        public synchronized ClientRequest getRequest(String identifier) {
-               return (ClientRequest) 
clientRequestsByIdentifier.get(identifier);
+               return clientRequestsByIdentifier.get(identifier);
        }

        /**
@@ -248,7 +248,7 @@
        public void finishStart() {
                ClientRequest[] reqs;
                synchronized(this) {
-                       reqs = (ClientRequest[]) toStart.toArray(new 
ClientRequest[toStart.size()]);
+                       reqs = toStart.toArray(new 
ClientRequest[toStart.size()]);
                }
                for(int i=0;i<reqs.length;i++)
                        reqs[i].start();

Modified: trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java        
2008-09-06 06:36:21 UTC (rev 22490)
+++ trunk/freenet/src/freenet/node/fcp/FCPConnectionHandler.java        
2008-09-06 06:36:53 UTC (rev 22491)
@@ -60,14 +60,14 @@
        private String clientName;
        private FCPClient client;
        final BucketFactory bf;
-       final HashMap requestsByIdentifier;
+       final HashMap<String, ClientRequest> requestsByIdentifier;
        protected final String connectionIdentifier;
        static boolean logMINOR;

        // We are confident that the given client can access those
-       private final HashMap checkedDirectories = new HashMap();
+       private final HashMap<String, DirectoryAccess> checkedDirectories = new 
HashMap<String, DirectoryAccess>();
        // DDACheckJobs in flight
-       private final HashMap inTestDirectories = new HashMap();
+       private final HashMap<File, DDACheckJob> inTestDirectories = new 
HashMap<File, DDACheckJob>();

        public FCPConnectionHandler(Socket s, FCPServer server) {
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
@@ -75,7 +75,7 @@
                this.server = server;
                isClosed = false;
                this.bf = server.core.tempBucketFactory;
-               requestsByIdentifier = new HashMap();
+               requestsByIdentifier = new HashMap<String, ClientRequest>();
                this.inputHandler = new FCPConnectionInputHandler(this);
                this.outputHandler = new FCPConnectionOutputHandler(this);

@@ -96,7 +96,7 @@
                synchronized(this) {
                        isClosed = true;
                        requests = new 
ClientRequest[requestsByIdentifier.size()];
-                       requests = (ClientRequest[]) 
requestsByIdentifier.values().toArray(requests);
+                       requests = 
requestsByIdentifier.values().toArray(requests);
                }
                for(int i=0;i<requests.length;i++)
                        requests[i].onLostConnection();
@@ -244,7 +244,7 @@
                }
        }

-       public void startClientPutDir(ClientPutDirMessage message, HashMap 
buckets, boolean wasDiskPut) {
+       public void startClientPutDir(ClientPutDirMessage message, 
HashMap<String, Object> buckets, boolean wasDiskPut) {
                if(Logger.shouldLog(Logger.MINOR, this))
                        Logger.minor(this, "Start ClientPutDir");
                String id = message.identifier;
@@ -326,7 +326,7 @@
                DirectoryAccess da = null;

                synchronized (checkedDirectories) {
-                               da = (DirectoryAccess) 
checkedDirectories.get(parentDirectory);
+                               da = checkedDirectories.get(parentDirectory);
                }

                if(logMINOR)
@@ -373,7 +373,7 @@
                // See #1856
                DDACheckJob job = null;
                synchronized (inTestDirectories) {
-                       job = (DDACheckJob) inTestDirectories.get(directory);
+                       job = inTestDirectories.get(directory);
                }
                if(job != null)
                        throw new IllegalArgumentException("There is already a 
TestDDA going on for that directory!");
@@ -429,7 +429,7 @@
                        throw new IllegalArgumentException("The specified path 
isn't a directory! or doesn't exist or the node doesn't have access to it!");

                synchronized (inTestDirectories) {
-                       return (DDACheckJob)inTestDirectories.remove(directory);
+                       return inTestDirectories.remove(directory);
                }
        }

@@ -439,9 +439,9 @@
         */
        protected void freeDDAJobs(){
                synchronized (inTestDirectories) {
-                       Iterator it = inTestDirectories.keySet().iterator();
+                       Iterator<File> it = 
inTestDirectories.keySet().iterator();
                        while(it.hasNext()) {
-                               DDACheckJob job = 
(DDACheckJob)inTestDirectories.get(it.next());
+                               DDACheckJob job = 
inTestDirectories.get(it.next());
                                if (job.readFilename != null)
                                        job.readFilename.delete();
                        }
@@ -451,7 +451,7 @@
        public ClientRequest removeRequestByIdentifier(String identifier, 
boolean kill) {
                ClientRequest req;
                synchronized(this) {
-                       req = (ClientRequest) 
requestsByIdentifier.remove(identifier);
+                       req = requestsByIdentifier.remove(identifier);
                }
                if(req != null) {
                        req.requestWasRemoved();

Modified: trunk/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java  
2008-09-06 06:36:21 UTC (rev 22490)
+++ trunk/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java  
2008-09-06 06:36:53 UTC (rev 22491)
@@ -14,11 +14,11 @@
 public class FCPConnectionOutputHandler implements Runnable {

        final FCPConnectionHandler handler;
-       final LinkedList outQueue;
+       final LinkedList<FCPMessage> outQueue;

        public FCPConnectionOutputHandler(FCPConnectionHandler handler) {
                this.handler = handler;
-               this.outQueue = new LinkedList();
+               this.outQueue = new LinkedList<FCPMessage>();
        }

        void start() {
@@ -59,7 +59,7 @@
                                                }
                                                continue;
                                        }
-                                       msg = (FCPMessage) 
outQueue.removeFirst();
+                                       msg = outQueue.removeFirst();
                                        break;
                                }
                        }

Modified: trunk/freenet/src/freenet/node/fcp/FCPServer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPServer.java   2008-09-06 06:36:21 UTC 
(rev 22490)
+++ trunk/freenet/src/freenet/node/fcp/FCPServer.java   2008-09-06 06:36:53 UTC 
(rev 22491)
@@ -628,7 +628,7 @@
                if(logMINOR) Logger.minor(this, "Storing persistent requests");
                ClientRequest[] persistentRequests = getPersistentRequests();
                if(logMINOR) Logger.minor(this, "Persistent requests count: 
"+persistentRequests.length);
-               LinkedList toFree = null;
+               LinkedList<Bucket> toFree = null;
                try {
                        synchronized(persistenceSync) {
                                toFree = 
core.persistentTempBucketFactory.grabBucketsToFree();
@@ -650,8 +650,8 @@
                                        osw = new OutputStreamWriter(gos, 
"UTF-8");
                                        w = new BufferedWriter(osw);
                                        
w.write(Integer.toString(persistentRequests.length)+ '\n');
-                                       for(int 
i=0;i<persistentRequests.length;i++)
-                                               persistentRequests[i].write(w);
+                                       for (ClientRequest persistentRequest : 
persistentRequests)
+                                               persistentRequest.write(w);

                                        w.flush();
                                        w.close();
@@ -670,9 +670,7 @@
                } finally {
                        if(toFree != null) {
                                long freedBuckets = 0;
-                               Iterator it = toFree.iterator();
-                               while(it.hasNext()) {
-                                       Bucket current = (Bucket) it.next();
+                               for (Bucket current : toFree) {
                                        try {
                                                current.free();
                                                freedBuckets++;
@@ -891,8 +889,8 @@
                        clients = clientsByName.values().toArray(new 
FCPClient[clientsByName.size()]);
                }

-               for(int i=0;i<clients.length;i++) {
-                       clients[i].finishStart();
+               for (FCPClient client : clients) {
+                       client.finishStart();
                }

                if(enablePersistentDownloads)

Modified: trunk/freenet/src/freenet/node/fcp/ModifyConfig.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyConfig.java        2008-09-06 
06:36:21 UTC (rev 22490)
+++ trunk/freenet/src/freenet/node/fcp/ModifyConfig.java        2008-09-06 
06:36:53 UTC (rev 22491)
@@ -41,7 +41,7 @@
                boolean logMINOR = Logger.shouldLog(Logger.MINOR, this);

                for(int i=0; i<sc.length ; i++){
-                       Option[] o = sc[i].getOptions();
+                       Option<?>[] o = sc[i].getOptions();
                        String prefix = sc[i].getPrefix();
                        String configName;


Modified: trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java    2008-09-06 
06:36:21 UTC (rev 22490)
+++ trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java    2008-09-06 
06:36:53 UTC (rev 22491)
@@ -26,16 +26,16 @@
        final short priorityClass;
        final short persistenceType; 
        final boolean global;
-       private final HashMap manifestElements;
+       private final HashMap<String, Object> manifestElements;
        final String defaultName;
        final String token;
        final boolean started;
        final int maxRetries;
        final boolean wasDiskPut;

-       public PersistentPutDir(String identifier, FreenetURI uri, int 
verbosity, 
-                       short priorityClass, short persistenceType, boolean 
global,
-                       String defaultName, HashMap manifestElements, String 
token, boolean started, int maxRetries, boolean wasDiskPut) {
+       public PersistentPutDir(String identifier, FreenetURI uri, int 
verbosity, short priorityClass,
+               short persistenceType, boolean global, String defaultName, 
HashMap<String, Object> manifestElements,
+               String token, boolean started, int maxRetries, boolean 
wasDiskPut) {
                this.identifier = identifier;
                this.uri = uri;
                this.verbosity = verbosity;


Reply via email to