All Downloads are FREE. Search and download functionalities are using the official Maven repository.

it.netgrid.got.edc.inject.modules.EdcConnectorModule Maven / Gradle / Ivy

There is a newer version: 0.0.4
Show newest version
package it.netgrid.got.edc.inject.modules;

import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import com.google.inject.Singleton;

import it.nergrid.got.edc.CloudClient;
import it.nergrid.got.edc.ECTopic;
import it.nergrid.got.edc.PayloadConverter;
import it.netgrid.got.edc.properties.CloudPropertiesConfiguration;
import it.netgrid.got.edc.properties.CloudPropertiesConfigurationImplementation;
import it.netgrid.got.edc.properties.EdcPropertiesConfiguration;
import it.netgrid.got.edc.properties.EdcPropertiesConfigurationImplementation;

public class EdcConnectorModule extends AbstractModule {
	private ECTopic ecTopic;
	private CloudClient cloudClient;

	@Override
	protected void configure() {
		ecTopic = new ECTopic(buildConverter());
		cloudClient = new CloudClient(buildCloudConfiguration(), ecTopic);
		ecTopic.setClient(cloudClient);
	}

	@Singleton
	@Provides
	public CloudClient buildClient() {
		return cloudClient;
	}

	@Singleton
	@Provides
	public EdcPropertiesConfiguration buildConfiguration() {
		return new EdcPropertiesConfigurationImplementation();
	}

	public CloudPropertiesConfiguration buildCloudConfiguration() {
		return new CloudPropertiesConfigurationImplementation();
	}

	@Singleton
	@Provides
	public PayloadConverter buildConverter() {
		return new PayloadConverter();
	}

	@Singleton
	@Provides
	public ECTopic buildECTopic() {
		return ecTopic;
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy