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

com.github.mikesafonov.smpp.server.MockSmppServerHolder Maven / Gradle / Ivy

There is a newer version: 1.5.0
Show newest version
package com.github.mikesafonov.smpp.server;

import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;

import java.util.List;
import java.util.Optional;

/**
 * Holder class for list of {@link MockSmppServer}
 *
 * @author Mike Safonov
 */
@Slf4j
@Getter
@RequiredArgsConstructor
public class MockSmppServerHolder {
    private final List servers;

    /**
     * Starts all {@link MockSmppServer}
     */
    public void startAll() {
        for (MockSmppServer server : servers) {
            log.info("Starting " + server.getDescription());
            server.start();
            log.info(server.getDescription() + " started");
        }
    }

    /**
     * Stops all {@link MockSmppServer}
     */
    public void stopAll() {
        for (MockSmppServer server : servers) {
            log.info("Stopping " + server.getDescription());
            server.stop();
            log.info(server.getDescription() + " stopped");
        }
    }

    /**
     * @return true if all servers started
     */
    public boolean isAllStarted() {
        return servers.stream()
                .allMatch(MockSmppServer::isStarted);
    }

    /**
     * @param name server name
     * @return {@link MockSmppServer} with given name
     */
    public Optional getByName(String name) {
        return servers.stream()
                .filter(mockSmppServer -> mockSmppServer.getName().equals(name))
                .findFirst();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy