Skip to content

Commit

Permalink
Fix style in wca-integration
Browse files Browse the repository at this point in the history
  • Loading branch information
yichen88 committed Sep 11, 2017
1 parent c5ffab7 commit d68f102
Show file tree
Hide file tree
Showing 7 changed files with 49 additions and 46 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ public synchronized List<List<Action>> getCurativeActions(Contingency contingenc
}
}
} else {
LOGGER.error("Network {}: action {} not found for contingency {}", network.getId(), actionId , contingency.getId());
LOGGER.error("Network {}: action {} not found for contingency {}", network.getId(), actionId, contingency.getId());
}
}
}
Expand All @@ -109,7 +109,7 @@ public synchronized List<List<Action>> getPreventiveActions(LimitViolation limit
LOGGER.info("Network {}: getting preventive actions for {} violation on equipment {}",
network.getId(), limitViolation.getLimitType(), limitViolation.getSubjectId());
List<List<Action>> preventiveActions = new ArrayList<>();
if( !limitViolation.getLimitType().equals(LimitViolationType.CURRENT) ) { // just branch overload is handled, so far
if (!limitViolation.getLimitType().equals(LimitViolationType.CURRENT)) { // just branch overload is handled, so far
LOGGER.warn("Network {}: no preventive actions found for {} violation on equipment {}, as just branch overload is handled, so far",
network.getId(), limitViolation.getLimitType(), limitViolation.getSubjectId());
return preventiveActions;
Expand All @@ -136,7 +136,7 @@ public synchronized List<List<Action>> getPreventiveActions(LimitViolation limit
}
} else {
LOGGER.error("Network {}: action {} not found for {} violation on equipment {}",
network.getId(), actionId , limitViolation.getLimitType(), limitViolation.getSubjectId());
network.getId(), actionId, limitViolation.getLimitType(), limitViolation.getSubjectId());
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,16 @@ public class WCAFilteredClusters {
private Map<String, EnumSet<WCAClusterOrigin>> contingencyFlags = new ConcurrentHashMap<String, EnumSet<WCAClusterOrigin>>();

public WCAFilteredClusters(String networkId, List<String> contingenciesIds) {
Objects.requireNonNull(networkId,"network id is null");
Objects.requireNonNull(contingenciesIds,"contigencies list is null");
Objects.requireNonNull(networkId, "network id is null");
Objects.requireNonNull(contingenciesIds, "contigencies list is null");
this.networkId = networkId;
contingenciesIds.forEach(contingencyId -> contingencyClusters.put(contingencyId,
contingenciesIds.forEach(contingencyId -> contingencyClusters.put(contingencyId,
EnumSet.of(WCAClusterNum.ONE, WCAClusterNum.TWO, WCAClusterNum.THREE, WCAClusterNum.FOUR)));
}

public void removeClusters(String contingencyId, EnumSet<WCAClusterNum> clustersNums, WCAClusterOrigin flag) {
Objects.requireNonNull(contingencyId,"contingency id is null");
Objects.requireNonNull(clustersNums,"clustersNums is null");
Objects.requireNonNull(contingencyId, "contingency id is null");
Objects.requireNonNull(clustersNums, "clustersNums is null");
LOGGER.info("Network {}, contingency {}: removing clusters {} for {}", networkId, contingencyId, clustersNums.toString(), flag);
if ( contingencyClusters.containsKey(contingencyId) ) {
// remove clusters from the list of the contingency
Expand All @@ -62,8 +62,8 @@ public void removeClusters(String contingencyId, EnumSet<WCAClusterNum> clusters
}

public void addClusters(String contingencyId, EnumSet<WCAClusterNum> clustersNums, WCAClusterOrigin flag) {
Objects.requireNonNull(contingencyId,"contingency id is null");
Objects.requireNonNull(clustersNums,"clustersNums is null");
Objects.requireNonNull(contingencyId, "contingency id is null");
Objects.requireNonNull(clustersNums, "clustersNums is null");
LOGGER.info("Network {}, contingency {}: adding clusters {} for {}", networkId, contingencyId, clustersNums.toString(), flag);
if ( contingencyClusters.containsKey(contingencyId) ) {
// add clusters to the list of the contingency
Expand All @@ -85,53 +85,54 @@ public void addClusters(String contingencyId, EnumSet<WCAClusterNum> clustersNum
}

public boolean hasCluster(String contingencyId, WCAClusterNum clustersNum) {
Objects.requireNonNull(contingencyId,"contingency id is null");
Objects.requireNonNull(clustersNum,"clustersNum is null");
Objects.requireNonNull(contingencyId, "contingency id is null");
Objects.requireNonNull(clustersNum, "clustersNum is null");
LOGGER.warn("Network {}, contingency {}: checking if {} is included in the possible clusters", networkId, contingencyId, clustersNum);
return contingencyClusters.containsKey(contingencyId) && contingencyClusters.get(contingencyId).contains(clustersNum);
}

public EnumSet<WCAClusterNum> getClusters(String contingencyId) {
Objects.requireNonNull(contingencyId,"contingency id is null");
Objects.requireNonNull(contingencyId, "contingency id is null");
LOGGER.warn("Network {}, contingency {}: getting clusters", networkId, contingencyId);
if ( contingencyClusters.containsKey(contingencyId) ) {
if (contingencyClusters.containsKey(contingencyId)) {
return contingencyClusters.get(contingencyId);
}
LOGGER.warn("Network {}, contingency {}: no possible clusters", networkId, contingencyId);
return EnumSet.noneOf(WCAClusterNum.class);
}

public WCAClusterNum getCluster(String contingencyId) {
Objects.requireNonNull(contingencyId,"contingency id is null");
Objects.requireNonNull(contingencyId, "contingency id is null");
LOGGER.warn("Network {}, contingency {}: getting cluster", networkId, contingencyId);
if ( contingencyClusters.containsKey(contingencyId) && !contingencyClusters.get(contingencyId).isEmpty() ) {
if (contingencyClusters.containsKey(contingencyId) && !contingencyClusters.get(contingencyId).isEmpty()) {
return contingencyClusters.get(contingencyId).stream().max(Comparator.naturalOrder()).get();
}
LOGGER.warn("Network {}, contingency {}: no possible clusters", networkId, contingencyId);
return WCAClusterNum.UNDEFINED;
}

public EnumSet<WCAClusterOrigin> getFlags(String contingencyId) {
Objects.requireNonNull(contingencyId,"contingency id is null");
if ( contingencyFlags.containsKey(contingencyId) ) {
Objects.requireNonNull(contingencyId, "contingency id is null");
if (contingencyFlags.containsKey(contingencyId)) {
return contingencyFlags.get(contingencyId);
}
LOGGER.warn("Network {}, contingency {}: no available flags", networkId, contingencyId);
return EnumSet.noneOf(WCAClusterOrigin.class);
}

public void removeAllButCluster(String contingencyId, WCAClusterNum clusterNum, WCAClusterOrigin flag) {
Objects.requireNonNull(contingencyId,"contingency id is null");
Objects.requireNonNull(clusterNum,"clustersNums is null");
Objects.requireNonNull(contingencyId, "contingency id is null");
Objects.requireNonNull(clusterNum, "clustersNums is null");
LOGGER.info("Network {}, contigency {}: removing all clusters but {} for {}", networkId, contingencyId, clusterNum, flag);
if ( contingencyClusters.containsKey(contingencyId) ) {
if (contingencyClusters.containsKey(contingencyId)) {
if ( contingencyClusters.get(contingencyId).contains(clusterNum) ) {
contingencyClusters.put(contingencyId, EnumSet.of(clusterNum));
if ( flag != null ) {
// add flag to the list of the contingency
EnumSet<WCAClusterOrigin> flags = EnumSet.noneOf(WCAClusterOrigin.class);
if ( contingencyFlags.containsKey(contingencyId) )
if ( contingencyFlags.containsKey(contingencyId) ) {
flags = contingencyFlags.get(contingencyId);
}
flags.add(flag);
contingencyFlags.put(contingencyId, flags);
}
Expand Down
22 changes: 11 additions & 11 deletions wca-integration/src/main/java/eu/itesla_project/wca/WCAImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -479,7 +479,7 @@ private CompletableFuture<WCAClusterNum> createClustersWorkflowTask(Contingency
LOGGER.warn("Network {}, contingency {}: load flow on post contingency state diverged, metrics = {}",
network.getId(), contingency.getId(), loadFlowResult.getMetrics());
filteredClusters.removeClusters(contingency.getId(),
EnumSet.of(WCAClusterNum.ONE,WCAClusterNum.TWO,WCAClusterNum.THREE),
EnumSet.of(WCAClusterNum.ONE, WCAClusterNum.TWO, WCAClusterNum.THREE),
WCAClusterOrigin.LF_POST_CONTINGENCY_DIVERGENCE);
wcaReport.addPostContingencyStatus(new WCAPostContingencyStatus(
contingency.getId(),
Expand Down Expand Up @@ -701,25 +701,25 @@ private CompletableFuture<List<CompletableFuture<WCACluster>>> createWcaTask(Str

if (!loadFlowInBaseStateResult.isOk()) {
LOGGER.error("Network {}: load flow on base state diverged, metrics = {}", network.getId(), loadFlowInBaseStateResult.getMetrics());
wcaReport.setBaseStateLoadflowResult(new WCALoadflowResult(false,"load flow on base state diverged: metrics = " + loadFlowInBaseStateResult.getMetrics()));
wcaReport.setBaseStateLoadflowResult(new WCALoadflowResult(false, "load flow on base state diverged: metrics = " + loadFlowInBaseStateResult.getMetrics()));
contingencies.forEach(contingency -> {
filteredClusters.removeClusters(contingency.getId(),
EnumSet.of(WCAClusterNum.ONE,WCAClusterNum.TWO,WCAClusterNum.THREE),
EnumSet.of(WCAClusterNum.ONE, WCAClusterNum.TWO, WCAClusterNum.THREE),
WCAClusterOrigin.LF_DIVERGENCE);
clusters.add(CompletableFuture.completedFuture(new WCAClusterImpl(contingency,
WCAClusterNum.FOUR,
EnumSet.of(WCAClusterOrigin.LF_DIVERGENCE),
Collections.emptyList())));
});
} else {
wcaReport.setBaseStateLoadflowResult(new WCALoadflowResult(true,null));
wcaReport.setBaseStateLoadflowResult(new WCALoadflowResult(true, null));
List<LimitViolation> baseStateLimitViolations = violationsFilter.apply(Security.checkLimits(network));
if ( baseStateLimitViolations.size() > 0 ) {
LOGGER.warn("Network {}: constraint violantions found in base state:\n{}",
network.getId(), Security.printLimitsViolations(baseStateLimitViolations, violationsFilter));
wcaReport.setPreContingencyViolationsWithoutUncertainties(baseStateLimitViolations);
contingencies.forEach(contingency -> filteredClusters.removeClusters(contingency.getId(),
EnumSet.of(WCAClusterNum.ONE,WCAClusterNum.TWO),
EnumSet.of(WCAClusterNum.ONE, WCAClusterNum.TWO),
WCAClusterOrigin.LF_BASIC_VIOLATION));
}
Supplier<CompletableFuture<Uncertainties>> uncertainties = Suppliers.memoize(() -> {
Expand Down Expand Up @@ -773,7 +773,7 @@ private CompletableFuture<List<CompletableFuture<WCACluster>>> createWcaTask(Str
.thenApply(loadFlowResult -> {
if (!loadFlowResult.isOk()) {
LOGGER.info("Network {}: loadflow on state with 'domains' uncertainties diverged, metrics = {}", network.getId(), loadFlowResult.getMetrics());
wcaReport.setBaseStateWithUncertaintiesLoadflowResult(new WCALoadflowResult(false,"load flow on state with 'domains' uncertainties diverged: metrics = " + loadFlowResult.getMetrics()));
wcaReport.setBaseStateWithUncertaintiesLoadflowResult(new WCALoadflowResult(false, "load flow on state with 'domains' uncertainties diverged: metrics = " + loadFlowResult.getMetrics()));
return CompletableFuture.completedFuture(baseStateLimitViolations);
} else {
List<LimitViolation> domainsLimitViolations = violationsFilter.apply(Security.checkLimits(network));
Expand All @@ -782,7 +782,7 @@ private CompletableFuture<List<CompletableFuture<WCACluster>>> createWcaTask(Str
network.getId(), Security.printLimitsViolations(domainsLimitViolations, violationsFilter));
wcaReport.setPreContingencyViolationsWithUncertainties(domainsLimitViolations);
contingencies.forEach(contingency -> filteredClusters.removeClusters(contingency.getId(),
EnumSet.of(WCAClusterNum.ONE,WCAClusterNum.TWO),
EnumSet.of(WCAClusterNum.ONE, WCAClusterNum.TWO),
WCAClusterOrigin.DOMAINS_BASIC_VIOLATION));
return CompletableFuture.completedFuture(domainsLimitViolations);
} else {
Expand All @@ -806,7 +806,7 @@ private CompletableFuture<List<CompletableFuture<WCACluster>>> createWcaTask(Str
if ( violationsToBePrevented.size() > 0 ) {
if ( config.getPreventiveActionsOptimizer().equals(WCAPreventiveActionsOptimizer.NONE) ) {
contingencies.forEach(contingency -> filteredClusters.removeClusters(contingency.getId(),
EnumSet.of(WCAClusterNum.ONE,WCAClusterNum.TWO, WCAClusterNum.THREE),
EnumSet.of(WCAClusterNum.ONE, WCAClusterNum.TWO, WCAClusterNum.THREE),
null));
} else {
LOGGER.info("Network {}: getting preventive actions", network.getId());
Expand Down Expand Up @@ -936,12 +936,12 @@ private CompletableFuture<List<CompletableFuture<WCACluster>>> createWcaTask(Str
LOGGER.info("Network {}: 'domains' found {} preventive actions solved the violations",
network.getId(), preventiveActionIdsForDomains.subList(0, domainsResult.getPreventiveActionIndex()));
contingencies.forEach(contingency -> filteredClusters.removeClusters(contingency.getId(),
EnumSet.of(WCAClusterNum.ONE,WCAClusterNum.TWO),
EnumSet.of(WCAClusterNum.ONE, WCAClusterNum.TWO),
WCAClusterOrigin.DOMAINS_SPECIFIC_PREVENTIVE_ACTION_FOUND));
} else {
LOGGER.info("Network {}: 'domains' found no preventive actions solving the violations", network.getId());
contingencies.forEach(contingency -> filteredClusters.removeClusters(contingency.getId(),
EnumSet.of(WCAClusterNum.ONE,WCAClusterNum.TWO, WCAClusterNum.THREE),
EnumSet.of(WCAClusterNum.ONE, WCAClusterNum.TWO, WCAClusterNum.THREE),
WCAClusterOrigin.DOMAINS_NO_PREVENTIVE_ACTION_FOUND));
}
return CompletableFuture.completedFuture(new ArrayList<String>(preventiveActionIdsForDomains.subList(0, domainsResult.getPreventiveActionIndex())));
Expand Down Expand Up @@ -1013,7 +1013,7 @@ private CompletableFuture<List<CompletableFuture<WCACluster>>> createWcaTask(Str
LOGGER.info("Network {}, contingency {}: starting security rules analysis", network.getId(), contingency.getId());
Supplier<Map<HistoDbAttributeId, Object>> baseStateAttributeValues = Suppliers
.memoize((Supplier<Map<HistoDbAttributeId, Object>>) () -> IIDM2DB
.extractCimValues(network, new IIDM2DB.Config(null,false))
.extractCimValues(network, new IIDM2DB.Config(null, false))
.getSingleValueMap());
for (RuleAttributeSet attributeSet : RuleAttributeSet.values()) {
for (SecurityIndexType securityIndexType : getSecurityIndexTypes(parameters)) {
Expand Down

0 comments on commit d68f102

Please sign in to comment.