-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Low
-
Affects Version/s: 2.7.1
-
Component/s: Core - Content REST APIs, Page - Export / Import
-
Environment:
Red Hat Enterprise Linux 5.1 on i686
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04)
Java HotSpot(TM) Server VM (build 1.5.0_15-b04, mixed mode)
The following patch fix the problem for me in 2.7.1. The same problem exists as well in 2.7.2 and 2.7.3 IMHO.
$ cd <dir>/confluence-2.7.1-source/confluence-project/confluence-rpc-plugin/src/java/com/atlassian/confluence/rpc/soap/services/
$ diff -bu SpacesSoapService.java{.dist,}
--- SpacesSoapService.java.dist 2008-03-17 18:46:53.000000000 +0100
+++ SpacesSoapService.java 2008-04-07 12:21:20.000000000 +0200
@@ -1,5 +1,7 @@
package com.atlassian.confluence.rpc.soap.services;
+import com.atlassian.confluence.core.DateFormatter;
+import com.atlassian.confluence.core.FormatSettingsManager;
import com.atlassian.confluence.importexport.DefaultExportContext;
import com.atlassian.confluence.importexport.ImportExportException;
import com.atlassian.confluence.importexport.ImportExportManager;
@@ -21,6 +23,7 @@
import com.atlassian.confluence.spaces.SpaceGroupManager;
import com.atlassian.confluence.spaces.SpaceManager;
import com.atlassian.confluence.user.AuthenticatedUserThreadLocal;
+import com.atlassian.confluence.user.ConfluenceUserPreferences;
import com.atlassian.confluence.user.PersonalInformation;
import com.atlassian.confluence.user.PersonalInformationManager;
import com.atlassian.confluence.user.UserAccessor;
@@ -55,6 +58,7 @@
private UserAccessor userAccessor;
private SpaceGroupManager spaceGroupManager;
private PageManager pageManager;
+ private FormatSettingsManager formatSettingsManager;
private SetSpacePermissionChecker setSpacePermissionChecker;
public void setUserAccessor(UserAccessor userAccessor)
@@ -97,6 +101,11 @@
this.pageManager = pageManager;
}
+ public void setFormatSettingsManager(FormatSettingsManager formatSettingsManager)
+ {
+ this.formatSettingsManager = formatSettingsManager;
+ }
+
public RemoteSpaceSummary[] getSpaces() throws RemoteException
{
User user = AuthenticatedUserThreadLocal.getUser();
@@ -597,6 +606,11 @@
context.addWorkingEntity(space);
context.setContentTree(importExportManager.getContentTree(user, space));
+ // Following "Accessing the DateFormatter" code in
+ // http://confluence.atlassian.com/display/DOC/Date+formatting+with+time+zones
+ DateFormatter dateFormatter = (new ConfluenceUserPreferences()).getDateFormatter(formatSettingsManager);
+ context.setDateFormatter(dateFormatter);
+
String archivePath = importExportManager.exportAs(context, new ProgressMeter());
downloadPath = importExportManager.prepareDownloadPath(archivePath);
gateKeeper.addKey(downloadPath, user);