Skip to content

Commit 7169deb

Browse files
committed
Add network name to NAD metadata output
Include the network name in the DiagramMetadata JSON output so that downstream tools like powsybl-network-viewer can use it for naming exported files. Closes #801 Signed-off-by: hanweiwei <duzielww@163.com> Made-with: Cursor
1 parent de2fbd6 commit 7169deb

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

network-area-diagram/src/main/java/com/powsybl/nad/NetworkAreaDiagram.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public static void draw(Network network, Path svgFile, NadParameters param, Pred
7777
Graph graph = getLayoutResult(network, param, voltageLevelFilter);
7878
NetworkGraphBuilder.applyStyle(graph, styleProvider);
7979
createSvgWriter(param).writeSvg(graph, svgFile);
80-
createMetadata(graph, param).writeJson(getMetadataPath(svgFile));
80+
createMetadata(graph, param, network).writeJson(getMetadataPath(svgFile));
8181
}
8282

8383
public static void draw(Network network, Writer writer, Writer metadataWriter, NadParameters param, Predicate<VoltageLevel> voltageLevelFilter) {
@@ -90,11 +90,13 @@ public static void draw(Network network, Writer writer, Writer metadataWriter, N
9090
Graph graph = getLayoutResult(network, param, voltageLevelFilter);
9191
NetworkGraphBuilder.applyStyle(graph, styleProvider);
9292
createSvgWriter(param).writeSvg(graph, writer);
93-
createMetadata(graph, param).writeJson(metadataWriter);
93+
createMetadata(graph, param, network).writeJson(metadataWriter);
9494
}
9595

96-
private static DiagramMetadata createMetadata(Graph graph, NadParameters param) {
97-
return new DiagramMetadata(param.getLayoutParameters(), param.getSvgParameters()).addMetadata(graph);
96+
private static DiagramMetadata createMetadata(Graph graph, NadParameters param, Network network) {
97+
return new DiagramMetadata(param.getLayoutParameters(), param.getSvgParameters())
98+
.setNetworkName(network.getNameOrId())
99+
.addMetadata(graph);
98100
}
99101

100102
private static Graph getLayoutResult(Network network, NadParameters param, Predicate<VoltageLevel> voltageLevelFilter) {

network-area-diagram/src/main/java/com/powsybl/nad/svg/metadata/DiagramMetadata.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public enum NodeType {
4040
THREEWT, BOUNDARY;
4141
}
4242

43+
private String networkName;
4344
private final LayoutParameters layoutParameters;
4445
private final SvgParameters svgParameters;
4546
private final List<BusNodeMetadata> busNodesMetadata = new ArrayList<>();
@@ -63,14 +64,16 @@ public DiagramMetadata(@JsonProperty("layoutParameters") LayoutParameters layout
6364
@JsonProperty("nodes") List<NodeMetadata> nodesMetadata,
6465
@JsonProperty("injections") List<InjectionMetadata> injectionsMetadata,
6566
@JsonProperty("edges") List<EdgeMetadata> edgesMetadata,
66-
@JsonProperty("textNodes") List<TextNodeMetadata> textNodesMetadata) {
67+
@JsonProperty("textNodes") List<TextNodeMetadata> textNodesMetadata,
68+
@JsonProperty("networkName") String networkName) {
6769
this.layoutParameters = Objects.requireNonNull(layoutParameters);
6870
this.svgParameters = Objects.requireNonNull(svgParameters);
6971
this.busNodesMetadata.addAll(busNodesMetadata);
7072
this.nodesMetadata.addAll(nodesMetadata);
7173
this.injectionsMetadata.addAll(injectionsMetadata);
7274
this.edgesMetadata.addAll(edgesMetadata);
7375
this.textNodesMetadata.addAll(textNodesMetadata);
76+
this.networkName = networkName;
7477
}
7578

7679
@JsonProperty("busNodes")
@@ -108,6 +111,17 @@ public SvgParameters getSvgParameters() {
108111
return svgParameters;
109112
}
110113

114+
@JsonProperty("networkName")
115+
@JsonInclude(JsonInclude.Include.NON_NULL)
116+
public String getNetworkName() {
117+
return networkName;
118+
}
119+
120+
public DiagramMetadata setNetworkName(String networkName) {
121+
this.networkName = networkName;
122+
return this;
123+
}
124+
111125
public DiagramMetadata addMetadata(Graph graph) {
112126
Objects.requireNonNull(graph);
113127

0 commit comments

Comments
 (0)