diff --git a/web/src/main/java/com/navercorp/pinpoint/web/controller/UserGroupController.java b/web/src/main/java/com/navercorp/pinpoint/web/controller/UserGroupController.java index 9dc980f60..ced28d498 100644 --- a/web/src/main/java/com/navercorp/pinpoint/web/controller/UserGroupController.java +++ b/web/src/main/java/com/navercorp/pinpoint/web/controller/UserGroupController.java @@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; +import com.navercorp.pinpoint.web.service.AlarmService; import com.navercorp.pinpoint.web.service.UserGroupService; import com.navercorp.pinpoint.web.vo.UserGroup; import com.navercorp.pinpoint.web.vo.UserGroupMember; @@ -51,6 +52,9 @@ public class UserGroupController { @Autowired UserGroupService userGroupService; + @Autowired + AlarmService alarmService; + @RequestMapping(method = RequestMethod.POST) @ResponseBody public Map createUserGroup(@RequestBody UserGroup userGroup) { @@ -80,6 +84,9 @@ public class UserGroupController { userGroupService.deleteUserGroup(userGroup); userGroupService.deleteMemberByUserGroupId(userGroup.getId()); + alarmService.deleteRuleByUserGroupId(userGroup.getId()); + + Map result = new HashMap(); result.put("result", "SUCCESS"); @@ -108,6 +115,7 @@ public class UserGroupController { return result; } + alarmService.updateUserGroupIdOfRule(userGroup); userGroupService.updateUserGroupIdOfMember(userGroup); userGroupService.updateUserGroup(userGroup); @@ -155,7 +163,7 @@ public class UserGroupController { @RequestMapping(value = "/member", method = RequestMethod.GET) @ResponseBody public List getUserGroupMember(@RequestParam(USER_GROUP_ID) String userGroupId) { - //need param check and make respose message for exception + //need param check and make response message for exception return userGroupService.selectMember(userGroupId); } diff --git a/web/src/main/java/com/navercorp/pinpoint/web/dao/AlarmDao.java b/web/src/main/java/com/navercorp/pinpoint/web/dao/AlarmDao.java index 3c3549c7f..2b9d612a1 100644 --- a/web/src/main/java/com/navercorp/pinpoint/web/dao/AlarmDao.java +++ b/web/src/main/java/com/navercorp/pinpoint/web/dao/AlarmDao.java @@ -19,6 +19,7 @@ import java.util.List; import com.navercorp.pinpoint.web.alarm.vo.CheckerResult; import com.navercorp.pinpoint.web.alarm.vo.Rule; +import com.navercorp.pinpoint.web.vo.UserGroup; /** * @author minwoo.jung @@ -42,4 +43,6 @@ public interface AlarmDao { void deleteCheckerResult(CheckerResult checkerResult); void insertCheckerResult(CheckerResult checkerResult); + + void updateUserGroupIdOfRule(UserGroup userGroup); } diff --git a/web/src/main/java/com/navercorp/pinpoint/web/dao/memory/MemoryAlarmDao.java b/web/src/main/java/com/navercorp/pinpoint/web/dao/memory/MemoryAlarmDao.java index 7a3912164..f44e4b7b7 100644 --- a/web/src/main/java/com/navercorp/pinpoint/web/dao/memory/MemoryAlarmDao.java +++ b/web/src/main/java/com/navercorp/pinpoint/web/dao/memory/MemoryAlarmDao.java @@ -23,11 +23,15 @@ import java.util.Map.Entry; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jca.cci.connection.NotSupportedRecordFactory; import org.springframework.stereotype.Repository; import com.navercorp.pinpoint.web.alarm.vo.CheckerResult; import com.navercorp.pinpoint.web.alarm.vo.Rule; import com.navercorp.pinpoint.web.dao.AlarmDao; +import com.navercorp.pinpoint.web.dao.UserGroupDao; +import com.navercorp.pinpoint.web.vo.UserGroup; /** * @author minwoo.jung @@ -91,6 +95,10 @@ public class MemoryAlarmDao implements AlarmDao { alarmRule.put(rule.getRuleId(), rule); } + @Override + public void updateUserGroupIdOfRule(UserGroup userGroup) { + } + @Override public List selectBeforeCheckerResultList(String applicationId) { return new ArrayList(); @@ -103,4 +111,5 @@ public class MemoryAlarmDao implements AlarmDao { @Override public void insertCheckerResult(CheckerResult checkerResult) { } + } diff --git a/web/src/main/java/com/navercorp/pinpoint/web/dao/mysql/MysqlAlarmDao.java b/web/src/main/java/com/navercorp/pinpoint/web/dao/mysql/MysqlAlarmDao.java index e008f241c..2e3ebec3a 100644 --- a/web/src/main/java/com/navercorp/pinpoint/web/dao/mysql/MysqlAlarmDao.java +++ b/web/src/main/java/com/navercorp/pinpoint/web/dao/mysql/MysqlAlarmDao.java @@ -25,6 +25,7 @@ import org.springframework.stereotype.Repository; import com.navercorp.pinpoint.web.alarm.vo.CheckerResult; import com.navercorp.pinpoint.web.alarm.vo.Rule; import com.navercorp.pinpoint.web.dao.AlarmDao; +import com.navercorp.pinpoint.web.vo.UserGroup; /** * @author minwoo.jung @@ -69,6 +70,11 @@ public class MysqlAlarmDao implements AlarmDao { sqlSessionTemplate.update(NAMESPACE + "updateRule", rule); } + @Override + public void updateUserGroupIdOfRule(UserGroup userGroup) { + sqlSessionTemplate.update(NAMESPACE + "updateUserGroupIdOfRule", userGroup); + } + @Override public List selectBeforeCheckerResultList(String applicationId) { return sqlSessionTemplate.selectList(NAMESPACE + "selectBeforeCheckerResultList", applicationId); @@ -83,4 +89,5 @@ public class MysqlAlarmDao implements AlarmDao { public void insertCheckerResult(CheckerResult checkerResult) { sqlSessionTemplate.insert(NAMESPACE + "insertCheckerResult", checkerResult); } + } diff --git a/web/src/main/java/com/navercorp/pinpoint/web/service/AlarmService.java b/web/src/main/java/com/navercorp/pinpoint/web/service/AlarmService.java index c08895489..ad9fc6c55 100644 --- a/web/src/main/java/com/navercorp/pinpoint/web/service/AlarmService.java +++ b/web/src/main/java/com/navercorp/pinpoint/web/service/AlarmService.java @@ -21,6 +21,7 @@ import java.util.Map; import com.navercorp.pinpoint.web.alarm.checker.AlarmChecker; import com.navercorp.pinpoint.web.alarm.vo.CheckerResult; import com.navercorp.pinpoint.web.alarm.vo.Rule; +import com.navercorp.pinpoint.web.vo.UserGroup; /** * @author minwoo.jung @@ -41,5 +42,7 @@ public interface AlarmService { void updateBeforeCheckerResult(CheckerResult beforeCheckerResult, AlarmChecker checker); + void deleteRuleByUserGroupId(String groupId); + void updateUserGroupIdOfRule(UserGroup userGroup); } diff --git a/web/src/main/java/com/navercorp/pinpoint/web/service/AlarmServiceImpl.java b/web/src/main/java/com/navercorp/pinpoint/web/service/AlarmServiceImpl.java index 983516949..9800b853b 100644 --- a/web/src/main/java/com/navercorp/pinpoint/web/service/AlarmServiceImpl.java +++ b/web/src/main/java/com/navercorp/pinpoint/web/service/AlarmServiceImpl.java @@ -26,6 +26,7 @@ import com.navercorp.pinpoint.web.alarm.checker.AlarmChecker; import com.navercorp.pinpoint.web.alarm.vo.CheckerResult; import com.navercorp.pinpoint.web.alarm.vo.Rule; import com.navercorp.pinpoint.web.dao.AlarmDao; +import com.navercorp.pinpoint.web.vo.UserGroup; /** * @author minwoo.jung @@ -91,4 +92,14 @@ public class AlarmServiceImpl implements AlarmService { } + @Override + public void deleteRuleByUserGroupId(String groupId) { + alarmDao.deleteRuleByUserGroupId(groupId); + } + + @Override + public void updateUserGroupIdOfRule(UserGroup userGroup) { + alarmDao.updateUserGroupIdOfRule(userGroup); + } + } diff --git a/web/src/main/resources/mapper/AlarmMapper.xml b/web/src/main/resources/mapper/AlarmMapper.xml index fb2521458..7cdb661ee 100644 --- a/web/src/main/resources/mapper/AlarmMapper.xml +++ b/web/src/main/resources/mapper/AlarmMapper.xml @@ -39,6 +39,12 @@ WHERE rule_id = #{ruleId} + + UPDATE alarm_rule + SET user_group_id = #{id} + WHERE user_group_id = (SELECT id FROM user_group WHERE number = #{number}) + +