From 44b63f9ddfb301c4ede9b0302d0348d6131cc47e Mon Sep 17 00:00:00 2001 From: Nidhi Nair Date: Fri, 3 Jan 2025 15:38:30 +0530 Subject: [PATCH 1/3] chore: CE split for git constants and AGF --- .../git/constants/CommonConstants.java | 37 +----------------- .../git/constants/ce/CommonConstantsCE.java | 38 +++++++++++++++++++ .../git/ApplicationGitFileUtilsCEImpl.java | 2 +- .../git/ApplicationGitFileUtilsImpl.java | 4 +- .../server/helpers/ArtifactGitFileUtils.java | 4 +- .../server/helpers/CommonGitFileUtils.java | 4 +- .../helpers/ce/ArtifactGitFileUtilsCE.java | 4 +- .../helpers/ce/CommonGitFileUtilsCE.java | 5 +-- 8 files changed, 51 insertions(+), 47 deletions(-) create mode 100644 app/server/appsmith-git/src/main/java/com/appsmith/git/constants/ce/CommonConstantsCE.java diff --git a/app/server/appsmith-git/src/main/java/com/appsmith/git/constants/CommonConstants.java b/app/server/appsmith-git/src/main/java/com/appsmith/git/constants/CommonConstants.java index 626bf6bbeb1a..4368a86061be 100644 --- a/app/server/appsmith-git/src/main/java/com/appsmith/git/constants/CommonConstants.java +++ b/app/server/appsmith-git/src/main/java/com/appsmith/git/constants/CommonConstants.java @@ -1,38 +1,5 @@ package com.appsmith.git.constants; -public class CommonConstants { - // This field will be useful when we migrate fields within JSON files (currently this will be useful for Git - // feature) - public static Integer fileFormatVersion = 5; - public static String FILE_FORMAT_VERSION = "fileFormatVersion"; - public static final String SERVER_SCHEMA_VERSION = "serverSchemaVersion"; - public static final String CLIENT_SCHEMA_VERSION = "clientSchemaVersion"; +import com.appsmith.git.constants.ce.CommonConstantsCE; - public static final String CANVAS = "canvas"; - - public static final String APPLICATION = "application"; - public static final String THEME = "theme"; - public static final String METADATA = "metadata"; - public static final String JSON_EXTENSION = ".json"; - public static final String JS_EXTENSION = ".js"; - public static final String TEXT_FILE_EXTENSION = ".txt"; - public static final String WIDGETS = "widgets"; - public static final String WIDGET_NAME = "widgetName"; - public static final String WIDGET_TYPE = "type"; - public static final String CHILDREN = "children"; - - public static final String CANVAS_WIDGET = "CANVAS_WIDGET"; - public static final String MAIN_CONTAINER = "MainContainer"; - public static final String DELIMITER_POINT = "."; - public static final String DELIMITER_PATH = "/"; - public static final String DELIMITER_HYPHEN = "-"; - public static final String EMPTY_STRING = ""; - public static final String SEPARATOR_UNDERSCORE = "_"; - public static final String FILE_MIGRATION_MESSAGE = - "Some of the changes above are due to an improved file structure. You can safely commit them to your repository."; - - public static final String TABS_WIDGET = "TABS_WIDGET"; - - public static final String WIDGET_ID = "widgetId"; - public static final String PARENT_ID = "parentId"; -} +public class CommonConstants extends CommonConstantsCE {} diff --git a/app/server/appsmith-git/src/main/java/com/appsmith/git/constants/ce/CommonConstantsCE.java b/app/server/appsmith-git/src/main/java/com/appsmith/git/constants/ce/CommonConstantsCE.java new file mode 100644 index 000000000000..e3a07795d8a2 --- /dev/null +++ b/app/server/appsmith-git/src/main/java/com/appsmith/git/constants/ce/CommonConstantsCE.java @@ -0,0 +1,38 @@ +package com.appsmith.git.constants.ce; + +public class CommonConstantsCE { + // This field will be useful when we migrate fields within JSON files (currently this will be useful for Git + // feature) + public static Integer fileFormatVersion = 5; + public static String FILE_FORMAT_VERSION = "fileFormatVersion"; + public static final String SERVER_SCHEMA_VERSION = "serverSchemaVersion"; + public static final String CLIENT_SCHEMA_VERSION = "clientSchemaVersion"; + + public static final String CANVAS = "canvas"; + + public static final String APPLICATION = "application"; + public static final String THEME = "theme"; + public static final String METADATA = "metadata"; + public static final String JSON_EXTENSION = ".json"; + public static final String JS_EXTENSION = ".js"; + public static final String TEXT_FILE_EXTENSION = ".txt"; + public static final String WIDGETS = "widgets"; + public static final String WIDGET_NAME = "widgetName"; + public static final String WIDGET_TYPE = "type"; + public static final String CHILDREN = "children"; + + public static final String CANVAS_WIDGET = "CANVAS_WIDGET"; + public static final String MAIN_CONTAINER = "MainContainer"; + public static final String DELIMITER_POINT = "."; + public static final String DELIMITER_PATH = "/"; + public static final String DELIMITER_HYPHEN = "-"; + public static final String EMPTY_STRING = ""; + public static final String SEPARATOR_UNDERSCORE = "_"; + public static final String FILE_MIGRATION_MESSAGE = + "Some of the changes above are due to an improved file structure. You can safely commit them to your repository."; + + public static final String TABS_WIDGET = "TABS_WIDGET"; + + public static final String WIDGET_ID = "widgetId"; + public static final String PARENT_ID = "parentId"; +} diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsCEImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsCEImpl.java index a5628db2df12..d936fad35a29 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsCEImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsCEImpl.java @@ -85,7 +85,7 @@ @Slf4j @Component @Import({FileUtilsImpl.class}) -public class ApplicationGitFileUtilsCEImpl implements ArtifactGitFileUtilsCE { +public class ApplicationGitFileUtilsCEImpl implements ArtifactGitFileUtilsCE { private final Gson gson; private final ObjectMapper objectMapper; diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsImpl.java index fcf0b2682ada..1a07291e607a 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsImpl.java @@ -1,8 +1,8 @@ package com.appsmith.server.applications.git; import com.appsmith.external.git.FileInterface; -import com.appsmith.external.models.ApplicationGitReference; import com.appsmith.server.actioncollections.base.ActionCollectionService; +import com.appsmith.server.dtos.ArtifactExchangeJson; import com.appsmith.server.helpers.ArtifactGitFileUtils; import com.appsmith.server.migrations.JsonSchemaMigration; import com.appsmith.server.newactions.base.NewActionService; @@ -12,7 +12,7 @@ @Component public class ApplicationGitFileUtilsImpl extends ApplicationGitFileUtilsCEImpl - implements ArtifactGitFileUtils { + implements ArtifactGitFileUtils { public ApplicationGitFileUtilsImpl( Gson gson, diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ArtifactGitFileUtils.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ArtifactGitFileUtils.java index aeff00155376..84c0035d1bb2 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ArtifactGitFileUtils.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ArtifactGitFileUtils.java @@ -1,6 +1,6 @@ package com.appsmith.server.helpers; -import com.appsmith.external.models.ArtifactGitReference; +import com.appsmith.server.dtos.ArtifactExchangeJson; import com.appsmith.server.helpers.ce.ArtifactGitFileUtilsCE; -public interface ArtifactGitFileUtils extends ArtifactGitFileUtilsCE {} +public interface ArtifactGitFileUtils extends ArtifactGitFileUtilsCE {} diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/CommonGitFileUtils.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/CommonGitFileUtils.java index 90c512060d3c..1ddd24897621 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/CommonGitFileUtils.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/CommonGitFileUtils.java @@ -2,9 +2,9 @@ import com.appsmith.external.git.FileInterface; import com.appsmith.external.git.operations.FileOperations; -import com.appsmith.external.models.ApplicationGitReference; import com.appsmith.git.files.FileUtilsImpl; import com.appsmith.server.actioncollections.base.ActionCollectionService; +import com.appsmith.server.dtos.ArtifactExchangeJson; import com.appsmith.server.helpers.ce.CommonGitFileUtilsCE; import com.appsmith.server.migrations.JsonSchemaVersions; import com.appsmith.server.newactions.base.NewActionService; @@ -21,7 +21,7 @@ public class CommonGitFileUtils extends CommonGitFileUtilsCE { public CommonGitFileUtils( - ArtifactGitFileUtils applicationGitFileUtils, + ArtifactGitFileUtils applicationGitFileUtils, FileInterface fileUtils, FileOperations fileOperations, AnalyticsService analyticsService, diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/ArtifactGitFileUtilsCE.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/ArtifactGitFileUtilsCE.java index f92820c047ac..3ab3a06ef3d7 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/ArtifactGitFileUtilsCE.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/ArtifactGitFileUtilsCE.java @@ -9,9 +9,9 @@ import java.nio.file.Path; import java.util.Map; -public interface ArtifactGitFileUtilsCE { +public interface ArtifactGitFileUtilsCE { - T createArtifactReferenceObject(); + ArtifactGitReference createArtifactReferenceObject(); ArtifactExchangeJson createArtifactExchangeJsonObject(); diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/CommonGitFileUtilsCE.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/CommonGitFileUtilsCE.java index 5349f788df6b..91281295df33 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/CommonGitFileUtilsCE.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/CommonGitFileUtilsCE.java @@ -9,7 +9,6 @@ import com.appsmith.external.helpers.Stopwatch; import com.appsmith.external.models.ActionConfiguration; import com.appsmith.external.models.ActionDTO; -import com.appsmith.external.models.ApplicationGitReference; import com.appsmith.external.models.ArtifactGitReference; import com.appsmith.external.models.BaseDomain; import com.appsmith.external.models.DatasourceStorage; @@ -85,7 +84,7 @@ @Import({FileUtilsImpl.class}) public class CommonGitFileUtilsCE { - protected final ArtifactGitFileUtils applicationGitFileUtils; + protected final ArtifactGitFileUtils applicationGitFileUtils; private final FileInterface fileUtils; private final FileOperations fileOperations; private final AnalyticsService analyticsService; @@ -102,7 +101,7 @@ public class CommonGitFileUtilsCE { protected final ObjectMapper objectMapper; public CommonGitFileUtilsCE( - ArtifactGitFileUtils applicationGitFileUtils, + ArtifactGitFileUtils applicationGitFileUtils, FileInterface fileUtils, FileOperations fileOperations, AnalyticsService analyticsService, From 17774f7896d339a4f6656d2ea6962e20956356dc Mon Sep 17 00:00:00 2001 From: Nidhi Nair Date: Fri, 3 Jan 2025 18:01:08 +0530 Subject: [PATCH 2/3] chore: CE split for git constants and AGF --- .../server/helpers/CommonGitFileUtils.java | 4 ++-- .../helpers/ce/ArtifactGitFileUtilsCE.java | 16 +++++++++++----- .../server/helpers/ce/CommonGitFileUtilsCE.java | 6 +++--- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/CommonGitFileUtils.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/CommonGitFileUtils.java index 1ddd24897621..ea9efe296082 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/CommonGitFileUtils.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/CommonGitFileUtils.java @@ -4,7 +4,7 @@ import com.appsmith.external.git.operations.FileOperations; import com.appsmith.git.files.FileUtilsImpl; import com.appsmith.server.actioncollections.base.ActionCollectionService; -import com.appsmith.server.dtos.ArtifactExchangeJson; +import com.appsmith.server.dtos.ApplicationJson; import com.appsmith.server.helpers.ce.CommonGitFileUtilsCE; import com.appsmith.server.migrations.JsonSchemaVersions; import com.appsmith.server.newactions.base.NewActionService; @@ -21,7 +21,7 @@ public class CommonGitFileUtils extends CommonGitFileUtilsCE { public CommonGitFileUtils( - ArtifactGitFileUtils applicationGitFileUtils, + ArtifactGitFileUtils applicationGitFileUtils, FileInterface fileUtils, FileOperations fileOperations, AnalyticsService analyticsService, diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/ArtifactGitFileUtilsCE.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/ArtifactGitFileUtilsCE.java index 3ab3a06ef3d7..8104b6807053 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/ArtifactGitFileUtilsCE.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/ArtifactGitFileUtilsCE.java @@ -3,6 +3,8 @@ import com.appsmith.external.git.models.GitResourceMap; import com.appsmith.external.models.ArtifactGitReference; import com.appsmith.server.dtos.ArtifactExchangeJson; +import com.appsmith.server.exceptions.AppsmithError; +import com.appsmith.server.exceptions.AppsmithException; import lombok.NonNull; import reactor.core.publisher.Mono; @@ -11,17 +13,21 @@ public interface ArtifactGitFileUtilsCE { - ArtifactGitReference createArtifactReferenceObject(); + default ArtifactGitReference createArtifactReferenceObject() { + return null; + } ArtifactExchangeJson createArtifactExchangeJsonObject(); void setArtifactDependentResources(ArtifactExchangeJson artifactExchangeJson, GitResourceMap gitResourceMap); - Mono reconstructArtifactExchangeJsonFromFilesInRepository( - String workspaceId, String baseArtifactId, String repoName, String branchName); + default Mono reconstructArtifactExchangeJsonFromFilesInRepository( + String workspaceId, String baseArtifactId, String repoName, String branchName) { + return Mono.error(new AppsmithException(AppsmithError.UNSUPPORTED_OPERATION)); + } - void addArtifactReferenceFromExportedJson( - ArtifactExchangeJson artifactExchangeJson, ArtifactGitReference artifactGitReference); + default void addArtifactReferenceFromExportedJson( + ArtifactExchangeJson artifactExchangeJson, ArtifactGitReference artifactGitReference) {} Map getConstantsMap(); diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/CommonGitFileUtilsCE.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/CommonGitFileUtilsCE.java index 91281295df33..a849ba247f9c 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/CommonGitFileUtilsCE.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/helpers/ce/CommonGitFileUtilsCE.java @@ -84,7 +84,7 @@ @Import({FileUtilsImpl.class}) public class CommonGitFileUtilsCE { - protected final ArtifactGitFileUtils applicationGitFileUtils; + protected final ArtifactGitFileUtils applicationGitFileUtils; private final FileInterface fileUtils; private final FileOperations fileOperations; private final AnalyticsService analyticsService; @@ -101,7 +101,7 @@ public class CommonGitFileUtilsCE { protected final ObjectMapper objectMapper; public CommonGitFileUtilsCE( - ArtifactGitFileUtils applicationGitFileUtils, + ArtifactGitFileUtils applicationGitFileUtils, FileInterface fileUtils, FileOperations fileOperations, AnalyticsService analyticsService, @@ -121,7 +121,7 @@ public CommonGitFileUtilsCE( this.objectMapper = objectMapper.copy().disable(MapperFeature.USE_ANNOTATIONS); } - private ArtifactGitFileUtils getArtifactBasedFileHelper(ArtifactType artifactType) { + protected ArtifactGitFileUtils getArtifactBasedFileHelper(ArtifactType artifactType) { if (ArtifactType.APPLICATION.equals(artifactType)) { return applicationGitFileUtils; } From 7c20bc2b8699a9d58d40ef1d82107b855a37ffed Mon Sep 17 00:00:00 2001 From: Nidhi Nair Date: Fri, 3 Jan 2025 18:09:40 +0530 Subject: [PATCH 3/3] chore: CE split for git constants and AGF --- .../applications/git/ApplicationGitFileUtilsCEImpl.java | 2 +- .../server/applications/git/ApplicationGitFileUtilsImpl.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsCEImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsCEImpl.java index d936fad35a29..d8bac7bcc5eb 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsCEImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsCEImpl.java @@ -85,7 +85,7 @@ @Slf4j @Component @Import({FileUtilsImpl.class}) -public class ApplicationGitFileUtilsCEImpl implements ArtifactGitFileUtilsCE { +public class ApplicationGitFileUtilsCEImpl implements ArtifactGitFileUtilsCE { private final Gson gson; private final ObjectMapper objectMapper; diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsImpl.java index 1a07291e607a..4f5ba237ae34 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/applications/git/ApplicationGitFileUtilsImpl.java @@ -2,7 +2,7 @@ import com.appsmith.external.git.FileInterface; import com.appsmith.server.actioncollections.base.ActionCollectionService; -import com.appsmith.server.dtos.ArtifactExchangeJson; +import com.appsmith.server.dtos.ApplicationJson; import com.appsmith.server.helpers.ArtifactGitFileUtils; import com.appsmith.server.migrations.JsonSchemaMigration; import com.appsmith.server.newactions.base.NewActionService; @@ -12,7 +12,7 @@ @Component public class ApplicationGitFileUtilsImpl extends ApplicationGitFileUtilsCEImpl - implements ArtifactGitFileUtils { + implements ArtifactGitFileUtils { public ApplicationGitFileUtilsImpl( Gson gson,