MonitoredRegisteredResource.java
/**
* Copyright (c) 2021, RTE (http://www.rte-france.com)
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package com.powsybl.cne.model;
import com.powsybl.security.LimitViolation;
import java.util.*;
/**
* @author Thomas Adam {@literal <tadam at silicom.fr>}
*/
public class MonitoredRegisteredResource {
private final String equipmentId;
private final String equipmentName;
private final List<Measurement> measurementList = new ArrayList<>();
public MonitoredRegisteredResource(Collection<LimitViolation> limitViolations) {
Objects.requireNonNull(limitViolations);
LimitViolation first = limitViolations.stream().findFirst().orElseThrow(() -> new IllegalArgumentException("LimitViolation list cannot be empty"));
this.equipmentId = first.getSubjectId();
this.equipmentName = Optional.ofNullable(first.getSubjectName()).orElse(this.equipmentId);
limitViolations.forEach(l -> measurementList.add(new Measurement(l)));
}
public String getEquipmentId() {
return equipmentId;
}
public String getEquipmentName() {
return equipmentName;
}
public List<Measurement> getMeasurementList() {
return Collections.unmodifiableList(measurementList);
}
}