From c280608b0b7e8605b3107102b19200b377b29cbe Mon Sep 17 00:00:00 2001 From: Kateryna Oblakevych Date: Mon, 26 Feb 2024 12:24:14 +0200 Subject: [PATCH] fix: message for strings based project when download (#729) --- .../cli/commands/actions/DownloadAction.java | 16 ++++++---------- .../commands/actions/DownloadSourcesAction.java | 13 +++++++++---- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/crowdin/cli/commands/actions/DownloadAction.java b/src/main/java/com/crowdin/cli/commands/actions/DownloadAction.java index 48e9b556..3ec6118e 100644 --- a/src/main/java/com/crowdin/cli/commands/actions/DownloadAction.java +++ b/src/main/java/com/crowdin/cli/commands/actions/DownloadAction.java @@ -16,6 +16,7 @@ import com.crowdin.cli.utils.Utils; import com.crowdin.cli.utils.console.ConsoleSpinner; import com.crowdin.client.languages.model.Language; +import com.crowdin.client.projectsgroups.model.Type; import com.crowdin.client.sourcefiles.model.Branch; import com.crowdin.client.translations.model.BuildProjectTranslationRequest; import com.crowdin.client.translations.model.CrowdinTranslationCreateProjectBuildForm; @@ -29,16 +30,7 @@ import java.io.IOException; import java.io.InputStream; import java.net.URL; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.TreeMap; -import java.util.TreeSet; +import java.util.*; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -94,6 +86,10 @@ public void act(Outputter out, PropertiesWithFiles pb, ProjectClient client) { .execute(out, "message.spinner.fetching_project_info", "error.collect_project_info", this.noProgress, this.plainView, () -> client.downloadFullProject(this.branchName)); + if (Objects.equals(project.getType(), Type.STRINGS_BASED)) { + throw new RuntimeException(RESOURCE_BUNDLE.getString("message.no_file_string_project")); + } + if (!project.isManagerAccess()) { if (!plainView) { out.println(WARNING.withIcon(RESOURCE_BUNDLE.getString("message.no_manager_access"))); diff --git a/src/main/java/com/crowdin/cli/commands/actions/DownloadSourcesAction.java b/src/main/java/com/crowdin/cli/commands/actions/DownloadSourcesAction.java index db93f670..95fb2f9a 100644 --- a/src/main/java/com/crowdin/cli/commands/actions/DownloadSourcesAction.java +++ b/src/main/java/com/crowdin/cli/commands/actions/DownloadSourcesAction.java @@ -14,6 +14,7 @@ import com.crowdin.cli.utils.Utils; import com.crowdin.cli.utils.concurrency.ConcurrencyUtil; import com.crowdin.cli.utils.console.ConsoleSpinner; +import com.crowdin.client.projectsgroups.model.Type; import com.crowdin.client.sourcefiles.model.Branch; import com.crowdin.client.sourcefiles.model.BuildReviewedSourceFilesRequest; import com.crowdin.client.sourcefiles.model.File; @@ -87,14 +88,18 @@ public void act(Outputter out, PropertiesWithFiles properties, ProjectClient cli return; } - if (!plainView && !properties.getPreserveHierarchy()) { - out.println(WARNING.withIcon(RESOURCE_BUNDLE.getString("message.download_sources.preserve_hierarchy_warning"))); - } - CrowdinProjectFull project = ConsoleSpinner .execute(out, "message.spinner.fetching_project_info", "error.collect_project_info", this.noProgress, this.plainView, () -> client.downloadFullProject(this.branchName)); + if (Objects.equals(project.getType(), Type.STRINGS_BASED)) { + throw new RuntimeException(RESOURCE_BUNDLE.getString("message.no_file_string_project")); + } + + if (!plainView && !properties.getPreserveHierarchy()) { + out.println(WARNING.withIcon(RESOURCE_BUNDLE.getString("message.download_sources.preserve_hierarchy_warning"))); + } + Long branchId = Optional.ofNullable(project.getBranch()) .map(Branch::getId) .orElse(null);