Skip to content

Commit 33ec951

Browse files
committed
fix: update UtmModuleRepository and UtmModuleService to use Optional for findByServerIdAndModuleName method
1 parent bde0e3b commit 33ec951

File tree

2 files changed

+29
-25
lines changed

2 files changed

+29
-25
lines changed

backend/src/main/java/com/park/utmstack/repository/application_modules/UtmModuleRepository.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.springframework.stereotype.Repository;
1111

1212
import java.util.List;
13+
import java.util.Optional;
1314

1415

1516
/**
@@ -19,8 +20,8 @@
1920
@Repository
2021
public interface UtmModuleRepository extends JpaRepository<UtmModule, Long>, JpaSpecificationExecutor<UtmModule> {
2122

22-
@EntityGraph(attributePaths = {"moduleGroups", "moduleGroups.moduleGroupConfigurations"})
23-
UtmModule findByServerIdAndModuleName(Long serverId, ModuleName shortName);
23+
@EntityGraph(attributePaths = {"server", "filters", "moduleGroups", "moduleGroups.moduleGroupConfigurations"})
24+
Optional<UtmModule> findByServerIdAndModuleName(Long serverId, ModuleName shortName);
2425

2526
Integer countAllByModuleNameAndModuleActiveIsTrue(ModuleName shortName);
2627

backend/src/main/java/com/park/utmstack/service/application_modules/UtmModuleService.java

Lines changed: 26 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -56,30 +56,32 @@ public class UtmModuleService {
5656
public UtmModule activateDeactivate(ModuleActivationDTO moduleActivationDTO) {
5757
final String ctx = CLASSNAME + ".activateDeactivate";
5858

59-
long serverId = moduleActivationDTO.getServerId();
60-
ModuleName nameShort = moduleActivationDTO.getModuleName();
61-
boolean activationStatus = moduleActivationDTO.getActivationStatus();
59+
long serverId = moduleActivationDTO.getServerId();
60+
ModuleName nameShort = moduleActivationDTO.getModuleName();
61+
boolean activationStatus = moduleActivationDTO.getActivationStatus();
6262

63-
UtmModule module = moduleRepository.findByServerIdAndModuleName(serverId, nameShort);
63+
return moduleRepository.findByServerIdAndModuleName(serverId, nameShort)
64+
.map(module -> {
65+
module.setModuleActive(activationStatus);
66+
module = moduleRepository.save(module);
6467

65-
if (Objects.isNull(module))
66-
throw new NoSuchElementException(String.format("Definition of the module %1$s not found for the server ID %2$s", nameShort.name(), serverId));
68+
List<ModuleName> nonRemovableConf = List.of(ModuleName.SOC_AI);
6769

68-
module.setModuleActive(activationStatus);
69-
module = moduleRepository.save(module);
70+
if (!activationStatus && !nonRemovableConf.contains(nameShort))
71+
moduleGroupRepository.deleteAllByModuleId(module.getId());
7072

71-
List<ModuleName> nonRemovableConf = List.of(ModuleName.SOC_AI);
73+
enableDisableModuleMenus(nameShort, activationStatus);
74+
enableDisableModuleIndexPatterns(nameShort, activationStatus);
75+
enableDisableModuleFilter(nameShort, activationStatus);
7276

73-
if (!activationStatus && !nonRemovableConf.contains(nameShort))
74-
moduleGroupRepository.deleteAllByModuleId(module.getId());
77+
UtmModule detached = SerializationUtils.clone(module);
78+
eventProcessorManagerService.updateModule(detached);
7579

76-
enableDisableModuleMenus(nameShort, activationStatus);
77-
enableDisableModuleIndexPatterns(nameShort, activationStatus);
78-
enableDisableModuleFilter(nameShort, activationStatus);
79-
UtmModule detached = SerializationUtils.clone(module);
80-
eventProcessorManagerService.updateModule(detached);
81-
82-
return module;
80+
return module;
81+
})
82+
.orElseThrow(() -> new NoSuchElementException(
83+
String.format("Definition of the module %1$s not found for the server ID %2$s", nameShort.name(), serverId)
84+
));
8385
}
8486

8587
private void enableDisableModuleMenus(ModuleName nameShort, Boolean activationStatus) {
@@ -186,11 +188,12 @@ public Optional<UtmModule> findOne(Long id) {
186188

187189
public UtmModule findByServerIdAndModuleName(Long serverId, ModuleName shortName) {
188190
final String ctx = CLASSNAME + ".findByServerIdAndModuleName";
189-
try {
190-
return moduleRepository.findByServerIdAndModuleName(serverId, shortName);
191-
} catch (Exception e) {
192-
throw new RuntimeException(ctx + ": " + e.getMessage());
193-
}
191+
192+
return moduleRepository.findByServerIdAndModuleName(serverId, shortName)
193+
.orElseThrow(() -> new NoSuchElementException(
194+
String.format("%s: The module %s not found for the server ID %s", ctx, shortName.name(), serverId)
195+
));
196+
194197
}
195198

196199
public boolean isModuleActive(ModuleName shortName) {

0 commit comments

Comments
 (0)