Skip to content

Commit 82634d8

Browse files
committed
fix: adds $Ref.replacedRefsList to keep trac of replaced refs
1 parent e956545 commit 82634d8

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

src/main/java/io/zenwave360/jsonrefparser/$RefParser.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,8 @@ private void mergeResolvedAndReplaceOriginal(ExtendedJsonContext jsonContext, St
359359
replacement.putAll(original);
360360
replacement.remove("$ref");
361361
replacement.putAll((Map) resolved);
362+
$Ref originalRef = $Ref.of((String) original.get("$ref"), uri);
363+
this.refs.saveReplacedRef(originalRef, replacement);
362364
jsonContext.set(jsonPath, replacement);
363365
}
364366

src/main/java/io/zenwave360/jsonrefparser/$Refs.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public class $Refs {
3232

3333
// References are kept on a list (instead of a Map) because Map.hashCode() is calculated recursively and may be circular references.
3434
private List<Pair<$Ref, Object>> originalRefsList = new ArrayList<>();
35+
private List<Pair<$Ref, Object>> replacedRefsList = new ArrayList<>();
3536
private List<Pair<Map, List>> originalAllOfList = new ArrayList<>();
3637

3738
public $Refs(ExtendedJsonContext jsonContext) {
@@ -52,6 +53,10 @@ public class $Refs {
5253
return originalRefsList;
5354
}
5455

56+
public List<Pair<$Ref, Object>> getReplacedRefsList() {
57+
return replacedRefsList;
58+
}
59+
5560
public $Ref getOriginalRef(Object obj) {
5661
Object originalAllOf = getOriginalAllOf(obj);
5762
return originalRefsList.stream()
@@ -112,6 +117,10 @@ public void saveOriginalRef($Ref originalRef, Object resolved) {
112117
}
113118
}
114119

120+
public void saveReplacedRef($Ref originalRef, Object resolved) {
121+
this.replacedRefsList.add(Pair.of(originalRef, resolved));
122+
}
123+
115124
public void saveOriginalAllOf(Map<String, Object> resolvedAllOf, List originalAllOf) {
116125
originalAllOfList.add(Pair.of(resolvedAllOf, originalAllOf));
117126
}

0 commit comments

Comments
 (0)