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 626bf6bbeb..4368a86061 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 0000000000..e3a07795d8 --- /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 79aef2cb35..2ba44cc6e6 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 @@ -87,7 +87,7 @@ import static com.appsmith.server.helpers.ce.CommonGitFileUtilsCE.removeUnwanted @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 fcf0b2682a..4f5ba237ae 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.ApplicationJson; import com.appsmith.server.helpers.ArtifactGitFileUtils; import com.appsmith.server.migrations.JsonSchemaMigration; import com.appsmith.server.newactions.base.NewActionService; @@ -12,7 +12,7 @@ import org.springframework.stereotype.Component; @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 aeff001553..84c0035d1b 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 90c512060d..ea9efe2960 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 @@ package com.appsmith.server.helpers; 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.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 @@ import org.springframework.stereotype.Component; 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 f20fe5f878..a4c38c58b1 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 @@ package com.appsmith.server.helpers.ce; 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 com.appsmith.server.git.dtos.ArtifactJsonTransformationDTO; import lombok.NonNull; import reactor.core.publisher.Mono; @@ -10,19 +12,23 @@ import reactor.core.publisher.Mono; import java.nio.file.Path; import java.util.Map; -public interface ArtifactGitFileUtilsCE { +public interface ArtifactGitFileUtilsCE { - T 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 4ce31654b0..5ab89e4acf 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.git.operations.FileOperations; 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; @@ -86,7 +85,7 @@ import static org.springframework.util.StringUtils.hasText; @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; @@ -103,7 +102,7 @@ public class CommonGitFileUtilsCE { protected final ObjectMapper objectMapper; public CommonGitFileUtilsCE( - ArtifactGitFileUtils applicationGitFileUtils, + ArtifactGitFileUtils applicationGitFileUtils, FileInterface fileUtils, FileOperations fileOperations, AnalyticsService analyticsService, @@ -123,7 +122,7 @@ public class 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; }