Author: tdraier
Date: Wed Aug 9 17:11:05 2006
New Revision: 14882
URL: https://svndev.jahia.net/websvn/listing.php?sc=1&rev=14882&repname=jahia
Log:
export all files when exporting site
Modified:
trunk/core/src/java/org/jahia/engines/importexport/ExportEngine.java
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java
trunk/core/src/java/org/jahia/services/importexport/ImportExportService.java
trunk/core/src/webapp/jsp/jahia/administration/sites_management.jsp
Modified: trunk/core/src/java/org/jahia/engines/importexport/ExportEngine.java
URL:
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/engines/importexport/ExportEngine.java&rev=14882&repname=jahia
==============================================================================
--- trunk/core/src/java/org/jahia/engines/importexport/ExportEngine.java
(original)
+++ trunk/core/src/java/org/jahia/engines/importexport/ExportEngine.java Wed
Aug 9 17:11:05 2006
@@ -183,6 +183,10 @@
resp.setContentType("application/zip");
params.put(ImportExportService.INCLUDE_FILES, Boolean.TRUE);
ie.exportZip(object, languageCodes, outputStream,
processingContext, params);
+ } else if
("zipallfiles".equals(processingContext.getParameter("exportformat"))) {
+ resp.setContentType("application/zip");
+ params.put(ImportExportService.INCLUDE_ALL_FILES, Boolean.TRUE);
+ ie.exportZip(object, languageCodes, outputStream,
processingContext, params);
} else if
("zipnofiles".equals(processingContext.getParameter("exportformat"))) {
resp.setContentType("application/zip");
ie.exportZip(object, languageCodes, outputStream,
processingContext, params);
Modified:
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java
URL:
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java&rev=14882&repname=jahia
==============================================================================
---
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java
(original)
+++
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseService.java
Wed Aug 9 17:11:05 2006
@@ -204,6 +204,14 @@
export(object, l, dw, files, jParams, params);
}
+ if (params != null &&
Boolean.TRUE.equals(params.get(INCLUDE_ALL_FILES))) {
+ files.clear();
+ getAllFiles(new DAVFileAccess(jParams.getSite(), "/shared"),files);
+ getAllFiles(new DAVFileAccess(jParams.getSite(), "/users"),files);
+ getAllFiles(new DAVFileAccess(jParams.getSite(), "/groups"),files);
+ params.put(INCLUDE_FILES, Boolean.TRUE);
+ }
+
if (params != null && Boolean.TRUE.equals(params.get(INCLUDE_FILES))) {
DataWriter dw = new DataWriter(new OutputStreamWriter(zout,
"UTF-8"));
@@ -242,6 +250,28 @@
zout.close();
}
+ private void getAllFiles(DAVFileAccess file, Set files) {
+ if (!file.isCollection()) {
+ files.add(file);
+ } else {
+ try {
+ List children = file.getChildren();
+ if (children != null && !children.isEmpty()) {
+ Iterator iterator = children.iterator();
+ while (iterator.hasNext()) {
+ DAVFileAccess child = (DAVFileAccess) iterator.next();
+ // avoid aliases
+ if (child.getPath().startsWith(file.getPath())) {
+ getAllFiles(child, files);
+ }
+ }
+ }
+ } catch (Exception e) {
+ logger.warn("Cannot get "+file.getPath());
+ }
+ }
+ }
+
public void export(ContentObject object, String languageCode,
ContentHandler h, Set files, ProcessingContext jParams, Map params) throws
JahiaException, SAXException {
if (params == null) {
params = new HashMap();
Modified:
trunk/core/src/java/org/jahia/services/importexport/ImportExportService.java
URL:
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/java/org/jahia/services/importexport/ImportExportService.java&rev=14882&repname=jahia
==============================================================================
---
trunk/core/src/java/org/jahia/services/importexport/ImportExportService.java
(original)
+++
trunk/core/src/java/org/jahia/services/importexport/ImportExportService.java
Wed Aug 9 17:11:05 2006
@@ -71,6 +71,7 @@
String TO = "to";
String LOCK_KEY = "lock";
String INCLUDE_FILES = "files";
+ String INCLUDE_ALL_FILES = "allfiles";
String LINK = "link";
String VIEW_CONTENT = "content";
String VIEW_VERSION = "version";
Modified: trunk/core/src/webapp/jsp/jahia/administration/sites_management.jsp
URL:
https://svndev.jahia.net/websvn/diff.php?path=/trunk/core/src/webapp/jsp/jahia/administration/sites_management.jsp&rev=14882&repname=jahia
==============================================================================
--- trunk/core/src/webapp/jsp/jahia/administration/sites_management.jsp
(original)
+++ trunk/core/src/webapp/jsp/jahia/administration/sites_management.jsp Wed Aug
9 17:11:05 2006
@@ -68,7 +68,7 @@
<td>
<% if (homeContentPage != null) { %>
<a href='<%=jParams.composeSiteUrl(site) +
"/engineName/export/" + site.getSiteKey() + ".zip" +
- "?key=" + homeContentPage.getObjectKey()
+ "&exportformat=zipfiles" %>' alt="<jahia:adminResourceBundle
resourceName="org.jahia.admin.site.ManageSites.export.label"/>"><jahia:adminResourceBundle
resourceName="org.jahia.admin.site.ManageSites.export.label"/></a>
+ "?key=" + homeContentPage.getObjectKey()
+ "&exportformat=zipallfiles" %>' alt="<jahia:adminResourceBundle
resourceName="org.jahia.admin.site.ManageSites.export.label"/>"><jahia:adminResourceBundle
resourceName="org.jahia.admin.site.ManageSites.export.label"/></a>
<% } %>
</td>
</tr>