From 6cd80af8ef6cbde44815f2181a869e8c6e96ed86 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Fri, 26 Jan 2007 16:48:16 +0000 Subject: [PATCH] fix for a rename problem while investigating [170728] --- .../rse/services/dstore/files/DStoreHostFile.java | 15 +++++++++------ .../eclipse/rse/internal/ui/view/SystemView.java | 11 ++++++----- .../UI/org/eclipse/rse/ui/view/SystemView.java | 11 ++++++----- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/files/DStoreHostFile.java b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/files/DStoreHostFile.java index 7b276a68bd8..1224edb443a 100644 --- a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/files/DStoreHostFile.java +++ b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/files/DStoreHostFile.java @@ -324,17 +324,20 @@ public class DStoreHostFile implements IHostFile public void renameTo(String newAbsolutePath) { String current = getName(); - if (newAbsolutePath.endsWith(current)) + + int lastSep = newAbsolutePath.lastIndexOf('/'); + if (lastSep == -1) + lastSep = newAbsolutePath.lastIndexOf('\\'); + + String newName = newAbsolutePath.substring(lastSep + 1); + + if (newName.equals(current)) { // data element already updated } else { - int lastSep = newAbsolutePath.lastIndexOf('/'); - if (lastSep == -1) - lastSep = newAbsolutePath.lastIndexOf('\\'); - - String newName = newAbsolutePath.substring(lastSep + 1); + _element.setAttribute(DE.A_NAME, newName); } diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java index 24102aecfb3..91220e4bec6 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemView.java @@ -2611,14 +2611,15 @@ public class SystemView extends TreeViewer implements ISystemTree, ISystemResour Vector matches = null; // STEP 1: get the object's remote adapter and subsystem - //String newElementName = null; + String newElementName = null; ISystemRemoteElementAdapter rmtAdapter = null; if (renameObject instanceof String) { //FIXME How to get the adapter based on the String name? - //newElementName = (String)renameObject; + newElementName = (String)renameObject; } else { rmtAdapter = getRemoteAdapter(renameObject); subsystem = rmtAdapter.getSubSystem(renameObject); + newElementName = rmtAdapter.getName(renameObject); } // STEP 2: find all references to the old name object @@ -2645,10 +2646,10 @@ public class SystemView extends TreeViewer implements ISystemTree, ISystemResour } // rename explicitly here (since internalUpdate doesn't seem to have an effect - String newName = rmtAdapter.getName(data); - match.setText(newName); + System.out.println("setting name to "+newElementName); + match.setText(newElementName); - internalUpdate(match, data, properties); + //internalUpdate(match, data, properties); //update(data, properties); // for refreshing non-structural properties in viewer when model changes //System.out.println("Match found. refresh required? " + refresh); diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemView.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemView.java index 24102aecfb3..91220e4bec6 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemView.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemView.java @@ -2611,14 +2611,15 @@ public class SystemView extends TreeViewer implements ISystemTree, ISystemResour Vector matches = null; // STEP 1: get the object's remote adapter and subsystem - //String newElementName = null; + String newElementName = null; ISystemRemoteElementAdapter rmtAdapter = null; if (renameObject instanceof String) { //FIXME How to get the adapter based on the String name? - //newElementName = (String)renameObject; + newElementName = (String)renameObject; } else { rmtAdapter = getRemoteAdapter(renameObject); subsystem = rmtAdapter.getSubSystem(renameObject); + newElementName = rmtAdapter.getName(renameObject); } // STEP 2: find all references to the old name object @@ -2645,10 +2646,10 @@ public class SystemView extends TreeViewer implements ISystemTree, ISystemResour } // rename explicitly here (since internalUpdate doesn't seem to have an effect - String newName = rmtAdapter.getName(data); - match.setText(newName); + System.out.println("setting name to "+newElementName); + match.setText(newElementName); - internalUpdate(match, data, properties); + //internalUpdate(match, data, properties); //update(data, properties); // for refreshing non-structural properties in viewer when model changes //System.out.println("Match found. refresh required? " + refresh);