diff --git a/java/pom.xml b/java/pom.xml index b576af8c7f..09c4d9fdb7 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -69,7 +69,7 @@ 17 2024.4.0 - 6.0.1 + 6.2.1 0.10.0 diff --git a/java/pypowsybl/src/main/java/com/powsybl/python/rao/RaoCFunctions.java b/java/pypowsybl/src/main/java/com/powsybl/python/rao/RaoCFunctions.java index 857f5a5714..74eb6f1f86 100644 --- a/java/pypowsybl/src/main/java/com/powsybl/python/rao/RaoCFunctions.java +++ b/java/pypowsybl/src/main/java/com/powsybl/python/rao/RaoCFunctions.java @@ -11,10 +11,8 @@ import com.powsybl.glsk.api.io.GlskDocumentImporters; import com.powsybl.glsk.commons.ZonalData; import com.powsybl.iidm.network.Network; -import com.powsybl.openrao.commons.Unit; -import com.powsybl.openrao.data.cracapi.Crac; -import com.powsybl.openrao.data.raoresultapi.RaoResult; -import com.powsybl.openrao.data.raoresultjson.RaoResultJsonExporter; +import com.powsybl.openrao.data.crac.api.Crac; +import com.powsybl.openrao.data.raoresult.api.RaoResult; import com.powsybl.openrao.raoapi.json.JsonRaoParameters; import com.powsybl.openrao.raoapi.parameters.RaoParameters; import com.powsybl.python.commons.Directives; @@ -31,7 +29,7 @@ import java.io.*; import java.nio.ByteBuffer; -import java.util.Set; +import java.util.Properties; import static com.powsybl.python.commons.Util.binaryBufferToBytes; import static com.powsybl.python.commons.Util.doCatch; @@ -127,8 +125,10 @@ public static PyPowsyblApiHeader.ArrayPointer serializeRaoResultsT RaoResult raoResult = ObjectHandles.getGlobal().get(raoResultHandle); Crac crac = ObjectHandles.getGlobal().get(cracHandle); try (ByteArrayOutputStream output = new ByteArrayOutputStream()) { - new RaoResultJsonExporter().exportData( - raoResult, crac, Set.of(Unit.MEGAWATT), output); + Properties properties = new Properties(); + properties.setProperty("rao-result.export.json.flows-in-amperes", "true"); + properties.setProperty("rao-result.export.json.flows-in-megawatts", "true"); + raoResult.write("JSON", crac, properties, output); return Util.createByteArray(output.toByteArray()); } catch (IOException e) { throw new PowsyblException("Could not serialize rao results : " + e.getMessage()); diff --git a/java/pypowsybl/src/main/java/com/powsybl/python/rao/RaoContext.java b/java/pypowsybl/src/main/java/com/powsybl/python/rao/RaoContext.java index 8603110fc4..0ea1092aeb 100644 --- a/java/pypowsybl/src/main/java/com/powsybl/python/rao/RaoContext.java +++ b/java/pypowsybl/src/main/java/com/powsybl/python/rao/RaoContext.java @@ -10,8 +10,8 @@ import com.powsybl.commons.PowsyblException; import com.powsybl.glsk.commons.ZonalData; import com.powsybl.iidm.network.Network; -import com.powsybl.openrao.data.cracapi.Crac; -import com.powsybl.openrao.data.raoresultapi.RaoResult; +import com.powsybl.openrao.data.crac.api.Crac; +import com.powsybl.openrao.data.raoresult.api.RaoResult; import com.powsybl.openrao.raoapi.Rao; import com.powsybl.openrao.raoapi.RaoInput; import com.powsybl.openrao.raoapi.parameters.RaoParameters; diff --git a/java/pypowsybl/src/main/resources/META-INF/native-image/com.powsybl/open-rao-crac-io-json/resource-config.json b/java/pypowsybl/src/main/resources/META-INF/native-image/com.powsybl/open-rao-crac-io-json/resource-config.json new file mode 100644 index 0000000000..23a25d8fe8 --- /dev/null +++ b/java/pypowsybl/src/main/resources/META-INF/native-image/com.powsybl/open-rao-crac-io-json/resource-config.json @@ -0,0 +1,6 @@ +{ + "resources":{ + "includes":[ + {"pattern":".*\\.json"} + ]} +} diff --git a/tests/test_rao.py b/tests/test_rao.py index 040c557be1..238418fd57 100644 --- a/tests/test_rao.py +++ b/tests/test_rao.py @@ -56,7 +56,7 @@ def test_rao_from_buffers(): json_result = result.to_json() assert json_result["computationStatus"] == "default" - assert list(json_result.keys()) == ['type', 'version', 'info', 'computationStatus', 'optimizationStepsExecuted', 'costResults', + assert list(json_result.keys()) == ['type', 'version', 'info', 'computationStatus', 'executionDetails', 'costResults', 'computationStatusMap', 'flowCnecResults', 'angleCnecResults', 'voltageCnecResults', 'networkActionResults', 'rangeActionResults']