Skip to content

Commit

Permalink
Merge pull request #75 from CaritasDeutschland/feature-new-consulting…
Browse files Browse the repository at this point in the history
…-type-men

Feature new consulting type men
  • Loading branch information
mebo4b authored Dec 14, 2020
2 parents 82a3fd7 + 3fda82f commit 02ef0ef
Show file tree
Hide file tree
Showing 46 changed files with 392 additions and 971 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@
<output>target/generated-sources</output>
<typeMappings>
<typeMapping>
RoleConsultantDTO=${project.groupId}.${project.artifactId}.api.manager.consultingType.roles.Consultant
RoleConsultantDTO=${project.groupId}.${project.artifactId}.api.manager.consultingtype.roles.Consultant
</typeMapping>
</typeMappings>
</configuration>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package de.caritas.cob.userservice.api.admin.service;

import de.caritas.cob.userservice.api.admin.hallink.ConsultingTypePaginationLinksBuilder;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.model.ConsultingTypeAdminResultDTO;
import de.caritas.cob.userservice.api.model.ConsultingTypeResultDTO;
import de.caritas.cob.userservice.api.model.PaginationLinks;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
import de.caritas.cob.userservice.api.helper.Now;
import de.caritas.cob.userservice.api.helper.RocketChatHelper;
import de.caritas.cob.userservice.api.helper.UserHelper;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.model.rocketchat.group.GroupResponseDTO;
import de.caritas.cob.userservice.api.model.rocketchat.user.UserInfoResponseDTO;
import de.caritas.cob.userservice.api.repository.consultantAgency.ConsultantAgency;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import de.caritas.cob.userservice.api.container.RocketChatCredentials;
import de.caritas.cob.userservice.api.exception.MissingConsultingTypeException;
import de.caritas.cob.userservice.api.exception.httpresponses.BadRequestException;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.model.registration.NewRegistrationDto;
import de.caritas.cob.userservice.api.model.registration.UserDTO;
import de.caritas.cob.userservice.api.model.registration.UserRegistrationDTO;
Expand Down Expand Up @@ -95,4 +95,4 @@ private UserDTO fromUserRegistrationDTO(UserRegistrationDTO userRegistrationDTO)
return (UserDTO) userRegistrationDTO;
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import de.caritas.cob.userservice.api.facade.rollback.RollbackFacade;
import de.caritas.cob.userservice.api.facade.rollback.RollbackUserAccountInformation;
import de.caritas.cob.userservice.api.helper.AgencyHelper;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.model.AgencyDTO;
import de.caritas.cob.userservice.api.model.registration.UserDTO;
import de.caritas.cob.userservice.api.repository.session.ConsultingType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
import de.caritas.cob.userservice.api.facade.rollback.RollbackUserAccountInformation;
import de.caritas.cob.userservice.api.helper.AgencyHelper;
import de.caritas.cob.userservice.api.helper.UserHelper;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.model.CreateUserResponseDTO;
import de.caritas.cob.userservice.api.model.registration.UserDTO;
import de.caritas.cob.userservice.api.model.keycloak.KeycloakCreateUserResponseDTO;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import de.caritas.cob.userservice.api.exception.httpresponses.InternalServerErrorException;
import de.caritas.cob.userservice.api.exception.rocketchat.RocketChatGetGroupMembersException;
import de.caritas.cob.userservice.api.helper.UserHelper;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager;
import de.caritas.cob.userservice.api.model.mailservice.MailDTO;
import de.caritas.cob.userservice.api.model.mailservice.MailsDTO;
import de.caritas.cob.userservice.api.repository.consultant.Consultant;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import de.caritas.cob.userservice.api.exception.InitializeMonitoringException;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.model.monitoring.MonitoringDTO;
import de.caritas.cob.userservice.api.repository.monitoring.Monitoring;
import de.caritas.cob.userservice.api.repository.monitoring.MonitoringType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingType.SessionDataInitializing;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingtype.SessionDataInitializing;
import de.caritas.cob.userservice.api.model.registration.UserDTO;
import de.caritas.cob.userservice.api.repository.session.ConsultingType;
import de.caritas.cob.userservice.api.repository.session.Session;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,52 +1,56 @@
package de.caritas.cob.userservice.api.manager.consultingType;
package de.caritas.cob.userservice.api.manager.consultingtype;

import static java.util.Objects.nonNull;

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import de.caritas.cob.userservice.api.exception.MissingConsultingTypeException;
import de.caritas.cob.userservice.api.repository.session.ConsultingType;
import de.caritas.cob.userservice.api.service.LogService;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.stream.Stream;
import javax.annotation.PostConstruct;
import lombok.Getter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import de.caritas.cob.userservice.api.exception.MissingConsultingTypeException;
import de.caritas.cob.userservice.api.repository.session.ConsultingType;
import lombok.extern.slf4j.Slf4j;

@Service
@Slf4j
@Getter
public class ConsultingTypeManager {

@Value("${consulting.types.settings.json.path}")
private String consultingTypesSettingsJsonPath;

private Map<Integer, ConsultingTypeSettings> consultingTypeSettingsMap;
private final Map<Integer, ConsultingTypeSettings> consultingTypeSettingsMap = new HashMap<>();

@PostConstruct
private void init() throws IOException {
private void init() {

LogService.logInfo("Start initializing consulting type settings...");

log.info("Start initializing consulting type settings...");
Stream.of(ConsultingType.values())
.forEach(this::appendConsutingTypeSetting);

LogService.logInfo("Finished initializing consulting type settings...");
}

private void appendConsutingTypeSetting(ConsultingType consultingType) {
ObjectMapper mapper = new ObjectMapper();
TypeReference<ConsultingTypeSettings> typeReference =
new TypeReference<ConsultingTypeSettings>() {};
InputStream inputStream;
ConsultingTypeSettings consultingTypeSettings;

consultingTypeSettingsMap = new HashMap<>();

for (ConsultingType consultingType : ConsultingType.values()) {
inputStream =
TypeReference.class.getResourceAsStream(getJsonFileNameWithPath(consultingType));
consultingTypeSettings = mapper.readValue(inputStream, typeReference);
InputStream inputStream =
TypeReference.class.getResourceAsStream(getJsonFileNameWithPath(consultingType));
try {
ConsultingTypeSettings consultingTypeSettings = mapper.readValue(inputStream, typeReference);
consultingTypeSettings.setConsultingType(consultingType);
consultingTypeSettingsMap.put(consultingType.getValue(), consultingTypeSettings);

this.consultingTypeSettingsMap.put(consultingType.getValue(), consultingTypeSettings);
} catch (IOException e) {
LogService.logWarn(String.format("Unable to provide settings for consulting type %s",
consultingType));
}

log.info("Finished initializing consulting type settings...");
}

/**
Expand All @@ -57,11 +61,10 @@ private void init() throws IOException {
* @throws MissingConsultingTypeException when no settings for provided consulting type where
* found
*/
public ConsultingTypeSettings getConsultingTypeSettings(ConsultingType consultingType)
throws MissingConsultingTypeException {
public ConsultingTypeSettings getConsultingTypeSettings(ConsultingType consultingType) {

if (consultingTypeSettingsMap.containsKey(consultingType.getValue())
&& consultingTypeSettingsMap.get(consultingType.getValue()) != null) {
&& nonNull(consultingTypeSettingsMap.get(consultingType.getValue()))) {
return consultingTypeSettingsMap.get(consultingType.getValue());
} else {
throw new MissingConsultingTypeException(
Expand All @@ -71,8 +74,7 @@ public ConsultingTypeSettings getConsultingTypeSettings(ConsultingType consultin
}

private String getJsonFileNameWithPath(ConsultingType consultingType) {
return consultingTypesSettingsJsonPath + "/" + consultingType.name().toLowerCase()
+ ".json";
return consultingTypesSettingsJsonPath + "/" + consultingType.name().toLowerCase() + ".json";
}

}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package de.caritas.cob.userservice.api.manager.consultingType;
package de.caritas.cob.userservice.api.manager.consultingtype;

import de.caritas.cob.userservice.api.model.NotificationDTO;
import de.caritas.cob.userservice.api.manager.consultingType.registration.Registration;
import de.caritas.cob.userservice.api.manager.consultingtype.registration.Registration;
import de.caritas.cob.userservice.api.model.RoleDTO;
import de.caritas.cob.userservice.api.repository.session.ConsultingType;
import lombok.AllArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.caritas.cob.userservice.api.manager.consultingType;
package de.caritas.cob.userservice.api.manager.consultingtype;

import lombok.AllArgsConstructor;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package de.caritas.cob.userservice.api.manager.consultingType.registration;
package de.caritas.cob.userservice.api.manager.consultingtype.registration;

import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingType.registration.mandatoryFields.MandatoryFields;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.registration.mandatoryfields.MandatoryFields;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.caritas.cob.userservice.api.manager.consultingType.registration.mandatoryFields;
package de.caritas.cob.userservice.api.manager.consultingtype.registration.mandatoryfields;

import lombok.AllArgsConstructor;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
package de.caritas.cob.userservice.api.manager.consultingType.roles;
package de.caritas.cob.userservice.api.manager.consultingtype.roles;

import java.util.LinkedHashMap;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import java.util.Map;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
Expand All @@ -24,7 +25,7 @@ public class Consultant {
private LinkedHashMap<String, List<String>> roleNames;

@JsonAnyGetter
public LinkedHashMap<String, List<String>> getRoleNames() {
public Map<String, List<String>> getRoleNames() {
return roleNames;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package de.caritas.cob.userservice.api.model.validation;

import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.model.registration.UserDTO;
import de.caritas.cob.userservice.api.repository.session.ConsultingType;
import de.caritas.cob.userservice.api.service.LogService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import java.lang.annotation.Target;
import javax.validation.Constraint;
import javax.validation.Payload;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.model.registration.UserDTO;

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package de.caritas.cob.userservice.api.model.validation;

import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.model.registration.UserRegistrationDTO;
import de.caritas.cob.userservice.api.repository.session.ConsultingType;
import de.caritas.cob.userservice.api.service.LogService;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package de.caritas.cob.userservice.api.model.validation;

import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.model.registration.UserDTO;
import de.caritas.cob.userservice.api.repository.session.ConsultingType;
import de.caritas.cob.userservice.api.service.LogService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,27 @@
@Getter
@JsonFormat(shape = JsonFormat.Shape.NUMBER)
public enum ConsultingType {
SUCHT(0, "suchtberatung"), U25(1, "u25"), PREGNANCY(2, "schwangerschaftsberatung"), PARENTING(3,
"eltern-familie"), CURE(4, "kurberatung"), DEBT(5, "schuldnerberatung"), SOCIAL(6,
"allgemeine-soziale-beratung"), SENIORITY(7, "leben-im-alter"), DISABILITY(8,
"behinderung-und-psychische-erkrankung"), PLANB(9, "mein-planb"), LAW(10,
"rechtliche-betreuung"), OFFENDER(11, "straffaelligkeit"), AIDS(12,
"hiv-aids-beratung"), REHABILITATION(13, "kinder-reha"), CHILDREN(14,
"kinder-jugendliche"), KREUZBUND(15, "kb-sucht-selbsthilfe"), MIGRATION(
16, "migration"), EMIGRATION(17, "rw-auswanderung"), HOSPICE(18,
"hospiz-palliativ"), REGIONAL(19, "regionale-angebote");
SUCHT(0, "suchtberatung"),
U25(1, "u25"),
PREGNANCY(2, "schwangerschaftsberatung"),
PARENTING(3, "eltern-familie"),
CURE(4, "kurberatung"),
DEBT(5, "schuldnerberatung"),
SOCIAL(6, "allgemeine-soziale-beratung"),
SENIORITY(7, "leben-im-alter"),
DISABILITY(8, "behinderung-und-psychische-erkrankung"),
PLANB(9, "mein-planb"),
LAW(10, "rechtliche-betreuung"),
OFFENDER(11, "straffaelligkeit"),
AIDS(12, "hiv-aids-beratung"),
REHABILITATION(13, "kinder-reha"),
CHILDREN(14, "kinder-jugendliche"),
KREUZBUND(15, "kb-sucht-selbsthilfe"),
MIGRATION(16, "migration"),
EMIGRATION(17, "rw-auswanderung"),
HOSPICE(18, "hospiz-palliativ"),
REGIONAL(19, "regionale-angebote"),
MEN(20, "jungen-und-maenner");

private final int value;
private final String urlName;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
import de.caritas.cob.userservice.api.helper.MonitoringHelper;
import de.caritas.cob.userservice.api.helper.RocketChatHelper;
import de.caritas.cob.userservice.api.helper.UserHelper;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.model.AgencyDTO;
import de.caritas.cob.userservice.api.model.keycloak.KeycloakCreateUserResponseDTO;
import de.caritas.cob.userservice.api.model.monitoring.MonitoringDTO;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
import de.caritas.cob.userservice.api.exception.keycloak.KeycloakException;
import de.caritas.cob.userservice.api.exception.rocketchat.RocketChatRemoveUserFromGroupException;
import de.caritas.cob.userservice.api.helper.UserHelper;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeManager;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.model.AgencyDTO;
import de.caritas.cob.userservice.api.model.ConsultantSessionResponseDTO;
import de.caritas.cob.userservice.api.model.keycloak.KeycloakCreateUserResponseDTO;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,15 @@ public static void logWarn(Exception exception) {
LOGGER.warn(getStackTrace(exception));
}

/**
* Logs an warning message.
*
* @param message The message
*/
public static void logWarn(String message) {
LOGGER.warn(message);
}

/**
* Logs an warning message.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import de.caritas.cob.userservice.api.container.CreateEnquiryExceptionInformation;
import de.caritas.cob.userservice.api.exception.CreateMonitoringException;
import de.caritas.cob.userservice.api.helper.MonitoringHelper;
import de.caritas.cob.userservice.api.manager.consultingType.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.manager.consultingtype.ConsultingTypeSettings;
import de.caritas.cob.userservice.api.model.monitoring.MonitoringDTO;
import de.caritas.cob.userservice.api.repository.monitoring.Monitoring;
import de.caritas.cob.userservice.api.repository.monitoring.MonitoringRepository;
Expand Down
Loading

0 comments on commit 02ef0ef

Please sign in to comment.