Skip to content

Commit dadf096

Browse files
[Refactor] Commit.PreviousCommit
1 parent b4f51e6 commit dadf096

File tree

3 files changed

+13
-20
lines changed

3 files changed

+13
-20
lines changed

SysML2.NET.Serializer.Json/PIM/CommitDeSerializer.cs

+8-7
Original file line numberDiff line numberDiff line change
@@ -136,26 +136,27 @@ internal static Commit DeSerialize(JsonElement jsonElement, SerializationModeKin
136136
logger.LogDebug($"the owningProject Json property was not found in the Commit: {dtoInstance.Id}");
137137
}
138138

139-
if (jsonElement.TryGetProperty("previousCommit"u8, out JsonElement previousCommitProjectProperty))
139+
if (jsonElement.TryGetProperty("previousCommit"u8, out JsonElement previousCommitProperty))
140140
{
141-
if (previousCommitProjectProperty.ValueKind == JsonValueKind.Null)
141+
if (previousCommitProperty.ValueKind == JsonValueKind.Null)
142142
{
143-
dtoInstance.PreviousCommits = null;
143+
dtoInstance.PreviousCommit = Guid.Empty;
144144
}
145145
else
146146
{
147-
foreach (var item in previousCommitProjectProperty.EnumerateArray())
147+
if (previousCommitProperty.TryGetProperty("@id"u8, out JsonElement previousCommitPropertyIdProperty))
148148
{
149-
if (item.TryGetProperty("@id"u8, out JsonElement itemIdProperty))
149+
var propertyValue = previousCommitPropertyIdProperty.GetString();
150+
if (propertyValue != null)
150151
{
151-
dtoInstance.PreviousCommits.Add(itemIdProperty.GetGuid());
152+
dtoInstance.PreviousCommit = Guid.Parse(propertyValue);
152153
}
153154
}
154155
}
155156
}
156157
else
157158
{
158-
logger.LogDebug($"the previousCommit Json property was not found in the Commit: {dtoInstance.Id}");
159+
logger.LogDebug($"the owningProject Json property was not found in the Commit: {dtoInstance.Id}");
159160
}
160161

161162
if (jsonElement.TryGetProperty("resourceIdentifier"u8, out JsonElement resourceIdentifierProperty))

SysML2.NET.Serializer.Json/PIM/CommitSerializer.cs

+3-11
Original file line numberDiff line numberDiff line change
@@ -72,17 +72,9 @@ internal static void Serialize(object obj, Utf8JsonWriter writer, SerializationM
7272
writer.WriteString("@id"u8, commit.OwningProject);
7373
writer.WriteEndObject();
7474
writer.WriteString("resourceIdentifier"u8, commit.ResourceIdentifier);
75-
writer.WriteStartArray("previousCommits"u8);
76-
if (commit.PreviousCommits != null)
77-
{
78-
foreach (var previousCommitId in commit.PreviousCommits)
79-
{
80-
writer.WriteStartObject();
81-
writer.WriteString("@id"u8, previousCommitId);
82-
writer.WriteEndObject();
83-
}
84-
}
85-
writer.WriteEndArray();
75+
writer.WriteStartObject("previousCommit"u8);
76+
writer.WriteString("@id"u8, commit.PreviousCommit);
77+
writer.WriteEndObject();
8678
writer.WriteEndObject();
8779

8880
break;

SysML2.NET/PIM/DTO/Commit.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ public class Commit : Record
5252
public Guid OwningProject { get; set; }
5353

5454
/// <summary>
55-
/// Gets or sets the sets the set of immediately preceding <see cref="Commit"/>s
55+
/// Gets or sets the immediately preceding <see cref="Commit"/>s
5656
/// </summary>
57-
public List<Guid> PreviousCommits { get; set; } = new List<Guid>();
57+
public Guid PreviousCommit { get; set; }
5858
}
5959
}

0 commit comments

Comments
 (0)