From 53ed7ee4c8be744e1948c0a8d044a84c8104fe89 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 13 Jun 2013 23:11:41 -0700 Subject: [PATCH 1/8] Fixed directory already exists issue --- src/nls/root/strings.js | 2 ++ src/project/ProjectManager.js | 27 +++++++++++++++++++-------- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index 3f856aab921..64f84284f1f 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -56,8 +56,10 @@ define({ "ERROR_DELETING_FILE_TITLE" : "Error deleting file", "ERROR_DELETING_FILE" : "An error occurred when trying to delete the file {0}. {1}", "INVALID_FILENAME_TITLE" : "Invalid file name", + "INVALID_DIRECTORYNAME_TITLE" : "Invalid directory name", "INVALID_FILENAME_MESSAGE" : "Filenames cannot contain the following characters: /?*:;{}<>\\| or use any system reserved words.", "FILE_ALREADY_EXISTS" : "The file {0} already exists.", + "DIRECTORY_ALREADY_EXISTS" : "The directory {0} already exists.", "ERROR_CREATING_FILE_TITLE" : "Error creating file", "ERROR_CREATING_FILE" : "An error occurred when trying to create the file {0}. {1}", diff --git a/src/project/ProjectManager.js b/src/project/ProjectManager.js index ca50d73138f..bda0a6b5da7 100644 --- a/src/project/ProjectManager.js +++ b/src/project/ProjectManager.js @@ -1252,14 +1252,25 @@ define(function (require, exports, module) { var errorCallback = function (error) { if ((error.name === NativeFileError.PATH_EXISTS_ERR) || (error.name === NativeFileError.TYPE_MISMATCH_ERR)) { - Dialogs.showModalDialog( - DefaultDialogs.DIALOG_ID_ERROR, - Strings.INVALID_FILENAME_TITLE, - StringUtils.format( - Strings.FILE_ALREADY_EXISTS, - StringUtils.breakableUrl(data.rslt.name) - ) - ); + if (selectionEntry.isFile) { + Dialogs.showModalDialog( + DefaultDialogs.DIALOG_ID_ERROR, + Strings.INVALID_FILENAME_TITLE, + StringUtils.format( + Strings.FILE_ALREADY_EXISTS, + StringUtils.breakableUrl(data.rslt.name) + ) + ); + } else { + Dialogs.showModalDialog( + DefaultDialogs.DIALOG_ID_ERROR, + Strings.INVALID_DIRECTORYNAME_TITLE, + StringUtils.format( + Strings.DIRECTORY_ALREADY_EXISTS, + StringUtils.breakableUrl(data.rslt.name) + ) + ); + } } else { var errString = error.name === NativeFileError.NO_MODIFICATION_ALLOWED_ERR ? Strings.NO_MODIFICATION_ALLOWED_ERR : From 67312185328e90ab991d88e65241b628d7f2d6f9 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 27 Jun 2013 22:34:06 -0700 Subject: [PATCH 2/8] Implemented code review suggestions --- src/nls/root/strings.js | 7 ++++--- src/project/ProjectManager.js | 29 ++++++++++------------------- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index 79538697bd2..14f2b8b3a47 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -37,6 +37,8 @@ define({ "NO_MODIFICATION_ALLOWED_ERR" : "The target directory cannot be modified.", "NO_MODIFICATION_ALLOWED_ERR_FILE" : "The permissions do not allow you to make modifications.", "FILE_EXISTS_ERR" : "The file or directory already exists.", + "FILE" : "file", + "DIRECTORY" : "directory", // Project error strings "ERROR_LOADING_PROJECT" : "Error loading project", @@ -55,10 +57,9 @@ define({ "ERROR_RENAMING_FILE" : "An error occurred when trying to rename the file {0}. {1}", "ERROR_DELETING_FILE_TITLE" : "Error deleting file", "ERROR_DELETING_FILE" : "An error occurred when trying to delete the file {0}. {1}", - "INVALID_FILENAME_TITLE" : "Invalid file name", - "INVALID_DIRECTORYNAME_TITLE" : "Invalid directory name", + "INVALID_FILENAME_TITLE" : "Invalid {0} name", "INVALID_FILENAME_MESSAGE" : "Filenames cannot contain the following characters: /?*:;{}<>\\| or use any system reserved words.", - "FILE_ALREADY_EXISTS" : "The file {0} already exists.", + "FILE_ALREADY_EXISTS" : "The {0} {1} already exists.", "DIRECTORY_ALREADY_EXISTS" : "The directory {0} already exists.", "ERROR_CREATING_FILE_TITLE" : "Error creating file", "ERROR_CREATING_FILE" : "An error occurred when trying to create the file {0}. {1}", diff --git a/src/project/ProjectManager.js b/src/project/ProjectManager.js index 250c81e9f06..a805c4591b0 100644 --- a/src/project/ProjectManager.js +++ b/src/project/ProjectManager.js @@ -1255,25 +1255,16 @@ define(function (require, exports, module) { var errorCallback = function (error) { if ((error.name === NativeFileError.PATH_EXISTS_ERR) || (error.name === NativeFileError.TYPE_MISMATCH_ERR)) { - if (selectionEntry.isFile) { - Dialogs.showModalDialog( - DefaultDialogs.DIALOG_ID_ERROR, - Strings.INVALID_FILENAME_TITLE, - StringUtils.format( - Strings.FILE_ALREADY_EXISTS, - StringUtils.breakableUrl(data.rslt.name) - ) - ); - } else { - Dialogs.showModalDialog( - DefaultDialogs.DIALOG_ID_ERROR, - Strings.INVALID_DIRECTORYNAME_TITLE, - StringUtils.format( - Strings.DIRECTORY_ALREADY_EXISTS, - StringUtils.breakableUrl(data.rslt.name) - ) - ); - } + Dialogs.showModalDialog( + DefaultDialogs.DIALOG_ID_ERROR, + selectionEntry.isFile ? + StringUtils.format(Strings.INVALID_FILENAME_TITLE, + Strings.FILE) : + StringUtils.format(Strings.INVALID_FILENAME_TITLE, + Strings.DIRECTORY), + StringUtils.format(Strings.FILE_ALREADY_EXISTS, + StringUtils.breakableUrl(data.rslt.name)) + ); } else { var errString = error.name === NativeFileError.NO_MODIFICATION_ALLOWED_ERR ? Strings.NO_MODIFICATION_ALLOWED_ERR : From 29cd68deeeb6286d28c5379f9140079d7c29051d Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 27 Jun 2013 22:59:24 -0700 Subject: [PATCH 3/8] Finished code review fixes --- src/project/ProjectManager.js | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/project/ProjectManager.js b/src/project/ProjectManager.js index a805c4591b0..1809866bec4 100644 --- a/src/project/ProjectManager.js +++ b/src/project/ProjectManager.js @@ -1257,13 +1257,14 @@ define(function (require, exports, module) { (error.name === NativeFileError.TYPE_MISMATCH_ERR)) { Dialogs.showModalDialog( DefaultDialogs.DIALOG_ID_ERROR, - selectionEntry.isFile ? - StringUtils.format(Strings.INVALID_FILENAME_TITLE, - Strings.FILE) : - StringUtils.format(Strings.INVALID_FILENAME_TITLE, - Strings.DIRECTORY), - StringUtils.format(Strings.FILE_ALREADY_EXISTS, - StringUtils.breakableUrl(data.rslt.name)) + !isFolder ? + StringUtils.format(Strings.INVALID_FILENAME_TITLE, Strings.FILE) : + StringUtils.format(Strings.INVALID_FILENAME_TITLE, Strings.DIRECTORY), + !isFolder ? + StringUtils.format(Strings.FILE_ALREADY_EXISTS, Strings.FILE, + StringUtils.breakableUrl(data.rslt.name)) : + StringUtils.format(Strings.FILE_ALREADY_EXISTS, Strings.DIRECTORY, + StringUtils.breakableUrl(data.rslt.name)) ); } else { var errString = error.name === NativeFileError.NO_MODIFICATION_ALLOWED_ERR ? @@ -1272,12 +1273,12 @@ define(function (require, exports, module) { Dialogs.showModalDialog( DefaultDialogs.DIALOG_ID_ERROR, - Strings.ERROR_CREATING_FILE_TITLE, - StringUtils.format( - Strings.ERROR_CREATING_FILE, - StringUtils.breakableUrl(data.rslt.name), - errString - ) + isFolder ? StringUtils.format(Strings.ERROR_CREATING_FILE_TITLE, Strings.DIRECTORY) : + StringUtils.format(Strings.ERROR_CREATING_FILE_TITLE, Strings.FILE), + isFolder ? StringUtils.format(Strings.ERROR_CREATING_FILE, Strings.DIRECTORY, + StringUtils.breakableUrl(data.rslt.name), errString) : + StringUtils.format(Strings.ERROR_CREATING_FILE, Strings.FILE, + StringUtils.breakableUrl(data.rslt.name), errString) ); } From e17c0a7721d8dd9b45b37cd897dd017cddef0854 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 27 Jun 2013 23:00:48 -0700 Subject: [PATCH 4/8] Added variables to strings --- src/nls/root/strings.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index 14f2b8b3a47..5e2c90d8029 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -61,8 +61,8 @@ define({ "INVALID_FILENAME_MESSAGE" : "Filenames cannot contain the following characters: /?*:;{}<>\\| or use any system reserved words.", "FILE_ALREADY_EXISTS" : "The {0} {1} already exists.", "DIRECTORY_ALREADY_EXISTS" : "The directory {0} already exists.", - "ERROR_CREATING_FILE_TITLE" : "Error creating file", - "ERROR_CREATING_FILE" : "An error occurred when trying to create the file {0}. {1}", + "ERROR_CREATING_FILE_TITLE" : "Error creating {0}", + "ERROR_CREATING_FILE" : "An error occurred when trying to create the {0} {1}. {2}", // Application error strings "ERROR_IN_BROWSER_TITLE" : "Oops! {APP_NAME} doesn't run in browsers yet.", From 988e63771ae054bdcb01ddc989d1de8eb28f290f Mon Sep 17 00:00:00 2001 From: Daniel Date: Tue, 9 Jul 2013 16:08:38 -0700 Subject: [PATCH 5/8] Removed Directory_Already_Exists and adopted comments --- src/nls/root/strings.js | 1 - src/project/ProjectManager.js | 21 +++++++-------------- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/src/nls/root/strings.js b/src/nls/root/strings.js index a5f91beaa71..c09cda4fc9e 100644 --- a/src/nls/root/strings.js +++ b/src/nls/root/strings.js @@ -60,7 +60,6 @@ define({ "INVALID_FILENAME_TITLE" : "Invalid {0} name", "INVALID_FILENAME_MESSAGE" : "Filenames cannot contain the following characters: /?*:;{}<>\\| or use any system reserved words.", "FILE_ALREADY_EXISTS" : "The {0} {1} already exists.", - "DIRECTORY_ALREADY_EXISTS" : "The directory {0} already exists.", "ERROR_CREATING_FILE_TITLE" : "Error creating {0}", "ERROR_CREATING_FILE" : "An error occurred when trying to create the {0} {1}. {2}", diff --git a/src/project/ProjectManager.js b/src/project/ProjectManager.js index 9dd5ba66e4b..ceca53fd155 100644 --- a/src/project/ProjectManager.js +++ b/src/project/ProjectManager.js @@ -1227,18 +1227,14 @@ define(function (require, exports, module) { }; var errorCallback = function (error) { + var errorString = isFolder ? Strings.DIRECTORY : Strings.FILE; if ((error.name === NativeFileError.PATH_EXISTS_ERR) || (error.name === NativeFileError.TYPE_MISMATCH_ERR)) { Dialogs.showModalDialog( DefaultDialogs.DIALOG_ID_ERROR, - !isFolder ? - StringUtils.format(Strings.INVALID_FILENAME_TITLE, Strings.FILE) : - StringUtils.format(Strings.INVALID_FILENAME_TITLE, Strings.DIRECTORY), - !isFolder ? - StringUtils.format(Strings.FILE_ALREADY_EXISTS, Strings.FILE, - StringUtils.breakableUrl(data.rslt.name)) : - StringUtils.format(Strings.FILE_ALREADY_EXISTS, Strings.DIRECTORY, - StringUtils.breakableUrl(data.rslt.name)) + StringUtils.format(Strings.FILE_ALREADY_EXISTS_TILE, errorString), + StringUtils.format(Strings.FILE_ALREADY_EXISTS, errorString, + StringUtils.breakableUrl(data.rst.name)) ); } else { var errString = error.name === NativeFileError.NO_MODIFICATION_ALLOWED_ERR ? @@ -1247,12 +1243,9 @@ define(function (require, exports, module) { Dialogs.showModalDialog( DefaultDialogs.DIALOG_ID_ERROR, - isFolder ? StringUtils.format(Strings.ERROR_CREATING_FILE_TITLE, Strings.DIRECTORY) : - StringUtils.format(Strings.ERROR_CREATING_FILE_TITLE, Strings.FILE), - isFolder ? StringUtils.format(Strings.ERROR_CREATING_FILE, Strings.DIRECTORY, - StringUtils.breakableUrl(data.rslt.name), errString) : - StringUtils.format(Strings.ERROR_CREATING_FILE, Strings.FILE, - StringUtils.breakableUrl(data.rslt.name), errString) + StringUtils.format(Strings.ERROR_CREATING_FILE_TITLE, errorString), + StringUtils.format(Strings.ERROR_CREATING_FILE, errorString, + Strings.breakableUrl(data.rslt.name), errString) ); } From 0f26ebaf25dd0919dc79ff0d29f4fc0690f5bffb Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 10 Jul 2013 16:33:09 -0700 Subject: [PATCH 6/8] Implemented more comments --- src/project/ProjectManager.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/project/ProjectManager.js b/src/project/ProjectManager.js index ceca53fd155..3fdbce3981e 100644 --- a/src/project/ProjectManager.js +++ b/src/project/ProjectManager.js @@ -1227,13 +1227,13 @@ define(function (require, exports, module) { }; var errorCallback = function (error) { - var errorString = isFolder ? Strings.DIRECTORY : Strings.FILE; + var entryType = isFolder ? Strings.DIRECTORY : Strings.FILE; if ((error.name === NativeFileError.PATH_EXISTS_ERR) || (error.name === NativeFileError.TYPE_MISMATCH_ERR)) { Dialogs.showModalDialog( DefaultDialogs.DIALOG_ID_ERROR, - StringUtils.format(Strings.FILE_ALREADY_EXISTS_TILE, errorString), - StringUtils.format(Strings.FILE_ALREADY_EXISTS, errorString, + StringUtils.format(Strings.INVALID_FILENAME_TITLE, entryType), + StringUtils.format(Strings.FILE_ALREADY_EXISTS, entryType, StringUtils.breakableUrl(data.rst.name)) ); } else { @@ -1243,8 +1243,8 @@ define(function (require, exports, module) { Dialogs.showModalDialog( DefaultDialogs.DIALOG_ID_ERROR, - StringUtils.format(Strings.ERROR_CREATING_FILE_TITLE, errorString), - StringUtils.format(Strings.ERROR_CREATING_FILE, errorString, + StringUtils.format(Strings.ERROR_CREATING_FILE_TITLE, entryType), + StringUtils.format(Strings.ERROR_CREATING_FILE, entryType, Strings.breakableUrl(data.rslt.name), errString) ); } From b87a9284ad73e25e2e5f977ccd55b8acd6d536a7 Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 10 Jul 2013 18:00:37 -0700 Subject: [PATCH 7/8] Fixed typo that broke error_cleanup --- src/project/ProjectManager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/project/ProjectManager.js b/src/project/ProjectManager.js index 3fdbce3981e..dd8102d13a8 100644 --- a/src/project/ProjectManager.js +++ b/src/project/ProjectManager.js @@ -1234,7 +1234,7 @@ define(function (require, exports, module) { DefaultDialogs.DIALOG_ID_ERROR, StringUtils.format(Strings.INVALID_FILENAME_TITLE, entryType), StringUtils.format(Strings.FILE_ALREADY_EXISTS, entryType, - StringUtils.breakableUrl(data.rst.name)) + StringUtils.breakableUrl(data.rslt.name)) ); } else { var errString = error.name === NativeFileError.NO_MODIFICATION_ALLOWED_ERR ? From ca269fadc13253df7acc87291db4f2388184ec6c Mon Sep 17 00:00:00 2001 From: Daniel Seymour Date: Thu, 11 Jul 2013 00:20:10 -0700 Subject: [PATCH 8/8] Implemented final comments (I hope) --- src/project/ProjectManager.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/project/ProjectManager.js b/src/project/ProjectManager.js index dd8102d13a8..873447831b6 100644 --- a/src/project/ProjectManager.js +++ b/src/project/ProjectManager.js @@ -1227,15 +1227,22 @@ define(function (require, exports, module) { }; var errorCallback = function (error) { - var entryType = isFolder ? Strings.DIRECTORY : Strings.FILE; - if ((error.name === NativeFileError.PATH_EXISTS_ERR) || - (error.name === NativeFileError.TYPE_MISMATCH_ERR)) { + var entryType = isFolder ? Strings.DIRECTORY : Strings.FILE, + oppositeEntryType = isFolder ? Strings.FILE : Strings.DIRECTORY; + if (error.name === NativeFileError.PATH_EXISTS_ERR) { Dialogs.showModalDialog( DefaultDialogs.DIALOG_ID_ERROR, StringUtils.format(Strings.INVALID_FILENAME_TITLE, entryType), StringUtils.format(Strings.FILE_ALREADY_EXISTS, entryType, StringUtils.breakableUrl(data.rslt.name)) ); + } else if (error.name === NativeFileError.TYPE_MISMATCH_ERR) { + Dialogs.showModalDialog( + DefaultDialogs.DIALOG_ID_ERROR, + StringUtils.format(Strings.INVALID_FILENAME_TITLE, entryType), + StringUtils.format(Strings.FILE_ALREADY_EXISTS, oppositeEntryType, + StringUtils.breakableUrl(data.rslt.name)) + ); } else { var errString = error.name === NativeFileError.NO_MODIFICATION_ALLOWED_ERR ? Strings.NO_MODIFICATION_ALLOWED_ERR : @@ -1244,7 +1251,7 @@ define(function (require, exports, module) { Dialogs.showModalDialog( DefaultDialogs.DIALOG_ID_ERROR, StringUtils.format(Strings.ERROR_CREATING_FILE_TITLE, entryType), - StringUtils.format(Strings.ERROR_CREATING_FILE, entryType, + StringUtils.format(Strings.ERROR_CREATING_FILE, entryType, Strings.breakableUrl(data.rslt.name), errString) ); }