Author: toad
Date: 2009-03-18 12:38:05 +0000 (Wed, 18 Mar 2009)
New Revision: 26090

Modified:
   branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java
Log:
Use new logging infrastructure, logging, minor refactoring


Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java        
2009-03-18 08:04:02 UTC (rev 26089)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java        
2009-03-18 12:38:05 UTC (rev 26090)
@@ -24,6 +24,7 @@
 import freenet.client.async.ManifestElement;
 import freenet.client.async.SimpleManifestPutter;
 import freenet.keys.FreenetURI;
+import freenet.support.LogThresholdCallback;
 import freenet.support.Logger;
 import freenet.support.SimpleFieldSet;
 import freenet.support.api.Bucket;
@@ -39,9 +40,51 @@
        private final String defaultName;
        private final long totalSize;
        private final int numberOfFiles;
-       private static boolean logMINOR;
        private final boolean wasDiskPut;
        
+       @SuppressWarnings("serial")
+       static class MyHashMap extends HashMap<String, Object> {
+               public boolean objectCanUpdate(ObjectContainer container) {
+                       if(logMINOR)
+                               Logger.minor(this, "objectCanUpdate() on 
HashMap for ClientPutDir "+this+" stored="+container.ext().isStored(this)+" 
active="+container.ext().isActive(this)+" size="+size(), new 
Exception("debug"));
+                       return true;
+               }
+               
+               public boolean objectCanNew(ObjectContainer container) {
+                       if(logMINOR)
+                               Logger.minor(this, "objectCanNew() on HashMap 
for ClientPutDir "+this+" stored="+container.ext().isStored(this)+" 
active="+container.ext().isActive(this)+" size="+size(), new 
Exception("debug"));
+                       return true;
+               }
+               
+               public void objectOnUpdate(ObjectContainer container) {
+                       if(logMINOR)
+                               Logger.minor(this, "objectOnUpdate() on HashMap 
for ClientPutDir "+this+" stored="+container.ext().isStored(this)+" 
active="+container.ext().isActive(this)+" size="+size(), new 
Exception("debug"));
+               }
+               
+               public void objectOnNew(ObjectContainer container) {
+                       if(logMINOR)
+                               Logger.minor(this, "objectOnNew() on HashMap 
for ClientPutDir "+this+" stored="+container.ext().isStored(this)+" 
active="+container.ext().isActive(this)+" size="+size(), new 
Exception("debug"));
+               }
+               
+               public void objectOnActivate(ObjectContainer container) {
+                       if(logMINOR)
+                               Logger.minor(this, "objectOnActivate() on 
HashMap for ClientPutDir stored="+container.ext().isStored(this)+" 
active="+container.ext().isActive(this)+" size="+size(), new 
Exception("debug"));
+               }
+               
+       }
+       
+       private static volatile boolean logMINOR;
+       
+       static {
+               Logger.registerLogThresholdCallback(new LogThresholdCallback() {
+                       
+                       @Override
+                       public void shouldUpdate() {
+                               logMINOR = Logger.shouldLog(Logger.MINOR, this);
+                       }
+               });
+       }
+       
        public ClientPutDir(FCPConnectionHandler handler, ClientPutDirMessage 
message, 
                        HashMap<String, Object> manifestElements, boolean 
wasDiskPut, FCPServer server) throws IdentifierCollisionException, 
MalformedURLException {
                super(message.uri, message.identifier, message.verbosity, 
handler,
@@ -52,35 +95,7 @@
                
                // objectOnNew is called once, objectOnUpdate is never called, 
yet manifestElements get blanked anyway!
                
-               this.manifestElements = new HashMap<String, Object>() {
-                       public boolean objectCanUpdate(ObjectContainer 
container) {
-                               if(logMINOR)
-                                       Logger.minor(this, "objectCanUpdate() 
on HashMap for ClientPutDir "+this+" stored="+container.ext().isStored(this)+" 
active="+container.ext().isActive(this)+" size="+size(), new 
Exception("debug"));
-                               return true;
-                       }
-                       
-                       public boolean objectCanNew(ObjectContainer container) {
-                               if(logMINOR)
-                                       Logger.minor(this, "objectCanNew() on 
HashMap for ClientPutDir "+this+" stored="+container.ext().isStored(this)+" 
active="+container.ext().isActive(this)+" size="+size(), new 
Exception("debug"));
-                               return true;
-                       }
-                       
-                       public void objectOnUpdate(ObjectContainer container) {
-                               if(logMINOR)
-                                       Logger.minor(this, "objectOnUpdate() on 
HashMap for ClientPutDir "+this+" stored="+container.ext().isStored(this)+" 
active="+container.ext().isActive(this)+" size="+size(), new 
Exception("debug"));
-                       }
-                       
-                       public void objectOnNew(ObjectContainer container) {
-                               if(logMINOR)
-                                       Logger.minor(this, "objectOnNew() on 
HashMap for ClientPutDir "+this+" stored="+container.ext().isStored(this)+" 
active="+container.ext().isActive(this)+" size="+size(), new 
Exception("debug"));
-                       }
-                       
-                       public void objectOnActivate(ObjectContainer container) 
{
-                               if(logMINOR)
-                                       Logger.minor(this, "objectOnActivate() 
on HashMap for ClientPutDir stored="+container.ext().isStored(this)+" 
active="+container.ext().isActive(this)+" size="+size(), new 
Exception("debug"));
-                       }
-                       
-               };
+               this.manifestElements = new MyHashMap();
                this.manifestElements.putAll(manifestElements);
                
 //             this.manifestElements = manifestElements;
@@ -287,7 +302,12 @@
        protected void freeData(ObjectContainer container) {
                if(logMINOR) Logger.minor(this, "freeData() on "+this+" 
persistence type = "+persistenceType);
                synchronized(this) {
-                       if(manifestElements == null) return;
+                       if(manifestElements == null) {
+                               if(logMINOR)
+                                       Logger.minor(this, "manifestElements = 
"+manifestElements +
+                                                       (persistenceType != 
PERSIST_FOREVER ? "" : (" dir.active="+container.ext().isActive(this))), new 
Exception("error"));
+                               return;
+                       }
                }
                if(logMINOR) Logger.minor(this, "freeData() more on "+this+" 
persistence type = "+persistenceType);
                // We have to commit everything, so activating everything here 
doesn't cost us much memory...?
@@ -441,7 +461,6 @@
        
        @Override
        public void requestWasRemoved(ObjectContainer container, ClientContext 
context) {
-               logMINOR = Logger.shouldLog(Logger.MINOR, this);
                if(persistenceType == PERSIST_FOREVER) {
                        container.activate(putter, 1);
                        putter.removeFrom(container, context);

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to