Robert von Burg
acf3b3ff6c
[Minor] Added JavaDoc to search API
2018-06-22 11:11:15 +02:00
Robert von Burg
d3375455d6
[Minor] catch exception on stop in StrolchComponents
2018-06-21 17:54:02 +02:00
Robert von Burg
81a080ebd1
[Minor] Change logger in ComponentContainerImpl.java
2018-06-20 13:42:41 +02:00
Robert von Burg
6b9d168a0b
[Project] Logging exceptions in DefaultPolicyHandler
2018-06-18 19:39:18 +02:00
Robert von Burg
0c6a8b9ba0
Revert "[Minor] Throw exception if policy is missing proper constructor"
...
This reverts commit abf508c
2018-06-18 18:50:14 +02:00
Robert von Burg
abf508cc6b
[Minor] Throw exception if policy is missing proper constructor
2018-06-18 18:46:44 +02:00
Robert von Burg
7b2ab07ada
[Minor] Add tests for ListParameter isIn() search
2018-06-18 11:09:44 +02:00
Reto Breitenmoser
2ca0d91cd3
[Minor] check for collections on both side
2018-06-17 20:55:28 +02:00
Robert von Burg
ac7ef5d1fc
[Major] Refactored StrolchJob to handle exceptions and log execution
2018-05-26 13:21:50 +02:00
Robert von Burg
c321712150
[Major] Refactored PosgreSQL persistence for easier extension
2018-05-26 13:21:22 +02:00
Robert von Burg
f8e9c5321c
[Minor] Better logging in DefaultLockHandler
2018-05-18 08:26:50 +02:00
Robert von Burg
710a989ce5
[Fix] throw exception after logging in StrolchSystemAction
2018-05-16 17:52:44 +02:00
Robert von Burg
1e616f0616
[Major] Refactored searching to allow for coercing of left side
2018-04-20 20:49:31 +02:00
Robert von Burg
7deafa533d
[New] Added isIn() as new search predicate
2018-04-19 18:11:31 +02:00
Robert von Burg
164fc0ac80
[New] Added array as AND searching in contains*()
2018-04-19 12:21:48 +02:00
Robert von Burg
1729460784
[Fix] Set new date on Order template in CachedOrderMap
2018-04-18 17:15:45 +02:00
Robert von Burg
f8ea8998b1
[Minor] Fixed JavaDoc due to doclint errors
2018-04-04 16:02:45 +02:00
Robert von Burg
7bf427edee
[Fix] Fix broken Cached mode due to change in TransientElementMap
2018-03-27 17:20:29 +02:00
Robert von Burg
f7e083b794
[Fix] Fix broken Cached mode due to change in TransientElementMap
2018-03-27 16:51:33 +02:00
Robert von Burg
825f8de64d
[Major] simplified API for fluent API in StrolchSearch
...
No matter how hard you try, you can't have an API be good the first round
2018-03-27 14:58:54 +02:00
Robert von Burg
5befc47268
[Minor] Code cleanup in TransientElementMap
2018-03-27 14:14:59 +02:00
Robert von Burg
0c61d563f5
[Minor] Add forEach method on SearchResult
2018-03-26 16:30:39 +02:00
Robert von Burg
77ea06d781
[Major] simplified API for fluent API in StrolchSearch
2018-03-26 14:49:05 +02:00
Robert von Burg
a53c9a0e46
[Major] simplified API for fluent API in StrolchSearch
2018-03-26 14:48:12 +02:00
Robert von Burg
277a57dda3
[Minor] Cache PrivilegeContext in StrolchTransaction
2018-03-23 17:11:35 +01:00
Robert von Burg
2907df815a
[Project] Added privilege StrolchSearch
2018-03-20 07:46:50 +01:00
Robert von Burg
86b65f8697
[Major] Removed petitparser, using StrolchSearch in REST API
2018-03-20 07:46:28 +01:00
Robert von Burg
fee696a5ef
[Fix] Fixed compile errors
2018-03-14 10:10:01 +01:00
Robert von Burg
73744d0931
[Fix] Fixed compile errors
2018-03-14 09:33:50 +01:00
Robert von Burg
4689af6ee0
[Major] Implemented GenericSearch for internal use
2018-03-14 09:08:33 +01:00
Robert von Burg
50fbafde45
[Major] Implemented GenericSearch for internal use
2018-03-14 09:04:07 +01:00
Robert von Burg
9bd0d43f50
[Major] Better generics support in Search API, includin ExpressionBuilder
2018-03-14 08:09:29 +01:00
Robert von Burg
131b4bdf83
[Fix] Fixed broken test
2018-03-13 22:09:30 +01:00
Robert von Burg
75d79544af
[Major] Implemented new search API using Streams
2018-03-13 17:51:24 +01:00
Robert von Burg
d3b5fa5128
[Major] Moved query classes to li.strolch.agent
2018-03-12 18:13:46 +01:00
Robert von Burg
44bb21a43f
[Fix] DefaultLockHandler uses ConcurrentHashMap
2018-03-10 15:17:30 +01:00
Robert von Burg
7e30e0c78d
[Minor] Use tx ind InMemoryElementListener instead of ElementMaps
2018-03-09 12:45:23 +01:00
Robert von Burg
42c500d677
[Minor] clear cache when flushing
2018-03-09 10:49:00 +01:00
Robert von Burg
5fcf08e4eb
[New] Added tx.clearCache()
2018-03-09 10:27:28 +01:00
Robert von Burg
742e436a93
[Major] Implemented caching of data in AbstractTransaction
2018-03-08 18:07:11 +01:00
Robert von Burg
caeed3d670
[Minor] Fix in TransientElementMap.java
2018-03-08 18:07:11 +01:00
Robert von Burg
676bb9c11e
[Fix] Fixed broken tests
2018-02-28 09:04:49 +01:00
Robert von Burg
c66f7c2805
[Major] Implement StrolchElement.isReadOnly() and .setReadOnly()
...
Modifying a read only element causes an exception. Retrieving elements from the TX, or directly from the ElementMap returns a clone, so nothing changes there. But elements returned by a query will have their readOnly flag set, thus if these are modified, then they need to be cloned first.
2018-02-27 14:46:23 +01:00
Robert von Burg
315879ebe1
[Major] (Re-)Implemented XML Persistence
2018-02-27 09:00:26 +01:00
Robert von Burg
8e4a1c7ac3
[Fix] Set initial version when updating in TransientElementMap
2018-02-20 12:04:11 +01:00
Robert von Burg
a2a0645f3b
[Minor] Log exceptions of StrolchSystemAction
2018-02-20 09:47:35 +01:00
Robert von Burg
aac4ad2fd9
[Fix] Swapped enableDelayedObserverUpdates
2018-02-13 17:59:01 +01:00
Robert von Burg
f3ea159052
[Major] RIP transactional mode
2018-02-09 22:16:34 +01:00
Robert von Burg
0d42defd2a
[Major] Reworked visitors: StrolchElement.accept(StrolchElementVisitor)
2018-02-09 11:32:50 +01:00
Robert von Burg
a5f9d655b8
[Fix] Remove version of parsed files in inspector
2018-02-02 11:56:41 +01:00
Robert von Burg
ba115b70c4
[Fix] Remove version of parsed files in inspector
2018-02-02 11:50:00 +01:00
Robert von Burg
a7a33e4e0c
[Minor] logger change in TransientRealm
2018-01-10 18:27:05 +01:00
Robert von Burg
50c379d06d
[Major] Using executor pools with names in StrolchAgent
2017-12-19 14:54:57 +01:00
Robert von Burg
6328827f9e
[Minor] Fixed logging in CachedElementMap
2017-12-07 11:01:12 +01:00
Robert von Burg
04f4fed0ba
[New] Added toJson() to ServiceResult, ModelStatistics
2017-11-29 16:56:36 +01:00
Robert von Burg
2d60a352b4
[Fix] Fix not allow to re-add removed element with versioning enabled
2017-11-01 10:15:21 +01:00
Robert von Burg
49d5e41fe5
[Minor] Also log for which parameter the element was not found
2017-10-27 09:20:04 +02:00
Robert von Burg
d44da5b587
[New] Added StrolchEnum.keySet()
2017-10-25 09:41:07 +02:00
Reto Breitenmoser
b89aa885d4
[Minor] set new creation date for template orders
2017-10-21 21:04:19 +02:00
Robert von Burg
c0bf2ae428
[Major] Refactored GenericReport into Policies for extension
2017-10-18 13:11:39 +02:00
Robert von Burg
394c3735e3
[New] Added StrolchTransaction.getResourceFor(Action)
2017-10-12 16:12:39 +02:00
Robert von Burg
5c5a3afbbc
[Fix] re-run add model change commands in TX, as commands create new
2017-10-10 12:06:37 +02:00
Reto Breitenmoser
4adac09ab5
[Minor] set username from certificate
2017-10-09 21:44:49 +02:00
Reto Breitenmoser
283a78bdfa
[Minor] added authenticateSingleSignOn method
2017-10-08 21:19:30 +02:00
Robert von Burg
adf53dd49f
[Major] Implemented SingleSignOn facility for Privilege
2017-10-06 16:59:22 +02:00
Robert von Burg
4087608e1a
[Fix] Throw Exception on programmer mistake if no commitOnClose with +
2017-10-05 09:54:42 +02:00
Robert von Burg
45a385920d
[Fix] Fixed NPE in AbstractTransaction.needsCommit()
2017-10-04 14:27:13 +02:00
Robert von Burg
dad2f35b16
[Major] Multiple changes to StrolchTransaction:
...
New:
- needsCommit() -> return true if objects or commands are registered
- hasResource()
- hasOrder()
- hasActivity()
Changes:
- When tx.add(), update() or remove() is called, then get*Template(), or get*By() check the internal cache and thus e.g. a new resource is immediately available.
- the has*()-methods also check the internal cache, thus the need to get the underlying maps should now no longe be required in normal TX use.
2017-10-04 13:10:20 +02:00
Robert von Burg
2c5dddd893
[Major] rename add/update/remove methods in StrolchTransaction
2017-10-03 11:41:30 +02:00
Robert von Burg
90a81b6725
[Major] Rename DO_NOTHING as READ_ONLY in StrolchTransaction
2017-10-03 11:37:01 +02:00
Robert von Burg
84d3ca4666
[Minor] Some code cleanup for JDK 9
2017-09-29 16:21:21 +02:00
Robert von Burg
2cb799dfb4
[Major] Removed the need for javax.xml.bind.* imports. Using gson
2017-09-29 15:57:21 +02:00
Robert von Burg
76e7403974
[Project] Update all dependencies and plugin dependencies in pom.xml
2017-09-28 19:11:34 +02:00
Robert von Burg
4bcddc4e3b
[Major] Removed MainStarter.java as never used
2017-09-28 13:32:57 +02:00
Robert von Burg
592fce0e88
[Minor] tx.add*() -> remove check for existing. Need deeper fix
2017-09-27 20:52:10 +02:00
Robert von Burg
3310bb8766
[Minor] Fix compile warnings
2017-09-26 15:01:02 +02:00
Robert von Burg
1a2752039f
[Project] logback is now a compile time dependency
2017-09-25 12:17:16 +02:00
Reto Breitenmoser
361d52201f
[Project] added logback as compile dependency
2017-09-24 18:13:51 +02:00
Robert von Burg
fd4d428000
[New] It is now possible to override a logging
...
Just add a logback.xml file with the appropriate configuration in the
config folder and it will be loaded automatically.
2017-09-20 17:41:24 +02:00
Robert von Burg
060692a5c1
[Fix] Fixed RuntimeConfiguration.getConfigFile()
2017-09-20 17:40:34 +02:00
Robert von Burg
d0aa763f6a
[New] Added StrolchJob for recurring jobs
2017-09-15 10:35:37 +02:00
Robert von Burg
4153c9bb14
[Minor] Throw exception if forget to commit
2017-09-08 18:51:23 +02:00
Robert von Burg
97a0c076a4
[Minor] Throw exception if forget to commit
2017-09-08 18:48:53 +02:00
Robert von Burg
d2f19dca5d
[Minor] Small memory consumption improvement
2017-08-30 16:31:44 +02:00
Robert von Burg
5461d04f4e
[New] StrolchAgent now instantiates executor services for async work
2017-08-30 14:34:19 +02:00
Robert von Burg
9e47eb4070
[Fix] Fixed error due to objectFilter noch flushed
2017-08-24 16:44:09 +02:00
Robert von Burg
a27e9a2999
[Project] Set new snapshot version 1.6.0-SNAPSHOT
2017-08-24 14:11:29 +02:00
Robert von Burg
2863a5746b
[Fix] Fixed wrong filtering of resources
2017-08-18 09:46:54 +02:00
Robert von Burg
f2cdea3b7d
[Major] Changes in LogMessage, not using ID for equals
2017-08-16 11:23:44 +02:00
Robert von Burg
27b6beff03
[Fix] Use certificate username, if firstname and lastname null
...
- but only for agent users
2017-08-08 14:58:01 +02:00
Robert von Burg
c79f1d6ae6
[Fix] Returning 401 if session is invalid, 403 for privilege
2017-07-26 15:15:20 +02:00
Robert von Burg
e71b7b018b
[Major] Now exposing StrolchTransaction.assertHasPrivilege()
...
Enforcing privilege checking was a bad idea
2017-07-25 14:12:51 +02:00
Robert von Burg
1183000520
[Major] Implemented privilege checking for DAO
...
Now the PrivilegeConfig.xml must include:
<Policies>
<Policy name="ModelPrivilege"
class="li.strolch.runtime.privilege.ModelPrivilege" />
</Policies>
And PrivilegeRoles.xml must include:
<Role>
<Privilege name="GetResource" policy="ModelPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
<Privilege name="GetOrder" policy="ModelPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
<Privilege name="GetActivity" policy="ModelPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
<Privilege name="AddResource" policy="ModelPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
<Privilege name="AddOrder" policy="ModelPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
<Privilege name="AddActivity" policy="ModelPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
<Privilege name="UpdateResource" policy="ModelPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
<Privilege name="UpdateOrder" policy="ModelPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
<Privilege name="UpdateActivity" policy="ModelPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
<Privilege name="RemoveResource" policy="ModelPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
<Privilege name="RemoveOrder" policy="ModelPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
<Privilege name="RemoveActivity" policy="ModelPrivilege">
<AllAllowed>true</AllAllowed>
</Privilege>
</Role>
2017-07-24 20:07:10 +02:00
Robert von Burg
c0cc6f57cb
[Major] Added add, update and remove methods to TX for elements
...
Moved add, update and remove commands to agent package
2017-07-24 13:51:17 +02:00
Robert von Burg
e459b561b8
[Major] LogMessage now has an ID which is used in OperationsLog
2017-06-15 13:33:14 +02:00
Robert von Burg
9b92d2fdbc
[Major] Refactored LogMessage to use ResourceBundle, instead of bundleId
2017-06-14 17:58:13 +02:00
Robert von Burg
08631498dc
[Major] Creating LogMessages for exceptions in Migrations, TX, Execution
2017-06-14 15:54:58 +02:00
Robert von Burg
0badb0fc01
[Minor] Log duration of state changes in components
2017-06-07 15:53:10 +02:00
Robert von Burg
4c9e66876a
[Major] Privilege passwords are now salted!
2017-05-22 14:37:48 +02:00
Robert von Burg
f87c42f399
[Project] switched tests to use logback-classic
2017-05-22 09:50:48 +02:00
Robert von Burg
d5514e772c
[Minor] Fixed deprecation in MainStarter
2017-05-18 15:02:58 +02:00
Robert von Burg
3622339896
[Major] Total refactoring of StrolchElementVisitor hierarchy
2017-05-17 09:20:27 +02:00
Robert von Burg
42c623cea6
[Major] Added Service.getArgumentInstance()
2017-05-16 15:18:38 +02:00
Robert von Burg
3f7c959865
[New] Added new EventCollectingObserverHandler
...
This observer handler is enabled with the additional boolean
configuration <enableDelayedObserverUpdates> and allows for less updates
to observers as they are cached
2017-05-16 14:29:59 +02:00
Robert von Burg
f1216f8825
[Major] Now throwing exception if TX is not committed but has commands
2017-05-16 14:28:32 +02:00
Robert von Burg
b68b74aade
[Fix] Fixed InMemoryTransaction marked committed on flush
2017-05-09 12:30:53 +02:00
Robert von Burg
b302c3f19e
[Fix] Fixed wrong exception message when asserting *-Ref parameters
2017-05-08 19:07:51 +02:00
Robert von Burg
96ed97132b
[New] StrolchTransaction.findElement() override for allowing null
2017-05-03 15:31:26 +02:00
Robert von Burg
22538dc7fa
[Major] New implementation of ObserverHandler for async updates
2017-05-02 16:07:55 +02:00
Robert von Burg
d1a392f025
[Major] Changed the behaviour of the EventBasedExecutionHandler
...
Now execution is always performed asynchronously for each Action and an
Activity should be added to the ExecutionHandler by calling
.addForExecution(), so that it is executed later even if an action
couldn't be executed to it being reserved (for instance).
2017-04-22 19:25:27 +02:00
Robert von Burg
c835ef2735
[Minor] Cleaned up use of new FileInputStream
2017-04-11 11:04:46 +02:00
Robert von Burg
6afba02c59
[Major] Implemented querying Activities by state and resolves #3
2017-04-06 10:02:04 +02:00
Robert von Burg
fbb2bc85db
[Minor] Small logging changes
2017-04-06 08:42:05 +02:00
Robert von Burg
801f792771
[Minor] Added StrolchComponent.openTx() methods
2017-03-29 14:14:25 +02:00
Robert von Burg
fa7309cb19
[New] Added StrolchElementQuery.internal()
2017-03-01 01:37:55 +01:00
Robert von Burg
89739717f2
[Major] Refactored LockHandler to use Locator
...
This is required because in certain instances it is important to lock
the object before retrieving it, otherwise if, for instance in
execution, we would need to fetch, lock and re-fetch to be sure we have
the latest object.
In moste of the Update*Commands this is not important as we perform a
list commit wins, where the client wants their version to be persisted.
Later a optimistic locking can be performed in that the given version
must be the latest, otherwise an exception would be thrown
2017-02-22 12:14:23 +01:00
Robert von Burg
5c8ccabd7f
[New] Added new ReservationExection to reserve resources
2017-02-20 17:32:44 +01:00
Robert von Burg
f086143e82
[Minor] JavaDoc updates for StrolchRealm
2017-02-17 17:37:41 +01:00
Robert von Burg
743709f103
[Fix] Added missing activity observer calls in AbstractTransaction
...
- also updated JavaDoc of ObserverHandler
- and only perform observer updates if element list are not empty
2017-02-17 17:26:37 +01:00
Robert von Burg
834fab7601
[New] Added StrolchConfiguration.getComponentConfiguration(Class)
2017-02-17 13:38:21 +01:00
Robert von Burg
3770e7b65c
[Minor] Give component name, when state change invalid
2017-02-17 13:37:35 +01:00
Robert von Burg
98532d2f88
[Major] locator for a timed state must have TimedState separator
2017-02-02 12:56:21 +01:00
Robert von Burg
5cdffcc450
[New] Implemented StrolchTransaction.setSuppressAuditsForAudits()
2017-01-31 11:24:27 +01:00
Robert von Burg
6bf3ee1509
[New] Added methods on StrolchTransaction and StrolchComponent
2017-01-23 16:42:08 +01:00
Robert von Burg
905db8c297
[Project] Set new version 1.5.0-SNAPSHOT
2016-11-03 12:07:38 +01:00
Robert von Burg
edcef3e755
Merged branch release/1.4.0 into develop
2016-11-03 11:51:11 +01:00
Robert von Burg
8fd4a5e311
[Fix] Fixed InMemoryElementListener because of versioning
2016-10-24 11:08:41 +02:00
Robert von Burg
f5fc938124
[Minor] Always log original exception if TX fails
2016-10-24 10:45:06 +02:00
Robert von Burg
ba476b2f68
[Minor] Added TODO about .getBy() which returns clone, and querying
2016-10-07 09:38:39 +02:00
Robert von Burg
b775c00f4d
[Major] Implemented ExecutionDuration and fixed deep execution
...
Using the DurationExecution:
<Activity Id="produceBicycle" Name="Activity" Type="ToStock"
TimeOrdering="Series">
<ParameterBag Name="objectives" Id="Objectives" Type="Objectives">
<Parameter Name="Duration" Id="duration" Value="PT0.01S"
Type="Duration" />
</ParameterBag>
<Action Id="produce" Name="Produce" ResourceId="bicycle"
ResourceType="Product" Type="Produce" />
</Activity>
IActivityElement now has a new method .findParameter() to search up the
activity hierarchy to find the element
2016-10-06 20:38:06 +02:00
Robert von Burg
48caa84903
[Major] Refactored SystemAction in privileges
...
Simplified the API, removed the privileged user - now always use the
agent system user for running system actions. One method has no return
value and one has a return value. Now it is easy to perform a system
action using:
runAsAgent(ctx -> {
// do work
});
String result = runAsAgentWithResult(ctx -> {
// do work
return "done";
});
// execute a SystemAction
runAsAgent(action);
// execute a SystemActionWithResult
String result = runAsAgentWithResult(actionWithResult);
2016-09-29 15:54:30 +02:00
Robert von Burg
dd227c65d0
[Major] Refactored SystemAction in privileges
...
Simplified the API, removed the privileged user - now always use the
agent system user for running system actions. One method has no return
value and one has a return value. Now it is easy to perform a system
action using:
runAsAgent(ctx -> {
// do work
});
String result = runAsAgentWithResult(ctx -> {
// do work
return "done";
});
// execute a SystemAction
runAsAgent(action);
// execute a SystemActionWithResult
String result = runAsAgentWithResult(actionWithResult);
2016-09-29 12:26:27 +02:00
Robert von Burg
d86e23b58f
[Fix] Fixed locator finding for Activity and Action
2016-09-23 13:29:02 +02:00
Robert von Burg
d413794213
[Major] Added Activity.TimeOrdering and updated Model XSD
2016-09-23 10:53:37 +02:00
Robert von Burg
5cbbfebf06
[Major] Services now consider Arg realm or user realm
2016-09-22 21:52:36 +02:00
Robert von Burg
dc0a34dc9d
[Project] Set new snapshot version 1.4.0-SNAPSHOT
2016-09-22 11:33:15 +02:00
Robert von Burg
bda16a0f80
[Project] Updated project for deployment to Maven Central
2016-09-22 09:37:55 +02:00
Robert von Burg
e3ea9fa159
[New] When retrieving new templates, then the type and ID is set auto
2016-09-21 15:47:18 +02:00
Robert von Burg
f8165208b1
[New] Added CRUD Services and Commands for Activities
2016-09-21 12:40:23 +02:00
Robert von Burg
657c47aacd
[New] Added get activity template methods on StrolchTransaction
2016-09-21 10:00:51 +02:00
Robert von Burg
55fb3a53c8
[Project] Extended documentation for:
...
- components
- queries
- realms
- services and commands
2016-09-15 18:37:15 +02:00
Robert von Burg
3f2c749659
[Minor] Added AbstractionConfiguration.getAsProperties()
2016-09-08 11:20:06 +02:00
Robert von Burg
bcc0bf4a10
[Major] Now users can reset their own passwords
...
- built in User Challenge feature (currently only console)
- extended REST API to allow user to initiate a challenge and then use
the challenge to authenticate for a one time change password session
2016-09-07 14:41:16 +02:00
Robert von Burg
41f5f22574
[Minor] Allow to override privilegeValue in StrolchElementQuery
...
use this together with the value "internal" to define queries as
internal, so you can make them executable without having to allow all
queries
2016-08-31 12:29:29 +02:00
Robert von Burg
acf3c12313
[Fix] Fixed errors due to new feature versioning
...
* When initializing the version was not set
* template copies had a version set
2016-08-20 18:24:21 +02:00
Robert von Burg
3474d9c890
[Minor] Updated JavaDoc of StrolchTransaction
2016-08-20 13:36:49 +02:00
Robert von Burg
b30b791460
[Minor] Added further methods for setting up a Strolch Agent
2016-08-11 10:51:58 +02:00
Robert von Burg
fa136c966c
[Minor] Privilege sessions should be stored in the temp path, not data
2016-08-11 10:51:30 +02:00
Robert von Burg
07daf34f86
[Major] Implemented opt-in versioning
...
- fixing remaining PostgreSQL DAO tests
2016-08-08 09:30:56 +02:00
Robert von Burg
8c4c8e539e
[Major] Implemented opt-in versioning
...
- Implemented marshalling of Version
- Added further tests for marshalled version
- added version in deep equals
- fixing further tests
2016-08-07 17:47:52 +02:00
Robert von Burg
26961b33cc
[Major] Implemented opt-in versioning
...
- adding versioning tests
- fixing broken tests
- implemented missing PostgreSQL DAO methods
2016-08-07 11:49:36 +02:00
Robert von Burg
9dc09515e9
[Major] Implemented opt-in versioning
...
Now all root elements have a version, and if the realm has versioning
enabled, then actions through the ElementMap lead to new versions being
created. There are also methods to revert/undo changes to an object.
Some tests are still failing, this will be fixed later
2016-08-05 20:24:23 +02:00
Robert von Burg
0703103d3b
[Major] Refactored object hierarchy and added version to objects
...
- New ParameterBagContainer interface for GroupedParameterizedElement
- StrolchRootElement extends ParameterBagContainer
- StrolchRootElement is now required in Queries, not StrolchElement
- New Version object on StrolchRootElement
2016-07-31 14:56:57 +02:00
Robert von Burg
612745098b
[Project] Set new SNAPSHOT version 1.3.0-SNAPSHOT
2016-07-05 09:57:44 +02:00
Robert von Burg
611a7c670a
[Project] Set new SNAPSHOT version 1.2.1-SNAPSHOT
2016-07-05 09:56:56 +02:00
Robert von Burg
e15b93e690
[Project] Set version 1.2.0
2016-07-05 09:52:34 +02:00
Robert von Burg
11ba7eb1de
[Major] Moved ch.eitchnet to li.strolch
2016-06-26 11:38:41 +02:00
Robert von Burg
3b7e5200fa
[Project] Removed parent
2016-06-24 18:05:45 +02:00
Robert von Burg
14197ed644
[Major] Cleaning up parents
2016-06-24 18:00:44 +02:00
Robert von Burg
c404c56b8a
[Major] Refactored startup so a Version must always be set
...
This implies having an appVersion.properties in each project which is an
actual Strolch app.
2016-04-06 21:25:59 +02:00
Robert von Burg
a74508ba12
[WIP] Added Resource table loading to planning web
2016-04-01 18:24:35 +02:00
Robert von Burg
0cadf66f3f
[Major] Refactored Privilege to use separate mode files
...
So now users and roles are in their own files. This makes it far easier
to add new privileges without needing to take care if the user changed
their data.
2016-02-28 19:54:17 +01:00
Robert von Burg
8344c75d39
[Major] Refactored setup of StrolchAgent using StrolchBootstrapper
...
Now instead of instantiating StrolchAgent and calling the method
setup(), instantiate StrolchBootstrapper and call one of the setup
methods which is appropriate to your use-case.
New feature is to use a StrolchBootstrap.xml to configure the
environment, root, config and data paths. Each can be defined by
environment and overridden, etc.
2016-02-27 13:32:18 +01:00
Robert von Burg
e2b3e5f7b0
[Minor] removed unnecessary else
2016-02-10 17:48:18 +01:00
Robert von Burg
3502a4adad
[Minor] Removed redundant types (diamond operator)
2016-02-10 17:46:50 +01:00
Robert von Burg
0473b472b3
[Major] Added PolicyContainer interface
...
Resource, Order, Activity and Action now implement this interface and Command.getPolicy() now takes a PolicyContainer as a parameter.
2016-02-10 17:37:50 +01:00
Robert von Burg
e6697eb9c2
[Fix] Fixing startup race condition on timeout of old sessions
2015-11-20 19:58:46 +01:00
Robert von Burg
292050a8f9
[New] Use InvalidCredentialsException
2015-10-23 18:22:05 +02:00
Robert von Burg
a22a6db408
[Fix] fixed compiler error
2015-10-16 17:59:20 +02:00
Robert von Burg
c37fd20efb
[Major] Added persisting and reloading of sessions
2015-10-16 17:21:49 +02:00
Robert von Burg
60300ab21d
[New] Added AbstractService.runPrivilege()
...
- This runs the given action as the system user 'privileged'
2015-10-08 22:09:45 +02:00
Robert von Burg
d8a68f26fd
[New] Added helper methods for running as a system user
2015-10-08 12:32:02 +02:00
Robert von Burg
b9f3e5d13c
[New] Added better exception messages
2015-10-08 12:30:52 +02:00
Robert von Burg
4de7dfba85
[New] TransientRealm now disallows updates, i.e. duplicates in XML model
2015-08-24 09:50:46 +02:00
Robert von Burg
4e6f7a916f
[Minor] also log situations where no service state is returned
2015-08-24 09:41:24 +02:00
Robert von Burg
7414081cbc
[Major] Added StrolchPolicy.undo() and Command.getPolicy()
2015-08-22 23:00:50 +02:00
Robert von Burg
cde640d511
[Major] Added StrolchPolicy.undo()
...
- and from now on we don't use interfaces anymore. We use abstract
classes with StrolchPolicy as the super class.
- it would be lovely if Java would get rid of interfaces and abstract
classes. We only need one: abstract classes.
2015-08-22 21:16:43 +02:00
Robert von Burg
01a86ca9f7
[Major] Added StrolchPolicy as super class of all Strolch policies
...
- this allows to inject a StrolchTransaction and the ComponentContainer
during instantiation
2015-08-22 20:44:31 +02:00
Robert von Burg
12ca8c4f07
[Major] Refactored package for policies in model project
...
- added additional tests
2015-08-22 15:29:48 +02:00
Robert von Burg
5da07f5824
[Major] Refactored package for policies in model project
...
- added additional tests
2015-08-22 15:09:30 +02:00
Robert von Burg
0e3b3b2a1e
[Minor] [New] Implemented and fixed remaining policy tests
2015-08-22 12:04:41 +02:00
Robert von Burg
ac1885883a
[New] Added Policies
...
You can now add policies to Resources, Orders and Activities:
<Policies>
<Policy Type="PlanningPolicy" Value="key:SimplePlanningPolicy" />
<Policy Type="ExecutionPolicy"
Value="java:li.strolch.policy.execution.TestSimulatedExecutionPolicy" />
<Policy Type="ConfirmationPolicy" Value="key:NoConfirmation" />
</Policies>
And now there is a PolicyHandler to get the Policy:
<Component>
<name>PolicyHandler</name>
<api>li.strolch.policy.PolicyHandler</api>
<impl>li.strolch.policy.DefaultPolicyHandler</impl>
<Properties>
<readPolicyFile>true</readPolicyFile>
<policyConfigFile>StrolchPolicies.xml</policyConfigFile>
</Properties>
</Component>
Which has its own configuration file:
<?xml version="1.0" encoding="UTF-8"?>
<StrolchPolicies>
<PolicyType Type="PlanningPolicy"
Api="li.strolch.policytest.TestPlanningPolicy">
<Policy Key="SimplePlanningPolicy"
Class="li.strolch.policytest.TestSimplePlanningPolicy" />
</PolicyType>
<PolicyType Type="ConfirmationPolicy"
Api="li.strolch.policytest.TestConfirmationPolicy">
<Policy Key="NoConfirmation"
Class="li.strolch.policytest.TestNoConfirmationPolicy" />
</PolicyType>
</StrolchPolicies>
Some tests are still broken at this state - will fix them in the next
commit
2015-08-21 17:38:41 +02:00
Robert von Burg
69eb5ccf38
[Major] Refactored query API
...
- Now added ordering
- added setters for visitors on query
-
2015-08-10 22:21:45 +02:00
Robert von Burg
29a88fe6ab
[New] Added StrolchComponent.getConfiguration()
...
- and thus removed any instance variables to it in subclasses
2015-07-10 10:48:17 +02:00
Robert von Burg
022cf4c5f3
[Minor] Added logging of which environment is loaded from root path
2015-07-09 14:48:32 +02:00
Robert von Burg
cf004e5577
[Minor] Changed TimeState Type from BooleanState to Boolean, etc.
...
- See StrolchValueType for the types of values which Strolch knows about
2015-07-08 07:47:46 +02:00
Robert von Burg
82ce5a7261
[New][Devel] Work in progress of implementing ActivityMap
...
- Creating new maps for transient, transactional and cached mode
- adding to Realms; including initialization
- adding new methods to transactions e.g. getActivityBy(), etc.
- Adding new ActivityDao with InMemory implementation
- extending PersistenceHandler
- fixed compile errors in the rest of the project
Still missing is the implementation in persistence handler and fixing
the tests. Currently no tests were run, just trying to fix compile
errors
2015-06-28 20:42:42 +02:00
Robert von Burg
521bd84ce0
[Major] StrolchComponent methods can now throw Exception
...
- execption handling is done in the ComponentContainerStateHandler
- clients now not need to worry about exceptions which would make them
rethrow anyhow as a runtime exception
2015-06-11 19:19:52 +02:00
Robert von Burg
503bdbe4d6
[Major] refactored SystemUserActions in privilege
...
Now a SystemUserAction is defined as follows:
<Privilege name="ch.eitchnet.privilege.handler.SystemUserAction"
policy="DefaultPrivilege">
<Allow>li.strolch.agent.impl.StartRealms</Allow>
</Privilege>
2015-06-03 23:32:23 +02:00
Robert von Burg
473c852ea6
[New] Added ServiceResult.isNok()
2015-06-01 18:03:11 +02:00
Robert von Burg
9988c426f1
[Minor] added more JavaDoc to StrolchTransaction.findElement()
2015-05-25 22:22:48 +02:00
Robert von Burg
1b9e687d42
[Minor] added NPE check in AbstractTransaction for refPs
2015-05-15 20:14:21 +02:00
Robert von Burg
f07b241ddc
[New] Added feature to ignore a realm on DB init
...
This can be very handy to not start the connection pool for realms which
you know won't connect to the DB (but is not transient) - weird isn't
it? =))
The property is: db.ignore.realm.<realmName>
The actual use case is the following:
- You have a realm which use is used normally and is not transient so
you have a configuration for it
- you have another StrolchComponent which opens its own transactions to
the DB but you only require a subset of the realms so you then use the
ignore property to ignore the other realms.
2015-05-08 18:07:30 +02:00
Robert von Burg
1da65c1131
[Minor] added logging of pool size in PostgreSqlDbConnectionBuilder
2015-05-08 17:41:36 +02:00
Robert von Burg
d3dad2a827
[New] added Integer, Float and ListParameters
...
- including tests, etc.
2015-05-02 13:32:30 +02:00
Robert von Burg
01535fb515
[New] added connection pool properties for PersistenceHandler
...
- e.g. for PostgreSQL enforce pool size:
<db.pool.maximumPoolSize>1</db.pool.maximumPoolSize>
2015-04-30 08:46:18 +02:00
Robert von Burg
a6b320268f
[Minor] code formatting
2015-04-22 13:27:28 +02:00
Robert von Burg
d31e9ffc6d
[Project] Added missing license headers
2015-04-22 13:20:28 +02:00
Robert von Burg
64c6a01083
[Minor] Added doc to Auditing*MapFacades and impl. query auditing
2015-04-22 12:06:20 +02:00
Robert von Burg
31493f2fa1
[Major] PostgreSql now uses HikariCP for connection pooling
2015-04-21 15:04:51 +02:00