Commit Graph

3857 Commits

Author SHA1 Message Date
Matthias Beyer 2b7706424a Merge pull request #977 from matthiasbeyer/libimagrt/fixes
Libimagrt/fixes
2017-06-21 08:33:25 +02:00
Matthias Beyer 17bab5b0b9 Merge pull request #978 from matthiasbeyer/libimagstore/fixes
Libimagstore/fixes
2017-06-21 08:33:18 +02:00
Matthias Beyer 14f261a84e Add some debug output to JSON mapper 2017-06-20 20:57:53 +02:00
Matthias Beyer 699f4083e9 Add Runtime::store_backend_to_stdout(), make _stdio() variant use stdin properly 2017-06-20 20:57:40 +02:00
Matthias Beyer e7e3a75924 Add another JSON test for an empty JSON 2017-06-20 20:57:25 +02:00
Matthias Beyer 2790042f6f Propagate parsing errors
This somehow resolved another error as well, where the toml parser
reported an error for the parsed file, despite beeing one in the file.

I don't know how this commit fixed this, but it scares the shit out of
me.
2017-06-20 20:34:47 +02:00
Matthias Beyer 801622ecf2 Add output where paths is set 2017-06-20 20:34:27 +02:00
Matthias Beyer de3b244a62 Bugfix: Use StoreId::from_full_path()
The rationale is that the walker implementation yields the complete path
rather than the local part.

This patch fixes this issue by using StoreId::from_full_path() rather
than StoreId::new().
2017-06-20 20:33:58 +02:00
Matthias Beyer cac3e6114e Add debug output to Walk::next() impl 2017-06-20 20:33:54 +02:00
Matthias Beyer 54484a6ee7 Add debug output to StoreId::new_baseless() 2017-06-20 20:33:50 +02:00
Matthias Beyer 2c97d6f194 Merge pull request #974 from matthiasbeyer/libimagstore/embellishments
Remove unnecessary clone() call
2017-06-18 20:03:29 +02:00
Matthias Beyer f8ed6794c2 Merge pull request #975 from matthiasbeyer/libimagstore/backend-replacement
Libimagstore/backend replacement
2017-06-18 19:44:32 +02:00
Matthias Beyer a672e4db21 Remove TODO from Store::reset_backend() 2017-06-18 19:33:52 +02:00
Matthias Beyer d33b435031 Merge pull request #922 from matthiasbeyer/libimagstore/all-entries
Add Store::entries()
2017-06-18 19:17:58 +02:00
Matthias Beyer bee97c8758 Add Store::entries() 2017-06-18 19:07:15 +02:00
Matthias Beyer a4188a3100 Add proper impl of Store::reset_backend() 2017-06-18 18:52:27 +02:00
Matthias Beyer c814171875 Add backend draining 2017-06-18 18:52:21 +02:00
Matthias Beyer b572e7e8b9 Abstract away the output of the IO backend
This patch refactors the output part of the IO backend into an own
backend which is simply used by the IO-backend.

This way we can have a pure-output backend.
2017-06-18 18:52:03 +02:00
Matthias Beyer caf77012d9 Add tests to test backend replacing 2017-06-18 18:51:58 +02:00
Matthias Beyer 41f3b10976 Add Runtime::store_backend_to_stdio() function 2017-06-18 13:37:50 +02:00
Matthias Beyer c0936a0273 Add Store::reset_backend() function for re-setting the backend 2017-06-18 13:37:50 +02:00
Matthias Beyer 97741fd4ee Remove unnecessary clone() call 2017-06-18 13:37:35 +02:00
Matthias Beyer e75c37fbb2 Merge pull request #973 from matthiasbeyer/libimagstore/io-backend-knows-format
Libimagstore/io backend knows format
2017-06-18 12:47:07 +02:00
Matthias Beyer 266311d743 Change backends to do less ser-/deserialization
This commit changes the backends to do less de/ser, as it now stores the
Entry objects in the backend and does the de/serialization there.

This means the store does only serialize things once from json to toml
in the io backend.

See the diff of the documentation for more details.
2017-06-18 12:32:04 +02:00
Matthias Beyer 52011a59b2 Move serialize/deserialize calls of Entry to backend 2017-06-18 12:32:03 +02:00
Matthias Beyer cd99873f17 Merge pull request #972 from matthiasbeyer/libimagstore/io-backend
Libimagstore/io backend
2017-06-18 12:31:38 +02:00
Matthias Beyer 3af1042593 Fix fs_to_write() to serialize headers correctly 2017-06-18 11:33:18 +02:00
Matthias Beyer c013ca8025 Outsource header/content parsing from store.rs to util.rs for reusability 2017-06-18 11:33:18 +02:00
Matthias Beyer 91c427925b Make backend generic over Read/Write 2017-06-18 11:33:18 +02:00
Matthias Beyer 73c1e79084 Implement high-level store test with IO backend 2017-06-18 11:33:18 +02:00
Matthias Beyer c4b2287876 Move the documentation to the docs 2017-06-18 11:33:18 +02:00
Matthias Beyer 76dfe23f65 Add StdIoFileAbstraction module documentation 2017-06-18 11:33:18 +02:00
Matthias Beyer e5c8e9a1ac Add simple tests 2017-06-18 11:33:18 +02:00
Matthias Beyer aede9a112b Add first code draft for JSON mapper implementation 2017-06-18 11:33:17 +02:00
Matthias Beyer 08f9eb3d83 Add new dependencies: Serde* 2017-06-18 11:31:55 +02:00
Matthias Beyer af2b629a86 Add VersionError kind 2017-06-18 11:31:55 +02:00
Matthias Beyer 4abd9dd7cf Split into module-files 2017-06-18 11:31:55 +02:00
Matthias Beyer 447f2610ef Make StdIo backend abstract over IO->"fs"->IO mapper 2017-06-18 11:31:55 +02:00
Matthias Beyer 146e2a1140 Implement backend code for in-memory IO backend
This commit implements a backend which reads from a Read when created
and writes to a Write when dropped.

This way, one can initialize stores which are build from commandline
feeded JSON or TOML (currently JSON is implemented/about to be
implemented).
2017-06-18 11:31:55 +02:00
Matthias Beyer f487550f81 Merge pull request #971 from matthiasbeyer/libimagstore/storeid-local-part-altering
Add fn StoreId::local_push() for altering the local part of a StoreId
2017-06-17 21:14:44 +02:00
Matthias Beyer 5b8c138922 Add fn StoreId::local_push() for altering the local part of a StoreId 2017-06-17 17:21:27 +02:00
Matthias Beyer bc95c5615d Merge pull request #970 from matthiasbeyer/libimagstore/fs-abstraction-pub
Make libimagstore::file_abstraction pub
2017-06-17 14:07:01 +02:00
Matthias Beyer 71e3d3d2d1 Merge pull request #968 from matthiasbeyer/libimagentrytag/validator-helper-enhancement
Add is_tag_str(&str) wrapper for is_tag(String)
2017-06-17 12:54:13 +02:00
Matthias Beyer 1f26460b90 Make libimagstore::file_abstraction pub 2017-06-17 12:51:29 +02:00
Matthias Beyer ac805dcef7 Add is_tag_str(&str) wrapper for is_tag(String) 2017-06-17 12:34:13 +02:00
Matthias Beyer c4d4fe9389 Merge pull request #967 from matthiasbeyer/libimagstore/remove-todo-comment
Remove "TODO"-comment
2017-06-13 09:04:14 +02:00
Matthias Beyer ac8ea872cb Remove "TODO"-comment 2017-06-12 19:29:57 +02:00
Matthias Beyer a9d2d7c354 Merge pull request #962 from matthiasbeyer/libimagstore/fs-memory-backend-as-dependency-injection
Libimagstore/fs memory backend as dependency injection
2017-06-10 21:01:57 +02:00
Matthias Beyer 15b77ac2c1 Merge pull request #965 from matthiasbeyer/libimagentrytag/clap-validators
Add clap validator for tag string
2017-06-09 14:55:34 +02:00
Matthias Beyer 98c33f7571 Add clap validator for tag string 2017-06-09 13:48:24 +02:00