package jnpf.dmsService.search.ocr;
|
|
import jnpf.dmsService.search.DmsSearchProperties;
|
import org.springframework.stereotype.Component;
|
|
import java.util.List;
|
import java.util.Locale;
|
import java.util.Optional;
|
|
@Component
|
public class DmsOcrAdapterRegistry {
|
private final DmsSearchProperties properties;
|
private final List<DmsOcrAdapter> adapters;
|
|
public DmsOcrAdapterRegistry(DmsSearchProperties properties, List<DmsOcrAdapter> adapters) {
|
this.properties = properties;
|
this.adapters = adapters;
|
}
|
|
public Optional<DmsOcrAdapter> configuredAdapter() {
|
if (!properties.getOcr().isEnabled()) {
|
return Optional.empty();
|
}
|
String provider = properties.getOcr().getProvider().trim().toLowerCase(Locale.ROOT);
|
return adapters.stream()
|
.filter(adapter -> adapter.provider().trim().toLowerCase(Locale.ROOT).equals(provider))
|
.findFirst();
|
}
|
}
|