LDEV-3514: Use pretInterceptor instead of postInterceptor.Create new transactions for service method retries.Attach activity to Hibernate session in completeActivity() method.
LDEV-3514: Use postInterceptor instead of preInterceptor.PreInterceptor apparently runs before Hibernate transaction gets created. When an exception in the proxied method occurs, the transaction is canceled and is not re-created when retry is attempted. This leads to "no session" or "read only transaction on write" errors.PostInterceptor seems to work when the transaction is already created, so retries happen witin its scope.
LDEV-3514: Use postInterceptor instead of preInterceptor.PreInterceptor apparently runs before Hibernate transaction gets created. When an exception in the proxied method occurs, the transaction is canceled and is not re-created when retry is attempted. This leads to "no session" or "read only transaction on write" errors.PostInterceptor seems to work when the transaction is already created, so retries happen witin its scope.
LDEV-3491: Deleting a learning design no longer removes it from the database. Now it flags removed = true. Calls to get the learning designs in the DAO layer ignore rows where removed = true. Cleaned up some methods in the DAO layer that are no longer used.
LDEV-3491: Deleting a learning design no longer removes it from the database. Accidently removed one too many methods from the interface - putting it back.
LDEV-3491: Deleting a learning design no longer removes it from the database. Now it flags removed = true. Calls to get the learning designs in the DAO layer ignore rows where removed = true. Cleaned up some methods in the DAO layer that are no longer used.
LDEV-3514: Wrap all transactional methods with TransactionRetryInterceptor. Set number of attempts to 3.Remove previous safety mechanism for completeActivity() method.
LDEV-3514: Wrap all transactional methods with TransactionRetryInterceptor. Set number of attempts to 3.Remove previous safety mechanism for completeActivity() method.