Author: saces
Date: 2008-09-06 12:21:04 +0000 (Sat, 06 Sep 2008)
New Revision: 22497

Modified:
   trunk/freenet/src/freenet/client/ArchiveKey.java
   trunk/freenet/src/freenet/client/ClientMetadata.java
   trunk/freenet/src/freenet/client/ErrorArchiveStoreItem.java
   trunk/freenet/src/freenet/client/FailureCodeTracker.java
   trunk/freenet/src/freenet/client/FetchException.java
   trunk/freenet/src/freenet/client/Metadata.java
   trunk/freenet/src/freenet/client/RealArchiveStoreItem.java
   trunk/freenet/src/freenet/client/SplitFetchException.java
   trunk/freenet/src/freenet/client/StandardOnionFECCodec.java
   trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
   trunk/freenet/src/freenet/client/async/BinaryBlobInserter.java
   trunk/freenet/src/freenet/client/async/ClientGetter.java
   trunk/freenet/src/freenet/client/async/ClientPutter.java
   trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
   trunk/freenet/src/freenet/client/async/ManifestElement.java
   trunk/freenet/src/freenet/client/async/OfferedKeysList.java
   trunk/freenet/src/freenet/client/async/SimpleHealingQueue.java
   trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
   trunk/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java
   trunk/freenet/src/freenet/client/async/SingleBlockInserter.java
   trunk/freenet/src/freenet/client/async/SingleFileFetcher.java
   trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
   trunk/freenet/src/freenet/client/async/USKChecker.java
   trunk/freenet/src/freenet/client/async/USKFetcherWrapper.java
   trunk/freenet/src/freenet/client/async/USKRetriever.java
   trunk/freenet/src/freenet/clients/http/BookmarkEditorToadlet.java
   trunk/freenet/src/freenet/clients/http/BrowserTestToadlet.java
   trunk/freenet/src/freenet/clients/http/ConnectionsToadlet.java
   trunk/freenet/src/freenet/clients/http/ConnectivityToadlet.java
   trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
   trunk/freenet/src/freenet/clients/http/FProxyToadlet.java
   trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java
   trunk/freenet/src/freenet/clients/http/LocalFileInsertToadlet.java
   trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java
   trunk/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java
   trunk/freenet/src/freenet/clients/http/QueueToadlet.java
   trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
   trunk/freenet/src/freenet/clients/http/StartupToadlet.java
   trunk/freenet/src/freenet/clients/http/StaticToadlet.java
   trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java
   trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java
   trunk/freenet/src/freenet/clients/http/TranslationToadlet.java
   trunk/freenet/src/freenet/clients/http/TrivialToadlet.java
   trunk/freenet/src/freenet/clients/http/UserAlertsToadlet.java
   trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
   trunk/freenet/src/freenet/clients/http/bookmark/Bookmark.java
   trunk/freenet/src/freenet/clients/http/bookmark/BookmarkCategory.java
   trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java
   trunk/freenet/src/freenet/clients/http/filter/CSSParser.java
   trunk/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java
   trunk/freenet/src/freenet/clients/http/filter/DataFilterException.java
   trunk/freenet/src/freenet/clients/http/filter/HTMLFilter.java
   
trunk/freenet/src/freenet/clients/http/filter/KnownUnsafeContentTypeException.java
   
trunk/freenet/src/freenet/clients/http/filter/UnknownContentTypeException.java
   trunk/freenet/src/freenet/clients/http/filter/Yytoken.java
   trunk/freenet/src/freenet/config/BooleanOption.java
   trunk/freenet/src/freenet/config/FilePersistentConfig.java
   trunk/freenet/src/freenet/config/FreenetFilePersistentConfig.java
   trunk/freenet/src/freenet/config/PersistentConfig.java
   trunk/freenet/src/freenet/config/StringArrOption.java
   trunk/freenet/src/freenet/crypt/CipherInputStream.java
   trunk/freenet/src/freenet/crypt/CipherOutputStream.java
   trunk/freenet/src/freenet/crypt/CryptoKey.java
   trunk/freenet/src/freenet/crypt/DHGroup.java
   trunk/freenet/src/freenet/crypt/DSAGroup.java
   trunk/freenet/src/freenet/crypt/DSAPrivateKey.java
   trunk/freenet/src/freenet/crypt/DSAPublicKey.java
   trunk/freenet/src/freenet/crypt/DecipherOutputStream.java
   trunk/freenet/src/freenet/crypt/DiffieHellman.java
   trunk/freenet/src/freenet/crypt/DiffieHellmanLightContext.java
   trunk/freenet/src/freenet/crypt/DigestInputStream.java
   trunk/freenet/src/freenet/crypt/DigestOutputStream.java
   trunk/freenet/src/freenet/crypt/DummyRandomSource.java
   trunk/freenet/src/freenet/crypt/EncipherInputStream.java
   trunk/freenet/src/freenet/crypt/JavaSHA1.java
   trunk/freenet/src/freenet/crypt/RijndaelPCFBMode.java
   trunk/freenet/src/freenet/crypt/SSL.java
   trunk/freenet/src/freenet/crypt/Yarrow.java
   trunk/freenet/src/freenet/frost/message/FrostMessage.java
   trunk/freenet/src/freenet/io/InetAddressAddressTrackerItem.java
   trunk/freenet/src/freenet/io/PeerAddressTrackerItem.java
   trunk/freenet/src/freenet/io/SSLNetworkInterface.java
   trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java
   trunk/freenet/src/freenet/io/comm/Message.java
   trunk/freenet/src/freenet/io/comm/MessageFilter.java
   trunk/freenet/src/freenet/io/comm/MessageType.java
   trunk/freenet/src/freenet/io/comm/Peer.java
   trunk/freenet/src/freenet/io/comm/RetrievalException.java
   trunk/freenet/src/freenet/io/comm/UdpSocketHandler.java
   trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java
   trunk/freenet/src/freenet/io/xfer/BulkTransmitter.java
   trunk/freenet/src/freenet/io/xfer/PacketThrottle.java
   trunk/freenet/src/freenet/keys/CHKBlock.java
   trunk/freenet/src/freenet/keys/ClientCHK.java
   trunk/freenet/src/freenet/keys/ClientCHKBlock.java
   trunk/freenet/src/freenet/keys/ClientKSK.java
   trunk/freenet/src/freenet/keys/ClientSSK.java
   trunk/freenet/src/freenet/keys/FreenetURI.java
   trunk/freenet/src/freenet/keys/InsertableUSK.java
   trunk/freenet/src/freenet/keys/NodeCHK.java
   trunk/freenet/src/freenet/keys/NodeSSK.java
   trunk/freenet/src/freenet/keys/SSKBlock.java
   trunk/freenet/src/freenet/keys/USK.java
   trunk/freenet/src/freenet/node/CHKInsertHandler.java
   trunk/freenet/src/freenet/node/CHKInsertSender.java
   trunk/freenet/src/freenet/node/ConfigurablePersister.java
   trunk/freenet/src/freenet/node/DarknetPeerNode.java
   trunk/freenet/src/freenet/node/DarknetPeerNodeStatus.java
   trunk/freenet/src/freenet/node/FailureTable.java
   trunk/freenet/src/freenet/node/IPDetectorPluginManager.java
   trunk/freenet/src/freenet/node/KeyTracker.java
   trunk/freenet/src/freenet/node/LoggingConfigHandler.java
   trunk/freenet/src/freenet/node/LowLevelGetException.java
   trunk/freenet/src/freenet/node/MessageItem.java
   trunk/freenet/src/freenet/node/NetworkIDManager.java
   trunk/freenet/src/freenet/node/Node.java
   trunk/freenet/src/freenet/node/NodeClientCore.java
   trunk/freenet/src/freenet/node/NodeCryptoConfig.java
   trunk/freenet/src/freenet/node/NodeIPDetector.java
   trunk/freenet/src/freenet/node/NodeStats.java
   trunk/freenet/src/freenet/node/OpennetPeerNode.java
   trunk/freenet/src/freenet/node/PeerNode.java
   trunk/freenet/src/freenet/node/PeerNodeStatus.java
   trunk/freenet/src/freenet/node/RequestHandler.java
   trunk/freenet/src/freenet/node/RequestSender.java
   trunk/freenet/src/freenet/node/RequestStarter.java
   trunk/freenet/src/freenet/node/RequestStarterGroup.java
   trunk/freenet/src/freenet/node/ResettingHTLProbeRequestSender.java
   trunk/freenet/src/freenet/node/SSKInsertHandler.java
   trunk/freenet/src/freenet/node/SeedClientPeerNode.java
   trunk/freenet/src/freenet/node/SeedServerPeerNode.java
   trunk/freenet/src/freenet/node/SeedServerTestPeerNode.java
   trunk/freenet/src/freenet/node/SemiOrderedShutdownHook.java
   trunk/freenet/src/freenet/node/SendMessageOnErrorCallback.java
   trunk/freenet/src/freenet/node/SendableGet.java
   trunk/freenet/src/freenet/node/SendableInsert.java
   trunk/freenet/src/freenet/node/SimpleSendableInsert.java
   trunk/freenet/src/freenet/node/TestnetHandler.java
   trunk/freenet/src/freenet/node/TextModeClientInterfaceServer.java
   trunk/freenet/src/freenet/node/ThrottleWindowManager.java
   trunk/freenet/src/freenet/node/fcp/AddPeer.java
   trunk/freenet/src/freenet/node/fcp/AllDataMessage.java
   trunk/freenet/src/freenet/node/fcp/BaseDataCarryingMessage.java
   trunk/freenet/src/freenet/node/fcp/ClientGet.java
   trunk/freenet/src/freenet/node/fcp/ClientGetMessage.java
   trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java
   trunk/freenet/src/freenet/node/fcp/ClientPut.java
   trunk/freenet/src/freenet/node/fcp/ClientPutBase.java
   trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java
   trunk/freenet/src/freenet/node/fcp/ClientPutDir.java
   trunk/freenet/src/freenet/node/fcp/ClientPutDirMessage.java
   trunk/freenet/src/freenet/node/fcp/ClientPutDiskDirMessage.java
   trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java
   
trunk/freenet/src/freenet/node/fcp/CloseConnectionDuplicateClientNameMessage.java
   trunk/freenet/src/freenet/node/fcp/ConfigData.java
   trunk/freenet/src/freenet/node/fcp/DataCarryingMessage.java
   trunk/freenet/src/freenet/node/fcp/DataFoundMessage.java
   trunk/freenet/src/freenet/node/fcp/DirectDirPutFile.java
   trunk/freenet/src/freenet/node/fcp/DiskDirPutFile.java
   trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java
   trunk/freenet/src/freenet/node/fcp/EndListPeersMessage.java
   trunk/freenet/src/freenet/node/fcp/EndListPersistentRequestsMessage.java
   trunk/freenet/src/freenet/node/fcp/FCPClient.java
   trunk/freenet/src/freenet/node/fcp/FCPPluginMessage.java
   trunk/freenet/src/freenet/node/fcp/FCPPluginReply.java
   trunk/freenet/src/freenet/node/fcp/FCPServer.java
   trunk/freenet/src/freenet/node/fcp/FinishedCompressionMessage.java
   trunk/freenet/src/freenet/node/fcp/GenerateSSKMessage.java
   trunk/freenet/src/freenet/node/fcp/GetConfig.java
   trunk/freenet/src/freenet/node/fcp/GetFailedMessage.java
   trunk/freenet/src/freenet/node/fcp/GetNode.java
   trunk/freenet/src/freenet/node/fcp/GetPluginInfo.java
   trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
   trunk/freenet/src/freenet/node/fcp/IdentifierCollisionMessage.java
   trunk/freenet/src/freenet/node/fcp/ListPeerMessage.java
   trunk/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java
   trunk/freenet/src/freenet/node/fcp/ListPeersMessage.java
   trunk/freenet/src/freenet/node/fcp/ListPersistentRequestsMessage.java
   trunk/freenet/src/freenet/node/fcp/ModifyConfig.java
   trunk/freenet/src/freenet/node/fcp/ModifyPeer.java
   trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java
   trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java
   trunk/freenet/src/freenet/node/fcp/NodeData.java
   trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java
   trunk/freenet/src/freenet/node/fcp/PeerMessage.java
   trunk/freenet/src/freenet/node/fcp/PeerNote.java
   trunk/freenet/src/freenet/node/fcp/PeerRemoved.java
   trunk/freenet/src/freenet/node/fcp/PersistentGet.java
   trunk/freenet/src/freenet/node/fcp/PersistentPut.java
   trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java
   trunk/freenet/src/freenet/node/fcp/PersistentRequestModifiedMessage.java
   trunk/freenet/src/freenet/node/fcp/PersistentRequestRemovedMessage.java
   trunk/freenet/src/freenet/node/fcp/PluginInfoMessage.java
   trunk/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java
   trunk/freenet/src/freenet/node/fcp/PutFailedMessage.java
   trunk/freenet/src/freenet/node/fcp/PutFetchableMessage.java
   trunk/freenet/src/freenet/node/fcp/PutSuccessfulMessage.java
   trunk/freenet/src/freenet/node/fcp/RedirectDirPutFile.java
   trunk/freenet/src/freenet/node/fcp/RemovePeer.java
   trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
   trunk/freenet/src/freenet/node/fcp/SSKKeypairMessage.java
   trunk/freenet/src/freenet/node/fcp/ShutdownMessage.java
   trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
   trunk/freenet/src/freenet/node/fcp/StartedCompressionMessage.java
   trunk/freenet/src/freenet/node/fcp/SubscribeUSKMessage.java
   trunk/freenet/src/freenet/node/fcp/SubscribedUSKMessage.java
   trunk/freenet/src/freenet/node/fcp/SubscribedUSKUpdate.java
   trunk/freenet/src/freenet/node/fcp/TestDDACompleteMessage.java
   trunk/freenet/src/freenet/node/fcp/TestDDAReplyMessage.java
   trunk/freenet/src/freenet/node/fcp/TestDDARequestMessage.java
   trunk/freenet/src/freenet/node/fcp/TestDDAResponseMessage.java
   trunk/freenet/src/freenet/node/fcp/URIGeneratedMessage.java
   trunk/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java
   trunk/freenet/src/freenet/node/fcp/UnknownPeerNoteTypeMessage.java
   trunk/freenet/src/freenet/node/fcp/WatchGlobal.java
   trunk/freenet/src/freenet/node/updater/NodeUpdateManager.java
   trunk/freenet/src/freenet/node/useralerts/BuildOldAgeUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/ClockProblemDetectedUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/ExtOldAgeUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/IPUndetectedUserAlert.java
   
trunk/freenet/src/freenet/node/useralerts/InvalidAddressOverrideUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/N2NTMUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/NotEnoughNiceLevelsUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/OpennetUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/PeerManagerUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/RevocationKeyFoundUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/SimpleHTMLUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/SimpleUserAlert.java
   trunk/freenet/src/freenet/node/useralerts/TimeSkewDetectedUserAlert.java
   
trunk/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java
   trunk/freenet/src/freenet/pluginmanager/DetectedIP.java
   trunk/freenet/src/freenet/pluginmanager/ForwardPort.java
   trunk/freenet/src/freenet/store/CHKStore.java
   trunk/freenet/src/freenet/store/PubkeyStore.java
   trunk/freenet/src/freenet/store/SSKStore.java
   trunk/freenet/src/freenet/support/BitArray.java
   trunk/freenet/src/freenet/support/Buffer.java
   trunk/freenet/src/freenet/support/ByteArrayWrapper.java
   trunk/freenet/src/freenet/support/ByteBufferInputStream.java
   trunk/freenet/src/freenet/support/DoubleTokenBucket.java
   trunk/freenet/src/freenet/support/FileLoggerHook.java
   trunk/freenet/src/freenet/support/JarClassLoader.java
   trunk/freenet/src/freenet/support/LoggerHook.java
   trunk/freenet/src/freenet/support/LoggerHookChain.java
   trunk/freenet/src/freenet/support/OutputStreamLogger.java
   trunk/freenet/src/freenet/support/ReceivedPacketNumbers.java
   trunk/freenet/src/freenet/support/SectoredRandomGrabArrayWithInt.java
   trunk/freenet/src/freenet/support/SectoredRandomGrabArrayWithObject.java
   trunk/freenet/src/freenet/support/ShortBuffer.java
   trunk/freenet/src/freenet/support/TimeSortedHashtable.java
   
trunk/freenet/src/freenet/support/UpdatableSortedLinkedListWithForeignIndex.java
   trunk/freenet/src/freenet/support/VoidLogger.java
   trunk/freenet/src/freenet/support/compress/GzipCompressor.java
   trunk/freenet/src/freenet/support/io/ArrayBucket.java
   trunk/freenet/src/freenet/support/io/BucketChainBucket.java
   trunk/freenet/src/freenet/support/io/CountedInputStream.java
   trunk/freenet/src/freenet/support/io/FileBucket.java
   trunk/freenet/src/freenet/support/io/MultiReaderBucket.java
   trunk/freenet/src/freenet/support/io/NullInputStream.java
   trunk/freenet/src/freenet/support/io/NullOutputStream.java
   trunk/freenet/src/freenet/support/io/NullWriter.java
   trunk/freenet/src/freenet/support/io/PaddedEphemerallyEncryptedBucket.java
   trunk/freenet/src/freenet/support/io/PersistentTempFileBucket.java
   trunk/freenet/src/freenet/support/io/ReadOnlyFileSliceBucket.java
   trunk/freenet/src/freenet/support/io/TempFileBucket.java
   
trunk/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java
   trunk/freenet/src/freenet/support/math/DecayingKeyspaceAverage.java
   trunk/freenet/src/freenet/support/math/SimpleBinaryRunningAverage.java
   trunk/freenet/src/freenet/support/math/SimpleRunningAverage.java
   trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java
   trunk/freenet/src/freenet/support/math/TrivialRunningAverage.java
   trunk/freenet/src/net/i2p/util/NativeBigInteger.java
   trunk/freenet/src/org/spaceroots/mantissa/random/MersenneTwister.java
   trunk/freenet/test/freenet/config/ConfigTest.java
   trunk/freenet/test/freenet/crypt/DSATest.java
   trunk/freenet/test/freenet/support/HTMLNodeTest.java
   trunk/freenet/test/freenet/support/TimeUtilTest.java
   trunk/freenet/test/freenet/support/io/MockInputStream.java
   
trunk/freenet/test/org/spaceroots/mantissa/random/ScalarSampleStatisticsTest.java
Log:
add missing override annotation

Modified: trunk/freenet/src/freenet/client/ArchiveKey.java
===================================================================
--- trunk/freenet/src/freenet/client/ArchiveKey.java    2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/client/ArchiveKey.java    2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -15,6 +15,7 @@
                filename = filename2;
        }

+       @Override
        public boolean equals(Object o) {
                if((o == null) || !(o instanceof ArchiveKey)) return false;
                if(this == o) return true;
@@ -23,10 +24,12 @@
                return (cmp.key.equals(key) && cmp.filename.equals(filename));
        }

+       @Override
        public int hashCode() {
                return key.hashCode() ^ filename.hashCode();
        }

+       @Override
        public String toString() {
                return key+":"+filename;
        }

Modified: trunk/freenet/src/freenet/client/ClientMetadata.java
===================================================================
--- trunk/freenet/src/freenet/client/ClientMetadata.java        2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/ClientMetadata.java        2008-09-06 
12:21:04 UTC (rev 22497)
@@ -41,6 +41,7 @@
                return ((mimeType == null) || mimeType.equals(""));
        }

+       @Override
        public Object clone() {
                try {
                        return super.clone();
@@ -49,6 +50,7 @@
                }
        }

+       @Override
        public String toString() {
                return getMIMEType();
        }

Modified: trunk/freenet/src/freenet/client/ErrorArchiveStoreItem.java
===================================================================
--- trunk/freenet/src/freenet/client/ErrorArchiveStoreItem.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/ErrorArchiveStoreItem.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -28,14 +28,17 @@
         * Throws an exception with the given error message, because this file 
could not be
         * extracted from the archive.
         */
+       @Override
        Bucket getDataOrThrow() throws ArchiveFailureException {
                throw new ArchiveFailureException(error);
        }

+       @Override
        public long spaceUsed() {
                return 0;
        }

+       @Override
        Bucket getReaderBucket() throws ArchiveFailureException {
                throw new ArchiveFailureException(error);
        }

Modified: trunk/freenet/src/freenet/client/FailureCodeTracker.java
===================================================================
--- trunk/freenet/src/freenet/client/FailureCodeTracker.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/FailureCodeTracker.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -91,6 +91,7 @@
                return sb.toString();
        }

+       @Override
        public synchronized String toString() {
                StringBuilder sb = new StringBuilder(super.toString());
                sb.append(':');

Modified: trunk/freenet/src/freenet/client/FetchException.java
===================================================================
--- trunk/freenet/src/freenet/client/FetchException.java        2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/FetchException.java        2008-09-06 
12:21:04 UTC (rev 22497)
@@ -213,6 +213,7 @@
                else return ret;
        }

+       @Override
        public String toString() {
                StringBuilder sb = new StringBuilder(200);
                sb.append("FetchException:");

Modified: trunk/freenet/src/freenet/client/Metadata.java
===================================================================
--- trunk/freenet/src/freenet/client/Metadata.java      2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/client/Metadata.java      2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -117,6 +117,7 @@

        ClientMetadata clientMetadata;

+       @Override
        public Object clone() {
                try {
                        return super.clone();

Modified: trunk/freenet/src/freenet/client/RealArchiveStoreItem.java
===================================================================
--- trunk/freenet/src/freenet/client/RealArchiveStoreItem.java  2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/RealArchiveStoreItem.java  2008-09-06 
12:21:04 UTC (rev 22497)
@@ -45,6 +45,7 @@
        /**
         * Return the estimated space used by the data.
         */
+       @Override
        long spaceUsed() {
                return spaceUsed;
        }
@@ -54,10 +55,12 @@
                bucket.free();
        }

+       @Override
        Bucket getDataOrThrow() throws ArchiveFailureException {
                return dataAsBucket();
        }

+       @Override
        Bucket getReaderBucket() throws ArchiveFailureException {
                return mb.getReaderBucket();
        }

Modified: trunk/freenet/src/freenet/client/SplitFetchException.java
===================================================================
--- trunk/freenet/src/freenet/client/SplitFetchException.java   2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/SplitFetchException.java   2008-09-06 
12:21:04 UTC (rev 22497)
@@ -18,6 +18,7 @@
                this.enough = enough;
        }

+       @Override
        public String getMessage() {
                return "Splitfile fetch failure: "+failed+" failed, "+fatal+" 
fatal errors, "+succeeded+" succeeded, "+enough+" enough";
        }

Modified: trunk/freenet/src/freenet/client/StandardOnionFECCodec.java
===================================================================
--- trunk/freenet/src/freenet/client/StandardOnionFECCodec.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/StandardOnionFECCodec.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -33,6 +33,7 @@
                        this.k = k;
                }

+               @Override
                public boolean equals(Object o) {
                        if(o instanceof MyKey) {
                                MyKey key = (MyKey)o;
@@ -40,6 +41,7 @@
                        } else return false;
                }

+               @Override
                public int hashCode() {
                        return (n << 16) + k;
                }
@@ -93,10 +95,12 @@
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
        }

+       @Override
        public int countCheckBlocks() {
                return n-k;
        }

+       @Override
        public String toString() {
                return super.toString()+":n="+n+",k="+k;
        }

Modified: trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java   
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/BaseSingleFileFetcher.java   
2008-09-06 12:21:04 UTC (rev 22497)
@@ -36,31 +36,38 @@
                cooldownWakeupTime = -1;
        }

+       @Override
        public Object[] allKeys() {
                return keys;
        }

+       @Override
        public Object[] sendableKeys() {
                return keys;
        }

+       @Override
        public Object chooseKey(KeysFetchingLocally fetching) {
                if(fetching.hasKey(key.getNodeKey())) return null;
                return keys[0];
        }

+       @Override
        public boolean hasValidKeys(KeysFetchingLocally fetching) {
                return !fetching.hasKey(key.getNodeKey());
        }

+       @Override
        public ClientKey getKey(Object token) {
                return key;
        }

+       @Override
        public FetchContext getContext() {
                return ctx;
        }

+       @Override
        public boolean isSSK() {
                return key instanceof ClientSSK;
        }
@@ -95,18 +102,22 @@
                return false;
        }

+       @Override
        public int getRetryCount() {
                return retryCount;
        }

+       @Override
        public ClientRequester getClientRequest() {
                return parent;
        }

+       @Override
        public short getPriorityClass() {
                return parent.getPriorityClass();
        }

+       @Override
        public boolean ignoreStore() {
                return ctx.ignoreStore;
        }
@@ -118,6 +129,7 @@
                super.unregister(false);
        }

+       @Override
        public synchronized boolean isCancelled() {
                return cancelled;
        }
@@ -126,10 +138,12 @@
                return cancelled;
        }

+       @Override
        public Object getClient() {
                return parent.getClient();
        }

+       @Override
        public boolean dontCache() {
                return !ctx.cacheLocalRequests;
        }
@@ -139,6 +153,7 @@
                return true;
        }

+       @Override
        public void onGotKey(Key key, KeyBlock block, RequestScheduler sched) {
                synchronized(this) {
                        if(isCancelled()) return;
@@ -156,18 +171,22 @@
        }


+       @Override
        public long getCooldownWakeup(Object token) {
                return cooldownWakeupTime;
        }

+       @Override
        public long getCooldownWakeupByKey(Key key) {
                return cooldownWakeupTime;
        }

+       @Override
        public synchronized void resetCooldownTimes() {
                cooldownWakeupTime = -1;
        }

+       @Override
        public void requeueAfterCooldown(Key key, long time) {
                if(cooldownWakeupTime > time) {
                        if(Logger.shouldLog(Logger.MINOR, this)) 
Logger.minor(this, "Not requeueing as deadline has not passed yet");

Modified: trunk/freenet/src/freenet/client/async/BinaryBlobInserter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/BinaryBlobInserter.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/BinaryBlobInserter.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -188,6 +188,7 @@
                        maybeFinish();
                }

+               @Override
                public boolean shouldCache() {
                        return ctx.cacheLocalRequests;
                }

Modified: trunk/freenet/src/freenet/client/async/ClientGetter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/ClientGetter.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/ClientGetter.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -232,14 +232,17 @@
                }
        }

+       @Override
        public synchronized boolean isFinished() {
                return finished || cancelled;
        }

+       @Override
        public FreenetURI getURI() {
                return uri;
        }

+       @Override
        public void notifyClients() {
                ctx.eventProducer.produceEvent(new 
SplitfileProgressEvent(this.totalBlocks, this.successfulBlocks, 
this.failedBlocks, this.fatallyFailedBlocks, this.minSuccessBlocks, 
this.blockSetFinalized));
        }
@@ -250,6 +253,7 @@
                blockSetFinalized();
        }

+       @Override
        public void onTransition(ClientGetState oldState, ClientGetState 
newState) {
                synchronized(this) {
                        if(currentState == oldState) {

Modified: trunk/freenet/src/freenet/client/async/ClientPutter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/ClientPutter.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/ClientPutter.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -191,6 +191,7 @@
                client.onFailure(e, this);
        }

+       @Override
        public void onMajorProgress() {
                client.onMajorProgress();
        }
@@ -204,6 +205,7 @@
                client.onGeneratedURI(uri, this);
        }

+       @Override
        public void cancel() {
                if(Logger.shouldLog(Logger.MINOR, this))
                        Logger.minor(this, "Cancelling "+this, new 
Exception("debug"));
@@ -219,10 +221,12 @@
                onFailure(new InsertException(InsertException.CANCELLED), null);
        }

+       @Override
        public synchronized boolean isFinished() {
                return finished || cancelled;
        }

+       @Override
        public FreenetURI getURI() {
                return uri;
        }
@@ -239,6 +243,7 @@
                Logger.error(this, "Got metadata on "+this+" from "+state+" 
(this means the metadata won't be inserted)");
        }

+       @Override
        public void notifyClients() {
                ctx.eventProducer.produceEvent(new 
SplitfileProgressEvent(this.totalBlocks, this.successfulBlocks, 
this.failedBlocks, this.fatallyFailedBlocks, this.minSuccessBlocks, 
this.blockSetFinalized));
        }
@@ -271,6 +276,7 @@
                return start(earlyEncode, true);
        }

+       @Override
        public void onTransition(ClientGetState oldState, ClientGetState 
newState) {
                // Ignore, at the moment
        }

Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
===================================================================
--- trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java  
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java  
2008-09-06 12:21:04 UTC (rev 22497)
@@ -49,6 +49,7 @@
                        this.cs = cs;
                }

+               @Override
                public String get(){
                        if(cs != null)
                                return cs.getChoosenPriorityScheduler();
@@ -56,6 +57,7 @@
                                return ClientRequestScheduler.PRIORITY_HARD;
                }

+               @Override
                public void set(String val) throws InvalidConfigValueException{
                        String value;
                        if(val == null || val.equalsIgnoreCase(get())) return;

Modified: trunk/freenet/src/freenet/client/async/ManifestElement.java
===================================================================
--- trunk/freenet/src/freenet/client/async/ManifestElement.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/ManifestElement.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -64,10 +64,12 @@
                this.targetURI = targetURI;
        }

+       @Override
        public int hashCode() {
                return name.hashCode();
        }

+       @Override
        public boolean equals(Object o) {
                if(this == o) return true;
                if(o instanceof ManifestElement) {

Modified: trunk/freenet/src/freenet/client/async/OfferedKeysList.java
===================================================================
--- trunk/freenet/src/freenet/client/async/OfferedKeysList.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/OfferedKeysList.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -62,16 +62,19 @@
                return keys.isEmpty();
        }

+       @Override
        public Object[] allKeys() {
                // Not supported.
                throw new UnsupportedOperationException();
        }

+       @Override
        public Object[] sendableKeys() {
                // Not supported.
                throw new UnsupportedOperationException();
        }

+       @Override
        public synchronized Object chooseKey(KeysFetchingLocally fetching) {
                assert(keysList.size() == keys.size());
                if(keys.size() == 1) {
@@ -98,6 +101,7 @@
                return null;
        }

+       @Override
        public synchronized boolean hasValidKeys(KeysFetchingLocally fetching) {
                assert(keysList.size() == keys.size());
                if(keys.size() == 1) {
@@ -117,27 +121,33 @@
                return false;
        }

+       @Override
        public Object getClient() {
                return this;
        }

+       @Override
        public ClientRequester getClientRequest() {
                // FIXME is this safe?
                return null;
        }

+       @Override
        public short getPriorityClass() {
                return priorityClass;
        }

+       @Override
        public int getRetryCount() {
                return 0; // All keys have equal chance even if they've been 
tried before.
        }

+       @Override
        public void internalError(Object keyNum, Throwable t, RequestScheduler 
sched) {
                Logger.error(this, "Internal error: "+t, t);
        }

+       @Override
        public boolean send(NodeClientCore node, RequestScheduler sched, Object 
keyNum) {
                Key key = (Key) keyNum;
                // Have to cache it in order to propagate it; FIXME
@@ -158,6 +168,7 @@
                return false;
        }

+       @Override
        public boolean isCancelled() {
                return false;
        }
@@ -171,6 +182,7 @@
                assert(keysList.size() == keys.size());
        }

+       @Override
        public Key getNodeKey(Object token) {
                return (Key) token;
        }

Modified: trunk/freenet/src/freenet/client/async/SimpleHealingQueue.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SimpleHealingQueue.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/SimpleHealingQueue.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -60,18 +60,22 @@
                        data.free();
        }

+       @Override
        public void onMajorProgress() {
                // Ignore
        }

+       @Override
        public FreenetURI getURI() {
                return FreenetURI.EMPTY_CHK_URI;
        }

+       @Override
        public boolean isFinished() {
                return false;
        }

+       @Override
        public void notifyClients() {
                // Do nothing
        }
@@ -120,6 +124,7 @@
                // Ignore
        }

+       @Override
        public void onTransition(ClientGetState oldState, ClientGetState 
newState) {
                // Ignore
        }

Modified: trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2008-09-06 12:21:04 UTC (rev 22497)
@@ -80,10 +80,12 @@
                        origSFI = null;
                }

+               @Override
                public FreenetURI getURI() {
                        return null;
                }

+               @Override
                public boolean isFinished() {
                        return SimpleManifestPutter.this.finished || cancelled 
|| SimpleManifestPutter.this.cancelled;
                }
@@ -136,30 +138,37 @@
                        gotAllMetadata();
                }

+               @Override
                public void addBlock() {
                        SimpleManifestPutter.this.addBlock();
                }

+               @Override
                public void addBlocks(int num) {
                        SimpleManifestPutter.this.addBlocks(num);
                }

+               @Override
                public void completedBlock(boolean dontNotify) {
                        SimpleManifestPutter.this.completedBlock(dontNotify);
                }

+               @Override
                public void failedBlock() {
                        SimpleManifestPutter.this.failedBlock();
                }

+               @Override
                public void fatallyFailedBlock() {
                        SimpleManifestPutter.this.fatallyFailedBlock();
                }

+               @Override
                public void addMustSucceedBlocks(int blocks) {
                        SimpleManifestPutter.this.addMustSucceedBlocks(blocks);
                }

+               @Override
                public void notifyClients() {
                        // FIXME generate per-filename events???
                }
@@ -172,6 +181,7 @@
                        SimpleManifestPutter.this.blockSetFinalized();
                }

+               @Override
                public void onMajorProgress() {
                        SimpleManifestPutter.this.onMajorProgress();
                }
@@ -180,6 +190,7 @@
                        SimpleManifestPutter.this.onFetchable(this);
                }

+               @Override
                public void onTransition(ClientGetState oldState, 
ClientGetState newState) {
                        // Ignore
                }
@@ -335,10 +346,12 @@
                }
        }

+       @Override
        public FreenetURI getURI() {
                return finalURI;
        }

+       @Override
        public synchronized boolean isFinished() {
                return finished || cancelled;
        }
@@ -556,6 +569,7 @@
                }
        }

+       @Override
        public void cancel() {
                super.cancel();
                fail(new InsertException(InsertException.CANCELLED));
@@ -613,6 +627,7 @@
                // Ignore
        }

+       @Override
        public void notifyClients() {
                ctx.eventProducer.produceEvent(new 
SplitfileProgressEvent(this.totalBlocks, this.successfulBlocks, 
this.failedBlocks, this.fatallyFailedBlocks, this.minSuccessBlocks, 
this.blockSetFinalized));
        }
@@ -625,6 +640,7 @@
                this.blockSetFinalized();
        }

+       @Override
        public void blockSetFinalized() {
                synchronized(this) {
                        if(!metadataBlockSetFinalized) return;
@@ -719,6 +735,7 @@
                return totalSize;
        }

+       @Override
        public void onMajorProgress() {
                cb.onMajorProgress();
        }
@@ -747,6 +764,7 @@
                cb.onFetchable(this);
        }

+       @Override
        public void onTransition(ClientGetState oldState, ClientGetState 
newState) {
                // Ignore
        }

Modified: trunk/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java 
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java 
2008-09-06 12:21:04 UTC (rev 22497)
@@ -41,6 +41,7 @@
        final long token;

        // Translate it, then call the real onFailure
+       @Override
        public void onFailure(LowLevelGetException e, Object reqTokenIgnored, 
RequestScheduler sched) {
                switch(e.code) {
                case LowLevelGetException.DATA_NOT_FOUND:
@@ -119,6 +120,7 @@
                rcb.onSuccess(data, this);
        }

+       @Override
        public void onSuccess(ClientKeyBlock block, boolean fromStore, Object 
reqTokenIgnored, RequestScheduler sched) {
                if(parent instanceof ClientGetter)
                        ((ClientGetter)parent).addKeyToBinaryBlob(block);

Modified: trunk/freenet/src/freenet/client/async/SingleBlockInserter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SingleBlockInserter.java     
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/SingleBlockInserter.java     
2008-09-06 12:21:04 UTC (rev 22497)
@@ -129,14 +129,17 @@
                return true;
        }

+       @Override
        public short getPriorityClass() {
                return parent.getPriorityClass();
        }

+       @Override
        public int getRetryCount() {
                return retries;
        }

+       @Override
        public void onFailure(LowLevelPutException e, Object keyNum) {
                if(parent.isCancelled()) {
                        fail(new InsertException(InsertException.CANCELLED));
@@ -254,6 +257,7 @@
                return resultingURI;
        }

+       @Override
        public void onSuccess(Object keyNum) {
                if(logMINOR) Logger.minor(this, "Succeeded ("+this+"): "+token);
                if(parent.isCancelled()) {
@@ -284,10 +288,12 @@
                return finished;
        }

+       @Override
        public synchronized boolean isCancelled() {
                return finished;
        }

+       @Override
        public boolean send(NodeClientCore core, RequestScheduler sched, Object 
keyNum) {
                // Ignore keyNum, key, since we're only sending one block.
                try {
@@ -318,10 +324,12 @@
                return true;
        }

+       @Override
        public Object getClient() {
                return parent.getClient();
        }

+       @Override
        public ClientRequester getClientRequest() {
                return parent;
        }
@@ -351,6 +359,7 @@
                return true;
        }

+       @Override
        public synchronized Object[] sendableKeys() {
                if(finished)
                        return new Object[] {};
@@ -358,10 +367,12 @@
                        return new Object[] { new Integer(0) };
        }

+       @Override
        public synchronized Object[] allKeys() {
                return sendableKeys();
        }

+       @Override
        public synchronized Object chooseKey(KeysFetchingLocally ignored) {
                if(finished) return null;
                else return new Integer(0);

Modified: trunk/freenet/src/freenet/client/async/SingleFileFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SingleFileFetcher.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/SingleFileFetcher.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -121,6 +121,7 @@

        // Process the completed data. May result in us going to a
        // splitfile, or another SingleFileFetcher, etc.
+       @Override
        public void onSuccess(ClientKeyBlock block, boolean fromStore, Object 
token, RequestScheduler sched) {
                this.sched = sched;
                if(parent instanceof ClientGetter)
@@ -171,6 +172,7 @@
                }
        }

+       @Override
        protected void onSuccess(FetchResult result, RequestScheduler sched) {
                this.sched = sched;
                unregister(false);
@@ -681,6 +683,7 @@

        }

+       @Override
        public boolean ignoreStore() {
                return ctx.ignoreStore;
        }

Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -55,19 +55,23 @@
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
        }

+       @Override
        public boolean dontCache() {
                return !ctx.cacheLocalRequests;
        }

+       @Override
        public FetchContext getContext() {
                return ctx;
        }

+       @Override
        public Object chooseKey(KeysFetchingLocally keys) {
                if(cancelled) return null;
                return removeRandomBlockNum(keys);
        }

+       @Override
        public ClientKey getKey(Object token) {
                synchronized(segment) {
                        if(cancelled) {
@@ -93,6 +97,7 @@
         * Fetch the array from the segment because we need to include *ALL* 
keys, especially
         * those on cooldown queues. This is important when unregistering.
         */
+       @Override
        public Object[] allKeys() {
                return segment.getKeyNumbersAtRetryLevel(retryCount);
        }
@@ -100,6 +105,7 @@
        /**
         * Just those keys which are eligible to be started now.
         */
+       @Override
        public Object[] sendableKeys() {
                return blockNums.toArray();
        }
@@ -135,6 +141,7 @@
                }
        }

+       @Override
        public boolean hasValidKeys(KeysFetchingLocally keys) {
                synchronized(segment) {
                        for(int i=0;i<10;i++) {
@@ -158,12 +165,14 @@
                }
        }

+       @Override
        public boolean ignoreStore() {
                return ctx.ignoreStore;
        }

        // Translate it, then call the real onFailure
        // FIXME refactor this out to a common method; see 
SimpleSingleFileFetcher
+       @Override
        public void onFailure(LowLevelGetException e, Object token, 
RequestScheduler sched) {
                if(logMINOR)
                        Logger.minor(this, "onFailure("+e+" , "+token);
@@ -222,6 +231,7 @@
                }
        }

+       @Override
        public void onSuccess(ClientKeyBlock block, boolean fromStore, Object 
token, RequestScheduler sched) {
                Bucket data = extract(block, token, sched);
                if(fromStore) {
@@ -281,18 +291,22 @@
                return data;
        }

+       @Override
        public Object getClient() {
                return segment.parentFetcher.parent.getClient();
        }

+       @Override
        public ClientRequester getClientRequest() {
                return segment.parentFetcher.parent;
        }

+       @Override
        public short getPriorityClass() {
                return segment.parentFetcher.parent.priorityClass;
        }

+       @Override
        public int getRetryCount() {
                return retryCount;
        }
@@ -309,6 +323,7 @@
                }
        }

+       @Override
        public boolean isCancelled() {
                synchronized(segment) {
                        return cancelled;
@@ -321,6 +336,7 @@
                }
        }

+       @Override
        public boolean isSSK() {
                // Not allowed in splitfiles
                return false;
@@ -362,6 +378,7 @@
                        
getScheduler().addPendingKey(segment.getBlockKey(blockNo), this);
        }

+       @Override
        public String toString() {
                return 
super.toString()+":"+retryCount+"/"+segment+'('+blockNums.size()+')'; 
        }
@@ -379,6 +396,7 @@
                unregister(false);
        }

+       @Override
        public void onGotKey(Key key, KeyBlock block, RequestScheduler sched) {
                if(logMINOR) Logger.minor(this, "onGotKey("+key+")");
                // Find and remove block if it is on this subsegment. However 
it may have been
@@ -434,20 +452,24 @@
                }
        }

+       @Override
        public long getCooldownWakeup(Object token) {
                return segment.getCooldownWakeup(((Integer)token).intValue());
        }

+       @Override
        public void requeueAfterCooldown(Key key, long time) {
                if(Logger.shouldLog(Logger.MINOR, this))
                        Logger.minor(this, "Requeueing after cooldown "+key+" 
for "+this);
                segment.requeueAfterCooldown(key, time);
        }

+       @Override
        public long getCooldownWakeupByKey(Key key) {
                return segment.getCooldownWakeupByKey(key);
        }

+       @Override
        public void resetCooldownTimes() {
                synchronized(segment) {
                        
segment.resetCooldownTimes((Integer[])blockNums.toArray(new 
Integer[blockNums.size()]));

Modified: trunk/freenet/src/freenet/client/async/USKChecker.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKChecker.java      2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/USKChecker.java      2008-09-06 
12:21:04 UTC (rev 22497)
@@ -26,11 +26,13 @@
                this.cb = cb;
        }

+       @Override
        public void onSuccess(ClientKeyBlock block, boolean fromStore, Object 
token, RequestScheduler sched) {
                unregister(false);
                cb.onSuccess((ClientSSKBlock)block);
        }

+       @Override
        public void onFailure(LowLevelGetException e, Object token, 
RequestScheduler sched) {
         if(Logger.shouldLog(Logger.MINOR, this))
                Logger.minor(this, "onFailure: "+e+" for "+this);
@@ -79,10 +81,12 @@
                        cb.onNetworkError();
        }

+       @Override
        public String toString() {
                return "USKChecker for "+key.getURI()+" for "+cb;
        }

+       @Override
        public short getPriorityClass() {
                return cb.getPriority();
        }

Modified: trunk/freenet/src/freenet/client/async/USKFetcherWrapper.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKFetcherWrapper.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/USKFetcherWrapper.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -20,14 +20,17 @@
                this.usk = usk;
        }

+       @Override
        public FreenetURI getURI() {
                return usk.getURI();
        }

+       @Override
        public boolean isFinished() {
                return false;
        }

+       @Override
        public void notifyClients() {
                // Do nothing
        }
@@ -44,10 +47,12 @@
                // Ignore
        }

+       @Override
        public void onTransition(ClientGetState oldState, ClientGetState 
newState) {
                // Ignore
        }

+       @Override
        public String toString() {
                return super.toString()+ ':' +usk;
        }

Modified: trunk/freenet/src/freenet/client/async/USKRetriever.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKRetriever.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/client/async/USKRetriever.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -66,18 +66,22 @@
                // Ignore
        }

+       @Override
        public FreenetURI getURI() {
                return null;
        }

+       @Override
        public boolean isFinished() {
                return false;
        }

+       @Override
        public void notifyClients() {
                // Ignore for now
        }

+       @Override
        public void onTransition(ClientGetState oldState, ClientGetState 
newState) {
                // Ignore
        }

Modified: trunk/freenet/src/freenet/clients/http/BookmarkEditorToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/BookmarkEditorToadlet.java   
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/BookmarkEditorToadlet.java   
2008-09-06 12:21:04 UTC (rev 22497)
@@ -130,6 +130,7 @@
                return bookmarks;
        }

+       @Override
        public void handleGet(URI uri, HTTPRequest req, ToadletContext ctx)
                throws ToadletContextClosedException, IOException {
                PageMaker pageMaker = ctx.getPageMaker();
@@ -256,6 +257,7 @@
                this.writeHTMLReply(ctx, 200, "OK", pageNode.generate());
        }

+       @Override
        public void handlePost(URI uri, HTTPRequest req, ToadletContext ctx)
                throws ToadletContextClosedException, IOException {
                PageMaker pageMaker = ctx.getPageMaker();
@@ -344,6 +346,7 @@
                this.writeHTMLReply(ctx, 200, "OK", pageNode.generate());
        }

+       @Override
        public String supportedMethods() {
                return "GET, POST";
        }

Modified: trunk/freenet/src/freenet/clients/http/BrowserTestToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/BrowserTestToadlet.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/BrowserTestToadlet.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -174,6 +174,7 @@
                "TTfltFP4CgA1VFFFraqAAAIANUIAYJzwRFRHhRVWT2eltVZbb8U1V1135bVX" +
                "X38FNlhhhyW2WGOPRTZZZbEMCAA7====";

+       @Override
        public void handleGet(URI uri, HTTPRequest request, ToadletContext ctx) 
throws ToadletContextClosedException, IOException {
                // Yes, we need that in order to test the browser (number of 
connections per server)
                if (request.isParameterSet("wontload")) return;
@@ -213,6 +214,7 @@
                this.writeHTMLReply(ctx, 200, "OK", pageNode.generate());
        }

+       @Override
        public String supportedMethods() {
                return "GET";
        }

Modified: trunk/freenet/src/freenet/clients/http/ConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/ConnectionsToadlet.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/ConnectionsToadlet.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -149,6 +149,7 @@
        protected boolean isReversed = false;
        protected final DecimalFormat fix1 = new DecimalFormat("##0.0%");

+       @Override
        public String supportedMethods() {
                if(this.acceptRefPosts())
                        return "GET, POST";
@@ -173,6 +174,7 @@
                abstract public String getExplanationKey();
        }

+       @Override
        public void handleGet(URI uri, final HTTPRequest request, 
ToadletContext ctx) throws ToadletContextClosedException, IOException, 
RedirectException {
                String path = uri.getPath();
                if(path.endsWith("myref.fref")) {
@@ -482,6 +484,7 @@
        /** Where to redirect to if there is an error */
        protected abstract String defaultRedirectLocation();

+       @Override
        public void handlePost(URI uri, final HTTPRequest request, 
ToadletContext ctx) throws ToadletContextClosedException, IOException, 
RedirectException {
                boolean logMINOR = Logger.shouldLog(Logger.MINOR, this);


Modified: trunk/freenet/src/freenet/clients/http/ConnectivityToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/ConnectivityToadlet.java     
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/ConnectivityToadlet.java     
2008-09-06 12:21:04 UTC (rev 22497)
@@ -50,10 +50,12 @@
                this.core = core;
        }

+       @Override
        public String supportedMethods() {
                return "GET";
        }

+       @Override
        public void handleGet(URI uri, final HTTPRequest request, 
ToadletContext ctx) throws ToadletContextClosedException, IOException {
                PageMaker pageMaker = ctx.getPageMaker();


Modified: trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -25,6 +25,7 @@
                super(n, core, client);
        }

+       @Override
        public String supportedMethods() {
                return "GET, POST";
        }
@@ -39,6 +40,7 @@
                        super(sortBy, reversed);
                }

+               @Override
                protected int customCompare(PeerNodeStatus firstNode, 
PeerNodeStatus secondNode, String sortBy) {
                        if(sortBy.equals("name")) {
                                return 
((DarknetPeerNodeStatus)firstNode).getName().compareToIgnoreCase(((DarknetPeerNodeStatus)secondNode).getName());
@@ -49,29 +51,35 @@
                }

                /** Default comparison, after taking into account status */
+               @Override
                protected int lastResortCompare(PeerNodeStatus firstNode, 
PeerNodeStatus secondNode) {
                        return 
((DarknetPeerNodeStatus)firstNode).getName().compareToIgnoreCase(((DarknetPeerNodeStatus)secondNode).getName());
                }

        }

+       @Override
        protected Comparator comparator(String sortBy, boolean reversed) {
                return new DarknetComparator(sortBy, reversed);
        }

+       @Override
        protected boolean hasNameColumn() {
                return true;
        }

+       @Override
        protected void drawNameColumn(HTMLNode peerRow, PeerNodeStatus 
peerNodeStatus) {
                // name column
                peerRow.addChild("td", "class", "peer-name").addChild("a", 
"href", "/send_n2ntm/?peernode_hashcode=" + peerNodeStatus.hashCode(), 
((DarknetPeerNodeStatus)peerNodeStatus).getName());
        }

+       @Override
        protected boolean hasPrivateNoteColumn() {
                return true;
        }

+       @Override
        protected void drawPrivateNoteColumn(HTMLNode peerRow, PeerNodeStatus 
peerNodeStatus, boolean fProxyJavascriptEnabled) {
                // private darknet node comment note column
                DarknetPeerNodeStatus status = (DarknetPeerNodeStatus) 
peerNodeStatus;
@@ -82,26 +90,32 @@
                }
        }

+       @Override
        protected SimpleFieldSet getNoderef() {
                return node.exportDarknetPublicFieldSet();
        }

+       @Override
        protected PeerNodeStatus[] getPeerNodeStatuses(boolean noHeavy) {
                return node.peers.getDarknetPeerNodeStatuses(noHeavy);
        }

+       @Override
        protected String getPageTitle(String titleCountString, String myName) {
                return L10n.getString("DarknetConnectionsToadlet.fullTitle", 
new String[] { "counts", "name" }, new String[] { titleCountString, 
node.getMyName() } );
        }

+       @Override
        protected boolean shouldDrawNoderefBox(boolean advancedModeEnabled) {
                return true;
        }

+       @Override
        protected boolean showPeerActionsBox() {
                return true;
        }

+       @Override
        protected void drawPeerActionSelectBox(HTMLNode peerForm, boolean 
advancedModeEnabled) {
                HTMLNode actionSelect = peerForm.addChild("select", new 
String[] { "id", "name" }, new String[] { "action", "action" });
                actionSelect.addChild("option", "value", "", 
l10n("selectAction"));
@@ -126,14 +140,17 @@
                peerForm.addChild("input", new String[] { "type", "name", 
"value" }, new String[] { "submit", "doAction", l10n("go") });
        }

+       @Override
        protected String getPeerListTitle() {
                return l10n("myFriends");
        }

+       @Override
        protected boolean acceptRefPosts() {
                return true;
        }

+       @Override
        protected String defaultRedirectLocation() {
                return "/friends/"; // FIXME
        }
@@ -144,6 +161,7 @@
         * @throws ToadletContextClosedException 
         * @throws RedirectException 
         */
+       @Override
        protected void handleAltPost(URI uri, HTTPRequest request, 
ToadletContext ctx, boolean logMINOR) throws ToadletContextClosedException, 
IOException, RedirectException {
                if (request.isPartSet("doAction") && 
request.getPartAsString("action",25).equals("send_n2ntm")) {
                        HTMLNode pageNode = 
ctx.getPageMaker().getPageNode(l10n("sendMessageTitle"), ctx);
@@ -397,10 +415,12 @@
                }
        }

+       @Override
        protected boolean isOpennet() {
                return false;
        }

+       @Override
        SimpleColumn[] endColumnHeaders(boolean advancedMode) {
                return null;
        }

Modified: trunk/freenet/src/freenet/clients/http/FProxyToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/FProxyToadlet.java   2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/FProxyToadlet.java   2008-09-06 
12:21:04 UTC (rev 22497)
@@ -90,6 +90,7 @@
                        };
        }

+       @Override
        public String supportedMethods() {
                return "GET";
        }

Modified: trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java  
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java  
2008-09-06 12:21:04 UTC (rev 22497)
@@ -451,6 +451,7 @@
                return L10n.getString("FirstTimeWizardToadlet."+key);
        }

+       @Override
        public String supportedMethods() {
                return "GET, POST";
        }

Modified: trunk/freenet/src/freenet/clients/http/LocalFileInsertToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/LocalFileInsertToadlet.java  
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/LocalFileInsertToadlet.java  
2008-09-06 12:21:04 UTC (rev 22497)
@@ -40,6 +40,7 @@
         * @see freenet.clients.http.Toadlet#handleGet(java.net.URI,
         *      freenet.clients.http.ToadletContext)
         */
+       @Override
        public void handleGet(URI uri, HTTPRequest request, ToadletContext 
toadletContext) throws ToadletContextClosedException, IOException, 
RedirectException {
                FreenetURI furi = null;
                String key = request.getParam("key");
@@ -177,6 +178,7 @@
        /**
         * @see freenet.clients.http.Toadlet#supportedMethods()
         */
+       @Override
        public String supportedMethods() {
                return "GET,POST";
        }

Modified: trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -31,10 +31,12 @@
                this.core = core;
        }

+       @Override
        public String supportedMethods() {
                return "GET, POST";
        }

+       @Override
        public void handleGet(URI uri, HTTPRequest request, ToadletContext ctx)
                        throws ToadletContextClosedException, IOException,
                        RedirectException {
@@ -114,6 +116,7 @@
                return infobox;
        }

+       @Override
        public void handlePost(URI uri, HTTPRequest request, ToadletContext ctx)
                        throws ToadletContextClosedException, IOException,
                        RedirectException {

Modified: trunk/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -18,28 +18,34 @@
                super(n, core, client);
        }

+       @Override
        protected void drawNameColumn(HTMLNode peerRow,
                        PeerNodeStatus peerNodeStatus) {
                // Do nothing - no names on opennet
        }

+       @Override
        protected void drawPrivateNoteColumn(HTMLNode peerRow,
                        PeerNodeStatus peerNodeStatus, boolean 
fProxyJavascriptEnabled) {
                // Do nothing - no private notes either (no such thing as 
negative trust in cyberspace)
        }

+       @Override
        protected boolean hasNameColumn() {
                return false;
        }

+       @Override
        protected boolean hasPrivateNoteColumn() {
                return false;
        }

+       @Override
        protected SimpleFieldSet getNoderef() {
                return node.exportOpennetPublicFieldSet();
        }

+       @Override
        protected PeerNodeStatus[] getPeerNodeStatuses(boolean noHeavy) {
                return node.peers.getOpennetPeerNodeStatuses(noHeavy);
        }
@@ -48,36 +54,44 @@
                return node.isOpennetEnabled();
        }

+       @Override
        protected String getPageTitle(String titleCountString, String myName) {
                return L10n.getString("OpennetConnectionsToadlet.fullTitle", 
new String[] { "counts", "name" }, new String[] { titleCountString, 
node.getMyName() } );
        }

+       @Override
        protected boolean shouldDrawNoderefBox(boolean advancedModeEnabled) {
                return advancedModeEnabled;
        }

+       @Override
        protected boolean showPeerActionsBox() {
                // No per-peer actions supported on opennet - there's no point, 
they'll only reconnect,
                // possibly as a different identity. And we don't want to be 
able to send N2NTM spam either.
                return false;
        }

+       @Override
        protected void drawPeerActionSelectBox(HTMLNode peerForm, boolean 
advancedModeEnabled) {
                // Do nothing, see showPeerActionsBox().
        }

+       @Override
        protected String getPeerListTitle() {
                return 
L10n.getString("OpennetConnectionsToadlet.peersListTitle");
        }

+       @Override
        protected boolean acceptRefPosts() {
                return true;
        }

+       @Override
        protected String defaultRedirectLocation() {
                return "/opennet/";
        }

+       @Override
        protected boolean isOpennet() {
                return true;
        }
@@ -88,6 +102,7 @@
                        super(sortBy, reversed);
                }

+               @Override
                protected int customCompare(PeerNodeStatus firstNode, 
PeerNodeStatus secondNode, String sortBy) {
                        if(sortBy.equals("successTime")) {
                                long t1 = 
((OpennetPeerNodeStatus)firstNode).timeLastSuccess;
@@ -99,26 +114,32 @@
                }
        }

+       @Override
        protected Comparator comparator(String sortBy, boolean reversed) {
                return new OpennetComparator(sortBy, reversed);
        }

+       @Override
        SimpleColumn[] endColumnHeaders(boolean advancedMode) {
                if(!advancedMode) return null;
                return new SimpleColumn[] { 
                                new SimpleColumn() {

+                                       @Override
                                        protected void drawColumn(HTMLNode 
peerRow, PeerNodeStatus peerNodeStatus) {
                                                OpennetPeerNodeStatus status = 
(OpennetPeerNodeStatus) peerNodeStatus;
                                                long tLastSuccess = 
status.timeLastSuccess;
                                                peerRow.addChild("td", "class", 
"peer-last-success", tLastSuccess > 0 ? 
TimeUtil.formatTime(System.currentTimeMillis() - tLastSuccess) : "NEVER");
                                        }
+                                       @Override
                                        public String getExplanationKey() {
                                                return 
"OpennetConnectionsToadlet.successTime";
                                        }
+                                       @Override
                                        public String getSortString() {
                                                return "successTime";
                                        }
+                                       @Override
                                        public String getTitleKey() {
                                                return 
"OpennetConnectionsToadlet.successTimeTitle";
                                        }

Modified: trunk/freenet/src/freenet/clients/http/QueueToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/QueueToadlet.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/QueueToadlet.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -89,6 +89,7 @@
                loadCompletedIdentifiers();
        }

+       @Override
        public void handlePost(URI uri, HTTPRequest request, ToadletContext 
ctx) throws ToadletContextClosedException, IOException, RedirectException {

                if(!core.hasLoadedQueue()) {
@@ -476,6 +477,7 @@
                writeHTMLReply(context, 400, "Bad request", 
pageNode.generate());
        }

+       @Override
        public void handleGet(URI uri, final HTTPRequest request, 
ToadletContext ctx) 
        throws ToadletContextClosedException, IOException, RedirectException {

@@ -1169,6 +1171,7 @@
                return table;
        }

+       @Override
        public String supportedMethods() {
                return "GET, POST";
        }
@@ -1327,6 +1330,7 @@
                                        new String[] { "<a 
href=\"/queue/"+uri.toACIIString()+"\">", "</a>", "<a 
href=\"/"+uri.toACIIString()+"\">", "</a>", name, SizeUtil.formatSize(size) } );
                        UserAlert alert = 
                        new SimpleHTMLUserAlert(true, title, title, text, 
UserAlert.MINOR) {
+                               @Override
                                public void onDismiss() {
                                        
synchronized(completedRequestIdentifiers) {
                                                
completedRequestIdentifiers.remove(identifier);
@@ -1336,6 +1340,7 @@
                                        }
                                        saveCompletedIdentifiersOffThread();
                                }
+                               @Override
                                public boolean isEventNotification() {
                                        return true;
                                }
@@ -1359,6 +1364,7 @@
                                        new String[] { "<a 
href=\"/"+uri.toACIIString()+"\">", "</a>", name, SizeUtil.formatSize(size) } );
                        UserAlert alert = 
                        new SimpleHTMLUserAlert(true, title, title, text, 
UserAlert.MINOR) {
+                               @Override
                                public void onDismiss() {
                                        
synchronized(completedRequestIdentifiers) {
                                                
completedRequestIdentifiers.remove(identifier);
@@ -1368,6 +1374,7 @@
                                        }
                                        saveCompletedIdentifiersOffThread();
                                }
+                               @Override
                                public boolean isEventNotification() {
                                        return true;
                                }
@@ -1388,6 +1395,7 @@
                                        new String[] { "<a 
href=\"/"+uri.toACIIString()+"\">", "</a>", name, SizeUtil.formatSize(size), 
Integer.toString(files) } );
                        UserAlert alert = 
                        new SimpleHTMLUserAlert(true, title, title, text, 
UserAlert.MINOR) {
+                               @Override
                                public void onDismiss() {
                                        
synchronized(completedRequestIdentifiers) {
                                                
completedRequestIdentifiers.remove(identifier);
@@ -1397,6 +1405,7 @@
                                        }
                                        saveCompletedIdentifiersOffThread();
                                }
+                               @Override
                                public boolean isEventNotification() {
                                        return true;
                                }

Modified: trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java     
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java     
2008-09-06 12:21:04 UTC (rev 22497)
@@ -83,9 +83,11 @@

        class FProxySSLCallback extends BooleanCallback  {

+               @Override
                public Boolean get() {
                        return ssl;
                }
+               @Override
                public void set(Boolean val) throws InvalidConfigValueException 
{
                        if (get().equals(val))
                                return;
@@ -103,10 +105,12 @@

        class FProxyPassthruMaxSize extends LongCallback  {

+               @Override
                public Long get() {
                        return FProxyToadlet.MAX_LENGTH;
                }

+               @Override
                public void set(Long val) throws InvalidConfigValueException {
                        if (get().equals(val))
                                return;
@@ -116,10 +120,12 @@

        class FProxyPortCallback extends IntCallback  {

+               @Override
                public Integer get() {
                        return port;
                }

+               @Override
                public void set(Integer newPort) throws 
InvalidConfigValueException {
                        if(port != newPort)
                                throw new 
InvalidConfigValueException(L10n.getString("cannotChangePortOnTheFly"));
@@ -133,10 +139,12 @@

        class FProxyBindtoCallback extends StringCallback  {

+               @Override
                public String get() {
                        return bindTo;
                }

+               @Override
                public void set(String bindTo) throws 
InvalidConfigValueException {
                        if(!bindTo.equals(get())) {
                                try {
@@ -154,10 +162,12 @@

        class FProxyAllowedHostsCallback extends StringCallback  {

+               @Override
                public String get() {
                        return networkInterface.getAllowedHosts();
                }

+               @Override
                public void set(String allowedHosts) {
                        if (!allowedHosts.equals(get())) {
                                networkInterface.setAllowedHosts(allowedHosts);
@@ -167,10 +177,12 @@

        class FProxyCSSNameCallback extends StringCallback implements 
EnumerableOptionCallback {

+               @Override
                public String get() {
                        return cssTheme.code;
                }

+               @Override
                public void set(String CSSName) throws 
InvalidConfigValueException {
                        if((CSSName.indexOf(':') != -1) || 
(CSSName.indexOf('/') != -1))
                                throw new 
InvalidConfigValueException(l10n("illegalCSSName"));
@@ -191,10 +203,12 @@

        class FProxyCSSOverrideCallback extends StringCallback  {

+               @Override
                public String get() {
                        return (cssOverride == null ? "" : 
cssOverride.toString());
                }

+               @Override
                public void set(String val) throws InvalidConfigValueException {
                        if(core == null) return;
                        if(val.equals(get()) || val.equals(""))
@@ -213,11 +227,13 @@

        class FProxyEnabledCallback extends BooleanCallback  {

+               @Override
                public Boolean get() {
                        synchronized(SimpleToadletServer.this) {
                                return myThread != null;
                        }
                }
+               @Override
                public void set(Boolean val) throws InvalidConfigValueException 
{
                        if (get().equals(val))
                                return;
@@ -262,10 +278,12 @@
                        this.ts = ts;
                }

+               @Override
                public Boolean get() {
                        return ts.isAdvancedModeEnabled();
                }

+               @Override
                public void set(Boolean val) throws InvalidConfigValueException 
{
                        if (get().equals(val))
                                return;
@@ -281,10 +299,12 @@
                        this.ts = ts;
                }

+               @Override
                public Boolean get() {
                        return ts.isFProxyJavascriptEnabled();
                }

+               @Override
                public void set(Boolean val) throws InvalidConfigValueException 
{
                        if (get().equals(val))
                                return;
@@ -367,10 +387,12 @@
                                new FProxyJavascriptEnabledCallback(this));
                fproxyConfig.register("showPanicButton", false, 
configItemOrder++, true, true, "SimpleToadletServer.panicButton", 
"SimpleToadletServer.panicButtonLong",
                                new BooleanCallback(){
+                               @Override
                                public Boolean get() {
                                        return 
SimpleToadletServer.isPanicButtonToBeShown;
                                }

+                               @Override
                                public void set(Boolean value) {
                                        if(value == 
SimpleToadletServer.isPanicButtonToBeShown) return;
                                        else    
SimpleToadletServer.isPanicButtonToBeShown = value;
@@ -385,12 +407,14 @@
                fproxyConfig.register("enablePersistentConnections", false, 
configItemOrder++, true, false, 
"SimpleToadletServer.enablePersistentConnections", 
"SimpleToadletServer.enablePersistentConnectionsLong",
                                new BooleanCallback() {

+                                       @Override
                                        public Boolean get() {
                                                
synchronized(SimpleToadletServer.this) {
                                                        return 
enablePersistentConnections;
                                                }
                                        }

+                                       @Override
                                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                                
synchronized(SimpleToadletServer.this) {
                                                        
enablePersistentConnections = val;
@@ -408,12 +432,14 @@
                fproxyConfig.register("enableInlinePrefetch", false, 
configItemOrder++, true, false, "SimpleToadletServer.enableInlinePrefetch", 
"SimpleToadletServer.enableInlinePrefetchLong",
                                new BooleanCallback() {

+                                       @Override
                                        public Boolean get() {
                                                
synchronized(SimpleToadletServer.this) {
                                                        return 
enableInlinePrefetch;
                                                }
                                        }

+                                       @Override
                                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                                
synchronized(SimpleToadletServer.this) {
                                                        enableInlinePrefetch = 
val;
@@ -431,10 +457,12 @@
                                "SimpleToadletServer.allowedFullAccessLong",
                                new StringCallback() {

+                                       @Override
                                        public String get() {
                                                return 
allowedFullAccess.getAllowedHosts();
                                        }

+                                       @Override
                                        public void set(String val) throws 
InvalidConfigValueException {
                                                
allowedFullAccess.setAllowedHosts(val);
                                        }
@@ -443,9 +471,11 @@
                allowedFullAccess = new 
AllowedHosts(fproxyConfig.getString("allowedHostsFullAccess"));
                fproxyConfig.register("doRobots", false, configItemOrder++, 
true, false, "SimpleToadletServer.doRobots", "SimpleToadletServer.doRobotsLong",
                                new BooleanCallback() {
+                                       @Override
                                        public Boolean get() {
                                                return doRobots;
                                        }
+                                       @Override
                                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                                doRobots = val;
                                        }

Modified: trunk/freenet/src/freenet/clients/http/StartupToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/StartupToadlet.java  2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/StartupToadlet.java  2008-09-06 
12:21:04 UTC (rev 22497)
@@ -52,6 +52,7 @@
                }
        }

+       @Override
        public String supportedMethods() {
                return "GET";
        }

Modified: trunk/freenet/src/freenet/clients/http/StaticToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/StaticToadlet.java   2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/StaticToadlet.java   2008-09-06 
12:21:04 UTC (rev 22497)
@@ -25,6 +25,7 @@
        public static final String ROOT_URL = "/static/";
        public static final String ROOT_PATH = "staticfiles/";

+       @Override
        public void handleGet(URI uri, HTTPRequest request, ToadletContext ctx) 
throws ToadletContextClosedException, IOException {
                String path = uri.getPath();

@@ -91,6 +92,7 @@
                return L10n.getString("StaticToadlet."+key);
        }

+       @Override
        public String supportedMethods() {
                return "GET";
        }

Modified: trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -80,6 +80,7 @@
                peers = node.peers;
        }

+       @Override
        public String supportedMethods() {
                return "GET";
        }

Modified: trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java        
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java        
2008-09-06 12:21:04 UTC (rev 22497)
@@ -27,16 +27,19 @@
                tslconfig = new SubConfig("toadletsymlinker", node.config);
                tslconfig.register("symlinks", null, 9, true, false, 
"SymlinkerToadlet.symlinks", "SymlinkerToadlet.symlinksLong", 
                        new StringArrCallback() {
+                       @Override
                        public String[] get() {
                                return getConfigLoadString();
                        }
+                       @Override
                        public void set(String[] val) throws 
InvalidConfigValueException {
                                //if(storeDir.equals(new File(val))) return;
                                // FIXME
                                throw new InvalidConfigValueException("Cannot 
set the plugins that's loaded.");
                        }

-                               public boolean isReadOnly() {
+                               @Override
+                                       public boolean isReadOnly() {
                                        return true;
                                }
                });
@@ -97,10 +100,12 @@
                return retarr;
        }

+       @Override
        public String supportedMethods() {
                return "GET";
        }

+       @Override
        public void handleGet(URI uri, HTTPRequest request, ToadletContext ctx)
        throws ToadletContextClosedException, IOException, RedirectException {
                String path = uri.getPath();

Modified: trunk/freenet/src/freenet/clients/http/TranslationToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/TranslationToadlet.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/TranslationToadlet.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -250,6 +250,7 @@
                return;
        }

+       @Override
        public String supportedMethods() {
                return "GET, POST";
        }

Modified: trunk/freenet/src/freenet/clients/http/TrivialToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/TrivialToadlet.java  2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/TrivialToadlet.java  2008-09-06 
12:21:04 UTC (rev 22497)
@@ -13,6 +13,7 @@
                super(client);
        }

+       @Override
        public void handleGet(URI uri, HTTPRequest req, ToadletContext ctx) 
throws ToadletContextClosedException, IOException {
                String fetched = uri.toString();
                String encFetched = HTMLEncoder.encode(fetched);
@@ -22,6 +23,7 @@
                this.writeHTMLReply(ctx, 200, "OK", reply);
        }

+       @Override
        public String supportedMethods() {
                return "GET";
        }

Modified: trunk/freenet/src/freenet/clients/http/UserAlertsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/UserAlertsToadlet.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/UserAlertsToadlet.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -29,10 +29,12 @@
        private UserAlertManager alerts;
        private Node node;

+       @Override
        public String supportedMethods() {
                return "GET";
        }

+       @Override
        public void handleGet(URI uri, HTTPRequest request, ToadletContext ctx) 
throws ToadletContextClosedException, IOException {
                if (!ctx.isAllowedFullAccess()) {
                        super.sendErrorPage(ctx, 403, 
L10n.getString("Toadlet.unauthorizedTitle"), 
L10n.getString("Toadlet.unauthorized"));

Modified: trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java  2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java  2008-09-06 
12:21:04 UTC (rev 22497)
@@ -93,7 +93,8 @@
         }
     }

-    public void handlePost(URI uri, HTTPRequest request, ToadletContext ctx) 
throws ToadletContextClosedException, IOException {
+    @Override
+       public void handlePost(URI uri, HTTPRequest request, ToadletContext 
ctx) throws ToadletContextClosedException, IOException {

         if (!ctx.isAllowedFullAccess()) {
             super.sendErrorPage(ctx, 403, "Unauthorized", 
L10n.getString("Toadlet.unauthorized"));
@@ -430,7 +431,8 @@
                 new String[]{"text", name, "30", message});
     }

-    public void handleGet(URI uri, HTTPRequest request, ToadletContext ctx) 
throws ToadletContextClosedException, IOException {
+    @Override
+       public void handleGet(URI uri, HTTPRequest request, ToadletContext ctx) 
throws ToadletContextClosedException, IOException {
         boolean advancedModeOutputEnabled = 
core.getToadletContainer().isAdvancedModeEnabled();

         if (ctx.isAllowedFullAccess()) {
@@ -623,7 +625,8 @@
         this.writeHTMLReply(ctx, 200, "OK", pageNode.generate());
     }

-    public String supportedMethods() {
+    @Override
+       public String supportedMethods() {
         return "GET, POST";
     }


Modified: trunk/freenet/src/freenet/clients/http/bookmark/Bookmark.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/bookmark/Bookmark.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/bookmark/Bookmark.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -15,6 +15,7 @@
                name = (s.length() > 0 ? s : L10n.getString("Bookmark.noName"));
        }

+       @Override
        public boolean equals(Object o) {
                if(o == this)
                        return true;
@@ -27,6 +28,7 @@
                        return false;
        }

+       @Override
        public int hashCode() {
                return name.hashCode();
        }

Modified: trunk/freenet/src/freenet/clients/http/bookmark/BookmarkCategory.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/bookmark/BookmarkCategory.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/bookmark/BookmarkCategory.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -133,7 +133,8 @@

     }

-    public SimpleFieldSet getSimpleFieldSet() {
+    @Override
+       public SimpleFieldSet getSimpleFieldSet() {
         SimpleFieldSet sfs = new SimpleFieldSet(true);
        sfs.putSingle("Name", name);
        sfs.put("Content", BookmarkManager.toSimpleFieldSet(this));

Modified: trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java   
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java   
2008-09-06 12:21:04 UTC (rev 22497)
@@ -69,47 +69,56 @@
             super(true, null, null, null, null, UserAlert.MINOR, false, null, 
true, null);
         }

-        public String getTitle() {
+        @Override
+               public String getTitle() {
             return l10n("bookmarkUpdatedTitle", "name", name);
         }

-        public String getText() {
+        @Override
+               public String getText() {
             return l10n("bookmarkUpdated", new String[]{"name", "edition"},
                     new String[]{name, 
Long.toString(key.getSuggestedEdition())});
         }

-        public HTMLNode getHTMLText() {
+        @Override
+               public HTMLNode getHTMLText() {
             HTMLNode n = new HTMLNode("div");
             L10n.addL10nSubstitution(n, 
"BookmarkItem.bookmarkUpdatedWithLink", new String[]{"link", "/link", "name", 
"edition"},
                     new String[]{"<a href=\"/" + key.toString() + "\">", 
"</a>", HTMLEncoder.encode(name), Long.toString(key.getSuggestedEdition())});
             return n;
         }

-        public boolean isValid() {
+        @Override
+               public boolean isValid() {
             synchronized (BookmarkItem.this) {
                 return updated;
             }
         }

-        public void isValid(boolean validity) {
+        @Override
+               public void isValid(boolean validity) {
             if (validity) {
                 return;
             }
             disableBookmark();
         }

-        public String dismissButtonText() {
+        @Override
+               public String dismissButtonText() {
             return l10n("deleteBookmarkUpdateNotification");
         }

-        public void onDismiss() {
+        @Override
+               public void onDismiss() {
             disableBookmark();
         }

+               @Override
                public String getShortText() {
                        return l10n("bookmarkUpdatedShort", "name", name);
                }

+               @Override
                public boolean isEventNotification() {
                        return true;
                }
@@ -158,11 +167,13 @@
         return key.getKeyType();
     }

-    public String getName() {
+    @Override
+       public String getName() {
         return ("".equals(name) ? l10n("unnamedBookmark") : name);
     }

-    public String toString() {
+    @Override
+       public String toString() {
         return this.name + "###" + (this.desc != null ? this.desc : "") + 
"###" + this.hasAnActivelink + "###" + this.key.toString();
     }

@@ -178,6 +189,7 @@
         return USK.create(key);
     }

+       @Override
        public int hashCode() {
                int hash = super.hashCode();
                hash = 31 * hash + this.key.setSuggestedEdition(0).hashCode();
@@ -186,7 +198,8 @@
                return hash;
        }

-    public boolean equals(Object o) {
+    @Override
+       public boolean equals(Object o) {
         if (o == this) {
             return true;
         }
@@ -231,7 +244,8 @@
         return (desc == null ? "" : desc);
     }

-    public SimpleFieldSet getSimpleFieldSet() {
+    @Override
+       public SimpleFieldSet getSimpleFieldSet() {
        SimpleFieldSet sfs = new SimpleFieldSet(true);
        sfs.putSingle("Name", name);
        sfs.putSingle("Description", desc);

Modified: trunk/freenet/src/freenet/clients/http/filter/CSSParser.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/filter/CSSParser.java        
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/filter/CSSParser.java        
2008-09-06 12:21:04 UTC (rev 22497)
@@ -37,23 +37,28 @@
                this.deleteErrors = super.deleteErrors;
        }

+       @Override
        void throwError(String s) throws DataFilterException {
                HTMLFilter.throwFilterException(s);
        }

+       @Override
        String processImportURL(String s) throws CommentException {
                return HTMLFilter.sanitizeURI(HTMLFilter.stripQuotes(s), 
"text/css", null, cb, true);
        }

+       @Override
        String processURL(String s) throws CommentException {
                return HTMLFilter.sanitizeURI(HTMLFilter.stripQuotes(s), null, 
null, cb, true);
        }

+       @Override
        void log(String s) {
                if (Logger.shouldLog(Logger.DEBUG, this))
                        Logger.debug(this, s);
        }

+       @Override
        void logError(String s) {
                Logger.error(this, s);
        }

Modified: trunk/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -1047,6 +1047,7 @@
                                suffix = "";
                }

+               @Override
                public String toString() {
                        StringBuilder out = new StringBuilder();
                        if(url) out.append("url(");

Modified: trunk/freenet/src/freenet/clients/http/filter/DataFilterException.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/filter/DataFilterException.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/filter/DataFilterException.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -23,22 +23,27 @@
                this.htmlExplanation = htmlExplanation;
        }

+       @Override
        public String getExplanation() {
                return explanation;
        }

+       @Override
        public HTMLNode getHTMLExplanation() {
                return htmlExplanation;
        }

+       @Override
        public String getHTMLEncodedTitle() {
                return encodedTitle;
        }

+       @Override
        public String getRawTitle() {
                return rawTitle;
        }

+       @Override
        public String toString() {
                return rawTitle;
        }

Modified: trunk/freenet/src/freenet/clients/http/filter/HTMLFilter.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/filter/HTMLFilter.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/filter/HTMLFilter.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -548,6 +548,7 @@
                        return tv.sanitize(this, pc);
                }

+               @Override
                public String toString() {
                        if (element == null)
                                return "";
@@ -1318,6 +1319,7 @@

                abstract void processStyle(HTMLParseContext pc);

+               @Override
                Hashtable sanitizeHash(
                        Hashtable h,
                        ParsedTag p,

Modified: 
trunk/freenet/src/freenet/clients/http/filter/KnownUnsafeContentTypeException.java
===================================================================
--- 
trunk/freenet/src/freenet/clients/http/filter/KnownUnsafeContentTypeException.java
  2008-09-06 11:46:41 UTC (rev 22496)
+++ 
trunk/freenet/src/freenet/clients/http/filter/KnownUnsafeContentTypeException.java
  2008-09-06 12:21:04 UTC (rev 22497)
@@ -15,6 +15,7 @@
                this.type = type;
        }

+       @Override
        public String getExplanation() {
                StringBuilder sb = new StringBuilder();
                sb.append("<p><b>");
@@ -38,6 +39,7 @@
                return sb.toString();
        }

+       @Override
        public HTMLNode getHTMLExplanation() {
                HTMLNode explanation = new HTMLNode("div");
                explanation.addChild("p").addChild("b", type.readDescription);
@@ -59,10 +61,12 @@
                return explanation;
        }

+       @Override
        public String getHTMLEncodedTitle() {
                return l10n("title", "type", 
HTMLEncoder.encode(type.primaryMimeType));
        }

+       @Override
        public String getRawTitle() {
                return l10n("title", "type", type.primaryMimeType);
        }

Modified: 
trunk/freenet/src/freenet/clients/http/filter/UnknownContentTypeException.java
===================================================================
--- 
trunk/freenet/src/freenet/clients/http/filter/UnknownContentTypeException.java  
    2008-09-06 11:46:41 UTC (rev 22496)
+++ 
trunk/freenet/src/freenet/clients/http/filter/UnknownContentTypeException.java  
    2008-09-06 12:21:04 UTC (rev 22497)
@@ -21,18 +21,22 @@
                return type;
        }

+       @Override
        public String getHTMLEncodedTitle() {
                return l10n("title", "type", encodedType);
        }

+       @Override
        public String getRawTitle() {
                return l10n("title", "type", type);
        }

+       @Override
        public String getExplanation() {
                return l10n("explanation");
        }

+       @Override
        public HTMLNode getHTMLExplanation() {
                return new HTMLNode("div", l10n("explanation"));
        }

Modified: trunk/freenet/src/freenet/clients/http/filter/Yytoken.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/filter/Yytoken.java  2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/clients/http/filter/Yytoken.java  2008-09-06 
12:21:04 UTC (rev 22497)
@@ -21,7 +21,8 @@
     m_charEnd = charEnd;
   }

-  public String toString() {
+  @Override
+public String toString() {
     return "Text   : "+m_text+
            "\nindex : "+m_index+
            "\nline  : "+m_line+

Modified: trunk/freenet/src/freenet/config/BooleanOption.java
===================================================================
--- trunk/freenet/src/freenet/config/BooleanOption.java 2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/config/BooleanOption.java 2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -14,6 +14,7 @@
                this.currentValue = defaultValue;
        }

+       @Override
        public Boolean parseString(String val) throws 
InvalidConfigValueException {
                if(val.equalsIgnoreCase("true") || val.equalsIgnoreCase("yes")) 
{
                        return true;

Modified: trunk/freenet/src/freenet/config/FilePersistentConfig.java
===================================================================
--- trunk/freenet/src/freenet/config/FilePersistentConfig.java  2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/config/FilePersistentConfig.java  2008-09-06 
12:21:04 UTC (rev 22497)
@@ -106,10 +106,12 @@
                }
        }

+       @Override
        public void register(SubConfig sc) {
                super.register(sc);
        }

+       @Override
        public void store() {
                if(!finishedInit) {
                        Logger.minor(this, "Initialization not finished, 
refusing to write config", new Exception("error"));

Modified: trunk/freenet/src/freenet/config/FreenetFilePersistentConfig.java
===================================================================
--- trunk/freenet/src/freenet/config/FreenetFilePersistentConfig.java   
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/config/FreenetFilePersistentConfig.java   
2008-09-06 12:21:04 UTC (rev 22497)
@@ -45,6 +45,7 @@
                return new FreenetFilePersistentConfig(load(filename, 
tempFilename), filename, tempFilename);
        }

+       @Override
        public void store() {
                synchronized(this) {
                        if(!finishedInit) {

Modified: trunk/freenet/src/freenet/config/PersistentConfig.java
===================================================================
--- trunk/freenet/src/freenet/config/PersistentConfig.java      2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/config/PersistentConfig.java      2008-09-06 
12:21:04 UTC (rev 22497)
@@ -20,6 +20,7 @@
        /**
         * Finished initialization. So any remaining options must be invalid.
         */
+       @Override
        public synchronized void finishedInit() {
                finishedInit = true;
                if(origConfigFileContents == null) return;
@@ -55,6 +56,7 @@
                return fs; 
        }

+       @Override
        public void onRegister(SubConfig config, Option<?> o) {
                String val, name;
                synchronized(this) {

Modified: trunk/freenet/src/freenet/config/StringArrOption.java
===================================================================
--- trunk/freenet/src/freenet/config/StringArrOption.java       2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/config/StringArrOption.java       2008-09-06 
12:21:04 UTC (rev 22497)
@@ -18,6 +18,7 @@
                this.currentValue = (defaultValue==null)?new 
String[0]:defaultValue;
        }

+       @Override
        public String[] parseString(String val) throws 
InvalidConfigValueException {
                if(val.length() == 0) return new String[0];
                String[] out = val.split(delimiter);
@@ -43,6 +44,7 @@
                return L10n.getString("StringArrOption."+key, pattern, value);
        }

+       @Override
        public String toString(String[] arr) {
                if (arr == null)
                        return null;
@@ -66,6 +68,7 @@
                }
        }

+       @Override
        public boolean isDefault() {
                getValue();
                return currentValue == null ? false : 
Arrays.equals(currentValue, defaultValue);

Modified: trunk/freenet/src/freenet/crypt/CipherInputStream.java
===================================================================
--- trunk/freenet/src/freenet/crypt/CipherInputStream.java      2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/crypt/CipherInputStream.java      2008-09-06 
12:21:04 UTC (rev 22497)
@@ -56,7 +56,8 @@
     }

     //int read = 0;
-    public int read() throws IOException {
+    @Override
+       public int read() throws IOException {
         if (needIV) {
             ctx.readIV(in);
             needIV = false;
@@ -69,7 +70,8 @@
         return (rv==-1 ? -1 : ctx.decipher(rv));
     }

-    public int read(byte[] b, int off, int len) throws IOException {
+    @Override
+       public int read(byte[] b, int off, int len) throws IOException {
         if (needIV) {
             ctx.readIV(in);
             needIV = false;
@@ -85,7 +87,8 @@
             return -1;
     }

-    public int available() throws IOException {
+    @Override
+       public int available() throws IOException {
         int r = in.available();
         return (needIV ? Math.max(0, r - ctx.lengthIV()) : r);
     }

Modified: trunk/freenet/src/freenet/crypt/CipherOutputStream.java
===================================================================
--- trunk/freenet/src/freenet/crypt/CipherOutputStream.java     2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/crypt/CipherOutputStream.java     2008-09-06 
12:21:04 UTC (rev 22497)
@@ -34,12 +34,14 @@
     }

     //int wrote = 0;            
-    public void write(int b) throws IOException {
+    @Override
+       public void write(int b) throws IOException {
         //System.err.println("WRITING BYTE: " + wrote++);
         out.write(ctx.encipher(b));
     }

-    public void write(byte[] buf, int off, int len) throws IOException {
+    @Override
+       public void write(byte[] buf, int off, int len) throws IOException {
         //System.err.println("WRITING BUF LENGTH : " + (wrote += len));
         byte[] tmp = new byte[len];
         System.arraycopy(buf, off, tmp, 0, len);
@@ -48,7 +50,8 @@
     }

     // FOS will use write(int) to implement this if we don't override it!
-    public void write(byte[] buf) throws IOException {
+    @Override
+       public void write(byte[] buf) throws IOException {
        write(buf, 0, buf.length);
     }
 }

Modified: trunk/freenet/src/freenet/crypt/CryptoKey.java
===================================================================
--- trunk/freenet/src/freenet/crypt/CryptoKey.java      2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/crypt/CryptoKey.java      2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -62,6 +62,7 @@
                return b.toString();
        }

+       @Override
        public String toString() {
                StringBuilder b = new StringBuilder(keyType().length() + 1 + 4);
                b.append(keyType()).append('/');

Modified: trunk/freenet/src/freenet/crypt/DHGroup.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DHGroup.java        2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/crypt/DHGroup.java        2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -58,14 +58,17 @@
                return g;
        }

+       @Override
        public String keyType() {
                return "DHG-" + p.bitLength();
        }

+       @Override
        public byte[] fingerprint() {
                return fingerprint(new BigInteger[] { p, g });
        }

+       @Override
        public byte[] asBytes() {
                byte[] pb = Util.MPIbytes(p);
                byte[] gb = Util.MPIbytes(g);

Modified: trunk/freenet/src/freenet/crypt/DSAGroup.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DSAGroup.java       2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/crypt/DSAGroup.java       2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -102,7 +102,8 @@
     //         writeForWire(out);
     //    }

-    public String keyType() {
+    @Override
+       public String keyType() {
         return "DSA.g-" + p.bitLength();
     }

@@ -118,7 +119,8 @@
         return g;
     }

-    public byte[] fingerprint() {
+    @Override
+       public byte[] fingerprint() {
         BigInteger fp[] = new BigInteger[3];
         fp[0] = p;
         fp[1] = q;
@@ -137,7 +139,8 @@
             this.r = r;
         }

-        public void run() {
+        @Override
+               public void run() {
             while (true) {
                 qs.addElement(makePrime(DSAGroup.Q_BIT_LENGTH, 80, r));
                 synchronized (this) {
@@ -178,7 +181,8 @@
         return b.isProbablePrime(80);
     }

-    public byte[] asBytes() {
+    @Override
+       public byte[] asBytes() {
         byte[] pb = Util.MPIbytes(p);
         byte[] qb = Util.MPIbytes(q);
         byte[] gb = Util.MPIbytes(g);
@@ -189,7 +193,8 @@
         return tb;
     }

-    public boolean equals(Object o) {
+    @Override
+       public boolean equals(Object o) {
         if (this == o) // Not necessary, but a very cheap optimization
                 return true;
         return (o instanceof DSAGroup) && p.equals(((DSAGroup) o).p)
@@ -202,7 +207,8 @@
         return p.equals(o.p) && q.equals(o.q) && g.equals(o.g);
     }

-    public int hashCode() {
+    @Override
+       public int hashCode() {
         return p.hashCode() ^ q.hashCode() ^ g.hashCode();
     }

@@ -227,6 +233,7 @@
                return dg;
        }

+       @Override
        public String toString() {
                if(this == Global.DSAgroupBigA)
                        return "Global.DSAgroupBigA";

Modified: trunk/freenet/src/freenet/crypt/DSAPrivateKey.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DSAPrivateKey.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/crypt/DSAPrivateKey.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -39,7 +39,8 @@
         this.x = tempX;
     }

-    public String keyType() {
+    @Override
+       public String keyType() {
         return "DSA.s";
     }

@@ -61,11 +62,13 @@
     //    return new DSAPrivateKey(new BigInteger(field, 16));
     //}

-    public byte[] asBytes() {
+    @Override
+       public byte[] asBytes() {
         return Util.MPIbytes(x);
     }

-    public byte[] fingerprint() {
+    @Override
+       public byte[] fingerprint() {
         return fingerprint(new BigInteger[] {x});
     }


Modified: trunk/freenet/src/freenet/crypt/DSAPublicKey.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DSAPublicKey.java   2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/crypt/DSAPublicKey.java   2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -83,6 +83,7 @@
                return group.getG();
        }

+       @Override
        public String keyType() {
                return "DSA.p";
        }
@@ -124,6 +125,7 @@
        //    BigInteger y=Util.byteArrayToMPI(Util.hexToBytes(field));
        //    return new DSAPublicKey(group, y);
        //}
+       @Override
        public byte[] asBytes() {
                byte[] groupBytes = group.asBytes();
                byte[] ybytes = Util.MPIbytes(y);
@@ -149,6 +151,7 @@
                return padded;
        }

+       @Override
        public byte[] fingerprint() {
                synchronized(this) {
                        if(fingerprint == null)
@@ -163,10 +166,12 @@
                return y.equals(o.y) && group.equals(o.group);
        }

+       @Override
        public int hashCode() {
                return y.hashCode() ^ group.hashCode();
        }

+       @Override
        public boolean equals(Object o) {
                if(this == o) // Not necessary, but a very cheap optimization
                        return true;

Modified: trunk/freenet/src/freenet/crypt/DecipherOutputStream.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DecipherOutputStream.java   2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/crypt/DecipherOutputStream.java   2008-09-06 
12:21:04 UTC (rev 22497)
@@ -32,11 +32,13 @@
         this(new BufferedOutputStream(out, bufSize), ctx);
     }

-    public void write(int b) throws IOException {
+    @Override
+       public void write(int b) throws IOException {
         out.write(ctx.decipher(b));
     }

-    public void write(byte[] buf, int off, int len) throws IOException {
+    @Override
+       public void write(byte[] buf, int off, int len) throws IOException {
         byte[] tmp = new byte[len];
         System.arraycopy(buf, off, tmp, 0, len);
         ctx.blockDecipher(tmp, 0, len);

Modified: trunk/freenet/src/freenet/crypt/DiffieHellman.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DiffieHellman.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/crypt/DiffieHellman.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -54,6 +54,7 @@
                        setDaemon(true);
                }

+               @Override
                public void run() {
                        super.run();
                        while (true) {

Modified: trunk/freenet/src/freenet/crypt/DiffieHellmanLightContext.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DiffieHellmanLightContext.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/crypt/DiffieHellmanLightContext.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -18,6 +18,7 @@
        /** A timestamp: when was the context created ? */
        public final long lifetime = System.currentTimeMillis();

+       @Override
        public String toString() {
                StringBuilder sb = new StringBuilder();
                sb.append(super.toString());

Modified: trunk/freenet/src/freenet/crypt/DigestInputStream.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DigestInputStream.java      2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/crypt/DigestInputStream.java      2008-09-06 
12:21:04 UTC (rev 22497)
@@ -13,13 +13,15 @@
        this.ctx=d;
     }

-    public int read(byte[] b, int offset, int len) throws IOException {
+    @Override
+       public int read(byte[] b, int offset, int len) throws IOException {
        int rl=super.read(b, offset, len);
        if (rl>0) ctx.update(b, offset, rl);
        return rl;
     }

-    public int read() throws IOException {
+    @Override
+       public int read() throws IOException {
        int rv=super.read();
        if (rv!=-1) ctx.update((byte)rv);
        return rv;

Modified: trunk/freenet/src/freenet/crypt/DigestOutputStream.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DigestOutputStream.java     2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/crypt/DigestOutputStream.java     2008-09-06 
12:21:04 UTC (rev 22497)
@@ -13,16 +13,19 @@
        this.ctx=d;
     }

-    public void write(byte[] b) throws IOException {
+    @Override
+       public void write(byte[] b) throws IOException {
        write(b, 0, b.length);
     }

-    public void write(byte[] b, int offset, int len) throws IOException {
+    @Override
+       public void write(byte[] b, int offset, int len) throws IOException {
        ctx.update(b, offset, len);
        out.write(b, offset, len);
     }

-    public void write(int b) throws IOException {
+    @Override
+       public void write(int b) throws IOException {
        ctx.update((byte)b);
        out.write(b);
     }

Modified: trunk/freenet/src/freenet/crypt/DummyRandomSource.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DummyRandomSource.java      2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/crypt/DummyRandomSource.java      2008-09-06 
12:21:04 UTC (rev 22497)
@@ -10,24 +10,29 @@
  */
 public class DummyRandomSource extends RandomSource {
        private static final long serialVersionUID = -1;
-    public int acceptEntropy(EntropySource source, long data, int 
entropyGuess) {
+    @Override
+       public int acceptEntropy(EntropySource source, long data, int 
entropyGuess) {
         return 0;
     }

-    public int acceptTimerEntropy(EntropySource timer) {
+    @Override
+       public int acceptTimerEntropy(EntropySource timer) {
         return 0;
     }

-    public int acceptTimerEntropy(EntropySource fnpTimingSource, double bias) {
+    @Override
+       public int acceptTimerEntropy(EntropySource fnpTimingSource, double 
bias) {
         return 0;
     }

-    public int acceptEntropyBytes(EntropySource myPacketDataSource, byte[] buf,
+    @Override
+       public int acceptEntropyBytes(EntropySource myPacketDataSource, byte[] 
buf,
             int offset, int length, double bias) {
         return 0;
     }

-    public void close() {
+    @Override
+       public void close() {
     }

 }

Modified: trunk/freenet/src/freenet/crypt/EncipherInputStream.java
===================================================================
--- trunk/freenet/src/freenet/crypt/EncipherInputStream.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/crypt/EncipherInputStream.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -31,12 +31,14 @@
         this(bufSize == 0 ? in : new BufferedInputStream(in, bufSize), ctx);
     }

-    public int read() throws IOException {
+    @Override
+       public int read() throws IOException {
         int rv=in.read();
         return (rv==-1 ? -1 : ctx.encipher(rv));
     }

-    public int read(byte[] b, int off, int len) throws IOException {
+    @Override
+       public int read(byte[] b, int off, int len) throws IOException {
         int rv=in.read(b, off, len);
         if (rv != -1) ctx.blockEncipher(b, off, rv);
         return rv;

Modified: trunk/freenet/src/freenet/crypt/JavaSHA1.java
===================================================================
--- trunk/freenet/src/freenet/crypt/JavaSHA1.java       2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/crypt/JavaSHA1.java       2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -11,7 +11,8 @@

     MessageDigest digest;

-    public Object clone() throws CloneNotSupportedException {
+    @Override
+       public Object clone() throws CloneNotSupportedException {
        return new JavaSHA1((MessageDigest)(digest.clone()));
     }


Modified: trunk/freenet/src/freenet/crypt/RijndaelPCFBMode.java
===================================================================
--- trunk/freenet/src/freenet/crypt/RijndaelPCFBMode.java       2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/crypt/RijndaelPCFBMode.java       2008-09-06 
12:21:04 UTC (rev 22497)
@@ -14,7 +14,8 @@

     // Refills the encrypted buffer with data.
     //private synchronized void refillBuffer() {
-    protected void refillBuffer() {
+    @Override
+       protected void refillBuffer() {
         // Encrypt feedback into result
         ((Rijndael)c).encipher(feedback_register, feedback_register, a, t);


Modified: trunk/freenet/src/freenet/crypt/SSL.java
===================================================================
--- trunk/freenet/src/freenet/crypt/SSL.java    2008-09-06 11:46:41 UTC (rev 
22496)
+++ trunk/freenet/src/freenet/crypt/SSL.java    2008-09-06 12:21:04 UTC (rev 
22497)
@@ -67,10 +67,12 @@
                sslConfig.register("sslEnable", false, configItemOrder++, true, 
true, "SSL.enable", "SSL.enableLong",
                        new BooleanCallback() {

+                               @Override
                                public Boolean get() {
                                        return enable;
                                }

+                               @Override
                                public void set(Boolean newValue) throws 
InvalidConfigValueException {
                                        if (!get().equals(newValue)) {
                                                enable = newValue;
@@ -94,10 +96,12 @@
                sslConfig.register("sslKeyStore", "datastore/certs", 
configItemOrder++, true, true, "SSL.keyStore", "SSL.keyStoreLong",
                        new StringCallback() {

+                               @Override
                                public String get() {
                                        return keyStore;
                                }

+                               @Override
                                public void set(String newKeyStore) throws 
InvalidConfigValueException {
                                        if(!newKeyStore.equals(get())) {
                                                String oldKeyStore = keyStore;
@@ -116,10 +120,12 @@
                sslConfig.register("sslKeyStorePass", "freenet", 
configItemOrder++, true, true, "SSL.keyStorePass", "SSL.keyStorePassLong",
                        new StringCallback() {

+                               @Override
                                public String get() {
                                        return keyStorePass;
                                }

+                               @Override
                                public void set(String newKeyStorePass) throws 
InvalidConfigValueException {
                                        if(!newKeyStorePass.equals(get())) {
                                                String oldKeyStorePass = 
keyStorePass;
@@ -138,10 +144,12 @@
                sslConfig.register("sslKeyPass", "freenet", configItemOrder++, 
true, true, "SSL.keyPass", "SSL.keyPassLong",
                        new StringCallback() {

+                               @Override
                                public String get() {
                                        return keyPass;
                                }

+                               @Override
                                public void set(String newKeyPass) throws 
InvalidConfigValueException {
                                        if(!newKeyPass.equals(get())) {
                                                String oldKeyPass = keyPass;
@@ -163,10 +171,12 @@
                sslConfig.register("sslVersion", "SSLv3", configItemOrder++, 
true, true, "SSL.version", "SSL.versionLong",
                        new StringCallback() {

+                               @Override
                                public String get() {
                                        return version;
                                }

+                               @Override
                                public void set(String newVersion) throws 
InvalidConfigValueException {
                                        if(!newVersion.equals(get())) {
                                                String oldVersion = version;

Modified: trunk/freenet/src/freenet/crypt/Yarrow.java
===================================================================
--- trunk/freenet/src/freenet/crypt/Yarrow.java 2008-09-06 11:46:41 UTC (rev 
22496)
+++ trunk/freenet/src/freenet/crypt/Yarrow.java 2008-09-06 12:21:04 UTC (rev 
22497)
@@ -399,6 +399,7 @@
        // loop unrolled, cache and operation optimized.
        // So don't try to simplify it... Thanks. :)
        // When this was not synchronized, we were getting repeats...
+       @Override
        protected synchronized int next(int bits) {
                int[] parameters = bitTable[bits];
                int offset = getBytes(parameters[0]);
@@ -428,10 +429,12 @@
                entropySeen = new Hashtable();
        }

+       @Override
        public int acceptEntropy(EntropySource source, long data, int 
entropyGuess) {
                return acceptEntropy(source, data, entropyGuess, 1.0);
        }

+       @Override
        public int acceptEntropyBytes(EntropySource source, byte[] buf, int 
offset,
                int length, double bias) {
                int totalRealEntropy = 0;
@@ -575,10 +578,12 @@
                return delta & 15;
        }

+       @Override
        public int acceptTimerEntropy(EntropySource timer) {
                return acceptTimerEntropy(timer, 1.0);
        }

+       @Override
        public int acceptTimerEntropy(EntropySource timer, double bias) {
                long now = System.currentTimeMillis();
                return acceptEntropy(timer, now - timer.lastVal, 32, bias);
@@ -589,6 +594,7 @@
         * specified number of bits of entropy are available. If estimation 
isn't
         * supported, this method will return immediately.
         */
+       @Override
        public void waitForEntropy(int bits) {
        }
        /**
@@ -643,6 +649,7 @@
         * If the RandomSource has any resources it wants to close, it can do so
         * when this method is called
         */
+       @Override
        public void close() {
        }


Modified: trunk/freenet/src/freenet/frost/message/FrostMessage.java
===================================================================
--- trunk/freenet/src/freenet/frost/message/FrostMessage.java   2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/frost/message/FrostMessage.java   2008-09-06 
12:21:04 UTC (rev 22497)
@@ -160,7 +160,8 @@
         this.isValid = isValid;
     }

-    public String toString() {
+    @Override
+       public String toString() {
         return getSubject();
     }
     public String getContent() {

Modified: trunk/freenet/src/freenet/io/InetAddressAddressTrackerItem.java
===================================================================
--- trunk/freenet/src/freenet/io/InetAddressAddressTrackerItem.java     
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/io/InetAddressAddressTrackerItem.java     
2008-09-06 12:21:04 UTC (rev 22497)
@@ -31,6 +31,7 @@

        public final InetAddress addr;

+       @Override
        public SimpleFieldSet toFieldSet() {
                SimpleFieldSet fs = super.toFieldSet();
                fs.putOverwrite("Address", addr.getHostAddress());

Modified: trunk/freenet/src/freenet/io/PeerAddressTrackerItem.java
===================================================================
--- trunk/freenet/src/freenet/io/PeerAddressTrackerItem.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/io/PeerAddressTrackerItem.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -45,6 +45,7 @@
                }
        }

+       @Override
        public SimpleFieldSet toFieldSet() {
                SimpleFieldSet fs = super.toFieldSet();
                fs.putOverwrite("Address", peer.toStringPrefNumeric());

Modified: trunk/freenet/src/freenet/io/SSLNetworkInterface.java
===================================================================
--- trunk/freenet/src/freenet/io/SSLNetworkInterface.java       2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/io/SSLNetworkInterface.java       2008-09-06 
12:21:04 UTC (rev 22497)
@@ -59,6 +59,7 @@
        /**
         * {@inheritDoc}
         */
+       @Override
        protected ServerSocket createServerSocket() throws IOException {
                ServerSocket serverSocket = SSL.createServerSocket();
                
((SSLServerSocket)serverSocket).setNeedClientAuth(requireClientAuthentication);

Modified: trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java   2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java   2008-09-06 
12:21:04 UTC (rev 22497)
@@ -168,6 +168,7 @@
         // until it's needed to work better with dynamic DNS hostnames
        }

+       @Override
        public boolean equals(Object o) {
                if(!(o instanceof FreenetInetAddress)) {
                        return false;
@@ -300,6 +301,7 @@
            }
        }

+       @Override
        public int hashCode() {
                if(hostname != null) {
                        return hostname.hashCode(); // Was set at creation, so 
it can safely be used here.
@@ -308,6 +310,7 @@
                }
        }

+       @Override
        public String toString() {
                if(hostname != null) {
                        return hostname;

Modified: trunk/freenet/src/freenet/io/comm/Message.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/Message.java      2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/io/comm/Message.java      2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -250,6 +250,7 @@
                return buf;
        }

+       @Override
        public String toString() {
                StringBuilder ret = new StringBuilder(1000);
                String comma = "";

Modified: trunk/freenet/src/freenet/io/comm/MessageFilter.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/MessageFilter.java        2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/io/comm/MessageFilter.java        2008-09-06 
12:21:04 UTC (rev 22497)
@@ -240,7 +240,8 @@
         return _timeout;
     }

-    public String toString() {
+    @Override
+       public String toString() {
        return super.toString()+":"+_type.getName();
     }


Modified: trunk/freenet/src/freenet/io/comm/MessageType.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/MessageType.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/io/comm/MessageType.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -94,6 +94,7 @@
                return (Class<?>) _fields.get(new Integer(field.hashCode()));
        }

+       @Override
        public boolean equals(Object o) {
                if (!(o instanceof MessageType)) {
                        return false;
@@ -103,6 +104,7 @@
                return ((MessageType) o)._name == _name;
        }

+       @Override
        public int hashCode() {
            return _name.hashCode();
        }

Modified: trunk/freenet/src/freenet/io/comm/Peer.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/Peer.java 2008-09-06 11:46:41 UTC (rev 
22496)
+++ trunk/freenet/src/freenet/io/comm/Peer.java 2008-09-06 12:21:04 UTC (rev 
22497)
@@ -143,6 +143,7 @@
                return _port == 0;
        }

+       @Override
        public boolean equals(Object o) {
                if (this == o) {
                        return true;
@@ -214,6 +215,7 @@
                return addr.getHandshakeAddress();
        }

+       @Override
        public int hashCode() {
                return addr.hashCode() + _port;
        }
@@ -222,6 +224,7 @@
                return _port;
        }

+       @Override
        public String toString() {
                return addr.toString() + ':' + _port;
        }

Modified: trunk/freenet/src/freenet/io/comm/RetrievalException.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/RetrievalException.java   2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/io/comm/RetrievalException.java   2008-09-06 
12:21:04 UTC (rev 22497)
@@ -60,6 +60,7 @@
                return _reason;
        }

+       @Override
        public String toString() {
                return _cause;
        }

Modified: trunk/freenet/src/freenet/io/comm/UdpSocketHandler.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/UdpSocketHandler.java     2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/io/comm/UdpSocketHandler.java     2008-09-06 
12:21:04 UTC (rev 22497)
@@ -420,6 +420,7 @@
         return _sock.getLocalPort();
     }

+       @Override
        public String toString() {
                return _sock.getLocalAddress() + ":" + _sock.getLocalPort();
        }

Modified: trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java
===================================================================
--- trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java     2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/io/xfer/BlockTransmitter.java     2008-09-06 
12:21:04 UTC (rev 22497)
@@ -318,6 +318,7 @@
                return _destination;
        }

+       @Override
        public String toString() {
                return "BlockTransmitter for "+_uid+" to 
"+_destination.shortToString();
        }

Modified: trunk/freenet/src/freenet/io/xfer/BulkTransmitter.java
===================================================================
--- trunk/freenet/src/freenet/io/xfer/BulkTransmitter.java      2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/io/xfer/BulkTransmitter.java      2008-09-06 
12:21:04 UTC (rev 22497)
@@ -266,6 +266,7 @@
                }
        }

+       @Override
        public String toString() {
                return "BulkTransmitter:"+uid+":"+peer.shortToString();
        }

Modified: trunk/freenet/src/freenet/io/xfer/PacketThrottle.java
===================================================================
--- trunk/freenet/src/freenet/io/xfer/PacketThrottle.java       2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/io/xfer/PacketThrottle.java       2008-09-06 
12:21:04 UTC (rev 22497)
@@ -123,6 +123,7 @@
                return Math.max(MIN_DELAY, (long) (_roundTripTime / 
_simulatedWindowSize));
        }

+       @Override
        public synchronized String toString() {
                return Double.toString((((PACKET_SIZE * 1000.0 / getDelay())) / 
1024)) + " k/sec, (w: "
                                + _simulatedWindowSize + ", r:" + 
_roundTripTime + ", d:"
@@ -312,6 +313,7 @@
                        // Ignore
                }

+               @Override
                public String toString() {
                        return 
super.toString()+":"+PacketThrottle.this.toString();
                }

Modified: trunk/freenet/src/freenet/keys/CHKBlock.java
===================================================================
--- trunk/freenet/src/freenet/keys/CHKBlock.java        2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/keys/CHKBlock.java        2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -25,7 +25,8 @@
     /* Maximum length of compressed payload */
        public static final int MAX_COMPRESSED_DATA_LENGTH = DATA_LENGTH - 4;

-    public String toString() {
+    @Override
+       public String toString() {
         return super.toString()+": chk="+chk;
     }


Modified: trunk/freenet/src/freenet/keys/ClientCHK.java
===================================================================
--- trunk/freenet/src/freenet/keys/ClientCHK.java       2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/keys/ClientCHK.java       2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -123,12 +123,14 @@
                return extra;
        }

-    public String toString() {
+    @Override
+       public String toString() {
         return super.toString()+ ':' +Base64.encode(routingKey)+ ',' +
                Base64.encode(cryptoKey)+ ',' +compressionAlgorithm+ ',' 
+controlDocument+
                 ',' +cryptoAlgorithm;
     }

+       @Override
        public Key getNodeKey() {
                return getNodeCHK();
        }
@@ -145,7 +147,8 @@
     /**
      * @return URI form of this key.
      */
-    public FreenetURI getURI() {
+    @Override
+       public FreenetURI getURI() {
         byte[] extra = getExtra();
         return new FreenetURI("CHK", null, routingKey, cryptoKey, extra);
     }

Modified: trunk/freenet/src/freenet/keys/ClientCHKBlock.java
===================================================================
--- trunk/freenet/src/freenet/keys/ClientCHKBlock.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/keys/ClientCHKBlock.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -31,7 +31,8 @@

        final ClientCHK key;

-    public String toString() {
+    @Override
+       public String toString() {
         return super.toString()+",key="+key;
     }


Modified: trunk/freenet/src/freenet/keys/ClientKSK.java
===================================================================
--- trunk/freenet/src/freenet/keys/ClientKSK.java       2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/keys/ClientKSK.java       2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -23,6 +23,7 @@
                this.keyword = keyword;
        }

+       @Override
        public FreenetURI getURI() {
                return new FreenetURI("KSK", keyword);
        }

Modified: trunk/freenet/src/freenet/keys/ClientSSK.java
===================================================================
--- trunk/freenet/src/freenet/keys/ClientSSK.java       2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/keys/ClientSSK.java       2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -94,6 +94,7 @@
                this.pubKey = pubKey;
        }

+       @Override
        public FreenetURI getURI() {
                return new FreenetURI("SSK", docName, pubKeyHash, cryptoKey, 
getExtraBytes());
        }
@@ -114,6 +115,7 @@
                return extra;
        }

+       @Override
        public Key getNodeKey() {
                try {
                        return new NodeSSK(pubKeyHash, ehDocname, pubKey, 
cryptoAlgorithm);
@@ -129,6 +131,7 @@
                return pubKey;
        }

+       @Override
        public String toString() {
                return "ClientSSK:"+getURI().toString();
        }

Modified: trunk/freenet/src/freenet/keys/FreenetURI.java
===================================================================
--- trunk/freenet/src/freenet/keys/FreenetURI.java      2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/keys/FreenetURI.java      2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -83,6 +83,7 @@
        static final String[] VALID_KEY_TYPES =
                new String[]{"CHK", "SSK", "KSK", "USK"};

+       @Override
        public int hashCode() {
                if(hasHashCode)
                        return hashCode;
@@ -105,6 +106,7 @@
                return x;
        }

+       @Override
        public boolean equals(Object o) {
                if(!(o instanceof FreenetURI))
                        return false;
@@ -139,6 +141,7 @@
                }
        }

+       @Override
        public final Object clone() {
                return new FreenetURI(this);
        }
@@ -531,6 +534,7 @@
                        suggestedEdition);
        }

+       @Override
        public String toString() {
                return toString(false, false);
        }

Modified: trunk/freenet/src/freenet/keys/InsertableUSK.java
===================================================================
--- trunk/freenet/src/freenet/keys/InsertableUSK.java   2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/keys/InsertableUSK.java   2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -40,6 +40,7 @@
                this.group = group;
        }

+       @Override
        public FreenetURI getURI() {
                return new FreenetURI(pubKeyHash, cryptoKey, null, siteName, 
suggestedEdition);
        }

Modified: trunk/freenet/src/freenet/keys/NodeCHK.java
===================================================================
--- trunk/freenet/src/freenet/keys/NodeCHK.java 2008-09-06 11:46:41 UTC (rev 
22496)
+++ trunk/freenet/src/freenet/keys/NodeCHK.java 2008-09-06 12:21:04 UTC (rev 
22497)
@@ -41,11 +41,13 @@
         write(stream);
     }

-    public String toString() {
+    @Override
+       public String toString() {
         return super.toString() + '@' +Base64.encode(routingKey)+ ':' 
+Integer.toHexString(hash);
     }

-    public final void write(DataOutput _index) throws IOException {
+    @Override
+       public final void write(DataOutput _index) throws IOException {
         _index.writeShort(getType());
         _index.write(routingKey);
     }
@@ -56,7 +58,8 @@
         return new NodeCHK(buf, algo);
     }

-    public boolean equals(Object key) {
+    @Override
+       public boolean equals(Object key) {
         if(key instanceof NodeCHK) {
             NodeCHK chk = (NodeCHK) key;
             return java.util.Arrays.equals(chk.routingKey, routingKey) && 
(cryptoAlgorithm == chk.cryptoAlgorithm);
@@ -64,18 +67,22 @@
         return false;
     }

-    public int hashCode(){
+    @Override
+       public int hashCode(){
        return super.hashCode();
     }

+       @Override
        public short getType() {
                return (short) (0x100 + (cryptoAlgorithm & 0xFF));
        }

-    public byte[] getRoutingKey(){
+    @Override
+       public byte[] getRoutingKey(){
        return routingKey;
     }

+       @Override
        public byte[] getFullKey() {
                byte[] buf = new byte[FULL_KEY_LENGTH];
                short type = getType();

Modified: trunk/freenet/src/freenet/keys/NodeSSK.java
===================================================================
--- trunk/freenet/src/freenet/keys/NodeSSK.java 2008-09-06 11:46:41 UTC (rev 
22496)
+++ trunk/freenet/src/freenet/keys/NodeSSK.java 2008-09-06 12:21:04 UTC (rev 
22497)
@@ -46,6 +46,7 @@
        public static final int FULL_KEY_LENGTH = 66;
        public static final int ROUTING_KEY_LENGTH = 32;

+       @Override
        public String toString() {
                return 
super.toString()+":pkh="+HexUtil.bytesToHex(pubKeyHash)+":ehd="+HexUtil.bytesToHex(encryptedHashedDocname);
        }
@@ -78,6 +79,7 @@
                return key;
        }

+       @Override
        public void write(DataOutput _index) throws IOException {
         _index.writeShort(getType());
         _index.write(encryptedHashedDocname);
@@ -99,6 +101,7 @@
                }
     }

+       @Override
        public short getType() {
                return (short) (0x0200 + (cryptoAlgorithm & 0xff));
        }
@@ -146,6 +149,7 @@
                }
        }

+       @Override
        public boolean equals(Object o) {
                if(!(o instanceof NodeSSK)) return false;
                NodeSSK key = (NodeSSK)o;
@@ -156,16 +160,19 @@
                return true;
        }

+       @Override
        public int hashCode() {
                return hashCode;
        }

     // Not just the routing key, enough data to reconstruct the key (excluding 
any pubkey needed)
-    public byte[] getKeyBytes() {
+    @Override
+       public byte[] getKeyBytes() {
        return encryptedHashedDocname;
     }

-    public byte[] getFullKey() {
+    @Override
+       public byte[] getFullKey() {
        byte[] buf = new byte[FULL_KEY_LENGTH];
        short type = getType();
        buf[0] = (byte) (type >> 8);

Modified: trunk/freenet/src/freenet/keys/SSKBlock.java
===================================================================
--- trunk/freenet/src/freenet/keys/SSKBlock.java        2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/keys/SSKBlock.java        2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -62,7 +62,8 @@

     static final short ENCRYPTED_HEADERS_LENGTH = 36;

-    public boolean equals(Object o) {
+    @Override
+       public boolean equals(Object o) {
        if(!(o instanceof SSKBlock)) return false;
        SSKBlock block = (SSKBlock)o;

@@ -80,7 +81,8 @@
        return true;
     }

-    public int hashCode(){
+    @Override
+       public int hashCode(){
        return super.hashCode();
     }


Modified: trunk/freenet/src/freenet/keys/USK.java
===================================================================
--- trunk/freenet/src/freenet/keys/USK.java     2008-09-06 11:46:41 UTC (rev 
22496)
+++ trunk/freenet/src/freenet/keys/USK.java     2008-09-06 12:21:04 UTC (rev 
22497)
@@ -85,6 +85,7 @@
                        siteName.hashCode() ^ (int)suggestedEdition ^ 
(int)(suggestedEdition >> 32);
        }

+       @Override
        public FreenetURI getURI() {
                return new FreenetURI(pubKeyHash, cryptoKey, 
ClientSSK.getExtraBytes(cryptoAlgorithm), siteName, suggestedEdition);
        }
@@ -111,6 +112,7 @@
                return copy(0);
        }

+       @Override
        public boolean equals(Object o) {
                if(o == null || !(o instanceof USK)) return false;
                return equals(o, true);
@@ -128,6 +130,7 @@
                return false;
        }

+       @Override
        public int hashCode() {
                return hashCode;
        }
@@ -136,6 +139,7 @@
                return new FreenetURI("SSK", siteName, pubKeyHash, cryptoKey, 
ClientSSK.getExtraBytes(cryptoAlgorithm));
        }

+       @Override
        public String toString() {
                return super.toString()+ ':' +getURI();
        }

Modified: trunk/freenet/src/freenet/node/CHKInsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertHandler.java        2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/CHKInsertHandler.java        2008-09-06 
12:21:04 UTC (rev 22497)
@@ -60,7 +60,8 @@
         receivedBytes(req.receivedByteCount());
     }

-    public String toString() {
+    @Override
+       public String toString() {
         return super.toString()+" for "+uid;
     }

@@ -440,7 +441,8 @@
             }
         }

-        public String toString() {
+        @Override
+               public String toString() {
                return super.toString()+" for "+uid;
         }


Modified: trunk/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertSender.java 2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/CHKInsertSender.java 2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -236,7 +236,8 @@
     /** Receive failed. Not used internally; only used by CHKInsertHandler. */
     static final int RECEIVE_FAILED = 7;

-    public String toString() {
+    @Override
+       public String toString() {
         return super.toString()+" for "+uid;
     }


Modified: trunk/freenet/src/freenet/node/ConfigurablePersister.java
===================================================================
--- trunk/freenet/src/freenet/node/ConfigurablePersister.java   2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/ConfigurablePersister.java   2008-09-06 
12:21:04 UTC (rev 22497)
@@ -15,10 +15,12 @@
                super(t, ps);
                nodeConfig.register(optionName, new File(baseDir, 
defaultFilename).toString(), sortOrder, expert, forceWrite, shortDesc, 
longDesc, new StringCallback() {

+                       @Override
                        public String get() {
                                return persistTarget.toString();
                        }

+                       @Override
                        public void set(String val) throws 
InvalidConfigValueException {
                                setThrottles(val);
                        }

Modified: trunk/freenet/src/freenet/node/DarknetPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/DarknetPeerNode.java 2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/DarknetPeerNode.java 2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -124,6 +124,7 @@
         * However, if ignoreSourcePort is set, we will search for a similar 
address with a different port 
         * number in the node reference.
         */
+       @Override
        public synchronized Peer getPeer(){
                Peer detectedPeer = super.getPeer();
                if(ignoreSourcePort) {
@@ -145,6 +146,7 @@
         * sufficient time period since we last sent a handshake
         * attempt.
         */
+       @Override
        public boolean shouldSendHandshake() {
                synchronized(this) {
                        if(isDisabled) return false;
@@ -154,6 +156,7 @@
                return true;
        }

+       @Override
        protected synchronized boolean innerProcessNewNoderef(SimpleFieldSet 
fs, boolean forARK, boolean forDiffNodeRef) throws FSParseException {
                boolean changedAnything = super.innerProcessNewNoderef(fs, 
forARK, forDiffNodeRef);
                String name = fs.get("myName");
@@ -164,12 +167,14 @@
                return changedAnything;
        }

+       @Override
        public synchronized SimpleFieldSet exportFieldSet() {
                SimpleFieldSet fs = super.exportFieldSet();
                fs.putSingle("myName", getName());
                return fs;
        }

+       @Override
        public synchronized SimpleFieldSet exportMetadataFieldSet() {
                SimpleFieldSet fs = super.exportMetadataFieldSet();
                if(isDisabled)
@@ -191,6 +196,7 @@
                return myName;
        }

+       @Override
        protected synchronized int getPeerNodeStatus(long now, long 
backedOffUntil) {
                if(isDisabled) {
                        return PeerManager.PEER_NODE_STATUS_DISABLED;
@@ -232,6 +238,7 @@
                node.peers.writePeers();
        }

+       @Override
        public synchronized boolean isDisabled() {
                return isDisabled;
        }
@@ -310,10 +317,12 @@
                return ignoreSourcePort;
        }

+       @Override
        public boolean isIgnoreSource() {
                return ignoreSourcePort;
        }

+       @Override
        public boolean isBurstOnly() {
                synchronized(this) {
                        if(isBurstOnly) return true;
@@ -321,6 +330,7 @@
                return super.isBurstOnly();
        }

+       @Override
        public boolean allowLocalAddresses() {
                synchronized(this) {
                        if(allowLocalAddresses) return true;
@@ -721,6 +731,7 @@
                }
        }

+       @Override
        public void queueN2NM(SimpleFieldSet fs) {
                int fileNumber = writeNewExtraPeerDataFile( fs, 
Node.EXTRA_PEER_DATA_TYPE_QUEUED_TO_SEND_N2NM);
                synchronized(queuedToSendN2NMExtraPeerDataFileNumbers) {
@@ -741,6 +752,7 @@
                }
        }

+       @Override
        void startARKFetcher() {
                synchronized(this) {
                        if(isListenOnly) {
@@ -751,6 +763,7 @@
                super.startARKFetcher();
        }

+       @Override
        public String getTMCIPeerInfo() {
                return getName()+'\t'+super.getTMCIPeerInfo();
        }
@@ -758,6 +771,7 @@
        /**
         * A method to be called once at the beginning of every time 
isConnected() is true
         */
+       @Override
        protected void onConnect() {
                sendQueuedN2NMs();
        }
@@ -917,9 +931,11 @@

                protected void onReceiveFailure() {
                        UserAlert alert = new AbstractUserAlert() {
+                               @Override
                                public String dismissButtonText() {
                                        return L10n.getString("UserAlert.hide");
                                }
+                               @Override
                                public HTMLNode getHTMLText() {
                                        HTMLNode div = new HTMLNode("div");

@@ -950,10 +966,12 @@
                                        return div;
                                }

+                               @Override
                                public short getPriorityClass() {
                                        return UserAlert.MINOR;
                                }

+                               @Override
                                public String getText() {
                                        StringBuilder sb = new StringBuilder();
                                        sb.append(l10n("failedReceiveHeader", 
new String[] { "filename", "node" },
@@ -983,30 +1001,37 @@
                                        return sb.toString();
                                }

+                               @Override
                                public String getTitle() {
                                        return l10n("failedReceiveTitle");
                                }

+                               @Override
                                public boolean isValid() {
                                        return true;
                                }

+                               @Override
                                public void isValid(boolean validity) {
                                        // Ignore
                                }

+                               @Override
                                public void onDismiss() {
                                        // Ignore
                                }

+                               @Override
                                public boolean shouldUnregisterOnDismiss() {
                                        return true;
                                }

+                               @Override
                                public boolean userCanDismiss() {
                                        return true;
                                }

+                               @Override
                                public String getShortText() {
                                        return l10n("failedReceiveShort", new 
String[] { "filename", "node" }, new String[] { filename, getName() });
                                }
@@ -1017,9 +1042,11 @@

                private void onReceiveSuccess() {
                        UserAlert alert = new AbstractUserAlert() {
+                               @Override
                                public String dismissButtonText() {
                                        return L10n.getString("UserAlert.hide");
                                }
+                               @Override
                                public HTMLNode getHTMLText() {
                                        HTMLNode div = new HTMLNode("div");

@@ -1052,10 +1079,12 @@
                                        return div;
                                }

+                               @Override
                                public short getPriorityClass() {
                                        return UserAlert.MINOR;
                                }

+                               @Override
                                public String getText() {
                                        StringBuilder sb = new StringBuilder();
                                        
sb.append(l10n("succeededReceiveHeader", new String[] { "filename", "node" },
@@ -1085,29 +1114,36 @@
                                        return sb.toString();
                                }

+                               @Override
                                public String getTitle() {
                                        return l10n("succeededReceiveTitle");
                                }

+                               @Override
                                public boolean isValid() {
                                        return true;
                                }

+                               @Override
                                public void isValid(boolean validity) {
                                        // Ignore
                                }

+                               @Override
                                public void onDismiss() {
                                        // Ignore
                                }

+                               @Override
                                public boolean shouldUnregisterOnDismiss() {
                                        return true;
                                }

+                               @Override
                                public boolean userCanDismiss() {
                                        return true;
                                }
+                               @Override
                                public String getShortText() {
                                        return l10n("succeededReceiveShort", 
new String[] { "filename", "node" }, new String[] { filename, getName() });
                                }
@@ -1120,9 +1156,11 @@
                /** Ask the user whether (s)he wants to download a file from a 
direct peer */
                public UserAlert askUserUserAlert() {
                        return new AbstractUserAlert() {
+                               @Override
                                public String dismissButtonText() {
                                        return null; // Cannot hide, but can 
reject
                                }
+                               @Override
                                public HTMLNode getHTMLText() {
                                        HTMLNode div = new HTMLNode("div");

@@ -1169,9 +1207,11 @@

                                        return div;
                                }
+                               @Override
                                public short getPriorityClass() {
                                        return UserAlert.MINOR;
                                }
+                               @Override
                                public String getText() {
                                        StringBuilder sb = new StringBuilder();
                                        sb.append(l10n("offeredFileHeader", 
"name", getName()));
@@ -1199,10 +1239,12 @@
                                        }
                                        return sb.toString();
                                }
+                               @Override
                                public String getTitle() {
                                        return l10n("askUserTitle");
                                }

+                               @Override
                                public boolean isValid() {
                                        if(acceptedOrRejected) {
                                                
node.clientCore.alerts.unregister(this);
@@ -1210,19 +1252,24 @@
                                        }
                                        return true;
                                }
+                               @Override
                                public void isValid(boolean validity) {
                                        // Ignore
                                }
+                               @Override
                                public void onDismiss() {
                                        // Ignore
                                }
+                               @Override
                                public boolean shouldUnregisterOnDismiss() {
                                        return false;
                                }

+                               @Override
                                public boolean userCanDismiss() {
                                        return false; // should accept or reject
                                }
+                               @Override
                                public String getShortText() {
                                        return l10n("offeredFileShort", new 
String[] { "filename", "node" }, new String[] { filename, getName() });
                                }
@@ -1491,43 +1538,53 @@
                fo.onRejected();
        }

+       @Override
        public String userToString() {
                return ""+getPeer()+" : "+getName();
        }

+       @Override
        public PeerNodeStatus getStatus(boolean noHeavy) {
                return new DarknetPeerNodeStatus(this, noHeavy);
        }

+       @Override
        public boolean isDarknet() {
                return true;
        }

+       @Override
        public boolean isOpennet() {
                return false;
        }

+       @Override
        public void onSuccess(boolean insert, boolean ssk) {
                // Ignore it
        }

+       @Override
        public void onRemove() {
                // Do nothing
                // FIXME is there anything we should do?
        }

+       @Override
        public boolean isRealConnection() {
                return true;
        }

+       @Override
        public boolean recordStatus() {
                return true;
        }

+       @Override
        protected boolean generateIdentityFromPubkey() {
                return false;
        }

+       @Override
        public boolean equals(Object o) {
                if(o == this) return true;
                // Only equal to seednode of its own type.
@@ -1536,6 +1593,7 @@
                } else return false;
        }

+       @Override
        public final boolean shouldDisconnectAndRemoveNow() {
                return false;
        }

Modified: trunk/freenet/src/freenet/node/DarknetPeerNodeStatus.java
===================================================================
--- trunk/freenet/src/freenet/node/DarknetPeerNodeStatus.java   2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/DarknetPeerNodeStatus.java   2008-09-06 
12:21:04 UTC (rev 22497)
@@ -56,6 +56,7 @@
                return privateDarknetCommentNote;
        }

+       @Override
        public String toString() {
                return name + ' ' + super.toString();
        }

Modified: trunk/freenet/src/freenet/node/FailureTable.java
===================================================================
--- trunk/freenet/src/freenet/node/FailureTable.java    2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/FailureTable.java    2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -185,6 +185,7 @@
                        offers = newOffers;
                }

+               @Override
                public String toString() {
                        return super.toString()+"("+offers.length+")";
                }

Modified: trunk/freenet/src/freenet/node/IPDetectorPluginManager.java
===================================================================
--- trunk/freenet/src/freenet/node/IPDetectorPluginManager.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/IPDetectorPluginManager.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -188,6 +188,7 @@
                        portsNotForwarded = new int[] { };
                }

+               @Override
                public HTMLNode getHTMLText() {
                        HTMLNode div = new HTMLNode("div");
                        div.addChild("#", super.getText());
@@ -203,6 +204,7 @@
                        return div;
                }

+               @Override
                public String getText() {
                        if(!suggestPortForward) return super.getText();
                        StringBuilder sb = new StringBuilder();
@@ -219,19 +221,23 @@
                        return sb.toString();
                }

+               @Override
                public void isValid(boolean validity) {
                        valid = validity;
                }

+               @Override
                public boolean isValid() {
                        portsNotForwarded = getUDPPortsNotForwarded();
                        return valid && (portsNotForwarded.length > 0);
                }

+               @Override
                public void onDismiss() {
                        valid = false;
                }

+               @Override
                public boolean userCanDismiss() {
                        return false;
                }

Modified: trunk/freenet/src/freenet/node/KeyTracker.java
===================================================================
--- trunk/freenet/src/freenet/node/KeyTracker.java      2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/KeyTracker.java      2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -293,6 +293,7 @@

        private class QueuedResendRequest extends BaseQueuedResend {

+               @Override
                long initialActiveTime(long now) {
                        return now; // Active immediately; reordering is rare
                }
@@ -309,6 +310,7 @@
                        }
                }

+               @Override
                long urgentDelay() {
                        return PacketSender.MAX_COALESCING_DELAY; // Urgent 
pretty soon
                }
@@ -319,6 +321,7 @@
                final long createdTime;
                long activeDelay;

+               @Override
                long initialActiveTime(long now) {
                        // Request an ack after four RTTs
                        activeDelay = twoRTTs();
@@ -348,6 +351,7 @@
                                Logger.minor(this, "Reported round-trip time of 
" + TimeUtil.formatTime(t, 2, true) + " on " + pn.getPeer() + " (avg " + 
TimeUtil.formatTime((long) pn.averagePingTime(), 2, true) + ", #" + 
packetNumber + ')');
                }

+               @Override
                long urgentDelay() {
                        return PacketSender.MAX_COALESCING_DELAY;
                }

Modified: trunk/freenet/src/freenet/node/LoggingConfigHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/LoggingConfigHandler.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/LoggingConfigHandler.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -27,10 +27,12 @@
        private static class PriorityCallback extends StringCallback implements 
EnumerableOptionCallback {
                private final String[] possibleValues = new String[]{ "ERROR", 
"NORMAL", "MINOR", "DEBUG" };

+               @Override
                public String get() {
                        LoggerHookChain chain = Logger.getChain();
                        return LoggerHook.priorityOf(chain.getThreshold());
                }
+               @Override
                public void set(String val) throws InvalidConfigValueException {
                        LoggerHookChain chain = Logger.getChain();
                        try {
@@ -65,9 +67,11 @@

        loggingConfig.register("enabled", true, 1, true, false, 
"LogConfigHandler.enabled", "LogConfigHandler.enabledLong",
                        new BooleanCallback() {
+                                       @Override
                                        public Boolean get() {
                                                return fileLoggerHook != null;
                                        }
+                                       @Override
                                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                                if(val == (fileLoggerHook != 
null)) return;
                                                if(!val) {
@@ -82,10 +86,12 @@
        loggingConfig.register("dirname", "logs", 2, true, false, 
"LogConfigHandler.dirName", "LogConfigHandler.dirNameLong", 
                        new StringCallback() {

+                                       @Override
                                        public String get() {
                                                return logDir.getPath();
                                        }

+                                       @Override
                                        public void set(String val) throws 
InvalidConfigValueException {
                                                File f = new File(val);
                                                if(f.equals(logDir)) return;
@@ -111,9 +117,11 @@

        config.register("maxZippedLogsSize", "128M", 3, true, true, 
"LogConfigHandler.maxZippedLogsSize", "LogConfigHandler.maxZippedLogsSizeLong",
                        new LongCallback() {
+                                       @Override
                                        public Long get() {
                                                return maxZippedLogsSize;
                                        }
+                                       @Override
                                        public void set(Long val) throws 
InvalidConfigValueException {
                                                if (val < 0)
                                                val = 0L;
@@ -139,11 +147,13 @@
        config.register("priorityDetail", "", 5, true, false, 
"LogConfigHandler.detaildPriorityThreshold", 
"LogConfigHandler.detaildPriorityThresholdLong",
                        new StringCallback() {

+                                       @Override
                                        public String get() {
                                                LoggerHookChain chain = 
Logger.getChain();
                                                return 
chain.getDetailedThresholds();
                                        }

+                                       @Override
                                        public void set(String val) throws 
InvalidConfigValueException {
                                                LoggerHookChain chain = 
Logger.getChain();
                                                try {
@@ -159,10 +169,12 @@

        config.register("interval", "1HOUR", 5, true, false, 
"LogConfigHandler.rotationInterval", "LogConfigHandler.rotationIntervalLong",
                        new StringCallback() {
+                                       @Override
                                        public String get() {
                                                return logRotateInterval;
                                        }

+                                       @Override
                                        public void set(String val) throws 
InvalidConfigValueException {
                                                
if(val.equals(logRotateInterval)) return;
                                                if(fileLoggerHook != null) {
@@ -181,9 +193,11 @@
        // max cached bytes in RAM
        config.register("maxCachedBytes", "10M", 6, true, false, 
"LogConfigHandler.maxCachedBytes", "LogConfigHandler.maxCachedBytesLong", 
                        new LongCallback() {
+                                       @Override
                                        public Long get() {
                                                return maxCachedLogBytes;
                                        }
+                                       @Override
                                        public void set(Long val) throws 
InvalidConfigValueException {
                                                if (val < 0)
                                                val = 0L;
@@ -199,9 +213,11 @@
        // max cached lines in RAM
        config.register("maxCachedLines", "100k", 7, true, false, 
"LogConfigHandler.maxCachedLines", "LogConfigHandler.maxCachedLinesLong",
                        new IntCallback() {
+                                       @Override
                                        public Integer get() {
                                                return maxCachedLogLines;
                                        }
+                                       @Override
                                        public void set(Integer val) throws 
InvalidConfigValueException {
                                                if(val < 0) val = 0;
                                                if(val == maxCachedLogLines) 
return;

Modified: trunk/freenet/src/freenet/node/LowLevelGetException.java
===================================================================
--- trunk/freenet/src/freenet/node/LowLevelGetException.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/LowLevelGetException.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -72,6 +72,7 @@
                this.code = reason;
        }

+       @Override
        public String toString() {
                return super.toString()+':'+getMessage(code);
        }

Modified: trunk/freenet/src/freenet/node/MessageItem.java
===================================================================
--- trunk/freenet/src/freenet/node/MessageItem.java     2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/MessageItem.java     2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -87,6 +87,7 @@
                return priority;
        }

+       @Override
        public String toString() {
                return 
super.toString()+":formatted="+formatted+",msg="+msg+",alreadyReported="+alreadyReportedBytes;
        }

Modified: trunk/freenet/src/freenet/node/NetworkIDManager.java
===================================================================
--- trunk/freenet/src/freenet/node/NetworkIDManager.java        2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/NetworkIDManager.java        2008-09-06 
12:21:04 UTC (rev 22497)
@@ -277,6 +277,7 @@
                        this.uid=uid;
                        this.secret=secret;
                }
+               @Override
                public String toString() {
                        return "Secret("+uid+"/"+secret+")";
                }
@@ -296,6 +297,7 @@
                RunningAverage fHtl=new 
BootstrappingDecayingRunningAverage(MAX_HTL, 0.0, MAX_HTL, 200, null);
                RunningAverage sDawn=new 
BootstrappingDecayingRunningAverage(0.0, 0.0, MAX_HTL, 200, null);
                RunningAverage fDawn=new 
BootstrappingDecayingRunningAverage(0.0, 0.0, MAX_HTL, 200, null);
+               @Override
                public String toString() {
                        return "percent="+average.currentValue();
                }
@@ -359,9 +361,11 @@
                                diff=max;
                        return (short)(htl-diff);
                }
+               @Override
                public boolean equals(Object o) {
                        return (o instanceof PeerNode ? via.equals((PeerNode) 
o) : false);
                }
+               @Override
                public int hashCode() {
                        return via.hashCode();
                }

Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java    2008-09-06 11:46:41 UTC (rev 
22496)
+++ trunk/freenet/src/freenet/node/Node.java    2008-09-06 12:21:04 UTC (rev 
22497)
@@ -141,6 +141,7 @@
                NodeNameCallback(GetPubkey n) {
                        node=n;
                }
+               @Override
                public String get() {
                        String name;
                        synchronized(this) {
@@ -154,6 +155,7 @@
                        return name;
                }

+               @Override
                public void set(String val) throws InvalidConfigValueException {
                        if(get().equals(val)) return;
                        else if(val.length() > 128)
@@ -176,12 +178,14 @@
        private class StoreTypeCallback extends StringCallback implements 
EnumerableOptionCallback {
                private String cachedStoreType;

+               @Override
                public String get() {
                        if (cachedStoreType == null)
                                cachedStoreType = storeType;
                        return cachedStoreType;
                }

+               @Override
                public void set(String val) throws InvalidConfigValueException, 
NodeNeedRestartException {
                        boolean found = false;
                        for (String p : getPossibleValues()) {
@@ -208,10 +212,12 @@

        private static class L10nCallback extends StringCallback implements 
EnumerableOptionCallback {

+               @Override
                public String get() {
                        return L10n.getSelectedLanguage().fullName;
                }

+               @Override
                public void set(String val) throws InvalidConfigValueException {
                        if(val == null || get().equalsIgnoreCase(val)) return;
                        try {
@@ -762,15 +768,18 @@

                nodeConfig.register("nodeDir", ".", sortOrder++, true, true /* 
because can't be changed on the fly, also for packages */, "Node.nodeDir", 
"Node.nodeDirLong", 
                                new StringCallback() {
+                                       @Override
                                        public String get() {
                                                return nodeDir.getPath();
                                        }
+                                       @Override
                                        public void set(String val) throws 
InvalidConfigValueException {
                                                if(nodeDir.equals(new 
File(val))) return;
                                                // FIXME support it
                                                // Don't translate the below as 
very few users will use it.
                                                throw new 
InvalidConfigValueException("Moving node directory on the fly not supported at 
present");
                                        }
+                                       @Override
                                        public boolean isReadOnly() {
                                        return true;
                                }
@@ -824,10 +833,12 @@
                nodeConfig.register("disableProbabilisticHTLs", false, 
sortOrder++, true, false, "Node.disablePHTLS", "Node.disablePHTLSLong", 
                                new BooleanCallback() {

+                                       @Override
                                        public Boolean get() {
                                                return disableProbabilisticHTLs;
                                        }

+                                       @Override
                                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                                disableProbabilisticHTLs = val;
                                        }
@@ -838,10 +849,12 @@

                nodeConfig.register("maxHTL", DEFAULT_MAX_HTL, sortOrder++, 
true, false, "Node.maxHTL", "Node.maxHTLLong", new ShortCallback() {

+                                       @Override
                                        public Short get() {
                                                return maxHTL;
                                        }

+                                       @Override
                                        public void set(Short val) throws 
InvalidConfigValueException {
                                                if(maxHTL < 0) throw new 
InvalidConfigValueException("Impossible max HTL");
                                                maxHTL = val;
@@ -866,14 +879,17 @@

                nodeConfig.register("enableARKs", true, sortOrder++, true, 
false, "Node.enableARKs", "Node.enableARKsLong", new BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                return enableARKs;
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                throw new InvalidConfigValueException("Cannot 
change on the fly");
                        }

+                       @Override
                        public boolean isReadOnly() {
                                        return true;
                                }                       
@@ -882,14 +898,17 @@

                nodeConfig.register("enablePerNodeFailureTables", true, 
sortOrder++, true, false, "Node.enablePerNodeFailureTables", 
"Node.enablePerNodeFailureTablesLong", new BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                return enablePerNodeFailureTables;
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                throw new InvalidConfigValueException("Cannot 
change on the fly");
                        }

+                       @Override
                        public boolean isReadOnly() {
                                        return true;
                              }                 
@@ -898,14 +917,17 @@

                nodeConfig.register("enableULPRDataPropagation", true, 
sortOrder++, true, false, "Node.enableULPRDataPropagation", 
"Node.enableULPRDataPropagationLong", new BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                return enableULPRDataPropagation;
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                throw new InvalidConfigValueException("Cannot 
change on the fly");
                        }

+                       @Override
                        public boolean isReadOnly() {
                                        return true;
                                }                       
@@ -914,14 +936,17 @@

                nodeConfig.register("enableSwapping", true, sortOrder++, true, 
false, "Node.enableSwapping", "Node.enableSwappingLong", new BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                return enableSwapping;
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                throw new InvalidConfigValueException("Cannot 
change on the fly");
                        }

+                       @Override
                        public boolean isReadOnly() {
                                        return true;
                                }                       
@@ -940,10 +965,12 @@
                 */
                nodeConfig.register("publishOurPeersLocation", true, 
sortOrder++, true, false, "Node.publishOurPeersLocation", 
"Node.publishOurPeersLocationLong", new BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                return publishOurPeersLocation;
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                publishOurPeersLocation = val;
                        }
@@ -952,10 +979,12 @@

                nodeConfig.register("routeAccordingToOurPeersLocation", true, 
sortOrder++, true, false, "Node.routeAccordingToOurPeersLocation", 
"Node.routeAccordingToOurPeersLocationLong", new BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                return routeAccordingToOurPeersLocation;
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                routeAccordingToOurPeersLocation = val;
                        }
@@ -996,10 +1025,12 @@
                });

                nodeConfig.register("enableSwapQueueing", true, sortOrder++, 
true, false, "Node.enableSwapQueueing", "Node.enableSwapQueueingLong", new 
BooleanCallback() {
+                       @Override
                        public Boolean get() {
                                return enableSwapQueueing;
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                enableSwapQueueing = val;
                        }
@@ -1008,10 +1039,12 @@
                enableSwapQueueing = 
nodeConfig.getBoolean("enableSwapQueueing");

                nodeConfig.register("enablePacketCoalescing", true, 
sortOrder++, true, false, "Node.enablePacketCoalescing", 
"Node.enablePacketCoalescingLong", new BooleanCallback() {
+                       @Override
                        public Boolean get() {
                                return enablePacketCoalescing;
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                enablePacketCoalescing = val;
                        }
@@ -1041,6 +1074,7 @@
                Runtime.getRuntime().addShutdownHook(shutdownHook);

                shutdownHook.addEarlyJob(new Thread() {
+                       @Override
                        public void run() {
                                if (opennet != null)
                                        opennet.stop(false);
@@ -1048,6 +1082,7 @@
                });

                shutdownHook.addEarlyJob(new Thread() {
+                       @Override
                        public void run() {
                                darknetCrypto.stop();
                        }
@@ -1056,10 +1091,12 @@
                // Bandwidth limit

                nodeConfig.register("outputBandwidthLimit", "15K", sortOrder++, 
false, true, "Node.outBWLimit", "Node.outBWLimitLong", new IntCallback() {
+                                       @Override
                                        public Integer get() {
                                                //return 
BlockTransmitter.getHardBandwidthLimit();
                                                return outputBandwidthLimit;
                                        }
+                                       @Override
                                        public void set(Integer obwLimit) 
throws InvalidConfigValueException {
                                                if(obwLimit <= 0) throw new 
InvalidConfigValueException(l10n("bwlimitMustBePositive"));
                                                synchronized(Node.this) {
@@ -1081,10 +1118,12 @@
                outputThrottle = new DoubleTokenBucket(obwLimit/2, 
(1000L*1000L*1000L) / obwLimit, obwLimit/2, 0.8);

                nodeConfig.register("inputBandwidthLimit", "-1", sortOrder++, 
false, true, "Node.inBWLimit", "Node.inBWLimitLong",      new IntCallback() {
+                                       @Override
                                        public Integer get() {
                                                if(inputLimitDefault) return -1;
                                                return inputBandwidthLimit;
                                        }
+                                       @Override
                                        public void set(Integer ibwLimit) 
throws InvalidConfigValueException {
                                                synchronized(Node.this) {
                                                        if(ibwLimit == -1) {
@@ -1110,10 +1149,12 @@

                nodeConfig.register("throttleLocalTraffic", false, sortOrder++, 
true, false, "Node.throttleLocalTraffic", "Node.throttleLocalTrafficLong", new 
BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                return throttleLocalData;
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                throttleLocalData = val;
                        }
@@ -1212,9 +1253,11 @@

                final SubConfig opennetConfig = new SubConfig("node.opennet", 
config);
                opennetConfig.register("connectToSeednodes", true, 0, true, 
false, "Node.withAnnouncement", "Node.withAnnouncementLong", new 
BooleanCallback() {
+                       @Override
                        public Boolean get() {
                                return isAllowedToConnectToSeednodes;
                        }
+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                if (get().equals(val))
                                                return;
@@ -1226,6 +1269,7 @@
                                }
                        }

+                       @Override
                        public boolean isReadOnly() {
                                        return opennet != null;
                                }
@@ -1234,11 +1278,13 @@

                // Can be enabled on the fly
                opennetConfig.register("enabled", false, 0, false, true, 
"Node.opennetEnabled", "Node.opennetEnabledLong", new BooleanCallback() {
+                       @Override
                        public Boolean get() {
                                synchronized(Node.this) {
                                        return opennet != null;
                                }
                        }
+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                OpennetManager o;
                                synchronized(Node.this) {
@@ -1264,9 +1310,11 @@

                opennetConfig.register("maxOpennetPeers", "20", 1, true, false, 
"Node.maxOpennetPeers",
                                "Node.maxOpennetPeersLong", new IntCallback() {
+                                       @Override
                                        public Integer get() {
                                                return maxOpennetPeers;
                                        }
+                                       @Override
                                        public void set(Integer 
inputMaxOpennetPeers) throws InvalidConfigValueException {
                                                if(inputMaxOpennetPeers < 0) 
throw new InvalidConfigValueException(l10n("mustBePositive"));
                                                if(inputMaxOpennetPeers > 20) 
throw new 
InvalidConfigValueException(l10n("maxOpennetPeersMustBeTwentyOrLess"));
@@ -1331,10 +1379,12 @@

                opennetConfig.register("acceptSeedConnections", false, 2, true, 
true, "Node.acceptSeedConnectionsShort", "Node.acceptSeedConnections", new 
BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                return acceptSeedConnections;
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                acceptSeedConnections = val;
                        }
@@ -1348,12 +1398,14 @@
                nodeConfig.register("passOpennetPeersThroughDarknet", true, 
sortOrder++, true, false, "Node.passOpennetPeersThroughDarknet", 
"Node.passOpennetPeersThroughDarknetLong",
                                new BooleanCallback() {

+                                       @Override
                                        public Boolean get() {
                                                synchronized(Node.this) {
                                                        return 
passOpennetRefsThroughDarknet;
                                                }
                                        }

+                                       @Override
                                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                                synchronized(Node.this) {
                                                        
passOpennetRefsThroughDarknet = val;
@@ -1367,14 +1419,17 @@
                // Extra Peer Data Directory
                nodeConfig.register("extraPeerDataDir", new File(nodeDir, 
"extra-peer-data-"+getDarknetPortNumber()).toString(), sortOrder++, true, true 
/* can't be changed on the fly, also for packages */, "Node.extraPeerDir", 
"Node.extraPeerDirLong",
                                new StringCallback() {
+                                       @Override
                                        public String get() {
                                                return 
extraPeerDataDir.getPath();
                                        }
+                                       @Override
                                        public void set(String val) throws 
InvalidConfigValueException {
                                                if(extraPeerDataDir.equals(new 
File(val))) return;
                                                // FIXME
                                                throw new 
InvalidConfigValueException("Moving extra peer data directory on the fly not 
supported at present");
                                        }
+                                       @Override
                                        public boolean isReadOnly() {
                                        return true;
                                }
@@ -1394,12 +1449,14 @@
                nodeConfig.register("storeForceBigShrinks", false, sortOrder++, 
true, false, "Node.forceBigShrink", "Node.forceBigShrinkLong",
                                new BooleanCallback() {

+                                       @Override
                                        public Boolean get() {
                                                synchronized(Node.this) {
                                                        return 
storeForceBigShrinks;
                                                }
                                        }

+                                       @Override
                                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                                synchronized(Node.this) {
                                                        storeForceBigShrinks = 
val;
@@ -1415,10 +1472,12 @@
                nodeConfig.register("storeSize", "1G", sortOrder++, false, 
true, "Node.storeSize", "Node.storeSizeLong", 
                                new LongCallback() {

+                                       @Override
                                        public Long get() {
                                                return maxTotalDatastoreSize;
                                        }

+                                       @Override
                                        public void set(Long storeSize) throws 
InvalidConfigValueException {
                                                if((storeSize < 0) || 
(storeSize < (32 * 1024 * 1024)))
                                                        throw new 
InvalidConfigValueException(l10n("invalidStoreSize"));
@@ -1466,18 +1525,21 @@
                        "Node.storeBloomFilterSizeLong", new IntCallback() {
                                private Integer cachedBloomFilterSize;

-                               public Integer get() {
+                               @Override
+                                       public Integer get() {
                                        if (cachedBloomFilterSize == null)
                                                cachedBloomFilterSize = 
storeBloomFilterSize;
                                        return cachedBloomFilterSize;
                                }

-                               public void set(Integer val) throws 
InvalidConfigValueException, NodeNeedRestartException {
+                               @Override
+                                       public void set(Integer val) throws 
InvalidConfigValueException, NodeNeedRestartException {
                                        cachedBloomFilterSize = val;
                                        throw new 
NodeNeedRestartException("Store bloom filter size cannot be changed on the 
fly");
                                }

-                               public boolean isReadOnly() {
+                               @Override
+                                       public boolean isReadOnly() {
                                        return !("salt-hash".equals(storeType));
                                }
                        });
@@ -1488,18 +1550,21 @@
                        "Node.storeBloomFilterCounting", 
"Node.storeBloomFilterCountingLong", new BooleanCallback() {
                                private Boolean cachedBloomFilterCounting;

-                               public Boolean get() {
+                               @Override
+                                       public Boolean get() {
                                        if (cachedBloomFilterCounting == null)
                                                cachedBloomFilterCounting = 
storeBloomFilterCounting;
                                        return cachedBloomFilterCounting;
                                }

-                               public void set(Boolean val) throws 
InvalidConfigValueException, NodeNeedRestartException {
+                               @Override
+                                       public void set(Boolean val) throws 
InvalidConfigValueException, NodeNeedRestartException {
                                        cachedBloomFilterCounting = val;
                                        throw new 
NodeNeedRestartException("Store bloom filter type cannot be changed on the 
fly");
                                }

-                               public boolean isReadOnly() {
+                               @Override
+                                       public boolean isReadOnly() {
                                        return !("salt-hash".equals(storeType));
                                }
                        });
@@ -1508,14 +1573,17 @@

                nodeConfig.register("storeDir", "datastore", sortOrder++, true, 
true, "Node.storeDirectory", "Node.storeDirectoryLong", 
                                new StringCallback() {
+                                       @Override
                                        public String get() {
                                                return storeDir.getPath();
                                        }
+                                       @Override
                                        public void set(String val) throws 
InvalidConfigValueException {
                                                if(storeDir.equals(new 
File(val))) return;
                                                // FIXME
                                                throw new 
InvalidConfigValueException("Moving datastore on the fly not supported at 
present");
                                        }
+                                       @Override
                                        public boolean isReadOnly() {
                                        return true;
                                }
@@ -1671,6 +1739,7 @@
                envMutableConfig = mutableConfig;

                shutdownHook.addLateJob(new Thread() {
+                       @Override
                        public void run() {
                                try {
                                        storeEnvironment.close();
@@ -1686,10 +1755,12 @@
                nodeConfig.register("databaseMaxMemory", "20M", sortOrder++, 
true, false, "Node.databaseMemory", "Node.databaseMemoryLong", 
                                new LongCallback() {

+                       @Override
                        public Long get() {
                                return databaseMaxMemory;
                        }

+                       @Override
                        public void set(Long val) throws 
InvalidConfigValueException {
                                if(val < 0)
                                        throw new 
InvalidConfigValueException(l10n("mustBePositive"));
@@ -1824,10 +1895,12 @@

                nodeConfig.register("disableHangCheckers", false, sortOrder++, 
true, false, "Node.disableHangCheckers", "Node.disableHangCheckersLong", new 
BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                return disableHangCheckers;
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                disableHangCheckers = val;
                        }
@@ -2010,6 +2083,7 @@
                                System.err.println("Please upgrade to at least 
sun jvm 1.4.2_13, 1.5.0_10 or 1.6 (recommended). This version is buggy and may 
cause spurious OutOfMemoryErrors.");
                                clientCore.alerts.register(new 
AbstractUserAlert(false, null, null, null, null, UserAlert.ERROR, true, null, 
false, null) {

+                                       @Override
                                        public HTMLNode getHTMLText() {
                                                HTMLNode n = new 
HTMLNode("div");
                                                L10n.addL10nSubstitution(n, 
"Node.buggyJVMWithLink", 
@@ -2019,18 +2093,22 @@
                                                return n;
                                        }

+                                       @Override
                                        public String getText() {
                                                return l10n("buggyJVM", 
"version", System.getProperty("java.version"));
                                        }

+                                       @Override
                                        public String getTitle() {
                                                return l10n("buggyJVMTitle");
                                        }

+                                       @Override
                                        public void isValid(boolean validity) {
                                                // Ignore
                                        }

+                                       @Override
                                        public String getShortText() {
                                                return l10n("buggyJVMShort", 
"version", System.getProperty("java.version"));
                                        }
@@ -2204,6 +2282,7 @@
                        this.uid = uid;
                }

+               @Override
                public boolean equals(Object o) {
                        if(o instanceof KeyHTLPair) {
                                KeyHTLPair p = (KeyHTLPair) o;
@@ -2211,10 +2290,12 @@
                        } else return false;
                }

+               @Override
                public int hashCode() {
                        return key.hashCode() ^ htl ^ (int)uid;
                }

+               @Override
                public String toString() {
                        return key.toString()+ ':' +htl +':'+uid;
                }

Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -144,10 +144,12 @@
                nodeConfig.register("tempDir", new File(nodeDir, "temp-" + 
portNumber).toString(), sortOrder++, true, true, "NodeClientCore.tempDir", 
"NodeClientCore.tempDirLong",
                        new StringCallback() {

+                               @Override
                                public String get() {
                                        return tempDir.getPath();
                                }

+                               @Override
                                public void set(String val) throws 
InvalidConfigValueException {
                                        if(tempDir.equals(new File(val)))
                                                return;
@@ -177,10 +179,12 @@
                // Persistent temp files
                nodeConfig.register("encryptPersistentTempBuckets", true, 
sortOrder++, true, false, "NodeClientCore.encryptPersistentTempBuckets", 
"NodeClientCore.encryptPersistentTempBucketsLong", new BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                return (persistentTempBucketFactory == null ? 
true : persistentTempBucketFactory.isEncrypting());
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                if (get().equals(val) || 
(persistentTempBucketFactory == null))
                                                return;
@@ -191,10 +195,12 @@
                nodeConfig.register("persistentTempDir", new File(nodeDir, 
"persistent-temp-" + portNumber).toString(), sortOrder++, true, false, 
"NodeClientCore.persistentTempDir", "NodeClientCore.persistentTempDirLong",
                        new StringCallback() {

+                               @Override
                                public String get() {
                                        return 
persistentTempBucketFactory.getDir().toString();
                                }

+                               @Override
                                public void set(String val) throws 
InvalidConfigValueException {
                                        if(get().equals(val))
                                                return;
@@ -216,10 +222,12 @@

                nodeConfig.register("maxRAMBucketSize", "128KiB", sortOrder++, 
true, false, "NodeClientCore.maxRAMBucketSize", 
"NodeClientCore.maxRAMBucketSizeLong", new LongCallback() {

+                       @Override
                        public Long get() {
                                return (tempBucketFactory == null ? 0 : 
tempBucketFactory.getMaxRAMBucketSize());
                        }

+                       @Override
                        public void set(Long val) throws 
InvalidConfigValueException {
                                if (get().equals(val) || (tempBucketFactory == 
null))
                                                return;
@@ -228,10 +236,12 @@
                });
                nodeConfig.register("RAMBucketPoolSize", "10MiB", sortOrder++, 
true, false, "NodeClientCore.ramBucketPoolSize", 
"NodeClientCore.ramBucketPoolSizeLong", new LongCallback() {

+                       @Override
                        public Long get() {
                                return (tempBucketFactory == null ? 0 : 
tempBucketFactory.getMaxRamUsed());
                        }

+                       @Override
                        public void set(Long val) throws 
InvalidConfigValueException {
                                if (get().equals(val) || (tempBucketFactory == 
null))
                                                return;
@@ -241,10 +251,12 @@

                nodeConfig.register("encryptTempBuckets", true, sortOrder++, 
true, false, "NodeClientCore.encryptTempBuckets", 
"NodeClientCore.encryptTempBucketsLong", new BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                return (tempBucketFactory == null ? true : 
tempBucketFactory.isEncrypting());
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                if (get().equals(val) || (tempBucketFactory == 
null))
                                                return;
@@ -279,10 +291,12 @@

                nodeConfig.register("downloadsDir", "downloads", sortOrder++, 
true, true, "NodeClientCore.downloadDir", "NodeClientCore.downloadDirLong", new 
StringCallback() {

+                       @Override
                        public String get() {
                                return downloadDir.getPath();
                        }

+                       @Override
                        public void set(String val) throws 
InvalidConfigValueException {
                                if(downloadDir.equals(new File(val)))
                                        return;
@@ -305,6 +319,7 @@
                        "NodeClientCore.downloadAllowedDirsLong",
                        new StringArrCallback() {

+                               @Override
                                public String[] get() {
                                        synchronized(NodeClientCore.this) {
                                                if(downloadAllowedEverywhere)
@@ -318,6 +333,7 @@
                                        }
                                }

+                               @Override
                                public void set(String[] val) throws 
InvalidConfigValueException {
                                        setDownloadAllowedDirs(val);
                                }
@@ -328,6 +344,7 @@
                        "NodeClientCore.uploadAllowedDirsLong",
                        new StringArrCallback() {

+                               @Override
                                public String[] get() {
                                        synchronized(NodeClientCore.this) {
                                                if(uploadAllowedEverywhere)
@@ -339,6 +356,7 @@
                                        }
                                }

+                               @Override
                                public void set(String[] val) throws 
InvalidConfigValueException {
                                        setUploadAllowedDirs(val);
                                }
@@ -358,10 +376,12 @@
                nodeConfig.register("lazyResume", false, sortOrder++, true, 
false, "NodeClientCore.lazyResume",
                        "NodeClientCore.lazyResumeLong", new BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                return lazyResume;
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                synchronized(NodeClientCore.this) {
                                        lazyResume = val;
@@ -374,10 +394,12 @@
                nodeConfig.register("maxBackgroundUSKFetchers", "64", 
sortOrder++, true, false, "NodeClientCore.maxUSKFetchers",
                        "NodeClientCore.maxUSKFetchersLong", new IntCallback() {

+                       @Override
                        public Integer get() {
                                return maxBackgroundUSKFetchers;
                        }

+                       @Override
                        public void set(Integer uskFetch) throws 
InvalidConfigValueException {
                                if(uskFetch <= 0)
                                        throw new 
InvalidConfigValueException(l10n("maxUSKFetchersMustBeGreaterThanZero"));

Modified: trunk/freenet/src/freenet/node/NodeCryptoConfig.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeCryptoConfig.java        2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/NodeCryptoConfig.java        2008-09-06 
12:21:04 UTC (rev 22497)
@@ -58,6 +58,7 @@
                this.isOpennet = isOpennet;

                config.register("listenPort", -1 /* means random */, 
sortOrder++, true, true, "Node.port", "Node.portLong",     new IntCallback() {
+                       @Override
                        public Integer get() {
                                synchronized(NodeCryptoConfig.class) {
                                        if(crypto != null)
@@ -65,6 +66,7 @@
                                        return portNumber;
                                }
                        }
+                       @Override
                        public void set(Integer val) throws 
InvalidConfigValueException {

                                if(portNumber < -1 || portNumber == 0 || 
portNumber > 65535) {
@@ -81,6 +83,7 @@
                                        portNumber = val;
                                }
                        }
+                       @Override
                        public boolean isReadOnly() {
                                        return true;
                                }               
@@ -108,12 +111,14 @@
                config.register("testingDropPacketsEvery", 0, sortOrder++, 
true, false, "Node.dropPacketEvery", "Node.dropPacketEveryLong",
                                new IntCallback() {

+                                       @Override
                                        public Integer get() {
                                                
synchronized(NodeCryptoConfig.this) {
                                                        return dropProbability;
                                                }
                                        }

+                                       @Override
                                        public void set(Integer val) throws 
InvalidConfigValueException {
                                                if(val < 0) throw new 
InvalidConfigValueException("testingDropPacketsEvery must not be negative");
                                                
synchronized(NodeCryptoConfig.this) {
@@ -130,12 +135,14 @@
                config.register("oneConnectionPerIP", isOpennet, sortOrder++, 
true, false, "Node.oneConnectionPerIP", "Node.oneConnectionPerIPLong",
                                new BooleanCallback() {

+                                       @Override
                                        public Boolean get() {
                                                
synchronized(NodeCryptoConfig.this) {
                                                        return 
oneConnectionPerAddress;
                                                }
                                        }

+                                       @Override
                                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                                
synchronized(NodeCryptoConfig.this) {
                                                        oneConnectionPerAddress 
= val;
@@ -164,12 +171,14 @@
                config.register("alwaysAllowLocalAddresses", !isOpennet, 
sortOrder++, true, false, "Node.alwaysAllowLocalAddresses", 
"Node.alwaysAllowLocalAddressesLong",
                                new BooleanCallback() {

+                                       @Override
                                        public Boolean get() {
                                                
synchronized(NodeCryptoConfig.this) {
                                                        return 
alwaysAllowLocalAddresses;
                                                }
                                        }

+                                       @Override
                                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                                
synchronized(NodeCryptoConfig.this) {
                                                        
alwaysAllowLocalAddresses = val;
@@ -193,10 +202,12 @@

                config.register("assumeNATed", true, sortOrder++, true, true, 
"Node.assumeNATed", "Node.assumeNATedLong", new BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                return assumeNATed;
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                assumeNATed = val;
                        }               
@@ -207,10 +218,12 @@

                config.register("includeLocalAddressesInNoderefs", !isOpennet, 
sortOrder++, true, false, "NodeIPDectector.inclLocalAddress", 
"NodeIPDectector.inclLocalAddressLong", new BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                return includeLocalAddressesInNoderefs;
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                includeLocalAddressesInNoderefs = val;
                        }
@@ -246,15 +259,18 @@

        class NodeBindtoCallback extends StringCallback  {

+               @Override
                public String get() {
                        return bindTo.toString();
                }

+               @Override
                public void set(String val) throws InvalidConfigValueException {
                        if(val.equals(get())) return;
                        // FIXME why not? Can't we use 
freenet.io.NetworkInterface like everywhere else, just adapt it for UDP?
                        throw new InvalidConfigValueException("Cannot be 
updated on the fly");
                }
+               @Override
                public boolean isReadOnly() {
                        return true;
                }

Modified: trunk/freenet/src/freenet/node/NodeIPDetector.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeIPDetector.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/NodeIPDetector.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -350,11 +350,13 @@
                                "NodeIPDectector.ipOverrideLong", 
                                new StringCallback() {

+                       @Override
                        public String get() {
                                if(overrideIPAddressString == null) return "";
                                else return overrideIPAddressString;
                        }

+                       @Override
                        public void set(String val) throws 
InvalidConfigValueException {
                                boolean hadValidAddressOverride = 
hasValidAddressOverride();
                                // FIXME do we need to tell anyone?
@@ -417,10 +419,12 @@

                nodeConfig.register("tempIPAddressHint", "", sortOrder++, true, 
false, "NodeIPDectector.tempAddressHint", 
"NodeIPDectector.tempAddressHintLong", new StringCallback() {

+                       @Override
                        public String get() {
                                return "";
                        }

+                       @Override
                        public void set(String val) throws 
InvalidConfigValueException {
                                if(val.length() == 0) {
                                        return;

Modified: trunk/freenet/src/freenet/node/NodeStats.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStats.java       2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/NodeStats.java       2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -213,9 +213,11 @@

                statsConfig.register("threadLimit", 500, sortOrder++, true, 
true, "NodeStat.threadLimit", "NodeStat.threadLimitLong",
                                new IntCallback() {
+                                       @Override
                                        public Integer get() {
                                                return threadLimit;
                                        }
+                                       @Override
                                        public void set(Integer val) throws 
InvalidConfigValueException {
                                                if (get().equals(val))
                                                return;
@@ -229,9 +231,11 @@
                // Yes it could be in seconds insteed of multiples of 0.12, but 
we don't want people to play with it :)
                statsConfig.register("aggressiveGC", aggressiveGCModificator, 
sortOrder++, true, false, "NodeStat.aggressiveGC", "NodeStat.aggressiveGCLong",
                                new IntCallback() {
+                                       @Override
                                        public Integer get() {
                                                return aggressiveGCModificator;
                                        }
+                                       @Override
                                        public void set(Integer val) throws 
InvalidConfigValueException {
                                                if (get().equals(val))
                                                return;
@@ -244,10 +248,12 @@
                myMemoryChecker = new MemoryChecker(node.ps, 
aggressiveGCModificator);
                statsConfig.register("memoryChecker", true, sortOrder++, true, 
false, "NodeStat.memCheck", "NodeStat.memCheckLong", 
                                new BooleanCallback(){
+                                       @Override
                                        public Boolean get() {
                                                return 
myMemoryChecker.isRunning();
                                        }

+                                       @Override
                                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                                if (get().equals(val))
                                                return;
@@ -263,12 +269,14 @@

                statsConfig.register("ignoreLocalVsRemoteBandwidthLiability", 
false, sortOrder++, true, false, 
"NodeStat.ignoreLocalVsRemoteBandwidthLiability", 
"NodeStat.ignoreLocalVsRemoteBandwidthLiabilityLong", new BooleanCallback() {

+                       @Override
                        public Boolean get() {
                                synchronized(NodeStats.this) {
                                        return 
ignoreLocalVsRemoteBandwidthLiability;
                                }
                        }

+                       @Override
                        public void set(Boolean val) throws 
InvalidConfigValueException {
                                synchronized(NodeStats.this) {
                                        ignoreLocalVsRemoteBandwidthLiability = 
val;

Modified: trunk/freenet/src/freenet/node/OpennetPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetPeerNode.java 2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/OpennetPeerNode.java 2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -14,19 +14,23 @@
                this.opennet = opennet;
        }

+       @Override
        public PeerNodeStatus getStatus(boolean noHeavy) {
                return new OpennetPeerNodeStatus(this, noHeavy);
        }

+       @Override
        public boolean isRoutingCompatible() {
                if(!node.isOpennetEnabled()) return false;
                return super.isRoutingCompatible();
        }

+       @Override
        public boolean isDarknet() {
                return false;
        }

+       @Override
        public boolean isOpennet() {
                return true;
        }
@@ -49,17 +53,20 @@
                return true;
        }

+       @Override
        public void onSuccess(boolean insert, boolean ssk) {
                if(insert || ssk) return;
                timeLastSuccess = System.currentTimeMillis();
                opennet.onSuccess(this);
        }

+       @Override
        public void onRemove() {
                opennet.onRemove(this);
                super.onRemove();
        }

+       @Override
        public synchronized SimpleFieldSet exportMetadataFieldSet() {
                SimpleFieldSet fs = super.exportMetadataFieldSet();
                fs.put("timeLastSuccess", timeLastSuccess);
@@ -78,18 +85,22 @@
                return true;
        }

+       @Override
        public boolean isRealConnection() {
                return true;
        }

+       @Override
        public boolean recordStatus() {
                return true;
        }

+       @Override
        protected boolean generateIdentityFromPubkey() {
                return false;
        }

+       @Override
        public boolean equals(Object o) {
                if(o == this) return true;
                // Only equal to seednode of its own type.
@@ -98,10 +109,12 @@
                } else return false;
        }

+       @Override
        public final boolean shouldDisconnectAndRemoveNow() {
                return false;
        }

+       @Override
        protected void onConnect() {
                
opennet.crypto.socket.getAddressTracker().setPresumedGuiltyAt(System.currentTimeMillis()+60*60*1000);
        }

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -1752,6 +1752,7 @@
                return shortToString;
        }

+       @Override
        public String toString() {
                // FIXME?
                return 
shortToString()+'@'+Integer.toHexString(super.hashCode());
@@ -2708,6 +2709,7 @@
                }
        }

+       @Override
        public boolean equals(Object o) {
                if(o == this)
                        return true;
@@ -2718,6 +2720,7 @@
                        return false;
        }

+       @Override
        public int hashCode() {
                return hashCode;
        }

Modified: trunk/freenet/src/freenet/node/PeerNodeStatus.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNodeStatus.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/PeerNodeStatus.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -342,10 +342,12 @@
                return simpleVersion;
        }

+       @Override
        public String toString() {
                return statusName + ' ' + peerAddress + ':' + peerPort + ' ' + 
location + ' ' + version + " backoff: " + routingBackoffLength + " (" + 
(Math.max(routingBackedOffUntil - System.currentTimeMillis(), 0)) + ')';
        }

+       @Override
        public int hashCode() {
                return hashCode;
        }

Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/RequestHandler.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -50,6 +50,7 @@
        private long responseDeadline;
        private BlockTransmitter bt;

+       @Override
        public String toString() {
                return super.toString() + " for " + uid;
        }

Modified: trunk/freenet/src/freenet/node/RequestSender.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestSender.java   2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/RequestSender.java   2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -136,7 +136,8 @@

     private static boolean logMINOR;

-    public String toString() {
+    @Override
+       public String toString() {
         return super.toString()+" for "+uid;
     }


Modified: trunk/freenet/src/freenet/node/RequestStarter.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestStarter.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/RequestStarter.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -86,6 +86,7 @@

        final String name;

+       @Override
        public String toString() {
                return name;
        }

Modified: trunk/freenet/src/freenet/node/RequestStarterGroup.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestStarterGroup.java     2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/RequestStarterGroup.java     2008-09-06 
12:21:04 UTC (rev 22497)
@@ -106,6 +106,7 @@
                                Logger.minor(this, "Reported successful 
completion: "+rtt+" on "+this+" avg "+roundTripTime.currentValue());
                }

+               @Override
                public String toString() {
                        return "rtt: "+roundTripTime.currentValue()+" 
_s="+throttleWindow.currentValue();
                }

Modified: trunk/freenet/src/freenet/node/ResettingHTLProbeRequestSender.java
===================================================================
--- trunk/freenet/src/freenet/node/ResettingHTLProbeRequestSender.java  
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/ResettingHTLProbeRequestSender.java  
2008-09-06 12:21:04 UTC (rev 22497)
@@ -54,7 +54,8 @@

     private static boolean logMINOR;

-    public String toString() {
+    @Override
+       public String toString() {
         return super.toString()+" for "+uid;
     }


Modified: trunk/freenet/src/freenet/node/SSKInsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/SSKInsertHandler.java        2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/SSKInsertHandler.java        2008-09-06 
12:21:04 UTC (rev 22497)
@@ -62,7 +62,8 @@
         logMINOR = Logger.shouldLog(Logger.MINOR, this);
     }

-    public String toString() {
+    @Override
+       public String toString() {
         return super.toString()+" for "+uid;
     }


Modified: trunk/freenet/src/freenet/node/SeedClientPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/SeedClientPeerNode.java      2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/SeedClientPeerNode.java      2008-09-06 
12:21:04 UTC (rev 22497)
@@ -17,22 +17,27 @@
                super(fs, node2, crypto, peers, fromLocal, noSig, mangler, 
true);
        }

+       @Override
        public PeerNodeStatus getStatus(boolean noHeavy) {
                return new PeerNodeStatus(this, noHeavy);
        }

+       @Override
        public boolean isDarknet() {
                return false;
        }

+       @Override
        public boolean isOpennet() {
                return false; // Not exactly
        }

+       @Override
        public boolean isRealConnection() {
                return false; // We may be connected to the same node as a seed 
and as a regular connection.
        }

+       @Override
        public boolean equals(Object o) {
                if(o == this) return true;
                // Only equal to seednode of its own type.
@@ -42,52 +47,64 @@
                } else return false;
        }

+       @Override
        public void onSuccess(boolean insert, boolean ssk) {
                // Ignore
        }

+       @Override
        public boolean isRoutingCompatible() {
                return false;
        }

+       @Override
        public boolean canAcceptAnnouncements() {
                return true;
        }

+       @Override
        public boolean recordStatus() {
                return false;
        }

+       @Override
        public boolean handshakeUnknownInitiator() {
                return true;
        }

+       @Override
        public int handshakeSetupType() {
                return FNPPacketMangler.SETUP_OPENNET_SEEDNODE;
        }

+       @Override
        public boolean shouldSendHandshake() {
                return false;
        }

+       @Override
        public boolean disconnected(boolean dumpMessageQueue, boolean 
dumpTrackers) {
                boolean ret = super.disconnected(dumpMessageQueue, 
dumpTrackers);
                node.peers.disconnect(this, false, false);
                return ret;
        }

+       @Override
        protected boolean generateIdentityFromPubkey() {
                return true;
        }

+       @Override
        protected boolean ignoreLastGoodVersion() {
                return true;
        }

+       @Override
        void startARKFetcher() {
                // Do not start an ARK fetcher.
        }

+       @Override
        public boolean shouldDisconnectAndRemoveNow() {
                if(!isConnected()) {
                        // SeedClientPeerNode's always start off unverified.

Modified: trunk/freenet/src/freenet/node/SeedServerPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/SeedServerPeerNode.java      2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/SeedServerPeerNode.java      2008-09-06 
12:21:04 UTC (rev 22497)
@@ -22,22 +22,27 @@
                super(fs, node2, crypto, peers, fromLocal, false, mangler, 
true);
        }

+       @Override
        public PeerNodeStatus getStatus(boolean noHeavy) {
                return new PeerNodeStatus(this, noHeavy);
        }

+       @Override
        public boolean isDarknet() {
                return false;
        }

+       @Override
        public boolean isOpennet() {
                return false;
        }

+       @Override
        public boolean isRealConnection() {
                return false;
        }

+       @Override
        public boolean equals(Object o) {
                if(o == this) return true;
                // Only equal to seednode of its own type.
@@ -47,18 +52,22 @@
                } else return false;
        }

+       @Override
        public void onSuccess(boolean insert, boolean ssk) {
                // Ignore
        }

+       @Override
        public boolean isRoutingCompatible() {
                return false;
        }

+       @Override
        public boolean recordStatus() {
                return false;
        }

+       @Override
        protected void sendInitialMessages() {
                super.sendInitialMessages();
                final OpennetManager om = node.getOpennet();
@@ -91,24 +100,29 @@
                return (InetAddress[]) v.toArray(new InetAddress[v.size()]);
        }

+       @Override
        public boolean handshakeUnknownInitiator() {
                return true;
        }

+       @Override
        public int handshakeSetupType() {
                return FNPPacketMangler.SETUP_OPENNET_SEEDNODE;
        }

+       @Override
        public boolean disconnected(boolean dumpMessageQueue, boolean 
dumpTrackers) {
                boolean ret = super.disconnected(dumpMessageQueue, 
dumpTrackers);
                node.peers.disconnect(this, false, false);
                return ret;
        }

+       @Override
        protected boolean generateIdentityFromPubkey() {
                return false;
        }

+       @Override
        public boolean shouldDisconnectAndRemoveNow() {
                OpennetManager om = node.getOpennet();
                if(om == null) return true;

Modified: trunk/freenet/src/freenet/node/SeedServerTestPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/SeedServerTestPeerNode.java  2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/SeedServerTestPeerNode.java  2008-09-06 
12:21:04 UTC (rev 22497)
@@ -17,16 +17,19 @@
                super(fs, node2, crypto, peers, fromLocal, mangler);
        }

+       @Override
        public SimpleFieldSet exportFieldSet() {
                SimpleFieldSet sfs = super.exportFieldSet();
                sfs.putOverwrite("opennet", "true");
                return sfs;
        }

+       @Override
        public boolean shouldDisconnectAndRemoveNow() {
                return false;
        }

+       @Override
        protected void sendInitialMessages() {}

        public enum FATE {
@@ -44,6 +47,7 @@
                CONNECTED_DISCONNECTED_UNKNOWN
        }

+       @Override
        public void onRemove() {
                long lastReceivedDataPacketTime = lastReceivedDataPacketTime();
                if(lastReceivedDataPacketTime <= 0 && 
timeLastConnectionCompleted() > 0)

Modified: trunk/freenet/src/freenet/node/SemiOrderedShutdownHook.java
===================================================================
--- trunk/freenet/src/freenet/node/SemiOrderedShutdownHook.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/SemiOrderedShutdownHook.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -21,6 +21,7 @@
                lateJobs.add(r);
        }

+       @Override
        public void run() {
                // First run early jobs, all at once, and wait for them to all 
complete.


Modified: trunk/freenet/src/freenet/node/SendMessageOnErrorCallback.java
===================================================================
--- trunk/freenet/src/freenet/node/SendMessageOnErrorCallback.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/SendMessageOnErrorCallback.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -15,7 +15,8 @@
  */
 public class SendMessageOnErrorCallback implements AsyncMessageCallback {

-    public String toString() {
+    @Override
+       public String toString() {
         return super.toString() + ": "+msg+ ' ' +dest;
     }


Modified: trunk/freenet/src/freenet/node/SendableGet.java
===================================================================
--- trunk/freenet/src/freenet/node/SendableGet.java     2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/SendableGet.java     2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -26,6 +26,7 @@
        /** Get a numbered key to fetch. */
        public abstract ClientKey getKey(Object token);

+       @Override
        public Key getNodeKey(Object token) {
                ClientKey key = getKey(token);
                if(key == null) return null;
@@ -56,6 +57,7 @@
        /** Do the request, blocking. Called by RequestStarter. 
         * @return True if a request was executed. False if caller should try 
to find another request, and remove
         * this one from the queue. */
+       @Override
        public boolean send(NodeClientCore core, RequestScheduler sched, Object 
keyNum) {
                ClientKey key = getKey(keyNum);
                if(key == null) {
@@ -125,6 +127,7 @@
        /** Reset the cooldown times when the request is reregistered. */
        public abstract void resetCooldownTimes();

+       @Override
        public final void unregister(boolean staySubscribed) {
                if(!staySubscribed)
                        getScheduler().removePendingKeys(this, false);
@@ -135,6 +138,7 @@
                getScheduler().removePendingKey(this, false, key);
        }

+       @Override
        public void internalError(Object keyNum, Throwable t, RequestScheduler 
sched) {
                onFailure(new 
LowLevelGetException(LowLevelGetException.INTERNAL_ERROR, t.getMessage(), t), 
keyNum, sched);
        }

Modified: trunk/freenet/src/freenet/node/SendableInsert.java
===================================================================
--- trunk/freenet/src/freenet/node/SendableInsert.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/SendableInsert.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -17,6 +17,7 @@
        /** Called when we don't! */
        public abstract void onFailure(LowLevelPutException e, Object keyNum);

+       @Override
        public void internalError(Object keyNum, Throwable t, RequestScheduler 
sched) {
                onFailure(new 
LowLevelPutException(LowLevelPutException.INTERNAL_ERROR, t.getMessage(), t), 
keyNum);
        }

Modified: trunk/freenet/src/freenet/node/SimpleSendableInsert.java
===================================================================
--- trunk/freenet/src/freenet/node/SimpleSendableInsert.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/SimpleSendableInsert.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -42,26 +42,31 @@
                this.scheduler = scheduler;
        }

+       @Override
        public void onSuccess(Object keyNum) {
                // Yay!
                if(Logger.shouldLog(Logger.MINOR, this))
                        Logger.minor(this, "Finished insert of "+block);
        }

+       @Override
        public void onFailure(LowLevelPutException e, Object keyNum) {
                if(Logger.shouldLog(Logger.MINOR, this))
                        Logger.minor(this, "Failed insert of "+block+": "+e);
        }

+       @Override
        public short getPriorityClass() {
                return prioClass;
        }

+       @Override
        public int getRetryCount() {
                // No retries.
                return 0;
        }

+       @Override
        public boolean send(NodeClientCore core, RequestScheduler sched, Object 
keyNum) {
                // Ignore keyNum, key, since this is a single block
                boolean logMINOR = Logger.shouldLog(Logger.MINOR, this);
@@ -80,14 +85,17 @@
                return true;
        }

+       @Override
        public Object getClient() {
                return client;
        }

+       @Override
        public ClientRequester getClientRequest() {
                return null;
        }

+       @Override
        public boolean isCancelled() {
                return finished;
        }
@@ -118,16 +126,19 @@
                return false;
        }

+       @Override
        public synchronized Object[] allKeys() {
                if(finished) return new Object[] {};
                return new Object[] { 0 };
        }

+       @Override
        public synchronized Object[] sendableKeys() {
                if(finished) return new Object[] {};
                return new Object[] { 0 };
        }

+       @Override
        public synchronized Object chooseKey(KeysFetchingLocally keys) {
                if(finished) return null;
                else

Modified: trunk/freenet/src/freenet/node/TestnetHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/TestnetHandler.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/TestnetHandler.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -216,15 +216,18 @@
                        this.node = node;
                }

+               @Override
                public Boolean get() {
                        return node.testnetEnabled;
                }

+               @Override
                public void set(Boolean val) throws InvalidConfigValueException 
{
                        if(node.testnetEnabled == val) return;
                        throw new 
InvalidConfigValueException(L10n.getString("TestnetHandler.cannotEnableDisableOnTheFly"));
                }

+               @Override
                public boolean isReadOnly() {
                        return true;
                }
@@ -238,10 +241,12 @@
                        this.node = n;
                }

+               @Override
                public Integer get() {
                        return node.testnetHandler.getPort();
                }

+               @Override
                public void set(Integer val) throws InvalidConfigValueException 
{
                        if (get().equals(val))
                                return;

Modified: trunk/freenet/src/freenet/node/TextModeClientInterfaceServer.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterfaceServer.java   
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/TextModeClientInterfaceServer.java   
2008-09-06 12:21:04 UTC (rev 22497)
@@ -111,16 +111,19 @@
                this.core = core;
        }

-       public Boolean get() {
+       @Override
+               public Boolean get() {
                return core.getTextModeClientInterface() != null;
        }

-       public void set(Boolean val) throws InvalidConfigValueException {
+       @Override
+               public void set(Boolean val) throws InvalidConfigValueException 
{
                        if (get().equals(val))
                                return;
                // FIXME implement - see bug #122
                throw new InvalidConfigValueException("Cannot be updated on the 
fly");
        }
+               @Override
                public boolean isReadOnly() {
                        return true;
                }
@@ -128,11 +131,13 @@

     static class TMCISSLCallback extends BooleanCallback  {

-       public Boolean get() {
+       @Override
+               public Boolean get() {
                return ssl;
        }

-       public void set(Boolean val) throws InvalidConfigValueException {
+       @Override
+               public void set(Boolean val) throws InvalidConfigValueException 
{
                        if (get().equals(val))
                                return;
                        if(!SSL.available()) {
@@ -141,6 +146,7 @@
                ssl = val;
                throw new InvalidConfigValueException("Cannot change SSL on the 
fly, please restart freenet");
        }
+               @Override
                public boolean isReadOnly() {
                        return true;
                }
@@ -154,16 +160,19 @@
                this.core = core;
        }

-       public Boolean get() {
+       @Override
+               public Boolean get() {
                return core.getDirectTMCI() != null;
        }

-       public void set(Boolean val) throws InvalidConfigValueException {
+       @Override
+               public void set(Boolean val) throws InvalidConfigValueException 
{
                        if (get().equals(val))
                                return;
                // FIXME implement - see bug #122
                throw new InvalidConfigValueException("Cannot be updated on the 
fly");
        }
+               @Override
                public boolean isReadOnly() {
                        return true;
                }
@@ -177,14 +186,16 @@
                this.core = core;
        }

-       public String get() {
+       @Override
+               public String get() {
                if(core.getTextModeClientInterface() != null)
                        return core.getTextModeClientInterface().bindTo;
                else
                        return NetworkInterface.DEFAULT_BIND_TO;
        }

-       public void set(String val) throws InvalidConfigValueException {
+       @Override
+               public void set(String val) throws InvalidConfigValueException {
                if(val.equals(get())) return;
                try {
                        
core.getTextModeClientInterface().networkInterface.setBindTo(val, false);
@@ -203,6 +214,7 @@
                this.core = core;
        }

+               @Override
                public String get() {
                        if (core.getTextModeClientInterface() != null) {
                                return 
core.getTextModeClientInterface().allowedHosts;
@@ -210,6 +222,7 @@
                        return NetworkInterface.DEFAULT_BIND_TO;
                }

+               @Override
                public void set(String val) throws InvalidConfigValueException {
                        if (!val.equals(get())) {
                                TextModeClientInterfaceServer server = 
core.getTextModeClientInterface();
@@ -230,7 +243,8 @@
                this.core = core;
        }

-       public Integer get() {
+       @Override
+               public Integer get() {
                if(core.getTextModeClientInterface()!=null)
                        return core.getTextModeClientInterface().port;
                else
@@ -238,7 +252,8 @@
        }

        // TODO: implement it
-       public void set(Integer val) throws InvalidConfigValueException {
+       @Override
+               public void set(Integer val) throws InvalidConfigValueException 
{
                        if (get().equals(val))
                                return;
                core.getTextModeClientInterface().setPort(val);

Modified: trunk/freenet/src/freenet/node/ThrottleWindowManager.java
===================================================================
--- trunk/freenet/src/freenet/node/ThrottleWindowManager.java   2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/ThrottleWindowManager.java   2008-09-06 
12:21:04 UTC (rev 22497)
@@ -49,6 +49,7 @@
                Logger.minor(this, "requestCompleted on "+this);
        }

+       @Override
        public synchronized String toString() {
                return  super.toString()+" w: "
                                + _simulatedWindowSize + ", d:"

Modified: trunk/freenet/src/freenet/node/fcp/AddPeer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/AddPeer.java     2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/AddPeer.java     2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -36,14 +36,17 @@
                fs.removeValue("Identifier");
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return new SimpleFieldSet(true);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                if(!handler.hasFullAccess()) {
                        throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "AddPeer requires 
full access", identifier, false);

Modified: trunk/freenet/src/freenet/node/fcp/AllDataMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/AllDataMessage.java      2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/AllDataMessage.java      2008-09-06 
12:21:04 UTC (rev 22497)
@@ -28,10 +28,12 @@
                this.completionTime = completionTime;
        }

+       @Override
        long dataLength() {
                return dataLength;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.put("DataLength", dataLength);
@@ -42,18 +44,22 @@
                return fs;
        }

+       @Override
        public String getName() {
                return "AllData";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "AllData goes 
from server to client not the other way around", identifier, global);
        }

+       @Override
        String getIdentifier() {
                return identifier;
        }

+       @Override
        boolean isGlobal() {
                return global;
        }

Modified: trunk/freenet/src/freenet/node/fcp/BaseDataCarryingMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/BaseDataCarryingMessage.java     
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/BaseDataCarryingMessage.java     
2008-09-06 12:21:04 UTC (rev 22497)
@@ -12,6 +12,7 @@

        public abstract void readFrom(InputStream is, BucketFactory bf, 
FCPServer server) throws IOException, MessageInvalidException;

+       @Override
        public void send(OutputStream os) throws IOException {
                super.send(os);
                writeData(os);

Modified: trunk/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientGet.java   2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ClientGet.java   2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -315,6 +315,7 @@
                        allDataPending = new AllDataMessage(returnBucket, 
identifier, global, startupTime, completionTime);
        }

+       @Override
        public void start() {
                try {
                        synchronized(this) {
@@ -341,6 +342,7 @@
                }
        }

+       @Override
        public void onLostConnection() {
                if(persistenceType == PERSIST_CONNECTION)
                        cancel();
@@ -460,6 +462,7 @@
                client.queueClientRequestMessage(msg, 
VERBOSITY_SPLITFILE_PROGRESS);
        }

+       @Override
        public void sendPendingMessages(FCPConnectionOutputHandler handler, 
boolean includePersistentRequest, boolean includeData, boolean onlyData) {
                if(persistenceType == ClientRequest.PERSIST_CONNECTION) {
                        Logger.error(this, "WTF? 
persistenceType="+persistenceType, new Exception("error"));
@@ -484,6 +487,7 @@
                        handler.queue(allDataPending);
        }

+       @Override
        protected FCPMessage persistentTagMessage() {
                return new PersistentGet(identifier, uri, verbosity, 
priorityClass, returnType, persistenceType, targetFile, tempFile, clientToken, 
client.isGlobalQueue, started, fctx.maxNonSplitfileRetries, binaryBlob, 
fctx.maxOutputLength);
        }
@@ -517,6 +521,7 @@
                // Ignore
        }

+       @Override
        public void requestWasRemoved() {
                // if request is still running, send a GetFailed with 
code=cancelled
                if( !finished ) {
@@ -549,6 +554,7 @@

        // This is distinct from the ClientGetMessage code, as later on it will 
be radically
        // different (it can store detailed state).
+       @Override
        public synchronized SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(false); // we will need 
multi-level later...
                fs.putSingle("Type", "GET");
@@ -598,15 +604,18 @@
                return fs;
        }

+       @Override
        protected ClientRequester getClientRequest() {
                return getter;
        }

+       @Override
        protected void freeData() {
                if(returnBucket != null)
                        returnBucket.free();
        }

+       @Override
        public boolean hasSucceeded() {
                return succeeded;
        }
@@ -643,6 +652,7 @@
                return targetFile;
        }

+       @Override
        public double getSuccessFraction() {
                if(progressPending != null) {
                        return progressPending.getFraction();
@@ -650,6 +660,7 @@
                        return -1;
        }

+       @Override
        public double getTotalBlocks() {
                if(progressPending != null) {
                        return progressPending.getTotalBlocks();
@@ -657,6 +668,7 @@
                        return 1;
        }

+       @Override
        public double getMinBlocks() {
                if(progressPending != null) {
                        return progressPending.getMinBlocks();
@@ -664,6 +676,7 @@
                        return 1;
        }

+       @Override
        public double getFailedBlocks() {
                if(progressPending != null) {
                        return progressPending.getFailedBlocks();
@@ -671,6 +684,7 @@
                        return 0;
        }

+       @Override
        public double getFatalyFailedBlocks() {
                if(progressPending != null) {
                        return progressPending.getFatalyFailedBlocks();
@@ -678,6 +692,7 @@
                        return 0;
        }

+       @Override
        public double getFetchedBlocks() {
                if(progressPending != null) {
                        return progressPending.getFetchedBlocks();
@@ -685,6 +700,7 @@
                        return 0;
        }

+       @Override
        public String getFailureReason() {
                if(getFailedMessage == null)
                        return null;
@@ -695,6 +711,7 @@
        }


+       @Override
        public boolean isTotalFinalized() {
                if(finished && succeeded) return true;
                if(progressPending == null) return false;
@@ -722,6 +739,7 @@
                // Ignore, we don't insert
        }

+       @Override
        public boolean canRestart() {
                if(!finished) {
                        Logger.minor(this, "Cannot restart because not finished 
for "+identifier);
@@ -734,6 +752,7 @@
                return getter.canRestart();
        }

+       @Override
        public boolean restart() {
                if(!canRestart()) return false;
                FreenetURI redirect;

Modified: trunk/freenet/src/freenet/node/fcp/ClientGetMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientGetMessage.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ClientGetMessage.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -195,6 +195,7 @@
                binaryBlob = Fields.stringToBool(fs.get("BinaryBlob"), false);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("IgnoreDS", Boolean.toString(ignoreDS));
@@ -213,10 +214,12 @@
                return returnTypeString(returnType);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) {
                handler.startClientGet(this);
        }

Modified: trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java  2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ClientHelloMessage.java  2008-09-06 
12:21:04 UTC (rev 22497)
@@ -28,6 +28,7 @@
                // FIXME check the expected version
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("Name", clientName);
@@ -35,10 +36,12 @@
                return sfs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) {
                // We know the Hello is valid.
                FCPMessage msg = new NodeHelloMessage(node, 
handler.connectionIdentifier);

Modified: trunk/freenet/src/freenet/node/fcp/ClientPut.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPut.java   2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ClientPut.java   2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -360,6 +360,7 @@

        }

+       @Override
        public void start() {
                if(Logger.shouldLog(Logger.MINOR, this))
                        Logger.minor(this, "Starting "+this+" : "+identifier);
@@ -388,12 +389,14 @@
                }
        }

+       @Override
        protected void freeData() {
                if(data == null) return;
                finishedSize=data.size();
                data.free();
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = super.getFieldSet();
                // This is all fixed, so no need for synchronization.
@@ -422,20 +425,24 @@
                return fs;
        }

+       @Override
        protected freenet.client.async.ClientRequester getClientRequest() {
                return putter;
        }

+       @Override
        protected FCPMessage persistentTagMessage() {
                return new PersistentPut(identifier, publicURI, verbosity, 
priorityClass, uploadFrom, targetURI, 
                                persistenceType, origFilename, 
clientMetadata.getMIMEType(), client.isGlobalQueue,
                                getDataSize(), clientToken, started, 
ctx.maxInsertRetries, targetFilename, binaryBlob);
        }

+       @Override
        protected String getTypeName() {
                return "PUT";
        }

+       @Override
        public boolean hasSucceeded() {
                return succeeded;
        }
@@ -465,6 +472,7 @@
                return clientMetadata.getMIMEType();
        }

+       @Override
        public boolean canRestart() {
                if(!finished) {
                        Logger.minor(this, "Cannot restart because not finished 
for "+identifier);
@@ -477,6 +485,7 @@
                return putter.canRestart();
        }

+       @Override
        public boolean restart() {
                if(!canRestart()) return false;
                setVarsRestart();

Modified: trunk/freenet/src/freenet/node/fcp/ClientPutBase.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutBase.java       2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutBase.java       2008-09-06 
12:21:04 UTC (rev 22497)
@@ -125,6 +125,7 @@
                }
        }

+       @Override
        public void onLostConnection() {
                if(persistenceType == PERSIST_CONNECTION)
                        cancel();
@@ -169,6 +170,7 @@
                trySendGeneratedURIMessage(null);
        }

+       @Override
        public void requestWasRemoved() {
                // if request is still running, send a PutFailed with 
code=cancelled
                if( !finished ) {
@@ -266,6 +268,7 @@
                        client.queueClientRequestMessage(msg, verbosity);
        }

+       @Override
        public void sendPendingMessages(FCPConnectionOutputHandler handler, 
boolean includePersistentRequest, boolean includeData, boolean onlyData) {
                if(persistenceType == PERSIST_CONNECTION) {
                        Logger.error(this, "WTF? 
persistenceType="+persistenceType, new Exception("error"));
@@ -292,6 +295,7 @@
                        trySendFinalMessage(handler);
        }

+       @Override
        public synchronized SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(false); // we will need 
multi-level later...
                fs.putSingle("Type", getTypeName());
@@ -322,6 +326,7 @@

        protected abstract String getTypeName();

+       @Override
        public synchronized double getSuccessFraction() {
                if(progressMessage != null) {
                        if(progressMessage instanceof SimpleProgressMessage)
@@ -332,6 +337,7 @@
        }


+       @Override
        public synchronized double getTotalBlocks() {
                if(progressMessage != null) {
                        if(progressMessage instanceof SimpleProgressMessage)
@@ -341,6 +347,7 @@
                        return -1;
        }

+       @Override
        public synchronized double getMinBlocks() {
                if(progressMessage != null) {
                        if(progressMessage instanceof SimpleProgressMessage)
@@ -350,6 +357,7 @@
                        return -1;
        }

+       @Override
        public synchronized double getFailedBlocks() {
                if(progressMessage != null) {
                        if(progressMessage instanceof SimpleProgressMessage)
@@ -359,6 +367,7 @@
                        return -1;
        }

+       @Override
        public synchronized double getFatalyFailedBlocks() {
                if(progressMessage != null) {
                        if(progressMessage instanceof SimpleProgressMessage)
@@ -368,6 +377,7 @@
                        return -1;
        }

+       @Override
        public synchronized double getFetchedBlocks() {
                if(progressMessage != null) {
                        if(progressMessage instanceof SimpleProgressMessage)
@@ -377,11 +387,13 @@
                        return -1;
        }

+       @Override
        public synchronized boolean isTotalFinalized() {
                if(!(progressMessage instanceof SimpleProgressMessage)) return 
false;
                else return 
((SimpleProgressMessage)progressMessage).isTotalFinalized();
        }

+       @Override
        public synchronized String getFailureReason() {
                if(putFailedMessage == null)
                        return null;

Modified: trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java  
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java  
2008-09-06 12:21:04 UTC (rev 22497)
@@ -113,10 +113,12 @@

        static final String NAME = "ClientPutComplexDir";

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        long dataLength() {
                return attachedBytes;
        }
@@ -125,6 +127,7 @@
                return identifier;
        }

+       @Override
        public void readFrom(InputStream is, BucketFactory bf, FCPServer 
server) throws IOException, MessageInvalidException {
                Iterator<DirPutFile> i = filesToRead.iterator();
                while(i.hasNext()) {
@@ -133,6 +136,7 @@
                }
        }

+       @Override
        protected void writeData(OutputStream os) throws IOException {
                Iterator<DirPutFile> i = filesToRead.iterator();
                while(i.hasNext()) {
@@ -141,6 +145,7 @@
                }
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                // Convert the hierarchical hashmap's of DirPutFile's to 
hierarchical hashmap's
                // of ManifestElement's.

Modified: trunk/freenet/src/freenet/node/fcp/ClientPutDir.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutDir.java        2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutDir.java        2008-09-06 
12:21:04 UTC (rev 22497)
@@ -224,6 +224,7 @@
                }
        }

+       @Override
        public void start() {
                if(finished) return;
                if(started) return;
@@ -242,12 +243,14 @@
                }
        }

+       @Override
        public void onLostConnection() {
                if(persistenceType == PERSIST_CONNECTION)
                        cancel();
                // otherwise ignore
        }

+       @Override
        protected void freeData() {
                freeData(manifestElements);
        }
@@ -266,10 +269,12 @@
                }
        }

+       @Override
        protected ClientRequester getClientRequest() {
                return putter;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = super.getFieldSet();
                // Translate manifestElements directly into a fieldset
@@ -316,15 +321,18 @@
                return fs;
        }

+       @Override
        protected FCPMessage persistentTagMessage() {
                return new PersistentPutDir(identifier, publicURI, verbosity, 
priorityClass,
                                persistenceType, global, defaultName, 
manifestElements, clientToken, started, ctx.maxInsertRetries, wasDiskPut);
        }

+       @Override
        protected String getTypeName() {
                return "PUTDIR";
        }

+       @Override
        public boolean hasSucceeded() {
                return succeeded;
        }
@@ -346,6 +354,7 @@
                return totalSize;
        }

+       @Override
        public boolean canRestart() {
                if(!finished) {
                        Logger.minor(this, "Cannot restart because not finished 
for "+identifier);
@@ -358,6 +367,7 @@
                return true;
        }

+       @Override
        public boolean restart() {
                if(!canRestart()) return false;
                setVarsRestart();

Modified: trunk/freenet/src/freenet/node/fcp/ClientPutDirMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutDirMessage.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutDirMessage.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -117,6 +117,7 @@
                earlyEncode = Fields.stringToBool(fs.get("EarlyEncode"), false);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("URI", uri.toString());

Modified: trunk/freenet/src/freenet/node/fcp/ClientPutDiskDirMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutDiskDirMessage.java     
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutDiskDirMessage.java     
2008-09-06 12:21:04 UTC (rev 22497)
@@ -43,10 +43,12 @@
                dirname = new File(fnam);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                if(!handler.server.core.allowUploadFrom(dirname))
@@ -97,6 +99,7 @@
        return ret;
        }

+       @Override
        long dataLength() {
                return 0;
        }
@@ -105,10 +108,12 @@
                return identifier;
        }

+       @Override
        public void readFrom(InputStream is, BucketFactory bf, FCPServer 
server) throws IOException, MessageInvalidException {
                // Do nothing
        }

+       @Override
        protected void writeData(OutputStream os) throws IOException {
                // Do nothing
        }

Modified: trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -208,6 +208,7 @@
                earlyEncode = Fields.stringToBool(fs.get("EarlyEncode"), false);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("URI", uri.toString());
@@ -236,10 +237,12 @@
                return sfs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                handler.startClientPut(this);
@@ -248,16 +251,19 @@
        /**
         * Get the length of the trailing field.
         */
+       @Override
        long dataLength() {
                if(uploadFromType == UPLOAD_FROM_DIRECT)
                        return dataLength;
                else return -1;
        }

+       @Override
        String getIdentifier() {
                return identifier;
        }

+       @Override
        Bucket createBucket(BucketFactory bf, long length, FCPServer server) 
throws IOException {
                if(persistenceType == ClientRequest.PERSIST_FOREVER) {
                        return 
server.core.persistentTempBucketFactory.makeBucket(length);
@@ -279,6 +285,7 @@
                }
        }

+       @Override
        boolean isGlobal() {
                return global;
        }

Modified: 
trunk/freenet/src/freenet/node/fcp/CloseConnectionDuplicateClientNameMessage.java
===================================================================
--- 
trunk/freenet/src/freenet/node/fcp/CloseConnectionDuplicateClientNameMessage.java
   2008-09-06 11:46:41 UTC (rev 22496)
+++ 
trunk/freenet/src/freenet/node/fcp/CloseConnectionDuplicateClientNameMessage.java
   2008-09-06 12:21:04 UTC (rev 22497)
@@ -12,14 +12,17 @@
  */
 public class CloseConnectionDuplicateClientNameMessage extends FCPMessage {

+       @Override
        public SimpleFieldSet getFieldSet() {
                return new SimpleFieldSet(true);
        }

+       @Override
        public String getName() {
                return "CloseConnectionDuplicateClientName";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, 
"CloseConnectionDuplicateClientName goes from server to client not the other 
way around", null, false);

Modified: trunk/freenet/src/freenet/node/fcp/ConfigData.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ConfigData.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ConfigData.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -35,6 +35,7 @@
        }


+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                if(withCurrent) {
@@ -90,10 +91,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "ConfigData goes 
from server to client not the other way around", null, false);

Modified: trunk/freenet/src/freenet/node/fcp/DataCarryingMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/DataCarryingMessage.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/DataCarryingMessage.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -31,6 +31,7 @@
                freeOnSent = true;
        }

+       @Override
        public void readFrom(InputStream is, BucketFactory bf, FCPServer 
server) throws IOException, MessageInvalidException {
                long len = dataLength();
                if(len < 0) return;
@@ -49,12 +50,14 @@
                this.bucket = tempBucket;
        }

+       @Override
        protected void writeData(OutputStream os) throws IOException {
                long len = dataLength();
                if(len > 0) BucketTools.copyTo(bucket, os, len);
                if(freeOnSent) bucket.free();
        }

+       @Override
        String getEndString() {
                return "Data";
        }

Modified: trunk/freenet/src/freenet/node/fcp/DataFoundMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/DataFoundMessage.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/DataFoundMessage.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -28,6 +28,7 @@
                this.dataLength = foundDataLength;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -37,10 +38,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return "DataFound";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "DataFound goes 
from server to client not the other way around", identifier, global);
        }

Modified: trunk/freenet/src/freenet/node/fcp/DirectDirPutFile.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/DirectDirPutFile.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/DirectDirPutFile.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -50,6 +50,7 @@
                BucketTools.copyTo(data, os, length);
        }

+       @Override
        public Bucket getData() {
                return data;
        }

Modified: trunk/freenet/src/freenet/node/fcp/DiskDirPutFile.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/DiskDirPutFile.java      2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/DiskDirPutFile.java      2008-09-06 
12:21:04 UTC (rev 22497)
@@ -23,6 +23,7 @@
                file = new File(s);
        }

+       @Override
        protected String guessMIME() {
                String mime = super.guessMIME();
                if(mime == null) {
@@ -31,6 +32,7 @@
                return mime;
        }

+       @Override
        public Bucket getData() {
                return new FileBucket(file, true, false, false, false, false);
        }

Modified: trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java     
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java     
2008-09-06 12:21:04 UTC (rev 22497)
@@ -17,6 +17,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("NodeIdentifier", nodeIdentifier);
@@ -25,10 +26,12 @@
                return sfs;
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "EndListPeerNotes 
goes from server to client not the other way around", null, false);

Modified: trunk/freenet/src/freenet/node/fcp/EndListPeersMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/EndListPeersMessage.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/EndListPeersMessage.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -15,6 +15,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                if(identifier != null)
@@ -22,10 +23,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "EndListPeers 
goes from server to client not the other way around", null, false);

Modified: 
trunk/freenet/src/freenet/node/fcp/EndListPersistentRequestsMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/EndListPersistentRequestsMessage.java    
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/EndListPersistentRequestsMessage.java    
2008-09-06 12:21:04 UTC (rev 22497)
@@ -10,14 +10,17 @@

        static final String name = "EndListPersistentRequests";

+       @Override
        public SimpleFieldSet getFieldSet() {
                return new SimpleFieldSet(true);
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, 
"EndListPersistentRequests goes from server to client not the other way 
around", null, false);

Modified: trunk/freenet/src/freenet/node/fcp/FCPClient.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPClient.java   2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/FCPClient.java   2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -254,6 +254,7 @@
                        reqs[i].start();
        }

+       @Override
        public String toString() {
                return super.toString()+ ':' +name;
        }

Modified: trunk/freenet/src/freenet/node/fcp/FCPPluginMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPPluginMessage.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/FCPPluginMessage.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -70,26 +70,32 @@
                plugparams = fs.subset(PARAM_PREFIX);
        }

+       @Override
        String getIdentifier() {
                return identifier;
        }

+       @Override
        boolean isGlobal() {
                return false;
        }

+       @Override
        long dataLength() {
                return dataLength;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return null;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(final FCPConnectionHandler handler, final Node node) 
throws MessageInvalidException {

                Bucket data2 = this.bucket;

Modified: trunk/freenet/src/freenet/node/fcp/FCPPluginReply.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPPluginReply.java      2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/FCPPluginReply.java      2008-09-06 
12:21:04 UTC (rev 22497)
@@ -35,18 +35,22 @@
                plugparams = fs;
        }

+       @Override
        String getIdentifier() {
                return identifier;
        }

+       @Override
        boolean isGlobal() {
                return false;
        }

+       @Override
        long dataLength() {
                return dataLength;
        }

+       @Override
        String getEndString() {
                if (dataLength() > 0)
                        return "Data";
@@ -54,6 +58,7 @@
                        return "EndMessage";
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("PluginName", plugname);
@@ -64,10 +69,12 @@
                return sfs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, NAME + " goes 
from server to client not the other way around", null, false);
        }

Modified: trunk/freenet/src/freenet/node/fcp/FCPServer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPServer.java   2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/FCPServer.java   2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -202,16 +202,19 @@
                        this.node = node;
                }

+               @Override
                public Integer get() {
                        return node.getFCPServer().port;
                }

+               @Override
                public void set(Integer val) throws InvalidConfigValueException 
{
                        if (!get().equals(val)) {
                                throw new InvalidConfigValueException("Cannot 
change FCP port number on the fly");
                        }
                }

+               @Override
                public boolean isReadOnly() {
                        return true;
                }
@@ -225,16 +228,19 @@
                        this.node = node;
                }

+               @Override
                public Boolean get() {
                        return node.getFCPServer().enabled;
                }
 //TODO: Allow it
+               @Override
                public void set(Boolean val) throws InvalidConfigValueException 
{
                        if (!get().equals(val)) {
                                throw new 
InvalidConfigValueException(l10n("cannotStartOrStopOnTheFly"));
                        }
                }

+               @Override
                public boolean isReadOnly() {
                        return true;
                }
@@ -242,10 +248,12 @@

        static class FCPSSLCallback extends BooleanCallback {

+               @Override
                public Boolean get() {
                        return ssl;
                }

+               @Override
                public void set(Boolean val) throws InvalidConfigValueException 
{
                        if (get().equals(val))
                                return;
@@ -256,6 +264,7 @@
                        throw new InvalidConfigValueException("Cannot change 
SSL on the fly, please restart freenet");
                }

+               @Override
                public boolean isReadOnly() {
                        return true;
                }
@@ -272,10 +281,12 @@
                        this.node = node;
                }

+               @Override
                public String get() {
                        return node.getFCPServer().bindTo;
                }

+               @Override
                public void set(String val) throws InvalidConfigValueException {
                        if(!val.equals(get())) {
                                try {
@@ -299,6 +310,7 @@
                        this.node = node;
                }

+               @Override
                public String get() {
                        FCPServer server = node.getFCPServer();
                        if(server == null) return 
NetworkInterface.DEFAULT_BIND_TO;
@@ -306,6 +318,7 @@
                        return (netIface == null ? 
NetworkInterface.DEFAULT_BIND_TO : netIface.getAllowedHosts());
                }

+               @Override
                public void set(String val) {
                        if (!val.equals(get())) {
                                
node.getFCPServer().networkInterface.setAllowedHosts(val);
@@ -320,10 +333,12 @@
                        this.node = node;
                }

+               @Override
                public String get() {
                        return 
node.getFCPServer().allowedHostsFullAccess.getAllowedHosts();
                }

+               @Override
                public void set(String val) {
                        if (!val.equals(get())) {
                                
node.getFCPServer().allowedHostsFullAccess.setAllowedHosts(val);
@@ -336,10 +351,12 @@

                FCPServer server;

+               @Override
                public Boolean get() {
                        return server.persistentDownloadsEnabled();
                }

+               @Override
                public void set(Boolean set) {
                        if(server.persistentDownloadsEnabled() != set)
                                server.setPersistentDownloadsEnabled(set);
@@ -351,10 +368,12 @@

                FCPServer server;

+               @Override
                public String get() {
                        return server.persistentDownloadsFile.toString();
                }

+               @Override
                public void set(String val) throws InvalidConfigValueException {
                        File f = new File(val);
                        if(f.equals(server.persistentDownloadsFile)) return;
@@ -366,10 +385,12 @@

                FCPServer server;

+               @Override
                public Long get() {
                        return server.persistenceInterval;
                }

+               @Override
                public void set(Long value) {
                        server.persistenceInterval = value;
                        FCPServerPersister p = server.persister;
@@ -384,10 +405,12 @@
        static class AssumeDDADownloadIsAllowedCallback extends BooleanCallback 
{
                FCPServer server;

+               @Override
                public Boolean get() {
                        return server.assumeDownloadDDAIsAllowed;
                }

+               @Override
                public void set(Boolean val) throws InvalidConfigValueException 
{
                        if (get().equals(val))
                                return;
@@ -398,10 +421,12 @@
        static class AssumeDDAUploadIsAllowedCallback extends BooleanCallback {
                FCPServer server;

+               @Override
                public Boolean get() {
                        return server.assumeUploadDDAIsAllowed;
                }

+               @Override
                public void set(Boolean val) throws InvalidConfigValueException 
{
                        if (get().equals(val))
                                return;

Modified: trunk/freenet/src/freenet/node/fcp/FinishedCompressionMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FinishedCompressionMessage.java  
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/FinishedCompressionMessage.java  
2008-09-06 12:21:04 UTC (rev 22497)
@@ -23,6 +23,7 @@
                this.global = global;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -33,10 +34,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return "FinishedCompression";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, 
"FinishedCompression goes from server to client not the other way around", 
identifier, global);
        }

Modified: trunk/freenet/src/freenet/node/fcp/GenerateSSKMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GenerateSSKMessage.java  2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/GenerateSSKMessage.java  2008-09-06 
12:21:04 UTC (rev 22497)
@@ -17,6 +17,7 @@
                identifier = fs.get("Identifier");
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                if(identifier != null)
@@ -24,10 +25,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
        InsertableClientSSK key = InsertableClientSSK.createRandom(node.random, 
"");

Modified: trunk/freenet/src/freenet/node/fcp/GetConfig.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GetConfig.java   2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/GetConfig.java   2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -33,14 +33,17 @@
                fs.removeValue("Identifier");
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return new SimpleFieldSet(true);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                if(!handler.hasFullAccess()) {

Modified: trunk/freenet/src/freenet/node/fcp/GetFailedMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GetFailedMessage.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/GetFailedMessage.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -89,6 +89,7 @@
                this.global = Fields.stringToBool(fs.get("Global"), false);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return getFieldSet(true);
        }
@@ -126,10 +127,12 @@
                return sfs;
        }

+       @Override
        public String getName() {
                return "GetFailed";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "GetFailed goes 
from server to client not the other way around", identifier, global);
        }

Modified: trunk/freenet/src/freenet/node/fcp/GetNode.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GetNode.java     2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/GetNode.java     2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -23,6 +23,7 @@
                fs.removeValue("Identifier");
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                if(identifier != null)
@@ -30,10 +31,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                if(!handler.hasFullAccess()) {

Modified: trunk/freenet/src/freenet/node/fcp/GetPluginInfo.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GetPluginInfo.java       2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/GetPluginInfo.java       2008-09-06 
12:21:04 UTC (rev 22497)
@@ -28,14 +28,17 @@
                        throw new 
MessageInvalidException(ProtocolErrorMessage.MISSING_FIELD, "GetPluginInfo must 
contain a PluginName field", null, false);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return new SimpleFieldSet(true);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                if(detailed && !handler.hasFullAccess()) {

Modified: trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java     
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java     
2008-09-06 12:21:04 UTC (rev 22497)
@@ -20,16 +20,19 @@
                this.onlyData = Fields.stringToBool(fs.get("OnlyData"), false);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
                return fs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                ClientRequest req;

Modified: trunk/freenet/src/freenet/node/fcp/IdentifierCollisionMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/IdentifierCollisionMessage.java  
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/IdentifierCollisionMessage.java  
2008-09-06 12:21:04 UTC (rev 22497)
@@ -16,6 +16,7 @@
                this.global = global;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("Identifier", identifier);
@@ -23,10 +24,12 @@
                return sfs;
        }

+       @Override
        public String getName() {
                return "IdentifierCollision";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, 
"IdentifierCollision goes from server to client not the other way around", 
identifier, global);

Modified: trunk/freenet/src/freenet/node/fcp/ListPeerMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ListPeerMessage.java     2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ListPeerMessage.java     2008-09-06 
12:21:04 UTC (rev 22497)
@@ -20,14 +20,17 @@
                fs.removeValue("Identifier");
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return new SimpleFieldSet(true);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                if(!handler.hasFullAccess()) {
                        throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "ListPeer requires 
full access", identifier, false);

Modified: trunk/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java        
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java        
2008-09-06 12:21:04 UTC (rev 22497)
@@ -20,14 +20,17 @@
                fs.removeValue("Identifier");
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return new SimpleFieldSet(true);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                if(!handler.hasFullAccess()) {

Modified: trunk/freenet/src/freenet/node/fcp/ListPeersMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ListPeersMessage.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ListPeersMessage.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -22,14 +22,17 @@
                fs.removeValue("Identifier");
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return new SimpleFieldSet(true);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                if(!handler.hasFullAccess()) {

Modified: trunk/freenet/src/freenet/node/fcp/ListPersistentRequestsMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ListPersistentRequestsMessage.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ListPersistentRequestsMessage.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -14,14 +14,17 @@
                // Do nothing
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return new SimpleFieldSet(true);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                
handler.getClient().queuePendingMessagesOnConnectionRestart(handler.outputHandler);

Modified: trunk/freenet/src/freenet/node/fcp/ModifyConfig.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyConfig.java        2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ModifyConfig.java        2008-09-06 
12:21:04 UTC (rev 22497)
@@ -23,14 +23,17 @@
                fs.removeValue("Identifier");
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return new SimpleFieldSet(true);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                if(!handler.hasFullAccess()) {
                        throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "ModifyConfig 
requires full access", identifier, false);

Modified: trunk/freenet/src/freenet/node/fcp/ModifyPeer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyPeer.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ModifyPeer.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -22,14 +22,17 @@
                fs.removeValue("Identifier");
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return new SimpleFieldSet(true);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                if(!handler.hasFullAccess()) {
                        throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "ModifyPeer 
requires full access", identifier, false);

Modified: trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java      2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java      2008-09-06 
12:21:04 UTC (rev 22497)
@@ -25,14 +25,17 @@
                fs.removeValue("Identifier");
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return new SimpleFieldSet(true);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                if(!handler.hasFullAccess()) {
                        throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "ModifyPeerNote 
requires full access", identifier, false);

Modified: trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java     
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java     
2008-09-06 12:21:04 UTC (rev 22497)
@@ -50,6 +50,7 @@
                        priorityClass = -1;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -60,10 +61,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                FCPClient client = global ? handler.server.globalClient : 
handler.getClient();

Modified: trunk/freenet/src/freenet/node/fcp/NodeData.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/NodeData.java    2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/NodeData.java    2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -23,6 +23,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs;
                if(giveOpennetRef) {
@@ -49,10 +50,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "NodeData goes 
from server to client not the other way around", identifier, false);

Modified: trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/NodeHelloMessage.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -30,6 +30,7 @@
                this.id = id;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                // FIXME
@@ -47,10 +48,12 @@
                return sfs;
        }

+       @Override
        public String getName() {
                return NodeHelloMessage.NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "NodeHello goes 
from server to client not the other way around", null, false);
        }

Modified: trunk/freenet/src/freenet/node/fcp/PeerMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PeerMessage.java 2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/PeerMessage.java 2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -22,6 +22,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = pn.exportFieldSet();
                if(withMetadata) {
@@ -41,10 +42,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "Peer goes from 
server to client not the other way around", null, false);

Modified: trunk/freenet/src/freenet/node/fcp/PeerNote.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PeerNote.java    2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/PeerNote.java    2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -24,6 +24,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("NodeIdentifier", nodeIdentifier);
@@ -38,10 +39,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "PeerNote goes 
from server to client not the other way around", identifier, false);

Modified: trunk/freenet/src/freenet/node/fcp/PeerRemoved.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PeerRemoved.java 2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/PeerRemoved.java 2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -19,6 +19,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identity", identity);
@@ -28,10 +29,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "PeerRemoved goes 
from server to client not the other way around", identifier, false);

Modified: trunk/freenet/src/freenet/node/fcp/PersistentGet.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentGet.java       2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/PersistentGet.java       2008-09-06 
12:21:04 UTC (rev 22497)
@@ -52,6 +52,7 @@
                this.maxSize = maxSize;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -76,10 +77,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "PersistentGet 
goes from server to client not the other way around", identifier, global);

Modified: trunk/freenet/src/freenet/node/fcp/PersistentPut.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentPut.java       2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/PersistentPut.java       2008-09-06 
12:21:04 UTC (rev 22497)
@@ -53,6 +53,7 @@
                this.binaryBlob = binaryBlob;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -81,10 +82,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "PersistentPut 
goes from server to client not the other way around", identifier, global);

Modified: trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/PersistentPutDir.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -50,6 +50,7 @@
                this.wasDiskPut = wasDiskPut;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(false); // false because 
this can get HUGE
                fs.putSingle("Identifier", identifier);
@@ -106,10 +107,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "PersistentPut 
goes from server to client not the other way around", identifier, global);

Modified: 
trunk/freenet/src/freenet/node/fcp/PersistentRequestModifiedMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentRequestModifiedMessage.java    
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/PersistentRequestModifiedMessage.java    
2008-09-06 12:21:04 UTC (rev 22497)
@@ -32,7 +32,8 @@
         this.clientToken = clientToken;
     }

-    public SimpleFieldSet getFieldSet() {
+    @Override
+       public SimpleFieldSet getFieldSet() {
         final SimpleFieldSet fs = new SimpleFieldSet(true);
         fs.putSingle("Identifier", ident);
         if(global) fs.putSingle("Global", "true");
@@ -41,11 +42,13 @@
         return fs;
     }

-    public String getName() {
+    @Override
+       public String getName() {
         return "PersistentRequestModified";
     }

-    public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
+    @Override
+       public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
         throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, 
"PersistentRequestModified goes from server to client not the other way 
around", ident, global);
     }
 }

Modified: 
trunk/freenet/src/freenet/node/fcp/PersistentRequestRemovedMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PersistentRequestRemovedMessage.java     
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/PersistentRequestRemovedMessage.java     
2008-09-06 12:21:04 UTC (rev 22497)
@@ -19,18 +19,21 @@
         this.global = global;
     }

-    public SimpleFieldSet getFieldSet() {
+    @Override
+       public SimpleFieldSet getFieldSet() {
         SimpleFieldSet fs = new SimpleFieldSet(true);
         fs.putSingle("Identifier", ident);
         if(global) fs.putSingle("Global", "true");
         return fs;
     }

-    public String getName() {
+    @Override
+       public String getName() {
         return "PersistentRequestRemoved";
     }

-    public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
+    @Override
+       public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
         throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, 
"PersistentRequestRemoved goes from server to client not the other way around", 
ident, global);
     }
 }

Modified: trunk/freenet/src/freenet/node/fcp/PluginInfoMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PluginInfoMessage.java   2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/PluginInfoMessage.java   2008-09-06 
12:21:04 UTC (rev 22497)
@@ -32,6 +32,7 @@
                started = pi.getStarted();
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                if(identifier != null) // is optional on these two only
@@ -46,10 +47,12 @@
                return sfs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, NAME + " goes 
from server to client not the other way around", null, false);
        }

Modified: trunk/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java        
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java        
2008-09-06 12:21:04 UTC (rev 22497)
@@ -149,6 +149,7 @@
                global = Fields.stringToBool(fs.get("Global"), false);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                if(ident != null)
@@ -163,10 +164,12 @@
                return sfs;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) {
                Logger.error(this, "Client reported protocol error");
        }

+       @Override
        public String getName() {
                return "ProtocolError";
        }

Modified: trunk/freenet/src/freenet/node/fcp/PutFailedMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PutFailedMessage.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/PutFailedMessage.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -74,6 +74,7 @@
                }
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return getFieldSet(true);
        }
@@ -99,10 +100,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return "PutFailed";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "PutFailed goes 
from server to client not the other way around", identifier, global);

Modified: trunk/freenet/src/freenet/node/fcp/PutFetchableMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PutFetchableMessage.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/PutFetchableMessage.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -19,6 +19,7 @@
        final boolean global;
        final FreenetURI uri;

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -28,10 +29,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return "PutFetchable";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "PutFetchable 
goes from server to client not the other way around", identifier, global);

Modified: trunk/freenet/src/freenet/node/fcp/PutSuccessfulMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/PutSuccessfulMessage.java        
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/PutSuccessfulMessage.java        
2008-09-06 12:21:04 UTC (rev 22497)
@@ -22,6 +22,7 @@
                this.completionTime = completionTime;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -34,10 +35,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return "PutSuccessful";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "InsertSuccessful 
goes from server to client not the other way around", identifier, global);

Modified: trunk/freenet/src/freenet/node/fcp/RedirectDirPutFile.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/RedirectDirPutFile.java  2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/RedirectDirPutFile.java  2008-09-06 
12:21:04 UTC (rev 22497)
@@ -28,10 +28,12 @@
                super.meta = new ClientMetadata();
        }

+       @Override
        public Bucket getData() {
                return null;
        }

+       @Override
        public ManifestElement getElement() {
                return new ManifestElement(name, targetURI, getMIMEType());
        }

Modified: trunk/freenet/src/freenet/node/fcp/RemovePeer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/RemovePeer.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/RemovePeer.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -20,14 +20,17 @@
                fs.removeValue("Identifier");
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return new SimpleFieldSet(true);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                if(!handler.hasFullAccess()) {
                        throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, NAME + " requires 
full access", identifier, false);

Modified: trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java     
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/RemovePersistentRequest.java     
2008-09-06 12:21:04 UTC (rev 22497)
@@ -24,16 +24,19 @@
                        throw new 
MessageInvalidException(ProtocolErrorMessage.MISSING_FIELD, "Must have 
Identifier", null, global);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
                return fs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                FCPClient client = global ? handler.server.globalClient : 
handler.getClient();

Modified: trunk/freenet/src/freenet/node/fcp/SSKKeypairMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SSKKeypairMessage.java   2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/SSKKeypairMessage.java   2008-09-06 
12:21:04 UTC (rev 22497)
@@ -19,6 +19,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("InsertURI", insertURI.toString());
@@ -28,10 +29,12 @@
                return sfs;
        }

+       @Override
        public String getName() {
                return "SSKKeypair";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "SSKKeypair goes 
from server to client not the other way around", identifier, false);
        }

Modified: trunk/freenet/src/freenet/node/fcp/ShutdownMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ShutdownMessage.java     2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/ShutdownMessage.java     2008-09-06 
12:21:04 UTC (rev 22497)
@@ -14,14 +14,17 @@
        public ShutdownMessage() throws MessageInvalidException {
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return null;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                if(!handler.hasFullAccess()) {
                        throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "Shutdown requires 
full access", null, false);

Modified: trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/SimpleProgressMessage.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -19,6 +19,7 @@
                this.global = global;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.put("Total", event.totalBlocks);
@@ -32,10 +33,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return "SimpleProgress";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "SimpleProgress 
goes from server to client not the other way around", ident, global);
        }

Modified: trunk/freenet/src/freenet/node/fcp/StartedCompressionMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/StartedCompressionMessage.java   
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/StartedCompressionMessage.java   
2008-09-06 12:21:04 UTC (rev 22497)
@@ -19,6 +19,7 @@
                this.global = global;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -27,10 +28,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return "StartedCompression";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, 
"StartedCompression goes from server to client not the other way around", 
identifier, global);

Modified: trunk/freenet/src/freenet/node/fcp/SubscribeUSKMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SubscribeUSKMessage.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/SubscribeUSKMessage.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -47,6 +47,7 @@
                this.dontPoll = Fields.stringToBool(fs.get("DontPoll"), false);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("URI", key.getURI().toString());
@@ -54,10 +55,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                new SubscribeUSK(this, node.clientCore, handler);

Modified: trunk/freenet/src/freenet/node/fcp/SubscribedUSKMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SubscribedUSKMessage.java        
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/SubscribedUSKMessage.java        
2008-09-06 12:21:04 UTC (rev 22497)
@@ -26,6 +26,7 @@
                this.message = m;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("Identifier", message.identifier);
@@ -35,10 +36,12 @@
                return sfs;
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, name + " goes 
from server to client not the other way around", name, false);
        }

Modified: trunk/freenet/src/freenet/node/fcp/SubscribedUSKUpdate.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/SubscribedUSKUpdate.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/SubscribedUSKUpdate.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -21,6 +21,7 @@
                this.key = key;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -29,10 +30,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, 
"SubscribedUSKUpdate goes from server to client not the other way around", 
identifier, false);

Modified: trunk/freenet/src/freenet/node/fcp/TestDDACompleteMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/TestDDACompleteMessage.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/TestDDACompleteMessage.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -36,6 +36,7 @@
                this.handler = handler;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);

@@ -69,10 +70,12 @@
                return sfs;
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, name + " goes 
from server to client not the other way around", name, false);
        }

Modified: trunk/freenet/src/freenet/node/fcp/TestDDAReplyMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/TestDDAReplyMessage.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/TestDDAReplyMessage.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -28,6 +28,7 @@
                this.checkJob = job;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle(TestDDARequestMessage.DIRECTORY, 
checkJob.directory.toString());
@@ -44,10 +45,12 @@
                return sfs;
        }

+       @Override
        public String getName() {
                return name;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, name + " goes 
from server to client not the other way around", name, false);
        }

Modified: trunk/freenet/src/freenet/node/fcp/TestDDARequestMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/TestDDARequestMessage.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/TestDDARequestMessage.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -41,14 +41,17 @@
                        throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "Both "+ 
WANT_READ + " and " + WANT_WRITE + " are set to false: what's the point of 
sending a message?", identifier, false);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return null;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                DDACheckJob job;
                try {

Modified: trunk/freenet/src/freenet/node/fcp/TestDDAResponseMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/TestDDAResponseMessage.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/TestDDAResponseMessage.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -33,14 +33,17 @@
                readContent = sfs.get(READ_CONTENT);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return null;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                DDACheckJob job;
                try {

Modified: trunk/freenet/src/freenet/node/fcp/URIGeneratedMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/URIGeneratedMessage.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/URIGeneratedMessage.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -19,6 +19,7 @@
                this.global = global;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("URI", uri.toString());
@@ -27,10 +28,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return "URIGenerated";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "URIGenerated 
goes from server to client not the other way around", identifier, false);

Modified: trunk/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java        
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java        
2008-09-06 12:21:04 UTC (rev 22497)
@@ -16,6 +16,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("NodeIdentifier", nodeIdentifier);
@@ -24,10 +25,12 @@
                return sfs;
        }

+       @Override
        public String getName() {
                return "UnknownNodeIdentifier";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, 
"UnknownNodeIdentifier goes from server to client not the other way around", 
nodeIdentifier, false);

Modified: trunk/freenet/src/freenet/node/fcp/UnknownPeerNoteTypeMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/UnknownPeerNoteTypeMessage.java  
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/UnknownPeerNoteTypeMessage.java  
2008-09-06 12:21:04 UTC (rev 22497)
@@ -16,6 +16,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.put("PeerNoteType", peerNoteType);
@@ -24,10 +25,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return "UnknownPeerNoteType";
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, 
"UnknownPeerNoteType goes from server to client not the other way around", 
identifier, false);

Modified: trunk/freenet/src/freenet/node/fcp/WatchGlobal.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/WatchGlobal.java 2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/node/fcp/WatchGlobal.java 2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -26,6 +26,7 @@
                        verbosityMask = Integer.MAX_VALUE;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.put("Enabled", enabled);
@@ -33,10 +34,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                handler.getClient().setWatchGlobal(enabled, verbosityMask);

Modified: trunk/freenet/src/freenet/node/updater/NodeUpdateManager.java
===================================================================
--- trunk/freenet/src/freenet/node/updater/NodeUpdateManager.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/updater/NodeUpdateManager.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -806,10 +806,12 @@

        class UpdaterEnabledCallback extends BooleanCallback  {

+               @Override
                public Boolean get() {
                        return isEnabled();
                }

+               @Override
                public void set(Boolean val) throws InvalidConfigValueException 
{
                        enable(val);
                }
@@ -817,10 +819,12 @@

        class AutoUpdateAllowedCallback extends BooleanCallback  {

+               @Override
                public Boolean get() {
                        return isAutoUpdateAllowed();
                }

+               @Override
                public void set(Boolean val) throws InvalidConfigValueException 
{
                        setAutoUpdateAllowed(val);
                }
@@ -834,10 +838,12 @@
                        this.isExt = isExt;
                }

+               @Override
                public String get() {
                        return getURI(isExt).toString(false, false);
                }

+               @Override
                public void set(String val) throws InvalidConfigValueException {
                        FreenetURI uri;
                        try {
@@ -851,10 +857,12 @@

        public class UpdateRevocationURICallback extends StringCallback  {

+               @Override
                public String get() {
                        return getRevocationURI().toString(false, false);
                }

+               @Override
                public void set(String val) throws InvalidConfigValueException {
                        FreenetURI uri;
                        try {

Modified: trunk/freenet/src/freenet/node/useralerts/BuildOldAgeUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/BuildOldAgeUserAlert.java 
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/useralerts/BuildOldAgeUserAlert.java 
2008-09-06 12:21:04 UTC (rev 22497)
@@ -13,6 +13,7 @@
                super(false, null, null, null, null, UserAlert.ERROR, true, 
L10n.getString("UserAlert.hide"), false, null);
        }

+       @Override
        public String getTitle() {
                return l10n("tooOldTitle");
        }
@@ -25,6 +26,7 @@
                return L10n.getString("BuildOldAgeUserAlert."+key, pattern, 
value);
        }

+       @Override
        public String getText() {
          if(lastGoodVersion == 0)
                  throw new IllegalArgumentException("Not valid");
@@ -32,16 +34,19 @@
                return s;
        }

+       @Override
        public HTMLNode getHTMLText() {
                return new HTMLNode("div", getText());
        }

+       @Override
        public boolean isValid() {
                if (lastGoodVersion == 0)
                        return false;
                return super.isValid();
        }

+       @Override
        public String getShortText() {
                return l10n("tooOldShort", "lastgood", 
Integer.toString(lastGoodVersion));
        }

Modified: 
trunk/freenet/src/freenet/node/useralerts/ClockProblemDetectedUserAlert.java
===================================================================
--- 
trunk/freenet/src/freenet/node/useralerts/ClockProblemDetectedUserAlert.java    
    2008-09-06 11:46:41 UTC (rev 22496)
+++ 
trunk/freenet/src/freenet/node/useralerts/ClockProblemDetectedUserAlert.java    
    2008-09-06 12:21:04 UTC (rev 22497)
@@ -22,6 +22,7 @@
                super(false, null, null, null, null, UserAlert.CRITICAL_ERROR, 
true, null, false, null);
        }

+       @Override
        public String getTitle() {
                return l10n("title");
        }
@@ -30,18 +31,22 @@
                return L10n.getString("ClockProblemDetectedUserAlert."+key);
        }

+       @Override
        public String getText() {
                return l10n("text");
        }

+       @Override
        public String getShortText() {
                return l10n("shortText");
        }

+       @Override
        public HTMLNode getHTMLText() {
                return new HTMLNode("div", getText());
        }

+       @Override
        public boolean userCanDismiss() {
                return false;
        }

Modified: trunk/freenet/src/freenet/node/useralerts/ExtOldAgeUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/ExtOldAgeUserAlert.java   
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/useralerts/ExtOldAgeUserAlert.java   
2008-09-06 12:21:04 UTC (rev 22497)
@@ -12,10 +12,12 @@
                super(true, null, null, null, null, UserAlert.ERROR, true, 
L10n.getString("UserAlert.hide"), true, null);
        }

+       @Override
        public String getTitle() {
                return l10n("extTooOldTitle");
        }

+       @Override
        public String getText() {
                return l10n("extTooOld");
        }
@@ -24,10 +26,12 @@
                return L10n.getString("ExtOldAgeUserAlert."+key);
        }

+       @Override
        public HTMLNode getHTMLText() {
                return new HTMLNode("div", getText());
        }

+       @Override
        public String getShortText() {
                return l10n("extTooOldShort");
        }

Modified: trunk/freenet/src/freenet/node/useralerts/IPUndetectedUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/IPUndetectedUserAlert.java        
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/useralerts/IPUndetectedUserAlert.java        
2008-09-06 12:21:04 UTC (rev 22497)
@@ -18,10 +18,12 @@

        final Node node;

+       @Override
        public String getTitle() {
                return l10n("unknownAddressTitle");
        }

+       @Override
        public String getText() {
                if(node.ipDetector.isDetecting())
                        return l10n("detecting");
@@ -41,6 +43,7 @@
                return L10n.getString("IPUndetectedUserAlert."+key, patterns, 
values);
        }

+       @Override
        public HTMLNode getHTMLText() {
                SubConfig sc = node.config.get("node");
                Option<?> o = sc.getOption("tempIPAddressHint");
@@ -85,6 +88,7 @@
                }
        }

+       @Override
        public short getPriorityClass() {
                if(node.ipDetector.isDetecting())
                        return UserAlert.WARNING;
@@ -92,6 +96,7 @@
                        return UserAlert.ERROR;
        }

+       @Override
        public String getShortText() {
                if(node.ipDetector.isDetecting())
                        return l10n("detectingShort");

Modified: 
trunk/freenet/src/freenet/node/useralerts/InvalidAddressOverrideUserAlert.java
===================================================================
--- 
trunk/freenet/src/freenet/node/useralerts/InvalidAddressOverrideUserAlert.java  
    2008-09-06 11:46:41 UTC (rev 22496)
+++ 
trunk/freenet/src/freenet/node/useralerts/InvalidAddressOverrideUserAlert.java  
    2008-09-06 12:21:04 UTC (rev 22497)
@@ -18,10 +18,12 @@

        final Node node;

+       @Override
        public String getTitle() {
                return l10n("unknownAddressTitle");
        }

+       @Override
        public String getText() {
                return l10n("unknownAddress");
        }
@@ -30,6 +32,7 @@
                return L10n.getString("InvalidAddressOverrideUserAlert."+key);
        }

+       @Override
        public HTMLNode getHTMLText() {
                SubConfig sc = node.config.get("node");
                Option<?> o = sc.getOption("ipAddressOverride");
@@ -49,10 +52,12 @@
                return textNode;
        }

+       @Override
        public short getPriorityClass() {
                return UserAlert.ERROR;
        }

+       @Override
        public String getShortText() {
                return l10n("unknownAddressShort");
        }

Modified: trunk/freenet/src/freenet/node/useralerts/N2NTMUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/N2NTMUserAlert.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/useralerts/N2NTMUserAlert.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -31,11 +31,13 @@
                this.receivedTime = receivedTime;
        }

+       @Override
        public String getTitle() {
                return l10n("title", new String[] { "number", "peername", 
"peer" },
                                new String[] { Integer.toString(fileNumber), 
sourcePeerNode.getName(), sourcePeerNode.getPeer().toString() });
        }

+       @Override
        public String getText() {
                return 
                        l10n("header", new String[] { "from", "composed", 
"sent", "received" },
@@ -44,10 +46,12 @@
                        messageText;
        }

+       @Override
        public String getShortText() {
                return l10n("headerShort", "from", sourceNodename);
        }

+       @Override
        public HTMLNode getHTMLText() {
                HTMLNode alertNode = new HTMLNode("div");
                alertNode.addChild("p",
@@ -64,6 +68,7 @@
                return alertNode;
        }

+       @Override
        public String dismissButtonText(){
                return l10n("delete");
        }
@@ -80,6 +85,7 @@
                return L10n.getString("N2NTMUserAlert."+key, pattern, value);
        }

+       @Override
        public void onDismiss() {
                sourcePeerNode.deleteExtraPeerDataFile(fileNumber);
        }

Modified: 
trunk/freenet/src/freenet/node/useralerts/NotEnoughNiceLevelsUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/NotEnoughNiceLevelsUserAlert.java 
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/useralerts/NotEnoughNiceLevelsUserAlert.java 
2008-09-06 12:21:04 UTC (rev 22497)
@@ -19,10 +19,12 @@
                super(true, null, null, null, null, UserAlert.WARNING, true, 
L10n.getString("UserAlert.hide"), true, null);
        }

+       @Override
        public String getTitle() {
                return L10n.getString("NotEnoughNiceLevelsUserAlert.title");
        }

+       @Override
        public String getText() {
                return L10n.getString("NotEnoughNiceLevelsUserAlert.content",
                        new String[] { "available", "required" },
@@ -32,10 +34,12 @@
                        });
        }

+       @Override
        public String getShortText() {
                return L10n.getString("NotEnoughNiceLevelsUserAlert.short");
        }

+       @Override
        public HTMLNode getHTMLText() {
                return new HTMLNode("div", getText());
        }

Modified: trunk/freenet/src/freenet/node/useralerts/OpennetUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/OpennetUserAlert.java     
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/useralerts/OpennetUserAlert.java     
2008-09-06 12:21:04 UTC (rev 22497)
@@ -13,6 +13,7 @@
                this.node = node;
        }

+       @Override
        public boolean isValid() {
                return node.isOpennetEnabled() && valid;
        }

Modified: trunk/freenet/src/freenet/node/useralerts/PeerManagerUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/PeerManagerUserAlert.java 
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/useralerts/PeerManagerUserAlert.java 
2008-09-06 12:21:04 UTC (rev 22497)
@@ -56,6 +56,7 @@
                this.n = n;
        }

+       @Override
        public String getTitle() {
                if(!isOpennetEnabled) {
                        if(peers == 0)
@@ -86,6 +87,7 @@
                else throw new IllegalArgumentException("Not valid");
        }

+       @Override
        public String getShortText() {
                return getTitle();
        }
@@ -102,6 +104,7 @@
                return L10n.getString("PeerManagerUserAlert."+key);
        }

+       @Override
        public String getText() {
                String s;
                if(peers == 0 && !isOpennetEnabled) {
@@ -170,6 +173,7 @@
                return sb.toString();
        }

+       @Override
        public HTMLNode getHTMLText() {
                HTMLNode alertNode = new HTMLNode("div");

@@ -217,6 +221,7 @@
                return alertNode;
        }

+       @Override
        public short getPriorityClass() {
                if(peers == 0 && !isOpennetEnabled)
                        return UserAlert.CRITICAL_ERROR;
@@ -249,6 +254,7 @@
                return ERROR;
        }

+       @Override
        public boolean isValid() {
                // only update here so we don't get odd behavior with it 
fluctuating
                bwlimitDelayTime = (int) n.getBwlimitDelayTime();

Modified: 
trunk/freenet/src/freenet/node/useralerts/RevocationKeyFoundUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/RevocationKeyFoundUserAlert.java  
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/useralerts/RevocationKeyFoundUserAlert.java  
2008-09-06 12:21:04 UTC (rev 22497)
@@ -11,6 +11,7 @@
                super(false, 
L10n.getString("RevocationKeyFoundUserAlert.title"), 
L10n.getString("RevocationKeyFoundUserAlert.text", "message", msg), 
L10n.getString("RevocationKeyFoundUserAlert.text", "message", msg), new 
HTMLNode("#", L10n.getString("RevocationKeyFoundUserAlert.text", "message", 
msg)), UserAlert.CRITICAL_ERROR, true, null, false, null);
        }

+       @Override
        public void isValid(boolean b){
                // We ignore it : it's ALWAYS valid !
        }

Modified: trunk/freenet/src/freenet/node/useralerts/SimpleHTMLUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/SimpleHTMLUserAlert.java  
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/useralerts/SimpleHTMLUserAlert.java  
2008-09-06 12:21:04 UTC (rev 22497)
@@ -9,6 +9,7 @@
                super(canDismiss, title, content.getContent(), shortText, 
content, type, true, L10n.getString("UserAlert.hide"), true, null);
        }

+       @Override
        public void isValid(boolean validity) {
                // Do nothing
        }

Modified: trunk/freenet/src/freenet/node/useralerts/SimpleUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/SimpleUserAlert.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/useralerts/SimpleUserAlert.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -16,6 +16,7 @@
                super(canDismiss, title, text, shortText, new HTMLNode("div", 
text), type, true, L10n.getString("UserAlert.hide"), true, userIdentifier);
        }

+       @Override
        public void isValid(boolean validity) {
                // Do nothing
        }

Modified: 
trunk/freenet/src/freenet/node/useralerts/TimeSkewDetectedUserAlert.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/TimeSkewDetectedUserAlert.java    
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/node/useralerts/TimeSkewDetectedUserAlert.java    
2008-09-06 12:21:04 UTC (rev 22497)
@@ -23,6 +23,7 @@
                super(false, null, null, null, null, UserAlert.CRITICAL_ERROR, 
false, L10n.getString("UserAlert.hide"), false, null);
        }

+       @Override
        public String getTitle() {
                return l10n("title");
        }
@@ -31,14 +32,17 @@
                return L10n.getString("TimeSkewDetectedUserAlert."+key);
        }

+       @Override
        public String getText() {
                return l10n("text");
        }

+       @Override
        public String getShortText() {
                return l10n("shortText");
        }

+       @Override
        public HTMLNode getHTMLText() {
                return new HTMLNode("div", getText());
        }

Modified: 
trunk/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java
===================================================================
--- 
trunk/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java 
    2008-09-06 11:46:41 UTC (rev 22496)
+++ 
trunk/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java 
    2008-09-06 12:21:04 UTC (rev 22497)
@@ -17,6 +17,7 @@
                this.updater = updater;
        }

+       @Override
        public String getTitle() {
                return l10n("title");
        }
@@ -33,6 +34,7 @@
                return L10n.getString("UpdatedVersionAvailableUserAlert."+key, 
patterns, values);
        }

+       @Override
        public String getText() {

                UpdateThingy ut = createUpdateThingy();
@@ -50,6 +52,7 @@
                return sb.toString();
        }

+       @Override
        public String getShortText() {
                if(!updater.isArmed()) {
                        if(updater.canUpdateNow()) {
@@ -71,6 +74,7 @@
                String formText;
        }

+       @Override
        public HTMLNode getHTMLText() {

                UpdateThingy ut = createUpdateThingy();
@@ -141,6 +145,7 @@
                return new UpdateThingy(sb.toString(), null);
        }

+       @Override
        public short getPriorityClass() {
                if(updater.inFinalCheck())
                        return UserAlert.WARNING;
@@ -148,11 +153,13 @@
                        return UserAlert.MINOR;
        }

+       @Override
        public boolean isValid() {
                return updater.isEnabled() && (!updater.isBlown()) && 
updater.fetchingNewExtJar() || updater.fetchingNewMainJar() ||
                        updater.hasNewExtJar() || updater.hasNewMainJar();
        }

+       @Override
        public void isValid(boolean b){
                // Ignore
        }

Modified: trunk/freenet/src/freenet/pluginmanager/DetectedIP.java
===================================================================
--- trunk/freenet/src/freenet/pluginmanager/DetectedIP.java     2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/pluginmanager/DetectedIP.java     2008-09-06 
12:21:04 UTC (rev 22497)
@@ -47,6 +47,7 @@
                this.mtu = 1500;
        }

+       @Override
        public boolean equals(Object o) {
                if(!(o instanceof DetectedIP)) {
                        return false;
@@ -55,10 +56,12 @@
                return ((d.natType == natType) && 
d.publicAddress.equals(publicAddress));
        }

+       @Override
        public int hashCode() {
                return publicAddress.hashCode() ^ natType;
        }

+       @Override
        public String toString() {
                return publicAddress.toString()+":"+natType+":"+mtu;
        }

Modified: trunk/freenet/src/freenet/pluginmanager/ForwardPort.java
===================================================================
--- trunk/freenet/src/freenet/pluginmanager/ForwardPort.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/pluginmanager/ForwardPort.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -30,10 +30,12 @@
                hashCode = name.hashCode() | (isIP6 ? 1 : 0) | protocol | 
portNumber;
        }

+       @Override
        public int hashCode() {
                return hashCode;
        }

+       @Override
        public boolean equals(Object o) {
                if(o == this) return true;
                if(!(o instanceof ForwardPort)) return false;

Modified: trunk/freenet/src/freenet/store/CHKStore.java
===================================================================
--- trunk/freenet/src/freenet/store/CHKStore.java       2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/store/CHKStore.java       2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -10,10 +10,12 @@

 public class CHKStore extends StoreCallback {

+       @Override
        public boolean collisionPossible() {
                return false;
        }

+       @Override
        public StorableBlock construct(byte[] data, byte[] headers,
                        byte[] routingKey, byte[] fullKey) throws 
KeyVerifyException {
                if(data == null || headers == null) throw new 
CHKVerifyException("Need either data and headers");
@@ -33,22 +35,27 @@
                }
        }

+       @Override
        public int dataLength() {
                return CHKBlock.DATA_LENGTH;
        }

+       @Override
        public int fullKeyLength() {
                return NodeCHK.FULL_KEY_LENGTH;
        }

+       @Override
        public int headerLength() {
                return CHKBlock.TOTAL_HEADERS_LENGTH;
        }

+       @Override
        public int routingKeyLength() {
                return NodeCHK.KEY_LENGTH;
        }

+       @Override
        public boolean storeFullKeys() {
                // Worth the extra two file descriptors, because if we have the 
keys we can do lazy 
                // reconstruction i.e. don't construct each block, just 
transcode from the .keys file
@@ -56,10 +63,12 @@
                return true;
        }

+       @Override
        public boolean constructNeedsKey() {
                return false;
        }

+       @Override
        public byte[] routingKeyFromFullKey(byte[] keyBuf) {
                return NodeCHK.routingKeyFromFullKey(keyBuf);
        }

Modified: trunk/freenet/src/freenet/store/PubkeyStore.java
===================================================================
--- trunk/freenet/src/freenet/store/PubkeyStore.java    2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/store/PubkeyStore.java    2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -10,10 +10,12 @@

 public class PubkeyStore extends StoreCallback {

+       @Override
        public boolean collisionPossible() {
                return false;
        }

+       @Override
        public StorableBlock construct(byte[] data, byte[] headers, byte[] 
routingKey,
                        byte[] fullKey) throws KeyVerifyException {
                if(data == null) throw new PubkeyVerifyException("Need data to 
construct pubkey");
@@ -38,30 +40,37 @@
                }
        }

+       @Override
        public int dataLength() {
                return DSAPublicKey.PADDED_SIZE;
        }

+       @Override
        public int fullKeyLength() {
                return DSAPublicKey.HASH_LENGTH;
        }

+       @Override
        public int headerLength() {
                return 0;
        }

+       @Override
        public int routingKeyLength() {
                return DSAPublicKey.HASH_LENGTH;
        }

+       @Override
        public boolean storeFullKeys() {
                return false;
        }

+       @Override
        public boolean constructNeedsKey() {
                return false;
        }

+       @Override
        public byte[] routingKeyFromFullKey(byte[] keyBuf) {
                return keyBuf;
        }

Modified: trunk/freenet/src/freenet/store/SSKStore.java
===================================================================
--- trunk/freenet/src/freenet/store/SSKStore.java       2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/store/SSKStore.java       2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -15,6 +15,7 @@
                this.pubkeyCache = pubkeyCache;
        }

+       @Override
        public StorableBlock construct(byte[] data, byte[] headers,
                        byte[] routingKey, byte[] fullKey) throws 
SSKVerifyException {
                if(data == null || headers == null) throw new 
SSKVerifyException("Need data and headers");
@@ -36,34 +37,42 @@
                store.put(b, key.getRoutingKey(), key.getFullKey(), 
b.getRawData(), b.getRawHeaders(), overwrite);
        }

+       @Override
        public int dataLength() {
                return SSKBlock.DATA_LENGTH;
        }

+       @Override
        public int fullKeyLength() {
                return NodeSSK.FULL_KEY_LENGTH;
        }

+       @Override
        public int headerLength() {
                return SSKBlock.TOTAL_HEADERS_LENGTH;
        }

+       @Override
        public int routingKeyLength() {
                return NodeSSK.ROUTING_KEY_LENGTH;
        }

+       @Override
        public boolean storeFullKeys() {
                return true;
        }

+       @Override
        public boolean collisionPossible() {
                return true;
        }

+       @Override
        public boolean constructNeedsKey() {
                return true;
        }

+       @Override
        public byte[] routingKeyFromFullKey(byte[] keyBuf) {
                return NodeSSK.routingKeyFromFullKey(keyBuf);
        }

Modified: trunk/freenet/src/freenet/support/BitArray.java
===================================================================
--- trunk/freenet/src/freenet/support/BitArray.java     2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/support/BitArray.java     2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -80,6 +80,7 @@
                return b & 0xFF;
        }

+       @Override
        public String toString() {
                StringBuilder sb = new StringBuilder(this._size);
                for (int x=0; x<_size; x++) {
@@ -105,6 +106,7 @@
                return _size;
        }

+       @Override
        public boolean equals(Object o) {
                if (!(o instanceof BitArray)) {
                        return false;
@@ -121,6 +123,7 @@
                return true;
        }

+       @Override
        public int hashCode() {
            return Fields.hashCode(_bits);
        }

Modified: trunk/freenet/src/freenet/support/Buffer.java
===================================================================
--- trunk/freenet/src/freenet/support/Buffer.java       2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/support/Buffer.java       2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -110,6 +110,7 @@
                stream.write(_data, _start, _length);
        }

+       @Override
        public String toString() {
                if (this._length > 50) {
                        return "Buffer {"+this._length+ '}';
@@ -124,6 +125,7 @@
                }
        }

+       @Override
        public boolean equals(Object o) {
                if (this == o) {
                        return true;
@@ -147,6 +149,7 @@
                return true;
        }

+       @Override
        public int hashCode() {
            return Fields.hashCode(_data) ^ _start ^ _length;
        }

Modified: trunk/freenet/src/freenet/support/ByteArrayWrapper.java
===================================================================
--- trunk/freenet/src/freenet/support/ByteArrayWrapper.java     2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/ByteArrayWrapper.java     2008-09-06 
12:21:04 UTC (rev 22497)
@@ -19,6 +19,7 @@
                hashCode = Fields.hashCode(buf);
        }

+       @Override
        public boolean equals(Object o) {
                if(o instanceof ByteArrayWrapper) {
                        ByteArrayWrapper b = (ByteArrayWrapper) o;
@@ -28,6 +29,7 @@
                return false;
        }

+       @Override
        public int hashCode() {
                return hashCode;
        }

Modified: trunk/freenet/src/freenet/support/ByteBufferInputStream.java
===================================================================
--- trunk/freenet/src/freenet/support/ByteBufferInputStream.java        
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/ByteBufferInputStream.java        
2008-09-06 12:21:04 UTC (rev 22497)
@@ -28,6 +28,7 @@
                this.buf = buf;
        }

+       @Override
        public int read() throws IOException {
                try {
                        return buf.get() & Integer.MAX_VALUE;

Modified: trunk/freenet/src/freenet/support/DoubleTokenBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/DoubleTokenBucket.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/DoubleTokenBucket.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -19,6 +19,7 @@
                this.forceGrabLimit = forceGrabLimit;
        }

+       @Override
        public synchronized void forceGrab(long tokens) {
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
                long maxTokens = grabbedBytesLimiter.partialInstantGrab(tokens);
@@ -33,16 +34,19 @@
         * Change the number of nanos per tick.
         * @param nanosPerTick The new number of nanos per tick.
         */
+       @Override
        public synchronized void changeNanosPerTick(long nanosPerTick) {
                super.changeNanosPerTick(nanosPerTick);
                grabbedBytesLimiter.changeNanosPerTick((long)(nanosPerTick * 
forceGrabLimit));
        }

+       @Override
        public synchronized void changeBucketSize(long newMax) {
                super.changeBucketSize(newMax);
                grabbedBytesLimiter.changeBucketSize((long)(newMax * 
forceGrabLimit));
        }

+       @Override
        public synchronized void changeNanosAndBucketSize(long nanosPerTick, 
long newMax) {
                super.changeNanosAndBucketSize(nanosPerTick, newMax);
                
grabbedBytesLimiter.changeNanosAndBucketSize((long)(nanosPerTick * 
forceGrabLimit),

Modified: trunk/freenet/src/freenet/support/FileLoggerHook.java
===================================================================
--- trunk/freenet/src/freenet/support/FileLoggerHook.java       2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/FileLoggerHook.java       2008-09-06 
12:21:04 UTC (rev 22497)
@@ -208,6 +208,7 @@
                        super("Log File Writer Thread");
                }

+               @Override
                @SuppressWarnings("fallthrough")
                public void run() {
                        File currentFilename = null;
@@ -771,6 +772,7 @@
                df.setTimeZone(TimeZone.getTimeZone("UTC"));
        }

+       @Override
        public void log(Object o, Class<?> c, String msg, Throwable e, int 
priority) {
                if (!instanceShouldLog(priority, c))
                        return;
@@ -916,14 +918,17 @@
                }
        }

+       @Override
        public long minFlags() {
                return 0;
        }

+       @Override
        public long notFlags() {
                return INTERNAL;
        }

+       @Override
        public long anyFlags() {
                return ((2 * ERROR) - 1) & ~(threshold - 1);
        }
@@ -933,6 +938,7 @@
        }

        class CloserThread extends Thread {
+               @Override
                public void run() {
                        closed = true;
                }

Modified: trunk/freenet/src/freenet/support/JarClassLoader.java
===================================================================
--- trunk/freenet/src/freenet/support/JarClassLoader.java       2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/JarClassLoader.java       2008-09-06 
12:21:04 UTC (rev 22497)
@@ -114,6 +114,7 @@
         * 
         * @see java.lang.ClassLoader#findClass(java.lang.String)
         */
+       @Override
        protected Class<?> findClass(String name) throws ClassNotFoundException 
{
                try {
                        String pathName = transformName(name);
@@ -140,6 +141,7 @@
         * 
         * @see java.lang.ClassLoader#findResource(java.lang.String)
         */
+       @Override
        protected URL findResource(String name) {
                /* compatibility code. remove when all plugins are fixed. */
                if (name.startsWith("/")) {

Modified: trunk/freenet/src/freenet/support/LoggerHook.java
===================================================================
--- trunk/freenet/src/freenet/support/LoggerHook.java   2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/support/LoggerHook.java   2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -43,6 +43,7 @@
         *            The priority of the mesage, one of Logger.ERROR,
         *            Logger.NORMAL, Logger.MINOR, or Logger.DEBUG.
         */
+       @Override
        public abstract void log(
                        Object o,
                        Class<?> source,
@@ -57,6 +58,7 @@
         * @param priority The priority of the mesage, one of Logger.ERROR,
         *                 Logger.NORMAL, Logger.MINOR, or Logger.DEBUG.
         **/
+       @Override
        public void log(Object source, String message, int priority) {
                if (!instanceShouldLog(priority,source)) return;
                log(source, source == null ? null : source.getClass(), 
@@ -72,6 +74,7 @@
         *                 Logger.NORMAL, Logger.MINOR, or Logger.DEBUG.
         * @see #log(Object o, String message, int priority)
         */
+       @Override
        public void log(Object o, String message, Throwable e, 
                        int priority) {
                if (!instanceShouldLog(priority,o)) return;
@@ -85,12 +88,14 @@
         * @param priority The priority of the mesage, one of Logger.ERROR,
         *                 Logger.NORMAL, Logger.MINOR, or Logger.DEBUG.
         */
+       @Override
        public void log(Class<?> c, String message, int priority) {
                if (!instanceShouldLog(priority,c)) return;
                log(null, c, message, null, priority);
        }


+       @Override
        public void log(Class<?> c, String message, Throwable e, int priority) {
                if (!instanceShouldLog(priority, c))
                        return;
@@ -101,18 +106,22 @@
                return prio >= threshold;
        }

+       @Override
        public void setThreshold(int thresh) {
                this.threshold = thresh;
        }

+       @Override
        public int getThreshold() {
                return threshold;
        }

+       @Override
        public void setThreshold(String symbolicThreshold) throws 
InvalidThresholdException {
                setThreshold(priorityOf(symbolicThreshold));
        }

+       @Override
        public void setDetailedThresholds(String details) throws 
InvalidThresholdException {
                if ((details == null) || (details.length() == 0))
                        return;
@@ -199,6 +208,7 @@
                }
        }

+       @Override
        public boolean instanceShouldLog(int priority, Class<?> c) {
                DetailedThreshold[] thresholds;
                int thresh;
@@ -216,6 +226,7 @@
                return priority >= thresh;
        }

+       @Override
        public final boolean instanceShouldLog(int prio, Object o) {
                return instanceShouldLog(prio, o == null ? null : o.getClass());
        }

Modified: trunk/freenet/src/freenet/support/LoggerHookChain.java
===================================================================
--- trunk/freenet/src/freenet/support/LoggerHookChain.java      2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/LoggerHookChain.java      2008-09-06 
12:21:04 UTC (rev 22497)
@@ -38,7 +38,8 @@
      * one logger receive events from another.
      * @implements LoggerHook.log()
      */
-    public synchronized void log(Object o, Class<?> c, String msg, Throwable 
e, int priority) {
+    @Override
+       public synchronized void log(Object o, Class<?> c, String msg, 
Throwable e, int priority) {
         LoggerHook[] myHooks = hooks;
         for(int i=0;i<myHooks.length;i++) {
             myHooks[i].log(o,c,msg,e,priority);
@@ -87,21 +88,25 @@
         return hooks;
     }

-    public long minFlags()
+    @Override
+       public long minFlags()
     {
        return 0;
     }

-    public long notFlags()
+    @Override
+       public long notFlags()
     {
        return 0;
     }

-    public long anyFlags()
+    @Override
+       public long anyFlags()
     {
        return ((2*ERROR)-1) & ~(threshold-1);
     }

+       @Override
        public void setDetailedThresholds(String details) throws 
InvalidThresholdException {
                super.setDetailedThresholds(details);
                // No need to tell subordinates, we will do the filtering.
@@ -109,6 +114,7 @@
 //             for (int i = 0; i < h.length; i++)
 //                     h[i].setDetailedThresholds(details);
        }
+       @Override
        public void setThreshold(int thresh) {
                super.setThreshold(thresh);
                LoggerHook[] h = getHooks();

Modified: trunk/freenet/src/freenet/support/OutputStreamLogger.java
===================================================================
--- trunk/freenet/src/freenet/support/OutputStreamLogger.java   2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/OutputStreamLogger.java   2008-09-06 
12:21:04 UTC (rev 22497)
@@ -12,14 +12,17 @@
                this.prefix = prefix;
        }

+       @Override
        public void write(int b) {
                Logger.logStatic(this, prefix+(char)b, prio);
        }

+       @Override
        public void write(byte[] buf, int offset, int length) {
                Logger.logStatic(this, prefix+new String(buf, offset, length), 
prio);
        }

+       @Override
        public void write(byte[] buf) {
                write(buf, 0, buf.length);
        }

Modified: trunk/freenet/src/freenet/support/ReceivedPacketNumbers.java
===================================================================
--- trunk/freenet/src/freenet/support/ReceivedPacketNumbers.java        
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/ReceivedPacketNumbers.java        
2008-09-06 12:21:04 UTC (rev 22497)
@@ -37,7 +37,8 @@
         int start; // inclusive
         int end;   // inclusive

-        public String toString() {
+        @Override
+               public String toString() {
             return "Range:"+start+"->"+end;
         }
     }
@@ -160,7 +161,8 @@
         return highestSeqNumber;
     }

-    public String toString() {
+    @Override
+       public String toString() {
         StringBuilder sb = new StringBuilder();
         sb.append(super.toString());
         sb.append(": max=");

Modified: trunk/freenet/src/freenet/support/SectoredRandomGrabArrayWithInt.java
===================================================================
--- trunk/freenet/src/freenet/support/SectoredRandomGrabArrayWithInt.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/SectoredRandomGrabArrayWithInt.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -15,6 +15,7 @@
                return number;
        }

+       @Override
        public String toString() {
                return super.toString() + ":"+number;
        }

Modified: 
trunk/freenet/src/freenet/support/SectoredRandomGrabArrayWithObject.java
===================================================================
--- trunk/freenet/src/freenet/support/SectoredRandomGrabArrayWithObject.java    
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/SectoredRandomGrabArrayWithObject.java    
2008-09-06 12:21:04 UTC (rev 22497)
@@ -15,6 +15,7 @@
                return object;
        }

+       @Override
        public String toString() {
                return super.toString()+":"+object;
        }

Modified: trunk/freenet/src/freenet/support/ShortBuffer.java
===================================================================
--- trunk/freenet/src/freenet/support/ShortBuffer.java  2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/support/ShortBuffer.java  2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -108,6 +108,7 @@
                stream.write(_data, _start, _length);
        }

+       @Override
        public String toString() {
                if (this._length > 50) {
                        return "Buffer {"+this._length+ '}';
@@ -122,6 +123,7 @@
                }
        }

+       @Override
        public boolean equals(Object o) {
                if (this == o) {
                        return true;
@@ -145,6 +147,7 @@
                return true;
        }

+       @Override
        public int hashCode() {
            return Fields.hashCode(_data) ^ _start ^ (_length << 16);
        }

Modified: trunk/freenet/src/freenet/support/TimeSortedHashtable.java
===================================================================
--- trunk/freenet/src/freenet/support/TimeSortedHashtable.java  2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/TimeSortedHashtable.java  2008-09-06 
12:21:04 UTC (rev 22497)
@@ -66,7 +66,8 @@
     private final TreeSet<Comparable> /* <Long || Element<T>> */elements;
        private final HashMap<T, Element<T>> valueToElement;

-    public TimeSortedHashtable<T> clone() {
+    @Override
+       public TimeSortedHashtable<T> clone() {
                return new TimeSortedHashtable<T>(this);
     }


Modified: 
trunk/freenet/src/freenet/support/UpdatableSortedLinkedListWithForeignIndex.java
===================================================================
--- 
trunk/freenet/src/freenet/support/UpdatableSortedLinkedListWithForeignIndex.java
    2008-09-06 11:46:41 UTC (rev 22496)
+++ 
trunk/freenet/src/freenet/support/UpdatableSortedLinkedListWithForeignIndex.java
    2008-09-06 12:21:04 UTC (rev 22497)
@@ -18,7 +18,8 @@
         map = new HashMap();
     }

-    public synchronized void add(UpdatableSortedLinkedListItem item) throws 
UpdatableSortedLinkedListKilledException {
+    @Override
+       public synchronized void add(UpdatableSortedLinkedListItem item) throws 
UpdatableSortedLinkedListKilledException {
         if(!(item instanceof IndexableUpdatableSortedLinkedListItem)) {
             throw new IllegalArgumentException();
         }
@@ -34,7 +35,8 @@
         checkList();
     }

-    public synchronized UpdatableSortedLinkedListItem 
remove(UpdatableSortedLinkedListItem item) throws 
UpdatableSortedLinkedListKilledException {
+    @Override
+       public synchronized UpdatableSortedLinkedListItem 
remove(UpdatableSortedLinkedListItem item) throws 
UpdatableSortedLinkedListKilledException {
        if(killed) throw new UpdatableSortedLinkedListKilledException();
         
map.remove(((IndexableUpdatableSortedLinkedListItem)item).indexValue());
         return super.remove(item);
@@ -57,7 +59,8 @@
         return item;
     }

-    public synchronized void clear() {
+    @Override
+       public synchronized void clear() {
        map.clear();
        super.clear();
     }

Modified: trunk/freenet/src/freenet/support/VoidLogger.java
===================================================================
--- trunk/freenet/src/freenet/support/VoidLogger.java   2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/src/freenet/support/VoidLogger.java   2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -10,18 +10,23 @@
 public class VoidLogger extends Logger
 {

+       @Override
        public void log(Object o, Class<?> source, String message, Throwable e, 
int priority) {
        }

+       @Override
        public void log(Object source, String message, int priority) {
        }

+       @Override
        public void log(Object o, String message, Throwable e, int priority) {
        }

+       @Override
        public void log(Class<?> c, String message, int priority) {
        }

+       @Override
        public void log(Class<?> c, String message, Throwable e, int priority) {
        }

@@ -37,24 +42,30 @@
                return 0;
        }

+       @Override
        public boolean instanceShouldLog(int priority, Class<?> c) {
                return false;
        }

+       @Override
        public boolean instanceShouldLog(int prio, Object o) {
                return false;
        }

+       @Override
        public void setThreshold(int thresh) {
        }

+       @Override
        public int getThreshold() {
                return 0;
        }

+       @Override
        public void setThreshold(String symbolicThreshold) {
        }

+       @Override
        public void setDetailedThresholds(String details) {
        }


Modified: trunk/freenet/src/freenet/support/compress/GzipCompressor.java
===================================================================
--- trunk/freenet/src/freenet/support/compress/GzipCompressor.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/compress/GzipCompressor.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -15,6 +15,7 @@

 public class GzipCompressor extends Compressor {

+       @Override
        public Bucket compress(Bucket data, BucketFactory bf, long maxLength) 
throws IOException, CompressionOutputSizeException {
                if(maxLength <= 0)
                        throw new IllegalArgumentException();
@@ -50,6 +51,7 @@
                return output;
        }

+       @Override
        public Bucket decompress(Bucket data, BucketFactory bf, long maxLength, 
long maxCheckSizeLength, Bucket preferred) throws IOException, 
CompressionOutputSizeException {
                Bucket output;
                if(preferred != null)
@@ -95,6 +97,7 @@
                }
        }

+       @Override
        public int decompress(byte[] dbuf, int i, int j, byte[] output) throws 
CompressionOutputSizeException {
                // Didn't work with Inflater.
                // FIXME fix sometimes to use Inflater - format issue?
@@ -112,6 +115,7 @@
                return bytes;
        }

+       @Override
        public short codecNumberForMetadata() {
                return Metadata.COMPRESS_GZIP;
        }

Modified: trunk/freenet/src/freenet/support/io/ArrayBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/ArrayBucket.java       2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/io/ArrayBucket.java       2008-09-06 
12:21:04 UTC (rev 22497)
@@ -46,6 +46,7 @@
                return new ArrayBucketInputStream();
        }

+       @Override
        public String toString() {
                StringBuilder s = new StringBuilder(250);
                for (byte[] b : data) {
@@ -102,6 +103,7 @@
                        i = data.iterator();
                }

+               @Override
                public int read() {
                        return priv_read();
                }
@@ -123,10 +125,12 @@
                        }
                }

+               @Override
                public int read(byte[] b) {
                        return priv_read(b, 0, b.length);
                }

+               @Override
                public int read(byte[] b, int off, int len) {
                        return priv_read(b, off, len);
                }
@@ -148,6 +152,7 @@
                        }
                }

+               @Override
                public int available() {
                        if (in == null) {
                                if (i.hasNext()) {

Modified: trunk/freenet/src/freenet/support/io/BucketChainBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/BucketChainBucket.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/io/BucketChainBucket.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -64,6 +64,7 @@
                        private InputStream curBucketStream = 
getBucketInputStream(0);
                        private long readBytes;

+                       @Override
                        public int read() throws IOException {
                                synchronized(BucketChainBucket.this) {
                                        if(freed) {
@@ -94,6 +95,7 @@
                                }
                        }

+                       @Override
                        public int read(byte[] buf) throws IOException {
                                synchronized(BucketChainBucket.this) {
                                        if(freed) {
@@ -105,6 +107,7 @@
                                return read(buf, 0, buf.length);
                        }

+                       @Override
                        public int read(byte[] buf, int offset, int length) 
throws IOException {
                                synchronized(BucketChainBucket.this) {
                                        if(freed) {
@@ -136,6 +139,7 @@
                                }
                        }

+                       @Override
                        public int available() throws IOException {
                                synchronized(BucketChainBucket.this) {
                                        if(freed) {
@@ -147,6 +151,7 @@
                                return (int) Math.min(Integer.MAX_VALUE, size() 
- readBytes);
                        }

+                       @Override
                        public void close() throws IOException {
                                if(curBucketStream != null)
                                        curBucketStream.close();
@@ -183,6 +188,7 @@
                        private OutputStream curBucketStream = 
makeBucketOutputStream(0);
                        private long bucketLength = 0;

+                       @Override
                        public void write(int c) throws IOException {
                                synchronized(BucketChainBucket.this) {
                                        if(freed) {
@@ -208,10 +214,12 @@
                                }
                        }

+                       @Override
                        public void write(byte[] buf) throws IOException {
                                write(buf, 0, buf.length);
                        }

+                       @Override
                        public void write(byte[] buf, int offset, int length) 
throws IOException {
                                synchronized(BucketChainBucket.this) {
                                        if(freed) {
@@ -244,6 +252,7 @@
                                }
                        }

+                       @Override
                        public void close() throws IOException {
                                if(curBucketStream != null)
                                        curBucketStream.close();

Modified: trunk/freenet/src/freenet/support/io/CountedInputStream.java
===================================================================
--- trunk/freenet/src/freenet/support/io/CountedInputStream.java        
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/io/CountedInputStream.java        
2008-09-06 12:21:04 UTC (rev 22497)
@@ -15,28 +15,32 @@
         return count;
     }

-    public int read() throws IOException {
+    @Override
+       public int read() throws IOException {
         int ret = super.read();
         if (ret != -1)
             ++count;
         return ret;
     }

-    public int read(byte[] buf, int off, int len) throws IOException {
+    @Override
+       public int read(byte[] buf, int off, int len) throws IOException {
         int ret = super.read(buf, off, len);
         if (ret != -1)
             count += ret;
         return ret;
     }

-    public int read(byte[] buf) throws IOException {
+    @Override
+       public int read(byte[] buf) throws IOException {
         int ret = super.read(buf);
         if (ret != -1)
             count += ret;
         return ret;
     }

-    public long skip(long n) throws IOException {
+    @Override
+       public long skip(long n) throws IOException {
        long l = in.skip(n);
        if(l > 0) count += l;
        return l;

Modified: trunk/freenet/src/freenet/support/io/FileBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/FileBucket.java        2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/io/FileBucket.java        2008-09-06 
12:21:04 UTC (rev 22497)
@@ -60,6 +60,7 @@
        /**
         * Returns the file object this buckets data is kept in.
         */
+       @Override
        public synchronized File getFile() {
                return file;
        }
@@ -81,18 +82,22 @@
                deleteOnFinalize = false;
        }

+       @Override
        protected boolean createFileOnly() {
                return createFileOnly;
        }

+       @Override
        protected boolean deleteOnExit() {
                return deleteOnExit;
        }

+       @Override
        protected boolean deleteOnFinalize() {
                return deleteOnFinalize;
        }

+       @Override
        protected boolean deleteOnFree() {
                return deleteOnFree;
        }

Modified: trunk/freenet/src/freenet/support/io/MultiReaderBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/MultiReaderBucket.java 2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/io/MultiReaderBucket.java 2008-09-06 
12:21:04 UTC (rev 22497)
@@ -73,6 +73,7 @@
                                is = bucket.getInputStream();
                        }

+                       @Override
                        public final int read() throws IOException {
                                synchronized(MultiReaderBucket.this) {
                                        if(freed || closed) throw new 
IOException("Already closed");
@@ -80,6 +81,7 @@
                                return is.read();
                        }

+                       @Override
                        public final int read(byte[] data, int offset, int 
length) throws IOException {
                                synchronized(MultiReaderBucket.this) {
                                        if(freed || closed) throw new 
IOException("Already closed");
@@ -87,6 +89,7 @@
                                return is.read(data, offset, length);
                        }

+                       @Override
                        public final int read(byte[] data) throws IOException {
                                synchronized(MultiReaderBucket.this) {
                                        if(freed || closed) throw new 
IOException("Already closed");
@@ -94,6 +97,7 @@
                                return is.read(data);
                        }

+                       @Override
                        public final void close() throws IOException {
                                is.close();
                        }
@@ -120,6 +124,7 @@
                        return bucket.size();
                }

+               @Override
                protected void finalize() {
                        free();
                }

Modified: trunk/freenet/src/freenet/support/io/NullInputStream.java
===================================================================
--- trunk/freenet/src/freenet/support/io/NullInputStream.java   2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/io/NullInputStream.java   2008-09-06 
12:21:04 UTC (rev 22497)
@@ -6,6 +6,7 @@

 public class NullInputStream extends InputStream {
     public NullInputStream() {}
-    public int read() { return -1; }
+    @Override
+       public int read() { return -1; }
 }


Modified: trunk/freenet/src/freenet/support/io/NullOutputStream.java
===================================================================
--- trunk/freenet/src/freenet/support/io/NullOutputStream.java  2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/io/NullOutputStream.java  2008-09-06 
12:21:04 UTC (rev 22497)
@@ -6,7 +6,9 @@

 public class NullOutputStream extends OutputStream {
     public NullOutputStream() {}
-    public void write(int b) {}
-    public void write(byte[] buf, int off, int len) {}
+    @Override
+       public void write(int b) {}
+    @Override
+       public void write(byte[] buf, int off, int len) {}
 }


Modified: trunk/freenet/src/freenet/support/io/NullWriter.java
===================================================================
--- trunk/freenet/src/freenet/support/io/NullWriter.java        2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/io/NullWriter.java        2008-09-06 
12:21:04 UTC (rev 22497)
@@ -8,12 +8,15 @@

 public class NullWriter extends Writer {

+       @Override
        public void write(char[] cbuf, int off, int len) throws IOException {
        }

+       @Override
        public void flush() throws IOException {
        }

+       @Override
        public void close() throws IOException {
        }


Modified: 
trunk/freenet/src/freenet/support/io/PaddedEphemerallyEncryptedBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/PaddedEphemerallyEncryptedBucket.java  
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/io/PaddedEphemerallyEncryptedBucket.java  
2008-09-06 12:21:04 UTC (rev 22497)
@@ -138,6 +138,7 @@
                        pcfb = PCFBMode.create(aes);
                }

+               @Override
                public void write(int b) throws IOException {
                        if(closed) throw new IOException("Already closed!");
                        if(streamNumber != lastOutputStream)
@@ -222,6 +223,7 @@
                        ptr = 0;
                }

+               @Override
                public int read() throws IOException {
                        if(ptr > dataLength) return -1;
                        int x = in.read();

Modified: trunk/freenet/src/freenet/support/io/PersistentTempFileBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/PersistentTempFileBucket.java  
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/io/PersistentTempFileBucket.java  
2008-09-06 12:21:04 UTC (rev 22497)
@@ -11,11 +11,13 @@
                super(id, generator);
        }

+       @Override
        protected boolean deleteOnFinalize() {
                // Do not delete on finalize
                return false;
        }

+       @Override
        protected boolean deleteOnExit() {
                // DO NOT DELETE ON EXIT !!!!
                return false;
@@ -44,6 +46,7 @@
                return bucket;
        }

+       @Override
        public SimpleFieldSet toFieldSet() {
                if(deleteOnFinalize()) return null;
                SimpleFieldSet fs = super.toFieldSet();

Modified: trunk/freenet/src/freenet/support/io/ReadOnlyFileSliceBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/ReadOnlyFileSliceBucket.java   
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/io/ReadOnlyFileSliceBucket.java   
2008-09-06 12:21:04 UTC (rev 22497)
@@ -92,6 +92,7 @@
                        }
                }

+               @Override
                public int read() throws IOException {
                        if(ptr >= length)
                                return -1;
@@ -101,6 +102,7 @@
                        return x;
                }

+               @Override
                public int read(byte[] buf, int offset, int len) throws 
IOException {
                        if(ptr >= length)
                                return -1;
@@ -110,10 +112,12 @@
                        return x;
                }

+               @Override
                public int read(byte[] buf) throws IOException {
                        return read(buf, 0, buf.length);
                }

+               @Override
                public void close() throws IOException {
                        f.close();
                }

Modified: trunk/freenet/src/freenet/support/io/TempFileBucket.java
===================================================================
--- trunk/freenet/src/freenet/support/io/TempFileBucket.java    2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/io/TempFileBucket.java    2008-09-06 
12:21:04 UTC (rev 22497)
@@ -46,12 +46,14 @@
                }
        }

+       @Override
        protected boolean deleteOnFinalize() {
                // Make sure finalize wacks temp file 
                // if it is not explictly freed.
                return true;
        }

+       @Override
        public SimpleFieldSet toFieldSet() {
                if(deleteOnFinalize())
                        return null; // Not persistent
@@ -59,14 +61,17 @@
                return super.toFieldSet();
        }

+       @Override
        protected boolean createFileOnly() {
                return false;
        }

+       @Override
        protected boolean deleteOnFree() {
                return true;
        }

+       @Override
        public File getFile() {
                return generator.getFilename(filenameID);
        }
@@ -79,6 +84,7 @@
                readOnly = true;
        }

+       @Override
        protected boolean deleteOnExit() {
                return true;
        }

Modified: 
trunk/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java
===================================================================
--- 
trunk/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java 
    2008-09-06 11:46:41 UTC (rev 22496)
+++ 
trunk/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java 
    2008-09-06 12:21:04 UTC (rev 22497)
@@ -24,7 +24,8 @@
         RunningAverage {

        private static final long serialVersionUID = -1;
-    public final Object clone() {
+    @Override
+       public final Object clone() {
         return new BootstrappingDecayingRunningAverage(this);
     }

@@ -37,7 +38,8 @@
     private long zeros;
     private long ones;

-    public synchronized String toString() {
+    @Override
+       public synchronized String toString() {
         return super.toString() + ": min="+min+", max="+max+", currentValue="+
                currentValue+", reports="+reports+", maxReports="+maxReports
                // FIXME

Modified: trunk/freenet/src/freenet/support/math/DecayingKeyspaceAverage.java
===================================================================
--- trunk/freenet/src/freenet/support/math/DecayingKeyspaceAverage.java 
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/math/DecayingKeyspaceAverage.java 
2008-09-06 12:21:04 UTC (rev 22497)
@@ -29,6 +29,7 @@
                avg = (BootstrappingDecayingRunningAverage) a.clone();
        }

+       @Override
        public synchronized Object clone() {
                return new DecayingKeyspaceAverage(avg);
        }

Modified: trunk/freenet/src/freenet/support/math/SimpleBinaryRunningAverage.java
===================================================================
--- trunk/freenet/src/freenet/support/math/SimpleBinaryRunningAverage.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/math/SimpleBinaryRunningAverage.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -18,7 +18,8 @@
 public class SimpleBinaryRunningAverage implements RunningAverage {
        private static final long serialVersionUID = -1;

-    public Object clone() {
+    @Override
+       public Object clone() {
         return new SimpleBinaryRunningAverage(this);
     }

@@ -127,6 +128,7 @@
                        " total";
        }

+       @Override
        public synchronized String toString() {
                return super.toString() + " ("+extraToString()+ ')' +
                        ", init="+defaultValue+", index="+index+", 
totalReported="+

Modified: trunk/freenet/src/freenet/support/math/SimpleRunningAverage.java
===================================================================
--- trunk/freenet/src/freenet/support/math/SimpleRunningAverage.java    
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/math/SimpleRunningAverage.java    
2008-09-06 12:21:04 UTC (rev 22497)
@@ -20,7 +20,8 @@
     final double initValue;
     private boolean logDEBUG = Logger.shouldLog(Logger.DEBUG, this);

-    public final Object clone() {
+    @Override
+       public final Object clone() {
         return new SimpleRunningAverage(this);
     }

@@ -86,7 +87,8 @@
                return refs[nextSlotPtr];
        }

-    public synchronized String toString() {
+    @Override
+       public synchronized String toString() {
         return super.toString() + ": curLen="+curLen+", ptr="+nextSlotPtr+", 
total="+
                total+", average="+total/curLen;
     }

Modified: trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java
===================================================================
--- trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java      
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java      
2008-09-06 12:21:04 UTC (rev 22497)
@@ -27,7 +27,8 @@
        private static final long serialVersionUID = -1;
     static final int MAGIC = 0x5ff4ac94;

-    public final Object clone() {
+    @Override
+       public final Object clone() {
         return new TimeDecayingRunningAverage(this);
     }

@@ -43,7 +44,8 @@
     boolean logDEBUG;
     private final TimeSkewDetectorCallback timeSkewCallback;

-    public String toString() {
+    @Override
+       public String toString() {
                long now = System.currentTimeMillis();
                synchronized(this) {
                return super.toString() + ": currentValue="+curValue+", 
halfLife="+halfLife+

Modified: trunk/freenet/src/freenet/support/math/TrivialRunningAverage.java
===================================================================
--- trunk/freenet/src/freenet/support/math/TrivialRunningAverage.java   
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/freenet/support/math/TrivialRunningAverage.java   
2008-09-06 12:21:04 UTC (rev 22497)
@@ -39,7 +39,8 @@
                return (total + r) / (reports + 1);
        }

-    public Object clone() {
+    @Override
+       public Object clone() {
        synchronized (this) {
                        return new TrivialRunningAverage(this);
                }

Modified: trunk/freenet/src/net/i2p/util/NativeBigInteger.java
===================================================================
--- trunk/freenet/src/net/i2p/util/NativeBigInteger.java        2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/net/i2p/util/NativeBigInteger.java        2008-09-06 
12:21:04 UTC (rev 22497)
@@ -227,6 +227,7 @@
                this(integer.toByteArray());
        }

+       @Override
        public BigInteger modPow(BigInteger exponent, BigInteger m) {
                if(_nativeOk)
                        return new NativeBigInteger(nativeModPow(toByteArray(), 
exponent.toByteArray(), m.toByteArray()));
@@ -234,12 +235,14 @@
                        return new NativeBigInteger(super.modPow(exponent, m));
        }

+       @Override
        public byte[] toByteArray() {
                if(cachedBa == null) //Since we are immutable it is safe to 
never update the cached ba after it has initially been generated
                        cachedBa = super.toByteArray();
                return cachedBa;
        }

+       @Override
        public String toString(int radix) {
                if(radix == 16)
                        return toHexString();
@@ -251,6 +254,7 @@
                return HexUtil.bytesToHex(buf);
        }

+       @Override
        public double doubleValue() {
                if(_nativeOk)
                        return nativeDoubleValue(toByteArray());

Modified: trunk/freenet/src/org/spaceroots/mantissa/random/MersenneTwister.java
===================================================================
--- trunk/freenet/src/org/spaceroots/mantissa/random/MersenneTwister.java       
2008-09-06 11:46:41 UTC (rev 22496)
+++ trunk/freenet/src/org/spaceroots/mantissa/random/MersenneTwister.java       
2008-09-06 12:21:04 UTC (rev 22497)
@@ -216,6 +216,7 @@
         * generator built with the same seed.</p>
         * @param seed the initial seed (64 bits integer)
         */
+       @Override
        public synchronized void setSeed(long seed) {
                if (mt == null) {
                        // this is probably a spurious call from base class 
constructor,
@@ -236,6 +237,7 @@
         * #nextLong nextLong}.</p>
         * @param bits number of random bits to produce
         */
+       @Override
        protected synchronized int next(int bits) {
                int y;


Modified: trunk/freenet/test/freenet/config/ConfigTest.java
===================================================================
--- trunk/freenet/test/freenet/config/ConfigTest.java   2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/test/freenet/config/ConfigTest.java   2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -31,6 +31,7 @@
                super(name);
        }

+       @Override
        protected void setUp() throws Exception {
                super.setUp();
                conf = new Config();

Modified: trunk/freenet/test/freenet/crypt/DSATest.java
===================================================================
--- trunk/freenet/test/freenet/crypt/DSATest.java       2008-09-06 11:46:41 UTC 
(rev 22496)
+++ trunk/freenet/test/freenet/crypt/DSATest.java       2008-09-06 12:21:04 UTC 
(rev 22497)
@@ -72,11 +72,13 @@
         super(testName); 
     }

-    protected void setUp() throws Exception {
+    @Override
+       protected void setUp() throws Exception {
         randomSource = new DummyRandomSource();
     }

-    protected void tearDown() throws Exception {}
+    @Override
+       protected void tearDown() throws Exception {}

     /**
      * Test of verify and sign method consistency using FIPS examples.*/

Modified: trunk/freenet/test/freenet/support/HTMLNodeTest.java
===================================================================
--- trunk/freenet/test/freenet/support/HTMLNodeTest.java        2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/test/freenet/support/HTMLNodeTest.java        2008-09-06 
12:21:04 UTC (rev 22497)
@@ -46,6 +46,7 @@
        //example node content that includes a not ASCII char [Greek omicron]
        private static final String SAMPLE_NODE_CONTENT = 
"sampleNodeC\u03bfntent";

+       @Override
        protected void setUp() throws Exception {
                super.setUp();
                exampleNode = null;

Modified: trunk/freenet/test/freenet/support/TimeUtilTest.java
===================================================================
--- trunk/freenet/test/freenet/support/TimeUtilTest.java        2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/test/freenet/support/TimeUtilTest.java        2008-09-06 
12:21:04 UTC (rev 22497)
@@ -29,6 +29,7 @@
        //1w+1d+1h+1m+1s+1ms
        private long oneForTermLong = 694861001;

+       @Override
        protected void setUp() throws Exception {
                Locale.setDefault(Locale.US);
        }

Modified: trunk/freenet/test/freenet/support/io/MockInputStream.java
===================================================================
--- trunk/freenet/test/freenet/support/io/MockInputStream.java  2008-09-06 
11:46:41 UTC (rev 22496)
+++ trunk/freenet/test/freenet/support/io/MockInputStream.java  2008-09-06 
12:21:04 UTC (rev 22497)
@@ -10,10 +10,12 @@
        public MockInputStream() {
        }

+       @Override
        public int read() {
                return -1;
        }

+       @Override
        public int read(byte[] data, int offset, int len) {
                return len;
        }

Modified: 
trunk/freenet/test/org/spaceroots/mantissa/random/ScalarSampleStatisticsTest.java
===================================================================
--- 
trunk/freenet/test/org/spaceroots/mantissa/random/ScalarSampleStatisticsTest.java
   2008-09-06 11:46:41 UTC (rev 22496)
+++ 
trunk/freenet/test/org/spaceroots/mantissa/random/ScalarSampleStatisticsTest.java
   2008-09-06 12:21:04 UTC (rev 22497)
@@ -69,11 +69,13 @@

   }

-  public void setUp() {
+  @Override
+public void setUp() {
     points = new double[] {1.0, 4.2, -5, 4.0, 2.9, 10.4, 0.0, 4.1, 4.2, 4.2};
   }

-  public void tearDown() {
+  @Override
+public void tearDown() {
     points = null;
   }



Reply via email to