Skip to content

Commit 9bb4ea0

Browse files
authored
Merge pull request #77 from simplelocalize/options-npe
Fixes loading empty upload options
2 parents dd33d1e + 30c6d74 commit 9bb4ea0

File tree

3 files changed

+19
-13
lines changed

3 files changed

+19
-13
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>io.simplelocalize</groupId>
66
<artifactId>simplelocalize-cli</artifactId>
7-
<version>2.2.0</version>
7+
<version>2.3.0</version>
88
<packaging>jar</packaging>
99
<name>simplelocalize-cli</name>
1010
<description>Official SimpleLocalize Command Line Interface</description>

src/main/java/io/simplelocalize/cli/SimplelocalizeCliCommand.java

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
import picocli.CommandLine.Option;
1616

1717
import java.nio.file.Path;
18+
import java.util.ArrayList;
1819
import java.util.List;
20+
import java.util.Objects;
1921

2022

2123
@Command(
@@ -164,20 +166,27 @@ public void upload(
164166
configuration.setCustomerId(customerId);
165167
}
166168

167-
if (Boolean.TRUE.equals(overwrite))
169+
List<String> effectiveUploadOptions = new ArrayList<>();
170+
List<String> configurationUploadOptions = configuration.getUploadOptions();
171+
if (configurationUploadOptions != null)
168172
{
169-
uploadOptions.add("REPLACE_TRANSLATION_IF_FOUND");
173+
effectiveUploadOptions = new ArrayList<>(configurationUploadOptions);
174+
}
175+
if (uploadOptions != null)
176+
{
177+
effectiveUploadOptions = new ArrayList<>(uploadOptions);
170178
}
171179

172-
if (Boolean.TRUE.equals(delete))
180+
if (Boolean.TRUE.equals(overwrite))
173181
{
174-
uploadOptions.add("DELETE_NOT_PRESENT_KEYS");
182+
effectiveUploadOptions.add("REPLACE_TRANSLATION_IF_FOUND");
175183
}
176184

177-
if (uploadOptions != null)
185+
if (Boolean.TRUE.equals(delete))
178186
{
179-
configuration.setUploadOptions(uploadOptions);
187+
effectiveUploadOptions.add("DELETE_NOT_PRESENT_KEYS");
180188
}
189+
configuration.setUploadOptions(effectiveUploadOptions);
181190

182191
if (Boolean.TRUE.equals(dryRun))
183192
{
@@ -239,10 +248,7 @@ public void download(
239248
{
240249
configuration.setCustomerId(customerId);
241250
}
242-
if (downloadOptions != null)
243-
{
244-
configuration.setDownloadOptions(downloadOptions);
245-
}
251+
configuration.setDownloadOptions(Objects.requireNonNullElseGet(downloadOptions, ArrayList::new));
246252
ConfigurationValidator configurationValidator = new ConfigurationValidator();
247253
configurationValidator.validateDownloadConfiguration(configuration);
248254
SimpleLocalizeClient client = SimpleLocalizeClient.create(configuration.getBaseUrl(), configuration.getApiKey());
@@ -290,7 +296,7 @@ public void pull(
290296
configuration.setPullPath(pullPath);
291297
}
292298

293-
if(StringUtils.isNotEmpty(filterRegex))
299+
if (StringUtils.isNotEmpty(filterRegex))
294300
{
295301
configuration.setFilterRegex(filterRegex);
296302
}

src/main/java/io/simplelocalize/cli/Version.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
public class Version
44
{
55

6-
public static final String NUMBER = "2.2.0";
6+
public static final String NUMBER = "2.3.0";
77

88
private Version()
99
{

0 commit comments

Comments
 (0)