CoursesDomain courseDomain = coursesDao.findByName(data[6].replaceAll("\\s+", ""));
if (courseDomain == null) {
// Return an empty Optional if courseDomain is null
return Optional.empty();
}
Optional<GonghakCoursesDomain> course = mapToGonghakCoursesDomain(data);
if (course.isPresent()) {
// Save to repository only if the Optional contains a value
gonghakCorusesDao.save(course.get());
}
π§μ°κ²°λ μ΄μ
π οΈμμ λ΄μ©
enum MajorName
μννΈμ¨μ΄νκ³Ό, λ°μ΄ν°μ¬μ΄μΈμ€νκ³Ό μΆκ°mapToGonghakCoursesDomain
λ©μλ 리ν©ν λ§π€·ββοΈPRμ΄ νμν μ΄μ
1. enum MajorName
2νκ³Όκ° μλ‘ μΆκ°λ¨μ λ°λΌ μΆκ°νμμ΅λλ€.
2.
mapToGonghakCoursesDomain
λ©μλ 리ν©ν λ§μ‘΄μ¬νμ§ μλ κ°μ
μλ μννΈμ¨μ΄νκ³Όμ 17λ λ κ΅κ³Όκ³Όμ νμ λλ€. νμ§λ§ μ΄μ€
κ³ κΈμ€μκ°κ·Έλν½μ€
,λμ§νΈμ¬μ΄λ
λ±μ μ€μ κ΅κ³Όκ° κ°μ€λμ§ μμ μ΄λ₯Ό μ²λ¦¬ν λ‘μ§μ΄ νμνμ΅λλ€.μλλ GongakCoursesDomainμ returnνλ κ°μ²΄λ₯Ό return νλλ‘ λ¦¬ν©ν λ§νμ¬, ν΄λΉ κ°μ²΄κ° emptyλ©΄ μ μ₯νμ§ μκ³ , μ΄ν λΆνμν λ‘μ§λ μ§ννμ§ μκ² νμμ΅λλ€.
mapToGonghakCoursesDomain
λ©μλλ₯Ό Optionalλ°μ΄ν° ν¬λ§·ν
μλλ μννΈμ¨μ΄νκ³Όμ λ°μ΄ν°νμμ΄κ³ ,
μλλ μ μμ 보ν΅μ 곡νκ³Όμ λ°μ΄ν° νμμ λλ€.
νκ³Όλ³λ‘ κ΅κ³Όκ΅¬λΆ νλͺ©μ΄ μμ΄νμ¬ csv νμΌλ€μ μ΄ν΄λ³΄λ©° κ°λ₯ν λͺ¨λ κ²½μ°μ μλ₯Ό μΆμ€λ €μ
μ λ¬Έκ΅μ
,BSM
,μ 곡
,MSC
4κ°μ§ νλͺ©μΌλ‘ ν΅μΌμμΌ°μ΅λλ€.μΈμ¦κ΅¬λΆ λ°μ΄ν°λ
μΈμ
,μΈν
ννλ‘ μ μ₯λλλ‘ substringμ μ μ©νμμ΅λλ€.μκ°νμμΌλ‘λ "λνμμμνμ§λ‘μ€κ³" μ²λΌ λμ΄μ°κΈ°κ° μ£Όλ‘ μμΌλ©°, 곡νμΈμ¦ ννμ΄μ§μμΌλ‘λ "λνμμ μν μ§λ‘μ€κ³" μ²λΌ λμ΄μ°κΈ°κ° μ μ©λμ΄μμ΄ νκ³Όλͺ©μ κ²μνλλ° μλ¬κ° λ°μνμ΅λλ€.
μκ°νμμΌλ‘λ κ°λ λμ΄μ°κΈ°κ° μ‘΄μ¬νλ νλͺ©λ μκ³ λΆκ·μΉμ μ΄λΌ, λͺ¨λ κ΅κ³Όλͺ©μ λμ΄μ°κΈ°λ₯Ό μμ λλ‘ ν΅μΌνμμ΅λλ€.
βοΈPR 체ν¬λ¦¬μ€νΈ