Commit Graph

846 Commits

Author SHA1 Message Date
Robert von Burg 46ccb921df [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
Conflicts:
	li.strolch.agent/src/main/java/li/strolch/persistence/api/AbstractTransaction.java
2015-02-03 23:21:28 +01:00
Robert von Burg 9532c97ef1 [Major] fixed issue with CACHED not querying inmemory
- this was a big issue as the query was delegated by the TX to the
persistence handler, which meant that the current element map types
(cached, transactional, etc.) were ignored. Move the doQuery to the
element maps, and this lead to also reimplementing the way the cached
element maps work: they now use an in memory dao, instead of MapOfMaps
2015-02-01 22:28:42 +01:00
Robert von Burg a0f832c7db [Major] changed ParameterSelection implementation
- stringListSelection() uses contains, instead of equals now
- dateRangeSelection() uses a date range object now
2015-02-01 14:12:53 +01:00
Robert von Burg 96f7c3d20f [Project] Site: Java8 and referencing tools used 2015-01-31 12:01:23 +01:00
Robert von Burg 569c745cc7 [New] added tx.getCertificate() 2015-01-23 12:08:19 +01:00
Robert von Burg be6f1d170f [New] added tx.get*()-methods with assertExists boolean
- now a user can always use that flag to guarantee the element exists
2015-01-23 12:06:15 +01:00
Robert von Burg 120ff0ace9 [New] Added tx.getTemplate*(), documented TX, added StrolchLockException 2015-01-23 11:40:17 +01:00
Robert von Burg 9711914056 [Project] due to stricter Java8 JavaDoc lint, deactivate strict mode 2015-01-22 18:23:15 +01:00
Robert von Burg 1652de3503 [Major] Project now requires Java8 2015-01-22 18:04:33 +01:00
Robert von Burg 99887642a6 [Bugfix] fixed bug where controllers aren't properly stopped
- this occurred for controllers which had dependencies of other
dependencies
2015-01-20 20:08:58 +01:00
Robert von Burg 72abd2a175 Merge branch 'develop' of git@github.com:eitchnet/strolch.git into develop 2015-01-20 19:48:10 +01:00
Robert von Burg bacf17b1a7 [New] Added tx.auditFrom()
- this allows to quickly create a new Audit which uses the details from
the current TX. This TX can then be added to the auditTrail for
persisting
2015-01-20 19:47:49 +01:00
Robert von Burg b731be86e3 [Bugfix] fixed bug where controllers aren't properly stopped
- this occurred for controllers which had dependencies of other
dependencies
2015-01-20 19:43:51 +01:00
Robert von Burg 15ae2f9702 [Minor] don't log multiple times the exception on failed service 2015-01-18 19:17:16 +01:00
Robert von Burg 9505ab355c [New] Added new StrolchAccessDeniedException for use in ServiceHandler
Now if you add the DefaultServiceHandler property 'throwOnPrivilegeFail'
and set it to true, then the service handler will throw a
StrolchAccessDeniedException which in combination with the
StrolchRestfulExceptionMapper allows rest services to quickly determine
if the error was because the user does not have access to the requested
resource.

Same goes for performing queries in AbstractTransaction only there
instead of throwing a privilege exception, we now also throw a
StrolchAccessDeniedException
2015-01-18 18:37:04 +01:00
Reto Breitenmoser 2de2e32c44 Merge branch 'develop' of https://github.com/eitchnet/strolch.git into develop 2015-01-17 10:31:47 +01:00
Reto Breitenmoser e39df60247 [Minor] added cache mode setting for rest http header (defaults to
no-cache)
2015-01-17 10:30:45 +01:00
Robert von Burg 6eb6f8d503 [Minor] better logging in TX 2015-01-16 17:47:47 +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 f236779697 Merge remote-tracking branch 'refs/remotes/origin/develop' into develop
Conflicts:
	ch.eitchnet.utils
2015-01-15 09:09:59 +01:00
Robert von Burg aa014c782c [Minor] Updated submodule ch.eitchnet.utils 2015-01-15 09:08:22 +01:00
Robert von Burg cfde0fa8b7 [Bugfix] fixed minor TX logging issue 2015-01-11 18:41:52 +01:00
Robert von Burg 7d8516952b [Bugfix] fixed missing timestamps from postgresql dates
- fixed broken tests
2015-01-09 13:48:14 +01:00
Robert von Burg e7e7fe978b [Bugfix] fixed missing timestamps from postgresql dates 2015-01-09 13:37:22 +01:00
Robert von Burg 1d27482843 [Minor] Added logging of realm and app when checking db schema 2015-01-09 12:59:58 +01:00
Robert von Burg 4cd51e4ee2 [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:42:11 +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 ee741b5e18 [Bugfix] fixed not setting new Impl for component, when overridden
- Now when you set a new Impl for a component, then the dependencies are
also replaced
2015-01-09 01:05:48 +01:00
Robert von Burg 4c631ad07f [Minor] removed logging of controller names, duplicated in DepAnalyzer 2015-01-09 00:28:09 +01:00
Reto Breitenmoser aee258bc9a [Bugfix] swapped input parameters for match method 2015-01-05 22:25:57 +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 c37fe1e11f [New] added StrolchElement.isRootElement() 2014-12-21 23:23:01 +01:00
Robert von Burg 1231eb1f49 [Minor] don't return default locale, if none is passed by HTTP client 2014-12-20 23:20:21 +01:00
Robert von Burg d1a1b89194 [Bugfix] fixed PostgreSqlQueryVisitor due to querying orders in resource
This only happened when the query had a ParameterSelection
2014-12-03 18:12:41 +01:00
Robert von Burg 1844a4aee6 [Minor] removed the setting of the locale from HTTP Headers 2014-12-02 23:24:03 +01:00
Robert von Burg fd07280edf [Minor] don't send whole strack trace to client 2014-11-28 22:50:10 +01:00
Robert von Burg 50b341a498 [New] Updated ch.eitchnet.utils 2014-11-28 22:49:32 +01:00
Robert von Burg a119dfad0a [New] added StrolchTransaction.get*By() with assertExists flags 2014-11-22 12:26:21 +01:00
Robert von Burg 765b040cf9 [Major] Added writing of TimedStates in StrolchElementToSaxVisitor 2014-11-19 07:52:42 +01:00
Robert von Burg 3d66c33e7f [Minor] adding environment in logging when setting up container 2014-11-14 22:59:50 +01:00
Robert von Burg ce34dd4d5d [Minor] adding environment in logging when setting up container 2014-11-14 22:58:30 +01:00
Robert von Burg 9b61277518 [Minor] removed useless logger in ConfigurationSaxParser 2014-11-14 22:51:46 +01:00
Robert von Burg 84d287dca4 [New] rest logging configuration: 'restLogging' 'restLoggingEntity' 2014-11-14 16:43:44 +01:00
Robert von Burg 7e68717d99 [New] rest logging configuration: 'restLogging' 'restLoggingEntity' 2014-11-14 16:41:46 +01:00
Robert von Burg bdaceb46f7 [Minor] only show rest trace summary on stage and prod 2014-11-14 16:13:54 +01:00
Robert von Burg 4c637ea144 [New] rest tracing configuration: 'restTracing' 'restTracingThreshold' 2014-11-14 16:03:43 +01:00
Robert von Burg cb5839d37a [Minor] allow dataInitialization if schemaDrop is disabled 2014-11-14 15:05:16 +01:00
Robert von Burg 3bb04c245f [Major] updated expected db_version to 0.2.1 2014-11-14 13:38:19 +01:00
Robert von Burg b55256ddad [Bugfix] Fixed wrong parsing of StringListParameter string value
Oh boy... how could i not trim the valeus!? =)
2014-11-14 12:43:04 +01:00