From 738b693d9affeeda9b14f391e9ec44bddf1530a7 Mon Sep 17 00:00:00 2001 From: Arpit Mohan Date: Thu, 19 Dec 2019 12:35:43 +0530 Subject: [PATCH] Removing the logic to bind actions to pages when a dynamic binding happens. This is because when an action is created, it is already bound to that page. This assumption will not change. Also, adding the pageId when searching for an action because the action name and pageId is a unique index. There may be actions with similar names across multiple pages. --- .../appsmith/server/repositories/ActionRepository.java | 2 +- .../java/com/appsmith/server/services/ActionService.java | 2 +- .../com/appsmith/server/services/ActionServiceImpl.java | 4 ++-- .../com/appsmith/server/services/LayoutServiceImpl.java | 8 +------- 4 files changed, 5 insertions(+), 11 deletions(-) diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/ActionRepository.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/ActionRepository.java index d0957c9b3d..d195e4d329 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/ActionRepository.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/repositories/ActionRepository.java @@ -15,7 +15,7 @@ public interface ActionRepository extends BaseRepository { Mono findByName(String name); - Flux findDistinctActionsByNameIn(Set names); + Flux findDistinctActionsByNameInAndPageId(Set names, String pageId); Flux saveAll(List actions); diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ActionService.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ActionService.java index ee78a8a2b1..0d735acbb5 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ActionService.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ActionService.java @@ -17,7 +17,7 @@ public interface ActionService extends CrudService { Mono findByName(String name); - Flux findDistinctActionsByNameIn(Set names); + Flux findDistinctActionsByNameInAndPageId(Set names, String pageId); Flux saveAll(List actions); } diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ActionServiceImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ActionServiceImpl.java index 04c706c1bf..c4a980145c 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ActionServiceImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ActionServiceImpl.java @@ -382,8 +382,8 @@ public class ActionServiceImpl extends BaseService findDistinctActionsByNameIn(Set names) { - return repository.findDistinctActionsByNameIn(names); + public Flux findDistinctActionsByNameInAndPageId(Set names, String pageId) { + return repository.findDistinctActionsByNameInAndPageId(names, pageId); } @Override diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/LayoutServiceImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/LayoutServiceImpl.java index 23de7bd7fa..f124b396bf 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/LayoutServiceImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/LayoutServiceImpl.java @@ -266,13 +266,7 @@ public class LayoutServiceImpl implements LayoutService { Flux updatePageIdsForActionsAndReturnDslActions(Set nodes, String pageId) { return actionService - .findDistinctActionsByNameIn(nodes) - .map(action -> { - action.setPageId(pageId); - return action; - }) - .collectList() - .flatMapMany(actionService::saveAll); + .findDistinctActionsByNameInAndPageId(nodes, pageId); } }