[Common] Moved convertUriToPath to common::tools 00/251900/3
authorPiotr Kosko/Native/Web API (PLT) /SRPOL/Engineer/Samsung Electronics <p.kosko@samsung.com>
Wed, 20 Jan 2021 13:29:50 +0000 (14:29 +0100)
committerPiotr Kosko/Native/Web API (PLT) /SRPOL/Engineer/Samsung Electronics <p.kosko@samsung.com>
Wed, 20 Jan 2021 15:12:45 +0000 (16:12 +0100)
convertingUriToPath is used in few modules and usage of one version
of this function will be beneficial.

[Verification] TCT exif, package, metadata 100% pass.

Change-Id: Ifbca0fa3a83de0757faa30b214e4b298c4678789

src/common/tools.cc
src/common/tools.h
src/exif/exif_instance.cc
src/exif/exif_util.cc
src/exif/exif_util.h
src/exif/get_exif_info.cc
src/metadata/metadata_file_handle.cc
src/metadata/metadata_instance.cc
src/package/package_instance.cc

index 6e79ee6e3c84a2f49b23b87676ab93280948b20d..2d871227fc5c36b2078fcf5b2c248251398891b6 100644 (file)
@@ -596,5 +596,26 @@ std::string ConvertToLowerCase(const std::string& input_string) {
   return output_string;
 }
 
+std::string ltrim(const std::string& s) {
+  ScopeLogger();
+  std::string str = s;
+  auto pos = str.find_first_not_of(" ");
+  str.erase(0, pos);
+  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;
+  }
+}
+
 }  // namespace tools
 }  // namespace common
index 17e1e98e1b234937d01ab040639ad4b6117fb5ca..84df7276ef3921209debc626b00182c64285a805 100644 (file)
@@ -121,6 +121,8 @@ void PrintDeprecationWarningFor(const char* className, const char* replacement =
 
 std::string ConvertToLowerCase(const std::string& input_string);
 
+std::string ConvertUriToPath(const std::string& uri);
+
 }  // namespace tools
 }  // namespace common
 
index b0cf17cd3680745e5c284476f3102d3616c37112..6bae127c31f18390d4eb95312e84095e8f78de03 100644 (file)
@@ -63,7 +63,7 @@ void ExifInstance::ExifManagerGetExifInfo(const picojson::value& args, picojson:
   ScopeLogger();
 
   const std::string& uri = args.get("uri").get<std::string>();
-  const std::string& file_path = ExifUtil::convertUriToPath(uri);
+  const std::string& file_path = common::tools::ConvertUriToPath(uri);
 
   const double callback_id = args.get("callbackId").get<double>();
   const std::string& real_path = common::FilesystemProvider::Create().GetRealPath(file_path);
@@ -108,7 +108,7 @@ void ExifInstance::ExifManagerSaveExifInfo(const picojson::value& args, picojson
   const double callback_id = args.get("callbackId").get<double>();
 
   const std::string& file_uri = args.get("uri").get<std::string>();
-  const std::string& file_path = ExifUtil::convertUriToPath(file_uri);
+  const std::string& file_path = common::tools::ConvertUriToPath(file_uri);
   const std::string& real_path = common::FilesystemProvider::Create().GetRealPath(file_path);
 
   CHECK_STORAGE_ACCESS(real_path, &out);
@@ -143,7 +143,7 @@ void ExifInstance::ExifManagerGetThumbnail(const picojson::value& args, picojson
   ScopeLogger();
   const std::string& uri = args.get("uri").get<std::string>();
 
-  const std::string& file_path = ExifUtil::ExifUtil::convertUriToPath(uri);
+  const std::string& file_path = common::tools::ConvertUriToPath(uri);
   const std::string& real_path = common::FilesystemProvider::Create().GetRealPath(file_path);
 
   CHECK_STORAGE_ACCESS(real_path, &out);
index ebf2c0a4153d01b03cd3bce80314bab467992fcc..2737c1fd7935385952e09fe59c1baf8b6b932ac5 100644 (file)
@@ -49,8 +49,6 @@ const std::string EXPOSURE_PROGRAM_PORTRAIT_MODE = "PORTRAIT_MODE";
 const std::string EXPOSURE_PROGRAM_LANDSCAPE_MODE = "LANDSCAPE_MODE";
 
 const std::string DUMMY = "";  // For unexpected input handling
-
-const std::string URI_PREFIX = "file://";
 }  // namespace
 
 const std::size_t ExifTypeInfo::ByteSize = 1;
@@ -213,39 +211,6 @@ const std::string& ExifUtil::exposureProgramToString(ExposureProgram value) {
   }
 }
 
-// Example:
-// in: uri = file://TZ_USER_IMAGES/exif.jpg
-// out: path = TZ_USER_IMAGES/exif.jpg
-std::string ExifUtil::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;
-  }
-}
-
-std::string ExifUtil::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;
-    }
-  }
-
-  if (i == str.end()) {
-    str.clear();
-  } else {
-    str.erase(str.begin(), i);
-  }
-  return str;
-}
-
 time_t ExifUtil::exifDateTimeOriginalToTimeT(const char* string) {
   ScopeLogger();
   int year, month, day, hour, min, sec;
index 1dab85ac91beb8a1b098f03f4b405db95c10061c..e816f29e2470d76c2c5c6ee61cab503b1c93afec 100644 (file)
@@ -114,9 +114,6 @@ class ExifUtil {
   static ExposureProgram stringToExposureProgram(const std::string& exposure_program);
   static const std::string& exposureProgramToString(ExposureProgram value);
 
-  static std::string convertUriToPath(const std::string& str);
-  static std::string ltrim(const std::string& s);
-
   static time_t exifDateTimeOriginalToTimeT(const char* string);
   static std::string timeTToExifDateTimeOriginal(time_t time);
   static const Rationals timeTToExifGpsTimeStamp(time_t time);
index 4cd21c48ae0b69e6e5f1c6d4b8284a08d7c2330c..34e1cf812fc6cc58e244a8230de5322526386e1c 100644 (file)
@@ -23,6 +23,7 @@
 
 #include "common/logger.h"
 #include "common/platform_result.h"
+#include "common/tools.h"
 
 #include "exif/exif_util.h"
 
@@ -468,7 +469,7 @@ void GetExifInfo::DataForeachFunction(ExifContent* content, void* user_data) {
 
 PlatformResult GetExifInfo::LoadFromURI(const std::string& uri, JsonValue* result) {
   ScopeLogger();
-  const std::string& file_path = ExifUtil::convertUriToPath(uri);
+  const std::string& file_path = common::tools::ConvertUriToPath(uri);
   ExifData* ed = exif_data_new_from_file(file_path.c_str());
   if (!ed) {
     return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Error reading exif from file",
index 2dfe00209320b673e2060f66e2aeb3e8b5747edc..71a01edb625d37634d793c2d43663d5e16c9d275 100644 (file)
@@ -22,6 +22,7 @@
 #include "common/platform_enum.h"
 #include "common/platform_exception.h"
 #include "common/scope_exit.h"
+#include "common/tools.h"
 
 namespace extension {
 namespace metadata {
@@ -81,33 +82,8 @@ 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), width_(0), height_(0), lyrics_num_(0) {
+MetadataFileHandle::MetadataFileHandle(int id)
+    : handle_(nullptr), id_(id), width_(0), height_(0), lyrics_num_(0) {
   ScopeLogger();
 }
 
@@ -145,7 +121,7 @@ MetadataFileHandle::~MetadataFileHandle() {
 
 PlatformResult MetadataFileHandle::Initialize(const std::string& uri) {
   ScopeLogger();
-  auto path = convertUriToPath(uri);
+  auto path = common::tools::ConvertUriToPath(uri);
 
   int result = metadata_extractor_create(&handle_);
   if (METADATA_EXTRACTOR_ERROR_NONE != result) {
index 36d6fdfb658a36390fa8119873a4e0f2fae4fcd9..e06dca570bfe2aead9021943e292cca5ca38c6dd 100644 (file)
@@ -155,7 +155,7 @@ void MetadataInstance::MetadataFileHandleGetArtwork(const picojson::value& args,
 }
 
 void MetadataInstance::MetadataFileHandleGetThumbnailFrame(const picojson::value& args,
-                                                  picojson::object& out) {
+                                                           picojson::object& out) {
   ScopeLogger();
   const std::string& uri = args.get("uri").get<std::string>();
   const int id = static_cast<int>(args.get("id").get<double>());
index c1779c6a4c2fdd0890accd5e55182814a4f7944d..0613621aa0f908583c9f8c5594c8877938648b35 100644 (file)
@@ -184,39 +184,6 @@ static void PackageListenerCb(const char* type, const char* package,
   }
 }
 
-static 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;
-    }
-  }
-  if (i == str.end()) {
-    str.clear();
-  } else {
-    str.erase(str.begin(), i);
-  }
-  return str;
-}
-
-static std::string convertUriToPath(const std::string& uri) {
-  ScopeLogger();
-  std::string result;
-  std::string schema("file://");
-  std::string str = ltrim(uri);
-
-  std::string _schema = str.substr(0, schema.size());
-  if (_schema == schema) {
-    result = str.substr(schema.size());
-  } else {
-    result = str;
-  }
-
-  return result;
-}
-
 PackageInstance::PackageInstance() {
   ScopeLogger();
 
@@ -303,7 +270,7 @@ void PackageInstance::PackageManagerInstall(const picojson::value& args, picojso
 
   int callback_id = static_cast<int>(args.get("callbackId").get<double>());
   const std::string& packageFileURI =
-      convertUriToPath(args.get("packageFileURI").get<std::string>());
+      common::tools::ConvertUriToPath(args.get("packageFileURI").get<std::string>());
   int progress_callback_id = static_cast<int>(args.get("progressCallbackId").get<double>());
 
   const std::string real_path = common::FilesystemProvider::Create().GetRealPath(packageFileURI);