Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@
<dependency>
<groupId>com.powsybl</groupId>
<artifactId>powsybl-case-datasource-client</artifactId>
<version>1.18.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.powsybl</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -341,39 +341,40 @@ private Map<String, Object> extractFormatParameters(Message<UUID> message) {
}

private NetworkInfos importCaseExec(UUID caseUuid, String variantId, UUID reportUuid, String caseFormat, Map<String, Object> importParameters) {
CaseDataSourceClient dataSource = new CaseDataSourceClient(caseServerRest, caseUuid);
ReportNode rootReport = ReportNode.NO_OP;
ReportNode reporter = ReportNode.NO_OP;
if (reportUuid != null) {
String reporterId = "Root";
rootReport = ReportNode.newRootReportNode()
.withAllResourceBundlesFromClasspath()
.withMessageTemplate("network.conversion.server.reporterId")
.withUntypedValue("reporterId", reporterId)
.build();
try (CaseDataSourceClient dataSource = new CaseDataSourceClient(caseServerRest, caseUuid)) {
ReportNode rootReport = ReportNode.NO_OP;
ReportNode reporter = ReportNode.NO_OP;
if (reportUuid != null) {
String reporterId = "Root";
rootReport = ReportNode.newRootReportNode()
.withAllResourceBundlesFromClasspath()
.withMessageTemplate("network.conversion.server.reporterId")
.withUntypedValue("reporterId", reporterId)
.build();

String subReporterId = "Import Case : " + dataSource.getBaseName();
reporter = rootReport.newReportNode()
.withMessageTemplate("network.conversion.server.subReporterId")
.withUntypedValue("subReporterId", subReporterId)
.add();
}

String subReporterId = "Import Case : " + dataSource.getBaseName();
reporter = rootReport.newReportNode()
.withMessageTemplate("network.conversion.server.subReporterId")
.withUntypedValue("subReporterId", subReporterId)
.add();
AtomicReference<Long> startTime = new AtomicReference<>(System.nanoTime());
ReportNode finalReporter = reporter;
Network network = networkConversionObserver.observeImportProcessing(caseFormat, () -> {
if (!importParameters.isEmpty()) {
Properties importProperties = new Properties();
importProperties.putAll(importParameters);
return networkStoreService.importNetwork(dataSource, finalReporter, importProperties, false);
} else {
return networkStoreService.importNetwork(dataSource, finalReporter, false);
}
});
UUID networkUuid = networkStoreService.getNetworkUuid(network);
LOGGER.trace("Import network '{}' : {} seconds", networkUuid, TimeUnit.NANOSECONDS.toSeconds(System.nanoTime() - startTime.get()));
saveNetwork(network, networkUuid, variantId, rootReport, reportUuid);
return new NetworkInfos(networkUuid, network.getId());
}

AtomicReference<Long> startTime = new AtomicReference<>(System.nanoTime());
ReportNode finalReporter = reporter;
Network network = networkConversionObserver.observeImportProcessing(caseFormat, () -> {
if (!importParameters.isEmpty()) {
Properties importProperties = new Properties();
importProperties.putAll(importParameters);
return networkStoreService.importNetwork(dataSource, finalReporter, importProperties, false);
} else {
return networkStoreService.importNetwork(dataSource, finalReporter, false);
}
});
UUID networkUuid = networkStoreService.getNetworkUuid(network);
LOGGER.trace("Import network '{}' : {} seconds", networkUuid, TimeUnit.NANOSECONDS.toSeconds(System.nanoTime() - startTime.get()));
saveNetwork(network, networkUuid, variantId, rootReport, reportUuid);
return new NetworkInfos(networkUuid, network.getId());
}

public NetworkInfos importCase(UUID caseUuid, String variantId, UUID reportUuid, String caseFormat, Map<String, Object> importParameters) {
Expand Down Expand Up @@ -505,20 +506,20 @@ public ExportNetworkInfos exportCase(UUID caseUuid, String format, String fileNa

public ExportNetworkInfos exportCaseExec(UUID caseUuid, String format, String fileName, Map<String, Object> formatParameters) {
Properties exportProperties = initializePropertiesAndCheckFormat(format, formatParameters);
CaseDataSourceClient dataSource = new CaseDataSourceClient(caseServerRest, caseUuid);

// build import properties to import all available extensions
// TODO : Check at next powsybl upgrade if this code is still required. To be removed if not useful anymore
Properties importProperties = new Properties();
ImportExportFormatMeta caseImportParameters = getCaseImportParameters(caseUuid);
Optional<ParamMeta> paramExtensions = caseImportParameters.getParameters().stream().filter(param -> param.getName().endsWith("extensions") && param.getType() == STRING_LIST).findFirst();
paramExtensions.ifPresent(paramMeta -> importProperties.put(paramMeta.getName(), paramMeta.getPossibleValues()));

Network network = Network.read(dataSource, LocalComputationManager.getDefault(), ImportConfig.load(),
importProperties, NetworkFactory.find("NetworkStore"), new ImportersServiceLoader(), ReportNode.NO_OP);
String fileOrNetworkName = fileName != null ? fileName : DataSourceUtil.getBaseName(dataSource.getBaseName());
long networkSize = network.getBusView().getBusStream().count();
return getExportNetworkInfos(network, format, fileOrNetworkName, exportProperties, networkSize, true);
try (CaseDataSourceClient dataSource = new CaseDataSourceClient(caseServerRest, caseUuid)) {
// build import properties to import all available extensions
// TODO : Check at next powsybl upgrade if this code is still required. To be removed if not useful anymore
Properties importProperties = new Properties();
ImportExportFormatMeta caseImportParameters = getCaseImportParameters(caseUuid);
Optional<ParamMeta> paramExtensions = caseImportParameters.getParameters().stream().filter(param -> param.getName().endsWith("extensions") && param.getType() == STRING_LIST).findFirst();
paramExtensions.ifPresent(paramMeta -> importProperties.put(paramMeta.getName(), paramMeta.getPossibleValues()));

Network network = Network.read(dataSource, LocalComputationManager.getDefault(), ImportConfig.load(),
importProperties, NetworkFactory.find("NetworkStore"), new ImportersServiceLoader(), ReportNode.NO_OP);
String fileOrNetworkName = fileName != null ? fileName : DataSourceUtil.getBaseName(dataSource.getBaseName());
long networkSize = network.getBusView().getBusStream().count();
return getExportNetworkInfos(network, format, fileOrNetworkName, exportProperties, networkSize, true);
}
}

private String getNetworkName(Network network, String variantId) {
Expand Down
Loading