Class SqaleRepositoryService

java.lang.Object
com.evolveum.midpoint.repo.sqale.SqaleServiceBase
com.evolveum.midpoint.repo.sqale.SqaleRepositoryService
All Implemented Interfaces:
RepositoryService, AccessCertificationSupportMixin, CaseSupportMixin, OrgTreeEvaluator

public class SqaleRepositoryService extends SqaleServiceBase implements RepositoryService
Repository implementation based on SQL, JDBC and Querydsl without any ORM. Typical structure of main public methods: - Argument checks. - Debug log. This can be postponed after operation result creation, if more complex log is needed. - Create OperationResult from provided parent, immediately followed by try/catch/finally. See addObject(com.evolveum.midpoint.prism.PrismObject<T>, com.evolveum.midpoint.repo.api.RepoAddOptions, com.evolveum.midpoint.schema.result.OperationResult) for example. - More arg checks if necessary, fast fail scenarios. - Call to `executeMethodName(...)` where perf monitor is initialized followed by try/catch/finally. See executeAddObject(com.evolveum.midpoint.prism.PrismObject<T>) for example. Always try to keep starting JdbcSession in try-with-resource construct. Positive flows require explicit JdbcSession.commit() otherwise the changes are rolled back.