[midPoint-git] [Evolveum/midpoint] 08c0f9: massive repo initialization changes, RepositoryFac...

virgo47 noreply at github.com
Sat Jan 16 02:30:36 CET 2021


  Branch: refs/heads/master
  Home:   https://github.com/Evolveum/midpoint
  Commit: 08c0f99e5db3a18e68c2321440b473c5528593f8
      https://github.com/Evolveum/midpoint/commit/08c0f99e5db3a18e68c2321440b473c5528593f8
  Author: Richard Richter <richard.richter at evolveum.com>
  Date:   2021-01-16 (Sat, 16 Jan 2021)

  Changed paths:
    M model/workflow-impl/src/test/resources/test-config.xml
    M repo/repo-api/pom.xml
    R repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/RepositoryServiceFactory.java
    M repo/repo-cache/src/test/resources/ctx-configuration-test-no-audit.xml
    M repo/repo-cache/src/test/resources/test-config.xml
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/SqaleRepositoryBeanConfig.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/SqaleRepositoryConfiguration.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/SqaleRepositoryService.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/SqaleRepositoryServiceFactory.java
    M repo/repo-sql-impl-test/src/main/java/com/evolveum/midpoint/repo/sql/testing/TestSqlRepositoryBeanPostProcessor.java
    A repo/repo-sql-impl-test/src/main/java/com/evolveum/midpoint/repo/sql/testing/TestSqlRepositoryConfigurationFactory.java
    R repo/repo-sql-impl-test/src/main/java/com/evolveum/midpoint/repo/sql/testing/TestSqlRepositoryFactory.java
    M repo/repo-sql-impl-test/src/main/resources/ctx-repository-test.xml
    M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/EmbeddedServerModeTest.java
    M repo/repo-sql-impl-test/src/test/resources/ctx-configuration-sql-test.xml
    M repo/repo-sql-impl-test/src/test/resources/ctx-test-datasource.xml
    A repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/SqlEmbeddedRepository.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/SqlRepositoryBeanConfig.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/SqlRepositoryConfiguration.java
    R repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/SqlRepositoryFactory.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/SqlRepositoryServiceImpl.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/data/common/dictionary/ExtItemDictionary.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/helpers/BaseHelper.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/helpers/delta/ObjectDeltaUpdater.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/helpers/modify/PrismEntityMapper.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/schemacheck/SchemaActionComputer.java
    M repo/repo-sqlbase/src/main/java/com/evolveum/midpoint/repo/sqlbase/DataSourceFactory.java
    R repo/repo-sqlbase/src/main/java/com/evolveum/midpoint/repo/sqlbase/JdbcRepositoryServiceFactory.java
    M repo/repo-test-util/src/main/resources/ctx-configuration-test.xml
    M repo/repo-test-util/src/main/resources/test-config-no-repo.xml
    M repo/system-init/pom.xml
    R repo/system-init/src/main/java/com/evolveum/midpoint/init/RepositoryFactory.java
    M repo/system-init/src/main/resources/ctx-configuration.xml
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/Initializer.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/handlers/JdbcPingTaskHandler.java

  Log Message:
  -----------
  massive repo initialization changes, RepositoryFactory gone

- SqlRepositoryConfiguration is a Spring bean now - it is used a lot,
previously via getter on BaseHelper or repository(factory)service, etc.
- RepositoryFactory is gone, the initialization is fully Spring driven,
using @Configuration class SqlRepositoryBeanConfig, which also replaces
SqlRepositoryFactory (and RepositoryServiceFactory interface too)

Main reason for all this is that previous repository initialization was
a mix of Spring magic and RepositoryFactory (init) plus contract in
RepositoryServiceFactory. But this is not usable for the new repository.
Old repo was not completely cleaned up, there are many cyclic bean
dependencies around SqlRepositoryServiceImpl (these are autowired using
annotation).

Key element making a lot more possible now is introducing
SqlRepositoryConfiguration (implementing JdbcRepositoryConfiguration)
as a bean. This, together with @Configuration class for the each repo,
takes over previously used RepositoryServiceFactory.




More information about the midPoint-svn mailing list