cimstructs/
CsConverter.rs1#[derive(Debug, Default, Clone, serde::Serialize, serde::Deserialize)]
3pub struct CsConverter {
4 #[serde(flatten)]
5 pub base: super::ACDCConverter,
6 #[serde(skip_serializing_if = "Option::is_none")]
8 pub alpha: Option<f64>,
9 #[serde(skip_serializing_if = "Option::is_none")]
11 pub gamma: Option<f64>,
12 #[serde(skip_serializing_if = "Option::is_none")]
14 pub max_alpha: Option<f64>,
15 #[serde(skip_serializing_if = "Option::is_none")]
17 pub max_gamma: Option<f64>,
18 #[serde(skip_serializing_if = "Option::is_none")]
20 pub max_idc: Option<f64>,
21 #[serde(skip_serializing_if = "Option::is_none")]
23 pub min_alpha: Option<f64>,
24 #[serde(skip_serializing_if = "Option::is_none")]
26 pub min_gamma: Option<f64>,
27 #[serde(skip_serializing_if = "Option::is_none")]
29 pub min_idc: Option<f64>,
30 #[serde(skip_serializing_if = "Option::is_none")]
32 pub operating_mode: Option<super::base::UriRef>,
33 #[serde(skip_serializing_if = "Option::is_none")]
35 pub p_pcc_control: Option<super::base::UriRef>,
36 #[serde(skip_serializing_if = "Option::is_none")]
38 pub rated_idc: Option<f64>,
39 #[serde(skip_serializing_if = "Option::is_none")]
41 pub target_alpha: Option<f64>,
42 #[serde(skip_serializing_if = "Option::is_none")]
44 pub target_gamma: Option<f64>,
45 #[serde(skip_serializing_if = "Option::is_none")]
47 pub target_idc: Option<f64>,
48}
49impl crate::base::CimElement for CsConverter {
50 fn mrid(&self) -> &str { &self.base.base.base.base.base.id }
51 fn type_name(&self) -> &'static str { "CsConverter" }
52 fn as_any(&self) -> &dyn std::any::Any { self }
53 fn to_json_value(&self) -> serde_json::Value {
54 serde_json::to_value(self).unwrap_or(serde_json::Value::Null)
55 }
56 fn to_block(&self) -> crate::base::RdfBlock {
57 let mut block = self.base.to_block();
58 block.type_name = "CsConverter".to_string();
59 if let Some(v) = self.alpha {
60 block.fields.insert("CsConverter.alpha".into(), crate::base::FieldValue::Text(v.to_string()));
61 }
62 if let Some(v) = self.gamma {
63 block.fields.insert("CsConverter.gamma".into(), crate::base::FieldValue::Text(v.to_string()));
64 }
65 if let Some(v) = self.max_alpha {
66 block.fields.insert("CsConverter.maxAlpha".into(), crate::base::FieldValue::Text(v.to_string()));
67 }
68 if let Some(v) = self.max_gamma {
69 block.fields.insert("CsConverter.maxGamma".into(), crate::base::FieldValue::Text(v.to_string()));
70 }
71 if let Some(v) = self.max_idc {
72 block.fields.insert("CsConverter.maxIdc".into(), crate::base::FieldValue::Text(v.to_string()));
73 }
74 if let Some(v) = self.min_alpha {
75 block.fields.insert("CsConverter.minAlpha".into(), crate::base::FieldValue::Text(v.to_string()));
76 }
77 if let Some(v) = self.min_gamma {
78 block.fields.insert("CsConverter.minGamma".into(), crate::base::FieldValue::Text(v.to_string()));
79 }
80 if let Some(v) = self.min_idc {
81 block.fields.insert("CsConverter.minIdc".into(), crate::base::FieldValue::Text(v.to_string()));
82 }
83 if let Some(ref v) = self.operating_mode {
84 block.fields.insert("CsConverter.operatingMode".into(), crate::base::FieldValue::Resource(v.uri.clone()));
85 }
86 if let Some(ref v) = self.p_pcc_control {
87 block.fields.insert("CsConverter.pPccControl".into(), crate::base::FieldValue::Resource(v.uri.clone()));
88 }
89 if let Some(v) = self.rated_idc {
90 block.fields.insert("CsConverter.ratedIdc".into(), crate::base::FieldValue::Text(v.to_string()));
91 }
92 if let Some(v) = self.target_alpha {
93 block.fields.insert("CsConverter.targetAlpha".into(), crate::base::FieldValue::Text(v.to_string()));
94 }
95 if let Some(v) = self.target_gamma {
96 block.fields.insert("CsConverter.targetGamma".into(), crate::base::FieldValue::Text(v.to_string()));
97 }
98 if let Some(v) = self.target_idc {
99 block.fields.insert("CsConverter.targetIdc".into(), crate::base::FieldValue::Text(v.to_string()));
100 }
101 block
102 }
103}
104
105impl CsConverter {
106 pub fn from_block(b: &crate::base::RdfBlock) -> Self {
107 let mut obj = Self::default();
108 obj.base.base.base.base.base.id.clone_from(&b.mrid);
109 for (key, val) in &b.fields {
110 match key.as_str() {
111 "CsConverter.alpha" => {
112 match val {
113 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.alpha = Some(v); } }
114 crate::base::FieldValue::TextList(svs) => {
115 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.alpha = Some(v); } }
116 }
117 _ => {}
118 }
119 }
120 "CsConverter.gamma" => {
121 match val {
122 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.gamma = Some(v); } }
123 crate::base::FieldValue::TextList(svs) => {
124 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.gamma = Some(v); } }
125 }
126 _ => {}
127 }
128 }
129 "CsConverter.maxAlpha" => {
130 match val {
131 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.max_alpha = Some(v); } }
132 crate::base::FieldValue::TextList(svs) => {
133 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.max_alpha = Some(v); } }
134 }
135 _ => {}
136 }
137 }
138 "CsConverter.maxGamma" => {
139 match val {
140 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.max_gamma = Some(v); } }
141 crate::base::FieldValue::TextList(svs) => {
142 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.max_gamma = Some(v); } }
143 }
144 _ => {}
145 }
146 }
147 "CsConverter.maxIdc" => {
148 match val {
149 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.max_idc = Some(v); } }
150 crate::base::FieldValue::TextList(svs) => {
151 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.max_idc = Some(v); } }
152 }
153 _ => {}
154 }
155 }
156 "CsConverter.minAlpha" => {
157 match val {
158 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.min_alpha = Some(v); } }
159 crate::base::FieldValue::TextList(svs) => {
160 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.min_alpha = Some(v); } }
161 }
162 _ => {}
163 }
164 }
165 "CsConverter.minGamma" => {
166 match val {
167 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.min_gamma = Some(v); } }
168 crate::base::FieldValue::TextList(svs) => {
169 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.min_gamma = Some(v); } }
170 }
171 _ => {}
172 }
173 }
174 "CsConverter.minIdc" => {
175 match val {
176 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.min_idc = Some(v); } }
177 crate::base::FieldValue::TextList(svs) => {
178 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.min_idc = Some(v); } }
179 }
180 _ => {}
181 }
182 }
183 "CsConverter.operatingMode" => {
184 if let crate::base::FieldValue::Resource(sv) = val {
185 obj.operating_mode = Some(crate::base::UriRef { uri: sv.clone() });
186 }
187 }
188 "CsConverter.pPccControl" => {
189 if let crate::base::FieldValue::Resource(sv) = val {
190 obj.p_pcc_control = Some(crate::base::UriRef { uri: sv.clone() });
191 }
192 }
193 "CsConverter.ratedIdc" => {
194 match val {
195 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.rated_idc = Some(v); } }
196 crate::base::FieldValue::TextList(svs) => {
197 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.rated_idc = Some(v); } }
198 }
199 _ => {}
200 }
201 }
202 "CsConverter.targetAlpha" => {
203 match val {
204 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.target_alpha = Some(v); } }
205 crate::base::FieldValue::TextList(svs) => {
206 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.target_alpha = Some(v); } }
207 }
208 _ => {}
209 }
210 }
211 "CsConverter.targetGamma" => {
212 match val {
213 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.target_gamma = Some(v); } }
214 crate::base::FieldValue::TextList(svs) => {
215 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.target_gamma = Some(v); } }
216 }
217 _ => {}
218 }
219 }
220 "CsConverter.targetIdc" => {
221 match val {
222 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.target_idc = Some(v); } }
223 crate::base::FieldValue::TextList(svs) => {
224 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.target_idc = Some(v); } }
225 }
226 _ => {}
227 }
228 }
229 "ACDCConverter.PccTerminal" => {
230 if let crate::base::FieldValue::Resource(sv) = val {
231 obj.base.pcc_terminal = Some(crate::base::MridRef { mrid: sv.clone() });
232 }
233 }
234 "ACDCConverter.baseS" => {
235 match val {
236 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.base_s = Some(v); } }
237 crate::base::FieldValue::TextList(svs) => {
238 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.base_s = Some(v); } }
239 }
240 _ => {}
241 }
242 }
243 "ACDCConverter.idc" => {
244 match val {
245 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.idc = Some(v); } }
246 crate::base::FieldValue::TextList(svs) => {
247 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.idc = Some(v); } }
248 }
249 _ => {}
250 }
251 }
252 "ACDCConverter.idleLoss" => {
253 match val {
254 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.idle_loss = Some(v); } }
255 crate::base::FieldValue::TextList(svs) => {
256 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.idle_loss = Some(v); } }
257 }
258 _ => {}
259 }
260 }
261 "ACDCConverter.maxP" => {
262 match val {
263 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.max_p = Some(v); } }
264 crate::base::FieldValue::TextList(svs) => {
265 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.max_p = Some(v); } }
266 }
267 _ => {}
268 }
269 }
270 "ACDCConverter.maxUdc" => {
271 match val {
272 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.max_udc = Some(v); } }
273 crate::base::FieldValue::TextList(svs) => {
274 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.max_udc = Some(v); } }
275 }
276 _ => {}
277 }
278 }
279 "ACDCConverter.minP" => {
280 match val {
281 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.min_p = Some(v); } }
282 crate::base::FieldValue::TextList(svs) => {
283 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.min_p = Some(v); } }
284 }
285 _ => {}
286 }
287 }
288 "ACDCConverter.minUdc" => {
289 match val {
290 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.min_udc = Some(v); } }
291 crate::base::FieldValue::TextList(svs) => {
292 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.min_udc = Some(v); } }
293 }
294 _ => {}
295 }
296 }
297 "ACDCConverter.numberOfValves" => {
298 match val {
299 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.number_of_valves = Some(v); } }
300 crate::base::FieldValue::TextList(svs) => {
301 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.number_of_valves = Some(v); } }
302 }
303 _ => {}
304 }
305 }
306 "ACDCConverter.p" => {
307 match val {
308 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.p = Some(v); } }
309 crate::base::FieldValue::TextList(svs) => {
310 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.p = Some(v); } }
311 }
312 _ => {}
313 }
314 }
315 "ACDCConverter.poleLossP" => {
316 match val {
317 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.pole_loss_p = Some(v); } }
318 crate::base::FieldValue::TextList(svs) => {
319 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.pole_loss_p = Some(v); } }
320 }
321 _ => {}
322 }
323 }
324 "ACDCConverter.q" => {
325 match val {
326 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.q = Some(v); } }
327 crate::base::FieldValue::TextList(svs) => {
328 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.q = Some(v); } }
329 }
330 _ => {}
331 }
332 }
333 "ACDCConverter.ratedUdc" => {
334 match val {
335 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.rated_udc = Some(v); } }
336 crate::base::FieldValue::TextList(svs) => {
337 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.rated_udc = Some(v); } }
338 }
339 _ => {}
340 }
341 }
342 "ACDCConverter.resistiveLoss" => {
343 match val {
344 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.resistive_loss = Some(v); } }
345 crate::base::FieldValue::TextList(svs) => {
346 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.resistive_loss = Some(v); } }
347 }
348 _ => {}
349 }
350 }
351 "ACDCConverter.switchingLoss" => {
352 match val {
353 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.switching_loss = Some(v); } }
354 crate::base::FieldValue::TextList(svs) => {
355 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.switching_loss = Some(v); } }
356 }
357 _ => {}
358 }
359 }
360 "ACDCConverter.targetPpcc" => {
361 match val {
362 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.target_ppcc = Some(v); } }
363 crate::base::FieldValue::TextList(svs) => {
364 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.target_ppcc = Some(v); } }
365 }
366 _ => {}
367 }
368 }
369 "ACDCConverter.targetUdc" => {
370 match val {
371 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.target_udc = Some(v); } }
372 crate::base::FieldValue::TextList(svs) => {
373 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.target_udc = Some(v); } }
374 }
375 _ => {}
376 }
377 }
378 "ACDCConverter.uc" => {
379 match val {
380 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.uc = Some(v); } }
381 crate::base::FieldValue::TextList(svs) => {
382 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.uc = Some(v); } }
383 }
384 _ => {}
385 }
386 }
387 "ACDCConverter.udc" => {
388 match val {
389 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.udc = Some(v); } }
390 crate::base::FieldValue::TextList(svs) => {
391 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.udc = Some(v); } }
392 }
393 _ => {}
394 }
395 }
396 "ACDCConverter.valveU0" => {
397 match val {
398 crate::base::FieldValue::Text(sv) => { if let Ok(v) = sv.trim().parse() { obj.base.valve_u0 = Some(v); } }
399 crate::base::FieldValue::TextList(svs) => {
400 if let Some(sv) = svs.last() { if let Ok(v) = sv.trim().parse() { obj.base.valve_u0 = Some(v); } }
401 }
402 _ => {}
403 }
404 }
405 "ConductingEquipment.BaseVoltage" => {
406 if let crate::base::FieldValue::Resource(sv) = val {
407 obj.base.base.base_voltage = Some(crate::base::MridRef { mrid: sv.clone() });
408 }
409 }
410 "Equipment.EquipmentContainer" => {
411 if let crate::base::FieldValue::Resource(sv) = val {
412 obj.base.base.base.equipment_container = Some(crate::base::MridRef { mrid: sv.clone() });
413 }
414 }
415 "Equipment.aggregate" => {
416 match val {
417 crate::base::FieldValue::Text(sv) => { obj.base.base.base.aggregate = Some(sv.trim() == "true"); }
418 crate::base::FieldValue::TextList(svs) => {
419 if let Some(sv) = svs.last() { obj.base.base.base.aggregate = Some(sv.trim() == "true"); }
420 }
421 _ => {}
422 }
423 }
424 "Equipment.inService" => {
425 match val {
426 crate::base::FieldValue::Text(sv) => { obj.base.base.base.in_service = Some(sv.trim() == "true"); }
427 crate::base::FieldValue::TextList(svs) => {
428 if let Some(sv) = svs.last() { obj.base.base.base.in_service = Some(sv.trim() == "true"); }
429 }
430 _ => {}
431 }
432 }
433 "Equipment.normallyInService" => {
434 match val {
435 crate::base::FieldValue::Text(sv) => { obj.base.base.base.normally_in_service = Some(sv.trim() == "true"); }
436 crate::base::FieldValue::TextList(svs) => {
437 if let Some(sv) = svs.last() { obj.base.base.base.normally_in_service = Some(sv.trim() == "true"); }
438 }
439 _ => {}
440 }
441 }
442 "IdentifiedObject.description" => {
443 match val {
444 crate::base::FieldValue::Text(sv) => { obj.base.base.base.base.base.description = sv.clone(); }
445 crate::base::FieldValue::TextList(svs) => {
446 if let Some(sv) = svs.last() { obj.base.base.base.base.base.description = sv.clone(); }
447 }
448 _ => {}
449 }
450 }
451 "IdentifiedObject.energyIdentCodeEic" => {
452 match val {
453 crate::base::FieldValue::Text(sv) => { obj.base.base.base.base.base.energy_ident_code_eic = sv.clone(); }
454 crate::base::FieldValue::TextList(svs) => {
455 if let Some(sv) = svs.last() { obj.base.base.base.base.base.energy_ident_code_eic = sv.clone(); }
456 }
457 _ => {}
458 }
459 }
460 "IdentifiedObject.mRID" => {
461 match val {
462 crate::base::FieldValue::Text(sv) => { obj.base.base.base.base.base.m_rid = sv.clone(); }
463 crate::base::FieldValue::TextList(svs) => {
464 if let Some(sv) = svs.last() { obj.base.base.base.base.base.m_rid = sv.clone(); }
465 }
466 _ => {}
467 }
468 }
469 "IdentifiedObject.name" => {
470 match val {
471 crate::base::FieldValue::Text(sv) => { obj.base.base.base.base.base.name = sv.clone(); }
472 crate::base::FieldValue::TextList(svs) => {
473 if let Some(sv) = svs.last() { obj.base.base.base.base.base.name = sv.clone(); }
474 }
475 _ => {}
476 }
477 }
478 "IdentifiedObject.shortName" => {
479 match val {
480 crate::base::FieldValue::Text(sv) => { obj.base.base.base.base.base.short_name = sv.clone(); }
481 crate::base::FieldValue::TextList(svs) => {
482 if let Some(sv) = svs.last() { obj.base.base.base.base.base.short_name = sv.clone(); }
483 }
484 _ => {}
485 }
486 }
487 _ => {}
488 }
489 }
490 obj
491 }
492}