Commit Graph

122 Commits

Author SHA1 Message Date
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
Robert von Burg ffc18e06d7 [Major] refactored how transactions are opened
Now the ElementMapHandler is the central object and clients do not use
access DAOs or the PersistenceHandler anymore. This is now transparent.
2014-01-10 19:10:29 +01:00
Robert von Burg cc4a9a4a47 [Major] renamed project li.strolch.runtime to li.strolch.agent 2014-01-10 17:16:32 +01:00
Robert von Burg 8e4128c8a4 [Major] removed project li.strolch.persistence.api
Moved all classes to li.strolch.runtime
2014-01-10 16:50:57 +01:00
Robert von Burg 70d393dcc1 [New] Extended InMemoryElementListener to configure if add or update 2014-01-01 02:18:31 +01:00
Robert von Burg f93d361c4e [Bugfix] fixed a bug where a system action failed in PostInitializer 2013-12-28 12:59:42 +01:00
Robert von Burg 8f056afbb6 [New] added a semi unique id generation to StrolchAgent 2013-12-28 12:58:57 +01:00
Robert von Burg a355452a36 [Minor] removed getResourceMap() and getOrderMap() from StrolchAgent
The clients will be using the container and should not be using the
agent directly
2013-12-27 11:32:14 +01:00
Robert von Burg a514ceec99 [New] Added doQuery() methods to DAOs and hooked up InMemory querying 2013-12-26 01:12:51 +01:00
Robert von Burg 986492854b [Major] TXs are opened from ElementMap and all methods need a TX now 2013-12-26 00:05:06 +01:00
Robert von Burg 4e6322a6f7 [New] EMPTY and TRANSIENT modes now use InMemoryPersistenceHandler
This is to start prepare for using aa TX in every ElementMap method
2013-12-25 23:24:13 +01:00
Robert von Burg ebc9b59dd1 [Minor] reorganized classes for Agent into api and impl packages 2013-12-25 22:30:59 +01:00
Robert von Burg 51fac6a0cf [New] Implemented a mock persistence to test CACHED and TRANSACTIONAL 2013-12-25 22:15:09 +01:00
Robert von Burg 4ce8c9b643 [Major] RuntimeMock now also copies data 2013-12-25 19:04:55 +01:00
Robert von Burg cc0794bf30 [New] Implemented the TRANSACTIONAL mode
Each method on the ElementMap opens and closes its own transactions.
This is not exactly perfect, but still thinking of a better way, than
just using a singleton...
2013-12-25 18:42:23 +01:00
Robert von Burg 169ce6fee7 [Project] separated tests from model 2013-12-25 15:48:36 +01:00
Robert von Burg 1851f63d34 [Bugfix] fixed a situation where the webapp can't init PrivilegeHandler
the situation was that the XmlPersistenceHandler uses the base path 
from the user and not the webapps root
2013-12-25 14:43:20 +01:00
Robert von Burg 8a52a8142c [Minor] fixed issue where eclipse couldn't validate log4j.xml 2013-12-25 11:56:16 +01:00
Robert von Burg 6aaf7a5364 [Minor] better error handling when the agent does not start
Should the agent not be able to start due to configuration problems, 
then the agent must still be stopped, thus state changes in this context
should not lead to exceptions when shutting down.
2013-12-24 16:51:31 +01:00
Robert von Burg 4fd2cf1d0c [Minor] set artifact name to artifactId for easier reading of build log 2013-12-24 02:44:01 +01:00
Robert von Burg 5df4e64e10 [Major] moved OrderDao and ResourceDao factory methods to transaction
It makes using transaction feel easier.
2013-12-24 00:36:33 +01:00
Robert von Burg 435b11c5ef [New] Implemented CACHED mode for Strolch 2013-12-24 00:18:06 +01:00
Robert von Burg 2686e3d7bf [Major] Strolch agent is now fully realm capable
ResourceMap and OrderMap are kept in a StrolchRealm object for each
realm which is configured. This is transparent for the user. When no
realms are defined then the 'defaultRealm' is configured where all
methods without a realm parameter use this realm.

Once a realm is configured, the defaultRealm must be configured if it 
is still to be used at runtime.

Tests make sure realms work, for both transient, and empty situations.
Cached agent mode is next to be implemented
2013-12-23 20:28:49 +01:00
Robert von Burg 0254a74d16 [Major] refactored Element maps for better handling
Now they are not components, now there is an ElementMapHandler which
is the component and the OrderMap and ResourceMap can be retrieved from
the ElementMapHandler
2013-12-23 18:42:50 +01:00
Robert von Burg 8a084d0144 [New] XmlModelFileHandler has been extended with a
XmlModelDefaultHandler
2013-12-23 01:54:58 +01:00
Robert von Burg 663131f821 [Project] Changed all licence references to Apache License 2.0 2013-12-15 13:10:24 +01:00
Robert von Burg 0dfc7e9f4b [New] implemented in memory querying 2013-12-11 23:50:49 +01:00
Robert von Burg 9bea101c9d [Devel] Query engine transparent to the underlying implementation
Currently querying in memory works, now we need the visitor pattern to
abstract away the details of the in memory querying mechanism and allow
other querying mechanisms
2013-11-30 13:13:30 +01:00
Robert von Burg 925a25657a [New] implemented Parameter selection with test.
The ParameterizedElementSelector was still missing.
2013-11-29 08:42:44 +01:00
Robert von Burg a141744068 [New] added missing ModelBuilder class to generate teste data 2013-11-28 21:59:55 +01:00
Robert von Burg 643f846f32 [New] added many querying methods to the ElementMap interface
Implemented it in the InMemoryMap abstraction
2013-11-28 21:58:47 +01:00
Robert von Burg 66e076ea49 [New] added tests for in-memory query 2013-11-28 21:56:58 +01:00
Robert von Burg 4f428afcd1 [New] added missing abstract class StrolchTypeNavigator 2013-11-28 21:56:22 +01:00