public LoadFlowParametersJsonModule() { addDeserializer(LoadFlowParameters.class, new LoadFlowParametersDeserializer()); addSerializer(LoadFlowParameters.class, new LoadFlowParametersSerializer()); } }
/** * Low level deserialization method, to be used for instance for reading load flow parameters nested in another object. */ public static LoadFlowParameters deserialize(JsonParser parser, DeserializationContext context, LoadFlowParameters parameters) throws IOException { return new LoadFlowParametersDeserializer().deserialize(parser, context, parameters); }
/** * Low level serialization method, to be used for instance for writing load flow parameters nested in another object. */ public static void serialize(LoadFlowParameters parameters, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { new LoadFlowParametersSerializer().serialize(parameters, jsonGenerator, serializerProvider); } }
@Override public void serialize(SensitivityComputationParameters parameters, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { jsonGenerator.writeStartObject(); jsonGenerator.writeStringField("version", SensitivityComputationParameters.VERSION); jsonGenerator.writeFieldName("load-flow-parameters"); JsonLoadFlowParameters.serialize(parameters.getLoadFlowParameters(), jsonGenerator, serializerProvider); JsonUtil.writeExtensions(parameters, jsonGenerator, serializerProvider, JsonSensitivityComputationParameters.getExtensionSerializers()); jsonGenerator.writeEndObject(); } }
@Override public SensitivityComputationParameters deserialize(JsonParser parser, DeserializationContext deserializationContext, SensitivityComputationParameters parameters) throws IOException { List<Extension<SensitivityComputationParameters>> extensions = Collections.emptyList(); while (parser.nextToken() != JsonToken.END_OBJECT) { switch (parser.getCurrentName()) { case "version": parser.nextToken(); break; case "load-flow-parameters": parser.nextToken(); JsonLoadFlowParameters.deserialize(parser, deserializationContext, parameters.getLoadFlowParameters()); break; case "extensions": parser.nextToken(); extensions = JsonUtil.readExtensions(parser, deserializationContext, JsonSensitivityComputationParameters.getExtensionSerializers()); break; default: throw new AssertionError("Unexpected field: " + parser.getCurrentName()); } } JsonSensitivityComputationParameters.getExtensionSerializers().addExtensions(parameters, extensions); return parameters; }
/** * Reads parameters from a JSON file (will NOT rely on platform config). */ public static LoadFlowParameters read(Path jsonFile) { return update(new LoadFlowParameters(), jsonFile); }
/** * Writes parameters as JSON to an output stream. */ public static void write(LoadFlowParameters parameters, OutputStream outputStream) { try { ObjectMapper objectMapper = createObjectMapper(); ObjectWriter writer = objectMapper.writerWithDefaultPrettyPrinter(); writer.writeValue(outputStream, parameters); } catch (IOException e) { throw new UncheckedIOException(e); } }
@Override public LoadFlowParameters deserialize(JsonParser parser, DeserializationContext deserializationContext) throws IOException { return deserialize(parser, deserializationContext, new LoadFlowParameters()); }
public static LoadFlowResult read(Path jsonFile) { Objects.requireNonNull(jsonFile); try (InputStream is = Files.newInputStream(jsonFile)) { return read(is); } catch (IOException e) { throw new UncheckedIOException(e); } } }
/** * Writes parameters as JSON to a file. */ public static void write(LoadFlowParameters parameters, Path jsonFile) { Objects.requireNonNull(jsonFile); try (OutputStream outputStream = Files.newOutputStream(jsonFile)) { write(parameters, outputStream); } catch (IOException e) { throw new UncheckedIOException(e); } }
private static ObjectMapper createObjectMapper() { return JsonUtil.createObjectMapper() .registerModule(new LoadFlowParametersJsonModule()); }
public static LoadFlowResult read(InputStream is) throws IOException { Objects.requireNonNull(is); ObjectMapper objectMapper = JsonUtil.createObjectMapper(); SimpleModule module = new SimpleModule(); module.addDeserializer(LoadFlowResult.class, new LoadFlowResultDeserializer()); objectMapper.registerModule(module); return objectMapper.readValue(is, LoadFlowResult.class); }
public static void write(LoadFlowResult result, Path jsonFile) { Objects.requireNonNull(result); Objects.requireNonNull(jsonFile); try (OutputStream os = Files.newOutputStream(jsonFile)) { ObjectMapper objectMapper = JsonUtil.createObjectMapper(); SimpleModule module = new SimpleModule(); module.addSerializer(LoadFlowResult.class, new LoadFlowResultSerializer()); objectMapper.registerModule(module); ObjectWriter writer = objectMapper.writerWithDefaultPrettyPrinter(); writer.writeValue(os, result); } catch (IOException e) { throw new UncheckedIOException(e); } } }
private void exportResult(LoadFlowResult result, ToolRunningContext context, Path outputFile, Format format) { context.getOutputStream().println("Writing results to '" + outputFile + "'"); switch (format) { case CSV: CsvTableFormatterFactory csvTableFormatterFactory = new CsvTableFormatterFactory(); printLoadFlowResult(result, outputFile, csvTableFormatterFactory, TableFormatterConfig.load()); break; case JSON: LoadFlowResultSerializer.write(result, outputFile); break; } } }
@Override public void serialize(LoadFlowParameters parameters, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { jsonGenerator.writeStartObject(); jsonGenerator.writeStringField("version", LoadFlowParameters.VERSION); jsonGenerator.writeStringField("voltageInitMode", parameters.getVoltageInitMode().name()); jsonGenerator.writeBooleanField("transformerVoltageControlOn", parameters.isTransformerVoltageControlOn()); jsonGenerator.writeBooleanField("phaseShifterRegulationOn", parameters.isPhaseShifterRegulationOn()); jsonGenerator.writeBooleanField("noGeneratorReactiveLimits", parameters.isNoGeneratorReactiveLimits()); jsonGenerator.writeBooleanField("specificCompatibility", parameters.isSpecificCompatibility()); JsonUtil.writeExtensions(parameters, jsonGenerator, serializerProvider, JsonLoadFlowParameters.getExtensionSerializers()); jsonGenerator.writeEndObject(); } }
/** * Low level deserialization method, to be used for instance for updating load flow parameters nested in another object. */ public static LoadFlowParameters deserialize(JsonParser parser, DeserializationContext context) throws IOException { return new LoadFlowParametersDeserializer().deserialize(parser, context); }
@Override public void serialize(SecurityAnalysisParameters parameters, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { jsonGenerator.writeStartObject(); jsonGenerator.writeStringField("version", SecurityAnalysisParameters.VERSION); jsonGenerator.writeFieldName("load-flow-parameters"); JsonLoadFlowParameters.serialize(parameters.getLoadFlowParameters(), jsonGenerator, serializerProvider); JsonUtil.writeExtensions(parameters, jsonGenerator, serializerProvider, JsonSecurityAnalysisParameters.getExtensionSerializers()); jsonGenerator.writeEndObject(); } }
/** * Reads parameters from a JSON file (will NOT rely on platform config). */ public static LoadFlowParameters read(InputStream jsonStream) { return update(new LoadFlowParameters(), jsonStream); }
/** * Updates parameters by reading the content of a JSON stream. */ public static LoadFlowParameters update(LoadFlowParameters parameters, InputStream jsonStream) { try { ObjectMapper objectMapper = createObjectMapper(); return objectMapper.readerForUpdating(parameters).readValue(jsonStream); } catch (IOException e) { throw new UncheckedIOException(e); } }
/** * Updates parameters by reading the content of a JSON file. */ public static LoadFlowParameters update(LoadFlowParameters parameters, Path jsonFile) { Objects.requireNonNull(jsonFile); try (InputStream is = Files.newInputStream(jsonFile)) { return update(parameters, is); } catch (IOException e) { throw new UncheckedIOException(e); } }