LOGGER.info("Storing state {} of workflow {}", stateIdStr, workflowId); if (network.getStateManager().getStateIds().contains(stateIdStr)) { network.getStateManager().setWorkingState(stateIdStr); Path workflowStatesFolder = getWorkflowStatesFolder(workflowId);
public void looseConstraints(String stateId, float margin, boolean applyToBaseCase) { if (network.getStateManager().getStateIds().contains(stateId)) { String workingStateId = network.getStateManager().getWorkingStateId(); network.getStateManager().setWorkingState(stateId); List<LimitViolation> violations = Security.checkLimits(network); looseConstraints(stateId, violations, margin, applyToBaseCase); network.getStateManager().setWorkingState(workingStateId); } else { throw new RuntimeException("No " + stateId + " in network " + network.getId() + ": cannot loose constraints"); } }
if (alreadyProcessed && network.getStateManager().getStateIds().contains(postContingencyStateId)) {
@Override public Void call() throws Exception { // compute post contingency state String postContingencyStateId = OnlineUtils.getPostContingencyId(stateId, contingency.getId()); try { boolean loadflowConverge = computePostContingencyState(network, stateId, contingency, postContingencyStateId); if (loadflowConverge) { logger.info(logHeader + "{}: computing post contingency violations for contingency {}", stateId, contingency.getId()); List<LimitViolation> violations = Security.checkLimits(network, parameters.getLimitReduction()); if (violations != null && !violations.isEmpty()) { logger.info(logHeader + "{}: storing post contingency violations/loadflow results for contingency {} in online db", stateId, contingency.getId()); onlineDb.storePostContingencyViolations(context.getWorkflowId(), Integer.valueOf(stateId), contingency.getId(), loadflowConverge, violations); } else { logger.info(logHeader + "{}: no post contingency violations for contingency {}", stateId, contingency.getId()); } } else { logger.info("{}: post contingency loadflow does not converge for contingency {}, skipping computing post contingency violations", stateId, contingency.getId()); } network.getStateManager().setWorkingState(stateId); } finally { if (network.getStateManager().getStateIds().contains(postContingencyStateId)) { network.getStateManager().removeState(postContingencyStateId); } } return null; } }
if (network.getStateManager().getStateIds().contains(postContingencyStateId)) { network.getStateManager().removeState(postContingencyStateId);
public void looseConstraints(String stateId, List<LimitViolation> violations, float margin, boolean applyToBaseCase) { Objects.requireNonNull(stateId, "state id is null"); Objects.requireNonNull(violations, "violations is null"); if (network.getStateManager().getStateIds().contains(stateId)) { String workingStateId = network.getStateManager().getWorkingStateId(); network.getStateManager().setWorkingState(stateId);
logger.error(this.logHeader + "{}: Error working on state: {}", stateId, t.toString(), t); } finally { if (context.getNetwork().getStateManager().getStateIds().contains(String.valueOf(stateId))) { context.getNetwork().getStateManager().removeState(String.valueOf(stateId));