package org.quickbundle.orgauth.cache; import java.util.HashMap; import java.util.List; import java.util.Map; import org.quickbundle.base.beans.factory.RmBeanFactory; import org.quickbundle.orgauth.rmpartyview.service.IRmPartyViewService; import org.quickbundle.orgauth.rmpartyview.util.IRmPartyViewConstants; import org.quickbundle.orgauth.rmpartyview.vo.RmPartyViewVo; import org.quickbundle.project.cache.RmAbstractCache; import org.quickbundle.tools.support.log.RmLogHelper; public class RmPartyViewCache extends RmAbstractCache { private Map<String, RmPartyViewVo> mPartyView; protected RmPartyViewVo getPartyViewInner(String view_id) { if(!isInit) { synchronized (this.getClass()) { if(!isInit) { mPartyView = new HashMap<String, RmPartyViewVo>(); IRmPartyViewService partyViewService = (IRmPartyViewService)RmBeanFactory.getBean(IRmPartyViewConstants.SERVICE_KEY); List<RmPartyViewVo> lPartyView = partyViewService.queryByCondition(null, null); for (RmPartyViewVo vo : lPartyView) { mPartyView.put(vo.getId(), vo); } RmLogHelper.getLogger(this.getClass()).info("init ok, mPartyView.size()=" + mPartyView.size()); isInit = true; } } } return (RmPartyViewVo)mPartyView.get(view_id); } /** * 全局单例 */ private static RmPartyViewCache singleton = new RmPartyViewCache(); public static RmPartyViewCache getSingleton() { return singleton; } public static RmPartyViewVo getPartyView(String view_id) { return getSingleton().getPartyViewInner(view_id); } }