Skip to content

Commit

Permalink
end of refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
ddecrulle committed May 24, 2023
1 parent fec1362 commit c99f6ef
Show file tree
Hide file tree
Showing 15 changed files with 42 additions and 44 deletions.
6 changes: 6 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>

<!-- Swagger -->
<dependency>
<groupId>org.springdoc</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoDatabase;
import lombok.extern.slf4j.Slf4j;
import org.bson.codecs.configuration.CodecProvider;
import org.bson.codecs.configuration.CodecRegistry;
import org.bson.codecs.pojo.PojoCodecProvider;
Expand All @@ -17,9 +18,8 @@
import static org.bson.codecs.configuration.CodecRegistries.fromRegistries;

@Configuration
@Slf4j
public class MongoConfiguration {
private static final Logger logger = LoggerFactory.getLogger(MongoConfiguration.class);

private CodecProvider pojoCodecProvider = PojoCodecProvider.builder().automatic(true).build();
private CodecRegistry pojoCodecRegistry = fromRegistries(getDefaultCodecRegistry(), fromProviders(pojoCodecProvider));

Expand All @@ -29,14 +29,14 @@ public class MongoConfiguration {
private String mongoUri;

private MongoClient mongoClient() {
logger.info("Create mongoClient");
log.info("Create mongoClient");
//we don't auth as admin
return MongoClients.create(mongoUri + "?authSource=" + database);
}

@Bean(name = "mongoDatabase")
public MongoDatabase mongoDatabase() {
logger.info("Connection to database");
log.info("Connection to database");
return mongoClient().getDatabase(database).withCodecRegistry(pojoCodecRegistry);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,12 @@

@Slf4j
public class PropertiesLogger implements ApplicationListener<ApplicationEnvironmentPreparedEvent> {
private static final Logger LOGGER = LoggerFactory.getLogger(PropertiesLogger.class);

@Override
public void onApplicationEvent(@NonNull ApplicationEnvironmentPreparedEvent event) {
final Environment env = event.getEnvironment();
LOGGER.info("====== Environment and configuration ======");
LOGGER.info("Active profiles: {}", Arrays.toString(env.getActiveProfiles()));
log.info("====== Environment and configuration ======");
log.info("Active profiles: {}", Arrays.toString(env.getActiveProfiles()));
final MutablePropertySources sources = ((AbstractEnvironment) env).getPropertySources();
StreamSupport.stream(sources.spliterator(), false)
.filter(ps -> ps instanceof EnumerablePropertySource)
Expand All @@ -31,8 +30,8 @@ public void onApplicationEvent(@NonNull ApplicationEnvironmentPreparedEvent even
.distinct()
.filter(prop -> !(prop.contains("credentials") || prop.contains("password")))
.sorted()
.forEach(prop -> LOGGER.info("{}: {}", prop, env.getProperty(prop)));
LOGGER.info("===========================================");
.forEach(prop -> log.info("{}: {}", prop, env.getProperty(prop)));
log.info("===========================================");
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ public class GenericHierarchyController<T extends Hierarchy> {

private final static Logger logger = LoggerFactory.getLogger(GenericHierarchyController.class);

private GenericHierarchyService<T> hierarchyService;
private final GenericHierarchyService<T> hierarchyService;

public GenericHierarchyController(GenericHierarchyService<T> hierarchyService) {
this.hierarchyService = hierarchyService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,7 @@
@Tag(name = "Hierarchy", description = "")
@RestController
@RequestMapping(path = "/hierarchy")
public class HierarchyGsbpmController extends GenericHierarchyController<HierarchyGsbpm>{

private final static Logger logger = LoggerFactory.getLogger(HierarchyGsbpmController.class);

public class HierarchyGsbpmController extends GenericHierarchyController<HierarchyGsbpm> {
public HierarchyGsbpmController(HierarchyGsbpmServiceImpl hierarchyService) {
super(hierarchyService);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,7 @@
@Tag(name = "Hierarchy", description = "")
@RestController
@RequestMapping(path = "/hierarchy")
public class HierarchyProductController extends GenericHierarchyController<HierarchyProduct>{

private final static Logger logger = LoggerFactory.getLogger(HierarchyProductController.class);

public class HierarchyProductController extends GenericHierarchyController<HierarchyProduct> {
public HierarchyProductController(HierarchyProductServiceImpl hierarchyService) {
super(hierarchyService);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,7 @@
@Tag(name = "Hierarchy", description = "")
@RestController
@RequestMapping(path = "/hierarchy")
public class HierarchyServiceController extends GenericHierarchyController<HierarchySvc>{

private final static Logger logger = LoggerFactory.getLogger(HierarchyServiceController.class);

public class HierarchyServiceController extends GenericHierarchyController<HierarchySvc> {
public HierarchyServiceController(HierarchySvcServiceImpl hierarchyService) {
super(hierarchyService);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,7 @@
@Tag(name = "Hierarchy", description = "")
@RestController
@RequestMapping(path = "/hierarchy")
public class HierarchyUserController extends GenericHierarchyController<HierarchyUser>{

private final static Logger logger = LoggerFactory.getLogger(HierarchyUserController.class);

public class HierarchyUserController extends GenericHierarchyController<HierarchyUser> {
public HierarchyUserController(HierarchyUserServiceImpl hierarchyService) {
super(hierarchyService);
}
Expand Down
3 changes: 0 additions & 3 deletions src/main/java/fr/insee/knowledge/dao/generic/DAO.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@
* @param <T> the type of the entity, it extends GenericIDLabel
*/
public class DAO<T extends GenericIDLabel> implements IDao<T> {

private final static Logger LOGGER = LoggerFactory.getLogger(DAO.class);

@Autowired
private MongoDatabase mongoDatabase;
protected MongoCollection<T> mongoCollection;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
import fr.insee.knowledge.domain.hierarchy.Hierarchy;

import java.io.IOException;
import java.util.Optional;

public interface GenericHierarchyService<T extends Hierarchy> {
T getHierarchy();

String importHierarchy() throws IOException;

Boolean isHierarchyExist(String id);
T findHierarchyById(String id);
}
Original file line number Diff line number Diff line change
@@ -1,43 +1,47 @@
package fr.insee.knowledge.service.impl;

import com.fasterxml.jackson.databind.ObjectMapper;
import fr.insee.knowledge.constants.Constants;
import fr.insee.knowledge.dao.generic.DAO;
import fr.insee.knowledge.domain.hierarchy.Hierarchy;
import fr.insee.knowledge.service.GenericHierarchyService;
import org.springframework.core.GenericTypeResolver;

import java.io.IOException;
import java.net.URL;
import java.util.Optional;

public class GenericHierarchyServiceImpl<T extends Hierarchy> implements GenericHierarchyService<T> {
private DAO<T> hierarchyDAO;
private final DAO<T> hierarchyDAO;

private final String idHierarchy;

private final ObjectMapper mapper;
private final String githubFileName;

private String githubRepository;

public GenericHierarchyServiceImpl(DAO<T> hierarchyDAO, String githubRepository) {
public GenericHierarchyServiceImpl(DAO<T> hierarchyDAO, String idHierarchy, String githubFileName, String githubRepository) {
this.hierarchyDAO = hierarchyDAO;
this.idHierarchy = idHierarchy;
this.githubFileName = githubFileName;
this.githubRepository = githubRepository;
this.mapper = new ObjectMapper();
}

@Override
public T getHierarchy() {
return hierarchyDAO.findById(Constants.idUsersDocument);
return findHierarchyById(idHierarchy);
}

@Override
public String importHierarchy() throws IOException {
Class<T> tClass = (Class<T>) GenericTypeResolver.resolveTypeArgument(getClass(), GenericHierarchyServiceImpl.class);
T hierarchy = mapper.readValue(new URL(githubRepository + Constants.GithubUserFile), tClass);
T hierarchy = mapper.readValue(new URL(githubRepository + githubFileName), tClass);
return hierarchyDAO.insertOrReplaceOne(hierarchy);
}

//TODO
@Override
public Boolean isHierarchyExist(String id) {
return null;
public T findHierarchyById(String id) {
return hierarchyDAO.findById(id);
}
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package fr.insee.knowledge.service.impl;

import fr.insee.knowledge.dao.generic.DAO;
import fr.insee.knowledge.constants.Constants;
import fr.insee.knowledge.dao.impl.HierarchyGsbpmDAOImpl;
import fr.insee.knowledge.domain.hierarchy.HierarchyGsbpm;
import fr.insee.knowledge.domain.hierarchy.HierarchyUser;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

@Service
public class HierarchyGsbpmServiceImpl extends GenericHierarchyServiceImpl<HierarchyGsbpm> {

public HierarchyGsbpmServiceImpl(HierarchyGsbpmDAOImpl hierarchyDAO, @Value("${fr.insee.knowledge.git.access.rawrepository}") String githubRepository) {
super(hierarchyDAO, githubRepository);
super(hierarchyDAO, Constants.idGsbpmDocument, Constants.GithubGsbpmFile, githubRepository);
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package fr.insee.knowledge.service.impl;

import fr.insee.knowledge.constants.Constants;
import fr.insee.knowledge.dao.impl.HierarchyProductDAOImpl;
import fr.insee.knowledge.domain.hierarchy.HierarchyProduct;
import org.springframework.beans.factory.annotation.Value;
Expand All @@ -8,6 +9,6 @@
@Service
public class HierarchyProductServiceImpl extends GenericHierarchyServiceImpl<HierarchyProduct> {
public HierarchyProductServiceImpl(HierarchyProductDAOImpl hierarchyDAO, @Value("${fr.insee.knowledge.git.access.rawrepository}") String githubRepository) {
super(hierarchyDAO, githubRepository);
super(hierarchyDAO, Constants.idProductsDocument, Constants.GithubProductsFile, githubRepository);
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package fr.insee.knowledge.service.impl;

import fr.insee.knowledge.constants.Constants;
import fr.insee.knowledge.dao.impl.HierarchySvcDAOImpl;
import fr.insee.knowledge.domain.hierarchy.HierarchySvc;
import org.springframework.beans.factory.annotation.Value;
Expand All @@ -8,6 +9,6 @@
@Service
public class HierarchySvcServiceImpl extends GenericHierarchyServiceImpl<HierarchySvc> {
public HierarchySvcServiceImpl(HierarchySvcDAOImpl hierarchyDAO, @Value("${fr.insee.knowledge.git.access.rawrepository}") String githubRepository) {
super(hierarchyDAO, githubRepository);
super(hierarchyDAO, Constants.idServicesDocument, Constants.GithubServicesFile, githubRepository);
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package fr.insee.knowledge.service.impl;

import fr.insee.knowledge.constants.Constants;
import fr.insee.knowledge.dao.impl.HierarchyUserDAOImpl;
import fr.insee.knowledge.domain.hierarchy.HierarchyUser;
import org.springframework.beans.factory.annotation.Value;
Expand All @@ -8,6 +9,6 @@
@Service
public class HierarchyUserServiceImpl extends GenericHierarchyServiceImpl<HierarchyUser> {
public HierarchyUserServiceImpl(HierarchyUserDAOImpl hierarchyDAO, @Value("${fr.insee.knowledge.git.access.rawrepository}") String githubRepository) {
super(hierarchyDAO, githubRepository);
super(hierarchyDAO, Constants.idUsersDocument, Constants.GithubUserFile, githubRepository);
}
}

0 comments on commit c99f6ef

Please sign in to comment.