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