Date: 2005-03-10T22:52:56
   Editor: DakotaJack
   Wiki: Apache Struts Wiki
   Page: StrutsUpload
   URL: http://wiki.apache.org/struts/StrutsUpload

   no comment

Change Log:

------------------------------------------------------------------------------
@@ -739,7 +739,7 @@
   private int     storeType      = 0;
   private List    storeMemory    = Collections.synchronizedList(new 
LinkedList());
 
-  private int     maxFileNumber  = -1;
+  private int     maxFileNumber  = UploadConstant.MAX_FILE_NUMBER;
   private long    maxFileSize    = 0x100000000L;
 
   private boolean overwrite      = true;
@@ -950,25 +950,6 @@
     }
   }
 
-  private boolean checkIncludedExts(String fileName) {
-    boolean included = false;
-    Iterator iter     = includedExts.iterator();
-    int      i        = fileName.lastIndexOf(".");
-    String   extFile  = null;
-    if(i != -1) {
-      extFile  = fileName.substring(i + 1, fileName.length());
-      while(iter.hasNext()) {
-        String ext = (String)iter.next();
-        if(ext.equalsIgnoreCase(extFile)) {
-          return included = true;
-        }
-      }
-    } else {
-      return included = true;
-    }
-    return included = false;
-  }
-
   private void folder(MultipartFile uploadFile)
       throws UploadException,
              IOException {
@@ -991,8 +972,10 @@
         }
       }
 
-      if(maxFileNumber == -1 || numberOfFiles < maxFileNumber) {
-        if(extBarred(uploadFile.getName())) {
+      if(maxFileNumber == UploadConstant.MAX_FILE_NUMBER || numberOfFiles < 
maxFileNumber) {
+        boolean barred = extBarred(uploadFile.getName());
+        if(barred) {
+          barred = false;
           UploadParams uploadParams = new 
UploadParams(uploadFile.getName(),"upload.failure", uploadFile.getSize(), 
uploadFile.getContentType(), "directory", null, null);
           uploadFile.getInputStream().close();
           history.add(uploadParams);
@@ -1039,13 +1022,17 @@
       if(uploadFile.getSize() > maxFileSize) {
         throw new 
UploadException(UploadConstant.UPLOAD_FILE_SIZE_LIMIT_REACHED + " " + 
uploadFile.getName());
       }
-
-      if(extBarred(uploadFile.getName())) {
-        throw new UploadException(UploadConstant.UPLOAD_FILENAME_DENIED + " " 
+ uploadFile.getName());
+      boolean barred = extBarred(uploadFile.getName());
+      if(barred) {
+        barred = false;
+        UploadParams uploadParams = new 
UploadParams(uploadFile.getName(),"upload.failure", uploadFile.getSize(), 
uploadFile.getContentType(), "directory", null, null);
+        uploadFile.getInputStream().close();
+        history.add(uploadParams);
+        notify(uploadParams, uploadFile);
       }
 
       UploadStore uploadStore   = UploadStore.getInstance();
-      String      altFileName   = uploadStore.append(storeLocation, 
uploadFile, maxFileNumber, overwrite);
+      String      altFileName   = uploadStore.addEntry(uploadFile, overwrite, 
storeLocation,  maxFileNumber);
       UploadParams uploadParams = new 
UploadParams(uploadFile.getName(),"upload.success", uploadFile.getSize(), 
uploadFile.getContentType(), "zip", storeLocation, altFileName);
 
       history.add(uploadParams);
@@ -1060,12 +1047,16 @@
       if(uploadFile.getSize() > maxFileSize) {
         throw new 
UploadException(UploadConstant.UPLOAD_FILE_SIZE_LIMIT_REACHED + " " + 
uploadFile.getName());
       }
-
-      if(extBarred(uploadFile.getName())) {
-        throw new UploadException(UploadConstant.UPLOAD_FILENAME_DENIED + " " 
+ uploadFile.getName());
+      boolean barred = extBarred(uploadFile.getName());
+      if(barred) {
+        barred = false;
+        UploadParams uploadParams = new 
UploadParams(uploadFile.getName(),"upload.failure", uploadFile.getSize(), 
uploadFile.getContentType(), "directory", null, null);
+        uploadFile.getInputStream().close();
+        history.add(uploadParams);
+        notify(uploadParams, uploadFile);
       }
 
-      if(maxFileNumber != -1 && storeMemory.size() >= maxFileNumber) {
+      if(maxFileNumber != UploadConstant.MAX_FILE_NUMBER && storeMemory.size() 
>= maxFileNumber) {
         throw new UploadException(UploadConstant.UPLOAD_LIMIT_REACHED);
       }
 
@@ -1118,7 +1109,26 @@
     } else {
       return excluded = false;
     }
-    return excluded;
+    return excluded = false;
+  }
+
+  private boolean checkIncludedExts(String fileName) {
+    boolean included = false;
+    Iterator iter     = includedExts.iterator();
+    int      i        = fileName.lastIndexOf(".");
+    String   extFile  = null;
+    if(i != -1) {
+      extFile  = fileName.substring(i + 1, fileName.length());
+      while(iter.hasNext()) {
+        String ext = (String)iter.next();
+        if(ext.equalsIgnoreCase(extFile)) {
+          return included = true;
+        }
+      }
+    } else {
+      return included = true;
+    }
+    return included = false;
   }
 }
 }}}

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to