Skip to content

Commit d5c3c7b

Browse files
committed
Take reviewer's comment into account:
- change comment in DcSwitch. - add r to constructor of DcSwitchImpl and add network listener call in setR.
1 parent 33acdac commit d5c3c7b

File tree

3 files changed

+20
-7
lines changed

3 files changed

+20
-7
lines changed

iidm/iidm-api/src/main/java/com/powsybl/iidm/network/DcSwitch.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
/**
1111
* A DC Switch within a DC system. A DC Switch connects two DC Nodes and can be opened or closed.
12-
* A DC Switch may have a non-negative resistance, which may be important for security analyses.
12+
* A DC Switch may have a non-negative resistance to model losses.
1313
*
1414
* <p> To create a DcSwitch, see {@link DcSwitchAdder}
1515
*
@@ -49,7 +49,6 @@
4949
* <td style="border: 1px solid black">Kind</td>
5050
* <td style="border: 1px solid black">DcSwitchKind</td>
5151
* <td style="border: 1px solid black"> - </td>
52-
* <td style="border: 1px solid black">yes</td>
5352
* <td style="border: 1px solid black"> - </td>
5453
* <td style="border: 1px solid black">The DC switch kind: DISCONNECTOR or BREAKER</td>
5554
* </tr>

iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/DcSwitchAdderImpl.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,17 @@ public DcSwitch add() {
7474
if (open == null) {
7575
throw new ValidationException(this, "open is not set");
7676
}
77-
DcSwitchImpl dcSwitch = new DcSwitchImpl(networkRef, subnetworkRef, id, getName(), isFictitious(), kind, dcNode1, dcNode2, open);
78-
dcSwitch.setR(this.r);
77+
DcSwitchImpl dcSwitch = new DcSwitchImpl(networkRef,
78+
subnetworkRef,
79+
id,
80+
getName(),
81+
isFictitious(),
82+
kind,
83+
dcNode1,
84+
dcNode2,
85+
open,
86+
this.r);
87+
7988
getNetwork().getIndex().checkAndAdd(dcSwitch);
8089
getNetwork().getListeners().notifyCreation(dcSwitch);
8190
getParentNetwork().getDcTopologyModel().addDcSwitchToTopology(dcSwitch, dcNode1Id, dcNode2Id);

iidm/iidm-impl/src/main/java/com/powsybl/iidm/network/impl/DcSwitchImpl.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ public class DcSwitchImpl extends AbstractIdentifiable<DcSwitch> implements DcSw
3939
DcSwitchKind kind,
4040
DcNode dcNode1,
4141
DcNode dcNode2,
42-
boolean open) {
42+
boolean open,
43+
double r) {
4344
super(id, name, fictitious);
4445
this.networkRef = Objects.requireNonNull(ref);
4546
this.subnetworkRef = subnetworkRef;
@@ -52,6 +53,7 @@ public class DcSwitchImpl extends AbstractIdentifiable<DcSwitch> implements DcSw
5253
for (int i = 0; i < variantArraySize; i++) {
5354
this.open.add(open);
5455
}
56+
this.r = r;
5557
}
5658

5759
@Override
@@ -163,13 +165,16 @@ public DcSwitch setR(double r) {
163165
ValidationUtil.checkModifyOfRemovedEquipment(this.id, this.removed, R_ATTRIBUTE);
164166
ValidationUtil.checkDoubleParamPositive(this, r, R_ATTRIBUTE);
165167

166-
if ((r == 0.0) != (this.r == 0.0)) {
168+
double oldValue = this.r;
169+
this.r = r;
170+
171+
if ((r == 0.0) != (oldValue == 0.0)) {
167172
// if we change the value of r from 0 to non-zero
168173
// or vice versa, topology must be recomputed.
169174
getNetwork().dcTopologyModel.invalidateCache();
170175
}
176+
getNetwork().getListeners().notifyUpdate(this, R_ATTRIBUTE, oldValue, r);
171177

172-
this.r = r;
173178
return this;
174179
}
175180
}

0 commit comments

Comments
 (0)