@@ -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