Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 97279 Details for
Bug 227213
[regression] Cannot duplicate a file subtree by giving new name in the same folder
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Copy & Paste to Parent Folder
227213_CopyPasteToParentFolder.txt (text/plain), 6.60 KB, created by
Rupen Mardirossian
on 2008-04-23 13:49:55 EDT
(
hide
)
Description:
Copy & Paste to Parent Folder
Filename:
MIME Type:
Creator:
Rupen Mardirossian
Created:
2008-04-23 13:49:55 EDT
Size:
6.60 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.rse.files.ui >Index: src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java >=================================================================== >RCS file: /cvsroot/dsdp/org.eclipse.tm.rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java,v >retrieving revision 1.76 >diff -u -r1.76 SystemViewRemoteFileAdapter.java >--- src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java 17 Apr 2008 09:55:51 -0000 1.76 >+++ src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java 23 Apr 2008 17:48:58 -0000 >@@ -50,10 +50,12 @@ > * Xuan Chen (IBM) - [223126] [api][breaking] Remove API related to User Actions in RSE Core/UI > * Rupen Mardirossian (IBM) - [210682] Copy collisions will use SystemCopyDialog now instead of renameDialog when there is a copy collision within the same connection > * David McKnight (IBM) - [224377] "open with" menu does not have "other" option >+ * Rupen Mardirossian (IBM) - [227213] Copy and pasting to the parent folder will create a "Copy of" that resource > *******************************************************************************/ > > package org.eclipse.rse.internal.files.ui.view; > import java.io.File; >+import java.text.MessageFormat; > import java.util.ArrayList; > import java.util.Date; > import java.util.Iterator; >@@ -154,6 +156,7 @@ > import org.eclipse.rse.subsystems.shells.core.subsystems.IRemoteCmdSubSystem; > import org.eclipse.rse.ui.ISystemContextMenuConstants; > import org.eclipse.rse.ui.ISystemIconConstants; >+import org.eclipse.rse.ui.ISystemMessages; > import org.eclipse.rse.ui.RSEUIPlugin; > import org.eclipse.rse.ui.SystemBasePlugin; > import org.eclipse.rse.ui.SystemMenuManager; >@@ -2103,9 +2106,9 @@ > } > else if (first instanceof IRemoteFile) > { >- //List toCopy = new ArrayList(); >- //List toCopyNames = new ArrayList(); >- List toCopyBatch = new ArrayList(); >+ List toCopy = new ArrayList(); >+ List toCopyNames = new ArrayList(); >+ //List toCopyBatch = new ArrayList(); > List existing = new ArrayList(); > boolean overwrite=false; > >@@ -2136,36 +2139,64 @@ > > > String name = srcFileOrFolder.getName(); >- >+ String originalName = srcFileOrFolder.getName(); >+ String pattern = "Copy{0,choice,1#|1< ({0,number,integer})} of {1}"; //$NON-NLS-1$ >+ int count = 1; >+ boolean go = true; >+ > // same systemfor >- if (sameSystem) >+ if (sameSystem) > { > try > { >- if (!targetFolder.getAbsolutePath().equals(srcFileOrFolder.getAbsolutePath()) && !targetFolder.getAbsolutePath().equals(srcFileOrFolder.getParentRemoteFile().getAbsolutePath())) >+ if (!targetFolder.getAbsolutePath().equals(srcFileOrFolder.getAbsolutePath())) > { >- >- // should be better doing a query for all in the set >- IRemoteFile existingFileOrFolder = ((IRemoteFileSubSystem)srcSubSystem).getRemoteFileObject(targetFolder, name, monitor); >- if (existingFileOrFolder.exists()) >+ //Handle resources being copied to their parent folder. Name = "Copy of " + name >+ if(targetFolder.getAbsolutePath().equals(srcFileOrFolder.getParentRemoteFile().getAbsolutePath())) > { >- /*RenameRunnable rr = new RenameRunnable(existingFileOrFolder, toCopyNames); >- Display.getDefault().syncExec(rr); >- name = rr.getNewName(); >- */ >- existing.add(existingFileOrFolder); >+ name = MessageFormat.format(pattern, new Object[] { >+ new Integer(count), originalName }); >+ while(go) >+ { >+ IRemoteFile existingFileOrFolder = ((IRemoteFileSubSystem)srcSubSystem).getRemoteFileObject(targetFolder, name, monitor); >+ if (existingFileOrFolder.exists()) >+ { >+ count++; >+ name = MessageFormat.format(pattern, new Object[] { >+ new Integer(count), originalName }); >+ } >+ else >+ { >+ toCopy.add(srcFileOrFolder); >+ toCopyNames.add(name); >+ go = false; >+ } >+ } > } >- >- if (name != null) >+ else > { >- //toCopy.add(srcFileOrFolder); >- //toCopyNames.add(name); >- toCopyBatch.add(srcFileOrFolder); >+ // should be better doing a query for all in the set >+ IRemoteFile existingFileOrFolder = ((IRemoteFileSubSystem)srcSubSystem).getRemoteFileObject(targetFolder, name, monitor); >+ if (existingFileOrFolder.exists()) >+ { >+ /*RenameRunnable rr = new RenameRunnable(existingFileOrFolder, toCopyNames); >+ Display.getDefault().syncExec(rr); >+ name = rr.getNewName(); >+ */ >+ existing.add(existingFileOrFolder); >+ } >+ >+ if (name != null) >+ { >+ toCopy.add(srcFileOrFolder); >+ toCopyNames.add(name); >+ //toCopyBatch.add(srcFileOrFolder); >+ } >+ /*else if (name != null) >+ { >+ toCopyBatch.add(srcFileOrFolder); >+ }*/ > } >- /*else if (name != null) >- { >- toCopyBatch.add(srcFileOrFolder); >- }*/ > } > } > catch (Exception e) >@@ -2186,9 +2217,13 @@ > Display.getDefault().syncExec(rr); > overwrite = rr.getOk(); > } >- >- //Following code for renaming dialog copying procedures is not required >- /*if(existing.size()==0 || overwrite) >+ >+ >+ >+ //Following code used originally with the rename dialog which no longer exists >+ //Resources will be copied with same names if an overwrite is desired from the user >+ //Resources that are copied to their parent will be renamed to "Copy of " + name of source >+ if(existing.size()==0 || overwrite) > { > for (int x = 0; x < toCopy.size(); x++) > { >@@ -2269,9 +2304,9 @@ > e.printStackTrace(); > } > } >- }*/ >+ } > // deal with batch copies now >- if(existing.size()==0 || overwrite) >+ /*if(existing.size()==0 || overwrite) > { > IRemoteFile[] srcFileOrFolders = new IRemoteFile[toCopyBatch.size()]; > for (int x = 0; x < toCopyBatch.size(); x++) >@@ -2348,7 +2383,7 @@ > e.printStackTrace(); > } > } >- } >+ }*/ > } > } > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 227213
:
97279
|
98263
|
98822
|
98864