package com.vci.server.portal.cache;
|
|
import java.util.List;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import com.vci.server.cache.redis.RedisUtil;
|
import com.vci.server.portal.entity.PLActionClsEntity;
|
import com.vci.server.portal.service.PLActionEntityService;
|
import com.vci.server.portal.tools.ServerTool;
|
import com.alibaba.fastjson.JSONObject;
|
import com.vci.corba.common.VCIError;
|
import com.vci.corba.portal.data.PLActionCls;
|
/**
|
* actioncls缓存
|
* @author zhangxg
|
*
|
*/
|
public class ActionClsCacheUtil extends UICacheBaseUtil<PLActionCls>{
|
private static volatile ActionClsCacheUtil instance = null;
|
|
private ActionClsCacheUtil(){
|
super(UICacheNames.ACTIONCLS, PLActionCls.class);
|
}
|
|
public static void initCache() {
|
try {
|
getInstance().initActionCls();
|
} catch (Throwable e) {
|
e.printStackTrace();
|
}
|
}
|
|
public static ActionClsCacheUtil getInstance() {
|
if (instance == null) {
|
synchronized (ActionClsCacheUtil.class) {
|
if (instance == null) {
|
instance = new ActionClsCacheUtil();
|
}
|
}
|
}
|
|
return instance;
|
}
|
|
@Override
|
public void setObject(PLActionCls obj) {
|
if (obj == null)
|
return;
|
|
String jsonObj = JSONObject.toJSONString(obj);
|
|
RedisUtil.getInstance().hset(getName(), obj.name.toLowerCase(), jsonObj);
|
}
|
|
|
@Override
|
public PLActionCls[] getObjects() {
|
List<PLActionCls> list = getObjectList();
|
|
return list.toArray(new PLActionCls[0]);
|
}
|
|
@Override
|
public void delObject(PLActionCls obj) {
|
if (obj == null || StringUtils.isBlank(obj.name))
|
return;
|
|
RedisUtil.getInstance().hdel(getName(), obj.name.toLowerCase());
|
}
|
|
private void initActionCls() throws VCIError{
|
RedisUtil.getInstance().del(getName());
|
|
List<PLActionClsEntity> clsList = PLActionEntityService.getInstance().getAllActionCls();
|
for(int i = 0; i < clsList.size(); i++) {
|
PLActionClsEntity entity = clsList.get(i);
|
setObject(ServerTool.getPLActionCls(entity));
|
}
|
}
|
}
|