Рефакторинг

This commit is contained in:
serega6531
2020-02-03 03:11:10 +03:00
parent 17e3d3cb48
commit b387dc4fe3
3 changed files with 110 additions and 75 deletions

View File

@@ -2,12 +2,16 @@ package ru.serega6531.packmate.service;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import ru.serega6531.packmate.model.CtfService;
import ru.serega6531.packmate.model.enums.SubscriptionMessageType;
import ru.serega6531.packmate.model.pojo.SubscriptionMessage;
import ru.serega6531.packmate.repository.ServiceRepository;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@@ -20,18 +24,23 @@ public class ServicesService {
private final ServiceRepository repository;
private final StreamSubscriptionService subscriptionService;
private final InetAddress localIp;
private final Map<Integer, CtfService> services = new HashMap<>();
@Autowired
public ServicesService(ServiceRepository repository, StreamSubscriptionService subscriptionService) {
public ServicesService(ServiceRepository repository,
StreamSubscriptionService subscriptionService,
@Value("${local-ip}") String localIpString) throws UnknownHostException {
this.repository = repository;
this.subscriptionService = subscriptionService;
this.localIp = InetAddress.getByName(localIpString);
repository.findAll().forEach(s -> services.put(s.getPort(), s));
log.info("Loaded {} services", services.size());
}
public Optional<CtfService> findService(String localIp, String firstIp, int firstPort, String secondIp, int secondPort) {
public Optional<CtfService> findService(Inet4Address firstIp, int firstPort, Inet4Address secondIp, int secondPort) {
if (firstIp.equals(localIp)) {
return findByPort(firstPort);
} else if (secondIp.equals(localIp)) {