[Verification] Code compiles, pass rate: 113/140.
Change-Id: Iad793b9050e658b0d3bfc2ddeb404e9678628f0b
Signed-off-by: Pawel Andruszkiewicz <p.andruszkie@samsung.com>
);
} catch (err) {
console.error('Error - Could not resolve');
- errorCallback && errorCallback(
- ConvErrorCode(exception.code || WebAPIException.UNKNOWN_ERR));
+ errorCallback && errorCallback(ConvertTizenFileError(err));
}
} else {
console.error('Error - create flag is false - new directory would not be created');
tizen.filesystem.resolve(absolute_path, resolveSuccess, resolveError, 'rw');
} catch (err) {
console.error('Error - Could not resolve');
- errorCallback && errorCallback(
- ConvErrorCode(exception.code || WebAPIException.UNKNOWN_ERR));
+ errorCallback && errorCallback(ConvertTizenFileError(err));
}
};
},
removeRecursively: function(successCallback, errorCallback, args) {
var uri = args[0];
+
+ if (rootsUtils.isRootUri(uri)) {
+ console.error('It is not allowed to remove root directory.');
+ errorCallback && errorCallback(FileError.NO_MODIFICATION_ALLOWED_ERR);
+ return;
+ }
+
// resolve parent
var tmp_path = uri[uri.length-1] === '/' ? uri.substring(0, uri.lastIndexOf('/')) : uri;
var parent_path = tmp_path.substring(0, tmp_path.lastIndexOf('/')+1);
}
} catch (err) {
console.error('Error - Could not deleteDirectory');
- errorCallback && errorCallback(
- ConvErrorCode(exception.code || WebAPIException.UNKNOWN_ERR));
+ errorCallback && errorCallback(ConvertTizenFileError(err));
}
}, function(e) {
- console.error('Error' + e.message);
- errorCallback && errorCallback(FileError.NOT_FOUND_ERR);
+ console.error('Error: ' + e.message);
+ errorCallback && errorCallback(ConvertTizenFileError(e));
}, 'rw'
);
} catch (err) {
console.error('Error - Could not resolve');
- errorCallback && errorCallback(
- ConvErrorCode(exception.code || WebAPIException.UNKNOWN_ERR));
+ errorCallback && errorCallback(ConvertTizenFileError(err));
}
},
getFile: function(successCallback, errorCallback, args) {
readEntries: function(successCallback, errorCallback, args) {
var uri = args[0];
var fail = function(e) {
- errorCallback && errorCallback(ConvErrorCode(e.code));
+ errorCallback && errorCallback(ConvertTizenFileError(e));
}
try {
tizen.filesystem.resolve(uri,
var parentDir = srcFile.parent;
if (!parentDir) {
console.error('Error - could not resolve file ' + srcURL);
- errorCallback && errorCallback(ConvErrorCode(WebAPIException.UNKNOWN_ERR));
+ errorCallback && errorCallback(FileError.ENCODING_ERR);
} else {
rest(srcFile, parentDir);
}
}, function (err) {
console.error('Error - resolve file ' + srcURL + ' failed');
- errorCallback && errorCallback(
- ConvErrorCode(err.code || WebAPIException.UNKNOWN_ERR));
+ errorCallback && errorCallback(ConvertTizenFileError(err));
},
'r');
} catch (exception) {
console.error('Error - resolve ' + srcURL + ' file thrown exception');
- errorCallback && errorCallback(ConvErrorCode(
- exception.code || WebAPIException.UNKNOWN_ERR));
+ errorCallback && errorCallback(ConvertTizenFileError(exception));
}
};
successCallback && successCallback(destEntry);
}, function (err) {
console.error('Error - resolve result entry failed');
- errorCallback && errorCallback(ConvErrorCode(err.code));
+ errorCallback && errorCallback(ConvertTizenFileError(err));
}
);
} catch (exception) {
console.error('Error - resolve result entry thrown exception');
- errorCallback && errorCallback(ConvErrorCode(
- exception.code || WebAPIException.UNKNOWN_ERR));
+ errorCallback && errorCallback(ConvertTizenFileError(exception));
}
}, function (err) {
console.error('Error - ' + method + ' operation failed');
- errorCallback && errorCallback(ConvErrorCode(err.code));
+ errorCallback && errorCallback(ConvertTizenFileError(err));
}
);
} catch (exception) {
console.error('Error - ' + method + ' operation thrown exception');
- errorCallback && errorCallback(ConvErrorCode(
- exception.code || WebAPIException.UNKNOWN_ERR));
+ errorCallback && errorCallback(ConvertTizenFileError(exception));
}
}
);
var result = { 'size': file.fileSize, 'lastModifiedDate': file.modified };
successCallback && successCallback(result);
}, function (err) {
- errorCallback && errorCallback(ConvErrorCode(
- err.code || WebAPIException.UNKNOWN_ERR));
+ errorCallback && errorCallback(ConvertTizenFileError(err));
}, 'r');
} catch (exception) {
console.error('Error - resolve failed');
- errorCallback && errorCallback(ConvErrorCode(
- exception.code || WebAPIException.UNKNOWN_ERR));
+ errorCallback && errorCallback(ConvertTizenFileError(exception));
}
},
setMetadata: function(successCallback, errorCallback, args) {
console.error('setMetadata - Not supported');
- errorCallback && errorCallback(ConvErrorCode(WebAPIException.UNKNOWN_ERR));
+ errorCallback && errorCallback(FileError.ENCODING_ERR);
},
moveTo: function(successCallback, errorCallback, args) {
changeFile('moveTo', successCallback, errorCallback, args);
remove: function(successCallback, errorCallback, args) {
var url = args[0];
+ if (rootsUtils.isRootUri(url)) {
+ console.error('It is not allowed to remove root directory.');
+ errorCallback && errorCallback(FileError.NO_MODIFICATION_ALLOWED_ERR);
+ return;
+ }
+
resolveParent(url, errorCallback,
function(srcFile, parentDir){
var method = srcFile.isFile ? 'deleteFile' : 'deleteDirectory';
function() {successCallback && successCallback();},
function(err) {
console.error('Error - ' + method + ' failed');
- errorCallback && errorCallback(
- ConvErrorCode(err.code || WebAPIException.UNKNOWN_ERR));
+ errorCallback && errorCallback(ConvertTizenFileError(err));
}];
if (srcFile.isFile) {
//remove recursive flag
parentDir[method].apply(parentDir, args);
} catch (exception) {
console.error('Error - ' + method + ' thrown exception ' + JSON.stringify(exception));
- errorCallback && errorCallback(ConvErrorCode(
- exception.code || WebAPIException.UNKNOWN_ERR));
+ errorCallback && errorCallback(ConvertTizenFileError(exception));
}
}
);
*/
/**
- * Function converting a tizen error to a cordova error
+ * Function converting a Tizen error to a cordova error
*
- * {unsigned short} WebAPIError error code
+ * {unsigned short} WebAPIError error
*/
-function ConvErrorCode(err_code) {
- switch (err_code) {
- case WebAPIException.INVALID_VALUES_ERR:
+function ConvertTizenFileError(err) {
+ switch (err.name) {
+ case 'InvalidValuesError':
return FileError.ENCODING_ERR;
- case WebAPIException.NOT_FOUND_ERR:
+ case 'NotFoundError':
return FileError.NOT_FOUND_ERR;
+ case 'IOError':
+ return FileError.INVALID_MODIFICATION_ERR;
+
default:
return FileError.ENCODING_ERR;
}
function read(operation, url, start, end, successCallback, errorCallback, encoding) {
var fail = function(e) {
- errorCallback && errorCallback(ConvErrorCode(e.code));
+ errorCallback && errorCallback(ConvertTizenFileError(e));
}
try {
tizen.filesystem.resolve(url, function(file) {
stream.close();
successCallback && successCallback(length);
} catch (error) {
- errorCallback && errorCallback(ConvErrorCode(error.code));
+ errorCallback && errorCallback(ConvertTizenFileError(error));
}
}
var openStreamError = function (error) {
- errorCallback && errorCallback(ConvErrorCode(error.code));
+ errorCallback && errorCallback(ConvertTizenFileError(error));
}
try {
file.openStream('rw', openStreamSuccess, openStreamError);
} catch (error) {
- errorCallback && errorCallback(ConvErrorCode(error.code));
+ errorCallback && errorCallback(ConvertTizenFileError(error));
}
}
var onError = function (error) {
- errorCallback && errorCallback(ConvErrorCode(error.code));
+ errorCallback && errorCallback(ConvertTizenFileError(error));
}
try {
tizen.filesystem.resolve(uri, onSuccess, onError, 'rw');
} catch (error) {
- errorCallback && errorCallback(ConvErrorCode(error.code));
+ errorCallback && errorCallback(ConvertTizenFileError(error));
}
},
var result = native_.callSync('File_truncate', callArgs);
if (native_.isFailure(result)) {
- errorCallback && errorCallback(ConvErrorCode(native_.getErrorObject(result).code));
+ errorCallback && errorCallback(ConvertTizenFileError(native_.getErrorObject(result)));
} else {
successCallback && successCallback(length);
}
}
function onError(error) {
- errorCallback && errorCallback(ConvErrorCode(error.code));
+ errorCallback && errorCallback(ConvertTizenFileError(error));
}
tizen.filesystem.resolve(path, onResolve, onError, 'r');
return roots[0]; // root filesystem
}
+ function isRootUri(uri) {
+ var fs = findFilesystem(uri);
+ return (fs.fullPath === getFullPath(uri));
+ }
+
return {
getRoots: getRoots,
findFilesystem: findFilesystem,
getFullPath: getFullPath,
getNativeUrl: getNativeUrl,
stripTrailingSlash: stripTrailingSlash,
- createEntry: createEntry
+ createEntry: createEntry,
+ isRootUri: isRootUri
};
})();