Skip to content

Commit

Permalink
Fixed #3130
Browse files Browse the repository at this point in the history
  • Loading branch information
davidjgonzalez authored Jul 10, 2023
1 parent 1f74382 commit 0b49488
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 22 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ The format is based on [Keep a Changelog](http://keepachangelog.com)

## Unreleased ([details][unreleased changes details])


## Fixed

- #3130 - Error in remote asset sync on empty multi-value properties


## 6.0.12 - 2023-07-10

## Fixed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -348,29 +348,33 @@ private void setNodeTagsProperty(final ResourceResolver remoteAssetsResolver, fi
* @throws RepositoryException exception
*/
private void setNodeSimpleArrayProperty(final JsonArray jsonArray, final String key, final Resource resource) throws RepositoryException {
JsonPrimitive firstVal = jsonArray.get(0).getAsJsonPrimitive();


try {
Object[] values;
if (firstVal.isBoolean()) {
values = new Boolean[jsonArray.size()];
for (int i = 0; i < jsonArray.size(); i++) {
values[i] = jsonArray.get(i).getAsBoolean();
}
} else if (DECIMAL_REGEX.matcher(firstVal.getAsString()).matches()) {
values = new BigDecimal[jsonArray.size()];
for (int i = 0; i < jsonArray.size(); i++) {
values[i] = jsonArray.get(i).getAsBigDecimal();
}
} else if (firstVal.isNumber()) {
values = new Long[jsonArray.size()];
for (int i = 0; i < jsonArray.size(); i++) {
values[i] = jsonArray.get(i).getAsLong();
}
} else {
values = new String[jsonArray.size()];
for (int i = 0; i < jsonArray.size(); i++) {
values[i] = jsonArray.get(i).getAsString();
Object[] values = new Object[0];

if (jsonArray != null && jsonArray.size() > 0) {
JsonPrimitive firstVal = jsonArray.get(0).getAsJsonPrimitive();

if (firstVal.isBoolean()) {
values = new Boolean[jsonArray.size()];
for (int i = 0; i < jsonArray.size(); i++) {
values[i] = jsonArray.get(i).getAsBoolean();
}
} else if (DECIMAL_REGEX.matcher(firstVal.getAsString()).matches()) {
values = new BigDecimal[jsonArray.size()];
for (int i = 0; i < jsonArray.size(); i++) {
values[i] = jsonArray.get(i).getAsBigDecimal();
}
} else if (firstVal.isNumber()) {
values = new Long[jsonArray.size()];
for (int i = 0; i < jsonArray.size(); i++) {
values[i] = jsonArray.get(i).getAsLong();
}
} else {
values = new String[jsonArray.size()];
for (int i = 0; i < jsonArray.size(); i++) {
values[i] = jsonArray.get(i).getAsString();
}
}
}

Expand Down

0 comments on commit 0b49488

Please sign in to comment.