2a95d4f79d
Merge pull request #553 from matthiasbeyer/libimagstore/custom-hook-error-data-interface
...
Add interface for custom error data type
2016-07-16 19:15:39 +02:00
b81750ba09
Add interface for custom error data type
2016-07-16 16:52:02 +02:00
01c21e1d95
Remove "Sync" trait bound - we don't need to sync between threads here
...
(and we do not have the possibility to, actually).
2016-07-16 16:18:37 +02:00
6c181d32b6
Merge pull request #548 from matthiasbeyer/libimagstore/storeid-hook-exec-in-mutable-hook-exec
...
Execute StoreIdAccess accessors in MutableHookDataAccessor impl for A…
2016-07-16 11:23:52 +02:00
76d23577c4
Merge pull request #546 from matthiasbeyer/libimagstore/fixed-and-more-hook-error-wrapping
...
Add more error levels in hook execution error wrapping
2016-07-16 11:23:38 +02:00
083b9da1e9
Merge pull request #545 from matthiasbeyer/libimagstore/fix-aspect-config-getting
...
Fix AspectConfig::get_for() implementation
2016-07-16 11:23:20 +02:00
c6be35554b
Merge pull request #547 from matthiasbeyer/libimagstore/aspect-execution-output
...
Add error output in Aspect execution code
2016-07-16 11:21:41 +02:00
ed4744449c
Execute StoreIdAccess accessors in MutableHookDataAccessor impl for Aspect as well
...
We have no other way than doing it this way, and it doesn't hurt, does
it?
2016-07-16 01:15:48 +02:00
6a85760feb
Debug output in MutableHookDatsaAccessor impl for Aspect
2016-07-16 01:15:08 +02:00
8de32622b9
Add more error levels in hook execution error wrapping
2016-07-16 00:57:33 +02:00
ded6a3f240
Add error output in Aspect execution code
2016-07-16 00:57:20 +02:00
c8edb2102f
Fix AspectConfig::get_for() implementation
2016-07-16 00:33:54 +02:00
32617d0a16
Add debug config when getting configuration for a hook
2016-07-16 00:32:58 +02:00
33771f3903
Add debugging output when setting hook configuration
2016-07-16 00:32:54 +02:00
fc72b3f53a
Add more debug output in Store::new()
2016-07-16 00:32:50 +02:00
John Sirois
8ef7b4e0c6
Cleanup HookError
tracing logic.
...
Use `Result::or_else` instead of matching and no-oping the `Ok` case
manually and extract a helper to centralize repeated trace logic.
2016-07-14 20:37:16 -06:00
John Sirois
7f57e5e234
Move from a helper function to a typeclass.
...
This introduces the `FoldResut` trait to move from `func(receiver, ...)`
style to `receiver.func(...)` style. Also add a means to pass the
default result explicitly.
2016-07-14 07:28:54 -06:00
John Sirois
2c40b8734e
Add a fold_ok
utility.
...
Add a utility that folds an iterator into a result and uses it to reduce
boilerplate in the codebase.
2016-07-13 12:43:04 -06:00
9337a14cdd
Update all version strings: 0.1.0 -> 0.2.0
2016-07-12 11:51:20 +02:00
c6f9d91599
Merge pull request #513 from matthiasbeyer/libimagstore/hooks/optionally-deny-mutable-hooks
...
Libimagstore/hooks/optionally deny mutable hooks
2016-07-07 21:52:08 +02:00
7818b523b9
Deny mutable access for hooks if the config says so
2016-07-07 20:29:24 +02:00
eb31da70d1
Remove import: trace_error() function
2016-07-07 17:03:20 +02:00
7f14639c1e
Add configuration parsing/getter for denying of mutable hooks
2016-07-06 19:10:17 +02:00
b4b719b753
Add error kind for denied hooks
2016-07-06 19:09:58 +02:00
d18766b4b4
Remove checking for aborting errors
...
As the Aspect execution catches the aborting hooks and returns them, we
cannot have a non-aborting error here, so there is no point in checking
for aborting errors.
2016-07-06 18:01:00 +02:00
580ea28877
Fix Display impl for StoreId by using lossy string rep if PathBuf::to_str() fails
2016-07-05 13:47:58 +02:00
d7f22020e6
Merge pull request #489 from matthiasbeyer/libimagstore/storify-id
...
Libimagstore/storify
2016-07-04 19:26:42 +02:00
9605d6daa6
Ensure that StoreId::storified() does not alter already storified StoreId objects
2016-07-04 12:49:12 +02:00
a706680fd5
Revert "Store::create() Make outgoing storeid object unstorified"
...
This reverts commit 41d7d1c213
.
2016-07-04 12:46:06 +02:00
31d5dac63d
Revert "Add StoreId::unstorified()"
...
This reverts commit 37380c84b9
.
We do not want such a feature in the store, actually.
StoreId objects are either storified or not, but you cannot unstorify
them.
2016-07-04 12:45:17 +02:00
41d7d1c213
Store::create() Make outgoing storeid object unstorified
2016-07-04 12:44:58 +02:00
9f213ddc31
Add error kind for storeid handling errors
2016-07-04 12:44:58 +02:00
37380c84b9
Add StoreId::unstorified()
2016-07-04 12:44:58 +02:00
12b8f8f331
Move storification of StoreId object to new StoreId::storified() func
2016-07-02 17:52:12 +02:00
ea4487a481
Impl Display for StoreId
2016-06-30 11:02:58 +02:00
45a24de853
store.rs: Replace error boxing and wrapping with result helper from libimagerror
2016-06-27 18:16:43 +02:00
484520842a
lazyfile.rs: Replace error boxing and creation by call to new helper function
2016-06-27 18:00:12 +02:00
0a05b9825c
call helper generator macros in error module
2016-06-27 17:59:46 +02:00
55e6c29275
Add another level of error enclosure
2016-06-08 15:11:53 +02:00
e75b524e53
Add error kinds for Move functions
2016-06-08 15:11:53 +02:00
84a0778a5b
Refactor: Use helper function for equal codelines
2016-06-08 15:08:06 +02:00
3c40df1ae7
Add Store::save_to() to create a copy of an entry
2016-06-08 15:08:06 +02:00
2ce84a3dbf
Add {Pre, Post}Move hooks
2016-06-08 15:08:00 +02:00
12cac663d0
Implement save_as()
2016-06-08 14:03:17 +02:00
f885e6c80b
Implement move_by_id()
2016-06-08 14:03:17 +02:00
5b16771f4f
Add (unimplemented) functions for moving store entries
2016-06-08 14:02:52 +02:00
88e89d7927
Merge pull request #456 from matthiasbeyer/libimagstore/errors-to-identify-store-api-call
...
Add a set of error kinds to identify the store call the error came from
2016-06-06 18:28:48 +02:00
ea5319812d
Merge pull request #439 from matthiasbeyer/libimagstore/fle-and-entry-have-storeid
...
Remove duplicated StoreId member in FileLockEntry, use member from Entry
2016-05-29 02:15:26 +02:00
9d37ffef91
Merge pull request #454 from matthiasbeyer/libimagstore/hook-exec-error-fix
...
Libimagstore/hook exec error fix
2016-05-29 01:31:17 +02:00
55e5255293
Remove duplicated StoreId member in FileLockEntry, use member from Entry
2016-05-29 00:01:05 +02:00
ce12a22ef5
Merge pull request #440 from matthiasbeyer/libimagstore/load-unload-hooks
...
Libimagstore/load unload hooks
2016-05-28 23:59:32 +02:00
64e28f3c31
Fix C/P fail
...
The store executed the wrong hooks here, because of a C/P failure.
This fixes this bug.
2016-05-28 23:47:26 +02:00
812379c46d
Hook data accessors should implement Debug
2016-05-28 23:47:13 +02:00
d85f747066
Add a set of error kinds to identify the store call the error came from
2016-05-28 23:30:50 +02:00
a42b6a10db
Add error tracing support in Aspect implementation
...
This removes the parallelization feature from the Aspect codebase as
std::error::Error does not implement Send, so we cannot send the error
from a child thread to a parent thread.
This is clearly not an optimal implementation now, but we have hook
non-aborting-error tracing support, which is more important than
parallelization support, at least in this early stage of development.
An issue has to be opened for re-implementing parallelization of hooks.
2016-05-28 21:08:55 +02:00
6c7d6c29ea
Rewrite pre-hook execution
2016-05-28 21:08:55 +02:00
eb80714402
HookError: Add optional non-aborting mode
2016-05-28 21:08:07 +02:00
42289a085e
Fix glob() pattern
2016-05-28 17:28:38 +02:00
a6200b67c0
Merge pull request #446 from matthiasbeyer/libimagstore/fix-get
...
Fix Store::get()
2016-05-28 10:35:42 +02:00
19aec6327f
Fix Store::get()
2016-05-27 23:58:37 +02:00
3d9d5795e4
Rewrite hook error module with error macros
2016-05-27 10:15:29 +02:00
cb87b4b5d8
Remove old error code which is unused
2016-05-27 10:13:03 +02:00
183c46a7dd
Use Into implementations to convert error kinds into error types
2016-05-27 10:11:51 +02:00
e91eb2f55d
Use error.into() instead of building full type
2016-05-26 22:19:29 +02:00
5e98bd76b1
Shorten type names in import
2016-05-26 22:19:08 +02:00
25c4bea818
Shorten type names in import
2016-05-26 22:17:08 +02:00
fdb5d1bb24
Replace old error construction code with new libimagerror functionality
2016-05-26 22:16:29 +02:00
2ad5cb48aa
Implement store-unload hooks
2016-05-26 21:04:04 +02:00
f19c057258
Merge pull request #432 from matthiasbeyer/libimagerror/simple-into
...
libimagerror: Impl Into<error name> for all <errorkindname>
2016-05-24 15:23:08 +02:00
41b5d6d230
Merge pull request #400 from matthiasbeyer/libimagutil/match-helper
...
Libimagutil/match helper
2016-05-24 14:41:43 +02:00
b1f43e3ef5
Impl Into<error name> for all <errorkindname>
2016-05-24 14:31:44 +02:00
b6f5b71df1
libimagstore: Refactor code with is_match!() macro
2016-05-23 21:43:20 +02:00
f0b665e5f2
libimagstore: Add dependency: libimagutil
2016-05-23 21:43:10 +02:00
80b9cae5fe
Merge pull request #391 from matthiasbeyer/libimagstore/get
...
Libimagstore/get
2016-05-23 20:01:38 +02:00
e45d9200bf
Adapt error generating code in libimagstore
2016-05-23 17:06:07 +02:00
dd7e146081
impl Into<StoreIdIterator> for GlobStoreIdIterator to be able to convert easily
2016-05-23 14:52:32 +02:00
839ec051a4
Add Store::get_all_versions() for getting all versions of a StoreId entry
2016-05-23 14:52:13 +02:00
df33dec0c3
Add new error kind: StorePathError
2016-05-23 14:51:39 +02:00
b4f17576f6
Add Store::get() for getting or failing if entry does not exist
2016-05-23 14:51:38 +02:00
bf14b9ae4e
Update dependency: fs2 0.2.2 -> 0.2.*
2016-05-23 13:37:26 +02:00
cc8642f54f
libimagstore: Replace error module imports with macro helper
2016-05-19 18:22:03 +02:00
42f7e086a3
Replace error code with macro for code generation
2016-05-17 00:26:35 +02:00
627fa7de46
Replace error code with macro for code generation
2016-05-17 00:26:35 +02:00
a69fd78058
Add dependency: libimagerror
2016-05-17 00:26:35 +02:00
a56f000e3e
Remove unneeded scope
2016-05-15 14:02:30 +02:00
a26a0645bd
Remove iflet by mapping
2016-05-15 14:01:55 +02:00
944a9bf876
Remove unwrap() calls by matching
2016-05-15 14:01:55 +02:00
0b7f815104
Remove unwrap() calls by matching
2016-05-15 14:01:55 +02:00
81810dbcc8
Remove unwrap() calls by matching
2016-05-15 14:01:55 +02:00
604e59ae3c
Remove unwrap() calls by matching
2016-05-15 14:01:55 +02:00
2a6e4c62fe
Remove unwrap() by matching, remove unneeded deref()
2016-05-15 14:01:55 +02:00
8d9bd5154d
Remove unwrap() by matching, remove unneeded deref()
2016-05-15 14:01:55 +02:00
a481200c9a
Replace unwrap() by matching
2016-05-15 14:01:55 +02:00
1e1cbec98b
Replace unwrap() by matching
2016-05-15 14:01:55 +02:00
70b3d3906e
Replace unwrap() by matching
2016-05-15 14:01:55 +02:00
1f66f67791
Replaced unwrap() by matching
2016-05-15 14:01:55 +02:00
7b612ce8fb
Remove iflet by mapping over Option/Result types
2016-05-15 14:01:55 +02:00
f9f5fa5717
Shorten code by using StoreError as SE and StoreErrorKind as SEK
2016-05-15 14:01:55 +02:00
a852da54dd
Remove iflet by using Option::{map_err, and}()
2016-05-15 14:00:40 +02:00
3fb6d507e5
Remove unwrap() by matching
2016-05-15 14:00:40 +02:00