Author: toad
Date: 2009-02-04 15:51:57 +0000 (Wed, 04 Feb 2009)
New Revision: 25543

Modified:
   branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
Log:
Maybe fix activation bug


Modified: 
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2009-02-04 15:49:06 UTC (rev 25542)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2009-02-04 15:51:57 UTC (rev 25543)
@@ -657,8 +657,8 @@
                                // TODO: try both ? - maybe not worth it
                                archiveType = ARCHIVE_TYPE.getDefault();
                                String mimeType = (archiveType == 
ARCHIVE_TYPE.TAR ?
-                                       createTarBucket(bucket, outputBucket) :
-                                       createZipBucket(bucket, outputBucket));
+                                       createTarBucket(bucket, outputBucket, 
container) :
+                                       createZipBucket(bucket, outputBucket, 
container));
                                bucket.free();
                                if(persistent()) bucket.removeFrom(container);
                                
@@ -710,7 +710,7 @@
                }
        }
 
-       private String createTarBucket(Bucket inputBucket, Bucket outputBucket) 
throws IOException {
+       private String createTarBucket(Bucket inputBucket, Bucket outputBucket, 
ObjectContainer container) throws IOException {
                if(logMINOR) Logger.minor(this, "Create a TAR Bucket");
                
                OutputStream os = new 
BufferedOutputStream(outputBucket.getOutputStream());
@@ -721,6 +721,10 @@
                for(PutHandler ph : elementsToPutInArchive) {
                        if(logMINOR)
                                Logger.minor(this, "Putting into tar: "+ph+" 
data length "+ph.data.size()+" name "+ph.targetInArchive);
+                       if(persistent()) {
+                               container.activate(ph, 1);
+                               container.activate(ph.data, 1);
+                       }
                        ze = new TarEntry(ph.targetInArchive);
                        ze.setModTime(0);
                        long size = ph.data.size();
@@ -752,7 +756,7 @@
                return ARCHIVE_TYPE.TAR.mimeTypes[0];
        }
        
-       private String createZipBucket(Bucket inputBucket, Bucket outputBucket) 
throws IOException {
+       private String createZipBucket(Bucket inputBucket, Bucket outputBucket, 
ObjectContainer container) throws IOException {
                if(logMINOR) Logger.minor(this, "Create a ZIP Bucket");
                
                OutputStream os = new 
BufferedOutputStream(outputBucket.getOutputStream());
@@ -761,6 +765,10 @@
 
                for(Iterator i = elementsToPutInArchive.iterator(); 
i.hasNext();) {
                        PutHandler ph = (PutHandler) i.next();
+                       if(persistent()) {
+                               container.activate(ph, 1);
+                               container.activate(ph.data, 1);
+                       }
                        ze = new ZipEntry(ph.targetInArchive);
                        ze.setTime(0);
                        zos.putNextEntry(ze);

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

Reply via email to