Skip to content

Commit

Permalink
Merge pull request #67 from bcgov/feature/penMatchFlip
Browse files Browse the repository at this point in the history
feature/penMatchFlip
  • Loading branch information
arcshiftsolutions authored Jan 22, 2025
2 parents e643662 + 9cac8cb commit bdac070
Show file tree
Hide file tree
Showing 45 changed files with 13,836 additions and 4,780 deletions.
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package ca.bc.gov.educ.api.penmatch.adapter;

import jakarta.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.MethodParameter;
import org.springframework.http.HttpInputMessage;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.servlet.mvc.method.annotation.RequestBodyAdviceAdapter;

import jakarta.servlet.http.HttpServletRequest;
import java.lang.reflect.Type;

@ControllerAdvice
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package ca.bc.gov.educ.api.penmatch.compare;

import ca.bc.gov.educ.api.penmatch.struct.v1.OldPenMatchRecord;
import org.apache.commons.lang3.StringUtils;

import java.util.Comparator;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

import ca.bc.gov.educ.api.penmatch.helpers.LogHelper;
import ca.bc.gov.educ.api.penmatch.properties.ApplicationProperties;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import lombok.val;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.AsyncHandlerInterceptor;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.time.Instant;

@Component
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import jakarta.validation.ConstraintViolation;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
Expand All @@ -10,7 +11,6 @@
import org.springframework.validation.FieldError;
import org.springframework.validation.ObjectError;

import jakarta.validation.ConstraintViolation;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.ArrayList;
Expand Down Expand Up @@ -274,4 +274,4 @@ public void setSubErrors(List<ApiSubError> subErrors) {
this.subErrors = subErrors;
}

}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package ca.bc.gov.educ.api.penmatch.filter;

import jakarta.annotation.PostConstruct;
import org.springframework.stereotype.Service;

import jakarta.annotation.PostConstruct;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.chrono.ChronoLocalDate;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package ca.bc.gov.educ.api.penmatch.filter;

import jakarta.validation.constraints.NotNull;
import org.apache.commons.lang3.StringUtils;

import jakarta.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package ca.bc.gov.educ.api.penmatch.filter;

import jakarta.annotation.PostConstruct;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;

import jakarta.annotation.PostConstruct;
import java.util.EnumMap;
import java.util.function.Function;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

import ca.bc.gov.educ.api.penmatch.properties.ApplicationProperties;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import lombok.val;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.MDC;
import org.springframework.http.HttpMethod;
import org.springframework.lang.NonNull;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.time.Instant;
import java.util.HashMap;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@
import ca.bc.gov.educ.api.penmatch.struct.v1.PenMasterRecord;
import ca.bc.gov.educ.api.penmatch.struct.v1.PenMatchNames;
import com.fasterxml.jackson.core.JsonProcessingException;
import jakarta.annotation.PostConstruct;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import lombok.val;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
Expand All @@ -22,7 +22,6 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

import jakarta.annotation.PostConstruct;
import java.time.LocalDate;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
Expand Down Expand Up @@ -68,7 +67,7 @@ public class PenMatchLookupManager {
/**
* The Nicknames map
*/
private final Map<String, List<NicknamesEntity>> nicknamesMap = new ConcurrentHashMap<>();
private final Map<String, List<NicknameEntity>> nicknamesMap = new ConcurrentHashMap<>();
/**
* The Nicknames lock.
*/
Expand Down Expand Up @@ -223,7 +222,7 @@ public String lookupStudentTruePENNumberByStudentID(String studentID, UUID corre
* @param givenName the given name
* @return the list
*/
public List<NicknamesEntity> lookupNicknamesOnly(String givenName) {
public List<NicknameEntity> lookupNicknamesOnly(String givenName) {
if (givenName == null || givenName.length() < 1) {
return new ArrayList<>();
}
Expand Down Expand Up @@ -251,7 +250,7 @@ public void lookupNicknames(PenMatchNames penMatchTransactionNames, String given
// Part 1 - Find the base nickname
String baseNickname = null;

List<NicknamesEntity> nicknamesBaseList = getNicknames(givenNameUpper);
List<NicknameEntity> nicknamesBaseList = getNicknames(givenNameUpper);
if (!nicknamesBaseList.isEmpty()) {
baseNickname = StringUtils.trimToNull(nicknamesBaseList.get(0).getNickname1());
}
Expand All @@ -266,8 +265,8 @@ public void lookupNicknames(PenMatchNames penMatchTransactionNames, String given
penMatchTransactionNames.getNicknames().add(baseNickname);
}

List<NicknamesEntity> tempNicknamesList = getNicknames(baseNickname);
for (NicknamesEntity nickEntity : tempNicknamesList) {
List<NicknameEntity> tempNicknamesList = getNicknames(baseNickname);
for (NicknameEntity nickEntity : tempNicknamesList) {
if (!StringUtils.equals(nickEntity.getNickname2(), givenNameUpper)) {
penMatchTransactionNames.getNicknames().add(StringUtils.trimToEmpty(nickEntity.getNickname2()));
}
Expand All @@ -292,7 +291,7 @@ public Integer lookupSurnameFrequency(String fullStudentSurname) {
public boolean lookupForeignSurname(String surname, String ancestry) {
var curDate = LocalDate.now();

Optional<ForeignSurnamesEntity> foreignSurnamesEntities = getForeignSurnameRepository().findBySurnameAndAncestryAndEffectiveDateLessThanEqualAndExpiryDateGreaterThanEqual(surname, ancestry, curDate, curDate);
Optional<ForeignSurnameEntity> foreignSurnamesEntities = getForeignSurnameRepository().findBySurnameAndAncestryAndEffectiveDateLessThanEqualAndExpiryDateGreaterThanEqual(surname, ancestry, curDate, curDate);

return foreignSurnamesEntities.isPresent();
}
Expand All @@ -310,8 +309,8 @@ public String lookupMatchResult(String matchCode) {

if (matchCodesMap == null) {
matchCodesMap = new ConcurrentHashMap<>();
List<MatchCodesEntity> matchCodesEntities = getMatchCodesRepository().findAll();
for (MatchCodesEntity entity : matchCodesEntities) {
List<MatchCodeEntity> matchCodesEntities = getMatchCodesRepository().findAll();
for (MatchCodeEntity entity : matchCodesEntities) {
matchCodesMap.put(entity.getMatchCode(), entity.getMatchResult());
}
}
Expand All @@ -333,7 +332,7 @@ public void reloadCache() {
if (matchCodesMap != null) {
matchCodesMap.clear();
}
matchCodesMap = getMatchCodesRepository().findAll().stream().collect(Collectors.toConcurrentMap(MatchCodesEntity::getMatchCode, MatchCodesEntity::getMatchResult));
matchCodesMap = getMatchCodesRepository().findAll().stream().collect(Collectors.toConcurrentMap(MatchCodeEntity::getMatchCode, MatchCodeEntity::getMatchResult));
log.info("Reloaded match codes into cache. {} entries", matchCodesMap.size());

log.info("Reloading nicknames cache");
Expand All @@ -348,7 +347,7 @@ public void reloadCache() {
@PostConstruct
public void init() {
log.info("Loading Match codes during startup.");
matchCodesMap = getMatchCodesRepository().findAll().stream().collect(Collectors.toConcurrentMap(MatchCodesEntity::getMatchCode, MatchCodesEntity::getMatchResult));
matchCodesMap = getMatchCodesRepository().findAll().stream().collect(Collectors.toConcurrentMap(MatchCodeEntity::getMatchCode, MatchCodeEntity::getMatchResult));
log.info("Loaded Match codes during startup. {} entries", matchCodesMap.size());

log.info("Loading Nicknames during startup.");
Expand All @@ -362,7 +361,7 @@ public void init() {
* @param givenName the given name
* @return the nicknames
*/
public List<NicknamesEntity> getNicknames(String givenName) {
public List<NicknameEntity> getNicknames(String givenName) {
String givenNameUpper = givenName.toUpperCase();
if (this.nicknamesMap.containsKey(givenNameUpper)) {
return this.nicknamesMap.get(givenNameUpper);
Expand Down Expand Up @@ -392,11 +391,11 @@ private void setNicknames() {
* @param entities the entity list
*/
// map as (givenName, list of Nicknames entity)
private void mapNicknames(List<NicknamesEntity> entities) {
for (NicknamesEntity entity : entities) {
private void mapNicknames(List<NicknameEntity> entities) {
for (NicknameEntity entity : entities) {
String givenName = entity.getNickname1();
var key = StringUtils.trimToNull(givenName);
List<NicknamesEntity> nicknames;
List<NicknameEntity> nicknames;

if (this.nicknamesMap.containsKey(key)) {
nicknames = this.nicknamesMap.get(key);
Expand All @@ -410,10 +409,10 @@ private void mapNicknames(List<NicknamesEntity> entities) {
}
}

for (NicknamesEntity entity : entities) {
for (NicknameEntity entity : entities) {
String givenName = entity.getNickname2();
var key = StringUtils.trimToNull(givenName);
List<NicknamesEntity> nicknames;
List<NicknameEntity> nicknames;

if (this.nicknamesMap.containsKey(key)) {
nicknames = this.nicknamesMap.get(key);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,12 @@
import io.nats.client.Connection;
import io.nats.client.Message;
import io.nats.client.MessageHandler;
import jakarta.annotation.PostConstruct;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import jakarta.annotation.PostConstruct;

import static ca.bc.gov.educ.api.penmatch.constants.Topics.PEN_MATCH_API_TOPIC;
import static lombok.AccessLevel.PRIVATE;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@
import io.nats.client.PushSubscribeOptions;
import io.nats.client.api.ConsumerConfiguration;
import io.nats.client.api.DeliverPolicy;
import jakarta.annotation.PostConstruct;
import lombok.extern.slf4j.Slf4j;
import lombok.val;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.DependsOn;
import org.springframework.stereotype.Component;

import jakarta.annotation.PostConstruct;
import java.io.IOException;

import static ca.bc.gov.educ.api.penmatch.constants.Topics.PEN_MATCH_EVENTS_TOPIC;
Expand Down

This file was deleted.

Loading

0 comments on commit bdac070

Please sign in to comment.