Exporting space in PDF - SOAP API doesn't interpret $dateFormatter, while exporting using a browser does

XMLWordPrintable

      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);
      

        1. using browser.pdf
          175 kB
          Jérôme Zago
        2. using soap, after the patch.pdf
          175 kB
          Jérôme Zago
        3. using soap, before the patch.pdf
          175 kB
          Jérôme Zago

              Assignee:
              Chris Broadfoot [Atlassian]
              Reporter:
              Jérôme Zago
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: