36 lines
1.2 KiB
Java
36 lines
1.2 KiB
Java
package eu.eudat.configurations;
|
|
|
|
import eu.eudat.depositinterface.repository.RepositoryDeposit;
|
|
import eu.eudat.repository.DepositRepository;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.web.reactive.function.client.WebClient;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
@Configuration
|
|
@EnableConfigurationProperties({DepositProperties.class})
|
|
public class DepositConfiguration {
|
|
|
|
private final DepositProperties properties;
|
|
|
|
@Autowired
|
|
public DepositConfiguration(DepositProperties properties) {
|
|
this.properties = properties;
|
|
}
|
|
|
|
@Bean
|
|
@Qualifier("depositClients")
|
|
public List<RepositoryDeposit> depositClients() {
|
|
List<RepositoryDeposit> clients = new ArrayList<>();
|
|
for (String url: properties.getUrls()) {
|
|
clients.add(new DepositRepository(WebClient.builder().baseUrl(url + "/api/deposit").build()));
|
|
}
|
|
return clients;
|
|
}
|
|
}
|