Author: kevinshen
Date: 2010-03-08 08:04:16 +0100 (Mon, 08 Mar 2010)
New Revision: 41284

Modified:
   
CMSContainer/branches/b1_7/CMSContainer/cmsc/utilities/src/java/com/finalist/util/http/BulkUploadUtil.java
Log:
CMSC-1655 Zipped uploads for assets do not work anymore

Modified: 
CMSContainer/branches/b1_7/CMSContainer/cmsc/utilities/src/java/com/finalist/util/http/BulkUploadUtil.java
===================================================================
--- 
CMSContainer/branches/b1_7/CMSContainer/cmsc/utilities/src/java/com/finalist/util/http/BulkUploadUtil.java
  2010-03-07 20:31:29 UTC (rev 41283)
+++ 
CMSContainer/branches/b1_7/CMSContainer/cmsc/utilities/src/java/com/finalist/util/http/BulkUploadUtil.java
  2010-03-08 07:04:16 UTC (rev 41284)
@@ -260,11 +260,11 @@
       try {
          byte[] buffer = new byte[2048 * 1024];
          while ((entry = zip.getNextEntry()) != null) {
+            if (entry.isDirectory()) {
+                continue;
+            }
             long size = entry.getSize();
             if (maxFileSizeBiggerThan(size)) {
-               if (entry.isDirectory()) {
-                  continue;
-               }
                if ("images".equals(manager.getName()) && 
!isImage(entry.getName())) {
                   if (log.isDebugEnabled()) {
                      log.debug("Skipping " + entry.getName() + " because it is 
not an image");
@@ -282,9 +282,18 @@
                      .createTransformer(checksumFactory.createParameters());
                ByteArrayOutputStream fileData = new ByteArrayOutputStream();
                int len = 0;
+               long entrySize = 0 ;
                while ((len = zip.read(buffer)) > 0) {
                   fileData.write(buffer, 0, len);
+                  entrySize += len;
                }
+               if (entrySize <= 0) {
+                  notUploadedFiles.add(entry.getName());
+                  continue;
+               }
+               if (size <= 0) {
+                  size = entrySize;
+               }
                String checkSum = transformer.transform(fileData.toByteArray());
                NodeQuery query = manager.createQuery();
                SearchUtil.addEqualConstraint(query, 
manager.getField("checksum"), checkSum);

_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to