Преглед изворни кода

kisa secure coding java update

shjung пре 3 година
родитељ
комит
703f66c2ef

+ 13 - 3
src/main/java/com/its/op/entity/domain/converter/CodeValueConverter.java

@@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j;
 import javax.persistence.AttributeConverter;
 import java.util.EnumSet;
 import java.util.NoSuchElementException;
+import java.util.Optional;
 
 @Slf4j
 public class CodeValueConverter <E extends Enum<E> & ICodeValue> implements AttributeConverter<E, String> {
@@ -23,10 +24,19 @@ public class CodeValueConverter <E extends Enum<E> & ICodeValue> implements Attr
 
     @Override
     public E convertToEntityAttribute(String code) throws NoSuchElementException {
-        return EnumSet.allOf(this.clz).stream()
+        Optional<E> data = EnumSet.allOf(this.clz).stream()
                 .filter(e->e.getCode().equals(code))
-                .findAny()
-                .orElseThrow(()-> new NoSuchElementException());
+                .findAny();
+        if (data.isPresent()) {
+            return data.get();
+        }
+        else {
+            throw new NoSuchElementException("데이터가 존재하지 않습니다: " + code);
+        }
+//        return EnumSet.allOf(this.clz).stream()
+//                .filter(e->e.getCode().equals(code))
+//                .findAny()
+//                .orElseThrow(()-> new NoSuchElementException());
     }
 
 }

+ 9 - 3
src/main/java/com/its/op/security/WebLoginService.java

@@ -1,8 +1,8 @@
 package com.its.op.security;
 
-import com.its.op.entity.its.oper.TbUserInfr;
 import com.its.op.dao.repository.its.oper.TbUserCnncHsRepository;
 import com.its.op.dao.repository.its.oper.TbUserInfrRepository;
+import com.its.op.entity.its.oper.TbUserInfr;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.security.core.userdetails.UserDetails;
@@ -24,7 +24,13 @@ public class WebLoginService implements UserDetailsService {
     public UserDetails loadUserByUsername(String userId) throws UsernameNotFoundException {
         //log.info("loadUserByUsername: {}", userId);
         Optional<TbUserInfr> optUserInfr = this.userRepo.findById(userId);
-        TbUserInfr userInfr = optUserInfr.orElseThrow(() -> new UsernameNotFoundException(userId + " 을(를) 찾을 수 없습니다."));
-        return userInfr.toVo();
+        if (optUserInfr.isPresent()) {
+            return optUserInfr.get().toVo();
+        }
+        else {
+            throw new UsernameNotFoundException(userId + " 을(를) 찾을 수 없습니다.");
+        }
+//        TbUserInfr userInfr = optUserInfr.orElseThrow(() -> new UsernameNotFoundException(userId + " 을(를) 찾을 수 없습니다."));
+//        return userInfr.toVo();
     }
 }

+ 9 - 2
src/main/java/com/its/op/service/its/vms/TbVmsLumSetSchService.java

@@ -48,8 +48,15 @@ public class TbVmsLumSetSchService {
     // 데이터 1건 조회(기존 데이터가 반드시 존재해야 함)
     @Transactional(readOnly = true)
     public TbVmsLumSetSchDto findById(TbVmsLumSetSchKey key) {
-        Optional<TbVmsLumSetSch> data = this.repo.findByKey(key.getVmsCtlrNmbr(), key.getSchTime());
-        return data.orElseThrow(() -> new NoSuchElementException("데이터가 존재하지 않습니다: " + key.getVmsCtlrNmbr())).toDto();
+        Optional<TbVmsLumSetSch> info = this.repo.findByKey(key.getVmsCtlrNmbr(), key.getSchTime());
+        if (info.isPresent()) {
+            return info.get().toDto();
+        }
+        else {
+            throw new NoSuchElementException("데이터가 존재하지 않습니다: " + key.getVmsCtlrNmbr());
+        }
+//        Optional<TbVmsLumSetSch> data = this.repo.findByKey(key.getVmsCtlrNmbr(), key.getSchTime());
+//        return data.orElseThrow(() -> new NoSuchElementException("데이터가 존재하지 않습니다: " + key.getVmsCtlrNmbr())).toDto();
 
 /*
         if (data.isPresent()) {