45 lines
1.4 KiB
Java
45 lines
1.4 KiB
Java
package com.myoa.engineering.crawl.ppomppu.processor.configuration.properties;
|
|
|
|
import com.myoa.engineering.crawl.ppomppu.support.util.ObjectUtil;
|
|
import java.util.List;
|
|
import lombok.Getter;
|
|
import lombok.Setter;
|
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
@Component
|
|
@Setter
|
|
@Getter
|
|
@ConfigurationProperties(prefix = "datasource")
|
|
public class DatasourceProperties {
|
|
|
|
private List<DataSourcePropertiesUnit> units;
|
|
|
|
@Getter
|
|
@Setter
|
|
public static class DataSourcePropertiesUnit {
|
|
|
|
private String unitName;
|
|
private String schemaName;
|
|
private String connectionParameters;
|
|
private String dbConnectionUrl;
|
|
private Boolean simpleConnectionUrl;
|
|
|
|
public String toCompletedJdbcUrl() {
|
|
if (ObjectUtil.isEmpty(simpleConnectionUrl) || simpleConnectionUrl == false) {
|
|
return String.format("%s/%s?%s", dbConnectionUrl, schemaName, connectionParameters);
|
|
}
|
|
return dbConnectionUrl;
|
|
}
|
|
}
|
|
|
|
public DataSourcePropertiesUnit find(String unitName) {
|
|
return units.stream()
|
|
.filter(e -> e.getUnitName().equals(unitName))
|
|
.findFirst()
|
|
.orElseThrow(
|
|
() -> new IllegalArgumentException(this.getClass().getName() + ": unitName Not found. " + unitName));
|
|
}
|
|
|
|
}
|