From 90b9d249afd5415409eac1b7ffacf8795ae945f4 Mon Sep 17 00:00:00 2001 From: MioRtia Date: Thu, 5 Dec 2019 18:16:50 +0100 Subject: [PATCH] Refactoring of XML extensions (#1052) Signed-off-by: RALAMBOTIANA MIORA --- ...ordinatedReactiveControlXmlSerializer.java | 43 +++--------------- ...ansformerPhaseAngleClockXmlSerializer.java | 45 ++++--------------- ...ansformerPhaseAngleClockXmlSerializer.java | 44 +++--------------- 3 files changed, 22 insertions(+), 110 deletions(-) diff --git a/iidm/iidm-extensions/src/main/java/com/powsybl/iidm/network/extensions/CoordinatedReactiveControlXmlSerializer.java b/iidm/iidm-extensions/src/main/java/com/powsybl/iidm/network/extensions/CoordinatedReactiveControlXmlSerializer.java index 8287a98db56..a713d2fb79e 100644 --- a/iidm/iidm-extensions/src/main/java/com/powsybl/iidm/network/extensions/CoordinatedReactiveControlXmlSerializer.java +++ b/iidm/iidm-extensions/src/main/java/com/powsybl/iidm/network/extensions/CoordinatedReactiveControlXmlSerializer.java @@ -7,6 +7,7 @@ package com.powsybl.iidm.network.extensions; import com.google.auto.service.AutoService; +import com.powsybl.commons.extensions.AbstractExtensionXmlSerializer; import com.powsybl.commons.extensions.ExtensionXmlSerializer; import com.powsybl.commons.xml.XmlReaderContext; import com.powsybl.commons.xml.XmlUtil; @@ -14,32 +15,17 @@ import com.powsybl.iidm.network.Generator; import javax.xml.stream.XMLStreamException; -import java.io.InputStream; /** * @author Miora Ralambotiana */ @AutoService(ExtensionXmlSerializer.class) -public class CoordinatedReactiveControlXmlSerializer implements ExtensionXmlSerializer { +public class CoordinatedReactiveControlXmlSerializer extends AbstractExtensionXmlSerializer { - @Override - public boolean hasSubElements() { - return false; - } - - @Override - public InputStream getXsdAsStream() { - return getClass().getResourceAsStream("/xsd/coordinatedReactiveControl.xsd"); - } - - @Override - public String getNamespaceUri() { - return "http://www.powsybl.org/schema/iidm/ext/coordinated_reactive_control/1_0"; - } - - @Override - public String getNamespacePrefix() { - return "crc"; + public CoordinatedReactiveControlXmlSerializer() { + super("coordinatedReactiveControl", "network", CoordinatedReactiveControl.class, + false, "coordinatedReactiveControl.xsd", + "http://www.powsybl.org/schema/iidm/ext/coordinated_reactive_control/1_0", "crc"); } @Override @@ -48,23 +34,8 @@ public void write(CoordinatedReactiveControl extension, XmlWriterContext context } @Override - public CoordinatedReactiveControl read(Generator extendable, XmlReaderContext context) throws XMLStreamException { + public CoordinatedReactiveControl read(Generator extendable, XmlReaderContext context) { double qPercent = XmlUtil.readDoubleAttribute(context.getReader(), "qPercent"); return new CoordinatedReactiveControl(extendable, qPercent); } - - @Override - public String getExtensionName() { - return "coordinatedReactiveControl"; - } - - @Override - public String getCategoryName() { - return "network"; - } - - @Override - public Class getExtensionClass() { - return CoordinatedReactiveControl.class; - } } diff --git a/iidm/iidm-extensions/src/main/java/com/powsybl/iidm/network/extensions/ThreeWindingsTransformerPhaseAngleClockXmlSerializer.java b/iidm/iidm-extensions/src/main/java/com/powsybl/iidm/network/extensions/ThreeWindingsTransformerPhaseAngleClockXmlSerializer.java index 5a011af35cd..2a061d12113 100644 --- a/iidm/iidm-extensions/src/main/java/com/powsybl/iidm/network/extensions/ThreeWindingsTransformerPhaseAngleClockXmlSerializer.java +++ b/iidm/iidm-extensions/src/main/java/com/powsybl/iidm/network/extensions/ThreeWindingsTransformerPhaseAngleClockXmlSerializer.java @@ -7,14 +7,13 @@ package com.powsybl.iidm.network.extensions; import com.google.auto.service.AutoService; +import com.powsybl.commons.extensions.AbstractExtensionXmlSerializer; import com.powsybl.commons.extensions.ExtensionXmlSerializer; import com.powsybl.commons.xml.XmlReaderContext; import com.powsybl.commons.xml.XmlUtil; import com.powsybl.commons.xml.XmlWriterContext; import com.powsybl.iidm.network.ThreeWindingsTransformer; -import java.io.InputStream; - import javax.xml.stream.XMLStreamException; /** @@ -22,26 +21,13 @@ */ @AutoService(ExtensionXmlSerializer.class) public class ThreeWindingsTransformerPhaseAngleClockXmlSerializer - implements ExtensionXmlSerializer { - - @Override - public boolean hasSubElements() { - return false; - } - - @Override - public InputStream getXsdAsStream() { - return getClass().getResourceAsStream("/xsd/threeWindingsTransformerPhaseAngleClock.xsd"); - } - - @Override - public String getNamespaceUri() { - return "http://www.powsybl.org/schema/iidm/ext/three_windings_transformer_phase_angle_clock/1_0"; - } + extends AbstractExtensionXmlSerializer { - @Override - public String getNamespacePrefix() { - return "threewtpac"; + public ThreeWindingsTransformerPhaseAngleClockXmlSerializer() { + super("threeWindingsTransformerPhaseAngleClock", "network", ThreeWindingsTransformerPhaseAngleClock.class, + false, "threeWindingsTransformerPhaseAngleClock.xsd", + "http://www.powsybl.org/schema/iidm/ext/three_windings_transformer_phase_angle_clock/1_0", + "threewtpac"); } @Override @@ -51,24 +37,9 @@ public void write(ThreeWindingsTransformerPhaseAngleClock extension, XmlWriterCo } @Override - public ThreeWindingsTransformerPhaseAngleClock read(ThreeWindingsTransformer extendable, XmlReaderContext context) throws XMLStreamException { + public ThreeWindingsTransformerPhaseAngleClock read(ThreeWindingsTransformer extendable, XmlReaderContext context) { int phaseAngleClockLeg2 = XmlUtil.readOptionalIntegerAttribute(context.getReader(), "phaseAngleClockLeg2", 0); int phaseAngleClockLeg3 = XmlUtil.readOptionalIntegerAttribute(context.getReader(), "phaseAngleClockLeg3", 0); return new ThreeWindingsTransformerPhaseAngleClock(extendable, phaseAngleClockLeg2, phaseAngleClockLeg3); } - - @Override - public String getExtensionName() { - return "threeWindingsTransformerPhaseAngleClock"; - } - - @Override - public String getCategoryName() { - return "network"; - } - - @Override - public Class getExtensionClass() { - return ThreeWindingsTransformerPhaseAngleClock.class; - } } diff --git a/iidm/iidm-extensions/src/main/java/com/powsybl/iidm/network/extensions/TwoWindingsTransformerPhaseAngleClockXmlSerializer.java b/iidm/iidm-extensions/src/main/java/com/powsybl/iidm/network/extensions/TwoWindingsTransformerPhaseAngleClockXmlSerializer.java index 7825bfb724f..a7f893afa63 100644 --- a/iidm/iidm-extensions/src/main/java/com/powsybl/iidm/network/extensions/TwoWindingsTransformerPhaseAngleClockXmlSerializer.java +++ b/iidm/iidm-extensions/src/main/java/com/powsybl/iidm/network/extensions/TwoWindingsTransformerPhaseAngleClockXmlSerializer.java @@ -7,14 +7,13 @@ package com.powsybl.iidm.network.extensions; import com.google.auto.service.AutoService; +import com.powsybl.commons.extensions.AbstractExtensionXmlSerializer; import com.powsybl.commons.extensions.ExtensionXmlSerializer; import com.powsybl.commons.xml.XmlReaderContext; import com.powsybl.commons.xml.XmlUtil; import com.powsybl.commons.xml.XmlWriterContext; import com.powsybl.iidm.network.TwoWindingsTransformer; -import java.io.InputStream; - import javax.xml.stream.XMLStreamException; /** @@ -22,26 +21,12 @@ */ @AutoService(ExtensionXmlSerializer.class) public class TwoWindingsTransformerPhaseAngleClockXmlSerializer - implements ExtensionXmlSerializer { - - @Override - public boolean hasSubElements() { - return false; - } - - @Override - public InputStream getXsdAsStream() { - return getClass().getResourceAsStream("/xsd/twoWindingsTransformerPhaseAngleClock.xsd"); - } - - @Override - public String getNamespaceUri() { - return "http://www.powsybl.org/schema/iidm/ext/two_windings_transformer_phase_angle_clock/1_0"; - } + extends AbstractExtensionXmlSerializer { - @Override - public String getNamespacePrefix() { - return "twowtpac"; + public TwoWindingsTransformerPhaseAngleClockXmlSerializer() { + super("twoWindingsTransformerPhaseAngleClock", "network", TwoWindingsTransformerPhaseAngleClock.class, + false, "twoWindingsTransformerPhaseAngleClock.xsd", + "http://www.powsybl.org/schema/iidm/ext/two_windings_transformer_phase_angle_clock/1_0", "twowtpac"); } @Override @@ -50,23 +35,8 @@ public void write(TwoWindingsTransformerPhaseAngleClock extension, XmlWriterCont } @Override - public TwoWindingsTransformerPhaseAngleClock read(TwoWindingsTransformer extendable, XmlReaderContext context) throws XMLStreamException { + public TwoWindingsTransformerPhaseAngleClock read(TwoWindingsTransformer extendable, XmlReaderContext context) { int phaseAngleClock = XmlUtil.readOptionalIntegerAttribute(context.getReader(), "phaseAngleClock", 0); return new TwoWindingsTransformerPhaseAngleClock(extendable, phaseAngleClock); } - - @Override - public String getExtensionName() { - return "twoWindingsTransformerPhaseAngleClock"; - } - - @Override - public String getCategoryName() { - return "network"; - } - - @Override - public Class getExtensionClass() { - return TwoWindingsTransformerPhaseAngleClock.class; - } }