From 1b7a964f6a397bfc1baa21e8a7aca568ea7dab13 Mon Sep 17 00:00:00 2001 From: Geoffroy Jamgotchian Date: Tue, 6 Sep 2016 17:37:27 +0200 Subject: [PATCH 1/2] Fix generic types in network api and impl --- .../main/java/eu/itesla_project/iidm/network/Connectable.java | 2 +- .../iidm/network/SingleTerminalConnectable.java | 2 +- .../itesla_project/iidm/network/TwoTerminalsConnectable.java | 2 +- .../iidm/network/impl/AbstractTwoTerminalsConnectable.java | 2 +- .../eu/itesla_project/iidm/network/impl/ConnectableImpl.java | 2 +- .../main/java/eu/itesla_project/iidm/xml/ExtensionXml.java | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/iidm-network-api/src/main/java/eu/itesla_project/iidm/network/Connectable.java b/iidm-network-api/src/main/java/eu/itesla_project/iidm/network/Connectable.java index 6f8be814..656402de 100644 --- a/iidm-network-api/src/main/java/eu/itesla_project/iidm/network/Connectable.java +++ b/iidm-network-api/src/main/java/eu/itesla_project/iidm/network/Connectable.java @@ -13,7 +13,7 @@ * * @author Geoffroy Jamgotchian */ -public interface Connectable> extends Identifiable { +public interface Connectable> extends Identifiable { /** * Get the connectable type. diff --git a/iidm-network-api/src/main/java/eu/itesla_project/iidm/network/SingleTerminalConnectable.java b/iidm-network-api/src/main/java/eu/itesla_project/iidm/network/SingleTerminalConnectable.java index 53a85ad4..611b173e 100644 --- a/iidm-network-api/src/main/java/eu/itesla_project/iidm/network/SingleTerminalConnectable.java +++ b/iidm-network-api/src/main/java/eu/itesla_project/iidm/network/SingleTerminalConnectable.java @@ -11,7 +11,7 @@ * * @author Geoffroy Jamgotchian */ -public interface SingleTerminalConnectable> extends Connectable { +public interface SingleTerminalConnectable> extends Connectable { /** * Get the terminal. diff --git a/iidm-network-api/src/main/java/eu/itesla_project/iidm/network/TwoTerminalsConnectable.java b/iidm-network-api/src/main/java/eu/itesla_project/iidm/network/TwoTerminalsConnectable.java index 8f6d6772..76e3383e 100644 --- a/iidm-network-api/src/main/java/eu/itesla_project/iidm/network/TwoTerminalsConnectable.java +++ b/iidm-network-api/src/main/java/eu/itesla_project/iidm/network/TwoTerminalsConnectable.java @@ -11,7 +11,7 @@ * * @author Geoffroy Jamgotchian */ -public interface TwoTerminalsConnectable> extends Connectable { +public interface TwoTerminalsConnectable> extends Connectable { enum Side { ONE, diff --git a/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/AbstractTwoTerminalsConnectable.java b/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/AbstractTwoTerminalsConnectable.java index eb778e00..85071108 100644 --- a/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/AbstractTwoTerminalsConnectable.java +++ b/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/AbstractTwoTerminalsConnectable.java @@ -15,7 +15,7 @@ * * @author Geoffroy Jamgotchian */ -abstract class AbstractTwoTerminalsConnectable> extends ConnectableImpl implements CurrentLimitsOwner { +abstract class AbstractTwoTerminalsConnectable> extends ConnectableImpl implements CurrentLimitsOwner { private CurrentLimits limits1; diff --git a/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/ConnectableImpl.java b/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/ConnectableImpl.java index f39dec99..55ecef6e 100644 --- a/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/ConnectableImpl.java +++ b/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/ConnectableImpl.java @@ -16,7 +16,7 @@ * * @author Geoffroy Jamgotchian */ -abstract class ConnectableImpl> extends IdentifiableImpl implements Connectable, Stateful { +abstract class ConnectableImpl> extends IdentifiableImpl implements Connectable, Stateful { protected final List terminals = new ArrayList<>(); diff --git a/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/ExtensionXml.java b/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/ExtensionXml.java index 73e984f8..23a688b7 100644 --- a/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/ExtensionXml.java +++ b/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/ExtensionXml.java @@ -15,7 +15,7 @@ /** * @author Geoffroy Jamgotchian */ -public interface ExtensionXml, E extends Identifiable.Extension> { +public interface ExtensionXml> { String getExtensionName(); @@ -31,5 +31,5 @@ public interface ExtensionXml, E extends Identifiable. void write(E extension, XmlWriterContext context) throws XMLStreamException; - E read(I identifiable, XMLStreamReader reader); + E read(I identifiable, XMLStreamReader reader) throws XMLStreamException; } From 84e90eb19796c48a9c65d6b45847295b59bb5341 Mon Sep 17 00:00:00 2001 From: Geoffroy Jamgotchian Date: Tue, 6 Sep 2016 17:46:33 +0200 Subject: [PATCH 2/2] Switch some classes to public to be reused in private network extensions --- .../iidm/network/impl/CurrentLimitsAdderImpl.java | 4 ++-- .../iidm/network/impl/CurrentLimitsImpl.java | 2 +- .../iidm/network/impl/CurrentLimitsOwner.java | 2 +- .../iidm/network/impl/Validable.java | 2 +- .../eu/itesla_project/iidm/xml/ConnectableXml.java | 14 +++++++++----- .../eu/itesla_project/iidm/xml/XmlConstants.java | 2 +- .../java/eu/itesla_project/iidm/xml/XmlUtil.java | 2 +- 7 files changed, 16 insertions(+), 12 deletions(-) diff --git a/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/CurrentLimitsAdderImpl.java b/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/CurrentLimitsAdderImpl.java index 50dbb9e2..10e736a2 100644 --- a/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/CurrentLimitsAdderImpl.java +++ b/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/CurrentLimitsAdderImpl.java @@ -17,7 +17,7 @@ * * @author Geoffroy Jamgotchian */ -class CurrentLimitsAdderImpl & Validable> implements CurrentLimitsAdder { +public class CurrentLimitsAdderImpl & Validable> implements CurrentLimitsAdder { private static final Comparator ACCEPTABLE_DURATION_COMPARATOR = new Comparator() { @Override @@ -72,7 +72,7 @@ public CurrentLimitsAdder endTemporaryLimit() { } - CurrentLimitsAdderImpl(SIDE side, OWNER owner) { + public CurrentLimitsAdderImpl(SIDE side, OWNER owner) { this.side = side; this.owner = owner; } diff --git a/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/CurrentLimitsImpl.java b/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/CurrentLimitsImpl.java index e783e034..6103c48c 100644 --- a/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/CurrentLimitsImpl.java +++ b/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/CurrentLimitsImpl.java @@ -14,7 +14,7 @@ * * @author Geoffroy Jamgotchian */ -class CurrentLimitsImpl implements CurrentLimits { +public class CurrentLimitsImpl implements CurrentLimits { private final float permanentLimit; diff --git a/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/CurrentLimitsOwner.java b/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/CurrentLimitsOwner.java index c26a0d59..446ecf97 100644 --- a/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/CurrentLimitsOwner.java +++ b/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/CurrentLimitsOwner.java @@ -10,7 +10,7 @@ * * @author Geoffroy Jamgotchian */ -interface CurrentLimitsOwner { +public interface CurrentLimitsOwner { void setCurrentLimits(SIDE side, CurrentLimitsImpl limits); diff --git a/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/Validable.java b/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/Validable.java index 83a4e3d1..1087a678 100644 --- a/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/Validable.java +++ b/iidm-network-impl/src/main/java/eu/itesla_project/iidm/network/impl/Validable.java @@ -10,7 +10,7 @@ * * @author Geoffroy Jamgotchian */ -interface Validable { +public interface Validable { String getMessageHeader(); diff --git a/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/ConnectableXml.java b/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/ConnectableXml.java index 53b7b149..ba27f2b7 100644 --- a/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/ConnectableXml.java +++ b/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/ConnectableXml.java @@ -17,7 +17,7 @@ * * @author Geoffroy Jamgotchian */ -abstract class ConnectableXml, P extends Container> extends IdentifiableXml { +public abstract class ConnectableXml, P extends Container> extends IdentifiableXml { private static String indexToString(Integer index) { return index != null ? index.toString() : ""; @@ -122,7 +122,7 @@ protected static void readPQ(Integer index, Terminal t, XMLStreamReader reader) .setQ(q); } - protected void readCurrentLimits(Integer index, Supplier currentLimitOwner, XMLStreamReader reader) throws XMLStreamException { + public static void readCurrentLimits(Integer index, Supplier currentLimitOwner, XMLStreamReader reader) throws XMLStreamException { CurrentLimitsAdder adder = currentLimitOwner.get(); float permanentLimit = XmlUtil.readOptionalFloatAttribute(reader, "permanentLimit"); adder.setPermanentLimit(permanentLimit); @@ -139,13 +139,17 @@ protected void readCurrentLimits(Integer index, Supplier cur adder.add(); } - protected static void writeCurrentLimits(Integer index, CurrentLimits limits, XMLStreamWriter writer) throws XMLStreamException { + public static void writeCurrentLimits(Integer index, CurrentLimits limits, XMLStreamWriter writer) throws XMLStreamException { + writeCurrentLimits(index, limits, writer, IIDM_URI); + } + + public static void writeCurrentLimits(Integer index, CurrentLimits limits, XMLStreamWriter writer, String nsUri) throws XMLStreamException { if (!Float.isNaN(limits.getPermanentLimit()) || limits.getTemporaryLimits().size() > 0) { if (limits.getTemporaryLimits().isEmpty()) { - writer.writeEmptyElement(IIDM_URI, "currentLimits" + indexToString(index)); + writer.writeEmptyElement(nsUri, "currentLimits" + indexToString(index)); } else { - writer.writeStartElement(IIDM_URI, "currentLimits" + indexToString(index)); + writer.writeStartElement(nsUri, "currentLimits" + indexToString(index)); } XmlUtil.writeFloat("permanentLimit", limits.getPermanentLimit(), writer); for (CurrentLimits.TemporaryLimit tl : limits.getTemporaryLimits()) { diff --git a/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/XmlConstants.java b/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/XmlConstants.java index 2fcdfca0..a077eb29 100644 --- a/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/XmlConstants.java +++ b/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/XmlConstants.java @@ -14,7 +14,7 @@ * * @author Geoffroy Jamgotchian */ -interface XmlConstants { +public interface XmlConstants { String INDENT = " "; diff --git a/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/XmlUtil.java b/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/XmlUtil.java index f7368b2c..735e478f 100644 --- a/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/XmlUtil.java +++ b/iidm-xml-import-export/src/main/java/eu/itesla_project/iidm/xml/XmlUtil.java @@ -19,7 +19,7 @@ public class XmlUtil { private XmlUtil() { } - interface XmlEventHandler { + public interface XmlEventHandler { void onStartElement() throws XMLStreamException;