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

org.khasanof.executors.determination.SimpleDeterminationService Maven / Gradle / Ivy

package org.khasanof.executors.determination;

import org.khasanof.config.ApplicationProperties;
import org.khasanof.config.Config;
import org.khasanof.enums.ProcessType;
import org.khasanof.model.InvokerResult;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
import org.telegram.telegrambots.meta.api.objects.Update;

import java.util.*;
import java.util.function.BiConsumer;
import java.util.stream.Collectors;

/**
 * @author Nurislom
 * @see org.khasanof.executors.determination
 * @since 16.07.2023 17:00
 */
@Component
public class SimpleDeterminationService implements DeterminationService, Config {

    private final Map>>> orderListMap = new TreeMap<>();
    private final ApplicationContext applicationContext;
    private final ApplicationProperties.Bot bot;

    public SimpleDeterminationService(ApplicationContext applicationContext, ApplicationProperties properties) {
        this.applicationContext = applicationContext;
        this.bot = properties.getBot();
    }

    @Override
    public List>> getDeterminations() {
        return orderListMap.values().stream().filter(Objects::nonNull)
                .flatMap(Collection::stream).collect(Collectors.toList());
    }

    @Override
    public void runnable() {
        DeterminationAdapter determinationAdapter = new DeterminationAdapter();
        determinationAdapter.fillMap(orderListMap, applicationContext, this.bot.getProcessType());
    }

    @Override
    public ProcessType processType() {
        return ProcessType.BOTH;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy