package io.reflectoring.coderadar.graph.configuration;

import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.neo4j.repository.config.EnableNeo4jRepositories;

@Configuration
@EnableNeo4jRepositories(basePackages = "io.reflectoring.coderadar.graph")
@EntityScan(basePackages = "io.reflectoring.coderadar.graph")
public class Neo4jConfiguration {}

@@ -64,388 +64,1668 @@
 org.
-springframework.boot.autoconfigure.domain.EntityScan;%0Aimport org.springframework.context.annotation.Configuration;%0Aimport org.springframework.data.neo4j.repository.config.EnableNeo4jRepositories;%0A%0A@Configuration%0A@EnableNeo4jRepositories(basePackages = %22io.reflectoring.coderadar.graph%22)%0A@EntityScan(basePackages = %22io.reflectoring.coderadar.graph%22)%0Apublic class Neo4jConfiguration %7B
+neo4j.ogm.session.SessionFactory;%0Aimport org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;%0Aimport org.springframework.boot.autoconfigure.data.neo4j.Neo4jProperties;%0Aimport org.springframework.boot.context.properties.EnableConfigurationProperties;%0Aimport org.springframework.context.annotation.Bean;%0Aimport org.springframework.context.annotation.Configuration;%0Aimport org.springframework.data.neo4j.repository.config.EnableNeo4jRepositories;%0Aimport org.springframework.data.neo4j.transaction.Neo4jTransactionManager;%0Aimport org.springframework.transaction.PlatformTransactionManager;%0A%0A@Configuration%0A@EnableNeo4jRepositories(basePackages = %22io.reflectoring.coderadar.graph%22)%0A@EnableConfigurationProperties(value = Neo4jProperties.class)%0Apublic class Neo4jConfiguration %7B%0A    private final Neo4jProperties properties;%0A%0A    public Neo4jConfiguration(Neo4jProperties properties) %7B%0A        this.properties = properties;%0A    %7D%0A%0A    @Bean%0A    @ConditionalOnMissingBean%0A    public org.neo4j.ogm.config.Configuration configuration() %7B%0A        return this.properties.createConfiguration();%0A    %7D%0A%0A    @Bean(name = %22transactionManager%22)%0A    public PlatformTransactionManager transactionManager() %7B%0A        Neo4jTransactionManager txManager = new Neo4jTransactionManager();%0A        txManager.setSessionFactory(sessionFactory(configuration()));%0A        return txManager;%0A    %7D%0A%0A    @Bean%0A    public SessionFactory sessionFactory(org.neo4j.ogm.config.Configuration configuration) %7B%0A        return new SessionFactory(configuration, %22io.reflectoring.coderadar.core.projectadministration.domain%22, %22io.reflectoring.coderadar.core.analyzer.domain%22);%0A    %7D%0A
 %7D%0A

Extend the Neo4jConfiguration with configurations of beans