Commit Graph

120 Commits

Author SHA1 Message Date
Robert von Burg 2ee0d2fb4e [New] Added UserSession querying and modifying 2015-03-14 21:23:10 +01:00
Robert von Burg 28a6e24842 [Minor] fixing broken service tests 2015-03-02 20:44:35 +01:00
Robert von Burg 5aef65861b [Minor] changed test to check for versions with qualifier 2015-02-11 16:52:37 +01:00
Robert von Burg cf807edd7a [New] added MigrationsHandler.runCodeMigrations()
- this allows a project to add migrations to be run in a post
initializer etc.
2015-02-11 16:41:43 +01:00
Robert von Burg cfb30486e0 [Bugfix] fixed broken migrations in multiple realms 2015-02-09 21:13:24 +01:00
Robert von Burg 70ec912446 [Minor] Ignoring TxTest.shouldNotAllowCommandsOnDoNothig()
- We have to re-think this. It does not work, throwing an exception if
commands are registered on a read-only TX as then we don't know if we
want to roll back or not - we probably need a ROLLBACK_ON_ERROR or
something, indicating that we are preparing a non-read-only TX.
2015-02-08 16:39:23 +01:00
Robert von Burg 35c35b9d1c [New] Added new MigrationsHandler to migrate the model
- Add the new MigrationsHandler as a StrolchComponent
- add migrations/data/<realm>/n.n.n.xml files
- and your migration will run
2015-02-08 12:59:21 +01:00
Robert von Burg 3fc4c83a61 [Minor] removed all tx.commitOnClose() for read only TXs 2015-02-06 22:13:48 +01:00
Robert von Burg 85b82f6628 [New] Added TransactionCloseStrategy.DO_NOTHING
- added a new closing strategy which is now the default closing
strategy. This effectively makes a new transaction read only
2015-02-06 21:35:38 +01:00
Robert von Burg 40c9ac7969 [Major] added new feature tx.flush()
- Now if you need to perform commands to carry on in your transaction,
you can simply use the tx.flush()-method.
- Should something go wrong, then even after a tx.flush() one can call
throw tx.fail("Reason") or tx.rollbackOnClose()
2015-02-06 09:18:12 +01:00
Robert von Burg a9f3b04b3f [Devel] fixing flushing of TX not working on rollback 2015-02-03 23:19:29 +01:00
Robert von Burg b0cf516dab [Major] Refactored how a TX is closed
- So sadly just auto closing a TX using try-resource from Java7 is a bad idea.
- Doing that leads to problems when an exception is thrown, then the close is called (duh) but this leads to commit being called.
- Since the Java language does not offer a decent way to detect if the close is being called in the context of an exception i was forced to add a tx.commitOnClose() and tx.rollbackOnClose().
- The default is that when a TX is opened, then the close strategy is rollback; the API user must call tx.commitOnClose() before the TX is closed by the braces, or as late as possible, to make sure that if an exception is thrown the transaction is rolled back, and not committed.
- The API was also extended with a tx.fail(msg):StrolchTransactionException so that if the implementor detects an unrecoverable error, one can write: throw tx.fail(“my reason”);

This was sadly an unavoidable late 1.0.0 change
2015-02-03 23:18:31 +01:00
Robert von Burg 2f84091f76 [Devel] adding new feature tx.flush() 2015-01-26 00:50:46 +01:00
Robert von Burg e44775f30b [Bugfix] fixed not unlocked objects after TX
When a TX is closed, all locked objects are unlocked. The but originated from multiple commands being performed for the same object, thus the object was locked multiple times i.e. the lock counter was >1. Now added a releaseLock() method which is called by the TX when the TX is closed so that the lock counter is really 0 and the lock is released.

- Added tests for this situation
- documented the LockHandler
2015-01-16 13:59:17 +01:00
Robert von Burg 6e265c755b [Major] refactored DbSchemaVersionCheck and added version parsing
- Now we can use Version to see if current version is greater than
- Fixed bug where version checking didn't check for app
- TODO is still open to handle migration with intermediary steps
2015-01-09 12:34:05 +01:00
Robert von Burg 304255fcc2 [Minor] fixed broken tests due to change in privilege handling 2014-12-31 17:00:59 +01:00
Robert von Burg b70ee2d228 [New] Added LoginResult.getRoles(), modified logs
- also log user when performing service calls
- also log user when committing TX
2014-12-31 16:41:00 +01:00
Robert von Burg 85d1a4a145 [Major] refactored PostgreSQL DB schema validation
Now moved all generic schema generation code to ch.eitchnet.utils so it can be used by other projects
2014-11-14 00:07:53 +01:00
msmock 36b47dd971 Implemented base structure for planning and scheduling on resources 2014-10-23 08:59:20 +02:00
Robert von Burg fadafe0599 moved everything to a subdirectory for repo merge 2014-09-16 08:53:28 +02:00