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

io.quarkus.hazelcast.client.runtime.HazelcastConfigurationParser Maven / Gradle / Ivy

The newest version!
package io.quarkus.hazelcast.client.runtime;

import com.hazelcast.client.config.ClientConfig;

class HazelcastConfigurationParser {

    ClientConfig fromApplicationProperties(HazelcastClientConfig config, ClientConfig clientConfig) {
        setClusterName(clientConfig, config);
        setClusterAddress(clientConfig, config);
        setLabels(clientConfig, config);

        setOutboundPorts(clientConfig, config);
        setOutboundPortDefinitions(clientConfig, config);

        setConnectionTimeout(clientConfig, config);

        return clientConfig;
    }

    private void setClusterAddress(ClientConfig clientConfig, HazelcastClientConfig config) {
        if (config.clusterMembers.isPresent()) {
            for (String clusterMember : config.clusterMembers.get()) {
                clientConfig.getNetworkConfig().addAddress(clusterMember);
            }
        }
    }

    private void setClusterName(ClientConfig clientConfig, HazelcastClientConfig config) {
        config.clusterName.ifPresent(clientConfig::setClusterName);
    }

    private void setLabels(ClientConfig clientConfig, HazelcastClientConfig config) {
        if (config.labels.isPresent()) {
            for (String label : config.labels.get()) {
                clientConfig.addLabel(label);
            }
        }
    }

    private void setConnectionTimeout(ClientConfig clientConfig, HazelcastClientConfig config) {
        if (config.connectionTimeout.isPresent()) {
            int timeout = config.connectionTimeout.getAsInt();
            clientConfig.getNetworkConfig().setConnectionTimeout(timeout);
        }
    }

    private void setOutboundPortDefinitions(ClientConfig clientConfig, HazelcastClientConfig config) {
        if (config.outboundPortDefinitions.isPresent()) {
            for (String outboundPortDefinition : config.outboundPortDefinitions.get()) {
                clientConfig.getNetworkConfig().addOutboundPortDefinition(outboundPortDefinition);
            }
        }
    }

    private void setOutboundPorts(ClientConfig clientConfig, HazelcastClientConfig config) {
        if (config.outboundPorts.isPresent()) {
            for (Integer outboundPort : config.outboundPorts.get()) {
                clientConfig.getNetworkConfig().addOutboundPort(outboundPort);
            }
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy