Commit graph

140 commits

Author SHA1 Message Date
04443b34bf Add test: serialize-deserialize-compare 2015-12-04 17:52:30 +01:00
3e75117d69 Add test: Deserialization without Specification should match as well 2015-12-04 17:52:30 +01:00
2dce3151bd Remove default impl for Error for ParserError 2015-12-04 17:52:30 +01:00
84e7100229 Add test for deserialization 2015-12-04 17:52:30 +01:00
d9019e408e Remove static livetime in ParserError::short() 2015-12-04 17:51:22 +01:00
03856cd3a1 Reimplement StorageBackendError::{new,build} with Into<String> 2015-12-04 15:18:52 +01:00
be094dcfae StorageBackend::iter_files() return Result<> with StorageBackendError on error 2015-12-04 14:04:20 +01:00
3df106ce8b StorageBackend::iter_ids() return Result<> with StorageBackendError on error 2015-12-04 14:02:30 +01:00
1b0f4894ac Use FileIDType::from() and remove select_id_type_from_str() 2015-12-03 17:37:13 +01:00
ce4d99384b Impl From<&str> for FileIDType, use implementation in From<String> for FileIDType 2015-12-03 17:36:52 +01:00
f25e3683a1 Add hash type to filepath 2015-12-03 17:33:48 +01:00
5c3d0ecce7 Impl Into<FileIDType> for FileID 2015-12-03 17:33:29 +01:00
445f543159 Impl From<String> for FileIDType 2015-12-03 17:33:16 +01:00
02da675b3f Impl Into<String> for FileIDType 2015-12-03 17:33:03 +01:00
dbf9ada732 Implement: FileID::from(&String), FileID::from(String) 2015-12-02 22:36:27 +01:00
2c3dd521b8 Add test: file_id_from_string() 2015-12-02 22:35:41 +01:00
557187fbd7 storage/file: Call FileID::new() to build FileID object 2015-12-02 13:43:09 +01:00
292e29a5f1 Backend: Use FileID::from() 2015-12-02 13:43:09 +01:00
d3bdb39468 Reimplement FileID as abstract type, use Into, From traits for conversion 2015-12-02 13:43:09 +01:00
e93aa4ceae Refactor uses of file-id-parsing functions to ensure we honnor the Result type 2015-12-02 13:06:08 +01:00
3e94e1612f Add FileIDResult<FileID, FileIDError> 2015-12-02 13:05:48 +01:00
05a9803c05 Fixup: Member name 2015-12-02 12:29:04 +01:00
9231049e30 Remove StorageBackend::build() 2015-12-02 12:28:41 +01:00
731d13e0ba Create store path on storage backend creation 2015-12-02 12:24:05 +01:00
abee4d4904 Implement StorageBackend::remove_file() 2015-12-02 12:24:05 +01:00
a6ed8e1080 Pass id as &FileID in StorageBackend::get_file_by_id() 2015-12-02 12:24:05 +01:00
103cba0c27 Add File::matches_with(&Regex) 2015-12-02 12:24:05 +01:00
f060c89751 Add helper for building file prefix
This helper builds the file prefix for the files of a module.
2015-12-02 12:24:05 +01:00
144398a2ad Remove explanation member of StorageBackendError to reduce complexibility 2015-12-02 12:24:05 +01:00
4a6d1a74c0 Retry fixing the StorageBackend::cause() 2015-12-02 12:24:05 +01:00
366121b6ed Reimplement StorageBackend::update_file() 2015-12-02 12:24:05 +01:00
eabf726846 Outsource file to string parsing 2015-12-02 12:24:05 +01:00
e0fefc3da4 Reimplement StorageBackend::put_file() 2015-12-02 12:24:05 +01:00
21d889e1e2 Add caused_by field in StorageBackend 2015-12-02 12:24:05 +01:00
1038880de9 Save storepath in extra variable 2015-12-02 12:24:05 +01:00
c9ebe3b7a1 Pass owner to file path builder helper function 2015-12-02 12:24:05 +01:00
98ec735ea3 Add File::owner() - a getter for the owner of a file 2015-12-02 12:24:05 +01:00
593e98ac5d A File is bound to a Module
A File object must be bound to a Module, as one Module owns the File.

This way we can use the Module internally to build the file path later.
2015-12-02 12:24:05 +01:00
0d751f9ffd Add some debug output in StorageBackend::build_filepath_with_id() 2015-12-02 12:24:05 +01:00
86286cce1b Remove livetimes 2015-12-02 12:24:05 +01:00
51f6af6346 We should really use String here 2015-12-02 12:24:05 +01:00
2bab3d48e6 Fix JsonHeaderParser::serialize() 2015-12-02 12:00:20 +01:00
7549db4ffc Fix JsonHeaderParser::visit_json() 2015-12-02 12:00:20 +01:00
500fb281a0 JsonHeaderParser: Make spec optional 2015-12-02 12:00:20 +01:00
34cf5076f9 Reimplement JsonHeaderParser::write() 2015-12-02 12:00:19 +01:00
df18071d9a Move JsonHeaderParser::new() out of trait implementation 2015-12-02 12:00:19 +01:00
cf196b2492 Fixup: get_file_ids() - use prefix_of_files_for_module() 2015-12-02 12:00:19 +01:00
0e4a56fe68 Reimplement StorageBackend::new(), create directory if not existing, store storepath in extra variable 2015-12-02 12:00:19 +01:00
1e5c50bc0b Fixup: Import remove_file() 2015-12-02 12:00:19 +01:00
0796d0ab36 Fixup: File::from_parser_result() gets module now as well 2015-12-02 12:00:19 +01:00