Skip to content
This repository has been archived by the owner on May 16, 2018. It is now read-only.

Commit

Permalink
Merge pull request #38 from itesla/branch_contingency
Browse files Browse the repository at this point in the history
Refactor LineContingency to BranchContingency.
  • Loading branch information
geofjamg committed Jan 31, 2017
2 parents 29401a5 + b073a73 commit 52a5e37
Show file tree
Hide file tree
Showing 7 changed files with 96 additions and 38 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/**
* Copyright (c) 2017, All partners of the iTesla project (http://www.itesla-project.eu/consortium)
* 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 eu.itesla_project.contingency;

import eu.itesla_project.contingency.tasks.BranchTripping;
import eu.itesla_project.contingency.tasks.ModificationTask;

import java.util.Objects;

/**
* @author Geoffroy Jamgotchian <geoffroy.jamgotchian at rte-france.com>
* @author Mathieu Bague <mathieu.bague at rte-france.com>
*/
public class BranchContingency implements ContingencyElement {

private final String id;
private final String substationId;

public BranchContingency(String id) {
this(id, null);
}

public BranchContingency(String id, String substationId) {
this.id = Objects.requireNonNull(id);
this.substationId = substationId;
}

@Override
public String getId() {
return id;
}

public String getSubstationId() {
return substationId;
}

@Override
public ContingencyElementType getType() {
return ContingencyElementType.BRANCH;
}

@Override
public ModificationTask toTask() {
return new BranchTripping(id, substationId);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
* @author Geoffroy Jamgotchian <geoffroy.jamgotchian at rte-france.com>
*/
public enum ContingencyElementType {
LINE,
GENERATOR
@Deprecated LINE,
GENERATOR,
BRANCH
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,45 +6,22 @@
*/
package eu.itesla_project.contingency;

import eu.itesla_project.contingency.tasks.BranchTripping;
import eu.itesla_project.contingency.tasks.ModificationTask;

import java.util.Objects;

/**
* @author Geoffroy Jamgotchian <geoffroy.jamgotchian at rte-france.com>
*/
public class LineContingency implements ContingencyElement {

private final String id;
private final String substationId;
@Deprecated
public class LineContingency extends BranchContingency {

public LineContingency(String id) {
this(id, null);
super(id);
}

public LineContingency(String id, String substationId) {
this.id = Objects.requireNonNull(id);
this.substationId = substationId;
}

@Override
public String getId() {
return id;
}

public String getSubstationId() {
return substationId;
super(id, substationId);
}

@Override
public ContingencyElementType getType() {
return ContingencyElementType.LINE;
}

@Override
public ModificationTask toTask() {
return new BranchTripping(id, substationId);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/**
* Copyright (c) 2017, 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 eu.itesla_project.contingency;

import eu.itesla_project.contingency.tasks.BranchTripping;
import org.junit.Test;

import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;

/**
* @author Mathieu Bague <mathieu.bague at rte-france.com>
*/
public class BranchContingencyTest {

@Test
public void test() {
BranchContingency contingency = new BranchContingency("id");
assertEquals("id", contingency.getId());
assertNull(contingency.getSubstationId());
assertEquals(ContingencyElementType.BRANCH, contingency.getType());

assertNotNull(contingency.toTask());
assertTrue(contingency.toTask() instanceof BranchTripping);

contingency = new BranchContingency("id", "substationId");
assertEquals("substationId", contingency.getSubstationId());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public class ContingencyImplTest {

@Test
public void test() {
ContingencyElement element1 = new LineContingency("line");
ContingencyElement element1 = new BranchContingency("line");
ContingencyElement element2 = new GeneratorContingency("generator");
ContingencyImpl contingency = new ContingencyImpl("contingency", Arrays.asList(element1, element2));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
*/
package eu.itesla_project.contingency;

import eu.itesla_project.contingency.tasks.BranchTripping;
import org.junit.Test;

import static org.junit.Assert.*;
Expand All @@ -23,9 +22,6 @@ public void test() {
assertNull(contingency.getSubstationId());
assertEquals(ContingencyElementType.LINE, contingency.getType());

assertNotNull(contingency.toTask());
assertTrue(contingency.toTask() instanceof BranchTripping);

contingency = new LineContingency("id", "substationId");
assertEquals("substationId", contingency.getSubstationId());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
package eu.itesla_project.contingency.tasks;

import eu.itesla_project.commons.ITeslaException;
import eu.itesla_project.contingency.BranchContingency;
import eu.itesla_project.contingency.ContingencyImpl;
import eu.itesla_project.contingency.LineContingency;
import eu.itesla_project.iidm.network.Line;
import eu.itesla_project.iidm.network.Network;
import eu.itesla_project.iidm.network.TwoWindingsTransformer;
Expand All @@ -31,7 +31,7 @@ public void lineTrippingTest() {
assertTrue(line.getTerminal1().isConnected());
assertTrue(line.getTerminal2().isConnected());

LineContingency tripping = new LineContingency("NHV1_NHV2_1");
BranchContingency tripping = new BranchContingency("NHV1_NHV2_1");
ContingencyImpl contingency = new ContingencyImpl("contingency", tripping);

ModificationTask task = contingency.toTask();
Expand All @@ -45,7 +45,7 @@ public void lineTrippingTest() {
assertTrue(line.getTerminal1().isConnected());
assertTrue(line.getTerminal2().isConnected());

tripping = new LineContingency("NHV1_NHV2_1", "P2");
tripping = new BranchContingency("NHV1_NHV2_1", "P2");
contingency = new ContingencyImpl("contingency", tripping);
contingency.toTask().modify(network);

Expand All @@ -61,7 +61,7 @@ public void transformerTrippingTest() {
assertTrue(transformer.getTerminal1().isConnected());
assertTrue(transformer.getTerminal2().isConnected());

LineContingency tripping = new LineContingency("NHV2_NLOAD", "P2");
BranchContingency tripping = new BranchContingency("NHV2_NLOAD", "P2");
ContingencyImpl contingency = new ContingencyImpl("contingency", tripping);
contingency.toTask().modify(network);

Expand Down

0 comments on commit 52a5e37

Please sign in to comment.