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.
These tests are simple success tests, failure tests come later. Each
tests makes tests that the service works in CACHED, TRANSACTIONAL and
TRANSIENT data store mode.
- setId() and setName() don't allow empty values
- added Locator.newBuilder(String)
- fixed wrong locator created by ParameterizedElement
- Better exception handling when parsing from XML as Sax
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.
Now all Services call tx.addCommand(Command) instead of directly calling
Command.doCommand()
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.
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
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.
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.
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.
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.
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.
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.