This is an automated email from the ASF dual-hosted git repository.

aleks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git


The following commit(s) were added to refs/heads/develop by this push:
     new 073b1b04b Cleanup around Hooks and Hook templates
073b1b04b is described below

commit 073b1b04b6f2a44e03a8b645b7ae02f0626cbf47
Author: Arnold Galovics <[email protected]>
AuthorDate: Tue May 17 19:51:02 2022 +0200

    Cleanup around Hooks and Hook templates
---
 .../infrastructure/hooks/api/HookApiConstants.java |  8 ++--
 .../infrastructure/hooks/api/HookApiResource.java  | 16 +------
 .../fineract/infrastructure/hooks/data/Entity.java | 16 +------
 .../fineract/infrastructure/hooks/data/Event.java  | 19 ++------
 .../hooks/data/EventResultSetExtractor.java        | 21 ++------
 .../fineract/infrastructure/hooks/data/Field.java  | 31 +++---------
 .../infrastructure/hooks/data/Grouping.java        | 16 +------
 .../infrastructure/hooks/data/HookData.java        | 48 +++----------------
 .../hooks/data/HookTemplateData.java               | 13 ++---
 .../fineract/infrastructure/hooks/domain/Hook.java |  4 +-
 .../hooks/event/HookEventSource.java               | 20 ++------
 .../hooks/handler/CreateHookCommandHandler.java    |  9 +---
 .../hooks/handler/DeleteHookCommandHandler.java    | 10 +---
 .../hooks/handler/UpdateHookCommandHandler.java    | 10 +---
 .../hooks/listener/FineractHookListener.java       | 19 ++------
 .../processor/ElasticSearchHookProcessor.java      |  6 +--
 .../processor/MessageGatewayHookProcessor.java     | 22 ++-------
 .../hooks/processor/TwilioHookProcessor.java       | 13 +----
 .../hooks/processor/WebHookProcessor.java          |  8 +---
 .../HookCommandFromApiJsonDeserializer.java        |  8 +---
 .../hooks/service/HookReadPlatformServiceImpl.java | 56 ++++++++--------------
 .../HookWritePlatformServiceJpaRepositoryImpl.java | 17 +------
 .../service/NotificationDomainServiceImpl.java     | 20 ++------
 23 files changed, 89 insertions(+), 321 deletions(-)

diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/api/HookApiConstants.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/api/HookApiConstants.java
index 381e36997..b1dcfe7db 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/api/HookApiConstants.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/api/HookApiConstants.java
@@ -24,9 +24,7 @@ import java.util.Set;
 
 public final class HookApiConstants {
 
-    private HookApiConstants() {
-
-    }
+    private HookApiConstants() {}
 
     public static final String HOOK_RESOURCE_NAME = "HOOK";
 
@@ -72,10 +70,10 @@ public final class HookApiConstants {
 
     public static final String SMSProviderIdParamName = "SMS Provider Id";
 
-    static final Set<String> RESPONSE_DATA_PARAMETERS = new 
HashSet<>(Arrays.asList(nameParamName, displayNameParamName,
+    public static final Set<String> RESPONSE_DATA_PARAMETERS = new 
HashSet<>(Arrays.asList(nameParamName, displayNameParamName,
             templateIdParamName, isActiveParamName, configParamName, 
eventsParamName, templateNameParamName));
 
-    static final Set<String> UPDATE_REQUEST_DATA_PARAMETERS = new 
HashSet<>(Arrays.asList(nameParamName, displayNameParamName,
+    public static final Set<String> UPDATE_REQUEST_DATA_PARAMETERS = new 
HashSet<>(Arrays.asList(nameParamName, displayNameParamName,
             templateIdParamName, isActiveParamName, configParamName, 
eventsParamName, templateNameParamName));
 
 }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/api/HookApiResource.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/api/HookApiResource.java
index 236d852cb..c064d729b 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/api/HookApiResource.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/api/HookApiResource.java
@@ -42,6 +42,7 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.Context;
 import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.UriInfo;
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.domain.CommandWrapper;
 import org.apache.fineract.commands.service.CommandWrapperBuilder;
 import 
org.apache.fineract.commands.service.PortfolioCommandSourceWritePlatformService;
@@ -52,16 +53,14 @@ import 
org.apache.fineract.infrastructure.core.serialization.DefaultToApiJsonSer
 import org.apache.fineract.infrastructure.hooks.data.HookData;
 import 
org.apache.fineract.infrastructure.hooks.service.HookReadPlatformService;
 import 
org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Scope;
 import org.springframework.stereotype.Component;
 
 @Path("/hooks")
 @Consumes({ MediaType.APPLICATION_JSON })
 @Produces({ MediaType.APPLICATION_JSON })
 @Component
-@Scope("singleton")
 @Tag(name = "Hooks", description = "Hooks are a mechanism to trigger custom 
code on the occurence of events. ")
+@RequiredArgsConstructor
 public class HookApiResource {
 
     private final PlatformSecurityContext context;
@@ -70,17 +69,6 @@ public class HookApiResource {
     private final ApiRequestParameterHelper apiRequestParameterHelper;
     private final PortfolioCommandSourceWritePlatformService 
commandsSourceWritePlatformService;
 
-    @Autowired
-    public HookApiResource(final PlatformSecurityContext context, final 
HookReadPlatformService readPlatformService,
-            final DefaultToApiJsonSerializer<HookData> toApiJsonSerializer, 
final ApiRequestParameterHelper apiRequestParameterHelper,
-            final PortfolioCommandSourceWritePlatformService 
commandsSourceWritePlatformService) {
-        this.context = context;
-        this.readPlatformService = readPlatformService;
-        this.toApiJsonSerializer = toApiJsonSerializer;
-        this.apiRequestParameterHelper = apiRequestParameterHelper;
-        this.commandsSourceWritePlatformService = 
commandsSourceWritePlatformService;
-    }
-
     @GET
     @Operation(summary = "Retrieve Hooks", description = "Returns the list of 
hooks.\n" + "\n" + "Example Requests:\n" + "\n" + "hooks")
     @ApiResponses({
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Entity.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Entity.java
index f63d24e00..a2ba1bfed 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Entity.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Entity.java
@@ -20,24 +20,12 @@ package org.apache.fineract.infrastructure.hooks.data;
 
 import java.io.Serializable;
 import java.util.List;
+import lombok.Data;
 
 @SuppressWarnings("unused")
+@Data
 public class Entity implements Serializable {
 
     private String name;
-
     private List<String> actions;
-
-    public void setName(final String name) {
-        this.name = name;
-    }
-
-    public void setActions(final List<String> actions) {
-        this.actions = actions;
-    }
-
-    public String getName() {
-        return this.name;
-    }
-
 }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Event.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Event.java
index bc0a09fad..312b14447 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Event.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Event.java
@@ -19,7 +19,12 @@
 package org.apache.fineract.infrastructure.hooks.data;
 
 import java.io.Serializable;
+import lombok.AccessLevel;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
 
+@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
+@Getter
 public final class Event implements Serializable {
 
     private final String actionName;
@@ -28,18 +33,4 @@ public final class Event implements Serializable {
     public static Event instance(final String actionName, final String 
entityName) {
         return new Event(actionName, entityName);
     }
-
-    private Event(final String actionName, final String entityName) {
-        this.actionName = actionName;
-        this.entityName = entityName;
-    }
-
-    public String getActionName() {
-        return this.actionName;
-    }
-
-    public String getEntityName() {
-        return this.entityName;
-    }
-
 }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/EventResultSetExtractor.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/EventResultSetExtractor.java
index 95d5a7305..c91acfc26 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/EventResultSetExtractor.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/EventResultSetExtractor.java
@@ -67,35 +67,20 @@ public class EventResultSetExtractor implements 
ResultSetExtractor<List<Grouping
             final Grouping group = new Grouping();
             group.setName(groupingEntry.getKey());
             for (final Map.Entry<String, List<String>> entityEntry : 
groupingEntry.getValue().entrySet()) {
-                final List<String> actions = new ArrayList<>();
                 final Entity entity = new Entity();
                 entity.setName(entityEntry.getKey());
-                for (final String action : entityEntry.getValue()) {
-                    actions.add(action);
-                }
+                final List<String> actions = new 
ArrayList<>(entityEntry.getValue());
                 Collections.sort(actions);
                 entity.setActions(actions);
                 entities.add(entity);
             }
 
-            Collections.sort(entities, new Comparator<Entity>() {
-
-                @Override
-                public int compare(final Entity entity1, final Entity entity2) 
{
-                    return entity1.getName().compareTo(entity2.getName());
-                }
-            });
+            entities.sort(Comparator.comparing(Entity::getName));
             group.setEntities(entities);
             groupings.add(group);
         }
 
-        Collections.sort(groupings, new Comparator<Grouping>() {
-
-            @Override
-            public int compare(final Grouping grouping1, final Grouping 
grouping2) {
-                return grouping1.getName().compareTo(grouping2.getName());
-            }
-        });
+        groupings.sort(Comparator.comparing(Grouping::getName));
 
         return groupings;
     }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Field.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Field.java
index ac4603f06..4a9041b18 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Field.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Field.java
@@ -19,8 +19,13 @@
 package org.apache.fineract.infrastructure.hooks.data;
 
 import java.io.Serializable;
+import lombok.AccessLevel;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
 
 @SuppressWarnings("unused")
+@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
+@Getter
 public final class Field implements Serializable {
 
     private final String fieldName;
@@ -30,32 +35,10 @@ public final class Field implements Serializable {
     private final String placeholder;
 
     public static Field fromConfig(final String fieldName, final String 
fieldValue) {
-        return new Field(null, fieldName, fieldValue, null, null);
+        return new Field(fieldName, fieldValue, null, null, null);
     }
 
     public static Field fromSchema(final String fieldType, final String 
fieldName, final Boolean optional, final String placeholder) {
-        return new Field(fieldType, fieldName, null, optional, placeholder);
+        return new Field(fieldName, null, fieldType, optional, placeholder);
     }
-
-    private Field(final String fieldType, final String fieldName, final String 
fieldValue, final Boolean optional,
-            final String placeholder) {
-        this.fieldType = fieldType;
-        this.fieldName = fieldName;
-        this.fieldValue = fieldValue;
-        this.optional = optional;
-        this.placeholder = placeholder;
-    }
-
-    public String getFieldName() {
-        return this.fieldName;
-    }
-
-    public String getFieldValue() {
-        return this.fieldValue;
-    }
-
-    public String getFieldType() {
-        return this.fieldType;
-    }
-
 }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Grouping.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Grouping.java
index 1892459ed..c3491e0d6 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Grouping.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/Grouping.java
@@ -20,24 +20,12 @@ package org.apache.fineract.infrastructure.hooks.data;
 
 import java.io.Serializable;
 import java.util.List;
+import lombok.Data;
 
 @SuppressWarnings("unused")
+@Data
 public class Grouping implements Serializable {
 
     private String name;
-
     private List<Entity> entities;
-
-    public void setName(final String name) {
-        this.name = name;
-    }
-
-    public void setEntities(final List<Entity> entities) {
-        this.entities = entities;
-    }
-
-    public String getName() {
-        return this.name;
-    }
-
 }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookData.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookData.java
index 2fdc7e8dc..34b024466 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookData.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookData.java
@@ -21,7 +21,12 @@ package org.apache.fineract.infrastructure.hooks.data;
 import java.io.Serializable;
 import java.time.LocalDate;
 import java.util.List;
+import lombok.AccessLevel;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
 
+@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
+@Getter
 public final class HookData implements Serializable {
 
     private final Long id;
@@ -44,7 +49,7 @@ public final class HookData implements Serializable {
     public static HookData instance(final Long id, final String name, final 
String displayName, final boolean isActive,
             final LocalDate createdAt, final LocalDate updatedAt, final Long 
templateId, final List<Event> registeredEvents,
             final List<Field> config, final String templateName) {
-        return new HookData(id, name, displayName, isActive, createdAt, 
updatedAt, templateId, registeredEvents, config, templateName, null,
+        return new HookData(id, name, displayName, isActive, createdAt, 
updatedAt, templateId, templateName, registeredEvents, config, null,
                 null);
     }
 
@@ -55,45 +60,6 @@ public final class HookData implements Serializable {
     public static HookData templateExisting(final HookData hookData, final 
List<HookTemplateData> templates,
             final List<Grouping> groupings) {
         return new HookData(hookData.id, hookData.name, hookData.displayName, 
hookData.isActive, hookData.createdAt, hookData.updatedAt,
-                hookData.templateId, hookData.events, hookData.config, 
hookData.templateName, templates, groupings);
+                hookData.templateId, hookData.templateName, hookData.events, 
hookData.config, templates, groupings);
     }
-
-    private HookData(final Long id, final String name, final String 
displayName, final Boolean isActive, final LocalDate createdAt,
-            final LocalDate updatedAt, final Long templateId, final 
List<Event> events, final List<Field> config, final String templateName,
-            final List<HookTemplateData> templates, final List<Grouping> 
groupings) {
-        this.id = id;
-        this.name = name;
-        this.displayName = displayName;
-        this.isActive = isActive;
-        this.createdAt = createdAt;
-        this.updatedAt = updatedAt;
-        this.templateId = templateId;
-        this.templateName = templateName;
-
-        // associations
-        this.events = events;
-        this.config = config;
-
-        // template
-        this.templates = templates;
-        this.groupings = groupings;
-
-    }
-
-    public Long getHookId() {
-        return this.id;
-    }
-
-    public List<HookTemplateData> getTemplates() {
-        return this.templates;
-    }
-
-    public List<Grouping> getGroupings() {
-        return this.groupings;
-    }
-
-    public String getTemplateName() {
-        return this.templateName;
-    }
-
 }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookTemplateData.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookTemplateData.java
index d8ac8e4f5..b08471d28 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookTemplateData.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/data/HookTemplateData.java
@@ -20,8 +20,11 @@ package org.apache.fineract.infrastructure.hooks.data;
 
 import java.io.Serializable;
 import java.util.List;
+import lombok.AccessLevel;
+import lombok.RequiredArgsConstructor;
 
 @SuppressWarnings("unused")
+@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
 public final class HookTemplateData implements Serializable {
 
     private final Long id;
@@ -34,16 +37,8 @@ public final class HookTemplateData implements Serializable {
         return new HookTemplateData(id, name, schema);
     }
 
-    private HookTemplateData(final Long id, final String name, final 
List<Field> schema) {
-        this.id = id;
-        this.name = name;
-
-        // associations
-        this.schema = schema;
-    }
-
     public Long getServiceId() {
-        return this.id;
+        return id;
     }
 
 }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/domain/Hook.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/domain/Hook.java
index 370414c35..b1d3f355f 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/domain/Hook.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/domain/Hook.java
@@ -68,9 +68,7 @@ public class Hook extends AbstractAuditableCustom {
     @JoinColumn(name = "ugd_template_id", referencedColumnName = "id", 
nullable = true)
     private Template ugdTemplate;
 
-    protected Hook() {
-        //
-    }
+    protected Hook() {}
 
     public static Hook fromJson(final JsonCommand command, final HookTemplate 
template, final Set<HookConfiguration> config,
             final Set<HookResource> events, final Template ugdTemplate) {
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/event/HookEventSource.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/event/HookEventSource.java
index ea3e6b8c4..751eaba3c 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/event/HookEventSource.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/event/HookEventSource.java
@@ -19,25 +19,13 @@
 package org.apache.fineract.infrastructure.hooks.event;
 
 import java.io.Serializable;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
 
+@RequiredArgsConstructor
+@Getter
 public class HookEventSource implements Serializable {
 
     private final String entityName;
-
     private final String actionName;
-
-    public HookEventSource(final String entityName, final String actionName) {
-
-        this.entityName = entityName;
-        this.actionName = actionName;
-    }
-
-    public String getEntityName() {
-        return this.entityName;
-    }
-
-    public String getActionName() {
-        return this.actionName;
-    }
-
 }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/handler/CreateHookCommandHandler.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/handler/CreateHookCommandHandler.java
index e97049224..79613ce6b 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/handler/CreateHookCommandHandler.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/handler/CreateHookCommandHandler.java
@@ -18,30 +18,25 @@
  */
 package org.apache.fineract.infrastructure.hooks.handler;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.annotation.CommandType;
 import org.apache.fineract.commands.handler.NewCommandSourceHandler;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import 
org.apache.fineract.infrastructure.hooks.service.HookWritePlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 @Service
 @CommandType(entity = "HOOK", action = "CREATE")
+@RequiredArgsConstructor
 public class CreateHookCommandHandler implements NewCommandSourceHandler {
 
     private final HookWritePlatformService writePlatformService;
 
-    @Autowired
-    public CreateHookCommandHandler(final HookWritePlatformService 
writePlatformService) {
-        this.writePlatformService = writePlatformService;
-    }
-
     @Transactional
     @Override
     public CommandProcessingResult processCommand(final JsonCommand command) {
-
         return this.writePlatformService.createHook(command);
     }
 
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/handler/DeleteHookCommandHandler.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/handler/DeleteHookCommandHandler.java
index ea041f4c7..c0768e5f8 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/handler/DeleteHookCommandHandler.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/handler/DeleteHookCommandHandler.java
@@ -18,31 +18,25 @@
  */
 package org.apache.fineract.infrastructure.hooks.handler;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.annotation.CommandType;
 import org.apache.fineract.commands.handler.NewCommandSourceHandler;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import 
org.apache.fineract.infrastructure.hooks.service.HookWritePlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 @Service
 @CommandType(entity = "HOOK", action = "DELETE")
+@RequiredArgsConstructor
 public class DeleteHookCommandHandler implements NewCommandSourceHandler {
 
     private final HookWritePlatformService writePlatformService;
 
-    @Autowired
-    public DeleteHookCommandHandler(final HookWritePlatformService 
writePlatformService) {
-        this.writePlatformService = writePlatformService;
-    }
-
     @Transactional
     @Override
     public CommandProcessingResult processCommand(final JsonCommand command) {
-
         return this.writePlatformService.deleteHook(command.entityId());
     }
-
 }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/handler/UpdateHookCommandHandler.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/handler/UpdateHookCommandHandler.java
index a660e278e..652c82c78 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/handler/UpdateHookCommandHandler.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/handler/UpdateHookCommandHandler.java
@@ -18,31 +18,25 @@
  */
 package org.apache.fineract.infrastructure.hooks.handler;
 
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.commands.annotation.CommandType;
 import org.apache.fineract.commands.handler.NewCommandSourceHandler;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import 
org.apache.fineract.infrastructure.hooks.service.HookWritePlatformService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 @Service
 @CommandType(entity = "HOOK", action = "UPDATE")
+@RequiredArgsConstructor
 public class UpdateHookCommandHandler implements NewCommandSourceHandler {
 
     private final HookWritePlatformService writePlatformService;
 
-    @Autowired
-    public UpdateHookCommandHandler(final HookWritePlatformService 
writePlatformService) {
-        this.writePlatformService = writePlatformService;
-    }
-
     @Transactional
     @Override
     public CommandProcessingResult processCommand(final JsonCommand command) {
-
         return this.writePlatformService.updateHook(command.entityId(), 
command);
     }
-
 }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/listener/FineractHookListener.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/listener/FineractHookListener.java
index 2bc6a8738..95acc3fef 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/listener/FineractHookListener.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/listener/FineractHookListener.java
@@ -19,6 +19,8 @@
 package org.apache.fineract.infrastructure.hooks.listener;
 
 import java.util.List;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.fineract.infrastructure.core.domain.FineractPlatformTenant;
 import org.apache.fineract.infrastructure.core.service.ThreadLocalContextUtil;
 import org.apache.fineract.infrastructure.hooks.domain.Hook;
@@ -29,28 +31,17 @@ import 
org.apache.fineract.infrastructure.hooks.processor.HookProcessorProvider;
 import 
org.apache.fineract.infrastructure.hooks.service.HookReadPlatformService;
 import 
org.apache.fineract.infrastructure.security.service.TenantDetailsService;
 import org.apache.fineract.useradministration.domain.AppUser;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Service
+@RequiredArgsConstructor
+@Slf4j
 public class FineractHookListener implements HookListener {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(FineractHookListener.class);
-
     private final HookProcessorProvider hookProcessorProvider;
     private final HookReadPlatformService hookReadPlatformService;
     private final TenantDetailsService tenantDetailsService;
 
-    @Autowired
-    public FineractHookListener(final HookProcessorProvider 
hookProcessorProvider, final HookReadPlatformService hookReadPlatformService,
-            final TenantDetailsService tenantDetailsService) {
-        this.hookReadPlatformService = hookReadPlatformService;
-        this.hookProcessorProvider = hookProcessorProvider;
-        this.tenantDetailsService = tenantDetailsService;
-    }
-
     @Override
     public void onApplicationEvent(final HookEvent event) {
         final String tenantIdentifier = event.getTenantIdentifier();
@@ -73,7 +64,7 @@ public class FineractHookListener implements HookListener {
             try {
                 processor.process(hook, appUser, payload, entityName, 
actionName, tenantIdentifier, authToken);
             } catch (Throwable e) {
-                LOG.error("Hook {} failed in HookProcessor {} for 
tenantIdentifier/user {}/{}, entityName: {}, actionName: {}, payload {} ",
+                log.error("Hook {} failed in HookProcessor {} for 
tenantIdentifier/user {}/{}, entityName: {}, actionName: {}, payload {} ",
                         hook.getId(), processor.getClass().getSimpleName(), 
tenantIdentifier, appUser, entityName, actionName, payload, e);
             }
         }
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/ElasticSearchHookProcessor.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/ElasticSearchHookProcessor.java
index 551a53be1..be5d463b5 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/ElasticSearchHookProcessor.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/ElasticSearchHookProcessor.java
@@ -26,18 +26,18 @@ import com.google.gson.JsonObject;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.infrastructure.hooks.domain.Hook;
 import org.apache.fineract.infrastructure.hooks.domain.HookConfiguration;
 import org.apache.fineract.useradministration.domain.AppUser;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import retrofit2.Callback;
 
 @Service
+@RequiredArgsConstructor
 public class ElasticSearchHookProcessor implements HookProcessor {
 
-    @Autowired
-    private ProcessorHelper processorHelper;
+    private final ProcessorHelper processorHelper;
 
     @Override
     public void process(final Hook hook, @SuppressWarnings("unused") final 
AppUser appUser, final String payload, final String entityName,
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/MessageGatewayHookProcessor.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/MessageGatewayHookProcessor.java
index 4cfd89fe5..5cd7e8bb3 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/MessageGatewayHookProcessor.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/MessageGatewayHookProcessor.java
@@ -28,6 +28,8 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import 
org.apache.fineract.infrastructure.core.exception.GeneralPlatformDomainRuleException;
 import org.apache.fineract.infrastructure.hooks.domain.Hook;
 import org.apache.fineract.infrastructure.hooks.domain.HookConfiguration;
@@ -40,16 +42,13 @@ import org.apache.fineract.template.domain.Template;
 import org.apache.fineract.template.domain.TemplateRepository;
 import org.apache.fineract.template.service.TemplateMergeService;
 import org.apache.fineract.useradministration.domain.AppUser;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Service
+@Slf4j
+@RequiredArgsConstructor
 public class MessageGatewayHookProcessor implements HookProcessor {
 
-    private static final Logger LOG = 
LoggerFactory.getLogger(MessageGatewayHookProcessor.class);
-
     private final ClientRepositoryWrapper clientRepository;
     private final TemplateRepository templateRepository;
     private final TemplateMergeService templateMergeService;
@@ -57,17 +56,6 @@ public class MessageGatewayHookProcessor implements 
HookProcessor {
     private final SmsMessageRepository smsMessageRepository;
     private final SmsMessageScheduledJobService smsMessageScheduledJobService;
 
-    @Autowired
-    public MessageGatewayHookProcessor(ClientRepositoryWrapper 
clientRepository, TemplateRepository templateRepository,
-            TemplateMergeService templateMergeService, SmsMessageRepository 
smsMessageRepository,
-            SmsMessageScheduledJobService smsMessageScheduledJobService) {
-        this.clientRepository = clientRepository;
-        this.templateRepository = templateRepository;
-        this.templateMergeService = templateMergeService;
-        this.smsMessageRepository = smsMessageRepository;
-        this.smsMessageScheduledJobService = smsMessageScheduledJobService;
-    }
-
     @Override
     public void process(final Hook hook, @SuppressWarnings("unused") final 
AppUser appUser, final String payload, final String entityName,
             final String actionName, final String tenantIdentifier, final 
String authToken) throws IOException {
@@ -95,7 +83,7 @@ public class MessageGatewayHookProcessor implements 
HookProcessor {
             template = templates.get(0);
         }
         if (template == null) {
-            LOG.error("Error : {} with name {}", "Template not found", 
templateName);
+            log.error("Error : {} with name {}", "Template not found", 
templateName);
             throw new 
GeneralPlatformDomainRuleException("error.msg.templates.not.found", "Template 
not found", templateName);
         }
 
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/TwilioHookProcessor.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/TwilioHookProcessor.java
index 5813caaf7..73a6d4c43 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/TwilioHookProcessor.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/TwilioHookProcessor.java
@@ -29,6 +29,7 @@ import com.google.gson.JsonParser;
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.infrastructure.hooks.domain.Hook;
 import org.apache.fineract.infrastructure.hooks.domain.HookConfiguration;
 import 
org.apache.fineract.infrastructure.hooks.domain.HookConfigurationRepository;
@@ -37,11 +38,11 @@ import org.apache.fineract.portfolio.client.domain.Client;
 import org.apache.fineract.portfolio.client.domain.ClientRepositoryWrapper;
 import org.apache.fineract.template.service.TemplateMergeService;
 import org.apache.fineract.useradministration.domain.AppUser;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import retrofit2.Callback;
 
 @Service
+@RequiredArgsConstructor
 public class TwilioHookProcessor implements HookProcessor {
 
     private final HookConfigurationRepository hookConfigurationRepository;
@@ -49,16 +50,6 @@ public class TwilioHookProcessor implements HookProcessor {
     private final ClientRepositoryWrapper clientRepositoryWrapper;
     private final ProcessorHelper processorHelper;
 
-    @Autowired
-    public TwilioHookProcessor(final HookConfigurationRepository 
hookConfigurationRepository,
-            final TemplateMergeService templateMergeService, final 
ClientRepositoryWrapper clientRepositoryWrapper,
-            ProcessorHelper processorHelper) {
-        this.hookConfigurationRepository = hookConfigurationRepository;
-        this.templateMergeService = templateMergeService;
-        this.clientRepositoryWrapper = clientRepositoryWrapper;
-        this.processorHelper = processorHelper;
-    }
-
     @Override
     public void process(final Hook hook, @SuppressWarnings("unused") final 
AppUser appUser, final String payload, final String entityName,
             final String actionName, final String tenantIdentifier, final 
String authToken) throws IOException {
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/WebHookProcessor.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/WebHookProcessor.java
index 796f9d807..47f6786fc 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/WebHookProcessor.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/processor/WebHookProcessor.java
@@ -27,23 +27,19 @@ import com.google.gson.JsonParser;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.infrastructure.hooks.domain.Hook;
 import org.apache.fineract.infrastructure.hooks.domain.HookConfiguration;
 import org.apache.fineract.useradministration.domain.AppUser;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import retrofit2.Callback;
 
 @Service
+@RequiredArgsConstructor
 public class WebHookProcessor implements HookProcessor {
 
     private final ProcessorHelper processorHelper;
 
-    @Autowired
-    public WebHookProcessor(ProcessorHelper processorHelper) {
-        this.processorHelper = processorHelper;
-    }
-
     @Override
     public void process(final Hook hook, @SuppressWarnings("unused") final 
AppUser appUser, final String payload, final String entityName,
             final String actionName, final String tenantIdentifier, final 
String authToken) {
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/serialization/HookCommandFromApiJsonDeserializer.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/serialization/HookCommandFromApiJsonDeserializer.java
index b3b11612b..758a242ca 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/serialization/HookCommandFromApiJsonDeserializer.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/serialization/HookCommandFromApiJsonDeserializer.java
@@ -27,6 +27,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.fineract.infrastructure.core.data.ApiParameterError;
 import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder;
@@ -34,10 +35,10 @@ import 
org.apache.fineract.infrastructure.core.exception.InvalidJsonException;
 import 
org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException;
 import org.apache.fineract.infrastructure.core.serialization.FromJsonHelper;
 import org.apache.fineract.infrastructure.hooks.api.HookApiConstants;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 @Component
+@RequiredArgsConstructor
 public class HookCommandFromApiJsonDeserializer {
 
     /**
@@ -47,11 +48,6 @@ public class HookCommandFromApiJsonDeserializer {
             Arrays.asList("name", "displayName", "isActive", "events", 
"config", "templateId"));
     private final FromJsonHelper fromApiJsonHelper;
 
-    @Autowired
-    public HookCommandFromApiJsonDeserializer(final FromJsonHelper 
fromApiJsonHelper) {
-        this.fromApiJsonHelper = fromApiJsonHelper;
-    }
-
     public void validateForCreate(final String json) {
         if (StringUtils.isBlank(json)) {
             throw new InvalidJsonException();
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/service/HookReadPlatformServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/service/HookReadPlatformServiceImpl.java
index 0f9c39254..43b44babe 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/service/HookReadPlatformServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/service/HookReadPlatformServiceImpl.java
@@ -23,6 +23,7 @@ import java.sql.SQLException;
 import java.time.LocalDate;
 import java.util.Collection;
 import java.util.List;
+import lombok.RequiredArgsConstructor;
 import org.apache.fineract.infrastructure.core.domain.JdbcSupport;
 import org.apache.fineract.infrastructure.hooks.data.Event;
 import org.apache.fineract.infrastructure.hooks.data.EventResultSetExtractor;
@@ -34,7 +35,6 @@ import org.apache.fineract.infrastructure.hooks.domain.Hook;
 import org.apache.fineract.infrastructure.hooks.domain.HookRepository;
 import 
org.apache.fineract.infrastructure.hooks.exception.HookNotFoundException;
 import 
org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.dao.EmptyResultDataAccessException;
 import org.springframework.jdbc.core.JdbcTemplate;
@@ -42,37 +42,30 @@ import org.springframework.jdbc.core.RowMapper;
 import org.springframework.stereotype.Service;
 
 @Service
+@RequiredArgsConstructor
 public class HookReadPlatformServiceImpl implements HookReadPlatformService {
 
     private final JdbcTemplate jdbcTemplate;
     private final HookRepository hookRepository;
     private final PlatformSecurityContext context;
 
-    @Autowired
-    public HookReadPlatformServiceImpl(final PlatformSecurityContext context, 
final HookRepository hookRepository,
-            final JdbcTemplate jdbcTemplate) {
-        this.context = context;
-        this.hookRepository = hookRepository;
-        this.jdbcTemplate = jdbcTemplate;
-    }
-
     @Override
     public Collection<HookData> retrieveAllHooks() {
-        this.context.authenticatedUser();
-        final HookMapper rm = new HookMapper(this.jdbcTemplate);
+        context.authenticatedUser();
+        final HookMapper rm = new HookMapper(jdbcTemplate);
         final String sql = "select " + rm.schema() + " order by h.name";
 
-        return this.jdbcTemplate.query(sql, rm); // NOSONAR
+        return jdbcTemplate.query(sql, rm); // NOSONAR
     }
 
     @Override
     public HookData retrieveHook(final Long hookId) {
         try {
-            this.context.authenticatedUser();
-            final HookMapper rm = new HookMapper(this.jdbcTemplate);
+            context.authenticatedUser();
+            final HookMapper rm = new HookMapper(jdbcTemplate);
             final String sql = "select " + rm.schema() + " where h.id = ?";
 
-            return this.jdbcTemplate.queryForObject(sql, rm, new Object[] { 
hookId }); // NOSONAR
+            return jdbcTemplate.queryForObject(sql, rm, hookId); // NOSONAR
         } catch (final EmptyResultDataAccessException e) {
             throw new HookNotFoundException(hookId, e);
         }
@@ -82,24 +75,23 @@ public class HookReadPlatformServiceImpl implements 
HookReadPlatformService {
     @Override
     @Cacheable(value = "hooks", key = 
"T(org.apache.fineract.infrastructure.core.service.ThreadLocalContextUtil).getTenant().getTenantIdentifier().concat('HK')")
     public List<Hook> retrieveHooksByEvent(final String entityName, final 
String actionName) {
-
-        return this.hookRepository.findAllHooksListeningToEvent(entityName, 
actionName);
+        return hookRepository.findAllHooksListeningToEvent(entityName, 
actionName);
     }
 
     @Override
     public HookData retrieveNewHookDetails(final String templateName) {
 
-        this.context.authenticatedUser();
-        final TemplateMapper rm = new TemplateMapper(this.jdbcTemplate);
+        context.authenticatedUser();
+        final TemplateMapper rm = new TemplateMapper(jdbcTemplate);
         final String sql;
         List<HookTemplateData> templateData;
 
         if (templateName == null) {
             sql = "select " + rm.schema() + " order by s.name";
-            templateData = this.jdbcTemplate.query(sql, rm); // NOSONAR
+            templateData = jdbcTemplate.query(sql, rm); // NOSONAR
         } else {
             sql = "select " + rm.schema() + " where s.name = ? order by 
s.name";
-            templateData = this.jdbcTemplate.query(sql, rm, new Object[] { 
templateName }); // NOSONAR
+            templateData = jdbcTemplate.query(sql, rm, templateName); // 
NOSONAR
         }
 
         final List<Grouping> events = getTemplateForEvents();
@@ -111,17 +103,14 @@ public class HookReadPlatformServiceImpl implements 
HookReadPlatformService {
         final String sql = "select p.grouping, p.entity_name, p.action_name 
from m_permission p "
                 + " where p.action_name NOT LIKE '%CHECKER%' AND p.action_name 
NOT LIKE '%READ%' " + " order by p.grouping, p.entity_name ";
         final EventResultSetExtractor extractor = new 
EventResultSetExtractor();
-        return this.jdbcTemplate.query(sql, extractor);
+        return jdbcTemplate.query(sql, extractor);
     }
 
+    @RequiredArgsConstructor
     private static final class HookMapper implements RowMapper<HookData> {
 
         private final JdbcTemplate jdbcTemplate;
 
-        HookMapper(final JdbcTemplate jdbcTemplate) {
-            this.jdbcTemplate = jdbcTemplate;
-        }
-
         public String schema() {
             return " h.id, s.name as name, h.name as display_name, 
h.is_active, h.created_date,"
                     + " h.lastmodified_date, h.ugd_template_id, tp.name as 
ugd_template_name, "
@@ -152,7 +141,7 @@ public class HookReadPlatformServiceImpl implements 
HookReadPlatformService {
             final HookEventMapper rm = new HookEventMapper();
             final String sql = "select " + rm.schema() + " where h.id= ?";
 
-            return this.jdbcTemplate.query(sql, rm, new Object[] { hookId }); 
// NOSONAR
+            return jdbcTemplate.query(sql, rm, hookId); // NOSONAR
         }
 
         private List<Field> retrieveConfig(final Long hookId) {
@@ -160,9 +149,7 @@ public class HookReadPlatformServiceImpl implements 
HookReadPlatformService {
             final HookConfigMapper rm = new HookConfigMapper();
             final String sql = "select " + rm.schema() + " where h.id= ? order 
by hc.field_name";
 
-            final List<Field> fields = this.jdbcTemplate.query(sql, rm, new 
Object[] { hookId }); // NOSONAR
-
-            return fields;
+            return jdbcTemplate.query(sql, rm, hookId); // NOSONAR
         }
     }
 
@@ -194,14 +181,11 @@ public class HookReadPlatformServiceImpl implements 
HookReadPlatformService {
         }
     }
 
+    @RequiredArgsConstructor
     private static final class TemplateMapper implements 
RowMapper<HookTemplateData> {
 
         private final JdbcTemplate jdbcTemplate;
 
-        TemplateMapper(final JdbcTemplate jdbcTemplate) {
-            this.jdbcTemplate = jdbcTemplate;
-        }
-
         public String schema() {
             return " s.id, s.name from m_hook_templates s ";
         }
@@ -221,9 +205,7 @@ public class HookReadPlatformServiceImpl implements 
HookReadPlatformService {
             final TemplateSchemaMapper rm = new TemplateSchemaMapper();
             final String sql = "select " + rm.schema() + " where s.id= ? order 
by hs.field_name ";
 
-            final List<Field> fields = this.jdbcTemplate.query(sql, rm, new 
Object[] { templateId }); // NOSONAR
-
-            return fields;
+            return jdbcTemplate.query(sql, rm, templateId); // NOSONAR;
         }
     }
 
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/service/HookWritePlatformServiceJpaRepositoryImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/service/HookWritePlatformServiceJpaRepositoryImpl.java
index e4863a272..fb01377bb 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/service/HookWritePlatformServiceJpaRepositoryImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/hooks/service/HookWritePlatformServiceJpaRepositoryImpl.java
@@ -37,6 +37,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import javax.persistence.PersistenceException;
+import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.exception.ExceptionUtils;
 import org.apache.fineract.infrastructure.core.api.JsonCommand;
 import org.apache.fineract.infrastructure.core.data.ApiParameterError;
@@ -62,7 +63,6 @@ import 
org.apache.fineract.infrastructure.security.service.PlatformSecurityConte
 import org.apache.fineract.template.domain.Template;
 import org.apache.fineract.template.domain.TemplateRepository;
 import org.apache.fineract.template.exception.TemplateNotFoundException;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.dao.DataIntegrityViolationException;
 import org.springframework.orm.jpa.JpaSystemException;
@@ -70,6 +70,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 @Service
+@RequiredArgsConstructor
 public class HookWritePlatformServiceJpaRepositoryImpl implements 
HookWritePlatformService {
 
     private final PlatformSecurityContext context;
@@ -80,20 +81,6 @@ public class HookWritePlatformServiceJpaRepositoryImpl 
implements HookWritePlatf
     private final FromJsonHelper fromApiJsonHelper;
     private final ProcessorHelper processorHelper;
 
-    @Autowired
-    public HookWritePlatformServiceJpaRepositoryImpl(final 
PlatformSecurityContext context, final HookRepository hookRepository,
-            final HookTemplateRepository hookTemplateRepository, final 
TemplateRepository ugdTemplateRepository,
-            final HookCommandFromApiJsonDeserializer fromApiJsonDeserializer, 
final FromJsonHelper fromApiJsonHelper,
-            ProcessorHelper processorHelper) {
-        this.context = context;
-        this.hookRepository = hookRepository;
-        this.hookTemplateRepository = hookTemplateRepository;
-        this.ugdTemplateRepository = ugdTemplateRepository;
-        this.fromApiJsonDeserializer = fromApiJsonDeserializer;
-        this.fromApiJsonHelper = fromApiJsonHelper;
-        this.processorHelper = processorHelper;
-    }
-
     @Transactional
     @Override
     @CacheEvict(value = "hooks", allEntries = true)
diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/notification/service/NotificationDomainServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/notification/service/NotificationDomainServiceImpl.java
index 40b6b1a95..793d51c7c 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/notification/service/NotificationDomainServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/notification/service/NotificationDomainServiceImpl.java
@@ -25,6 +25,7 @@ import java.util.Map;
 import java.util.Set;
 import javax.annotation.PostConstruct;
 import javax.jms.Queue;
+import lombok.RequiredArgsConstructor;
 import org.apache.activemq.command.ActiveMQQueue;
 import org.apache.fineract.infrastructure.core.data.CommandProcessingResult;
 import org.apache.fineract.infrastructure.core.service.ThreadLocalContextUtil;
@@ -50,35 +51,20 @@ import 
org.apache.fineract.portfolio.savings.domain.SavingsAccountTransaction;
 import org.apache.fineract.portfolio.shareaccounts.domain.ShareAccount;
 import org.apache.fineract.useradministration.domain.Role;
 import org.apache.fineract.useradministration.domain.RoleRepository;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 @Service
+@RequiredArgsConstructor
 public class NotificationDomainServiceImpl implements 
NotificationDomainService {
 
     private final BusinessEventNotifierService businessEventNotifierService;
-    final PlatformSecurityContext context;
+    private final PlatformSecurityContext context;
     private final RoleRepository roleRepository;
     private final OfficeRepository officeRepository;
     private final TopicSubscriberReadPlatformService 
topicSubscriberReadPlatformService;
     private final NotificationEventService notificationEvent;
     private final SpringEventPublisher springEventPublisher;
 
-    @Autowired
-    public NotificationDomainServiceImpl(final BusinessEventNotifierService 
businessEventNotifierService,
-            final PlatformSecurityContext context, final RoleRepository 
roleRepository,
-            final TopicSubscriberReadPlatformService 
topicSubscriberReadPlatformService, final OfficeRepository officeRepository,
-            final NotificationEventService notificationEvent, final 
SpringEventPublisher springEventPublisher) {
-
-        this.businessEventNotifierService = businessEventNotifierService;
-        this.context = context;
-        this.roleRepository = roleRepository;
-        this.topicSubscriberReadPlatformService = 
topicSubscriberReadPlatformService;
-        this.officeRepository = officeRepository;
-        this.notificationEvent = notificationEvent;
-        this.springEventPublisher = springEventPublisher;
-    }
-
     @PostConstruct
     public void addListeners() {
         
businessEventNotifierService.addBusinessEventPostListeners(BusinessEvents.CLIENTS_CREATE,
 new ClientCreatedListener());

Reply via email to