Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix services deps #49

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
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
Original file line number Diff line number Diff line change
Expand Up @@ -8,21 +8,10 @@

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

import com.powsybl.commons.PowsyblException;
import com.powsybl.iidm.network.Bus;
import com.powsybl.iidm.network.Identifiable;
import com.powsybl.iidm.network.Network;
import com.powsybl.iidm.network.ShuntCompensator;
import com.powsybl.iidm.network.Terminal;
import com.powsybl.iidm.network.TwoWindingsTransformer;
import com.powsybl.iidm.network.*;
import com.powsybl.openreac.parameters.output.OpenReacResult;
import org.gridsuite.voltageinit.server.dto.GeneratorModificationInfos;
import org.gridsuite.voltageinit.server.dto.ShuntCompensatorModificationInfos;
import org.gridsuite.voltageinit.server.dto.StaticVarCompensatorModificationInfos;
import org.gridsuite.voltageinit.server.dto.TransformerModificationInfos;
import org.gridsuite.voltageinit.server.dto.VoltageInitModificationInfos;
import org.gridsuite.voltageinit.server.dto.VscConverterStationModificationInfos;
import org.gridsuite.voltageinit.server.dto.*;
import org.jgrapht.alg.util.Pair;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
Expand Down Expand Up @@ -51,18 +40,19 @@ public class NetworkModificationService {
private static final String NETWORK_MODIFICATION_API_VERSION = "v1";
private static final String DELIMITER = "/";
private static final String GROUP_PATH = "groups" + DELIMITER + "{groupUuid}";
public static final String QUERY_PARAM_ERROR_ON_GROUP_NOT_FOUND = "errorOnGroupNotFound";
private static final String QUERY_PARAM_ERROR_ON_GROUP_NOT_FOUND = "errorOnGroupNotFound";

private String networkModificationServerBaseUri;

private final RestTemplate restTemplate = new RestTemplate();

private final RestTemplate restTemplate;
private final ObjectMapper objectMapper;

@Autowired
NetworkModificationService(@Value("${gridsuite.services.network-modification-server.base-uri:http://network-modification-server/}") String networkModificationServerBaseUri,
RestTemplate restTemplate,
ObjectMapper objectMapper) {
this.networkModificationServerBaseUri = networkModificationServerBaseUri;
this.restTemplate = restTemplate;
this.objectMapper = objectMapper;
}

Expand All @@ -88,13 +78,11 @@ public void deleteModificationsGroup(UUID groupUUid) {
}
}

private Optional<Bus> getRegulatingBus(Terminal terminal) {
private static Optional<Bus> getRegulatingBus(Terminal terminal) {
return terminal != null && terminal.getBusView().getBus() != null ? Optional.of(terminal.getBusView().getBus()) : Optional.empty();
}

public UUID createVoltageInitModificationGroup(Network network, OpenReacResult result) {
UUID modificationsGroupUuid;

try {
VoltageInitModificationInfos voltageInitModificationInfos = new VoltageInitModificationInfos();

Expand Down Expand Up @@ -190,14 +178,12 @@ public UUID createVoltageInitModificationGroup(Network network, OpenReacResult r

HttpEntity<String> httpEntity = new HttpEntity<>(objectMapper.writeValueAsString(voltageInitModificationInfos), headers);

modificationsGroupUuid = restTemplate.exchange(path, HttpMethod.POST, httpEntity, UUID.class)
return restTemplate.exchange(path, HttpMethod.POST, httpEntity, UUID.class)
.getBody();
} catch (JsonProcessingException e) {
throw new PowsyblException("Error generating json modifications", e);
} catch (HttpStatusCodeException e) {
throw new PowsyblException("Error creating modifications group", e);
}

return modificationsGroupUuid;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
package org.gridsuite.voltageinit.server.service;

import com.powsybl.commons.reporter.Reporter;
import lombok.Setter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
Expand All @@ -34,20 +35,17 @@ public class ReportService {
private static final String QUERY_PARAM_REPORT_TYPE_FILTER = "reportTypeFilter";
private static final String QUERY_PARAM_REPORT_THROW_ERROR = "errorOnReportNotFound";

@Setter
private String baseUri;

private RestTemplate restTemplate;
private final RestTemplate restTemplate;

@Autowired
public ReportService(@Value("${gridsuite.services.report-server.base-uri:http://report-server/}") String baseUri, RestTemplate restTemplate) {
this.baseUri = baseUri;
this.restTemplate = restTemplate;
}

public void setReportServiceBaseUri(String baseUri) {
this.baseUri = baseUri;
}

public void sendReport(UUID reportUuid, Reporter reporter) {
Objects.requireNonNull(reportUuid);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,11 @@
*/
package org.gridsuite.voltageinit.server.service;

import com.powsybl.network.store.client.NetworkStoreService;

import org.gridsuite.voltageinit.server.dto.ReactiveSlack;
import org.gridsuite.voltageinit.server.dto.VoltageInitResult;
import org.gridsuite.voltageinit.server.dto.VoltageInitStatus;
import org.gridsuite.voltageinit.server.entities.VoltageInitResultEntity;
import org.gridsuite.voltageinit.server.repository.VoltageInitResultRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

Expand All @@ -25,17 +21,11 @@
/**
* @author Etienne Homer <etienne.homer at rte-france.com>
*/
@ComponentScan(basePackageClasses = {NetworkStoreService.class})
@Service
public class VoltageInitService {
@Autowired
NotificationService notificationService;

@Autowired
NetworkModificationService networkModificationService;

private final NotificationService notificationService;
private final NetworkModificationService networkModificationService;
private final UuidGeneratorService uuidGeneratorService;

private final VoltageInitResultRepository resultRepository;

public VoltageInitService(NotificationService notificationService,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,17 @@
import org.gridsuite.voltageinit.server.service.parameters.VoltageInitParametersService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.http.HttpStatus;
import org.springframework.messaging.Message;
import org.springframework.stereotype.Service;
import org.springframework.web.server.ResponseStatusException;

import java.util.*;
import java.util.concurrent.*;
import java.util.concurrent.CancellationException;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
Expand Down Expand Up @@ -80,35 +82,35 @@ public class VoltageInitWorkerService {

private final Lock lockRunAndCancelVoltageInit = new ReentrantLock();

@Autowired
NotificationService notificationService;
private final NotificationService notificationService;

public VoltageInitWorkerService(NetworkStoreService networkStoreService,
NetworkModificationService networkModificationService,
VoltageInitParametersService voltageInitParametersService,
VoltageInitResultRepository resultRepository,
ReportService reportService,
VoltageInitExecutionService voltageInitExecutionService,
VoltageInitObserver voltageInitObserver) {
VoltageInitObserver voltageInitObserver,
NotificationService notificationService) {
this.networkStoreService = Objects.requireNonNull(networkStoreService);
this.networkModificationService = Objects.requireNonNull(networkModificationService);
this.voltageInitParametersService = Objects.requireNonNull(voltageInitParametersService);
this.reportService = reportService;
this.resultRepository = Objects.requireNonNull(resultRepository);
this.voltageInitExecutionService = Objects.requireNonNull(voltageInitExecutionService);
this.voltageInitObserver = voltageInitObserver;
this.notificationService = notificationService;
}

private Network getNetwork(UUID networkUuid, String variantId) {
Network network;
try {
network = networkStoreService.getNetwork(networkUuid, PreloadingStrategy.ALL_COLLECTIONS_NEEDED_FOR_BUS_VIEW);
Network network = networkStoreService.getNetwork(networkUuid, PreloadingStrategy.ALL_COLLECTIONS_NEEDED_FOR_BUS_VIEW);
String variant = StringUtils.isBlank(variantId) ? VariantManagerConstants.INITIAL_VARIANT_ID : variantId;
network.getVariantManager().setWorkingVariant(variant);
return network;
} catch (PowsyblException e) {
throw new ResponseStatusException(HttpStatus.NOT_FOUND, e.getMessage());
}
return network;
}

public static void addRestrictedVoltageLevelReport(Map<String, Double> voltageLevelsIdsRestricted, Reporter reporter) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
*/
package org.gridsuite.voltageinit.server.service.parameters;

import lombok.Setter;
import org.gridsuite.voltageinit.server.dto.parameters.FilterEquipments;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.ParameterizedTypeReference;
Expand All @@ -23,21 +24,18 @@
*/
@Service
public class FilterService {

private static final String FILTER_SERVER_API_VERSION = "v1";

private static final String DELIMITER = "/";

private static String filterServerBaseUri;
@Setter
private String filterServerBaseUri;

private final RestTemplate restTemplate = new RestTemplate();

public FilterService(@Value("${gridsuite.services.filter-server.base-uri:http://filter-server/}") String filterServerBaseUri) {
setFilterServerBaseUri(filterServerBaseUri);
}
private final RestTemplate restTemplate;

public static void setFilterServerBaseUri(String filterServerBaseUri) {
FilterService.filterServerBaseUri = filterServerBaseUri;
public FilterService(@Value("${gridsuite.services.filter-server.base-uri:http://filter-server/}") String filterServerBaseUri,
RestTemplate restTemplate) {
this.filterServerBaseUri = filterServerBaseUri;
this.restTemplate = restTemplate;
}

public List<FilterEquipments> exportFilters(List<UUID> filtersUuids, UUID networkUuid, String variantId) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public void setUp() throws IOException {

configureWireMockServer(reportJson);

reportService.setReportServiceBaseUri("http://localhost:" + server.port());
reportService.setBaseUri("http://localhost:" + server.port());
}

@After
Expand Down
Loading