Author: toad
Date: 2008-09-25 01:00:29 +0000 (Thu, 25 Sep 2008)
New Revision: 22831

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


Modified: branches/db4o/freenet/src/freenet/client/ArchiveKey.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/ArchiveKey.java    2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/ArchiveKey.java    2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/client/ClientMetadata.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/ClientMetadata.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/ClientMetadata.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/client/ErrorArchiveStoreItem.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/ErrorArchiveStoreItem.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/ErrorArchiveStoreItem.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/client/FailureCodeTracker.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/FailureCodeTracker.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/FailureCodeTracker.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -93,6 +93,7 @@
                return sb.toString();
        }

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

Modified: branches/db4o/freenet/src/freenet/client/FetchException.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/FetchException.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/FetchException.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -246,6 +246,7 @@
                else return ret;
        }

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

Modified: branches/db4o/freenet/src/freenet/client/Metadata.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/Metadata.java      2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/Metadata.java      2008-09-25 
01:00:29 UTC (rev 22831)
@@ -117,6 +117,7 @@

        ClientMetadata clientMetadata;

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

Modified: branches/db4o/freenet/src/freenet/client/RealArchiveStoreItem.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/RealArchiveStoreItem.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/RealArchiveStoreItem.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/client/SplitFetchException.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/SplitFetchException.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/SplitFetchException.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/client/StandardOnionFECCodec.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/StandardOnionFECCodec.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/StandardOnionFECCodec.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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;
                }
@@ -105,10 +107,12 @@
                // Crashes are caused by bugs which cause to use 320/128 etc. - 
n > 256, k < 256.
        }

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

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

Modified: 
branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -46,14 +46,17 @@
                cooldownWakeupTime = -1;
        }

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

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

+       @Override
        public Object chooseKey(KeysFetchingLocally fetching, ObjectContainer 
container, ClientContext context) {
                if(persistent)
                        container.activate(key, 5);
@@ -65,6 +68,7 @@
                return keys[0];
        }

+       @Override
        public boolean hasValidKeys(KeysFetchingLocally fetching, 
ObjectContainer container, ClientContext context) {
                if(persistent)
                        container.activate(key, 5);
@@ -72,16 +76,19 @@
                return !fetching.hasKey(key.getNodeKey());
        }

+       @Override
        public ClientKey getKey(Object token, ObjectContainer container) {
                if(persistent)
                        container.activate(key, 5);
                return key;
        }

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

+       @Override
        public boolean isSSK() {
                return key instanceof ClientSSK;
        }
@@ -118,20 +125,24 @@
                return false;
        }

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

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

+       @Override
        public short getPriorityClass(ObjectContainer container) {
                if(persistent) container.activate(parent, 1); // Not much point 
deactivating it
                short retval = parent.getPriorityClass();
                return retval;
        }

+       @Override
        public boolean ignoreStore() {
                return ctx.ignoreStore;
        }
@@ -157,6 +168,7 @@
                super.unregister(container, context);
        }

+       @Override
        public synchronized boolean isCancelled(ObjectContainer container) {
                return cancelled;
        }
@@ -165,6 +177,7 @@
                return cancelled || finished || chosen;
        }

+       @Override
        public RequestClient getClient() {
                return parent.getClient();
        }
@@ -173,6 +186,7 @@
                return !ctx.cacheLocalRequests;
        }

+       @Override
        public boolean dontCache() {
                return !ctx.cacheLocalRequests;
        }
@@ -222,20 +236,24 @@
        }


+       @Override
        public long getCooldownWakeup(Object token, ObjectContainer container) {
                return cooldownWakeupTime;
        }
-       
+
+       @Override
        public long getCooldownWakeupByKey(Key key, ObjectContainer container) {
                return cooldownWakeupTime;
        }

+       @Override
        public synchronized void resetCooldownTimes(ObjectContainer container) {
                cooldownWakeupTime = -1;
                if(persistent)
                        container.set(this);
        }
-       
+
+       @Override
        public void requeueAfterCooldown(Key key, long time, ObjectContainer 
container, ClientContext context) {
                if(cooldownWakeupTime > time) {
                        if(Logger.shouldLog(Logger.MINOR, this)) 
Logger.minor(this, "Not requeueing as deadline has not passed yet");

Modified: branches/db4o/freenet/src/freenet/client/async/BinaryBlobInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/BinaryBlobInserter.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/BinaryBlobInserter.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -191,6 +191,7 @@
                        maybeFinish(container, context);
                }

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

Modified: branches/db4o/freenet/src/freenet/client/async/ClientGetter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientGetter.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/ClientGetter.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -236,14 +236,17 @@
                }
        }

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

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

+       @Override
        public void notifyClients(ObjectContainer container, ClientContext 
context) {
                if(persistent()) {
                        container.activate(ctx, 1);

Modified: branches/db4o/freenet/src/freenet/client/async/ClientPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientPutter.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/ClientPutter.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -218,6 +218,7 @@
                client.onFailure(e, this, container);
        }

+       @Override
        public void onMajorProgress(ObjectContainer container) {
                if(persistent())
                        container.activate(client, 1);
@@ -236,7 +237,8 @@
                        container.set(this);
                client.onGeneratedURI(uri, this, container);
        }
-       
+
+       @Override
        public void cancel(ObjectContainer container, ClientContext context) {
                if(Logger.shouldLog(Logger.MINOR, this))
                        Logger.minor(this, "Cancelling "+this, new 
Exception("debug"));
@@ -257,10 +259,12 @@
                onFailure(new InsertException(InsertException.CANCELLED), null, 
container, context);
        }

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

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

+       @Override
        public void notifyClients(ObjectContainer container, ClientContext 
context) {
                if(persistent())
                        container.activate(ctx, 2);
@@ -315,6 +320,7 @@
                return start(earlyEncode, true, container, context);
        }

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

Modified: 
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -56,6 +56,7 @@
                        this.cs = cs;
                }

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

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

Modified: branches/db4o/freenet/src/freenet/client/async/ManifestElement.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ManifestElement.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/ManifestElement.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -66,10 +66,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: branches/db4o/freenet/src/freenet/client/async/OfferedKeysList.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/OfferedKeysList.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/OfferedKeysList.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -70,16 +70,19 @@
                return keys.isEmpty();
        }

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

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

+       @Override
        public synchronized Object chooseKey(KeysFetchingLocally fetching, 
ObjectContainer container, ClientContext context) {
                assert(keysList.size() == keys.size());
                if(keys.size() == 1) {
@@ -106,6 +109,7 @@
                return null;
        }

+       @Override
        public synchronized boolean hasValidKeys(KeysFetchingLocally fetching, 
ObjectContainer container, ClientContext context) {
                assert(keysList.size() == keys.size());
                if(keys.size() == 1) {
@@ -125,23 +129,28 @@
                return false;
        }

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

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

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

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

+       @Override
        public void internalError(Throwable t, RequestScheduler sched, 
ObjectContainer container, ClientContext context, boolean persistent) {
                Logger.error(this, "Internal error: "+t, t);
        }
@@ -173,6 +182,7 @@
                return false;
        }

+       @Override
        public boolean isCancelled(ObjectContainer container) {
                return false;
        }
@@ -186,6 +196,7 @@
                assert(keysList.size() == keys.size());
        }

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

Modified: branches/db4o/freenet/src/freenet/client/async/SimpleHealingQueue.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleHealingQueue.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleHealingQueue.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -66,18 +66,22 @@
                        data.free();
        }

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

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

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

+       @Override
        public void notifyClients(ObjectContainer container, ClientContext 
context) {
                // Do nothing
        }
@@ -126,6 +130,7 @@
                // Ignore
        }

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

Modified: 
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -94,10 +94,12 @@
                        super.cancel();
                }

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

+               @Override
                public boolean isFinished() {
                        return SimpleManifestPutter.this.finished || cancelled 
|| SimpleManifestPutter.this.cancelled;
                }
@@ -170,42 +172,49 @@
                        gotAllMetadata(container, context);
                }

+               @Override
                public void addBlock(ObjectContainer container) {
                        if(persistent)
                                container.activate(SimpleManifestPutter.this, 
1);
                        SimpleManifestPutter.this.addBlock(container);
                }

+               @Override
                public void addBlocks(int num, ObjectContainer container) {
                        if(persistent)
                                container.activate(SimpleManifestPutter.this, 
1);
                        SimpleManifestPutter.this.addBlocks(num, container);
                }

+               @Override
                public void completedBlock(boolean dontNotify, ObjectContainer 
container, ClientContext context) {
                        if(persistent)
                                container.activate(SimpleManifestPutter.this, 
1);
                        SimpleManifestPutter.this.completedBlock(dontNotify, 
container, context);
                }

+               @Override
                public void failedBlock(ObjectContainer container, 
ClientContext context) {
                        if(persistent)
                                container.activate(SimpleManifestPutter.this, 
1);
                        SimpleManifestPutter.this.failedBlock(container, 
context);
                }

+               @Override
                public void fatallyFailedBlock(ObjectContainer container, 
ClientContext context) {
                        if(persistent)
                                container.activate(SimpleManifestPutter.this, 
1);
                        SimpleManifestPutter.this.fatallyFailedBlock(container, 
context);
                }

+               @Override
                public void addMustSucceedBlocks(int blocks, ObjectContainer 
container) {
                        if(persistent)
                                container.activate(SimpleManifestPutter.this, 
1);
                        SimpleManifestPutter.this.addMustSucceedBlocks(blocks, 
container);
                }

+               @Override
                public void notifyClients(ObjectContainer container, 
ClientContext context) {
                        // FIXME generate per-filename events???
                }
@@ -224,6 +233,7 @@
                        SimpleManifestPutter.this.blockSetFinalized(container, 
context);
                }

+               @Override
                public void onMajorProgress(ObjectContainer container) {
                        if(persistent)
                                container.activate(SimpleManifestPutter.this, 
1);
@@ -236,6 +246,7 @@
                        SimpleManifestPutter.this.onFetchable(this, container);
                }

+               @Override
                public void onTransition(ClientGetState oldState, 
ClientGetState newState, ObjectContainer container) {
                        // Ignore
                }
@@ -391,10 +402,12 @@
                }
        }

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

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

+       @Override
        public void cancel(ObjectContainer container, ClientContext context) {
                super.cancel();
                if(persistent())
@@ -715,6 +729,7 @@
                // Ignore
        }

+       @Override
        public void notifyClients(ObjectContainer container, ClientContext 
context) {
                if(persistent()) {
                        container.activate(ctx, 1);
@@ -733,6 +748,7 @@
                        container.set(this);
        }

+       @Override
        public void blockSetFinalized(ObjectContainer container, ClientContext 
context) {
                synchronized(this) {
                        if(!metadataBlockSetFinalized) return;
@@ -829,6 +845,7 @@
                return totalSize;
        }

+       @Override
        public void onMajorProgress(ObjectContainer container) {
                if(persistent())
                        container.activate(cb, 1);
@@ -878,6 +895,7 @@
                cb.onFetchable(this, container);
        }

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

Modified: 
branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -42,6 +42,7 @@
        final long token;

        // Translate it, then call the real onFailure
+       @Override
        public void onFailure(LowLevelGetException e, Object reqTokenIgnored, 
ObjectContainer container, ClientContext context) {
                switch(e.code) {
                case LowLevelGetException.DATA_NOT_FOUND:
@@ -123,6 +124,7 @@
                rcb.onSuccess(data, this, container, context);
        }

+       @Override
        public void onSuccess(ClientKeyBlock block, boolean fromStore, Object 
reqTokenIgnored, ObjectContainer container, ClientContext context) {
                if(persistent) {
                        container.activate(parent, 1);

Modified: 
branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -150,10 +150,12 @@
                return parent.getPriorityClass(); // Not much point deactivating
        }

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

+       @Override
        public void onFailure(LowLevelPutException e, Object keyNum, 
ObjectContainer container, ClientContext context) {
                if(persistent)
                        container.activate(errors, 1);
@@ -292,6 +294,7 @@
                return resultingURI;
        }

+       @Override
        public void onSuccess(Object keyNum, ObjectContainer container, 
ClientContext context) {
                if(logMINOR) Logger.minor(this, "Succeeded ("+this+"): "+token);
                if(persistent)
@@ -337,6 +340,7 @@
                return finished;
        }

+       @Override
        public synchronized boolean isCancelled(ObjectContainer container) {
                return finished;
        }
@@ -369,10 +373,12 @@
                };
        }

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

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

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

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

+       @Override
        public synchronized Object chooseKey(KeysFetchingLocally ignored, 
ObjectContainer container, ClientContext context) {
                if(finished) return null;
                // Ignore KeysFetchingLocally, it's for requests.

Modified: branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -128,6 +128,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, ObjectContainer container, ClientContext context) {
                if(persistent) {
                        container.activate(parent, 1);
@@ -183,6 +184,7 @@
                }
        }

+       @Override
        protected void onSuccess(FetchResult result, ObjectContainer container, 
ClientContext context) {
                if(persistent) {
                        container.activate(decompressors, 1);
@@ -900,6 +902,7 @@

        }

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

Modified: 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java  
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java  
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -66,19 +66,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, ObjectContainer 
container, ClientContext context) {
                if(cancelled) return null;
                return removeRandomBlockNum(keys, context, container);
        }

+       @Override
        public ClientKey getKey(Object token, ObjectContainer container) {
                if(persistent) {
                        container.activate(this, 1);
@@ -108,6 +112,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(ObjectContainer container) {
                if(persistent) {
                        container.activate(this, 1);
@@ -119,6 +124,7 @@
        /**
         * Just those keys which are eligible to be started now.
         */
+       @Override
        public Object[] sendableKeys(ObjectContainer container) {
                if(persistent) {
                        container.activate(this, 1);
@@ -187,6 +193,7 @@
                }
        }

+       @Override
        public boolean hasValidKeys(KeysFetchingLocally keys, ObjectContainer 
container, ClientContext context) {
                if(persistent) {
                        container.activate(this, 1);
@@ -232,6 +239,7 @@
                return retval;
        }

+       @Override
        public boolean ignoreStore() {
                return ctx.ignoreStore;
        }
@@ -361,6 +369,7 @@
                }
        }

+       @Override
        public void onSuccess(ClientKeyBlock block, boolean fromStore, Object 
token, ObjectContainer container, ClientContext context) {
                if(persistent) {
                        container.activate(this, 1);
@@ -438,19 +447,23 @@
                return data;
        }

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

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

+       @Override
        public short getPriorityClass(ObjectContainer container) {
                if(persistent) container.activate(parent, 1);
                return parent.priorityClass;
        }

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

+       @Override
        public boolean isCancelled(ObjectContainer container) {
                if(persistent) {
                        container.activate(parent, 1);
@@ -488,6 +502,7 @@
                }
        }

+       @Override
        public boolean isSSK() {
                // Not allowed in splitfiles
                return false;
@@ -611,6 +626,7 @@
                return false;
        }

+       @Override
        public String toString() {
                return 
super.toString()+":"+retryCount+"/"+segment+'('+(blockNums == null ? "null" : 
String.valueOf(blockNums.size()))+"),tempid="+objectHash(); 
        }
@@ -707,6 +723,7 @@
                }
        }

+       @Override
        public long getCooldownWakeup(Object token, ObjectContainer container) {
                if(persistent) {
                        container.activate(this, 1);
@@ -716,6 +733,7 @@
                return ret;
        }

+       @Override
        public void requeueAfterCooldown(Key key, long time, ObjectContainer 
container, ClientContext context) {
                if(persistent) {
                        container.activate(segment, 1);
@@ -734,6 +752,7 @@
                }
        }

+       @Override
        public long getCooldownWakeupByKey(Key key, ObjectContainer container) {
                /* Only deactivate if was deactivated in the first place. 
                 * See the removePendingKey() stack trace: Segment is the 
listener (getter) ! */
@@ -751,6 +770,7 @@
                return ret;
        }

+       @Override
        public void resetCooldownTimes(ObjectContainer container) {
                if(persistent) {
                        container.activate(this, 1);

Modified: branches/db4o/freenet/src/freenet/client/async/USKChecker.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKChecker.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/USKChecker.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -27,6 +27,7 @@
                this.cb = cb;
        }

+       @Override
        public void onSuccess(ClientKeyBlock block, boolean fromStore, Object 
token, ObjectContainer container, ClientContext context) {
                if(persistent) {
                        container.activate(this, 1);
@@ -35,6 +36,7 @@
                cb.onSuccess((ClientSSKBlock)block, context);
        }

+       @Override
        public void onFailure(LowLevelGetException e, Object token, 
ObjectContainer container, ClientContext context) {
                if(persistent) {
                        container.activate(this, 1);
@@ -87,6 +89,7 @@
                        cb.onNetworkError(context);
        }

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

Modified: branches/db4o/freenet/src/freenet/client/async/USKFetcherWrapper.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKFetcherWrapper.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/USKFetcherWrapper.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -23,14 +23,17 @@
                this.usk = usk;
        }

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

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

+       @Override
        public void notifyClients(ObjectContainer container, ClientContext 
context) {
                // Do nothing
        }
@@ -47,10 +50,12 @@
                // Ignore
        }

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

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

Modified: branches/db4o/freenet/src/freenet/client/async/USKRetriever.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKRetriever.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/client/async/USKRetriever.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -70,18 +70,22 @@
                // Ignore
        }

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

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

+       @Override
        public void notifyClients(ObjectContainer container, ClientContext 
context) {
                // Ignore for now
        }

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

Modified: 
branches/db4o/freenet/src/freenet/clients/http/BookmarkEditorToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/BookmarkEditorToadlet.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/BookmarkEditorToadlet.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/clients/http/BrowserTestToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/BrowserTestToadlet.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/BrowserTestToadlet.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/clients/http/ConnectionsToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/ConnectionsToadlet.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/ConnectionsToadlet.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/clients/http/ConnectivityToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/ConnectivityToadlet.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/ConnectivityToadlet.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java   
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java   
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/clients/http/FProxyToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/FProxyToadlet.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/FProxyToadlet.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -91,6 +91,7 @@
                        };
        }

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

Modified: 
branches/db4o/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/FirstTimeWizardToadlet.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -451,6 +451,7 @@
                return L10n.getString("FirstTimeWizardToadlet."+key);
        }

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

Modified: 
branches/db4o/freenet/src/freenet/clients/http/LocalFileInsertToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/LocalFileInsertToadlet.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/LocalFileInsertToadlet.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/clients/http/N2NTMToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/N2NTMToadlet.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/N2NTMToadlet.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java   
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java   
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/clients/http/QueueToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/QueueToadlet.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/QueueToadlet.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -98,6 +98,7 @@
                loadCompletedIdentifiers();
        }

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

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

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

@@ -1226,6 +1228,7 @@
                return table;
        }

+       @Override
        public String supportedMethods() {
                return "GET, POST";
        }
@@ -1392,6 +1395,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);
@@ -1401,6 +1405,7 @@
                                        }
                                        saveCompletedIdentifiersOffThread();
                                }
+                               @Override
                                public boolean isEventNotification() {
                                        return true;
                                }
@@ -1426,6 +1431,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);
@@ -1435,6 +1441,7 @@
                                        }
                                        saveCompletedIdentifiersOffThread();
                                }
+                               @Override
                                public boolean isEventNotification() {
                                        return true;
                                }
@@ -1455,6 +1462,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);
@@ -1464,6 +1472,7 @@
                                        }
                                        saveCompletedIdentifiersOffThread();
                                }
+                               @Override
                                public boolean isEventNotification() {
                                        return true;
                                }

Modified: 
branches/db4o/freenet/src/freenet/clients/http/SimpleToadletServer.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/SimpleToadletServer.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/SimpleToadletServer.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/clients/http/StartupToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/StartupToadlet.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/StartupToadlet.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -52,6 +52,7 @@
                }
        }

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

Modified: branches/db4o/freenet/src/freenet/clients/http/StaticToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/StaticToadlet.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/StaticToadlet.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/clients/http/StatisticsToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/StatisticsToadlet.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/StatisticsToadlet.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -80,6 +80,7 @@
                peers = node.peers;
        }

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

Modified: branches/db4o/freenet/src/freenet/clients/http/SymlinkerToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/SymlinkerToadlet.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/SymlinkerToadlet.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/clients/http/TranslationToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/TranslationToadlet.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/TranslationToadlet.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -250,6 +250,7 @@
                return;
        }

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

Modified: branches/db4o/freenet/src/freenet/clients/http/TrivialToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/TrivialToadlet.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/TrivialToadlet.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/clients/http/UserAlertsToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/UserAlertsToadlet.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/UserAlertsToadlet.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/clients/http/WelcomeToadlet.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/WelcomeToadlet.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/WelcomeToadlet.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/clients/http/bookmark/Bookmark.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/bookmark/Bookmark.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/bookmark/Bookmark.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/clients/http/bookmark/BookmarkCategory.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/clients/http/bookmark/BookmarkCategory.java   
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/clients/http/bookmark/BookmarkCategory.java   
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/bookmark/BookmarkItem.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/clients/http/filter/CSSParser.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/filter/CSSParser.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/filter/CSSParser.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java   
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/clients/http/filter/CSSTokenizerFilter.java   
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -1047,6 +1047,7 @@
                                suffix = "";
                }

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

Modified: 
branches/db4o/freenet/src/freenet/clients/http/filter/DataFilterException.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/clients/http/filter/DataFilterException.java  
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/clients/http/filter/DataFilterException.java  
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/clients/http/filter/HTMLFilter.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/filter/HTMLFilter.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/filter/HTMLFilter.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/clients/http/filter/KnownUnsafeContentTypeException.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/clients/http/filter/KnownUnsafeContentTypeException.java
  2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/clients/http/filter/KnownUnsafeContentTypeException.java
  2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/clients/http/filter/UnknownContentTypeException.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/clients/http/filter/UnknownContentTypeException.java
      2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/clients/http/filter/UnknownContentTypeException.java
      2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/clients/http/filter/Yytoken.java
===================================================================
--- branches/db4o/freenet/src/freenet/clients/http/filter/Yytoken.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/clients/http/filter/Yytoken.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/config/BooleanOption.java
===================================================================
--- branches/db4o/freenet/src/freenet/config/BooleanOption.java 2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/config/BooleanOption.java 2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/config/FilePersistentConfig.java
===================================================================
--- branches/db4o/freenet/src/freenet/config/FilePersistentConfig.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/config/FilePersistentConfig.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/config/FreenetFilePersistentConfig.java
===================================================================
--- branches/db4o/freenet/src/freenet/config/FreenetFilePersistentConfig.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/config/FreenetFilePersistentConfig.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -45,6 +45,7 @@
                return new FreenetFilePersistentConfig(load(filename, 
tempFilename), filename, tempFilename);
        }

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

Modified: branches/db4o/freenet/src/freenet/config/PersistentConfig.java
===================================================================
--- branches/db4o/freenet/src/freenet/config/PersistentConfig.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/config/PersistentConfig.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/config/StringArrOption.java
===================================================================
--- branches/db4o/freenet/src/freenet/config/StringArrOption.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/config/StringArrOption.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/crypt/CipherInputStream.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/CipherInputStream.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/CipherInputStream.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/crypt/CipherOutputStream.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/CipherOutputStream.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/CipherOutputStream.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/crypt/CryptoKey.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/CryptoKey.java      2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/CryptoKey.java      2008-09-25 
01:00:29 UTC (rev 22831)
@@ -62,6 +62,7 @@
                return b.toString();
        }

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

Modified: branches/db4o/freenet/src/freenet/crypt/DHGroup.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/DHGroup.java        2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/DHGroup.java        2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/crypt/DSAGroup.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/DSAGroup.java       2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/DSAGroup.java       2008-09-25 
01:00:29 UTC (rev 22831)
@@ -108,7 +108,8 @@
     //         writeForWire(out);
     //    }

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

@@ -124,7 +125,8 @@
         return g;
     }

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

-        public void run() {
+        @Override
+               public void run() {
             while (true) {
                 qs.addElement(makePrime(DSAGroup.Q_BIT_LENGTH, 80, r));
                 synchronized (this) {
@@ -184,7 +187,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);
@@ -195,7 +199,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)
@@ -208,7 +213,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();
     }

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

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

Modified: branches/db4o/freenet/src/freenet/crypt/DSAPrivateKey.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/DSAPrivateKey.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/DSAPrivateKey.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/crypt/DSAPublicKey.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/DSAPublicKey.java   2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/DSAPublicKey.java   2008-09-25 
01:00:29 UTC (rev 22831)
@@ -89,6 +89,7 @@
                return group.getG();
        }

+       @Override
        public String keyType() {
                return "DSA.p";
        }
@@ -130,6 +131,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);
@@ -155,6 +157,7 @@
                return padded;
        }

+       @Override
        public byte[] fingerprint() {
                synchronized(this) {
                        if(fingerprint == null)
@@ -169,10 +172,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: branches/db4o/freenet/src/freenet/crypt/DecipherOutputStream.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/DecipherOutputStream.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/DecipherOutputStream.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/crypt/DiffieHellman.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/DiffieHellman.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/DiffieHellman.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -54,6 +54,7 @@
                        setDaemon(true);
                }

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

Modified: branches/db4o/freenet/src/freenet/crypt/DiffieHellmanLightContext.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/DiffieHellmanLightContext.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/DiffieHellmanLightContext.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/crypt/DigestInputStream.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/DigestInputStream.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/DigestInputStream.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/crypt/DigestOutputStream.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/DigestOutputStream.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/DigestOutputStream.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/crypt/DummyRandomSource.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/DummyRandomSource.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/DummyRandomSource.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/crypt/EncipherInputStream.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/EncipherInputStream.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/EncipherInputStream.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/crypt/JavaSHA1.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/JavaSHA1.java       2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/JavaSHA1.java       2008-09-25 
01:00:29 UTC (rev 22831)
@@ -11,7 +11,8 @@

     MessageDigest digest;

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


Modified: branches/db4o/freenet/src/freenet/crypt/RijndaelPCFBMode.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/RijndaelPCFBMode.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/RijndaelPCFBMode.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/crypt/SSL.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/SSL.java    2008-09-25 00:08:21 UTC 
(rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/SSL.java    2008-09-25 01:00:29 UTC 
(rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/crypt/Yarrow.java
===================================================================
--- branches/db4o/freenet/src/freenet/crypt/Yarrow.java 2008-09-25 00:08:21 UTC 
(rev 22830)
+++ branches/db4o/freenet/src/freenet/crypt/Yarrow.java 2008-09-25 01:00:29 UTC 
(rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/frost/message/FrostMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/frost/message/FrostMessage.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/frost/message/FrostMessage.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -160,7 +160,8 @@
         this.isValid = isValid;
     }

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

Modified: 
branches/db4o/freenet/src/freenet/io/InetAddressAddressTrackerItem.java
===================================================================
--- branches/db4o/freenet/src/freenet/io/InetAddressAddressTrackerItem.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/io/InetAddressAddressTrackerItem.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -31,6 +31,7 @@

        public final InetAddress addr;

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

Modified: branches/db4o/freenet/src/freenet/io/PeerAddressTrackerItem.java
===================================================================
--- branches/db4o/freenet/src/freenet/io/PeerAddressTrackerItem.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/io/PeerAddressTrackerItem.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -45,6 +45,7 @@
                }
        }

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

Modified: branches/db4o/freenet/src/freenet/io/SSLNetworkInterface.java
===================================================================
--- branches/db4o/freenet/src/freenet/io/SSLNetworkInterface.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/io/SSLNetworkInterface.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -59,6 +59,7 @@
        /**
         * {@inheritDoc}
         */
+       @Override
        protected ServerSocket createServerSocket() throws IOException {
                ServerSocket serverSocket = SSL.createServerSocket();
                
((SSLServerSocket)serverSocket).setNeedClientAuth(requireClientAuthentication);

Modified: branches/db4o/freenet/src/freenet/io/comm/FreenetInetAddress.java
===================================================================
--- branches/db4o/freenet/src/freenet/io/comm/FreenetInetAddress.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/io/comm/FreenetInetAddress.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/io/comm/Message.java
===================================================================
--- branches/db4o/freenet/src/freenet/io/comm/Message.java      2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/io/comm/Message.java      2008-09-25 
01:00:29 UTC (rev 22831)
@@ -250,6 +250,7 @@
                return buf;
        }

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

Modified: branches/db4o/freenet/src/freenet/io/comm/MessageFilter.java
===================================================================
--- branches/db4o/freenet/src/freenet/io/comm/MessageFilter.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/io/comm/MessageFilter.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -240,7 +240,8 @@
         return _timeout;
     }

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


Modified: branches/db4o/freenet/src/freenet/io/comm/MessageType.java
===================================================================
--- branches/db4o/freenet/src/freenet/io/comm/MessageType.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/io/comm/MessageType.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/io/comm/Peer.java
===================================================================
--- branches/db4o/freenet/src/freenet/io/comm/Peer.java 2008-09-25 00:08:21 UTC 
(rev 22830)
+++ branches/db4o/freenet/src/freenet/io/comm/Peer.java 2008-09-25 01:00:29 UTC 
(rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/io/comm/RetrievalException.java
===================================================================
--- branches/db4o/freenet/src/freenet/io/comm/RetrievalException.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/io/comm/RetrievalException.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -60,6 +60,7 @@
                return _reason;
        }

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

Modified: branches/db4o/freenet/src/freenet/io/comm/UdpSocketHandler.java
===================================================================
--- branches/db4o/freenet/src/freenet/io/comm/UdpSocketHandler.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/io/comm/UdpSocketHandler.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -420,6 +420,7 @@
         return _sock.getLocalPort();
     }

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

Modified: branches/db4o/freenet/src/freenet/io/xfer/BlockTransmitter.java
===================================================================
--- branches/db4o/freenet/src/freenet/io/xfer/BlockTransmitter.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/io/xfer/BlockTransmitter.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -318,6 +318,7 @@
                return _destination;
        }

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

Modified: branches/db4o/freenet/src/freenet/io/xfer/BulkTransmitter.java
===================================================================
--- branches/db4o/freenet/src/freenet/io/xfer/BulkTransmitter.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/io/xfer/BulkTransmitter.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -266,6 +266,7 @@
                }
        }

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

Modified: branches/db4o/freenet/src/freenet/io/xfer/PacketThrottle.java
===================================================================
--- branches/db4o/freenet/src/freenet/io/xfer/PacketThrottle.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/io/xfer/PacketThrottle.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/keys/CHKBlock.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/CHKBlock.java        2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/keys/CHKBlock.java        2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/keys/ClientCHK.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/ClientCHK.java       2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/keys/ClientCHK.java       2008-09-25 
01:00:29 UTC (rev 22831)
@@ -134,12 +134,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();
        }
@@ -156,7 +158,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: branches/db4o/freenet/src/freenet/keys/ClientCHKBlock.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/ClientCHKBlock.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/keys/ClientCHKBlock.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -31,7 +31,8 @@

        final ClientCHK key;

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


Modified: branches/db4o/freenet/src/freenet/keys/ClientKSK.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/ClientKSK.java       2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/keys/ClientKSK.java       2008-09-25 
01:00:29 UTC (rev 22831)
@@ -23,6 +23,7 @@
                this.keyword = keyword;
        }

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

Modified: branches/db4o/freenet/src/freenet/keys/ClientSSK.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/ClientSSK.java       2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/keys/ClientSSK.java       2008-09-25 
01:00:29 UTC (rev 22831)
@@ -111,6 +111,7 @@
                this.pubKey = pubKey;
        }

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

+       @Override
        public Key getNodeKey() {
                try {
                        if(ehDocname == null)
@@ -150,6 +152,7 @@
                return pubKey;
        }

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

Modified: branches/db4o/freenet/src/freenet/keys/FreenetURI.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/FreenetURI.java      2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/keys/FreenetURI.java      2008-09-25 
01:00:29 UTC (rev 22831)
@@ -86,6 +86,7 @@
        static final String[] VALID_KEY_TYPES =
                new String[]{"CHK", "SSK", "KSK", "USK"};

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

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

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

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

Modified: branches/db4o/freenet/src/freenet/keys/InsertableUSK.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/InsertableUSK.java   2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/keys/InsertableUSK.java   2008-09-25 
01:00:29 UTC (rev 22831)
@@ -40,6 +40,7 @@
                this.group = group;
        }

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

Modified: branches/db4o/freenet/src/freenet/keys/NodeCHK.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/NodeCHK.java 2008-09-25 00:08:21 UTC 
(rev 22830)
+++ branches/db4o/freenet/src/freenet/keys/NodeCHK.java 2008-09-25 01:00:29 UTC 
(rev 22831)
@@ -51,11 +51,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);
     }
@@ -66,7 +68,8 @@
         return new NodeCHK(buf, algo);
     }

-    public boolean equals(Object key) {
+    @Override
+       public boolean equals(Object key) {
        if(key == this) return true;
         if(key instanceof NodeCHK) {
             NodeCHK chk = (NodeCHK) key;
@@ -75,18 +78,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: branches/db4o/freenet/src/freenet/keys/NodeSSK.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/NodeSSK.java 2008-09-25 00:08:21 UTC 
(rev 22830)
+++ branches/db4o/freenet/src/freenet/keys/NodeSSK.java 2008-09-25 01:00:29 UTC 
(rev 22831)
@@ -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);
        }
@@ -93,6 +94,7 @@
                return key;
        }

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

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

+       @Override
        public boolean equals(Object o) {
                if(o == this) return true;
                if(!(o instanceof NodeSSK)) return false;
@@ -172,16 +176,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: branches/db4o/freenet/src/freenet/keys/SSKBlock.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/SSKBlock.java        2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/keys/SSKBlock.java        2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/keys/USK.java
===================================================================
--- branches/db4o/freenet/src/freenet/keys/USK.java     2008-09-25 00:08:21 UTC 
(rev 22830)
+++ branches/db4o/freenet/src/freenet/keys/USK.java     2008-09-25 01:00:29 UTC 
(rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/l10n/freenet.l10n.de.properties
===================================================================
--- branches/db4o/freenet/src/freenet/l10n/freenet.l10n.de.properties   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/l10n/freenet.l10n.de.properties   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -676,9 +676,6 @@
 Node.inBWLimit=Limit f?r hereinkommende Bandbreite (Bytes pro Sekunde)
 Node.inBWLimitLong=Limit f?r die hereinkommende Bandbreite (Bytes/Sek); der 
Knoten wird versuchen dieses nicht zu ?berschreiten; -1 = 4x das gesetzte Limit 
f?r die ausgehende Bandbreite
 Node.invalidStoreSize=Die Speicher-Gr??e muss mindestens 32MB betragen
-Node.java14ShortText=Java 1.4 wird in naher Zukunft nicht mehr unterst?tzt 
werden, bitte aktualisieren Sie auf mindestens 1.5.
-Node.java14Text=Sie f?hren Freenet auf Java 1.4 aus. Bitte aktualisieren Sie 
auf mindestens Java 1.5. Die automatische Aktualisierung wurde vor?bergehend 
deaktiviert, da zuk?nftige Versionen m?glicherweise ?berhaupt nicht starten.
-Node.java14Title=Java 1.4 wird nicht l?nger unterst?tzt
 Node.l10nLanguage=Die Sprache die der Knoten benutzt um Nachrichten anzuzeigen
 Node.l10nLanguageLong=Diese Einstellung ?ndert die Sprache in der Nachrichten 
angezeigt werden. Beachten Sie, dass manche Zeichenfolgen erst beim n?chsten 
Start des Knotens ?bersetzt werden.
 Node.maxHTL=Maximale HTL
@@ -1095,9 +1092,9 @@
 SecurityLevels.friendsThreatLevel.name.NORMAL=NORMAL
 SecurityLevels.networkThreatLevel.choice.HIGH=Ich m?chte es f?r andere 
deutlich schwerer machen, meine Kommunikation zu beobachten oder ich bef?rchte, 
dass mein Provider versuchen k?nnte, Freenet zu blockieren.
 SecurityLevels.networkThreatLevel.choice.LOW=Ich mache mir keine Gedanken ?ber 
?berwachung und will maximale Geschwindigkeit.
-SecurityLevels.networkThreatLevel.choice.MAXIMUM=Ich plane, auf Informationen 
zuzugreifen, die dazu f?hren k?nnen, dass ich verhaftet oder gefangen genommen 
werde oder schlimmeres. Ich verstehe, dass Freenet experimentell ist und keine 
Sicherheit gegen bestimmte (bekannte) Angriffe bieten kann. Aber ich akzeptiere 
die Riskien verglichen mit den Alternativen.
+SecurityLevels.networkThreatLevel.choice.MAXIMUM=Ich plane, auf Informationen 
zuzugreifen, die dazu f?hren k?nnen, dass ich verhaftet oder gefangen genommen 
werde oder schlimmeres. Ich verstehe, dass Freenet experimentell ist und keine 
Sicherheit gegen bestimmte (bekannte) Angriffe bieten kann. Aber ich akzeptiere 
die Risiken verglichen mit den Alternativen.
 SecurityLevels.networkThreatLevel.choice.NORMAL=Ich lebe in einem relativ 
freien Land, aber ich m?chte es Anderen schwerer machen, meine Kommunikation zu 
?berwachen.
-SecurityLevels.networkThreatLevel.desc.HIGH=Freenet wird sich nur zu ihren 
Freunden verbinden, also  ${bold}m?ssen sie Freunde haben, die bereits Freenet 
benutzen, wenn sie diesen Modus ausw?hen${/bold}. Freenet wird langsam sein, 
wenn sie nicht mindestens 5-10 Freunde hinzuf?gen und wird gar nicht 
funktionieren, wenn nicht mindestens eine Verbindung zu einem Freund besteht.
+SecurityLevels.networkThreatLevel.desc.HIGH=Freenet wird sich nur zu ihren 
Freunden verbinden, also  ${bold}m?ssen sie Freunde haben, die bereits Freenet 
benutzen, wenn sie diesen Modus ausw?hlen${/bold}. Freenet wird langsam sein, 
wenn sie nicht mindestens 5-10 Freunde hinzuf?gen und wird gar nicht 
funktionieren, wenn nicht mindestens eine Verbindung zu einem Freund besteht.
 SecurityLevels.networkThreatLevel.desc.LOW=Es kann ziemlich einfach f?r Andere 
sein, ihre Identit?t herauszufinden!
 SecurityLevels.networkThreatLevel.desc.MAXIMUM=Freenet wird 
${bold}deutlich${/bold} langsamer sein als im Modus HOCH und ${bold}sie m?ssen 
Freunde haben, die Freenet benutzen, um diesen Modus nutzen zu k?nnen${/bold}.
 SecurityLevels.networkThreatLevel.desc.NORMAL=Freenet wird eine gesunde 
Vorsicht walten lassen, um ihrer Anonymit?t zu sch?tzen, daf?r wird die 
Geschwindigkeit etwas geringer sein. Freenet wird automatisch zu fremden Knoten 
verbinden. Wir empfehlen, dass sie Referenzen von Freunden hinzuf?gen, die 
bereits Freenet nutzen und anschlie?end ein Upgrade auf den Modus HOCH machen.

Modified: branches/db4o/freenet/src/freenet/l10n/freenet.l10n.en.properties
===================================================================
--- branches/db4o/freenet/src/freenet/l10n/freenet.l10n.en.properties   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/l10n/freenet.l10n.en.properties   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -675,9 +675,6 @@
 Node.inBWLimit=Input bandwidth limit (bytes per second)
 Node.inBWLimitLong=Input bandwidth limit (bytes/sec); the node will try not to 
exceed this; -1 = 4x set outputBandwidthLimit
 Node.invalidStoreSize=Store size must be at least 32MB
-Node.java14Title=Java 1.4 no longer supported
-Node.java14Text=You are running Freenet on a 1.4 version of Java. Please 
upgrade to at least java 1.5. Auto-update has been temporarily disabled as 
future builds may not load at all.
-Node.java14ShortText=Java 1.4 will not be supported for much longer, please 
upgrade to 1.5.
 Node.l10nLanguage=The language the node will use to display messages
 Node.l10nLanguageLong=This setting will change the language used to display 
messages. Keep in mind that some strings won't be translated until next node 
startup though.
 Node.maxHTL=Maximum HTL

Modified: branches/db4o/freenet/src/freenet/l10n/freenet.l10n.fr.properties
===================================================================
--- branches/db4o/freenet/src/freenet/l10n/freenet.l10n.fr.properties   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/l10n/freenet.l10n.fr.properties   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -1,4 +1,4 @@
-Announcer.announceAlertIntro=Freenet essaie de se connecter au r?seau - cela 
peut prendre quelques minutes. Les performances vont s'am?liorer dans les 
heures qui viennent. Cela se produira ? chaque fois que vous red?marrerez 
Freenet, essayez de laisser tourner Freenet en continu si vous le pouvez.
+Announcer.announceAlertIntro=Freenet essaie de se connecter au r?seau - cela 
peut prendre quelques minutes. Les performances vont s'am?liorer dans les 
heures qui viennent. Cela se produira ? chaque fois que vous ?teindrez Freenet 
plus de quelques minutes, essayez de laisser tourner Freenet en continu si vous 
le pouvez.
 Announcer.announceAlertNoSeednodes=Le fichier seednodes.fref est introuvable, 
le n?ud ne peut pas se connecter ? l'Opennet automatiquement. Veuillez ?tablir 
des connexions manuellement, ou t?l?charger le fichier 
http://downloads.freenetproject.org/alpha/opennet/seednodes.fref et le placer 
dans le r?pertoire freenet.
 Announcer.announceAlertShort=Freenet essaie de se connecter au r?seau, il sera 
lent pendant quelques temps.
 Announcer.announceAlertTitle=Connexion au r?seau
@@ -8,6 +8,7 @@
 Announcer.announceDisabledTooOldTitle=Annonces d?sactiv?es (noeud trop ancien)
 Announcer.announceLoading=Freenet t?l?charge la liste des seednodes afin de 
pouvoir annoncer sa pr?sence sur le r?seau. Cela va prendre quelques minutes.
 Announcer.coolingOff=Pendant les ${time} prochaines secondes, le noeud va 
attendre que les noeuds auxquels il s'est annonc? se connectent. S'il n'y en a 
pas assez, il essaiera ? nouveau.
+Announcer.dontKnowAddress=Freenet n'est pas encore parvenu ? d?terminer votre 
adresse IP, nous ne pouvons pas nous annoncer avant de la connaitre.
 Bookmark.noName=Pas de nom
 BookmarkEditorToadlet.addBookmark=Ajouter un marque-page
 BookmarkEditorToadlet.addCategory=Ajouter une cat?gorie
@@ -297,6 +298,7 @@
 FProxyToadlet.openPossRSSForceDisk=${link}Cliquez ici${/link} pour essayer de 
forcer votre navigateur ? enregistrer ce fichier sur le disque (${bold}ceci 
peut ?tre dangereux${/bold} si vous utilisez Firefox 2.0.0, la version 2.0.1 
devrait corriger le probl?me).
 FProxyToadlet.openRSSAsRSS=${link}Cliquez ici${/link} pour ouvrir le fichier 
en tant que RSS (ceci <b>est dangereux</b> dans le cas o? l'auteur du site est 
malicieux car Freenet n'est pas encore capable de filtrer le RSS).
 FProxyToadlet.openRSSForce=${link}Cliquez ici${/link} pour ouvrir le fichier 
en tant que ${mime} (ceci ${bold}peut ?tre dangereux${/bold} avec IE7 et FF2).
+FProxyToadlet.openWithKeyExplorer=${link}Cliquez ici${/link} pour ouvrir cette 
URI avec Key Explorer.
 FProxyToadlet.opennet=G?rer les connexions aux Inconnus
 FProxyToadlet.opennetTitle=Inconnus
 FProxyToadlet.options=Les choix possibles sont :
@@ -440,17 +442,22 @@
 FirstTimeWizardToadlet.datastoreSizeLong=Veuillez sp?cifier la taille de votre 
datastore. Le datastore agit comme un cache ; stocker les donn?es du r?seau 
am?liorera les performances quand vous t?l?chargerez des fichiers populaires. 
Plus vous stockez de donn?es, plus vous aidez la communaut? et plus votre noeud 
sera rapide (surtout les t?l?chargements).
 FirstTimeWizardToadlet.enableOpennet=Il est possible de d?sactiver la 
connexion aux ?trangers par la suite, quand vous aurez assez de connexions avec 
des amis, mais vous aurez r?v?l? des informations l'intervale. Freenet est 
toujours exp?rimental, et nous ne garantissons pas la s?curit?.
 FirstTimeWizardToadlet.fivePercentDisk=(= 5% de l'espace libre)
+FirstTimeWizardToadlet.friendsSecurityPageTitle=Assistant de d?marrage de 
Freenet ! - S?curit? des Amis
+FirstTimeWizardToadlet.highNetworkThreatLevelCheckbox=Je connais au moins une 
personne qui utilise Freenet (3 de pr?f?rence, 5 ? 10 pour de bonnes 
performances). Je vais les ajouter sur la page Amis. J'ai compris que Freenet 
ne fonctionnera pas ? moins que mes Amos soient connect?s.
+FirstTimeWizardToadlet.highNetworkThreatLevelWarning=${bold}ATTENTION${/bold} 
: Vous ?tes sur le point de passer le niveau de s?curit? r?seau ? haut. Cela 
signifie que votre noeud sera incapable de se connecter ? mois que ${bold}vous 
ajoutiez des connexions ? vos Amis${/bold}. Il faudrait que ce soit des gens 
que vous connaissez et en qui vous avez confiance. Si vous ne connaissez 
personne qui utilise Freenet, utilisez le niveau de s?curit? r?seau NORMAL et 
Freenet ?tablira des connexions automatiquement. Ajouter des gens que vous ne 
connaissez pas comme Amis n'am?liorera pas la s?curit? et diminuera les 
performances. Notez ?galement que le niveau de s?curit? r?seau HAUT est plus 
lent, particuli?rement si vous n'avez pas beaucoup d'Amis (il en faut 5 ? 10 
pour des performances correctes).
 FirstTimeWizardToadlet.homepageTitle=Assistant de d?marrage Freenet !
 FirstTimeWizardToadlet.iDoTrust=Faites-vous confiance aux personnes connect?s 
par ${interface} (${ip}) ?
 FirstTimeWizardToadlet.isNetworkTrusted=Le r?seau local est-il digne de 
confiance ?
 FirstTimeWizardToadlet.isNetworkTrustedLong=Faire confiance au r?seau local ? 
Si vous r?pondez oui, tous les services de notre noeud seront accessibles 
depuis ce r?seau. Vous pourrez contr?ler pr?cisemment les droits d'acc?s depuis 
la page de configuration.
 FirstTimeWizardToadlet.memoryLimit=Utilisation m?moire
 FirstTimeWizardToadlet.memoryLimitLong=Combien de m?moire voulez-vous laisser 
Freenet utiliser ? Si vous avez beaucoup de t?l?chargements ou insertions en 
cours, Freenet aura besoin de plus de m?moire. Nous sugg?rons de ne pas 
descendre en dessous de 128Mo ? moins que vous ayez tr?s peu de m?moire. Si 
vous avez 1Go ou plus, vous devriez mettre au moins 256Mo. Ca prendra effet 
apr?s le red?marrage de Freenet.
+FirstTimeWizardToadlet.networkSecurityPageTitle=Assistant de d?marrage Freenet 
! - S?curit? r?seau
 FirstTimeWizardToadlet.noNetworkIF=Pas d'autre carte r?seau trouv?e
 FirstTimeWizardToadlet.noNetworkIFLong=Freenet n'a pas trouv? d'autre carte 
r?seau. Il consid?rera que vous vous y connectez seulement depuis votre 
ordinateur.
 FirstTimeWizardToadlet.opennetNo=J'ai au moins 5 amis qui utilisent Freenet et 
je vais les ajouter manuellement sur la page Amis.
 FirstTimeWizardToadlet.opennetWarning=Freenet est peut-?tre ill?gal dans votre 
pays, car il permet une libert? d'expression sans restrictions. Si c'est le 
cas, et que vous utilisez la connexion automatique ? des inconnus, votre 
gouvernement pourra savoir facilement que vous utilisez Freenet; vous ne 
devriez donc pas activer ce mode et ne devriez vous connecter qu'? des gens que 
vous connaissez (et en qui vous avez confiance). Freenet est toujours 
exp?rimental, nous ne garantissons pas qu'il est exempt de bugs, et par 
cons?quent, ne pouvons garantir votre anonymat/s?curit?. Il faut faire 
particuli?rement attention aux gens avec qui vous vous connectez: ils occupent 
la meilleure place pour espionner vos requ?tes.
 FirstTimeWizardToadlet.opennetYes=Je veux que le n?ud trouve automatiquement 
des gens ? qui se connecter.
+FirstTimeWizardToadlet.physicalSecurityPageTitle=Assistant de d?marrage 
Freenet ! - S?curit? physique
 FirstTimeWizardToadlet.skipWizard=Je ne suis pas un d?butant, passer 
l'assistant !
 FirstTimeWizardToadlet.step1Title=Assistant de d?marrage Freenet ! - Amis et 
Inconnus
 FirstTimeWizardToadlet.step2Title=Assistant de d?marrage Freenet ! - 
Choisissez le nom de votre noeud
@@ -493,10 +500,10 @@
 IPDetectorPluginManager.directTitle=Connexion directe ? internet d?tect?e
 IPDetectorPluginManager.forwardPort=Il semble que votre noeud soit derri?re un 
NAT (voir la page Raccordemement r?seau pour plus de d?tails). Vous devriez 
transf?rer le ports UDP (pas TCP) ${port} si possible, pour am?liorer vos 
connexions. Vous l'avez peut-?tre d?j? fait ; il faut du temps ? Freenet pour 
d?tecter le transfert. Consultez ${link}ceci${/link} pour plus de d?tails.
 IPDetectorPluginManager.forwardPortMaybeForwarded=Il semble que votre noeud 
soit derri?re un NAT (plus de d?tails sur la page Raccordement R?seau). Vous 
devriez transf?rer le port UDP (pas TCP) ${port} si vous le pouvez. Vous l'avez 
peut-?tre d?j? fait : il faut longtemps ? Freenet pour le d?tecter. Consultez 
${link}cette page${/link} pour plus de d?tails.
-IPDetectorPluginManager.forwardPortNotForwarded=Il semble que votre noeud soit 
derri?re un NAT (plus de d?tails sur la page Raccordement R?seau). Vous devriez 
transf?rer le port UDP (pas TCP) ${port} si vous le pouvez. Il semble que ce 
port ne soit pas transf?r?, bien qu'il soit difficile pour Freenet de le 
savoir. Consultez ${link}cette page${/link} pour plus de d?tails.
+IPDetectorPluginManager.forwardPortNotForwarded=Il semble que votre noeud soit 
derri?re un NAT (plus de d?tails sur la page Raccordement R?seau). Vous devriez 
transf?rer le port UDP (pas TCP) ${port} si vous le pouvez. Il semble que ce 
port ne soit pas transf?r?, bien qu'il soit difficile pour Freenet de le 
savoir. Consultez ${link}cette page${/link} pour plus de d?tails. Il faut 
parfois 24 heures ? Freenet pour savoir que vous avez transf?r? les ports.
 IPDetectorPluginManager.forwardPortShort=Veuillez transf?rer le port UDP 
${port}.
 IPDetectorPluginManager.forwardPortShortMaybeForwarded=Veuillez transf?rer le 
port UDP ${port} (vous l'avez peut-?tre d?j? fait).
-IPDetectorPluginManager.forwardPortShortNotForwarded=Veuillez transf?rer le 
port UDP ${port} (il semble que ce ne soit pas fait).
+IPDetectorPluginManager.forwardPortShortNotForwarded=Veuillez transf?rer le 
port UDP ${port} (ce n'est propbablement pas fait).
 IPDetectorPluginManager.forwardTwoPorts=Il semble que votre noeud soit 
derri?re un NAT (voir la page Raccordemement r?seau pour plus de d?tails). Vous 
devriez transf?rer les ports UDP (pas TCP) ${port1} et ${port2} si possible, 
pour am?liorer vos connexions. Vous l'avez peut-?tre d?j? fait ; il faut du 
temps ? Freenet pour d?tecter le transfert. Consultez ${link}ceci${/link} pour 
plus de d?tails.
 IPDetectorPluginManager.forwardTwoPortsMaybeForwarded=Il semble que votre 
noeud soit derri?re un NAT (plus de d?tails sur la page Raccordement R?seau). 
Vous devriez transf?rer les ports UDP (pas TCP) ${port1} et ${port2} si vous le 
pouvez. Vous l'avez peut-?tre d?j? fait ; il faut longtemps ? Freenet pour le 
d?tecter. Consultez ${link}cette page${/link} pour plus de d?tails.
 IPDetectorPluginManager.forwardTwoPortsNotForwarded=Il semble que votre noeud 
soit derri?re un NAT (plus de d?tails sur la page Raccordement R?seau). Vous 
devriez transf?rer les ports UDP (pas TCP) ${port1} et ${port2} si vous le 
pouvez. Il semble que ces ports ne soient pas transf?r?s, bien qu'il soit 
difficile pour Freenet de le savoir. Consultez ${link}cette page${/link} pour 
plus de d?tails.
@@ -657,6 +664,8 @@
 Node.dropPacketEveryLong=Fr?quence ? laquelle le noeud ignore les paquets. 
Option de test permettant aux d?veloppeurs de simuler des probl?mes de 
communication. 0 signifie ne pas provoquer d'erreur artificiellement. Ne 
touchez pas ce param?tre !
 Node.enableARKs=Activer les ARKs? (NE PAS DESACTIVER !)
 Node.enableARKsLong=Activer les ARKs? (NE PAS DESACTIVER !).
+Node.enableOpennetFailed=Le noeud n'est pas parvenu ? activer l'opennet, et ne 
peut pas se connecter ? des inconnus. Vous devrez r?soudre le probl?me, 
signaler le bug, ou vous contentr des connexions aux Amis. D?tails : ${message}
+Node.enableOpennetFailedTitle=L'activation de l'opennet a ?chou?
 Node.enablePacketCoalescing=Activer la coalescence des paquets ?
 Node.enablePacketCoalescingLong=Activer la coalescence de paquets ? Cette 
option am?liore l'utilisation de la bande passante, diminue la consommation CPU 
et apporte une peu de r?sistance ? l'analyse de traffic, au prix d'une l?g?re 
latence. Ne la d?sactivez que si vous savez ce que vous faites.
 Node.enablePerNodeFailureTables=M?moriser les ?checs de chaque n?ud ?
@@ -710,13 +719,17 @@
 Node.publishOurPeersLocationLong=Devons-nous envoyer la position de nos Amis ? 
nos Amis ? Cela aide le routage mais donne des informations ? un attaquant 
potentiel.
 Node.routeAccordingToOurPeersLocation=Devons nous utiliser la position des 
Amis de nos Amis pour le routage ?
 Node.routeAccordingToOurPeersLocationLong=Devons nous utiliser la position des 
Amis de nos Amis pour le routage ? Cela aide le routage mais pourrait aider un 
attaquant potentiel.
+Node.storeBloomFilterCounting=Utiliser un filtre de Bloom ?
+Node.storeBloomFilterCountingLong=Utiliser un filtre de Bloom sur 2 bits ? (ne 
touchez ? cel? que si vous savez ce que vous faites)
+Node.storeBloomFilterSize=Taille (totale) du filtre de Bloom en octets
+Node.storeBloomFilterSizeLong=Taille (totale) du filtre de Bloom. 
Habituellement 1/2048?me de la taille du datastore suffit largement. Mettez ? 
z?ro pour d?sactiver le filtre de Bloom.
 Node.storeDirectory=Dossier du store
 Node.storeDirectoryLong=Dossier o? placer le store
 Node.storeMaxMemTooHigh=Vous ne voulez s?rement pas donner plus de 80% de 
votre m?moire ? BDB !
 Node.storeSize=Taille du store en octets
 Node.storeSizeLong=Taille du store en octets
 Node.storeType=Type de store (NE PAS CHANGER)
-Node.storeTypeLong=Type du datastore. Actuellement, ?a peut ?tre bdb-index 
(utilisation d'un BerkeleyDBFreenetStore pour stocker l'index, et de fichiers 
pour les donn?es), ou ram (index et donn?es sont stock?s en m?moire). Utilisez 
ram uniquement si vous savez ce que vous faites et avez suffisamment de RAM 
pour stocker toutes les donn?es (tout sera perdu ? l'arr?t du noeud) !
+Node.storeTypeLong=Type du datastore. Actuellement, ?a peut ?tre salt-hash 
(une table de hashage sur disque avec filre de Bloom), bdb-index (utilisation 
d'un BerkeleyDBFreenetStore pour stocker l'index, et de fichiers pour les 
donn?es), ou ram (index et donn?es sont stock?s en m?moire). Utilisez ram 
uniquement si vous savez ce que vous faites et avez suffisamment de RAM pour 
stocker toutes les donn?es (tout sera perdu ? l'arr?t du noeud) ! Les 
changements ne seront appliqu?s qu'apr?s le red?marrage de Freenet.
 Node.swapRInterval=Intervalle entre les demandes de permutation (ms)
 Node.swapRIntervalLong=Intervale entre chaque demande de permutation, en 
millisecondes. Laissez tel quel !
 Node.throttleLocalTraffic=Limiter le traffic local ?
@@ -1054,6 +1067,66 @@
 SSL.keyStorePassLong=Mot de passe permettant d'acc?der au certificat
 SSL.version=Version de SSL
 SSL.versionLong=Version de SSL, SSLv3 ou TLSv1 (SSLv3 par d?faut)
+SaltedHashFreenetStore.cleanerAlertTitle=Maintenance du datastore en cours
+SaltedHashFreenetStore.longRebuildProgress=Maintenance du datastore (${name}) 
en cours : ${processed}/${total}. Le noeud sera plus lent que d'habitude 
pendant le processus. Evitez de red?marrer Freenet.
+SaltedHashFreenetStore.longResizeProgress=Redimentionnement du datastore 
(${name}) en cours : ${processed}/${total}. Le noeud sera plus lent que 
d'habitude pendant le processus. Evitez de red?marrer Freenet.
+SaltedHashFreenetStore.shortRebuildProgress=Maintenance du datastore (${name}) 
en cours : ${processed}/${total}
+SaltedHashFreenetStore.shortResizeProgress=Redimentionnement du datastore 
(${name}) en cours : ${processed}/${total}
+SecurityLevels.fewConnectedFriendsCheckbox=Je suis s?r, je vais ajouter 
d'autres Amis et/ou accepter la baisse de performance et le fait que Freenet ne 
fonctionne pas quand mes Amis sont d?connect?s.
+SecurityLevels.fewConnectedFriendsWarning=Vous avez seulement ${connected} 
amis connect?s en ce moment, et vous avez ${added} amis en tout. Si vous passez 
le niveau de s?curit? r?seau ? haut ou maximum, Freenet se connectera seulement 
? vos Amis, r?duisant significativement vos performances, et si vos Amis sont 
tous d?connect?s vous ne pourrez pas vous connecter du tout. Remarquez que les 
Amis doivent ?tre des gens que vous connaissez et ? qui vous faites confiance 
pour qu'il y ait un gain de s?curit?, et qu'il vous faudra 5 ? 10 Amis 
connect?s pour avoir de bonnes performances. Etes vous s?r ?
+SecurityLevels.friendsThreatLevel=Vous inqui?tez-vous que vos Amis essaient de 
surveiller vos activit?s, d?lib?r?ment ou parce que leur ordinateur serait 
compromis (C'est un niveau par d?faut que vous pourrez pr?ciser pour chaque 
ami) ? Si vous passez le niveau de s?curit? r?seau ? HAUT, les performances 
d?pendront du niveau de s?curit? des Amis et du nombre d'Amis.
+SecurityLevels.friendsThreatLevelConfirmTitle=Attention : Passage du niveau de 
s?curit? des amis ? ${mode}
+SecurityLevels.friendsThreatLevelShort=Protection si vos amis attaquent votre 
anonymat
+SecurityLevels.highFriendsThreatLevelCheckbox=Je suis s?r que j'ai besoin d'un 
haut niveau de protection contre des amis compromis ou malveillants.
+SecurityLevels.highFriendsThreatLevelWarning=Vous ?tes sur le point de mettre 
le niveau de menace de vos amis ? haut. Cela va r?duire les performances de 
Freenet, et ne devrait pas ?tre n?cessaire dans la plupart des cas. Si vous 
choisissez ?a parce que vous avez ajout? comme Amis des gens que vous ne 
connaissez pas, vous feriez mieux de vous d?connecter d'eux et de redescendre 
au niveau NORMAL. D'un autre c?t?,si vous pensez qu'un attaquant pourrait 
compromettre les ordinateurs de vos amis ou chercher ? les retourner contre 
vous, cela peut-?tre une pr?caution valable.
+SecurityLevels.maxSecurityYouNeedFriends=${bold}Vous devez connaitre au moins 
une personne qui utilise Freenet${/bold}, 3 de pr?f?rence, 5 ? 10 pour de 
bonnes performances. Vous devez les ajouter sur votre page Amis. Il faut que ce 
soit des gens que vous connaissez et ? qui vous faites confiance.
+SecurityLevels.maximumNetworkThreatLevelCheckbox=Oui je veux activer le niveau 
de s?curit? maximal, je comprends que Freenet est encore exp?rimental et qu'il 
est peut-?tre encore possible de me suivre, et que ce param?tre va r?duire les 
performances de fa?on spectaculaire !
+SecurityLevels.maximumNetworkThreatLevelWarning=${bold}ATTENTION :${/bold} 
Vous ?tes sur le point d'activer le niveau de s?curit? r?seau maximal ! Cela va 
${bold}significativement${/bold} ralentir Freenet ! Ne faites cela que si vous 
avez vraiment besoin de cette s?curit? !
+SecurityLevels.networkThreatLevel=De quelle s?curit? avez-vous besoin contre 
les fournisseurs d'acc?s Internet, les entreprises, les gouvernements, les 
gamins qui s'ennuient, etc... qui essaieraient de surveiller votre activit? sur 
Freenet ?
+SecurityLevels.networkThreatLevelConfirmTitle=ATTENTION : Passage de la 
s?curit? r?seau ? ${mode}
+SecurityLevels.networkThreatLevelLowCheckbox=Je suis s?r, je veux plus de 
vitesse et je me fiche qu'on puisse savoir ce que je fais avec Freenet !
+SecurityLevels.networkThreatLevelLowWarning=Vous ?tes sur le point de 
descendre le niveau de s?curit? r?seau ? bas. Ca veut dire qu'il sera facile 
d'attaquer votre anonymat depuis Internet. Etes-vous s?r ?
+SecurityLevels.networkThreatLevelShort=Protection contre un ?tranger vous 
attaquant par Internet.
+SecurityLevels.noConnectedFriendsCheckbox=Je suis s?r, je vais ajouter 
d'autres Amis et/ou accepter que Freenet ne fonctionne que quand mes Amis 
seront connect?s.
+SecurityLevels.noConnectedFriendsWarning=Vous n'vez aucun Ami connect?, bien 
que vous ayez ajout? ${added} amis. SI vous passez le niveau de s?curit? r?seau 
? haut ou maximum, vous ne pourrez vous connecter ? Freenet que quand vos amis 
seront connect?s, ce qu'ils ne sont pas en ce moment. Vous devriez ajouter 
d'autres Amis, n'utilisez Freenet que quand vos amis sont connect?s ou ?viter 
le niveau de s?curit? haut. Remarquez que pour qu'il y ait un gain de s?curit?, 
vos Amis doivent ?tre des gens que vous connaissez et ? qui vous faites 
confiance, et qu'il vous en faute 5 ? 10 connect?s en permanence. Etes-vous s?r 
?
+SecurityLevels.noFriendsCheckbox=Je suis s?r, activez le haut niveau de 
s?curit? r?seau, je vais ajouter des Amis d?s que possible.
+SecurityLevels.noFriendsWarning=Vous n'avez ajout? aucun Ami. Si vous mettez 
le niveau de s?curit? r?seau ? haut ou maximum, vous ne pourrez pas vous 
connecter ? Freenet avant d'avoir au moins un Ami connect? ! Remarquez que pour 
avoir un gain de s?curit?, il faut que ce soit des gens que vous connaissez et 
en qui vous avez confiance, et qu'il vous en faudra 5 ? 10 connect?s en 
permanence pour avoir de bonnes performances. Etes-vous s?r ?
+SecurityLevels.physicalThreatLevel=Vous inqui?tez-vous du fait que votre 
ordinateur puisse ?tre saisi et examin? ?
+SecurityLevels.physicalThreatLevelShort=Protection si votre ordinateur est 
saisi ou vol?
+SecurityLevels.title=Niveaux de s?curit?
+SecurityLevels.tooltip=Configurer le niveau de s?curit? du noeud
+SecurityLevels.userAlertExtro=Vous pouvez changer ces param?tres sur ${link}la 
page de configuration${/link}.
+SecurityLevels.userAlertFriendsThreatLevel=Protection si vos amis attaquent 
votre anonymat : ${level}
+SecurityLevels.userAlertNetworkThreatLevel=Protection contre un ?tranger vous 
attaquant depuis Internet : ${level}
+SecurityLevels.userAlertPhysicalThreatLevel=Protection si votre ordinateur est 
saisi ou vol? : ${level}
+SecurityLevels.userAlertShortText=Niveaux de s?curit? : R?seau : ${network}, 
Amis : ${friends}, Physique : ${physical}
+SecurityLevels.friendsThreatLevel.choice.HIGH=Je veux que Freenet prenne 
toutes les pr?cautions contre les attaques venant des Amis.
+SecurityLevels.friendsThreatLevel.choice.LOW=Je ne m'inqui?te pas des attaques 
venant des Amis. J'ai confiance en eux et en leurs capacit?s en s?curit? 
informatique.
+SecurityLevels.friendsThreatLevel.choice.NORMAL=Je ne suis pas sp?cialement 
inquiet d'attaques venant de mes Amis, mais je veux que Freenet prenne des 
pr?cautions raisonnables.
+SecurityLevels.friendsThreatLevel.desc.HIGH=Freenet ne partagera pas 
d'informations avec les Amis et sera l?g?rement plus lent qu'en mode NORMAL.
+SecurityLevels.friendsThreatLevel.desc.LOW=Freenet partagera beaucoup 
d'informations avec vos Amis afin d'augmenter les performances.
+SecurityLevels.friendsThreatLevel.desc.NORMAL=Freenet partagera une quantit? 
limit?e d'informations avec les Amis et sera plus lent qu'en mode BAS.
+SecurityLevels.friendsThreatLevel.name.HIGH=HAUT
+SecurityLevels.friendsThreatLevel.name.LOW=BAS
+SecurityLevels.friendsThreatLevel.name.NORMAL=NORMAL
+SecurityLevels.networkThreatLevel.choice.HIGH=Je veux rendre tr?s difficile la 
surveillance de mes communications, ou je m'inqui?te que les fournisseurs 
d'acc?s internet essaient de bloquer Freenet.
+SecurityLevels.networkThreatLevel.choice.LOW=Je me fiche d'?tre surveill? et 
je veux des performances maximales.
+SecurityLevels.networkThreatLevel.choice.MAXIMUM=Je compte acc?der ? des 
informations qui pourraient me faire arr?ter, emprisonner, ou pire. Je 
comprends que Freenet est exp?rimental et ne peut pas garantir la s?curit? 
contre certaines attaques, mais j'accepte ce risque compar? aux alternatives.
+SecurityLevels.networkThreatLevel.choice.NORMAL=Je vis dans un pays 
relativement libre, mais je veux rendre difficile la surveillance de mes 
communications.
+SecurityLevels.networkThreatLevel.desc.HIGH=Freenet se connectera uniquement ? 
vos Amis, donc ${bold}vous devez avoir des Amis qui utilisent Freenet pour 
utiliser ce mode${/bold}. Freenet sera lent si vous n'avez pas au moins 5 ? 10 
Amis, et ne fonctionnera pas du tout si vous n'en avez pas.
+SecurityLevels.networkThreatLevel.desc.LOW=On pourrait d?couvrir votre 
identit? assez facilement !
+SecurityLevels.networkThreatLevel.desc.MAXIMUM=Freenet sera 
${bold}significativement${/bold} plus lent qu'en mode HAUT, et ${bold}vous 
devez avoir des amis utilisant Freenet pour utiliser ce mode${/bold}.
+SecurityLevels.networkThreatLevel.desc.NORMAL=Freenet sera raisonnablement 
prudent pour prot?ger votre anonymat, au prix d'un peu de performance. Freenet 
se connectera automatiquement ? des inconnus. Nous vous recommandons de vous 
connecter ? des Amis et de passer en mode HAUT.
+SecurityLevels.networkThreatLevel.name.HIGH=HAUT
+SecurityLevels.networkThreatLevel.name.LOW=BAS
+SecurityLevels.networkThreatLevel.name.MAXIMUM=MAXIMUM
+SecurityLevels.networkThreatLevel.name.NORMAL=NORMAL
+SecurityLevels.physicalThreatLevel.choice.LOW=Je ne suis pas concern?.
+SecurityLevels.physicalThreatLevel.choice.NORMAL=Je suis concern?.
+SecurityLevels.physicalThreatLevel.desc.LOW=Freenet ne va rien chiffrer et 
laisser des traces de vos visites sur votre disque dur, offrant de meilleures 
performances au prix de la s?curit? dans le cas o? votre ordinateur serait 
saisi.
+SecurityLevels.physicalThreatLevel.desc.NORMAL=Freenet va chiffrer les 
fichiers temporaires etc..., au prix d'un peu de performance, mais vous devriez 
prendre d'autres pr?cautions comme d?sactiver le cache de votre navigateur 
quand vous utilisez l'interface web. Si vous utilisez des requ?tes persistantes 
(la plupart des outils le font), vous devriez chiffrer le disque o? Freenet est 
install?.
+SecurityLevels.physicalThreatLevel.name.LOW=BAS
+SecurityLevels.physicalThreatLevel.name.NORMAL=NORMAL
 ShortOption.parseError=Cette valeur n'est pas un entier sur 16 bits : ${val}
 SimpleToadletServer.advancedMode=Activer le mode avanc? ?
 SimpleToadletServer.advancedModeLong=Active l'affichage des options et des 
informations avanc?es dans l'interface web par d?faut. Ce param?tre devrait 
?tre d?sactiv? dans la plupart des cas.
@@ -1202,6 +1275,7 @@
 TranslationToadlet.contributingToLabelWithLang=Vous contribuez ? la traduction 
${lang} :
 TranslationToadlet.currentTranslationLabel=Version traduite
 TranslationToadlet.downloadTranslationsFile=T?l?charger votre fichier de 
traduction
+TranslationToadlet.gotoNext=Aller ? la prochaine cha?ne ? traduire ?
 TranslationToadlet.hideAlreadyTranslated=Cacher les cha?nes d?ja traduites
 TranslationToadlet.noCustomTranslations=Traduction non disponible
 TranslationToadlet.originalVersionLabel=Version originale (anglais)
@@ -1256,7 +1330,7 @@
 UserAlertManager.warningCountLabel=Avertissements :
 UserAlertsToadlet.titleWithName=Alertes pour ${name}
 WelcomeToadlet.activityTitle=Activit? du moment
-WelcomeToadlet.alertsSummary=Liste des alertes
+WelcomeToadlet.alertsSummary=Liste des alertes (cliquez pour plus d'infos ou 
pour changer quelque chose)
 WelcomeToadlet.arkFetchCount=R?cup?rations d'ARK : ${total}
 WelcomeToadlet.confirmAddBookmarkSubTitle=Confirmer l'ajout de marque-page
 WelcomeToadlet.confirmAddBookmarkTitle=Ajouter un marque-page

Modified: branches/db4o/freenet/src/freenet/l10n/freenet.l10n.it.properties
===================================================================
--- branches/db4o/freenet/src/freenet/l10n/freenet.l10n.it.properties   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/l10n/freenet.l10n.it.properties   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -690,9 +690,6 @@
 Node.inBWLimit=Limite ampiezza di banda in entrata (bytes per secondo)
 Node.inBWLimitLong=Limite dell'ampiezza di banda in entrata (bytes/sec); il 
nodo cerca di non eccedere tale limite; -1 siglifica quattro volte il limite 
impostato per l'ampiezza di banda in uscita (outputBandwidthLimit)
 Node.invalidStoreSize=Il datastore (magazzino dati) deve essere di dimensioni 
uguali o superiori a 32MB
-Node.java14ShortText=Tra breve non sara pi? possibile operare un nodo Freenet 
su Java 1.4. Si prega di aggiornare a 1.5 o 1.6
-Node.java14Text=Freenet sta girando su una versione 1.4 di Java. Si prega di 
aggiornare almeno a Java 1.5. Gli aggiornamenti automatici di Freenet sono 
stati temporaneamente disabilitati in quanto versioni future potrebbero non non 
girare del tutto.
-Node.java14Title=Freenet non ? pi? compatibile con Java 1.4
 Node.l10nLanguage=Lingua dell' interfaccia grafica
 Node.l10nLanguageLong=Cambia la lingua in cui messaggi sono visualizzati. 
Alcune frasi e messaggi saranno visibili in versione tradotta solo dopo il 
prossimo riavvio del nodo.
 Node.maxHTL=HTL massimo

Modified: branches/db4o/freenet/src/freenet/l10n/freenet.l10n.se.properties
===================================================================
--- branches/db4o/freenet/src/freenet/l10n/freenet.l10n.se.properties   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/l10n/freenet.l10n.se.properties   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -76,7 +76,8 @@
 ConfigToadlet.returnToNodeConfig=?terv?nd till inst?llningar
 ConfigToadlet.returnToNodeHomepage=?terv?nd till nodens hemsida
 ConfigToadlet.shortTitle=Inst?llningar
-ConfigToadlet.title=Freenets Nod inst?llningar
+ConfigToadlet.ssl=SSL (Omstart av Freenet kr?vs)
+ConfigToadlet.title=Nod inst?llningar
 ConfigToadlet.true=ja
 ConfigToadlet.unauthorized=Du har inte r?ttigheter att bes?ka den h?r sidan.
 ConfigToadlet.wrapperSettingsTitle=Wrapper inst?llningar
@@ -242,6 +243,7 @@
 FProxyToadlet.openPossRSSAsPlainText=${link}Klicka h?r${/link} f?r att ?ppna 
filen som ren text (Detta kan vara ${bold}farligt${/bold} om du anv?nder IE7 
eller FF2).
 FProxyToadlet.openRSSAsRSS=${link}Klicka h?r${/link} f?r att ?ppna filen som 
RSS (detta ?r ${bold}farligt${/bold} ifall upphovsmannen ?r ondsint d? Freenet 
inte filtrerar RSS ?nnu).
 FProxyToadlet.openRSSForce=${link}Klicka h?r${/link} f?r att ?ppna filen som 
${mime} (Detta kan vara ${bold}farligt${/bold} om du anv?nder IE7 eller FF2).
+FProxyToadlet.openWithKeyExplorer=${link}Klicka h?r${/link} f?r att ?ppna 
Freenetnyckeln med key explorer.
 FProxyToadlet.opennet=Hantera anslutningar till fr?mlingar
 FProxyToadlet.opennetTitle=Fr?mlingar
 FProxyToadlet.options=Dina valm?jligheter ?r:
@@ -278,7 +280,7 @@
 FcpServer.filenameToStorePData=Fil d?r ?terupptagningsbara nedladdningar sparas
 FcpServer.filenameToStorePDataLong=Fil d?r information om  ?terupptagningsbara 
nedladdningar sparas
 FcpServer.intervalBetweenWrites=Intervall mellan skrivning av information om 
?terupptagningsbara nedladdningar
-FcpServer.intervalBetweenWritesLong=Intervall mellan skrivning av information 
om ?terupptagningsbara nedladdningar (M?ts i milliseknder)
+FcpServer.intervalBetweenWritesLong=Intervall mellan skrivning av information 
om ?terupptagningsbara nedladdningar (M?ts i millisekunder)
 FcpServer.isEnabled=Aktivera FCP?
 FcpServer.isEnabledLong=FCP (Freenet Client Protocol) anv?nds av externa 
program s?som Frost, Thaw och FreeMulET.
 FcpServer.portNumber=FCP port
@@ -309,6 +311,7 @@
 FileOffer.askUserTitle=Direkt fil?verf?ring
 FileOffer.commentLabel=Kommentar:
 FileOffer.failedReceiveHeader=?verf?ringen av ${filename} fr?n ${node} 
misslyckades.
+FileOffer.failedReceiveShort=Mottagningen av ${filename} fr?n ${node} 
misslyckades.
 FileOffer.failedReceiveTitle=Fil?verf?ringen misslyckades
 FileOffer.fileLabel=Fil:
 FileOffer.mimeLabel=MIME Typ:
@@ -318,12 +321,16 @@
 FileOffer.senderLabel=Avs?ndare:
 FileOffer.sizeLabel=Storlek:
 FileOffer.succeededReceiveHeader=?verf?ringen av ${filename} fr?n ${node} 
lyckades.
+FileOffer.succeededReceiveShort=Mottagningen av ${filename} fr?n ${node} ?r 
klar.
 FileOffer.succeededReceiveTitle=Filen togs emot utan problem
 FirstTimeWizardToadlet.bandwidthLimit=Bandbreddsbegr?nsning
+FirstTimeWizardToadlet.bwlimitHigherSpeed=h?gre hastighet
+FirstTimeWizardToadlet.bwlimitLowerSpeed=l?gre hastighet
 FirstTimeWizardToadlet.clickContinue=Klicka h?r f?r att forts?tta.
 FirstTimeWizardToadlet.congratz=V?lkommen till Freenet!
 FirstTimeWizardToadlet.connectToStrangers=Anslut till fr?mlingar?
 FirstTimeWizardToadlet.continue=Forts?tt
+FirstTimeWizardToadlet.continueEnd=Klicka h?r f?r att b?rja anv?nda Freenet!
 FirstTimeWizardToadlet.datastoreSize=Storlek f?r datalagring
 FirstTimeWizardToadlet.enableOpennet=K?nner du n?gon som redan anv?nder 
Freenet?
 FirstTimeWizardToadlet.fivePercentDisk=(= 5% av ledigt h?rddisk utrymme)
@@ -341,6 +348,8 @@
 HTMLFilter.unknownTag=ok?nd tagg ${tag}
 IPDetectorPluginManager.connectionProblems=Problem att ansluta:
 IPDetectorPluginManager.direct=Du verkar vara direkt ansluten till internet. 
Anslutningar till andra Freenet noder b?r ske utan n?gra problem.
+IPDetectorPluginManager.directTitle=Direkt internetanslutning uppt?ckt
+IPDetectorPluginManager.maybeAlreadyForwarded=Du kan redan ha gjort detta (det 
?r sv?rt f?r Freenet att detektera).
 IPDetectorPluginManager.noConnectivity=Din internet anslutning verkar inte 
st?dja UPD.Om inte detta ?r en felbed?mmning s? ?r det inte troligt att du kan 
anv?nda Freenet.
 IPDetectorPluginManager.noConnectivityTitle=Ingen UDP anslutning
 IPDetectorPluginManager.noConnectivityshort=Allvarliga anslutningsproblem: 
Ingen UDP anslutning, Freenet kommer inte att fungera.
@@ -425,9 +434,10 @@
 Node.bindTo=IP adress att knyta till
 Node.bindToLong=IP adress att knyta till
 Node.buggyJVM=JVM;en du anv?nder (${version}) ?r k?nd f?r att vara buggig. Du 
kan f? felmeddelanden som s?ger att du har slut p? minne n?r det egentligen 
finns rikligt med minne kvar. V?nligen uppgradera till minst Sun Java 1.4.2_13, 
1.5.0_10 or 1.6 (rekommenderas). Se 
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4855795 .
+Node.buggyJVMShort=Freenet k?rs med Java ${version}. Uppgradera s? fort som 
m?jligt d? den version av java du anv?nder har kritiska buggar.
 Node.buggyJVMTitle=Varning f?r buggig JVM
 Node.bwlimitMustBePositive=Bandbreddsbegr?nsningen m?ste vara h?gre ?n 0
-Node.databaseMemory=Max utrymme f?r freenets databas
+Node.databaseMemory=Max utrymme f?r Freenets databas
 Node.disableHangCheckers=Avativera alla h?ngningskontroller
 Node.enableARKs=Aktivera ARKs? (ST?NG EJ AV!)
 Node.enableARKsLong=Aktivera ARKs? (ST?NG EJ AV!).
@@ -437,6 +447,7 @@
 Node.inBWLimit=Maximal nedladdningshastighet (bytes per sekund)
 Node.inBWLimitLong=Maximal nedladningshastighet (bytes per sekund), noden ska 
n?stan aldrig ?verskrida detta v?rde, -1 = 4 * inst?lld uppladdningshastighet.
 Node.invalidStoreSize=Lagringsutrymmet m?ste vara minst 32MB
+Node.java14Title=Java 1.4 st?ds inte l?ngre
 Node.l10nLanguage=Spr?k
 Node.l10nLanguageLong=Den h?r inst?llningen ?ndrar spr?ket i din nods 
web-gr?nssnitt. Vissa ?vers?ttningar kan beh?va en omstart f?r att fungera.
 Node.maxHTL=Max HTL
@@ -448,7 +459,9 @@
 Node.nodeDirLong=Mapp d?r nodrelaterade filer sparas.
 Node.nodeName=Nodnamn
 Node.nodeNameLong=Nodnamn. Synligt endast f?r de noder du ?r ansluten till.
+Node.notUsingWrapperShort=Freenet k?rs utan wrapper;n. Detta ?r inte 
rekommenderat.
 Node.oneConnectionPerIP=Begr?nsa till en anslutning per adress?
+Node.opennetEnabled=Aktivera os?kert l?ge (ansluter automatiskt till 
fr?mlingar)?
 Node.outBWLimit=Maximal uppladningshastighet (bytes per sekund)
 Node.outBWLimitLong=Maximal uppladningshastighet (bytes per sekund), noden ska 
n?stan aldrig ?verskrida detta v?rde.
 Node.passOpennetPeersThroughDarknet=Skicka opennet referenser genom darknet 
noder?
@@ -457,8 +470,8 @@
 Node.storeDirectory=Mapp f?r datalagring
 Node.storeDirectoryLong=Mapp f?r datalagring
 Node.storeMaxMemTooHigh=Att ge mer ?n 80% av ram minnet till BDB (Berkeley 
DataBase) ?r antagligen inte vad du vill g?ra!
-Node.storeSize=Max storlek p? Freenets datalagring
-Node.storeSizeLong=Max storlek p? Freenets datalagring, det utrymme i din nod 
som anv?nds till freenets datalagring. St?rre data utrymme ?n standard ?r att 
f?redra.
+Node.storeSize=Maxutrymme f?r Freenets datalagring
+Node.storeSizeLong=Maxutrymme f?r Freenets datalagring, det utrymme i din nod 
som anv?nds till Freenets datalagring. St?rre datautrymme ?n standard ?r att 
f?redra.
 NodeClientCore.couldNotFindOrCreateDir=Kunde inte hitta eller skapa mappen
 NodeClientCore.downloadAllowedDirs=Mapp/ar dit nedladdning ?r till?ten
 NodeClientCore.downloadDir=Nedladdningsmapp
@@ -491,12 +504,12 @@
 NodeStat.threadLimitLong=Noden f?rs?ker att inte ?verskrida max antal tr?dar 
genom att v?gra nya anrop.
 NodeStats.mustBePercentValueNotFull=V?rdet m?ste vara mellan 0-99 (uttrycks i 
procent).
 NodeStats.valueTooLow=V?rdet f?r den h?r inst?llningen ?r f?r l?gt, du m?ste 
?ka det!
-NodeUpdateManager.enabled=Ladda ner nya versioner automatiskt?
+NodeUpdateManager.enabled=Ladda ner nya Freenet-versioner automatiskt?
 NodeUpdateManager.enabledLong=Ska noden s?ka efter och ladda ner upgraderingar 
automatiskt? Den h?r inst?llningen st?ller sig p? false om noden inte k?rs inom 
wrappern.
 NodeUpdateManager.extURI=Adress d?r noden letar efter uppdateringar till 
freenet-ext.jar
 NodeUpdateManager.extURILong=Adress d?r noden letar efter uppdateringar till 
freenet-ext.jar
 NodeUpdateManager.installNewVersions=Installera nya versioner automatiskt?
-NodeUpdateManager.installNewVersionsLong=Ska nya Freenet versioner installeras 
automatiskt utan att f?rst fr?ga?
+NodeUpdateManager.installNewVersionsLong=Ska nya Freenet-versioner installeras 
automatiskt utan att f?rst fr?ga?
 NodeUpdateManager.invalidExtURI=Felaktig ext URI: ${error}
 NodeUpdateManager.invalidUpdateURI=Felaktig uppdaterings URI: ${error}
 NodeUpdateManager.noUpdateWithoutWrapper=Kan inte uppdatera eftersom Freenet 
inte k?rs med wrappern
@@ -555,9 +568,18 @@
 PproxyToadlet.changeReloadOnStartup=?ndra
 PproxyToadlet.classNameTitle=Klass namn
 PproxyToadlet.downloadNotAllowedFromRemoteServer=Nedladdning av plugins ?r 
endast till?ten fr?n v?r server.
+PproxyToadlet.fileonly=Endast lokala filer
 PproxyToadlet.internalIDTitle=Internt ID
+PproxyToadlet.loadFreenetPlugin=Starta en inofficiell plugin fr?n Freenet
+PproxyToadlet.loadFreenetPluginText=H?r kan du ange en Freenetnyckel till en 
plugin som du vill starta. FreenetProjektet kan inte under n?gra omst?ndigheter 
garantera din s?kerhet ifall du startar en inofficiell plugin.
+PproxyToadlet.loadFreenetURLLabel=Freenetnyckel
 PproxyToadlet.loadOfficialPlugin=Starta en officiell plugin
-PproxyToadlet.loadOtherPlugin=L?gg till en inofficiell plugin
+PproxyToadlet.loadOfficialPluginLabel=Starta en officiell plugin
+PproxyToadlet.loadOfficialPluginText=Dessa plugins ?r lagrade p? 
Freenetprojektets servar. Freenetprojektet tror att dessa plugins ?r s?kra och 
att de inte l?cker hemligheter men det kan inte garanteras.
+PproxyToadlet.loadOfficialPluginWarning=VARNING: Att starta en Officiell 
plugin inneb?r att den kommer laddas ned fr?n Internet (Inte fr?n Freenet). 
Starta inte en plugin ifall detta kan inneb?ra ett problem.
+PproxyToadlet.loadOtherPlugin=Starta en inofficiell plugin
+PproxyToadlet.loadOtherPluginText=H?r kan du ange en s?kv?g till en plugin som 
du vill starta. FreenetProjektet kan inte under n?gra omst?ndigheter garantera 
din s?kerhet ifall du startar en inofficiell plugin.
+PproxyToadlet.loadOtherURLLabel=Plugin s?kv?g
 PproxyToadlet.loadPluginLabel=Plugin att ladda:
 PproxyToadlet.noPlugins=Inga plugins laddade
 PproxyToadlet.pluginNotDownloaded=Pluginen kunde inte laddas.
@@ -682,6 +704,19 @@
 QueueToadlet.wipDU=P?g?ende mapp uppladdningar (${size})
 QueueToadlet.wipU=P?g?ende uppladdningar (${size})
 SSL.version=SSL version
+SSL.versionLong=Version av SSL, SSLv3 eller TLSv1 (Standard ?r SSLv3)
+SecurityLevels.title=S?kerhetsniv?er
+SecurityLevels.tooltip=Konfigurera nodens s?kerhetsniv?er
+SecurityLevels.userAlertShortText=S?kerhetsniv?er: N?tverk: ${network}, 
V?nner: ${friends}, Fysiska: ${physical}
+SecurityLevels.friendsThreatLevel.name.HIGH=H?G
+SecurityLevels.friendsThreatLevel.name.LOW=L?G
+SecurityLevels.friendsThreatLevel.name.NORMAL=NORMAL
+SecurityLevels.networkThreatLevel.name.HIGH=H?G
+SecurityLevels.networkThreatLevel.name.LOW=L?G
+SecurityLevels.networkThreatLevel.name.MAXIMUM=MAXIMAL
+SecurityLevels.networkThreatLevel.name.NORMAL=NORMAL
+SecurityLevels.physicalThreatLevel.name.LOW=L?G
+SecurityLevels.physicalThreatLevel.name.NORMAL=NORMAL
 SimpleToadletServer.advancedMode=Aktivera avancerat l?ge?
 SimpleToadletServer.advancedModeLong=Ska information och inst?llningar avsedda 
f?r avancerade anv?ndare/utvecklare visas?   Denna inst?llning ska normalt vara 
avst?ngd.
 SimpleToadletServer.allowedFullAccess=V?rdar med full tillg?ng til  Fproxy 
(L?s Varning)
@@ -706,7 +741,10 @@
 SimpleToadletServer.portLong=FProxy port nummer
 SimpleToadletServer.ssl=Aktivera ssl?
 SimpleToadletServer.sslLong=Aktivera ssl?
-StartupToadlet.isStartingUp=Din freenet nod startas, v?nligen v?nta.
+StartupToadlet.entropyErrorContent=Det finns inte tillr?ckligt med entropi 
tillg?ngligt... Freenet kommer inte startas f?rr?n det kan samla in nog mycket.
+StartupToadlet.entropyErrorTitle=Det finns inte tillr?ckligt mycket entropi 
tillg?ngligt!
+StartupToadlet.isStartingUp=Din Freenet nod startas, v?nligen v?nta.
+StartupToadlet.title=Freenet startas
 StaticToadlet.pathInvalidChars=URI;n ineh?ller ogiltiga tecken.
 StaticToadlet.pathNotFoundTitle=S?kv?gen kunde inte hittas
 StatisticsToadlet.allocMemory=Allokerat Java minne: ${memory}
@@ -770,11 +808,13 @@
 Toadlet.returnToHomepage=?terg? till nodens hemsida
 Toadlet.returnToNodeHomepage=?terg? till nodens hemsida
 Toadlet.returnToPrevPage=?terg? till f?rra sidan
+Toadlet.returnToQueuepage=?terv?nd till k? sidan
 Toadlet.tempRedirectWithReason=Tempor?r omdirigering: ${reason}
 Toadlet.unauthorized=Du har inte r?ttigheter att bes?ka den h?r sidan.
 Toadlet.unauthorizedTitle=Obeh?rig
 Toadlet.yes=Ja
 ToadletContextImpl.methodNotAllowed=HTTP Metoden ?r inte till?ten
+ToadletContextImpl.noSuchToadlet=Det finns ingen Toadlet med det namnet
 TranslationToadlet.bracketRemoveOverride=(Radera ?vers?ttningen!)
 TranslationToadlet.bracketTranslateIt=(?vers?tt till ditt spr?k!)
 TranslationToadlet.bracketUpdateTranslation=(Uppdatera ?vers?ttningen)
@@ -819,6 +859,7 @@
 UserAlert.apply=Anv?nd
 UserAlert.hide=G?m
 UserAlert.reset=?terst?ll
+UserAlertManager.alertsOnAlertsPage=| Se dem p? sidan f?r 
${link}upplysningar${/link}.
 UserAlertManager.alertsOnHomepage=| Mer information finns p? 
${link}startsidan${/link}.
 UserAlertManager.alertsTitle=Upplysningar
 UserAlertManager.criticalErrorCountLabel=Kritiska fel:
@@ -840,7 +881,7 @@
 WelcomeToadlet.confirmFIN=Vill du ladda upp f?ljande Frost meddelande?
 WelcomeToadlet.databaseStatsSubTitle=Databas statistik
 WelcomeToadlet.databaseStatsTitle=H?mta JE Statistik
-WelcomeToadlet.extVersion=Freenet-ext Build #${build} r${rev}
+WelcomeToadlet.extVersion=Freenet-ext Version #${build} r${rev}
 WelcomeToadlet.extVersionWithRecommended=Freenet-ext Build #${build} 
(${recbuild} ?r rekommenderad) r${rev}
 WelcomeToadlet.fetch=H?mta
 WelcomeToadlet.fetchKeyLabel=H?mta en Freenetnyckel
@@ -881,6 +922,8 @@
 WelcomeToadlet.threadDumpWithFilename=En tr?d dump har genererats och sparats 
som ${filename}.
 WelcomeToadlet.update=Uppdatera
 WelcomeToadlet.updatingTitle=Noden uppdateras
+WelcomeToadlet.version=Freenet ${fullVersion} Version #${build} r${rev}
 WelcomeToadlet.versionHeader=Versionsinformation & nodkontrol
+WrapperConfig.wrapper.java.maxmemory.long=Begr?nsa Freenets utnyttjande av 
minnet. Freenet kommer att beh?va mer minne ju fler f?rfr?gningar som finns i 
k? men ocks? ifall du har avdelat mycket plats f?r datalagring . ?ndringar 
kommer inte att ske f?rr?n Freenet har startats om.
 WrapperConfig.wrapper.java.maxmemory.short=Maximalt minne (skrivs i megabytes)
 WelcomeToadlet.insertCount

Modified: branches/db4o/freenet/src/freenet/l10n/freenet.l10n.zh-cn.properties
===================================================================
--- branches/db4o/freenet/src/freenet/l10n/freenet.l10n.zh-cn.properties        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/l10n/freenet.l10n.zh-cn.properties        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -677,9 +677,6 @@
 Node.inBWLimit=????????????
 Node.inBWLimitLong=???????????????; ??????????????; ?? -1 ?????????
 Node.invalidStoreSize=????????? 32MB
-Node.java14ShortText=???????? Java 1.4 ?, ???? 1.5 ?.
-Node.java14Text=???? Java 1.4 ??? Freenet ??. ?????? 1.5 ?. ??????????????, 
?????????????????? Java ????.
-Node.java14Title=???? Java 1.4 ?
 Node.l10nLanguage=????????
 Node.l10nLanguageLong=?????????????????????????????
 Node.maxHTL=HTL ???

Modified: branches/db4o/freenet/src/freenet/l10n/freenet.l10n.zh-tw.properties
===================================================================
--- branches/db4o/freenet/src/freenet/l10n/freenet.l10n.zh-tw.properties        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/l10n/freenet.l10n.zh-tw.properties        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -676,9 +676,6 @@
 Node.inBWLimit=?????????????
 Node.inBWLimitLong=????????????????; ??????????????; ?? -1 ?????????
 Node.invalidStoreSize=????????? 32MB
-Node.java14ShortText=???????? Java 1.4 ?, ???? 1.5 ?.
-Node.java14Text=???? Java 1.4 ??? Freenet ??. ?????? 1.5 ?. ??????????????, 
?????????????????? Java ????.
-Node.java14Title=???? Java 1.4 ?
 Node.l10nLanguage=????????
 Node.l10nLanguageLong=?????????????????????????????
 Node.maxHTL=HTL ???

Modified: branches/db4o/freenet/src/freenet/node/Announcer.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/Announcer.java       2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/Announcer.java       2008-09-25 
01:00:29 UTC (rev 22831)
@@ -37,7 +37,7 @@
        private static boolean logMINOR;
        private final Node node;
        private final OpennetManager om;
-       private static int status;
+       private int status;
        private static final int STATUS_LOADING = 0;
        private static final int STATUS_CONNECTING_SEEDNODES = 1;
        private static final int STATUS_NO_SEEDNODES = -1;

Modified: branches/db4o/freenet/src/freenet/node/CHKInsertHandler.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/CHKInsertHandler.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/CHKInsertHandler.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/CHKInsertSender.java 2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/CHKInsertSender.java 2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/ConfigurablePersister.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/ConfigurablePersister.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/ConfigurablePersister.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/DarknetPeerNode.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/DarknetPeerNode.java 2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/DarknetPeerNode.java 2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/DarknetPeerNodeStatus.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/DarknetPeerNodeStatus.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/DarknetPeerNodeStatus.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -56,6 +56,7 @@
                return privateDarknetCommentNote;
        }

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

Modified: branches/db4o/freenet/src/freenet/node/FailureTable.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/FailureTable.java    2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/FailureTable.java    2008-09-25 
01:00:29 UTC (rev 22831)
@@ -185,6 +185,7 @@
                        offers = newOffers;
                }

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

Modified: branches/db4o/freenet/src/freenet/node/IPDetectorPluginManager.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/IPDetectorPluginManager.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/IPDetectorPluginManager.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/KeyTracker.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/KeyTracker.java      2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/KeyTracker.java      2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/LoggingConfigHandler.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/LoggingConfigHandler.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/LoggingConfigHandler.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/LowLevelGetException.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/LowLevelGetException.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/LowLevelGetException.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -72,6 +72,7 @@
                this.code = reason;
        }

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

Modified: branches/db4o/freenet/src/freenet/node/MessageItem.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/MessageItem.java     2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/MessageItem.java     2008-09-25 
01:00:29 UTC (rev 22831)
@@ -87,6 +87,7 @@
                return priority;
        }

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

Modified: branches/db4o/freenet/src/freenet/node/NetworkIDManager.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/NetworkIDManager.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/NetworkIDManager.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/Node.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/Node.java    2008-09-25 00:08:21 UTC 
(rev 22830)
+++ branches/db4o/freenet/src/freenet/node/Node.java    2008-09-25 01:00:29 UTC 
(rev 22831)
@@ -150,6 +150,7 @@
                NodeNameCallback(GetPubkey n) {
                        node=n;
                }
+               @Override
                public String get() {
                        String name;
                        synchronized(this) {
@@ -163,6 +164,7 @@
                        return name;
                }

+               @Override
                public void set(String val) throws InvalidConfigValueException {
                        if(get().equals(val)) return;
                        else if(val.length() > 128)
@@ -185,12 +187,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()) {
@@ -217,10 +221,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 {
@@ -785,15 +791,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;
                                }
@@ -925,10 +934,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;
                                        }
@@ -939,10 +950,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;
@@ -967,14 +980,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;
                                }                       
@@ -983,14 +999,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;
                              }                 
@@ -999,14 +1018,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;
                                }                       
@@ -1015,14 +1037,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;
                                }                       
@@ -1041,10 +1066,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;
                        }
@@ -1053,10 +1080,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;
                        }
@@ -1097,10 +1126,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;
                        }
@@ -1109,10 +1140,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;
                        }
@@ -1143,6 +1176,7 @@
                Logger.normal(Node.class, "Creating node...");

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

                shutdownHook.addEarlyJob(new Thread() {
+                       @Override
                        public void run() {
                                darknetCrypto.stop();
                        }
@@ -1158,10 +1193,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) {
@@ -1183,10 +1220,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) {
@@ -1212,10 +1251,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;
                        }
@@ -1317,9 +1358,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;
@@ -1331,6 +1374,7 @@
                                }
                        }

+                       @Override
                        public boolean isReadOnly() {
                                        return opennet != null;
                                }
@@ -1339,11 +1383,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) {
@@ -1369,9 +1415,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"));
@@ -1436,10 +1484,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;
                        }
@@ -1453,12 +1503,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;
@@ -1472,14 +1524,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;
                                }
@@ -1499,12 +1554,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;
@@ -1520,10 +1577,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"));
@@ -1571,18 +1630,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));
                                }
                        });
@@ -1593,18 +1655,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));
                                }
                        });
@@ -1613,14 +1678,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;
                                }
@@ -1776,6 +1844,7 @@
                envMutableConfig = mutableConfig;

                shutdownHook.addLateJob(new Thread() {
+                       @Override
                        public void run() {
                                try {
                                        storeEnvironment.close();
@@ -1791,10 +1860,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"));
@@ -1929,10 +2000,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;
                        }
@@ -2071,12 +2144,6 @@

                if(logMINOR) Logger.minor(this, "JVM vendor: "+jvmVendor+", JVM 
version: "+jvmVersion+", OS name: "+osName+", OS version: "+osVersion);

-               if(jvmVersion.startsWith("1.4")) {
-                       System.err.println("Java 1.4 will not be supported for 
much longer, PLEASE UPGRADE!");
-                       nodeUpdater.disableThisSession();
-                       clientCore.alerts.register(new SimpleUserAlert(false, 
l10n("java14Title"), l10n("java14Text"), l10n("java14ShortText"), 
UserAlert.ERROR));
-               }
-               
                if(jvmVendor.startsWith("Sun ")) {
                        // Sun bugs

@@ -2115,6 +2182,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", 
@@ -2124,18 +2192,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"));
                                        }
@@ -2315,6 +2387,7 @@
                        this.uid = uid;
                }

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

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

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

Modified: branches/db4o/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/NodeClientCore.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/NodeClientCore.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -167,10 +167,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;
@@ -202,10 +204,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;
@@ -216,10 +220,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;
@@ -251,10 +257,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;
@@ -263,10 +271,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;
@@ -276,10 +286,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;
@@ -319,10 +331,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;
@@ -345,6 +359,7 @@
                        "NodeClientCore.downloadAllowedDirsLong",
                        new StringArrCallback() {

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

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

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

+                               @Override
                                public void set(String[] val) throws 
InvalidConfigValueException {
                                        setUploadAllowedDirs(val);
                                }
@@ -393,10 +411,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;
@@ -409,10 +429,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: branches/db4o/freenet/src/freenet/node/NodeCryptoConfig.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/NodeCryptoConfig.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/NodeCryptoConfig.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/NodeIPDetector.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/NodeIPDetector.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/NodeIPDetector.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/NodeStarter.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/NodeStarter.java     2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/NodeStarter.java     2008-09-25 
01:00:29 UTC (rev 22831)
@@ -33,7 +33,7 @@

        private Node node;
        private static LoggingConfigHandler logConfigHandler;
-       public final static int RECOMMENDED_EXT_BUILD_NUMBER = 21;
+       public final static int RECOMMENDED_EXT_BUILD_NUMBER = 22;
        /*
        (File.separatorChar == '\\') &&
        
(System.getProperty("os.arch").toLowerCase().matches("(i?[x0-9]86_64|amd64)")) 
? 6 : 2;

Modified: branches/db4o/freenet/src/freenet/node/NodeStats.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/NodeStats.java       2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/NodeStats.java       2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/OpennetPeerNode.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/OpennetPeerNode.java 2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/OpennetPeerNode.java 2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/PeerNode.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/PeerNode.java        2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/PeerNode.java        2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/PeerNodeStatus.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/PeerNodeStatus.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/PeerNodeStatus.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/RequestHandler.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/RequestHandler.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -50,6 +50,7 @@
        private long responseDeadline;
        private BlockTransmitter bt;

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

Modified: branches/db4o/freenet/src/freenet/node/RequestSender.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/RequestSender.java   2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/RequestSender.java   2008-09-25 
01:00:29 UTC (rev 22831)
@@ -136,7 +136,8 @@

     private static boolean logMINOR;

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


Modified: branches/db4o/freenet/src/freenet/node/RequestStarter.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/RequestStarter.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/RequestStarter.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -89,6 +89,7 @@

        final String name;

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

Modified: branches/db4o/freenet/src/freenet/node/RequestStarterGroup.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/RequestStarterGroup.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/RequestStarterGroup.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -107,6 +107,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: 
branches/db4o/freenet/src/freenet/node/ResettingHTLProbeRequestSender.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/ResettingHTLProbeRequestSender.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/ResettingHTLProbeRequestSender.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -54,7 +54,8 @@

     private static boolean logMINOR;

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


Modified: branches/db4o/freenet/src/freenet/node/SSKInsertHandler.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SSKInsertHandler.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/SSKInsertHandler.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -62,7 +62,8 @@
         logMINOR = Logger.shouldLog(Logger.MINOR, this);
     }

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


Modified: branches/db4o/freenet/src/freenet/node/SeedClientPeerNode.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SeedClientPeerNode.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/SeedClientPeerNode.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/SeedServerPeerNode.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SeedServerPeerNode.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/SeedServerPeerNode.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/SeedServerTestPeerNode.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SeedServerTestPeerNode.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/SeedServerTestPeerNode.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/SemiOrderedShutdownHook.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SemiOrderedShutdownHook.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/SemiOrderedShutdownHook.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -21,6 +21,7 @@
                lateJobs.add(r);
        }

+       @Override
        public void run() {
                System.err.println("Shutting down...");
                // First run early jobs, all at once, and wait for them to all 
complete.

Modified: branches/db4o/freenet/src/freenet/node/SendMessageOnErrorCallback.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SendMessageOnErrorCallback.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/SendMessageOnErrorCallback.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -15,7 +15,8 @@
  */
 public class SendMessageOnErrorCallback implements AsyncMessageCallback {

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


Modified: branches/db4o/freenet/src/freenet/node/SendableGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SendableGet.java     2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/SendableGet.java     2008-09-25 
01:00:29 UTC (rev 22831)
@@ -25,6 +25,7 @@
        /** Get a numbered key to fetch. */
        public abstract ClientKey getKey(Object token, ObjectContainer 
container);

+       @Override
        public Key getNodeKey(Object token, ObjectContainer container) {
                ClientKey key = getKey(token, container);
                if(key == null) return null;
@@ -90,6 +91,7 @@
        /**
         * An internal error occurred, effecting this SendableGet, 
independantly of any ChosenBlock's.
         */
+       @Override
        public void internalError(final Throwable t, final RequestScheduler 
sched, ObjectContainer container, ClientContext context, boolean persistent) {
                sched.callFailure(this, new 
LowLevelGetException(LowLevelGetException.INTERNAL_ERROR, t.getMessage(), t), 
NativeThread.MAX_PRIORITY, persistent);
        }

Modified: branches/db4o/freenet/src/freenet/node/SendableInsert.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SendableInsert.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/SendableInsert.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -26,6 +26,7 @@
        /** Called when we don't! */
        public abstract void onFailure(LowLevelPutException e, Object keyNum, 
ObjectContainer container, ClientContext context);

+       @Override
        public void internalError(Throwable t, RequestScheduler sched, 
ObjectContainer container, ClientContext context, boolean persistent) {
                sched.callFailure(this, new 
LowLevelPutException(LowLevelPutException.INTERNAL_ERROR, t.getMessage(), t), 
NativeThread.MAX_PRIORITY, persistent);
        }

Modified: branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/SimpleSendableInsert.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -56,21 +56,25 @@
                this.scheduler = scheduler;
        }

+       @Override
        public void onSuccess(Object keyNum, ObjectContainer container, 
ClientContext context) {
                // Yay!
                if(Logger.shouldLog(Logger.MINOR, this))
                        Logger.minor(this, "Finished insert of "+block);
        }

+       @Override
        public void onFailure(LowLevelPutException e, Object keyNum, 
ObjectContainer container, ClientContext context) {
                if(Logger.shouldLog(Logger.MINOR, this))
                        Logger.minor(this, "Failed insert of "+block+": "+e);
        }

+       @Override
        public short getPriorityClass(ObjectContainer container) {
                return prioClass;
        }

+       @Override
        public int getRetryCount() {
                // No retries.
                return 0;
@@ -100,14 +104,17 @@
                };
        }

+       @Override
        public RequestClient getClient() {
                return client;
        }

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

+       @Override
        public boolean isCancelled(ObjectContainer container) {
                return finished;
        }
@@ -138,16 +145,19 @@
                return false;
        }

+       @Override
        public synchronized Object[] allKeys(ObjectContainer container) {
                if(finished) return new Object[] {};
                return new Object[] { 0 };
        }

+       @Override
        public synchronized Object[] sendableKeys(ObjectContainer container) {
                if(finished) return new Object[] {};
                return new Object[] { 0 };
        }

+       @Override
        public synchronized Object chooseKey(KeysFetchingLocally keys, 
ObjectContainer container, ClientContext context) {
                if(finished) return null;
                else

Modified: branches/db4o/freenet/src/freenet/node/TestnetHandler.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/TestnetHandler.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/TestnetHandler.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/node/TextModeClientInterfaceServer.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/TextModeClientInterfaceServer.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/TextModeClientInterfaceServer.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/ThrottleWindowManager.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/ThrottleWindowManager.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/ThrottleWindowManager.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -49,6 +49,7 @@
                Logger.minor(this, "requestCompleted on "+this);
        }

+       @Override
        public synchronized String toString() {
                return  super.toString()+" w: "
                                + _simulatedWindowSize + ", d:"

Modified: branches/db4o/freenet/src/freenet/node/Version.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/Version.java 2008-09-25 00:08:21 UTC 
(rev 22830)
+++ branches/db4o/freenet/src/freenet/node/Version.java 2008-09-25 01:00:29 UTC 
(rev 22831)
@@ -24,17 +24,17 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 1161;
+       private static final int buildNumber = 1162;

        /** Oldest build of Fred we will talk to */
        private static final int oldLastGoodBuild = 1160;
-       private static final int newLastGoodBuild = 1161;
+       private static final int newLastGoodBuild = 1162;
        static final long transitionTime;

        static {
                final Calendar _cal = 
Calendar.getInstance(TimeZone.getTimeZone("GMT"));
                // year, month - 1 (or constant), day, hour, minute, second
-               _cal.set( 2008, Calendar.SEPTEMBER, 13, 0, 0, 0 );
+               _cal.set( 2008, Calendar.SEPTEMBER, 8, 0, 0, 0 );
                transitionTime = _cal.getTimeInMillis();
        }


Modified: branches/db4o/freenet/src/freenet/node/fcp/AddPeer.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/AddPeer.java     2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/AddPeer.java     2008-09-25 
01:00:29 UTC (rev 22831)
@@ -38,14 +38,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: branches/db4o/freenet/src/freenet/node/fcp/AllDataMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/AllDataMessage.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/AllDataMessage.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -30,10 +30,12 @@
                this.completionTime = completionTime;
        }

+       @Override
        long dataLength() {
                return dataLength;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.put("DataLength", dataLength);
@@ -44,18 +46,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: 
branches/db4o/freenet/src/freenet/node/fcp/BaseDataCarryingMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/BaseDataCarryingMessage.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/BaseDataCarryingMessage.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2008-09-25 
01:00:29 UTC (rev 22831)
@@ -271,8 +271,9 @@

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

                getter = new ClientGetter(this, 
server.core.requestStarters.chkFetchScheduler, 
@@ -304,6 +305,7 @@
                        }
        }

+       @Override
        public void start(ObjectContainer container, ClientContext context) {
                try {
                        synchronized(this) {
@@ -332,6 +334,7 @@
                        container.set(this); // Update
        }

+       @Override
        public void onLostConnection(ObjectContainer container, ClientContext 
context) {
                if(persistenceType == PERSIST_CONNECTION)
                        cancel(container, context);
@@ -483,6 +486,7 @@
                        container.deactivate(client, 1);
        }

+       @Override
        public void sendPendingMessages(FCPConnectionOutputHandler handler, 
boolean includePersistentRequest, boolean includeData, boolean onlyData, 
ObjectContainer container) {
                if(persistenceType == ClientRequest.PERSIST_CONNECTION) {
                        Logger.error(this, "WTF? 
persistenceType="+persistenceType, new Exception("error"));
@@ -513,6 +517,7 @@
                }
        }

+       @Override
        protected FCPMessage persistentTagMessage(ObjectContainer container) {
                if(persistenceType == PERSIST_FOREVER) {
                        container.activate(uri, 5);
@@ -555,6 +560,7 @@
                // Ignore
        }

+       @Override
        public void requestWasRemoved(ObjectContainer container) {
                // if request is still running, send a GetFailed with 
code=cancelled
                if( !finished ) {
@@ -621,6 +627,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");
@@ -670,10 +677,12 @@
                return fs;
        }

+       @Override
        protected ClientRequester getClientRequest() {
                return getter;
        }

+       @Override
        protected void freeData(ObjectContainer container) {
                Bucket data;
                synchronized(this) {
@@ -689,6 +698,7 @@
                }
        }

+       @Override
        public boolean hasSucceeded() {
                return succeeded;
        }
@@ -733,6 +743,7 @@
                return targetFile;
        }

+       @Override
        public double getSuccessFraction(ObjectContainer container) {
                if(persistenceType == PERSIST_FOREVER && progressPending != 
null)
                        container.activate(progressPending, 2);
@@ -742,6 +753,7 @@
                        return -1;
        }

+       @Override
        public double getTotalBlocks(ObjectContainer container) {
                if(persistenceType == PERSIST_FOREVER && progressPending != 
null)
                        container.activate(progressPending, 2);
@@ -751,6 +763,7 @@
                        return 1;
        }

+       @Override
        public double getMinBlocks(ObjectContainer container) {
                if(persistenceType == PERSIST_FOREVER && progressPending != 
null)
                        container.activate(progressPending, 2);
@@ -760,6 +773,7 @@
                        return 1;
        }

+       @Override
        public double getFailedBlocks(ObjectContainer container) {
                if(persistenceType == PERSIST_FOREVER && progressPending != 
null)
                        container.activate(progressPending, 2);
@@ -769,6 +783,7 @@
                        return 0;
        }

+       @Override
        public double getFatalyFailedBlocks(ObjectContainer container) {
                if(persistenceType == PERSIST_FOREVER && progressPending != 
null)
                        container.activate(progressPending, 2);
@@ -778,6 +793,7 @@
                        return 0;
        }

+       @Override
        public double getFetchedBlocks(ObjectContainer container) {
                if(persistenceType == PERSIST_FOREVER && progressPending != 
null)
                        container.activate(progressPending, 2);
@@ -787,6 +803,7 @@
                        return 0;
        }

+       @Override
        public String getFailureReason(ObjectContainer container) {
                if(getFailedMessage == null)
                        return null;
@@ -799,6 +816,7 @@
        }


+       @Override
        public boolean isTotalFinalized(ObjectContainer container) {
                if(finished && succeeded) return true;
                if(progressPending == null) return false;
@@ -830,6 +848,7 @@
                // Ignore, we don't insert
        }

+       @Override
        public boolean canRestart() {
                if(!finished) {
                        Logger.minor(this, "Cannot restart because not finished 
for "+identifier);
@@ -842,6 +861,7 @@
                return getter.canRestart();
        }

+       @Override
        public boolean restart(ObjectContainer container, ClientContext 
context) {
                if(!canRestart()) return false;
                FreenetURI redirect;

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientGetMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientGetMessage.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientGetMessage.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -197,6 +197,7 @@
                binaryBlob = Fields.stringToBool(fs.get("BinaryBlob"), false);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("IgnoreDS", Boolean.toString(ignoreDS));
@@ -215,10 +216,12 @@
                return returnTypeString(returnType);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node) {
                handler.startClientGet(this);
        }

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientHelloMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientHelloMessage.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientHelloMessage.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -30,6 +30,7 @@
                // FIXME check the expected version
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("Name", clientName);
@@ -37,10 +38,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: branches/db4o/freenet/src/freenet/node/fcp/ClientPut.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPut.java   2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPut.java   2008-09-25 
01:00:29 UTC (rev 22831)
@@ -355,6 +355,7 @@
                }
        }

+       @Override
        public void start(ObjectContainer container, ClientContext context) {
                if(Logger.shouldLog(Logger.MINOR, this))
                        Logger.minor(this, "Starting "+this+" : "+identifier);
@@ -385,6 +386,7 @@
                }
        }

+       @Override
        protected void freeData(ObjectContainer container) {
                Bucket d;
                synchronized(this) {
@@ -400,6 +402,7 @@
                        d.removeFrom(container);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = super.getFieldSet();
                // This is all fixed, so no need for synchronization.
@@ -428,10 +431,12 @@
                return fs;
        }

+       @Override
        protected freenet.client.async.ClientRequester getClientRequest() {
                return putter;
        }

+       @Override
        protected FCPMessage persistentTagMessage(ObjectContainer container) {
                if(persistenceType == PERSIST_FOREVER) {
                        container.activate(publicURI, 5);
@@ -443,10 +448,12 @@
                                getDataSize(), clientToken, started, 
ctx.maxInsertRetries, targetFilename, binaryBlob);
        }

+       @Override
        protected String getTypeName() {
                return "PUT";
        }

+       @Override
        public boolean hasSucceeded() {
                return succeeded;
        }
@@ -478,6 +485,7 @@
                return clientMetadata.getMIMEType();
        }

+       @Override
        public boolean canRestart() {
                if(!finished) {
                        Logger.minor(this, "Cannot restart because not finished 
for "+identifier);
@@ -490,6 +498,7 @@
                return putter.canRestart();
        }

+       @Override
        public boolean restart(ObjectContainer container, ClientContext 
context) {
                if(!canRestart()) return false;
                setVarsRestart(container);

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -131,6 +131,7 @@
                }
        }

+       @Override
        public void onLostConnection(ObjectContainer container, ClientContext 
context) {
                if(persistenceType == PERSIST_CONNECTION)
                        cancel(container, context);
@@ -173,6 +174,7 @@
                trySendGeneratedURIMessage(null, container);
        }

+       @Override
        public void requestWasRemoved(ObjectContainer container) {
                // if request is still running, send a PutFailed with 
code=cancelled
                if( !finished ) {
@@ -331,6 +333,7 @@
                        client.queueClientRequestMessage(msg, verbosity, 
container);
        }

+       @Override
        public void sendPendingMessages(FCPConnectionOutputHandler handler, 
boolean includePersistentRequest, boolean includeData, boolean onlyData, 
ObjectContainer container) {
                if(persistenceType == PERSIST_CONNECTION) {
                        Logger.error(this, "WTF? 
persistenceType="+persistenceType, new Exception("error"));
@@ -360,6 +363,7 @@
                        trySendFinalMessage(handler, container);
        }

+       @Override
        public synchronized SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(false); // we will need 
multi-level later...
                fs.putSingle("Type", getTypeName());
@@ -390,6 +394,7 @@

        protected abstract String getTypeName();

+       @Override
        public synchronized double getSuccessFraction(ObjectContainer 
container) {
                if(persistenceType == PERSIST_FOREVER && progressMessage != 
null)
                        container.activate(progressMessage, 2);
@@ -402,6 +407,7 @@
        }


+       @Override
        public synchronized double getTotalBlocks(ObjectContainer container) {
                if(persistenceType == PERSIST_FOREVER && progressMessage != 
null)
                        container.activate(progressMessage, 2);
@@ -413,6 +419,7 @@
                        return -1;
        }

+       @Override
        public synchronized double getMinBlocks(ObjectContainer container) {
                if(persistenceType == PERSIST_FOREVER && progressMessage != 
null)
                        container.activate(progressMessage, 2);
@@ -424,6 +431,7 @@
                        return -1;
        }

+       @Override
        public synchronized double getFailedBlocks(ObjectContainer container) {
                if(persistenceType == PERSIST_FOREVER && progressMessage != 
null)
                        container.activate(progressMessage, 2);
@@ -435,6 +443,7 @@
                        return -1;
        }

+       @Override
        public synchronized double getFatalyFailedBlocks(ObjectContainer 
container) {
                if(persistenceType == PERSIST_FOREVER && progressMessage != 
null)
                        container.activate(progressMessage, 2);
@@ -446,6 +455,7 @@
                        return -1;
        }

+       @Override
        public synchronized double getFetchedBlocks(ObjectContainer container) {
                if(persistenceType == PERSIST_FOREVER && progressMessage != 
null)
                        container.activate(progressMessage, 2);
@@ -457,6 +467,7 @@
                        return -1;
        }

+       @Override
        public synchronized boolean isTotalFinalized(ObjectContainer container) 
{
                if(!(progressMessage instanceof SimpleProgressMessage)) return 
false;
                else {
@@ -466,6 +477,7 @@
                }
        }

+       @Override
        public synchronized String getFailureReason(ObjectContainer container) {
                if(putFailedMessage == null)
                        return null;

Modified: 
branches/db4o/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -21,8 +21,9 @@
 import freenet.support.io.PersistentTempBucketFactory;

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

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

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

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

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

        static final String NAME = "ClientPutComplexDir";

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        long dataLength() {
                return attachedBytes;
        }
@@ -124,27 +129,30 @@
                return identifier;
        }

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

+       @Override
        protected void writeData(OutputStream os) throws IOException {
-               Iterator i = filesToRead.iterator();
+               Iterator<DirPutFile> i = filesToRead.iterator();
                while(i.hasNext()) {
                        DirectDirPutFile f = (DirectDirPutFile) i.next();
                        f.write(os);
                }
        }

+       @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.
                // Then simply create the ClientPutDir.
-               HashMap manifestElements = new HashMap();
+               HashMap<String, Object> manifestElements = new HashMap<String, 
Object>();
                convertFilesByNameToManifestElements(filesByName, 
manifestElements, node);
                handler.startClientPutDir(this, manifestElements, false);
        }
@@ -153,15 +161,16 @@
         * Convert a hierarchy of HashMap's containing DirPutFile's into a 
hierarchy of
         * HashMap's containing ManifestElement's.
         */
-       private void convertFilesByNameToManifestElements(HashMap filesByName, 
HashMap manifestElements, Node node) throws MessageInvalidException {
-               Iterator i = filesByName.entrySet().iterator();
-               while(i.hasNext()) {
-                       Map.Entry entry = (Map.Entry) i.next();
-                       String tempName = (String) entry.getKey();
+       @SuppressWarnings("unchecked")
+       private void convertFilesByNameToManifestElements(HashMap<String, 
Object> filesByName,
+               HashMap<String, Object> manifestElements, Node node) throws 
MessageInvalidException {
+               
+               for (Map.Entry<String, Object> entry : filesByName.entrySet()) {
+                       String tempName = entry.getKey();
                        Object val = entry.getValue();
                        if(val instanceof HashMap) {
-                               HashMap h = (HashMap) val;
-                               HashMap manifests = new HashMap();
+                               HashMap<String, Object> h = (HashMap<String, 
Object>) val;
+                               HashMap<String, Object> manifests = new 
HashMap<String, Object>();
                                manifestElements.put(tempName, manifests);
                                convertFilesByNameToManifestElements(h, 
manifests, node);
                        } else {

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -4,8 +4,8 @@
 package freenet.node.fcp;

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

 public class ClientPutDir extends ClientPutBase {

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

        public ClientPutDir(FCPConnectionHandler handler, ClientPutDirMessage 
message, 
-                       HashMap manifestElements, boolean wasDiskPut, FCPServer 
server) throws IdentifierCollisionException, MalformedURLException {
+                       HashMap<String, Object> manifestElements, boolean 
wasDiskPut, FCPServer server) throws IdentifierCollisionException, 
MalformedURLException {
                super(message.uri, message.identifier, message.verbosity, 
handler,
                                message.priorityClass, message.persistenceType, 
message.clientToken, message.global,
                                message.getCHKOnly, message.dontCompress, 
message.maxRetries, message.earlyEncode, server);
@@ -92,17 +92,16 @@
                }
        }

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

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

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

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

-                       File f = files[i];
                        if (f.exists() && f.canRead()) {
                                if(f.isFile()) {
                                        FileBucket bucket = new FileBucket(f, 
true, false, false, false, false);
@@ -151,7 +150,7 @@
                // Flattened for disk, sort out afterwards
                int fileCount = 0;
                long size = 0;
-               Vector v = new Vector();
+               Vector<ManifestElement> v = new Vector<ManifestElement>();
                for(int i=0;;i++) {
                        String num = Integer.toString(i);
                        SimpleFieldSet subset = files.subset(num);
@@ -218,6 +217,7 @@
                }
        }

+       @Override
        public void start(ObjectContainer container, ClientContext context) {
                if(finished) return;
                if(started) return;
@@ -238,22 +238,25 @@
                }
        }

+       @Override
        public void onLostConnection(ObjectContainer container, ClientContext 
context) {
                if(persistenceType == PERSIST_CONNECTION)
                        cancel(container, context);
                // otherwise ignore
        }

+       @SuppressWarnings("unchecked")
        protected void freeData(ObjectContainer container) {
                freeData(manifestElements, container);
        }

-       private void freeData(HashMap manifestElements, ObjectContainer 
container) {
+       @SuppressWarnings("unchecked")
+       private void freeData(HashMap<String, Object> manifestElements, 
ObjectContainer container) {
                Iterator i = manifestElements.values().iterator();
                while(i.hasNext()) {
                        Object o = i.next();
                        if(o instanceof HashMap)
-                               freeData((HashMap)o, container);
+                               freeData((HashMap<String, Object>) o, 
container);
                        else {
                                ManifestElement e = (ManifestElement) o;
                                e.freeData(container, persistenceType == 
PERSIST_FOREVER);
@@ -261,10 +264,12 @@
                }
        }

+       @Override
        protected ClientRequester getClientRequest() {
                return putter;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = super.getFieldSet();
                // Translate manifestElements directly into a fieldset
@@ -311,6 +316,7 @@
                return fs;
        }

+       @Override
        protected FCPMessage persistentTagMessage(ObjectContainer container) {
                if(persistenceType == PERSIST_FOREVER) {
                        container.activate(publicURI, 5);
@@ -321,10 +327,12 @@
                                persistenceType, global, defaultName, 
manifestElements, clientToken, started, ctx.maxInsertRetries, wasDiskPut);
        }

+       @Override
        protected String getTypeName() {
                return "PUTDIR";
        }

+       @Override
        public boolean hasSucceeded() {
                return succeeded;
        }
@@ -348,6 +356,7 @@
                return totalSize;
        }

+       @Override
        public boolean canRestart() {
                if(!finished) {
                        Logger.minor(this, "Cannot restart because not finished 
for "+identifier);
@@ -360,6 +369,7 @@
                return true;
        }

+       @Override
        public boolean restart(ObjectContainer container, ClientContext 
context) {
                if(!canRestart()) return false;
                setVarsRestart(container);

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPutDirMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutDirMessage.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutDirMessage.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/node/fcp/ClientPutDiskDirMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutDiskDirMessage.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutDiskDirMessage.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -45,17 +45,19 @@
                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))
                        throw new 
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "Not allowed to 
upload from "+dirname, identifier, global);
                // Create a directory listing of Buckets of data, mapped to 
ManifestElement's.
                // Directories are sub-HashMap's.
-               HashMap buckets = makeBucketsByName(dirname, "");
+               HashMap<String, Object> buckets = makeBucketsByName(dirname, 
"");
                handler.startClientPutDir(this, buckets, true);
        }

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

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

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

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

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

+       @Override
        long dataLength() {
                return 0;
        }
@@ -106,10 +110,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: branches/db4o/freenet/src/freenet/node/fcp/ClientPutMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutMessage.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutMessage.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -210,6 +210,7 @@
                earlyEncode = Fields.stringToBool(fs.get("EarlyEncode"), false);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("URI", uri.toString());
@@ -238,10 +239,12 @@
                return sfs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                handler.startClientPut(this);
@@ -250,16 +253,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);
@@ -281,6 +287,7 @@
                }
        }

+       @Override
        boolean isGlobal() {
                return global;
        }

Modified: 
branches/db4o/freenet/src/freenet/node/fcp/CloseConnectionDuplicateClientNameMessage.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/fcp/CloseConnectionDuplicateClientNameMessage.java
   2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/fcp/CloseConnectionDuplicateClientNameMessage.java
   2008-09-25 01:00:29 UTC (rev 22831)
@@ -14,14 +14,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: branches/db4o/freenet/src/freenet/node/fcp/ConfigData.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ConfigData.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ConfigData.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -37,6 +37,7 @@
        }


+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                if(withCurrent) {
@@ -92,10 +93,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: branches/db4o/freenet/src/freenet/node/fcp/DataCarryingMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/DataCarryingMessage.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/DataCarryingMessage.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/fcp/DataFoundMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/DataFoundMessage.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/DataFoundMessage.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -30,6 +30,7 @@
                this.dataLength = foundDataLength;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -39,10 +40,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: branches/db4o/freenet/src/freenet/node/fcp/DirectDirPutFile.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/DirectDirPutFile.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/DirectDirPutFile.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -52,6 +52,7 @@
                BucketTools.copyTo(data, os, length);
        }

+       @Override
        public Bucket getData() {
                return data;
        }

Modified: branches/db4o/freenet/src/freenet/node/fcp/DiskDirPutFile.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/DiskDirPutFile.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/DiskDirPutFile.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -25,6 +25,7 @@
                file = new File(s);
        }

+       @Override
        protected String guessMIME() {
                String mime = super.guessMIME();
                if(mime == null) {
@@ -33,6 +34,7 @@
                return mime;
        }

+       @Override
        public Bucket getData() {
                return new FileBucket(file, true, false, false, false, false);
        }

Modified: 
branches/db4o/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/EndListPeerNotesMessage.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -19,6 +19,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("NodeIdentifier", nodeIdentifier);
@@ -27,10 +28,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: branches/db4o/freenet/src/freenet/node/fcp/EndListPeersMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/EndListPeersMessage.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/EndListPeersMessage.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -17,6 +17,7 @@
                this.identifier = 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 {
                throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "EndListPeers 
goes from server to client not the other way around", null, false);

Modified: 
branches/db4o/freenet/src/freenet/node/fcp/EndListPersistentRequestsMessage.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/fcp/EndListPersistentRequestsMessage.java
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/fcp/EndListPersistentRequestsMessage.java
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -12,14 +12,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: branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java   2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPClient.java   2008-09-25 
01:00:29 UTC (rev 22831)
@@ -52,7 +52,7 @@
                this.persistenceType = persistenceType;
                assert(persistenceType == ClientRequest.PERSIST_FOREVER || 
persistenceType == ClientRequest.PERSIST_REBOOT);
                watchGlobalVerbosityMask = Integer.MAX_VALUE;
-               toStart = new LinkedList();
+               toStart = new LinkedList<ClientRequest>();
                lowLevelClient = new RequestClient() {
                        public boolean persistent() {
                                return forever;
@@ -77,7 +77,7 @@
        /** Completed unacknowledged persistent requests */
        private final List completedUnackedRequests;
        /** ClientRequest's by identifier */
-       private final Map clientRequestsByIdentifier;
+       private final Map<String, ClientRequest> clientRequestsByIdentifier;
        /** Are we the global queue? */
        public final boolean isGlobalQueue;
        /** Are we watching the global queue? */
@@ -86,7 +86,7 @@
        /** FCPClients watching us. Lazy init, sync on clientsWatchingLock */
        private transient LinkedList clientsWatching;
        private final NullObject clientsWatchingLock = new NullObject();
-       private final LinkedList toStart;
+       private final LinkedList<ClientRequest> toStart;
        final RequestClient lowLevelClient;
        private transient RequestCompletionCallback completionCallback;
        /** Connection mode */
@@ -165,7 +165,7 @@
                        Logger.minor(this, "Registering 
"+cg.getIdentifier()+(startLater ? " to start later" : ""));
                synchronized(this) {
                        String ident = cg.getIdentifier();
-                       ClientRequest old = (ClientRequest) 
clientRequestsByIdentifier.get(ident);
+                       ClientRequest old = 
clientRequestsByIdentifier.get(ident);
                        if((old != null) && (old != cg))
                                throw new IdentifierCollisionException();
                        if(cg.hasFinished()) {
@@ -184,7 +184,7 @@
                boolean logMINOR = Logger.shouldLog(Logger.MINOR, this);
                if(logMINOR) Logger.minor(this, 
"removeByIdentifier("+identifier+ ',' +kill+ ')');
                synchronized(this) {
-                       req = (ClientRequest) 
clientRequestsByIdentifier.get(identifier);
+                       req = clientRequestsByIdentifier.get(identifier);
                        if(req == null)
                                return false;
                        else if(!(runningPersistentRequests.remove(req) || 
completedUnackedRequests.remove(req))) {
@@ -223,7 +223,7 @@
                synchronized(this) {
                        Iterator<ClientRequest> i = 
runningPersistentRequests.iterator();
                        while(i.hasNext()) {
-                               ClientRequest req = (ClientRequest) i.next();
+                               ClientRequest req = i.next();
                                if(req.isPersistentForever() || !onlyForever)
                                        v.add(req);
                        }
@@ -342,6 +342,7 @@
                }
        }

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

Modified: branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionHandler.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -68,15 +68,15 @@
        private FCPClient foreverClient;
        private boolean failedGetForever;
        final BucketFactory bf;
-       final HashMap requestsByIdentifier;
+       final HashMap<String, ClientRequest> requestsByIdentifier;
        protected final String connectionIdentifier;
        static boolean logMINOR;
        private boolean killedDupe;

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

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

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

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

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

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

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

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

Modified: 
branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPConnectionOutputHandler.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -14,11 +14,11 @@
 public class FCPConnectionOutputHandler implements Runnable {

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

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

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

Modified: branches/db4o/freenet/src/freenet/node/fcp/FCPPluginMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPPluginMessage.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPPluginMessage.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -72,26 +72,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: branches/db4o/freenet/src/freenet/node/fcp/FCPPluginReply.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPPluginReply.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPPluginReply.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -37,18 +37,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";
@@ -56,6 +60,7 @@
                        return "EndMessage";
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("PluginName", plugname);
@@ -66,10 +71,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: branches/db4o/freenet/src/freenet/node/fcp/FCPServer.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FCPServer.java   2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/FCPServer.java   2008-09-25 
01:00:29 UTC (rev 22831)
@@ -200,16 +200,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;
                }
@@ -223,16 +226,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;
                }
@@ -240,10 +246,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;
@@ -254,6 +262,7 @@
                        throw new InvalidConfigValueException("Cannot change 
SSL on the fly, please restart freenet");
                }

+               @Override
                public boolean isReadOnly() {
                        return true;
                }
@@ -270,10 +279,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 {
@@ -297,6 +308,7 @@
                        this.node = node;
                }

+               @Override
                public String get() {
                        FCPServer server = node.getFCPServer();
                        if(server == null) return 
NetworkInterface.DEFAULT_BIND_TO;
@@ -304,6 +316,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);
@@ -334,10 +347,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);
@@ -349,10 +364,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;
@@ -363,10 +380,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;
@@ -377,10 +396,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;
@@ -882,8 +903,8 @@
                        clients = clientsByName.values().toArray(new 
FCPClient[clientsByName.size()]);
                }

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

                if(enablePersistentDownloads) {

Modified: 
branches/db4o/freenet/src/freenet/node/fcp/FinishedCompressionMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/FinishedCompressionMessage.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/FinishedCompressionMessage.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -25,6 +25,7 @@
                this.global = global;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -35,10 +36,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: branches/db4o/freenet/src/freenet/node/fcp/GenerateSSKMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/GenerateSSKMessage.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/GenerateSSKMessage.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -19,6 +19,7 @@
                identifier = fs.get("Identifier");
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                if(identifier != null)
@@ -26,10 +27,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: branches/db4o/freenet/src/freenet/node/fcp/GetConfig.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/GetConfig.java   2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/GetConfig.java   2008-09-25 
01:00:29 UTC (rev 22831)
@@ -35,14 +35,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: branches/db4o/freenet/src/freenet/node/fcp/GetFailedMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/GetFailedMessage.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/GetFailedMessage.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -91,6 +91,7 @@
                this.global = Fields.stringToBool(fs.get("Global"), false);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return getFieldSet(true);
        }
@@ -128,10 +129,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: branches/db4o/freenet/src/freenet/node/fcp/GetNode.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/GetNode.java     2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/GetNode.java     2008-09-25 
01:00:29 UTC (rev 22831)
@@ -25,6 +25,7 @@
                fs.removeValue("Identifier");
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                if(identifier != null)
@@ -32,10 +33,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                if(!handler.hasFullAccess()) {

Modified: branches/db4o/freenet/src/freenet/node/fcp/GetPluginInfo.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/GetPluginInfo.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/GetPluginInfo.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -30,14 +30,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: 
branches/db4o/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/GetRequestStatusMessage.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -25,16 +25,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(final FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                ClientRequest req = handler.getRebootRequest(global, handler, 
identifier);

Modified: 
branches/db4o/freenet/src/freenet/node/fcp/IdentifierCollisionMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/IdentifierCollisionMessage.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/IdentifierCollisionMessage.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -18,6 +18,7 @@
                this.global = global;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("Identifier", identifier);
@@ -25,10 +26,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: branches/db4o/freenet/src/freenet/node/fcp/ListPeerMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ListPeerMessage.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ListPeerMessage.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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, "ListPeer requires 
full access", identifier, false);

Modified: branches/db4o/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ListPeerNotesMessage.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/fcp/ListPeersMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ListPeersMessage.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ListPeersMessage.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -24,14 +24,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: 
branches/db4o/freenet/src/freenet/node/fcp/ListPersistentRequestsMessage.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/fcp/ListPersistentRequestsMessage.java   
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/fcp/ListPersistentRequestsMessage.java   
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -19,14 +19,17 @@
                // Do nothing
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return new SimpleFieldSet(true);
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(final FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {


Modified: branches/db4o/freenet/src/freenet/node/fcp/ModifyConfig.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ModifyConfig.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ModifyConfig.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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, "ModifyConfig 
requires full access", identifier, false);
@@ -43,7 +46,7 @@
                boolean logMINOR = Logger.shouldLog(Logger.MINOR, this);

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


Modified: branches/db4o/freenet/src/freenet/node/fcp/ModifyPeer.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ModifyPeer.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ModifyPeer.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -24,14 +24,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: branches/db4o/freenet/src/freenet/node/fcp/ModifyPeerNote.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ModifyPeerNote.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ModifyPeerNote.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -27,14 +27,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: 
branches/db4o/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ModifyPersistentRequest.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -55,6 +55,7 @@
                        priorityClass = -1;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -65,10 +66,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(final FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {


Modified: branches/db4o/freenet/src/freenet/node/fcp/NodeData.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/NodeData.java    2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/NodeData.java    2008-09-25 
01:00:29 UTC (rev 22831)
@@ -25,6 +25,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs;
                if(giveOpennetRef) {
@@ -51,10 +52,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: branches/db4o/freenet/src/freenet/node/fcp/NodeHelloMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/NodeHelloMessage.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/NodeHelloMessage.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -32,6 +32,7 @@
                this.id = id;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                // FIXME
@@ -49,10 +50,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: branches/db4o/freenet/src/freenet/node/fcp/PeerMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/PeerMessage.java 2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/PeerMessage.java 2008-09-25 
01:00:29 UTC (rev 22831)
@@ -24,6 +24,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = pn.exportFieldSet();
                if(withMetadata) {
@@ -43,10 +44,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: branches/db4o/freenet/src/freenet/node/fcp/PeerNote.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/PeerNote.java    2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/PeerNote.java    2008-09-25 
01:00:29 UTC (rev 22831)
@@ -26,6 +26,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("NodeIdentifier", nodeIdentifier);
@@ -40,10 +41,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: branches/db4o/freenet/src/freenet/node/fcp/PeerRemoved.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/PeerRemoved.java 2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/PeerRemoved.java 2008-09-25 
01:00:29 UTC (rev 22831)
@@ -21,6 +21,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identity", identity);
@@ -30,10 +31,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: branches/db4o/freenet/src/freenet/node/fcp/PersistentGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/PersistentGet.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/PersistentGet.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -54,6 +54,7 @@
                this.maxSize = maxSize;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -78,10 +79,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: branches/db4o/freenet/src/freenet/node/fcp/PersistentPut.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/PersistentPut.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/PersistentPut.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -55,6 +55,7 @@
                this.binaryBlob = binaryBlob;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -83,10 +84,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: branches/db4o/freenet/src/freenet/node/fcp/PersistentPutDir.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/PersistentPutDir.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/PersistentPutDir.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -29,16 +29,16 @@
        final short priorityClass;
        final short persistenceType; 
        final boolean global;
-       private final HashMap manifestElements;
+       private final HashMap<String, Object> manifestElements;
        final String defaultName;
        final String token;
        final boolean started;
        final int maxRetries;
        final boolean wasDiskPut;

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

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(false); // false because 
this can get HUGE
                fs.putSingle("Identifier", identifier);
@@ -109,10 +110,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: 
branches/db4o/freenet/src/freenet/node/fcp/PersistentRequestModifiedMessage.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/fcp/PersistentRequestModifiedMessage.java
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/fcp/PersistentRequestModifiedMessage.java
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -34,7 +34,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");
@@ -43,11 +44,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: 
branches/db4o/freenet/src/freenet/node/fcp/PersistentRequestRemovedMessage.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/fcp/PersistentRequestRemovedMessage.java 
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/fcp/PersistentRequestRemovedMessage.java 
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -21,18 +21,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: branches/db4o/freenet/src/freenet/node/fcp/PluginInfoMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/PluginInfoMessage.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/PluginInfoMessage.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -34,6 +34,7 @@
                started = pi.getStarted();
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                if(identifier != null) // is optional on these two only
@@ -48,10 +49,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: branches/db4o/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -151,6 +151,7 @@
                global = Fields.stringToBool(fs.get("Global"), false);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                if(ident != null)
@@ -165,10 +166,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: branches/db4o/freenet/src/freenet/node/fcp/PutFailedMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/PutFailedMessage.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/PutFailedMessage.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -76,6 +76,7 @@
                }
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                return getFieldSet(true);
        }
@@ -101,10 +102,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: branches/db4o/freenet/src/freenet/node/fcp/PutFetchableMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/PutFetchableMessage.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/PutFetchableMessage.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -21,6 +21,7 @@
        final boolean global;
        final FreenetURI uri;

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -30,10 +31,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: branches/db4o/freenet/src/freenet/node/fcp/PutSuccessfulMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/PutSuccessfulMessage.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/PutSuccessfulMessage.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -24,6 +24,7 @@
                this.completionTime = completionTime;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -36,10 +37,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: branches/db4o/freenet/src/freenet/node/fcp/RedirectDirPutFile.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/RedirectDirPutFile.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/RedirectDirPutFile.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -30,10 +30,12 @@
                super.meta = new ClientMetadata();
        }

+       @Override
        public Bucket getData() {
                return null;
        }

+       @Override
        public ManifestElement getElement() {
                return new ManifestElement(name, targetURI, getMIMEType());
        }

Modified: branches/db4o/freenet/src/freenet/node/fcp/RemovePeer.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/RemovePeer.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/RemovePeer.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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, NAME + " requires 
full access", identifier, false);

Modified: 
branches/db4o/freenet/src/freenet/node/fcp/RemovePersistentRequest.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/RemovePersistentRequest.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/RemovePersistentRequest.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -29,16 +29,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(final FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                ClientRequest req = 
handler.removePersistentRebootRequest(global, identifier);

Modified: branches/db4o/freenet/src/freenet/node/fcp/SSKKeypairMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/SSKKeypairMessage.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/SSKKeypairMessage.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -21,6 +21,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("InsertURI", insertURI.toString());
@@ -30,10 +31,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: branches/db4o/freenet/src/freenet/node/fcp/ShutdownMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ShutdownMessage.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/ShutdownMessage.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -16,14 +16,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: branches/db4o/freenet/src/freenet/node/fcp/SimpleProgressMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/SimpleProgressMessage.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/SimpleProgressMessage.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -21,6 +21,7 @@
                this.global = global;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.put("Total", event.totalBlocks);
@@ -34,10 +35,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: 
branches/db4o/freenet/src/freenet/node/fcp/StartedCompressionMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/StartedCompressionMessage.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/StartedCompressionMessage.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -21,6 +21,7 @@
                this.global = global;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -29,10 +30,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: branches/db4o/freenet/src/freenet/node/fcp/SubscribeUSKMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/SubscribeUSKMessage.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/SubscribeUSKMessage.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -49,6 +49,7 @@
                this.dontPoll = Fields.stringToBool(fs.get("DontPoll"), false);
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("URI", key.getURI().toString());
@@ -56,10 +57,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: branches/db4o/freenet/src/freenet/node/fcp/SubscribedUSKMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/SubscribedUSKMessage.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/SubscribedUSKMessage.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -28,6 +28,7 @@
                this.message = m;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("Identifier", message.identifier);
@@ -37,10 +38,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: branches/db4o/freenet/src/freenet/node/fcp/SubscribedUSKUpdate.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/SubscribedUSKUpdate.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/SubscribedUSKUpdate.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -23,6 +23,7 @@
                this.key = key;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("Identifier", identifier);
@@ -31,10 +32,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: branches/db4o/freenet/src/freenet/node/fcp/TestDDACompleteMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/TestDDACompleteMessage.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/TestDDACompleteMessage.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -38,6 +38,7 @@
                this.handler = handler;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);

@@ -71,10 +72,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: branches/db4o/freenet/src/freenet/node/fcp/TestDDAReplyMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/TestDDAReplyMessage.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/TestDDAReplyMessage.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -30,6 +30,7 @@
                this.checkJob = job;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle(TestDDARequestMessage.DIRECTORY, 
checkJob.directory.toString());
@@ -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", name, false);
        }

Modified: branches/db4o/freenet/src/freenet/node/fcp/TestDDARequestMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/TestDDARequestMessage.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/TestDDARequestMessage.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -43,14 +43,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: branches/db4o/freenet/src/freenet/node/fcp/TestDDAResponseMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/TestDDAResponseMessage.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/TestDDAResponseMessage.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -35,14 +35,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: branches/db4o/freenet/src/freenet/node/fcp/URIGeneratedMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/URIGeneratedMessage.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/URIGeneratedMessage.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -21,6 +21,7 @@
                this.global = global;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.putSingle("URI", uri.toString());
@@ -29,10 +30,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: 
branches/db4o/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java    
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java    
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -18,6 +18,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet sfs = new SimpleFieldSet(true);
                sfs.putSingle("NodeIdentifier", nodeIdentifier);
@@ -26,10 +27,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: 
branches/db4o/freenet/src/freenet/node/fcp/UnknownPeerNoteTypeMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/UnknownPeerNoteTypeMessage.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/UnknownPeerNoteTypeMessage.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -18,6 +18,7 @@
                this.identifier = identifier;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.put("PeerNoteType", peerNoteType);
@@ -26,10 +27,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: branches/db4o/freenet/src/freenet/node/fcp/WatchGlobal.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/WatchGlobal.java 2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/fcp/WatchGlobal.java 2008-09-25 
01:00:29 UTC (rev 22831)
@@ -31,6 +31,7 @@
                        verbosityMask = Integer.MAX_VALUE;
        }

+       @Override
        public SimpleFieldSet getFieldSet() {
                SimpleFieldSet fs = new SimpleFieldSet(true);
                fs.put("Enabled", enabled);
@@ -38,10 +39,12 @@
                return fs;
        }

+       @Override
        public String getName() {
                return NAME;
        }

+       @Override
        public void run(final FCPConnectionHandler handler, Node node)
                        throws MessageInvalidException {
                handler.getRebootClient().setWatchGlobal(enabled, 
verbosityMask, node.clientCore.getFCPServer(), null);

Modified: 
branches/db4o/freenet/src/freenet/node/simulator/RealNodeNetworkColoringTest.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/simulator/RealNodeNetworkColoringTest.java
   2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/simulator/RealNodeNetworkColoringTest.java
   2008-09-25 01:00:29 UTC (rev 22831)
@@ -142,10 +142,10 @@
         RunningAverage aRate = new BootstrappingDecayingRunningAverage(0.0, 
0.0, 1.0, 500, null);
                RunningAverage bRate = new 
BootstrappingDecayingRunningAverage(0.0, 0.0, 1.0, 500, null);
                RunningAverage bridgeRate = new 
BootstrappingDecayingRunningAverage(0.0, 0.0, 1.0, 500, null);
-               HashSet generalIds=new HashSet();
-               HashSet aIds=new HashSet();
-               HashSet bIds=new HashSet();
-               HashSet bridgeIds=new HashSet();
+               HashSet<Integer> generalIds = new HashSet<Integer>();
+               HashSet<Integer> aIds = new HashSet<Integer>();
+               HashSet<Integer> bIds = new HashSet<Integer>();
+               HashSet<Integer> bridgeIds = new HashSet<Integer>();
         while(true) {
             cycleNumber++;

@@ -239,13 +239,13 @@
                }
     }

-       private static void idReport(String group, HashSet ids, int targetNum) {
+       private static void idReport(String group, HashSet<Integer> ids, int 
targetNum) {
                //Print out the number which are non-zero & display the 
distinct ones if a few...
                int size=ids.size();
                int MAX=6;
                StringBuilder sb=new 
StringBuilder(Integer.toString(size)).append("/").append(Integer.toString(targetNum));
                sb.append(" ids (").append(group).append(") = ");
-               Iterator iter=ids.iterator();
+               Iterator<Integer> iter = ids.iterator();
                for (int i=0; i<=MAX && i<size; i++) {
                        String thisId=iter.next().toString();
                        if (i==0)

Modified: 
branches/db4o/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java 
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/simulator/RealNodeRequestInsertTest.java 
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -160,7 +160,7 @@
                     node2 = random.nextInt(NUMBER_OF_NODES);
                 } while(node2 == node1);
                 Node fetchNode = nodes[node2];
-                block = (ClientKeyBlock) 
fetchNode.clientCore.realGetKey(fetchKey, false, true, false);
+                block = fetchNode.clientCore.realGetKey(fetchKey, false, true, 
false);
                 if(block == null) {
                                        int 
percentSuccess=100*fetchSuccesses/insertAttempts;
                     Logger.error(RealNodeRequestInsertTest.class, "Fetch 
#"+requestNumber+" FAILED ("+percentSuccess+"%); from "+node2);
@@ -187,7 +187,7 @@
                 StringBuilder load = new StringBuilder("Running UIDs for 
nodes: ");
                 int totalRunningUIDs = 0;
                 int totalRunningUIDsAlt = 0;
-                Vector runningUIDsList = new Vector(); // <Long>
+                Vector<Long> runningUIDsList = new Vector<Long>();
                 for(int i=0;i<nodes.length;i++) {
                        load.append(i);
                        load.append(':');

Modified: branches/db4o/freenet/src/freenet/node/simulator/SeednodePingTest.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/simulator/SeednodePingTest.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/simulator/SeednodePingTest.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -100,7 +100,7 @@
                                System.out.println(seednode.getIdentityString() 
+ " is not connected "+seednode.getHandshakeCount());
                        }
                }
-               Map<FATE, Integer> totals = new 
EnumMap(SeedServerTestPeerNode.FATE.class);
+               Map<FATE, Integer> totals = new EnumMap<FATE, 
Integer>(SeedServerTestPeerNode.FATE.class);
                for(SeedServerTestPeerNode seednode : seedNodes) {
                        FATE fate = seednode.getFate();
                        Integer x = totals.get(fate);
@@ -117,7 +117,7 @@
                System.out.println("################## 
("+node.peers.countConnectedPeers()+") 
"+countConnectedSeednodes+'/'+node.peers.countSeednodes());
                Thread.sleep(5000);
        }
-       Map<FATE, Integer> totals = new 
EnumMap(SeedServerTestPeerNode.FATE.class);
+       Map<FATE, Integer> totals = new EnumMap<FATE, 
Integer>(SeedServerTestPeerNode.FATE.class);
        for(SeedServerTestPeerNode seednode : seedNodes) {
                FATE fate = seednode.getFate();
                Integer x = totals.get(fate);

Modified: branches/db4o/freenet/src/freenet/node/updater/NodeUpdateManager.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/updater/NodeUpdateManager.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/updater/NodeUpdateManager.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java  
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/updater/UpdateOverMandatoryManager.java  
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -53,7 +53,6 @@
 import freenet.support.TimeUtil;
 import freenet.support.io.FileBucket;
 import freenet.support.io.RandomAccessFileWrapper;
-import java.io.FileFilter;

 /**
  * Co-ordinates update over mandatory. Update over mandatory = updating from 
your peers, even
@@ -68,16 +67,16 @@

        /** Set of PeerNode's which say (or said before they disconnected) 
         * the key has been revoked */
-       private final HashSet nodesSayKeyRevoked;
+       private final HashSet<PeerNode> nodesSayKeyRevoked;
        /** Set of PeerNode's which say the key has been revoked but failed
         * to transfer the revocation key. */
-       private final HashSet nodesSayKeyRevokedFailedTransfer;
+       private final HashSet<PeerNode> nodesSayKeyRevokedFailedTransfer;
        /** PeerNode's which have offered the main jar which we are not 
fetching it from right now */
-       private final HashSet nodesOfferedMainJar;
+       private final HashSet<PeerNode> nodesOfferedMainJar;
        /** PeerNode's we've asked to send the main jar */
-       private final HashSet nodesAskedSendMainJar;
+       private final HashSet<PeerNode> nodesAskedSendMainJar;
        /** PeerNode's sending us the main jar */
-       private final HashSet nodesSendingMainJar;
+       private final HashSet<PeerNode> nodesSendingMainJar;
        // 2 for reliability, no more as gets very slow/wasteful
        static final int MAX_NODES_SENDING_MAIN_JAR = 2;
        /** Maximum time between asking for the main jar and it starting to 
transfer */
@@ -92,11 +91,11 @@

        public UpdateOverMandatoryManager(NodeUpdateManager manager) {
                this.updateManager = manager;
-               nodesSayKeyRevoked = new HashSet();
-               nodesSayKeyRevokedFailedTransfer = new HashSet();
-               nodesOfferedMainJar = new HashSet();
-               nodesAskedSendMainJar = new HashSet();
-               nodesSendingMainJar = new HashSet();
+               nodesSayKeyRevoked = new HashSet<PeerNode>();
+               nodesSayKeyRevokedFailedTransfer = new HashSet<PeerNode>();
+               nodesOfferedMainJar = new HashSet<PeerNode>();
+               nodesAskedSendMainJar = new HashSet<PeerNode>();
+               nodesSendingMainJar = new HashSet<PeerNode>();
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
        }

@@ -360,7 +359,7 @@
                                                >= MAX_NODES_SENDING_MAIN_JAR)
                                        return;
                                if(nodesOfferedMainJar.isEmpty()) return;
-                               offers = (PeerNode[]) 
nodesOfferedMainJar.toArray(new PeerNode[nodesOfferedMainJar.size()]);
+                               offers = nodesOfferedMainJar.toArray(new 
PeerNode[nodesOfferedMainJar.size()]);
                        }
                        for(int i=0;i<offers.length;i++) {
                                if(offers[i].isConnected()) continue;
@@ -502,11 +501,11 @@
        }

        public PeerNode[][] getNodesSayBlown() {
-               Vector nodesConnectedSayRevoked = new Vector();
-               Vector nodesDisconnectedSayRevoked = new Vector();
-               Vector nodesFailedSayRevoked = new Vector();
+               Vector<PeerNode> nodesConnectedSayRevoked = new 
Vector<PeerNode>();
+               Vector<PeerNode> nodesDisconnectedSayRevoked = new 
Vector<PeerNode>();
+               Vector<PeerNode> nodesFailedSayRevoked = new Vector<PeerNode>();
                synchronized(this) {
-                       PeerNode[] nodesSayRevoked = (PeerNode[]) 
nodesSayKeyRevoked.toArray(new PeerNode[nodesSayKeyRevoked.size()]);
+                       PeerNode[] nodesSayRevoked = 
nodesSayKeyRevoked.toArray(new PeerNode[nodesSayKeyRevoked.size()]);
                        for(int i=0;i<nodesSayRevoked.length;i++) {
                                PeerNode pn = nodesSayRevoked[i];
                                
if(nodesSayKeyRevokedFailedTransfer.contains(pn))
@@ -516,7 +515,7 @@
                        }
                }
                for(int i=0;i<nodesConnectedSayRevoked.size();i++) {
-                       PeerNode pn = (PeerNode) 
nodesConnectedSayRevoked.get(i);
+                       PeerNode pn = nodesConnectedSayRevoked.get(i);
                        if(!pn.isConnected()) {
                                nodesDisconnectedSayRevoked.add(pn);
                                nodesConnectedSayRevoked.remove(i);
@@ -525,9 +524,9 @@
                        }
                }
                return new PeerNode[][] {
-                               (PeerNode[]) 
nodesConnectedSayRevoked.toArray(new PeerNode[nodesConnectedSayRevoked.size()]),
-                               (PeerNode[]) 
nodesDisconnectedSayRevoked.toArray(new 
PeerNode[nodesDisconnectedSayRevoked.size()]),
-                               (PeerNode[]) nodesFailedSayRevoked.toArray(new 
PeerNode[nodesFailedSayRevoked.size()]),
+                               nodesConnectedSayRevoked.toArray(new 
PeerNode[nodesConnectedSayRevoked.size()]),
+                       nodesDisconnectedSayRevoked.toArray(new 
PeerNode[nodesDisconnectedSayRevoked.size()]),
+                       nodesFailedSayRevoked.toArray(new 
PeerNode[nodesFailedSayRevoked.size()]),
                };
        }


Modified: 
branches/db4o/freenet/src/freenet/node/useralerts/BuildOldAgeUserAlert.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/useralerts/BuildOldAgeUserAlert.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/useralerts/BuildOldAgeUserAlert.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/node/useralerts/ClockProblemDetectedUserAlert.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/useralerts/ClockProblemDetectedUserAlert.java
        2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/useralerts/ClockProblemDetectedUserAlert.java
        2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/node/useralerts/ExtOldAgeUserAlert.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/useralerts/ExtOldAgeUserAlert.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/useralerts/ExtOldAgeUserAlert.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/node/useralerts/IPUndetectedUserAlert.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/useralerts/IPUndetectedUserAlert.java    
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/useralerts/IPUndetectedUserAlert.java    
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -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,9 +43,10 @@
                return L10n.getString("IPUndetectedUserAlert."+key, patterns, 
values);
        }

+       @Override
        public HTMLNode getHTMLText() {
                SubConfig sc = node.config.get("node");
-               Option o = sc.getOption("tempIPAddressHint");
+               Option<?> o = sc.getOption("tempIPAddressHint");

                HTMLNode textNode = new HTMLNode("div");
                L10n.addL10nSubstitution(textNode, 
"IPUndetectedUserAlert."+(node.ipDetector.isDetecting() ? 
"detectingWithConfigLink" : "unknownAddressWithConfigLink"), 
@@ -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: 
branches/db4o/freenet/src/freenet/node/useralerts/InvalidAddressOverrideUserAlert.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/useralerts/InvalidAddressOverrideUserAlert.java
      2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/useralerts/InvalidAddressOverrideUserAlert.java
      2008-09-25 01:00:29 UTC (rev 22831)
@@ -18,10 +18,12 @@

        final Node node;

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

+       @Override
        public String getText() {
                return l10n("unknownAddress");
        }
@@ -30,9 +32,10 @@
                return L10n.getString("InvalidAddressOverrideUserAlert."+key);
        }

+       @Override
        public HTMLNode getHTMLText() {
                SubConfig sc = node.config.get("node");
-               Option o = sc.getOption("ipAddressOverride");
+               Option<?> o = sc.getOption("ipAddressOverride");

                HTMLNode textNode = new HTMLNode("div");
                L10n.addL10nSubstitution(textNode, 
"InvalidAddressOverrideUserAlert.unknownAddressWithConfigLink", 
@@ -49,10 +52,12 @@
                return textNode;
        }

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

+       @Override
        public String getShortText() {
                return l10n("unknownAddressShort");
        }

Modified: 
branches/db4o/freenet/src/freenet/node/useralerts/MeaningfulNodeNameUserAlert.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/useralerts/MeaningfulNodeNameUserAlert.java
  2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/useralerts/MeaningfulNodeNameUserAlert.java
  2008-09-25 01:00:29 UTC (rev 22831)
@@ -39,7 +39,7 @@
        @Override
        public HTMLNode getHTMLText() {
                SubConfig sc = node.config.get("node");
-               Option o = sc.getOption("name");
+               Option<?> o = sc.getOption("name");

                HTMLNode alertNode = new HTMLNode("div");
                HTMLNode textNode = alertNode.addChild("div");

Modified: branches/db4o/freenet/src/freenet/node/useralerts/N2NTMUserAlert.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/useralerts/N2NTMUserAlert.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/useralerts/N2NTMUserAlert.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/node/useralerts/NotEnoughNiceLevelsUserAlert.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/useralerts/NotEnoughNiceLevelsUserAlert.java
 2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/useralerts/NotEnoughNiceLevelsUserAlert.java
 2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/node/useralerts/OpennetUserAlert.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/useralerts/OpennetUserAlert.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/useralerts/OpennetUserAlert.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -13,6 +13,7 @@
                this.node = node;
        }

+       @Override
        public boolean isValid() {
                return node.isOpennetEnabled() && valid;
        }

Modified: 
branches/db4o/freenet/src/freenet/node/useralerts/PeerManagerUserAlert.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/useralerts/PeerManagerUserAlert.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/useralerts/PeerManagerUserAlert.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/node/useralerts/RevocationKeyFoundUserAlert.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/useralerts/RevocationKeyFoundUserAlert.java
  2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/useralerts/RevocationKeyFoundUserAlert.java
  2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/node/useralerts/SimpleHTMLUserAlert.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/useralerts/SimpleHTMLUserAlert.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/useralerts/SimpleHTMLUserAlert.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/node/useralerts/SimpleUserAlert.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/useralerts/SimpleUserAlert.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/node/useralerts/SimpleUserAlert.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/node/useralerts/TimeSkewDetectedUserAlert.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/useralerts/TimeSkewDetectedUserAlert.java
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/useralerts/TimeSkewDetectedUserAlert.java
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java
     2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/node/useralerts/UpdatedVersionAvailableUserAlert.java
     2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/plugin/api/PluginFetchException.java
===================================================================
--- branches/db4o/freenet/src/freenet/plugin/api/PluginFetchException.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/plugin/api/PluginFetchException.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -6,6 +6,7 @@
 /**
  * Base class of exceptions thrown when a plugin fetch fails.
  */
+ at SuppressWarnings("serial")
 public abstract class PluginFetchException extends Exception {

 }

Modified: branches/db4o/freenet/src/freenet/pluginmanager/DetectedIP.java
===================================================================
--- branches/db4o/freenet/src/freenet/pluginmanager/DetectedIP.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/pluginmanager/DetectedIP.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/pluginmanager/ForwardPort.java
===================================================================
--- branches/db4o/freenet/src/freenet/pluginmanager/ForwardPort.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/pluginmanager/ForwardPort.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoader.java
===================================================================
--- branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoader.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoader.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -13,15 +13,15 @@
  */
 public abstract class PluginDownLoader<T> {

-       private T source;
+       private T _source;

        public String setSource(String source) throws PluginNotFoundException {
-               this.source = checkSource(source);
+               this._source = checkSource(source);
                return getPluginName(source);
        }

        public T getSource() {
-               return source;
+               return _source;
        }

        abstract InputStream getInputStream() throws IOException, 
PluginNotFoundException;

Modified: 
branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoaderFile.java
===================================================================
--- branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoaderFile.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoaderFile.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -10,6 +10,7 @@

 public class PluginDownLoaderFile extends PluginDownLoader<File> {

+       @Override
        public File checkSource(String source) {
                return new File(source);
        }

Modified: 
branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoaderFreenet.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoaderFreenet.java    
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoaderFreenet.java    
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -14,16 +14,13 @@
 import freenet.support.Logger;

 public class PluginDownLoaderFreenet extends PluginDownLoader<FreenetURI> {
-       
-       private boolean logMINOR;
-
        final HighLevelSimpleClient hlsc;

        PluginDownLoaderFreenet(HighLevelSimpleClient hlsc) {
-               logMINOR = Logger.shouldLog(Logger.MINOR, this);
                this.hlsc = hlsc;
        }

+       @Override
        public FreenetURI checkSource(String source) throws 
PluginNotFoundException {
                try {
                        return new FreenetURI(source);

Modified: 
branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoaderOfficial.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoaderOfficial.java   
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoaderOfficial.java   
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -26,6 +26,7 @@
        private static final String certurl = 
"freenet/clients/http/staticfiles/startssl.pem";
        private static final String certfile = "startssl.pem";

+       @Override
        public URL checkSource(String source) throws PluginNotFoundException {
                return 
super.checkSource("https://checksums.freenetproject.org/latest/"; +
                source + ".jar");
@@ -78,10 +79,10 @@
                        is = getCert();

                        CertificateFactory cf = 
CertificateFactory.getInstance("X.509");
-                       Collection c = cf.generateCertificates(is);
-                       Iterator it = c.iterator();
+                       Collection<? extends Certificate> c = 
cf.generateCertificates(is);
+                       Iterator<? extends Certificate> it = c.iterator();
                        while(it.hasNext()) {
-                               Certificate cert = (Certificate) it.next();
+                               Certificate cert = it.next();
                                
ks.setCertificateEntry(cert.getPublicKey().toString(), cert);
                        }
                        FileOutputStream tmpFOS = new 
FileOutputStream(TMP_KEYSTORE);

Modified: 
branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoaderURL.java
===================================================================
--- branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoaderURL.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/pluginmanager/PluginDownLoaderURL.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -14,6 +14,7 @@

 public class PluginDownLoaderURL extends PluginDownLoader<URL> {

+       @Override
        public URL checkSource(String source) throws PluginNotFoundException {
                try {
                        return new URL(source);

Modified: branches/db4o/freenet/src/freenet/pluginmanager/PluginHandler.java
===================================================================
--- branches/db4o/freenet/src/freenet/pluginmanager/PluginHandler.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/pluginmanager/PluginHandler.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -63,7 +63,7 @@
                                try {
                                        if(!threadless) // Have to do it now 
because threaded
                                                pm.register(plugin, pi);
-                                       ((FredPlugin)plugin).runPlugin(pr);
+                                       plugin.runPlugin(pr);
                                        if(threadless) // Don't want it to 
receive callbacks until after it has the PluginRespirator, else get NPEs
                                                pm.register(plugin, pi);
                                } catch (OutOfMemoryError e) {

Modified: branches/db4o/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java
===================================================================
--- branches/db4o/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/pluginmanager/PluginInfoWrapper.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -8,6 +8,7 @@

 public class PluginInfoWrapper {
        // Parameters to make the object OTP
+       @SuppressWarnings("unused")
        private boolean fedPluginThread = false;
        // Public since only PluginHandler will know about it
        private final String className;
@@ -89,7 +90,7 @@

        public synchronized boolean addPluginToadletSymlink(String linkfrom){
                if (toadletLinks.size() < 1)
-                       toadletLinks = new HashSet();
+                       toadletLinks = new HashSet<String>();
                return toadletLinks.add(linkfrom);
        }


Modified: branches/db4o/freenet/src/freenet/pluginmanager/PluginManager.java
===================================================================
--- branches/db4o/freenet/src/freenet/pluginmanager/PluginManager.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/pluginmanager/PluginManager.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -190,7 +190,7 @@
                }

                try {
-                       FreenetURI uri = new FreenetURI(pluginname);
+                       new FreenetURI(pluginname); // test for 
MalformedURLException 
                        startPluginFreenet(pluginname, store);
                        return;
                } catch(MalformedURLException e) {
@@ -224,7 +224,7 @@
                realStartPlugin(new PluginDownLoaderFreenet(client), filename, 
store);
        }

-       private void realStartPlugin(final PluginDownLoader pdl, final String 
filename, final boolean store) {
+       private void realStartPlugin(final PluginDownLoader<?> pdl, final 
String filename, final boolean store) {
                if(filename.trim().length() == 0)
                        return;
                final PluginProgress pluginProgress = new 
PluginProgress(filename);
@@ -591,7 +591,7 @@
         * @throws PluginNotFoundException
         *             If anything goes wrong.
         */
-       private FredPlugin loadPlugin(PluginDownLoader pdl, String name) throws 
PluginNotFoundException {
+       private FredPlugin loadPlugin(PluginDownLoader<?> pdl, String name) 
throws PluginNotFoundException {

                pdl.setSource(name);


Modified: 
branches/db4o/freenet/src/freenet/pluginmanager/PluginReplySenderDirect.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/pluginmanager/PluginReplySenderDirect.java    
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/pluginmanager/PluginReplySenderDirect.java    
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -23,6 +23,7 @@
                target = target2;
        }

+       @Override
        public void send(final SimpleFieldSet params, final Bucket bucket) {

                node.executor.execute(new Runnable() {

Modified: 
branches/db4o/freenet/src/freenet/pluginmanager/PluginReplySenderFCP.java
===================================================================
--- branches/db4o/freenet/src/freenet/pluginmanager/PluginReplySenderFCP.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/pluginmanager/PluginReplySenderFCP.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -21,6 +21,7 @@
                handler = handler2;
        }

+       @Override
        public void send(SimpleFieldSet params, Bucket bucket) {
                FCPPluginReply reply = new FCPPluginReply(pluginname, 
identifier, params, bucket);
                handler.outputHandler.queue(reply);

Modified: branches/db4o/freenet/src/freenet/store/CHKStore.java
===================================================================
--- branches/db4o/freenet/src/freenet/store/CHKStore.java       2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/store/CHKStore.java       2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/store/PubkeyStore.java
===================================================================
--- branches/db4o/freenet/src/freenet/store/PubkeyStore.java    2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/store/PubkeyStore.java    2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/store/SSKStore.java
===================================================================
--- branches/db4o/freenet/src/freenet/store/SSKStore.java       2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/store/SSKStore.java       2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/support/BitArray.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/BitArray.java     2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/BitArray.java     2008-09-25 
01:00:29 UTC (rev 22831)
@@ -85,6 +85,7 @@
                return b & 0xFF;
        }

+       @Override
        public String toString() {
                StringBuilder sb = new StringBuilder(this._size);
                for (int x=0; x<_size; x++) {
@@ -110,6 +111,7 @@
                return _size;
        }

+       @Override
        public boolean equals(Object o) {
                if (!(o instanceof BitArray)) {
                        return false;
@@ -126,6 +128,7 @@
                return true;
        }

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

Modified: branches/db4o/freenet/src/freenet/support/Buffer.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/Buffer.java       2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/Buffer.java       2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/support/ByteArrayWrapper.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/ByteArrayWrapper.java     
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/ByteArrayWrapper.java     
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/support/ByteBufferInputStream.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/ByteBufferInputStream.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/ByteBufferInputStream.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -28,6 +28,7 @@
                this.buf = buf;
        }

+       @Override
        public int read() throws IOException {
                try {
                        return buf.get() & Integer.MAX_VALUE;

Modified: branches/db4o/freenet/src/freenet/support/DoubleTokenBucket.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/DoubleTokenBucket.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/DoubleTokenBucket.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/support/FileLoggerHook.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/FileLoggerHook.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/FileLoggerHook.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/support/JarClassLoader.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/JarClassLoader.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/JarClassLoader.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/support/LoggerHook.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/LoggerHook.java   2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/LoggerHook.java   2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/support/LoggerHookChain.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/LoggerHookChain.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/LoggerHookChain.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/support/OutputStreamLogger.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/OutputStreamLogger.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/OutputStreamLogger.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/support/ReceivedPacketNumbers.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/ReceivedPacketNumbers.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/ReceivedPacketNumbers.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/support/SectoredRandomGrabArrayWithInt.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/support/SectoredRandomGrabArrayWithInt.java   
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/support/SectoredRandomGrabArrayWithInt.java   
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -15,6 +15,7 @@
                return number;
        }

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

Modified: 
branches/db4o/freenet/src/freenet/support/SectoredRandomGrabArrayWithObject.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/support/SectoredRandomGrabArrayWithObject.java
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/support/SectoredRandomGrabArrayWithObject.java
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -15,6 +15,7 @@
                return object;
        }

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

Modified: branches/db4o/freenet/src/freenet/support/ShortBuffer.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/ShortBuffer.java  2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/ShortBuffer.java  2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/support/TimeSortedHashtable.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/TimeSortedHashtable.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/TimeSortedHashtable.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/support/UpdatableSortedLinkedListWithForeignIndex.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/support/UpdatableSortedLinkedListWithForeignIndex.java
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/support/UpdatableSortedLinkedListWithForeignIndex.java
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/support/VoidLogger.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/VoidLogger.java   2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/VoidLogger.java   2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/support/compress/GzipCompressor.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/compress/GzipCompressor.java      
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/compress/GzipCompressor.java      
2008-09-25 01:00:29 UTC (rev 22831)
@@ -16,6 +16,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();
@@ -51,6 +52,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)
@@ -103,6 +105,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?
@@ -120,6 +123,7 @@
                return bytes;
        }

+       @Override
        public short codecNumberForMetadata() {
                return Metadata.COMPRESS_GZIP;
        }

Modified: branches/db4o/freenet/src/freenet/support/io/ArrayBucket.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/ArrayBucket.java       
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/io/ArrayBucket.java       
2008-09-25 01:00:29 UTC (rev 22831)
@@ -48,6 +48,7 @@
                return new ArrayBucketInputStream();
        }

+       @Override
        public String toString() {
                StringBuilder s = new StringBuilder(250);
                for (byte[] b : data) {
@@ -104,6 +105,7 @@
                        i = data.iterator();
                }

+               @Override
                public int read() {
                        return priv_read();
                }
@@ -125,10 +127,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);
                }
@@ -150,6 +154,7 @@
                        }
                }

+               @Override
                public int available() {
                        if (in == null) {
                                if (i.hasNext()) {

Modified: branches/db4o/freenet/src/freenet/support/io/BucketChainBucket.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/BucketChainBucket.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/io/BucketChainBucket.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -74,6 +74,7 @@
                        private InputStream curBucketStream = 
getBucketInputStream(0);
                        private long readBytes;

+                       @Override
                        public int read() throws IOException {
                                synchronized(BucketChainBucket.this) {
                                        if(freed) {
@@ -104,6 +105,7 @@
                                }
                        }

+                       @Override
                        public int read(byte[] buf) throws IOException {
                                synchronized(BucketChainBucket.this) {
                                        if(freed) {
@@ -115,6 +117,7 @@
                                return read(buf, 0, buf.length);
                        }

+                       @Override
                        public int read(byte[] buf, int offset, int length) 
throws IOException {
                                synchronized(BucketChainBucket.this) {
                                        if(freed) {
@@ -146,6 +149,7 @@
                                }
                        }

+                       @Override
                        public int available() throws IOException {
                                synchronized(BucketChainBucket.this) {
                                        if(freed) {
@@ -157,6 +161,7 @@
                                return (int) Math.min(Integer.MAX_VALUE, size() 
- readBytes);
                        }

+                       @Override
                        public void close() throws IOException {
                                if(curBucketStream != null)
                                        curBucketStream.close();
@@ -194,6 +199,7 @@
                        private OutputStream curBucketStream = 
makeBucketOutputStream(0);
                        private long bucketLength = 0;

+                       @Override
                        public void write(int c) throws IOException {
                                synchronized(BucketChainBucket.this) {
                                        if(freed) {
@@ -219,10 +225,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) {
@@ -255,6 +263,7 @@
                                }
                        }

+                       @Override
                        public void close() throws IOException {
                                if(curBucketStream != null)
                                        curBucketStream.close();

Modified: branches/db4o/freenet/src/freenet/support/io/CountedInputStream.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/CountedInputStream.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/io/CountedInputStream.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/support/io/FileBucket.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/FileBucket.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/io/FileBucket.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -67,6 +67,7 @@
        /**
         * Returns the file object this buckets data is kept in.
         */
+       @Override
        public synchronized File getFile() {
                return file;
        }
@@ -88,18 +89,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: branches/db4o/freenet/src/freenet/support/io/MultiReaderBucket.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/MultiReaderBucket.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/io/MultiReaderBucket.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -75,6 +75,7 @@
                                is = bucket.getInputStream();
                        }

+                       @Override
                        public final int read() throws IOException {
                                synchronized(MultiReaderBucket.this) {
                                        if(freed || closed) throw new 
IOException("Already closed");
@@ -82,6 +83,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");
@@ -89,6 +91,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");
@@ -96,6 +99,7 @@
                                return is.read(data);
                        }

+                       @Override
                        public final void close() throws IOException {
                                is.close();
                        }
@@ -122,6 +126,7 @@
                        return bucket.size();
                }

+               @Override
                protected void finalize() {
                        free();
                }

Modified: branches/db4o/freenet/src/freenet/support/io/NullInputStream.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/NullInputStream.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/io/NullInputStream.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -6,6 +6,7 @@

 public class NullInputStream extends InputStream {
     public NullInputStream() {}
-    public int read() { return -1; }
+    @Override
+       public int read() { return -1; }
 }


Modified: branches/db4o/freenet/src/freenet/support/io/NullOutputStream.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/NullOutputStream.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/io/NullOutputStream.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/src/freenet/support/io/NullWriter.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/NullWriter.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/io/NullWriter.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/support/io/PaddedEphemerallyEncryptedBucket.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/support/io/PaddedEphemerallyEncryptedBucket.java
  2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/support/io/PaddedEphemerallyEncryptedBucket.java
  2008-09-25 01:00:29 UTC (rev 22831)
@@ -158,6 +158,7 @@
                        pcfb = PCFBMode.create(aes);
                }

+               @Override
                public void write(int b) throws IOException {
                        if(closed) throw new IOException("Already closed!");
                        if(streamNumber != lastOutputStream)
@@ -243,6 +244,7 @@
                        ptr = 0;
                }

+               @Override
                public int read() throws IOException {
                        if(ptr > dataLength) return -1;
                        int x = in.read();

Modified: 
branches/db4o/freenet/src/freenet/support/io/PersistentTempFileBucket.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/PersistentTempFileBucket.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/io/PersistentTempFileBucket.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/support/io/ReadOnlyFileSliceBucket.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/ReadOnlyFileSliceBucket.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/io/ReadOnlyFileSliceBucket.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -94,6 +94,7 @@
                        }
                }

+               @Override
                public int read() throws IOException {
                        if(ptr >= length)
                                return -1;
@@ -103,6 +104,7 @@
                        return x;
                }

+               @Override
                public int read(byte[] buf, int offset, int len) throws 
IOException {
                        if(ptr >= length)
                                return -1;
@@ -112,10 +114,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: branches/db4o/freenet/src/freenet/support/io/TempFileBucket.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/TempFileBucket.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/io/TempFileBucket.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -49,12 +49,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
@@ -62,14 +64,17 @@
                return super.toFieldSet();
        }

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

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

+       @Override
        public File getFile() {
                return generator.getFilename(filenameID);
        }
@@ -82,6 +87,7 @@
                readOnly = true;
        }

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

Modified: 
branches/db4o/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java
     2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/support/math/BootstrappingDecayingRunningAverage.java
     2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/support/math/DecayingKeyspaceAverage.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/math/DecayingKeyspaceAverage.java 
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/math/DecayingKeyspaceAverage.java 
2008-09-25 01:00:29 UTC (rev 22831)
@@ -29,6 +29,7 @@
                avg = (BootstrappingDecayingRunningAverage) a.clone();
        }

+       @Override
        public synchronized Object clone() {
                return new DecayingKeyspaceAverage(avg);
        }

Modified: 
branches/db4o/freenet/src/freenet/support/math/SimpleBinaryRunningAverage.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/support/math/SimpleBinaryRunningAverage.java  
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/support/math/SimpleBinaryRunningAverage.java  
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/support/math/SimpleRunningAverage.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/math/SimpleRunningAverage.java    
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/math/SimpleRunningAverage.java    
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java  
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java  
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/freenet/support/math/TrivialRunningAverage.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/math/TrivialRunningAverage.java   
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/freenet/support/math/TrivialRunningAverage.java   
2008-09-25 01:00:29 UTC (rev 22831)
@@ -39,7 +39,8 @@
                return (total + r) / (reports + 1);
        }

-    public Object clone() {
+    @Override
+       public Object clone() {
        synchronized (this) {
                        return new TrivialRunningAverage(this);
                }

Modified: branches/db4o/freenet/src/net/i2p/util/NativeBigInteger.java
===================================================================
--- branches/db4o/freenet/src/net/i2p/util/NativeBigInteger.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/src/net/i2p/util/NativeBigInteger.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/src/org/spaceroots/mantissa/random/MersenneTwister.java
===================================================================
--- 
branches/db4o/freenet/src/org/spaceroots/mantissa/random/MersenneTwister.java   
    2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/src/org/spaceroots/mantissa/random/MersenneTwister.java   
    2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/test/freenet/config/ConfigTest.java
===================================================================
--- branches/db4o/freenet/test/freenet/config/ConfigTest.java   2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/test/freenet/config/ConfigTest.java   2008-09-25 
01:00:29 UTC (rev 22831)
@@ -31,6 +31,7 @@
                super(name);
        }

+       @Override
        protected void setUp() throws Exception {
                super.setUp();
                conf = new Config();

Modified: branches/db4o/freenet/test/freenet/crypt/DSATest.java
===================================================================
--- branches/db4o/freenet/test/freenet/crypt/DSATest.java       2008-09-25 
00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/test/freenet/crypt/DSATest.java       2008-09-25 
01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/test/freenet/support/HTMLNodeTest.java
===================================================================
--- branches/db4o/freenet/test/freenet/support/HTMLNodeTest.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/test/freenet/support/HTMLNodeTest.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/test/freenet/support/TimeUtilTest.java
===================================================================
--- branches/db4o/freenet/test/freenet/support/TimeUtilTest.java        
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/test/freenet/support/TimeUtilTest.java        
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: branches/db4o/freenet/test/freenet/support/io/MockInputStream.java
===================================================================
--- branches/db4o/freenet/test/freenet/support/io/MockInputStream.java  
2008-09-25 00:08:21 UTC (rev 22830)
+++ branches/db4o/freenet/test/freenet/support/io/MockInputStream.java  
2008-09-25 01:00:29 UTC (rev 22831)
@@ -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: 
branches/db4o/freenet/test/org/spaceroots/mantissa/random/ScalarSampleStatisticsTest.java
===================================================================
--- 
branches/db4o/freenet/test/org/spaceroots/mantissa/random/ScalarSampleStatisticsTest.java
   2008-09-25 00:08:21 UTC (rev 22830)
+++ 
branches/db4o/freenet/test/org/spaceroots/mantissa/random/ScalarSampleStatisticsTest.java
   2008-09-25 01:00:29 UTC (rev 22831)
@@ -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