This is an automated email from the ASF dual-hosted git repository. qianzhang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mesos.git
commit b4531d868ffaad9da4b5d96970fbb8441952f620 Author: Qian Zhang <[email protected]> AuthorDate: Wed Apr 10 14:14:23 2019 +0800 Added an parameter `outputFileName` to the fetcher plugin interface. Review: https://reviews.apache.org/r/70444 --- include/mesos/uri/fetcher.hpp | 4 +++- src/uri/fetcher.cpp | 8 ++++++-- src/uri/fetchers/copy.cpp | 3 ++- src/uri/fetchers/copy.hpp | 3 ++- src/uri/fetchers/curl.cpp | 3 ++- src/uri/fetchers/curl.hpp | 3 ++- src/uri/fetchers/docker.cpp | 3 ++- src/uri/fetchers/docker.hpp | 3 ++- src/uri/fetchers/hadoop.cpp | 3 ++- src/uri/fetchers/hadoop.hpp | 3 ++- 10 files changed, 25 insertions(+), 11 deletions(-) diff --git a/include/mesos/uri/fetcher.hpp b/include/mesos/uri/fetcher.hpp index 645995a..122cee4 100644 --- a/include/mesos/uri/fetcher.hpp +++ b/include/mesos/uri/fetcher.hpp @@ -72,13 +72,15 @@ public: * @param uri the URI to fetch * @param directory the directory the URI will be downloaded to * @param data the optional user defined data + * @param outputFileName the optional output file name */ // TODO(gilbert): Change the parameter 'data' as a hashmap // of <string, Secret::Value>, and update the comment. virtual process::Future<Nothing> fetch( const URI& uri, const std::string& directory, - const Option<std::string>& data = None()) const = 0; + const Option<std::string>& data = None(), + const Option<std::string>& outputFileName = None()) const = 0; }; /** diff --git a/src/uri/fetcher.cpp b/src/uri/fetcher.cpp index 62a33c4..8db43eb 100644 --- a/src/uri/fetcher.cpp +++ b/src/uri/fetcher.cpp @@ -110,7 +110,11 @@ Future<Nothing> Fetcher::fetch( return Failure("Scheme '" + uri.scheme() + "' is not supported"); } - return pluginsByScheme.at(uri.scheme())->fetch(uri, directory, data); + return pluginsByScheme.at(uri.scheme())->fetch( + uri, + directory, + data, + outputFileName); } @@ -125,7 +129,7 @@ Future<Nothing> Fetcher::fetch( return Failure("Plugin '" + name + "' is not registered."); } - return pluginsByName.at(name)->fetch(uri, directory, data); + return pluginsByName.at(name)->fetch(uri, directory, data, outputFileName); } } // namespace uri { diff --git a/src/uri/fetchers/copy.cpp b/src/uri/fetchers/copy.cpp index 4f482cc..713099e 100644 --- a/src/uri/fetchers/copy.cpp +++ b/src/uri/fetchers/copy.cpp @@ -77,7 +77,8 @@ string CopyFetcherPlugin::name() const Future<Nothing> CopyFetcherPlugin::fetch( const URI& uri, const string& directory, - const Option<string>& data) const + const Option<string>& data, + const Option<string>& outputFileName) const { // TODO(jojy): Validate the given URI. diff --git a/src/uri/fetchers/copy.hpp b/src/uri/fetchers/copy.hpp index 9054272..6536879 100644 --- a/src/uri/fetchers/copy.hpp +++ b/src/uri/fetchers/copy.hpp @@ -45,7 +45,8 @@ public: process::Future<Nothing> fetch( const URI& uri, const std::string& directory, - const Option<std::string>& data = None()) const override; + const Option<std::string>& data = None(), + const Option<std::string>& outputFileName = None()) const override; private: CopyFetcherPlugin() {} diff --git a/src/uri/fetchers/curl.cpp b/src/uri/fetchers/curl.cpp index 51ac244..4c5408a 100644 --- a/src/uri/fetchers/curl.cpp +++ b/src/uri/fetchers/curl.cpp @@ -90,7 +90,8 @@ string CurlFetcherPlugin::name() const Future<Nothing> CurlFetcherPlugin::fetch( const URI& uri, const string& directory, - const Option<string>& data) const + const Option<string>& data, + const Option<string>& outputFileName) const { // TODO(jieyu): Validate the given URI. diff --git a/src/uri/fetchers/curl.hpp b/src/uri/fetchers/curl.hpp index 19ade6a..5521475 100644 --- a/src/uri/fetchers/curl.hpp +++ b/src/uri/fetchers/curl.hpp @@ -51,7 +51,8 @@ public: process::Future<Nothing> fetch( const URI& uri, const std::string& directory, - const Option<std::string>& data = None()) const override; + const Option<std::string>& data = None(), + const Option<std::string>& outputFileName = None()) const override; private: explicit CurlFetcherPlugin(const Flags& _flags) : flags(_flags) {} diff --git a/src/uri/fetchers/docker.cpp b/src/uri/fetchers/docker.cpp index 631db2d..8f5fc96 100644 --- a/src/uri/fetchers/docker.cpp +++ b/src/uri/fetchers/docker.cpp @@ -607,7 +607,8 @@ string DockerFetcherPlugin::name() const Future<Nothing> DockerFetcherPlugin::fetch( const URI& uri, const string& directory, - const Option<string>& data) const + const Option<string>& data, + const Option<string>& outputFileName) const { return dispatch( process.get(), diff --git a/src/uri/fetchers/docker.hpp b/src/uri/fetchers/docker.hpp index 2abe735..2bb9214 100644 --- a/src/uri/fetchers/docker.hpp +++ b/src/uri/fetchers/docker.hpp @@ -60,7 +60,8 @@ public: process::Future<Nothing> fetch( const URI& uri, const std::string& directory, - const Option<std::string>& data = None()) const override; + const Option<std::string>& data = None(), + const Option<std::string>& outputFileName = None()) const override; private: explicit DockerFetcherPlugin( diff --git a/src/uri/fetchers/hadoop.cpp b/src/uri/fetchers/hadoop.cpp index 1c861e8..f31efa9 100644 --- a/src/uri/fetchers/hadoop.cpp +++ b/src/uri/fetchers/hadoop.cpp @@ -79,7 +79,8 @@ string HadoopFetcherPlugin::name() const Future<Nothing> HadoopFetcherPlugin::fetch( const URI& uri, const string& directory, - const Option<string>& data) const + const Option<string>& data, + const Option<string>& outputFileName) const { // TODO(jieyu): Validate the given URI. diff --git a/src/uri/fetchers/hadoop.hpp b/src/uri/fetchers/hadoop.hpp index 2d8d9be..8a817d7 100644 --- a/src/uri/fetchers/hadoop.hpp +++ b/src/uri/fetchers/hadoop.hpp @@ -58,7 +58,8 @@ public: process::Future<Nothing> fetch( const URI& uri, const std::string& directory, - const Option<std::string>& data = None()) const override; + const Option<std::string>& data = None(), + const Option<std::string>& outputFileName = None()) const override; private: HadoopFetcherPlugin(
