You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2024/01/04 12:52:29 UTC
(sling-org-apache-sling-feature) branch master updated: SLING-12220 : Ensure that metadata properties are always written in the same order
This is an automated email from the ASF dual-hosted git repository.
cziegeler pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature.git
The following commit(s) were added to refs/heads/master by this push:
new b1cb1f4 SLING-12220 : Ensure that metadata properties are always written in the same order
b1cb1f4 is described below
commit b1cb1f476a8274d120c09cc6a6a7b25225c0220d
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Thu Jan 4 13:46:43 2024 +0100
SLING-12220 : Ensure that metadata properties are always written in the same order
---
src/main/java/org/apache/sling/feature/Artifact.java | 4 ++--
src/main/java/org/apache/sling/feature/builder/BuilderUtil.java | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/main/java/org/apache/sling/feature/Artifact.java b/src/main/java/org/apache/sling/feature/Artifact.java
index 4a73d20..32934ff 100644
--- a/src/main/java/org/apache/sling/feature/Artifact.java
+++ b/src/main/java/org/apache/sling/feature/Artifact.java
@@ -18,12 +18,12 @@ package org.apache.sling.feature;
import java.io.Serializable;
import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
+import java.util.TreeMap;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -60,7 +60,7 @@ public class Artifact implements Comparable<Artifact>, Serializable {
private final ArtifactId id;
/** Artifact metadata. */
- private final Map<String,String> metadata = new HashMap<>();
+ private final Map<String,String> metadata = new TreeMap<>();
/**
* Construct a new artifact
diff --git a/src/main/java/org/apache/sling/feature/builder/BuilderUtil.java b/src/main/java/org/apache/sling/feature/builder/BuilderUtil.java
index 4d4cdd1..56e35b9 100644
--- a/src/main/java/org/apache/sling/feature/builder/BuilderUtil.java
+++ b/src/main/java/org/apache/sling/feature/builder/BuilderUtil.java
@@ -149,7 +149,7 @@ class BuilderUtil {
int insertPos = target.size();
int count = 0;
for (final Artifact existing : allExistingInTarget) {
- if (sourceFeature.getId().toMvnId().equals(existing.getMetadata().get(originKey))) {
+ if (originKey != null && sourceFeature.getId().toMvnId().equals(existing.getMetadata().get(originKey))) {
// If the source artifact came from the same feature, keep them side-by-side
// but make sure we add the target ones first - hence, the count
selectedArtifacts.add(count++, existing);