@@ -54,13 +54,13 @@ public UUID createParameters(VoltageInitParametersInfos parametersInfos) {
5454 }
5555
5656 public Optional <UUID > duplicateParameters (UUID sourceParametersId ) {
57- return voltageInitParametersRepository .findById (sourceParametersId )
58- . map ( VoltageInitParametersEntity :: toVoltageInitParametersInfos )
59- . map ( VoltageInitParametersEntity :: new )
60- . map (entity -> {
61- voltageInitParametersRepository . save (entity );
62- return entity . getId ();
63- } );
57+ Optional < VoltageInitParametersInfos > sourceVoltageInitParametersInfos = voltageInitParametersRepository .findById (sourceParametersId ). map ( VoltageInitParametersEntity :: toVoltageInitParametersInfos );
58+ if ( sourceVoltageInitParametersInfos . isPresent ()) {
59+ VoltageInitParametersEntity entity = new VoltageInitParametersEntity ( sourceVoltageInitParametersInfos . get ());
60+ voltageInitParametersRepository . save (entity );
61+ return Optional . of (entity . getId () );
62+ }
63+ return Optional . empty ( );
6464 }
6565
6666 public VoltageInitParametersInfos getParameters (UUID parametersUuid ) {
@@ -101,68 +101,50 @@ private static void fillSpecificVoltageLimits(List<VoltageLimitOverride> specifi
101101 Map <String , VoltageLimitEntity > voltageLevelDefaultLimits ,
102102 VoltageLevel voltageLevel ,
103103 Map <String , Double > voltageLevelsIdsRestricted ) {
104- if (voltageLevelDefaultLimits .containsKey (voltageLevel .getId ()) || voltageLevelModificationLimits .containsKey (voltageLevel .getId ())) {
105- setLowVoltageLimit (specificVoltageLimits , voltageLevelModificationLimits , voltageLevelDefaultLimits , voltageLevel , voltageLevelsIdsRestricted );
106- setHighVoltageLimit (specificVoltageLimits , voltageLevelModificationLimits , voltageLevelDefaultLimits , voltageLevel );
107- }
104+ setLowVoltageLimit (specificVoltageLimits , voltageLevelModificationLimits , voltageLevelDefaultLimits , voltageLevel , voltageLevelsIdsRestricted );
105+ setHighVoltageLimit (specificVoltageLimits , voltageLevelModificationLimits , voltageLevelDefaultLimits , voltageLevel );
108106 }
109107
110108 private static void setLowVoltageLimit (List <VoltageLimitOverride > specificVoltageLimits ,
111109 Map <String , VoltageLimitEntity > voltageLevelModificationLimits ,
112110 Map <String , VoltageLimitEntity > voltageLevelDefaultLimits ,
113111 VoltageLevel voltageLevel ,
114112 Map <String , Double > voltageLevelsIdsRestricted ) {
115- final String voltageLevelId = voltageLevel .getId ();
116- final boolean isLowVoltageLimitModificationSet = voltageLevelModificationLimits .containsKey (voltageLevelId ) && voltageLevelModificationLimits .get (voltageLevelId ).getLowVoltageLimit () != null ;
117- final double lowVoltageLimit = voltageLevel .getLowVoltageLimit ();
113+ boolean isLowVoltageLimitModificationSet = voltageLevelModificationLimits .containsKey (voltageLevel .getId ()) && voltageLevelModificationLimits .get (voltageLevel .getId ()).getLowVoltageLimit () != null ;
114+ boolean isLowVoltageLimitDefaultSet = voltageLevelDefaultLimits .containsKey (voltageLevel .getId ()) && voltageLevelDefaultLimits .get (voltageLevel .getId ()).getLowVoltageLimit () != null ;
118115 double newLowVoltageLimit ;
119- if (!Double .isNaN (lowVoltageLimit ) && isLowVoltageLimitModificationSet ) {
120- double lowVoltageLimitModification = voltageLevelModificationLimits .get (voltageLevelId ).getLowVoltageLimit ();
121- if (lowVoltageLimit + lowVoltageLimitModification < 0 ) {
122- newLowVoltageLimit = lowVoltageLimit * -1 ;
123- voltageLevelsIdsRestricted .put (voltageLevelId , newLowVoltageLimit );
116+ if (!Double .isNaN (voltageLevel . getLowVoltageLimit () ) && isLowVoltageLimitModificationSet ) {
117+ double lowVoltageLimitModification = voltageLevelModificationLimits .get (voltageLevel . getId () ).getLowVoltageLimit ();
118+ if (voltageLevel . getLowVoltageLimit () + lowVoltageLimitModification < 0 ) {
119+ newLowVoltageLimit = voltageLevel . getLowVoltageLimit () * -1 ;
120+ voltageLevelsIdsRestricted .put (voltageLevel . getId () , newLowVoltageLimit );
124121 } else {
125122 newLowVoltageLimit = lowVoltageLimitModification ;
126123 }
127- specificVoltageLimits .add (new VoltageLimitOverride (voltageLevelId , VoltageLimitType .LOW_VOLTAGE_LIMIT , true , newLowVoltageLimit ));
124+ specificVoltageLimits .add (new VoltageLimitOverride (voltageLevel . getId () , VoltageLimitType .LOW_VOLTAGE_LIMIT , true , newLowVoltageLimit ));
128125
129- } else if (Double .isNaN (lowVoltageLimit )
130- && voltageLevelDefaultLimits .containsKey (voltageLevelId )
131- && voltageLevelDefaultLimits .get (voltageLevelId ).getLowVoltageLimit () != null ) {
132- double voltageLimit = voltageLevelDefaultLimits .get (voltageLevelId ).getLowVoltageLimit () + (isLowVoltageLimitModificationSet ? voltageLevelModificationLimits .get (voltageLevelId ).getLowVoltageLimit () : 0. );
126+ } else if (Double .isNaN (voltageLevel .getLowVoltageLimit ()) && isLowVoltageLimitDefaultSet ) {
127+ double voltageLimit = voltageLevelDefaultLimits .get (voltageLevel .getId ()).getLowVoltageLimit () + (isLowVoltageLimitModificationSet ? voltageLevelModificationLimits .get (voltageLevel .getId ()).getLowVoltageLimit () : 0. );
133128 if (voltageLimit < 0 ) {
134129 newLowVoltageLimit = 0.0 ;
135- voltageLevelsIdsRestricted .put (voltageLevelId , newLowVoltageLimit );
130+ voltageLevelsIdsRestricted .put (voltageLevel . getId () , newLowVoltageLimit );
136131 } else {
137132 newLowVoltageLimit = voltageLimit ;
138133 }
139- specificVoltageLimits .add (new VoltageLimitOverride (voltageLevelId , VoltageLimitType .LOW_VOLTAGE_LIMIT , false , newLowVoltageLimit ));
134+ specificVoltageLimits .add (new VoltageLimitOverride (voltageLevel . getId () , VoltageLimitType .LOW_VOLTAGE_LIMIT , false , newLowVoltageLimit ));
140135 }
141136 }
142137
143138 private static void setHighVoltageLimit (List <VoltageLimitOverride > specificVoltageLimits ,
144139 Map <String , VoltageLimitEntity > voltageLevelModificationLimits ,
145140 Map <String , VoltageLimitEntity > voltageLevelDefaultLimits ,
146141 VoltageLevel voltageLevel ) {
147- final String voltageLevelId = voltageLevel .getId ();
148- final boolean isHighVoltageLimitModificationSet = voltageLevelModificationLimits .containsKey (voltageLevelId ) && voltageLevelModificationLimits .get (voltageLevelId ).getHighVoltageLimit () != null ;
149- final double highVoltageLimit = voltageLevel .getHighVoltageLimit ();
150- if (!Double .isNaN (highVoltageLimit ) && isHighVoltageLimitModificationSet ) {
151- specificVoltageLimits .add (new VoltageLimitOverride (
152- voltageLevelId ,
153- VoltageLimitType .HIGH_VOLTAGE_LIMIT ,
154- true ,
155- voltageLevelModificationLimits .get (voltageLevelId ).getHighVoltageLimit ()
156- ));
157- } else if (Double .isNaN (highVoltageLimit )
158- && voltageLevelDefaultLimits .containsKey (voltageLevelId )
159- && voltageLevelDefaultLimits .get (voltageLevelId ).getHighVoltageLimit () != null ) {
160- specificVoltageLimits .add (new VoltageLimitOverride (
161- voltageLevelId ,
162- VoltageLimitType .HIGH_VOLTAGE_LIMIT ,
163- false ,
164- voltageLevelDefaultLimits .get (voltageLevelId ).getHighVoltageLimit () + (isHighVoltageLimitModificationSet ? voltageLevelModificationLimits .get (voltageLevelId ).getHighVoltageLimit () : 0. )
165- ));
142+ boolean isHighVoltageLimitModificationSet = voltageLevelModificationLimits .containsKey (voltageLevel .getId ()) && voltageLevelModificationLimits .get (voltageLevel .getId ()).getHighVoltageLimit () != null ;
143+ boolean isHighVoltageLimitDefaultSet = voltageLevelDefaultLimits .containsKey (voltageLevel .getId ()) && voltageLevelDefaultLimits .get (voltageLevel .getId ()).getHighVoltageLimit () != null ;
144+ if (!Double .isNaN (voltageLevel .getHighVoltageLimit ()) && isHighVoltageLimitModificationSet ) {
145+ specificVoltageLimits .add (new VoltageLimitOverride (voltageLevel .getId (), VoltageLimitType .HIGH_VOLTAGE_LIMIT , true , voltageLevelModificationLimits .get (voltageLevel .getId ()).getHighVoltageLimit ()));
146+ } else if (Double .isNaN (voltageLevel .getHighVoltageLimit ()) && isHighVoltageLimitDefaultSet ) {
147+ specificVoltageLimits .add (new VoltageLimitOverride (voltageLevel .getId (), VoltageLimitType .HIGH_VOLTAGE_LIMIT , false , voltageLevelDefaultLimits .get (voltageLevel .getId ()).getHighVoltageLimit () + (isHighVoltageLimitModificationSet ? voltageLevelModificationLimits .get (voltageLevel .getId ()).getHighVoltageLimit () : 0. )));
166148 }
167149 }
168150
@@ -255,14 +237,14 @@ public OpenReacParameters buildOpenReacParameters(VoltageInitRunContext context,
255237 private List <String > toEquipmentIdsList (UUID networkUuid , String variantId , List <FilterEquipmentsEmbeddable > filters ) {
256238 if (filters == null || filters .isEmpty ()) {
257239 return List .of ();
258- } else {
259- return filterService .exportFilters (filters .stream ().map (FilterEquipmentsEmbeddable ::getFilterId ).toList (), networkUuid , variantId )
260- .stream ()
261- .map (FilterEquipments ::getIdentifiableAttributes )
262- .flatMap (List ::stream )
263- .map (IdentifiableAttributes ::getId )
264- .distinct ()
265- .toList ();
266240 }
241+ List <FilterEquipments > equipments = filterService .exportFilters (filters .stream ().map (FilterEquipmentsEmbeddable ::getFilterId ).toList (), networkUuid , variantId );
242+ Set <String > ids = new HashSet <>();
243+ equipments .forEach (filterEquipment ->
244+ filterEquipment .getIdentifiableAttributes ().forEach (identifiableAttribute ->
245+ ids .add (identifiableAttribute .getId ())
246+ )
247+ );
248+ return new ArrayList <>(ids );
267249 }
268250}
0 commit comments