From bd0bedf29ac16b967ed091913afa7b554966eeab Mon Sep 17 00:00:00 2001 From: "Piotr Kosko/Native/Web API (PLT) /SRPOL/Engineer/Samsung Electronics" Date: Tue, 7 Jul 2020 12:50:31 +0200 Subject: [PATCH] [Metadata] Changed path property to uri * removed not used variables in js file * path renamed with uri * some helper functions moved from instance.cc to metadata_file_handle.cc [Verification] Checked in chrome console Change-Id: I560cd2b4c2c176b5386c53dd94d50b20a274732b --- src/metadata/metadata_api.js | 8 ++---- src/metadata/metadata_file_handle.cc | 42 +++++++++++++++++++++++----- src/metadata/metadata_file_handle.h | 4 +-- src/metadata/metadata_instance.cc | 36 +++--------------------- 4 files changed, 44 insertions(+), 46 deletions(-) diff --git a/src/metadata/metadata_api.js b/src/metadata/metadata_api.js index d89b5ad8..fc3897b3 100755 --- a/src/metadata/metadata_api.js +++ b/src/metadata/metadata_api.js @@ -16,9 +16,7 @@ var privUtils_ = xwalk.utils; var validator_ = privUtils_.validator; -var converter_ = privUtils_.converter; var types_ = validator_.Types; -var T_ = privUtils_.type; var native_ = new xwalk.utils.NativeManager(extension); var MetadataType = { @@ -65,7 +63,7 @@ MetadataManager.prototype.createFileHandle = function() { var args = validator_.validateArgs(arguments, [ { name: 'path', - type: validator_.Types.STRING, + type: types_.STRING, optional: false, nullable: false } @@ -88,7 +86,7 @@ MetadataManager.prototype.createFileHandle = function() { function MetadataFileHandle(data) { Object.defineProperties(this, { _id: { value: data.id, writable: false, enumerable: false }, - path: { value: data.path, writable: false, enumerable: true } + uri: { value: data.uri, writable: false, enumerable: true } }); } @@ -101,7 +99,7 @@ MetadataFileHandle.prototype.get = function() { } ]); var data = { - path: this.path, + uri: this.uri, id: this._id, type: args.type }; diff --git a/src/metadata/metadata_file_handle.cc b/src/metadata/metadata_file_handle.cc index 920a9abc..5f9dba99 100644 --- a/src/metadata/metadata_file_handle.cc +++ b/src/metadata/metadata_file_handle.cc @@ -78,13 +78,39 @@ PlatformResult convertErrorCode(int err) { } } +std::string ltrim(const std::string& s) { + ScopeLogger(); + std::string str = s; + std::string::iterator i; + for (i = str.begin(); i != str.end(); ++i) { + if (!isspace(*i)) { + break; + } + } + str.erase(str.begin(), i); + return str; +} + +std::string convertUriToPath(const std::string& str) { + const std::string URI_PREFIX = "file://"; + ScopeLogger(); + std::string path = ltrim(str); + std::string prefix = path.substr(0, URI_PREFIX.size()); + + if (prefix == URI_PREFIX) { + return path.substr(URI_PREFIX.size()); + } else { + return path; + } +} + MetadataFileHandle::MetadataFileHandle(int id) : handle_(nullptr), id_(id) { ScopeLogger(); } -// 'this' owns a handle_, and path_ and invalidates 'o' +// 'this' owns a handle_, and uri_ and invalidates 'o' MetadataFileHandle::MetadataFileHandle(MetadataFileHandle&& o) - : handle_(nullptr), id_(o.id_), path_(std::move(o.path_)) { + : handle_(nullptr), id_(o.id_), uri_(std::move(o.uri_)) { ScopeLogger(); handle_ = o.handle_; o.handle_ = nullptr; @@ -92,11 +118,11 @@ MetadataFileHandle::MetadataFileHandle(MetadataFileHandle&& o) MetadataFileHandle& MetadataFileHandle::operator=(MetadataFileHandle&& o) { ScopeLogger(); - // 'this' owns a handle_, and path_ and invalidates 'o' + // 'this' owns a handle_, and uri_ and invalidates 'o' handle_ = o.handle_; o.handle_ = nullptr; id_ = o.id_; - path_ = std::move(o.path_); + uri_ = std::move(o.uri_); return *this; } @@ -111,8 +137,10 @@ MetadataFileHandle::~MetadataFileHandle() { } } -PlatformResult MetadataFileHandle::Initialize(const std::string& path) { +PlatformResult MetadataFileHandle::Initialize(const std::string& uri) { ScopeLogger(); + auto path = convertUriToPath(uri); + int result = metadata_extractor_create(&handle_); if (METADATA_EXTRACTOR_ERROR_NONE != result) { LoggerE("Error during creation of metadata extractor handle, object is not valid: %d", result); @@ -124,7 +152,7 @@ PlatformResult MetadataFileHandle::Initialize(const std::string& path) { LoggerE("Error during path set, object is not valid: %d", result); return convertErrorCode(result); } - this->path_ = path; + this->uri_ = uri; return PlatformResult(ErrorCode::NO_ERROR); } @@ -133,7 +161,7 @@ picojson::value MetadataFileHandle::ToJSON() { picojson::value result = picojson::value(picojson::object()); picojson::object& result_obj = result.get(); result_obj.insert(std::make_pair("id", picojson::value((double)id_))); - result_obj.insert(std::make_pair("path", picojson::value(path_))); + result_obj.insert(std::make_pair("uri", picojson::value(uri_))); return result; } diff --git a/src/metadata/metadata_file_handle.h b/src/metadata/metadata_file_handle.h index da5bb4f5..bb16e181 100644 --- a/src/metadata/metadata_file_handle.h +++ b/src/metadata/metadata_file_handle.h @@ -35,13 +35,13 @@ class MetadataFileHandle { picojson::value ToJSON(); - common::PlatformResult Initialize(const std::string& path); + common::PlatformResult Initialize(const std::string& uri); common::PlatformResult Get(const std::string& type, std::string* result); private: metadata_extractor_h handle_; int id_; - std::string path_; + std::string uri_; }; } // namespace metadata diff --git a/src/metadata/metadata_instance.cc b/src/metadata/metadata_instance.cc index 25643bac..5a90e2e0 100644 --- a/src/metadata/metadata_instance.cc +++ b/src/metadata/metadata_instance.cc @@ -25,33 +25,6 @@ namespace metadata { using namespace common; -const std::string URI_PREFIX = "file://"; - -std::string ltrim(const std::string& s) { - ScopeLogger(); - std::string str = s; - std::string::iterator i; - for (i = str.begin(); i != str.end(); ++i) { - if (!isspace(*i)) { - break; - } - } - str.erase(str.begin(), i); - return str; -} - -std::string convertUriToPath(const std::string& str) { - ScopeLogger(); - std::string path = ltrim(str); - std::string prefix = path.substr(0, URI_PREFIX.size()); - - if (prefix == URI_PREFIX) { - return path.substr(URI_PREFIX.size()); - } else { - return path; - } -} - MetadataInstance::MetadataInstance() : next_handle_id_(1) { ScopeLogger(); using std::placeholders::_1; @@ -73,10 +46,9 @@ void MetadataInstance::MetadataManagerCreateFileHandle(const picojson::value& ar picojson::object& out) { ScopeLogger(); const std::string& uri = args.get("uri").get(); - auto path = convertUriToPath(uri); auto m = MetadataFileHandle{next_handle_id_}; - auto res = m.Initialize(path); + auto res = m.Initialize(uri); if (!res) { LogAndReportError(res, &out); return; @@ -88,11 +60,11 @@ void MetadataInstance::MetadataManagerCreateFileHandle(const picojson::value& ar void MetadataInstance::MetadataFileHandleGet(const picojson::value& args, picojson::object& out) { ScopeLogger(); - const std::string& path = args.get("path").get(); + const std::string& uri = args.get("uri").get(); const int id = static_cast(args.get("id").get()); const std::string& type = args.get("type").get(); - LoggerD("File: %s getting metadata type: %s", path.c_str(), type.c_str()); + LoggerD("File: %s getting metadata type: %s", uri.c_str(), type.c_str()); std::string value; @@ -101,7 +73,7 @@ void MetadataInstance::MetadataFileHandleGet(const picojson::value& args, picojs LoggerD("Handle does not exist in map, creating new one"); // re- create handle auto m = MetadataFileHandle{id}; - auto res = m.Initialize(path); + auto res = m.Initialize(uri); if (!res) { // if everything works fine with a file, handle should be created successfully, as this is a // re-creation. In case of errors, just return an AbortError -- 2.34.1