Commit Graph

104 Commits

Author SHA1 Message Date
Robert von Burg 7b8defc56f [New] added StrolchQuery.getSelection() and cleaned up some constants 2014-08-04 14:50:56 +02:00
Robert von Burg bf4c23e241 [New] Implemented StrolchDao.hasElement() 2014-08-04 11:47:44 +02:00
Robert von Burg 62265da046 [Minor] fixed typo 2014-07-31 22:59:27 +02:00
Robert von Burg 68a69f6319 [Bugfix] never ever return your own set!
Fixed issue where querying the keyset returned the actual set, thus
modifying the set caused modifications in the ElementMap
2014-07-31 22:22:46 +02:00
Robert von Burg 57607ae23c [Bugfix] fixed concurrent modification of list when removing elements 2014-07-31 16:35:29 +02:00
Robert von Burg ddf7c95bb5 [Major] added new methods ElementMap.removeAll() 2014-07-31 16:11:46 +02:00
Robert von Burg 281ce4e826 [New] Added a DataRange parameter selection 2014-07-31 09:42:41 +02:00
Robert von Burg a80c24a82b [Minor] enums has abstract methods... 2014-07-15 18:51:34 +02:00
Robert von Burg 87ee16e33b [New] Added AbstractConfiguration.getDataDir()
This is a convenience method to get a certain directory in the data path
of a strolch runtime.
2014-06-28 01:06:21 +02:00
Robert von Burg 76274b81c8 [New] Added a ElementMap.getTemplate()-method
This really simplifies the working with templates in Strolch. Just know
the type of template, retrieve it, clone it and then set your values.
2014-06-28 01:05:13 +02:00
Robert von Burg a087f4a624 [Minor] fixed compiler warning 2014-06-13 17:33:53 +02:00
Robert von Burg 028d198f79 [Minor] fixed test which breaks on Java8 2014-06-13 17:23:56 +02:00
Robert von Burg 791e8b7416 [Major] No more static persistence of a Privilege Certificate
Now the certificate is passed into the Service before execution.

This is better than having a static reference which can always lead to
weird behaviour, especially when multiple ClassLoaders come into play.
2014-04-15 19:20:13 +02:00
Robert von Burg f714da28f2 [New] Added ElementMap.getBy(String, Parameter)
This allows to query elements by using a StringParameter which is a
reference to another element.
2014-03-31 21:36:12 +02:00
Robert von Burg 86105eaba2 [Minor] Added exception when adding a resource which already exists 2014-03-29 02:07:05 +01:00
Robert von Burg 54375f1b8d Merge branch 'master' of git@github.com:eitch/li.strolch.agent.git 2014-03-19 20:28:16 +01:00
Robert von Burg 8f382caac6 [Bugfix] fixed problem stopping component that throws exception
Now we are sure that if a component fails to stop or destroy, we catch
the situation and carry on stopping the others. This handling is not
done when starting, as there we don't want to finish starting the agent
if something goes wrong.
2014-03-19 20:24:06 +01:00
Robert von Burg b50863d897 [Project] fixed urls of projects 2014-03-14 14:38:08 +01:00
Robert von Burg 62b0d407b0 [Minor] Accessing the realms through the container 2014-03-14 14:38:08 +01:00
Robert von Burg 2894b5b157 [Bugfix] Fixed two bugs in CachedElementMap
First bug was a situation where the update() method returned a list of
null elements due to removing and then trying to "replace" the existing
element.

Then fixed a bug where when an element was removed its ID was not
removed the key set.
2014-03-10 22:33:22 +01:00
Robert von Burg c7cb42724e [Major] Multiple issues
- Documented ComponentContainer.getComponent()
- StrolchRealm try lock timeout is configurable
- added DataStoreMode.isTransient()
- documented Command
- fixed lower case name attributes in Enums.xml
2014-03-03 23:30:35 +01:00
Robert von Burg 66e70fce75 [New] Implemented StrolchTransaction.addCommand(), Command.undo()
Commands are now supposed to be added to the StrolchTransaction so that
when a TX is committed, the commands are first verified and then
Command.doCommand() is called.

But most important of all, in case of an exception, Command.undo() is
called so that each Command can properly undo its changes so that also
in memory changes are rolled back.
2014-02-26 20:43:26 +01:00
Robert von Burg b8981cc592 [New] Implemented Command.undo() for all commands
This lead to the ElementMaps returning replaced elements when calling
update() or updateAll().

Further now the StrolchTransaction has methods to check the state easier
than comparing with the TransactionState enum
2014-02-25 21:21:42 +01:00
Robert von Burg 9f3cbf06f1 [New] Implemented locking for Strolch elements
Also cleaned up hierarchy of StrolchTransaction by moving up everything
into AbstractTransaction as made sense and added special delegation
methods for the actual commit() and rollback() ind the concrete
implementations.
2014-02-24 21:47:45 +01:00
Robert von Burg d6ebf330c7 [New] Implemented separate DataStoreMode for each StrolchRealm
added new component state mode SETUP which is before initialize which is
where configurations can be loaded, but no other components may be used
2014-02-19 00:09:25 +01:00
Robert von Burg 14de9b29df [New] Implemented separate DataStoreMode for each StrolchRealm 2014-02-17 22:07:54 +01:00
Robert von Burg c1a84fc480 [Bugfix] fixed NPE when CLI argument is missing 2014-02-17 21:46:23 +01:00
Robert von Burg a7e4faa5c1 [Minor] added protected logger field to Command 2014-02-14 21:45:09 +01:00
Robert von Burg e4d5f9623f [Bugfix] fixed bug where InMemory realms were not separated
InMemoryPersistenceHandler did not keep separate DAOs for each realm, so
that the realms were not separated in memory
2014-02-13 22:20:56 +01:00
Robert von Burg 8767f8c953 [Minor] added DBC check for empty realm name 2014-02-07 16:46:54 +01:00
Robert von Burg a90b8abf20 [Major] refactoring use of BooleanSelection in StrolchQuery 2014-02-03 08:03:15 +01:00
Robert von Burg 13db5f5cc8 [Minor] using Deque instead of Stack 2014-02-01 13:47:31 +01:00
Robert von Burg 9620d374ed [New] Added NotSelector and implemented InMemory*QueryVisitor 2014-02-01 13:13:31 +01:00
Robert von Burg f857c0b5c0 [Minor] switched to StringHelper.isNotEmpty() 2014-01-31 19:03:07 +01:00
Robert von Burg e72481eddd [New] modified the Selection to have a builder pattern
Further modified the StringParameterSelection to allow for contains and
case insensitive querying

Removed remaining nls warnings
2014-01-31 15:55:45 +01:00
Robert von Burg 9c9087250f [New] Implemented Export and Import model services and commands 2014-01-30 00:21:03 +01:00
Robert von Burg 4f9a8ae0d4 [New] Implemented an EnumHandler 2014-01-28 22:07:17 +01:00
Robert von Burg 6db47346da [Minor] catch AccessDeniedException and throw StrolchException
we don't want to propagate why a user can't log in if credentials are
not correct
2014-01-27 20:30:49 +01:00
Robert von Burg 6d6ed977b4 [Major] changed constructor of StrolchComponent
Should have interface ComponentContainer in constructor
2014-01-25 22:14:08 +01:00
Robert von Burg 00ef07478a [Project] added Jenkins build badge to README.md 2014-01-23 22:52:31 +01:00
Robert von Burg 0f8b7fd3a7 [New] added version info metadata to agent 2014-01-23 22:00:22 +01:00
Robert von Burg bee3c353ab [Bugfix] fixed a bug where components were started multiple times
This occurs when multiple upstream dependencies are shared by components
. When starting the container the root upstream dependencies are started
and then all those direct downstream dependencies, leading to components
being started multiple times.
2014-01-22 08:03:05 +01:00
Robert von Burg 11fbf61cb3 [New] Added ComponentContainer.getRealmNames()
Now it is possible to iterate over the configured realms. This is used
in the li.strolch.rest project to build an inspector of the agent
2014-01-17 12:32:22 +01:00
Robert von Burg 06c3c816da [New] added querySize() methods to ElementMap 2014-01-15 22:09:19 +01:00
Robert von Burg ae9a65393f [Minor] added additional constructor to pass state and error msg 2014-01-14 23:25:59 +01:00
Robert von Burg a82cb7ae39 [Minor] added ServiceResult.error(String) 2014-01-13 22:29:39 +01:00
Robert von Burg fa72314fcf [Bugfix] fixed broken synchronisation in CachedElementMap
It is still not completely clear if this is correct - tests will follow
- but this is certainly better than before...
2014-01-13 20:13:27 +01:00
Robert von Burg 4c71dcfa3f [New] Implemented StrolchTransaction.findElement(Locator)
Now using a locator, it is possible to query a StrolchElement. It is
possible to query top level i.e. Resource/Order or ParameterBag, or
Parameter.
2014-01-13 19:10:14 +01:00
Robert von Burg a446a25a2e [Major] Implemented CACHED mode
This lead to refactoring of other code:
 - removed get*Dao() from StrolchTransaction
 - added StrolchTransaction.getPersistenceHandler()
 - removed unused variables in TransactionalElementMap
   - this lead to removal of constructors in subclasses
 - added ComponentContainer.getDataStoreMode()
 - added ElementMap.addAll(), removeAll() and updateAll() methods
   - implemented in all ElementMap implementations
2014-01-11 17:39:14 +01:00
Robert von Burg 62affa815c [Major] moved the package li.strolch.runtime.agent to li.strolch.agent 2014-01-10 23:22:45 +01:00