summaryrefslogtreecommitdiff
path: root/ucb
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2004-06-11 11:30:56 +0000
committerKurt Zenker <kz@openoffice.org>2004-06-11 11:30:56 +0000
commit04e532b2ddf6fb758ade0aab86ca0a4c635c525f (patch)
tree98777abaa6e46d103dc68615575f72d8e39864cb /ucb
parentff621d6776584f902eea8cef2e54fc865d1b6eac (diff)
INTEGRATION: CWS unopkg2 (1.11.2); FILE MERGED
2004/05/27 14:09:14 kso 1.11.2.1: #116171# - Fixed: Transfer of non-empty folder in conjunction with renaming the folder during transfer.
Diffstat (limited to 'ucb')
-rw-r--r--ucb/source/core/ucbcmds.cxx37
1 files changed, 24 insertions, 13 deletions
diff --git a/ucb/source/core/ucbcmds.cxx b/ucb/source/core/ucbcmds.cxx
index 7660ed277417..17346adcfdd0 100644
--- a/ucb/source/core/ucbcmds.cxx
+++ b/ucb/source/core/ucbcmds.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: ucbcmds.cxx,v $
*
- * $Revision: 1.12 $
+ * $Revision: 1.13 $
*
- * last change: $Author: kz $ $Date: 2004-05-19 16:40:25 $
+ * last change: $Author: kz $ $Date: 2004-06-11 12:30:56 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -497,7 +497,9 @@ static rtl::OUString createDesiredName(
{
// calculate name using source URL
- // @@@ It's not guaranteed that path separator is a slash.
+ // @@@ It's not guaranteed that slashes contained in the URL are
+ // actually path separators. This depends on the fact whether the
+ // URL is hierarchical. Only then the slashes are path separators.
// Therefore this algorithm is not guaranteed to work! But, ATM
// I don't know a better solution. It would have been better to
// have a member for the clashing name in
@@ -1715,6 +1717,20 @@ static void globalTransfer(
if ( xResultSet->first() )
{
+ star::ucb::GlobalTransferCommandArgument aTransArg(
+ rContext.aArg.Operation, // Operation
+ rtl::OUString(), // SourceURL; filled later
+ xNew->getIdentifier()
+ ->getContentIdentifier(), // TargetURL
+ rtl::OUString(), // NewTitle;
+ rContext.aArg.NameClash ); // NameClash
+
+ ucb_commands::TransferCommandContext aSubCtx(
+ rContext.xSMgr,
+ rContext.xProcessor,
+ rContext.xEnv,
+ rContext.xOrigEnv,
+ aTransArg );
do
{
uno::Reference< star::ucb::XContent > xChild
@@ -1722,16 +1738,11 @@ static void globalTransfer(
if ( xChild.is() )
{
// Recursion!
- star::ucb::GlobalTransferCommandArgument aTransArg(
- rContext.aArg.Operation, // Operation
- xChild->getIdentifier()
- ->getContentIdentifier(), // SourceURL
- xNew->getIdentifier()
- ->getContentIdentifier(), // TargetURL
- rtl::OUString(), // NewTitle;
- rContext.aArg.NameClash ); // NameClash
-
- ucb_commands::globalTransfer( rContext,
+
+ aSubCtx.aArg.SourceURL
+ = xChild->getIdentifier()->getContentIdentifier();
+
+ ucb_commands::globalTransfer( aSubCtx,
xChild,
xNew,
xChildRow );