@@ -32,6 +32,34 @@ using namespace ppc::storage;
3232using namespace ppc ::protocol;
3333using namespace bcos ;
3434
35+
36+ DataResourceLoaderImpl::DataResourceLoaderImpl (
37+ ppc::protocol::SQLConnectionOption::Ptr const & _sqlConnectionOpt,
38+ ppc::protocol::FileStorageConnectionOption::Ptr const & _fileStorageConnectionOpt,
39+ ppc::protocol::RemoteStorageConnectionOption::Ptr const & _remoteStorageConnectionOpt,
40+ ppc::storage::SQLStorageFactory::Ptr const & _sqlStorageFactory,
41+ ppc::storage::FileStorageFactory::Ptr const & _fileStorageFactory,
42+ ppc::storage::RemoteStorageFactory::Ptr const & _remoteStorageFactory)
43+ : m_sqlConnectionOpt(_sqlConnectionOpt),
44+ m_fileStorageConnectionOpt(_fileStorageConnectionOpt),
45+ m_remoteStorageConnectionOpt(_remoteStorageConnectionOpt),
46+ m_sqlStorageFactory(_sqlStorageFactory),
47+ m_fileStorageFactory(_fileStorageFactory),
48+ m_remoteStorageFactory(_remoteStorageFactory)
49+ {
50+ if (m_fileStorageConnectionOpt)
51+ {
52+ m_hdfsStorage = m_fileStorageFactory->createFileStorage (
53+ DataResourceType::HDFS, m_fileStorageConnectionOpt);
54+ }
55+ if (m_sqlConnectionOpt)
56+ {
57+ m_sqlStorage =
58+ m_sqlStorageFactory->createSQLStorage (DataResourceType::MySQL, m_sqlConnectionOpt);
59+ }
60+ }
61+
62+
3563LineReader::Ptr DataResourceLoaderImpl::loadReader (DataResourceDesc::ConstPtr _desc,
3664 DataSchema _schema, bool _parseByColumn, FileStorage::Ptr const & _fileStorage)
3765{
@@ -76,8 +104,7 @@ LineReader::Ptr DataResourceLoaderImpl::loadSQLResource(
76104 }
77105 else if (m_sqlConnectionOpt)
78106 {
79- storage = m_sqlStorageFactory->createSQLStorage (
80- (ppc::protocol::DataResourceType)_desc->type (), m_sqlConnectionOpt);
107+ storage = m_sqlStorage;
81108 }
82109 else
83110 {
@@ -106,8 +133,7 @@ LineReader::Ptr DataResourceLoaderImpl::loadHDFSResource(
106133 }
107134 else if (m_fileStorageConnectionOpt)
108135 {
109- storage = m_fileStorageFactory->createFileStorage (
110- (ppc::protocol::DataResourceType)_desc->type (), m_fileStorageConnectionOpt);
136+ storage = m_hdfsStorage;
111137 }
112138 else
113139 {
@@ -144,8 +170,7 @@ void DataResourceLoaderImpl::deleteResource(
144170 }
145171 else if (m_fileStorageConnectionOpt)
146172 {
147- storage = m_fileStorageFactory->createFileStorage (
148- (ppc::protocol::DataResourceType)_desc->type (), m_fileStorageConnectionOpt);
173+ storage = m_hdfsStorage;
149174 }
150175 else
151176 {
@@ -194,8 +219,7 @@ void DataResourceLoaderImpl::renameResource(ppc::protocol::DataResourceDesc::Con
194219 }
195220 else if (m_fileStorageConnectionOpt)
196221 {
197- storage = m_fileStorageFactory->createFileStorage (
198- (ppc::protocol::DataResourceType)_desc->type (), m_fileStorageConnectionOpt);
222+ storage = m_hdfsStorage;
199223 }
200224 else
201225 {
@@ -253,8 +277,7 @@ void DataResourceLoaderImpl::checkResourceExists(
253277 }
254278 else if (m_fileStorageConnectionOpt)
255279 {
256- storage = m_fileStorageFactory->createFileStorage (
257- (ppc::protocol::DataResourceType)_desc->type (), m_fileStorageConnectionOpt);
280+ storage = m_hdfsStorage;
258281 }
259282 else
260283 {
@@ -307,9 +330,7 @@ LineWriter::Ptr DataResourceLoaderImpl::loadWriter(
307330 }
308331 else if (m_fileStorageConnectionOpt)
309332 {
310- // create the hdfsStorage
311- storage = m_fileStorageFactory->createFileStorage (
312- (ppc::protocol::DataResourceType)_desc->type (), m_fileStorageConnectionOpt);
333+ storage = m_hdfsStorage;
313334 }
314335 else
315336 {
0 commit comments