Robert von Burg
c321712150
[Major] Refactored PosgreSQL persistence for easier extension
2018-05-26 13:21:22 +02:00
Robert von Burg
7bac0953bf
[Minor] Code cleanup
2018-03-27 16:52:00 +02:00
Robert von Burg
2907df815a
[Project] Added privilege StrolchSearch
2018-03-20 07:46:50 +01:00
Robert von Burg
fee696a5ef
[Fix] Fixed compile errors
2018-03-14 10:10:01 +01:00
Robert von Burg
315879ebe1
[Major] (Re-)Implemented XML Persistence
2018-02-27 09:00:26 +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
2d60a352b4
[Fix] Fix not allow to re-add removed element with versioning enabled
2017-11-01 10:15:21 +01: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
f4e1ba83ee
[Minor] code cleanup
2017-09-28 19:09:08 +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
13d8ae3595
[Fix] Also add *.sql to jar
2017-08-22 17:49:58 +02:00
Robert von Burg
2863a5746b
[Fix] Fixed wrong filtering of resources
2017-08-18 09:46:54 +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
5244cf579d
[Fix] fixed broken test
2017-06-21 13:51:56 +02:00
Robert von Burg
ad8f0220e9
[Project] filter all property files
2017-06-20 15:38:46 +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
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
3622339896
[Major] Total refactoring of StrolchElementVisitor hierarchy
2017-05-17 09:20:27 +02:00
Robert von Burg
464fa8ac4a
[Minor] fixed broken test
2017-05-16 15:39:15 +02:00
Robert von Burg
f331babd3d
[Minor] Small fixes
2017-04-25 19:47:15 +02:00
Robert von Burg
476bd0f728
[Fix] Fixed migration scripts and added missing states in DB
2017-04-11 11:05:07 +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
e0149cc4b0
[Major] Removed many visitors and implemented proper visitor pattern...
2017-03-02 16:52:50 +01:00
Robert von Burg
a963b1e94e
Added date range parameter tests
2016-12-07 14:42:07 +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
8c429ccb19
[Fix] Fixed version when loading from PostgreSQL
2016-09-30 10:12:59 +02:00
Robert von Burg
8392ab24d8
[Fix] Fixed PostgreSQL migration script
2016-09-29 17:37:01 +02:00
Robert von Burg
3aea4a223c
[Fix] Fixed PostgreSQL migration script
2016-09-29 17:29:04 +02:00
Robert von Burg
32438778b3
[Fix] Fixed PostgreSQL migration script
2016-09-29 17:20:04 +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
b4bc62d11c
[Major] Implemented first version of Activity execution
2016-09-23 14:03:42 +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
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
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
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
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
14197ed644
[Major] Cleaning up parents
2016-06-24 18:00:44 +02:00
Robert von Burg
05dd0e93ef
[New] Implemented PostgreSQL visitor for AnyTypeParameterSelection
2016-04-08 14:20:16 +02:00
Robert von Burg
8a5c4468c5
[Major] Now using a nice query parser for resource querying in planning
2016-04-05 08:30:40 +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
bab06d3ab5
[Minor] Fixing broken tests due to PostgreSQL driver not loaded
2016-02-27 16:50:04 +01:00
Robert von Burg
e886041ab7
[Minor] Adding deregister of PostgreSQL driver and change to 9.4
...
(Need a break =)) )
2016-02-27 16:35:06 +01:00
Robert von Burg
e2366f3242
[Minor] Adding deregister of PostgreSQL driver and change to 9.4
2016-02-27 16:33:01 +01:00
Robert von Burg
5d557a23c0
[Minor] Adding deregister of PostgreSQL driver and change to 9.4
2016-02-27 16:18:26 +01:00
Robert von Burg
a507c00015
[Minor] Adding deregister of PostgreSQL driver
2016-02-27 16:12:49 +01:00
Robert von Burg
beccdbf4be
[Minor] closing potentially open streams
2016-02-10 17:52:17 +01:00
Robert von Burg
465d949071
[Minor] removed unnecessary cast
2016-02-10 17:48:55 +01:00
Robert von Burg
cbee61577f
[Minor] Caught NPE on shutdown of PostgreSqlPersistenceHandler
2015-11-20 15:20:00 +01: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
203013c93d
[New] Added migration scripts for Activities as version 0.4.0
2015-07-08 07:51:02 +02:00
Robert von Burg
e2ac84ecdc
[New][Devel] Work in progress of implementing ActivityMap
...
- Implemented PostgreSQL persistence
Still missing is the xml persistence implementation and fixing
the tests. Currently no tests were run, just trying to fix compile
errors
2015-06-29 08:34:14 +02:00
Robert von Burg
3a197d6629
[Minor] no need to catch init exception in PostgreSqlPersistenceHandler
2015-06-11 19:19:52 +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
0147a44d7e
Update pom.xml
2015-06-11 11:30:39 +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
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
47881df2ee
[Bugfix] shutdown the connection pool on agent destroy
2015-04-21 16:47:04 +02:00
Robert von Burg
31493f2fa1
[Major] PostgreSql now uses HikariCP for connection pooling
2015-04-21 15:04:51 +02:00
Robert von Burg
0fe7778af5
[Minor] also log exception when fail to parse element from DB XML
2015-04-19 16:38:25 +02:00
Robert von Burg
6bd1ed58ad
[New] Added limit and sorting to Audit query incl. REST API
2015-04-04 18:29:33 +02:00
Robert von Burg
aa11f8098a
[New] Added elementSubType to Audit
2015-04-04 17:53:54 +02:00
Robert von Burg
e163237613
[Minor] fixed broken tests
2015-04-03 13:37:56 +02:00
Robert von Burg
819ae53708
[Minor] added missing PrivilegePolicies:
...
<Policy name="RoleAccessPrivilege"
class="ch.eitchnet.privilege.policy.RoleAccessPrivilege" />
<Policy name="UserAccessPrivilege"
class="ch.eitchnet.privilege.policy.UserAccessPrivilege" />
2015-03-12 18:05:46 +01:00
Robert von Burg
5ffc03f115
[Minor] removed reference to non existing role PrivilegAdmin in users
2015-03-12 18:01:02 +01:00
Robert von Burg
5675027f6c
[Minor] removed the PrivilegeAdmin role from all PrivilegeModel.xml
2015-03-12 17:43:42 +01:00
Robert von Burg
5602f56c15
[Major] allow user to change their own locale incl. auto persist
2015-03-08 21:44:35 +01:00
Robert von Burg
e961aa8cd3
[Project] Bumped version from 1.2.0-SNAPSHOT to 1.1.0-SNAPSHOT
2015-03-02 14:29:34 +01:00
Robert von Burg
460c26126e
[Project] Bumped version from 1.1.0-SNAPSHOT to 1.2.0-SNAPSHOT
2015-03-02 14:28:18 +01:00
Robert von Burg
52e06f1818
[Project] Bumped version to 1.1.0-SNAPSHOT
2015-03-02 13:43:45 +01:00
Robert von Burg
a832b2dc3e
[New] Refactored XML import and export model
...
- added allowInclude for recursive parsing of xml importing
- ModelStatistics is now JAXB capable
- added handling of absolute paths
2015-02-28 20:41:52 +01:00
Robert von Burg
6ae389bc75
[Minor] added further test in QueryTest for param
2015-02-14 23:04:12 +01:00
Robert von Burg
3fc4c83a61
[Minor] removed all tx.commitOnClose() for read only TXs
2015-02-06 22:13:48 +01:00
Robert von Burg
40c9ac7969
[Major] added new feature tx.flush()
...
- Now if you need to perform commands to carry on in your transaction,
you can simply use the tx.flush()-method.
- Should something go wrong, then even after a tx.flush() one can call
throw tx.fail("Reason") or tx.rollbackOnClose()
2015-02-06 09:18:12 +01:00
Robert von Burg
b0cf516dab
[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
2015-02-03 23:18:31 +01:00
Robert von Burg
2f84091f76
[Devel] adding new feature tx.flush()
2015-01-26 00:50:46 +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
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
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
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
85d1a4a145
[Major] refactored PostgreSQL DB schema validation
...
Now moved all generic schema generation code to ch.eitchnet.utils so it can be used by other projects
2014-11-14 00:07:53 +01:00