Files
spring-boot-rest/microservices-modules/rest-express/src/main/java/com/baeldung/restexpress/Configuration.java
Abhinav Pandey 79ec599309 Bael 5973 - RestExpress example (#13195)
* BAEL-5973 - Restful Microservice with Rest Express

* BAEL-5973 - Restful Microservice with Rest Express

* BAEL-5973 - pom correction

* BAEL-5973 - pom correction

* BAEL-5973 - moving rest-express to microservices modules

* BAEL-5973 - formatting changes

* BAEL-5973 - pom corrections
2023-01-11 19:30:25 +05:30

76 lines
2.9 KiB
Java

package com.baeldung.restexpress;
import com.baeldung.restexpress.objectid.SampleOidEntityController;
import com.baeldung.restexpress.objectid.SampleOidEntityRepository;
import com.baeldung.restexpress.objectid.SampleOidEntityService;
import com.baeldung.restexpress.uuid.SampleUuidEntityController;
import com.baeldung.restexpress.uuid.SampleUuidEntityRepository;
import com.baeldung.restexpress.uuid.SampleUuidEntityService;
import com.strategicgains.repoexpress.mongodb.MongoConfig;
import com.strategicgains.restexpress.plugin.metrics.MetricsConfig;
import org.restexpress.RestExpress;
import org.restexpress.util.Environment;
import java.util.Properties;
public class Configuration
extends Environment {
private static final String DEFAULT_EXECUTOR_THREAD_POOL_SIZE = "20";
private static final String PORT_PROPERTY = "port";
private static final String BASE_URL_PROPERTY = "base.url";
private static final String EXECUTOR_THREAD_POOL_SIZE = "executor.threadPool.size";
private int port;
private String baseUrl;
private int executorThreadPoolSize;
private MetricsConfig metricsSettings;
private SampleUuidEntityController sampleUuidController;
private SampleOidEntityController sampleOidController;
@Override
protected void fillValues(Properties p) {
this.port = Integer.parseInt(p.getProperty(PORT_PROPERTY, String.valueOf(RestExpress.DEFAULT_PORT)));
this.baseUrl = p.getProperty(BASE_URL_PROPERTY, "http://localhost:" + String.valueOf(port));
this.executorThreadPoolSize = Integer.parseInt(p.getProperty(EXECUTOR_THREAD_POOL_SIZE, DEFAULT_EXECUTOR_THREAD_POOL_SIZE));
this.metricsSettings = new MetricsConfig(p);
MongoConfig mongo = new MongoConfig(p);
initialize(mongo);
}
private void initialize(MongoConfig mongo) {
SampleUuidEntityRepository samplesUuidRepository = new SampleUuidEntityRepository(mongo.getClient(), mongo.getDbName());
SampleUuidEntityService sampleUuidService = new SampleUuidEntityService(samplesUuidRepository);
sampleUuidController = new SampleUuidEntityController(sampleUuidService);
SampleOidEntityRepository samplesOidRepository = new SampleOidEntityRepository(mongo.getClient(), mongo.getDbName());
SampleOidEntityService sampleOidService = new SampleOidEntityService(samplesOidRepository);
sampleOidController = new SampleOidEntityController(sampleOidService);
}
public int getPort() {
return port;
}
public String getBaseUrl() {
return baseUrl;
}
public int getExecutorThreadPoolSize() {
return executorThreadPoolSize;
}
public MetricsConfig getMetricsConfig() {
return metricsSettings;
}
public SampleUuidEntityController getSampleUuidEntityController() {
return sampleUuidController;
}
public SampleOidEntityController getSampleOidEntityController() {
return sampleOidController;
}
}