Author: tdraier
Date: Fri May 25 12:06:06 2007
New Revision: 17380

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17380&repname=
=3Djahia
Log:
better handling of compression errors ( DOC-112 )

Modified:
    branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/filemanage=
r/DAVFilemanager_Engine.java
    branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/filemana=
ger/error.jsp

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/file=
manager/DAVFilemanager_Engine.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/engines/filemanager/DAVFilemanager_Engine.j=
ava&rev=3D17380&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/filemanage=
r/DAVFilemanager_Engine.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/filemanage=
r/DAVFilemanager_Engine.java Fri May 25 12:06:06 2007
@@ -1013,28 +1013,44 @@
             final MyZipInputStream zis =3D new MyZipInputStream(in);
             ZipEntry zipentry;
 =

+            List listOfFiles =3D new ArrayList();
+            jParams.setAttribute("listOfFiles", listOfFiles);
+
             while ((zipentry =3D zis.getNextEntry()) !=3D null) {
-                String filename =3D zipentry.getName();
-                logger.info("Unzip file (" + zipentry.getMethod() + ")" + =
filename);
-                if (filename.endsWith("/")) {
-                    filename =3D filename.substring(0,filename.length()-1);
-                }
-                int endIndex =3D filename.lastIndexOf('/');
-                String parentName =3D dest;
-                if (endIndex > -1) {
-                    parentName +=3D "/" + filename.substring(0, endIndex);
-                    filename =3D filename.substring(endIndex + 1);
-                }
-                DAVFileAccess target =3D ensureDir(parentName, jParams);
+                String filename =3D null;
+                try {
+                    filename =3D zipentry.getName();
+                    logger.info("Unzip file (" + zipentry.getMethod() + ")=
" + filename);
+                    if (filename.endsWith("/")) {
+                        filename =3D filename.substring(0,filename.length(=
)-1);
+                    }
+                    int endIndex =3D filename.lastIndexOf('/');
+                    String parentName =3D dest;
+                    if (endIndex > -1) {
+                        parentName +=3D "/" + filename.substring(0, endInd=
ex);
+                        filename =3D filename.substring(endIndex + 1);
+                    }
+                    DAVFileAccess target =3D ensureDir(parentName, jParams=
);
 =

-                if (zipentry.isDirectory()) {
-                    target.createCollection(filename);
-                } else {
-                    String contentType =3D Jahia.getStaticServletConfig().=
getServletContext().getMimeType(filename);
-                    target.uploadFile(filename, zis, zipentry.getSize(), c=
ontentType);
+                    if (zipentry.isDirectory()) {
+                        target.createCollection(filename);
+                    } else {
+                        String contentType =3D Jahia.getStaticServletConfi=
g().getServletContext().getMimeType(filename);
+                        target.uploadFile(filename, zis, zipentry.getSize(=
), contentType);
+                    }
+                    zis.closeEntry();
+                    result =3D true;
+                } catch (IOException e) {
+                    logger.error("Error when unzipping file", e);
+                    if (filename !=3D null) {
+                        listOfFiles.add(filename);
+                    }
+                } catch (InternalError err) {
+                    logger.error("Error when unzipping file, " + err.getMe=
ssage());
+                    if (filename !=3D null) {
+                        listOfFiles.add(filename);
+                    }
                 }
-                zis.closeEntry();
-                result =3D true;
             }
             zis.myClose();
         } catch (IOException e) {

Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/fi=
lemanager/error.jsp
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/webapp/jsp/jahia/engines/filemanager/error.jsp&rev=3D17380=
&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/filemana=
ger/error.jsp (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/filemana=
ger/error.jsp Fri May 25 12:06:06 2007
@@ -61,7 +61,8 @@
     <ul>
         <% for (int i =3D 0; i < listOfFiles.size(); i++) { %>
         <li>
-            <% final DAVFileAccess dav =3D (DAVFileAccess) listOfFiles.get=
(i); %>
+            <%  if (listOfFiles.get(i) instanceof DAVFileAccess) {
+                final DAVFileAccess dav =3D (DAVFileAccess) listOfFiles.ge=
t(i); %>
             <% if (dav.isCollection()) { %>
             <img src=3D"<jahia:serverHttpPath/>/jsp/jahia/engines/images/t=
ypes/folder_open.gif" alt=3D""/>
             <% } else { %>
@@ -70,8 +71,12 @@
             <% } %>
             &nbsp;
             <%=3Ddav.getPath()%>
+            <% } else { %>
+            <%=3D listOfFiles.get(i) %>    =

+            <% } %>
         </li>
-        <% } %>
+
+       <% } %>
     </ul>
     <% } %>
 </p>

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to