yurake/k8s-3tier-webapp

View on GitHub
application/jaxrs-hazelcast-quarkus/src/main/java/webapp/tier/service/HazelcastCacheService.java

Summary

Maintainability
A
0 mins
Test Coverage
package webapp.tier.service;

import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger;

import javax.enterprise.context.ApplicationScoped;

import org.eclipse.microprofile.config.inject.ConfigProperty;

import com.hazelcast.core.HazelcastInstance;

import webapp.tier.bean.MsgBean;
import webapp.tier.util.CreateId;

@ApplicationScoped
public class HazelcastCacheService {

    private final Logger logger = Logger.getLogger(this.getClass().getSimpleName());

    @ConfigProperty(name = "common.message")
    String message;

    @ConfigProperty(name = "hazelcast.cache.name")
    String cachename;

    public MsgBean setMsg(HazelcastInstance client) throws NoSuchAlgorithmException {
        MsgBean msgbean = new MsgBean(CreateId.createid(), message, "Set");
        try {
            Map<Integer, String> map = client.getMap(cachename);
            map.put(msgbean.getId(), msgbean.getMessage());
        } finally {
            if (client != null) {
                client.shutdown();
            }
        }
        logger.info(msgbean.getFullmsg());
        return msgbean;
    }

    public MsgBean getMsg(HazelcastInstance client) {
        List<MsgBean> msglist = getMsgList(client);
        return msglist.get(msglist.size() - 1);

    }

    public List<MsgBean> getMsgList(HazelcastInstance client) {
        List<MsgBean> msglist = new ArrayList<>();

        try {
            Map<Integer, String> map = client.getMap(cachename);

            for (Entry<Integer, String> entry : map.entrySet()) {
                MsgBean msgbean = new MsgBean(entry.getKey(), entry.getValue(), "Get");
                logger.info(msgbean.getFullmsg());
                msglist.add(msgbean);
            }
            if (msglist.isEmpty()) {
                msglist.add(new MsgBean(0, "No Data.", "Get"));
            }
        } finally {
            if (client != null) {
                client.shutdown();
            }
        }
        return msglist;
    }
}