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