Merge remote-tracking branch 'origin/jenkins_with_weblogic' of C:/eactive/bundle/bundles/20251230/eapim-admin_incremental_2025-12-01.bundle into jenkins_with_weblogic
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
package com.eactive.eai.rms.common.login;
|
||||
|
||||
import javax.servlet.annotation.WebListener;
|
||||
import javax.servlet.http.HttpSession;
|
||||
import javax.servlet.http.HttpSessionEvent;
|
||||
import javax.servlet.http.HttpSessionListener;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
@WebListener
|
||||
public class SessionDestructionListener implements HttpSessionListener {
|
||||
|
||||
private static final Logger logger = Logger.getLogger(SessionDestructionListener.class);
|
||||
|
||||
@Override
|
||||
public void sessionCreated(HttpSessionEvent se) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 세션 타임아웃 등으로 소멸 시 세션정보 삭제
|
||||
*/
|
||||
@Override
|
||||
public void sessionDestroyed(HttpSessionEvent se) {
|
||||
|
||||
try {
|
||||
HttpSession session = se.getSession();
|
||||
|
||||
String userId = (String) session.getAttribute("userId");
|
||||
|
||||
// 로그인 한 사용자의 세션정보 정리
|
||||
if (userId != null) {
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("[SessionListener] 세션만료 감지. 사용자 제거: " + userId);
|
||||
}
|
||||
|
||||
SessionManager.removeUserSession(userId);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
|
||||
|
||||
logger.error("[SessionListener] 세션 정리 중 오류 발생", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
+13
-3
@@ -1,21 +1,31 @@
|
||||
package com.eactive.eai.rms.data.entity.onl.authserver;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import javax.persistence.EntityManager;
|
||||
import javax.persistence.PersistenceContext;
|
||||
|
||||
import com.eactive.eai.data.entity.onl.authserver.QScopeEntity;
|
||||
import com.eactive.eai.data.entity.onl.authserver.ScopeEntity;
|
||||
import com.eactive.eai.data.entity.onl.authserver.ScopeEntityId;
|
||||
import com.eactive.eai.data.jpa.AbstractDataService;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@Service
|
||||
@Transactional
|
||||
public class ScopeEntityService extends AbstractDataService<ScopeEntity, ScopeEntityId, ScopeEntityEMSRepository> {
|
||||
|
||||
|
||||
@PersistenceContext
|
||||
private EntityManager entityManager; // AbstractDataService 의 entityManager가 private이라 접근 불가하여 별도 주입
|
||||
|
||||
public void deleteByIdScopeId(String scopeId) {
|
||||
getJPAQueryFactory().delete(QScopeEntity.scopeEntity)
|
||||
.where(QScopeEntity.scopeEntity.id.scopeid.eq(scopeId))
|
||||
.execute();
|
||||
|
||||
// 동일 트랜잭션 내에서 같은 ID로 재저장 시 충돌(EntityExistsException)을 방지
|
||||
entityManager.flush();
|
||||
entityManager.clear();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -310,8 +310,6 @@ public class EAIMessageService extends AbstractDataService<EAIMessageEntity, Str
|
||||
.on(qScopeEntity.id.scopeid.eq(qScopeInfo.scopeId))
|
||||
.where(predicate)
|
||||
.orderBy(qScopeEntity.id.bzwksvckeyname.asc())
|
||||
.offset(pageable.getOffset())
|
||||
.limit(pageable.getPageSize())
|
||||
.fetch();
|
||||
|
||||
return new PageImpl<>(result, pageable, result.size());
|
||||
@@ -320,7 +318,7 @@ public class EAIMessageService extends AbstractDataService<EAIMessageEntity, Str
|
||||
private BooleanExpression booleanPredicate(QEAIMessageEntity qEaiMessageEntity, QScopeEntity qScopeEntity,
|
||||
QScopeInfo qScopeInfo, ApiScopeSearch apiScopeSearch) {
|
||||
|
||||
BooleanExpression predicate = qScopeEntity.id.scopeid.containsIgnoreCase(apiScopeSearch.getSearchScopeId());
|
||||
BooleanExpression predicate = qScopeEntity.id.scopeid.equalsIgnoreCase(apiScopeSearch.getSearchScopeId());
|
||||
// BooleanExpression predicate = qEaiMessageEntity.eaisvcdesc.containsIgnoreCase(apiScopeSearch.getSearchEaiSvcDesc());
|
||||
|
||||
// if(StringUtils.isNotBlank(apiScopeSearch.getSearchBzwkSvcKeyName())) {
|
||||
|
||||
@@ -7,4 +7,5 @@ public class ApiGroupUISearch {
|
||||
private String searchGroupName;
|
||||
private String searchGroupDesc;
|
||||
private String searchDisplayYn;
|
||||
private String searchApiFullPath;
|
||||
}
|
||||
|
||||
+14
-14
@@ -7,6 +7,14 @@ import java.util.Map;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.OnlBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.combo.ComboService;
|
||||
import com.eactive.eai.rms.common.combo.ComboVo;
|
||||
import com.eactive.eai.rms.common.vo.GridResponse;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
@@ -16,14 +24,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.eactive.eai.agent.command.CommonCommand;
|
||||
import com.eactive.eai.rms.common.base.OnlBaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.combo.ComboService;
|
||||
import com.eactive.eai.rms.common.combo.ComboVo;
|
||||
import com.eactive.eai.rms.common.vo.GridResponse;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
@Controller
|
||||
public class InflowGroupControlManController extends OnlBaseAnnotationController {
|
||||
|
||||
@@ -78,7 +78,7 @@ public class InflowGroupControlManController extends OnlBaseAnnotationController
|
||||
* 그룹 저장 (INSERT)
|
||||
*/
|
||||
@RequestMapping(value = "/onl/admin/inflow/inflowGroupControlMan.json", params = "cmd=INSERT")
|
||||
public String insert(HttpServletRequest request, HttpServletResponse response, InflowGroupControlManUI ui,
|
||||
public ResponseEntity<Void> insert(HttpServletRequest request, HttpServletResponse response, InflowGroupControlManUI ui,
|
||||
@RequestParam(value = "interfaceListJson", required = false) String interfaceListJson) throws Exception {
|
||||
parseInterfaceList(ui, interfaceListJson);
|
||||
String modifiedBy = getSessionUserId(request);
|
||||
@@ -88,14 +88,14 @@ public class InflowGroupControlManController extends OnlBaseAnnotationController
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.inflow.ReloadInflowGroupControlCommand",
|
||||
ui.getGroupId());
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
return ResponseEntity.ok().build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 그룹 저장 (UPDATE)
|
||||
*/
|
||||
@RequestMapping(value = "/onl/admin/inflow/inflowGroupControlMan.json", params = "cmd=UPDATE")
|
||||
public String update(HttpServletRequest request, HttpServletResponse response, InflowGroupControlManUI ui,
|
||||
public ResponseEntity<Void> update(HttpServletRequest request, HttpServletResponse response, InflowGroupControlManUI ui,
|
||||
@RequestParam(value = "interfaceListJson", required = false) String interfaceListJson) throws Exception {
|
||||
parseInterfaceList(ui, interfaceListJson);
|
||||
String modifiedBy = getSessionUserId(request);
|
||||
@@ -105,21 +105,21 @@ public class InflowGroupControlManController extends OnlBaseAnnotationController
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.inflow.ReloadInflowGroupControlCommand",
|
||||
ui.getGroupId());
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
return ResponseEntity.ok().build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 그룹 삭제
|
||||
*/
|
||||
@RequestMapping(value = "/onl/admin/inflow/inflowGroupControlMan.json", params = "cmd=DELETE")
|
||||
public String delete(HttpServletRequest request, HttpServletResponse response, String groupId) throws Exception {
|
||||
public ResponseEntity<Void> delete(HttpServletRequest request, HttpServletResponse response, String groupId) throws Exception {
|
||||
service.deleteGroup(groupId);
|
||||
|
||||
// Agent Command 전송
|
||||
CommonCommand command = new CommonCommand("com.eactive.eai.agent.inflow.RemoveInflowGroupControlCommand",
|
||||
groupId);
|
||||
agentUtilService.broadcast(command);
|
||||
return null;
|
||||
return ResponseEntity.ok().build();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -171,7 +171,8 @@ public class Transform2Service extends BaseService {
|
||||
|
||||
private String genConversionSourceItems(String srcLayoutName, String cnvsncmdname) {
|
||||
|
||||
Pattern pattern = Pattern.compile(srcLayoutName + "(\\w|\\[|\\]|\\*|\\.|-|:)*");
|
||||
// \uAC00-\uD7A3 : 한글 전체 ('가' ~ '힣')
|
||||
Pattern pattern = Pattern.compile(srcLayoutName + "[\\w\\.\\[\\]\\*\\-:\\uAC00-\\uD7A3]*");
|
||||
Matcher matcher = pattern.matcher(cnvsncmdname);
|
||||
|
||||
StringBuilder result = new StringBuilder();
|
||||
|
||||
+2
-1
@@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@@ -52,7 +53,7 @@ public class StdMessageManController extends BaseController {
|
||||
@PostMapping(value = "/onl/admin/service/stdMessageMan.json", params = "cmd=LIST")
|
||||
public ResponseEntity<GridResponse<StdMessageUI>> selectList(Pageable pageable, String searchBzwkSvcKeyName,
|
||||
String searchEaiSvcCode, String searchEaiSendRecv, String searchEaiDirection) {
|
||||
List<StdMessageUI> map = service
|
||||
Page<StdMessageUI> map = service
|
||||
.selectList(pageable, searchBzwkSvcKeyName, searchEaiSvcCode, searchEaiSendRecv, searchEaiDirection);
|
||||
|
||||
return ResponseEntity.ok(new GridResponse<>(map));
|
||||
|
||||
+6
-6
@@ -16,6 +16,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -59,14 +60,13 @@ public class StdMessageManService {
|
||||
@Autowired
|
||||
private ExtendedColumnDefinitionUIMapper extendedColumnDefinitionUIMapper;
|
||||
|
||||
public List<StdMessageUI> selectList(Pageable pageable, String searchBzwkSvcKeyName, String searchEaiSvcCode,
|
||||
public Page<StdMessageUI> selectList(Pageable pageable, String searchBzwkSvcKeyName, String searchEaiSvcCode,
|
||||
String searchEaiSendRecv, String searchEaiDirection) {
|
||||
|
||||
return standardMessageInfoService
|
||||
.findAll(pageable, searchBzwkSvcKeyName, searchEaiSvcCode, searchEaiSendRecv, searchEaiDirection)
|
||||
.stream()
|
||||
.map(stdMessageUIMapper::toVo)
|
||||
.collect(Collectors.toList());
|
||||
Page<StandardMessageInfo> pageResult = standardMessageInfoService
|
||||
.findAll(pageable, searchBzwkSvcKeyName, searchEaiSvcCode, searchEaiSendRecv, searchEaiDirection);
|
||||
|
||||
return pageResult.map(stdMessageUIMapper::toVo);
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user