Index: /main/trunk/gli/classes/dictionary.properties
===================================================================
--- /main/trunk/gli/classes/dictionary.properties	(revision 34282)
+++ /main/trunk/gli/classes/dictionary.properties	(revision 34283)
@@ -532,8 +532,11 @@
 ExportAsPrompt.MappingXML_Tooltip:Use a mapping file for converting the exported files.
 #
-#***** Export Metadata to CSV *****
-ExportMeta.ChooseMetaCSVFile: Export metadata from GLI to a new CSV file or add to existing
-ExportMeta.MoveMetaXMLToCSV_Warning_Message: Warning, this will remove all metadata from GLI after exporting to CSV. Proceed?
-ExportMeta.MoveMetaXMLToCSV_Failed_Message: Failed to export contents of collection metadata.xml files to CSV properly. Will not remove metadata.xml files.
+#***** Export/Convert Metadata to CSV *****
+MetaToCSV.Choose:Choose
+MetaToCSV.ExportAction:Export
+MetaToCSV.ConvertAction:Convert
+MetaToCSV.ChooseMetaCSVFile:{0} metadata from GLI to a new CSV file or add to existing
+MetaToCSV.ConvertMetaXMLToCSV_Warning_Message:Warning, this will remove all metadata from GLI (metadata.xml files) after exporting to CSV.\nThis means you will no longer be able to edit this metadata from within GLI.\nProceed?
+MetaToCSV.ConvertMetaXMLToCSV_Failed_Message:Failed to export contents of collection metadata.xml files to CSV properly. Will not remove metadata.xml files.
 #
 #***** Inherited Metadata *****
@@ -787,5 +790,5 @@
 Menu.File_ExportAs:Export...
 Menu.File_ExportMeta:Export metadata to CSV...
-Menu.File_MoveMetaToCSV:Move metadata to CSV...
+Menu.File_ConvertMetaToCSV:Convert metadata to CSV...
 Menu.File_New:New...
 Menu.File_Open:Open...
Index: /main/trunk/gli/src/org/greenstone/gatherer/gui/GUIManager.java
===================================================================
--- /main/trunk/gli/src/org/greenstone/gatherer/gui/GUIManager.java	(revision 34282)
+++ /main/trunk/gli/src/org/greenstone/gatherer/gui/GUIManager.java	(revision 34283)
@@ -199,16 +199,24 @@
 	    eap = null;
 	}
-	else if (esrc == menu_bar.file_exportmeta || esrc == menu_bar.file_movemeta) {
+	else if (esrc == menu_bar.file_exportmeta || esrc == menu_bar.file_convertmeta) {
 	    String currCollName = Gatherer.c_man.getCollection().getName();
 	    String collection_directory_path = CollectionManager.getCollectionDirectoryPath(currCollName);
 	    
 	    String importDir = collection_directory_path + "import";
-	    File csvFile = MetadataToCSV.chooseMetaCSVFile(importDir, this);
+
+	    boolean convertMode = false;
+	    String startDir = collection_directory_path;
+	    if(esrc == menu_bar.file_convertmeta) {
+		startDir = importDir;
+		convertMode = true;
+	    }
+		
+	    File csvFile = MetadataToCSV.chooseMetaCSVFile(startDir, convertMode, this);
 	    if(csvFile != null) {
 		MetadataToCSV toCSV = new MetadataToCSV(collection_directory_path, csvFile);
 		
 		boolean success = false;
-		if(esrc == menu_bar.file_movemeta) {
-		    success = toCSV.moveMetaXMLToCSV(csvFile, this);
+		if(esrc == menu_bar.file_convertmeta) {
+		    success = toCSV.convertMetaXMLToCSV(csvFile, this);
 		} else {
 		    success = toCSV.exportMetaXMLToCSV(csvFile);
@@ -216,6 +224,7 @@
 
 		// refresh coll view if meta.csv was created somewhere inside this coll's import folder
-		// And for remote case, also upload any new file that's inside import dir to server
-		if(success && csvFile.exists() && csvFile.getAbsolutePath().startsWith(importDir)) {
+		// And for remote case, also upload any new file that's inside collection dir
+		// (especially import dir) to server
+		if(success && csvFile.exists() && csvFile.getAbsolutePath().startsWith(collection_directory_path)) {
 		    if(Gatherer.isGsdlRemote) {
 			Gatherer.remoteGreenstoneServer.uploadFilesIntoCollection(currCollName, new File[] {csvFile}, csvFile.getParentFile());
Index: /main/trunk/gli/src/org/greenstone/gatherer/gui/MenuBar.java
===================================================================
--- /main/trunk/gli/src/org/greenstone/gatherer/gui/MenuBar.java	(revision 34282)
+++ /main/trunk/gli/src/org/greenstone/gatherer/gui/MenuBar.java	(revision 34283)
@@ -70,5 +70,5 @@
     public JMenuItem file_exportas   = null;
     public JMenuItem file_exportmeta = null;
-    public JMenuItem file_movemeta   = null;
+    public JMenuItem file_convertmeta   = null;
     public JMenuItem file_new        = null;
     public JMenuItem file_open       = null;
@@ -130,8 +130,8 @@
 	file_exportmeta.setComponentOrientation(Dictionary.getOrientation());
 
-	file_movemeta = new JMenuItem(Dictionary.get("Menu.File_MoveMetaToCSV"));
-	file_movemeta.addActionListener(Gatherer.g_man);
-	file_movemeta.setEnabled(false);
-	file_movemeta.setComponentOrientation(Dictionary.getOrientation());
+	file_convertmeta = new JMenuItem(Dictionary.get("Menu.File_ConvertMetaToCSV"));
+	file_convertmeta.addActionListener(Gatherer.g_man);
+	file_convertmeta.setEnabled(false);
+	file_convertmeta.setComponentOrientation(Dictionary.getOrientation());
 	
 	file_new = new JMenuItem(Dictionary.get("Menu.File_New"));
@@ -161,5 +161,5 @@
 	file.add(file_exportas);
 	file.add(file_exportmeta);
-	file.add(file_movemeta);
+	file.add(file_convertmeta);
 	// these currently don't work. better to just disable them?
 	if (!Gatherer.GS3) {
@@ -300,5 +300,5 @@
 	file_save.setEnabled(ready);
 	file_exportmeta.setEnabled(ready);
-	file_movemeta.setEnabled(ready);
+	file_convertmeta.setEnabled(ready);
     }
 
Index: /main/trunk/gli/src/org/greenstone/gatherer/metadata/MetadataToCSV.java
===================================================================
--- /main/trunk/gli/src/org/greenstone/gatherer/metadata/MetadataToCSV.java	(revision 34282)
+++ /main/trunk/gli/src/org/greenstone/gatherer/metadata/MetadataToCSV.java	(revision 34283)
@@ -108,5 +108,5 @@
 
     /** Remove import path prefix from given file. Returned is the path of file relative to import. */
-    public String fileToRelativeString(File f) {
+    private String fileToRelativeString(File f) {
 	String fullPath = f.getAbsolutePath();
 	//System.err.println("@@@ fullpath:            " + fullPath);
@@ -174,5 +174,5 @@
     // Get all meta in any metadata.csv file
     // and add to it all meta assigned for docs in this collection
-    public void amalgamateAllMeta() {
+    private void amalgamateAllMeta() {
 	TreeMap<File, TreeMap<String,TreeSet<String>>> assignedMeta = getAllAssignedMetadataForAllFiles();
 	TreeMap<File, TreeMap<String,TreeSet<String>>> csvFileMeta = loadMetaFromCSVFile(this.metadataCSVFile);
@@ -195,5 +195,5 @@
     }
 
-    public TreeSet<String> getAllCollHeadings(TreeMap<File, TreeMap<String,TreeSet<String>>> metaMap) {
+    private TreeSet<String> getAllCollHeadings(TreeMap<File, TreeMap<String,TreeSet<String>>> metaMap) {
 	TreeSet<String> collHeadings = new TreeSet<String>();
 
@@ -221,5 +221,5 @@
      * A simple map.putALL()  will not do the trick as collMetaMap is a complicated data structure.
      */
-    public void merge(TreeMap<File, TreeMap<String,TreeSet<String>>> baseMetaMap, TreeMap<File, TreeMap<String,TreeSet<String>>> metaMap) {
+    private void merge(TreeMap<File, TreeMap<String,TreeSet<String>>> baseMetaMap, TreeMap<File, TreeMap<String,TreeSet<String>>> metaMap) {
 
 	if(metaMap == null || metaMap.size() == 0) {
@@ -279,9 +279,9 @@
      * and removes all the child elements from meta xml files' DirectoryMetadata root elements
      */
-    public boolean moveMetaXMLToCSV(File csvFile, JFrame parent) {
+    public boolean convertMetaXMLToCSV(File csvFile, JFrame parent) {
 
 	// Warn the user about the operation being destructive
 	int result = JOptionPane.showConfirmDialog(parent,
-			   Dictionary.get("ExportMeta.MoveMetaXMLToCSV_Warning_Message"),
+			   Dictionary.get("MetaToCSV.ConvertMetaXMLToCSV_Warning_Message"),
 			   Dictionary.get("General.Warning"),
 			   JOptionPane.OK_CANCEL_OPTION,
@@ -300,5 +300,5 @@
 	} else {
 	    JOptionPane.showMessageDialog(parent,
-					  Dictionary.get("ExportMeta.MoveMetaXMLToCSV_Failed_Message"),
+					  Dictionary.get("MetaToCSV.ConvertMetaXMLToCSV_Failed_Message"),
 					  Dictionary.get("General.Error"),
 					  JOptionPane.ERROR_MESSAGE);
@@ -391,5 +391,5 @@
 
 
-    public TreeMap<File, TreeMap<String,TreeSet<String>>> loadMetaFromCSVFile(File csvFile) {
+    private TreeMap<File, TreeMap<String,TreeSet<String>>> loadMetaFromCSVFile(File csvFile) {
 	TreeMap<File, TreeMap<String,TreeSet<String>>> csvFileMeta = new TreeMap<File, TreeMap<String,TreeSet<String>>>();
 	
@@ -475,5 +475,5 @@
 
     /** For debugging */
-    public void print(TreeMap<File, TreeMap<String,TreeSet<String>>> metaMap ) {
+    private void print(TreeMap<File, TreeMap<String,TreeSet<String>>> metaMap ) {
 	Iterator<File> iFiles = metaMap.keySet().iterator();
 	while(iFiles.hasNext()) {
@@ -502,5 +502,5 @@
     
     /** For debugging */
-    public void printOrderedCollectionMeta() {
+    private void printOrderedCollectionMeta() {
 	//TreeMap<File, TreeMap<String,TreeSet<String>>> collMetaMap = getAllAssignedMetadataForAllFiles();
 
@@ -524,5 +524,5 @@
     }
 
-    public void getAllFiles(ArrayList<File> files, File path, FileFilter filter) {
+    private void getAllFiles(ArrayList<File> files, File path, FileFilter filter) {
 	File[] fileList = path.listFiles(filter);	
 	for(int i = 0; i < fileList.length; i++) {
@@ -563,8 +563,13 @@
     //}
 
-    public static File chooseMetaCSVFile(String defaultSearchPath, JFrame parent) {
+    public static File chooseMetaCSVFile(String defaultSearchPath, boolean convertNotExport, JFrame parent) {
 	JFileChooser chooser = new JFileChooser(defaultSearchPath);
 	chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
-	chooser.setDialogTitle(Dictionary.get("ExportMeta.ChooseMetaCSVFile"));
+	String actionName = Dictionary.get("MetaToCSV.ExportAction"); // Export or Convert
+	if(convertNotExport) {
+	    actionName = Dictionary.get("MetaToCSV.ConvertAction");
+	}
+	chooser.setDialogTitle(Dictionary.get("MetaToCSV.ChooseMetaCSVFile", actionName));
+	chooser.setApproveButtonText(Dictionary.get("MetaToCSV.Choose"));//actionName);
 	FileNameExtensionFilter filter = new FileNameExtensionFilter("CSV spreadsheet file", "csv");
 	chooser.setFileFilter(filter);//.addChoosableFileFilter(filter);
