From e43b1d9b51fa71b474748e865906bdb40373feb3 Mon Sep 17 00:00:00 2001 From: Daniel Kirschten Date: Sat, 31 Aug 2019 18:52:52 +0200 Subject: [PATCH] interfacePins, components, wires in JSON files are now sorted by name --- .../logic/model/serializing/SubmodelComponentSerializer.java | 3 +++ .../mograsim/logic/model/serializing/ViewModelSerializer.java | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentSerializer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentSerializer.java index 234361d9..843c3564 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentSerializer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/SubmodelComponentSerializer.java @@ -1,6 +1,8 @@ package net.mograsim.logic.model.serializing; import java.io.IOException; +import java.util.Arrays; +import java.util.Comparator; import com.google.gson.JsonElement; @@ -216,6 +218,7 @@ public final class SubmodelComponentSerializer i++; } params.interfacePins = iPins; + Arrays.sort(params.interfacePins, Comparator.comparing(p -> p.name)); Renderer symbolRenderer = comp.getSymbolRenderer(); if (symbolRenderer != null) diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/ViewModelSerializer.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/ViewModelSerializer.java index ffd18c94..38bdf9c4 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/ViewModelSerializer.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/serializing/ViewModelSerializer.java @@ -1,7 +1,9 @@ package net.mograsim.logic.model.serializing; import java.io.IOException; +import java.util.Arrays; import java.util.Collection; +import java.util.Comparator; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -161,6 +163,7 @@ public class ViewModelSerializer compParams.name = component.name; } modelParams.components = componentsParams.toArray(ComponentParams[]::new); + Arrays.sort(modelParams.components, Comparator.comparing(c -> c.name)); Collection wires = model.getWiresByName().values(); Set wiresParams = new HashSet<>(); @@ -180,6 +183,7 @@ public class ViewModelSerializer innerWireParams.path = innerWire.getPath(); } modelParams.wires = wiresParams.toArray(WireParams[]::new); + Arrays.sort(modelParams.wires, Comparator.comparing(c -> c.name)); return modelParams; } -- 2.17.1