/**
* Copyright (c) 2009-2014 Câmara dos Deputados. Todos os direitos reservados.
*
* e-Democracia é um software livre; você pode redistribuí-lo e/ou modificá-lo dentro
* dos termos da Licença Pública Geral Menor GNU como publicada pela Fundação do
* Software Livre (FSF); na versão 2.1 da Licença, ou (na sua opinião) qualquer versão.
*
* Este programa é distribuído na esperança de que possa ser útil, mas SEM NENHUMA GARANTIA;
* sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR.
* Veja a Licença Pública Geral Menor GNU para maiores detalhes.
*/
package br.gov.camara.edemocracia.util;
import com.liferay.portal.kernel.cache.MultiVMPool;
import com.liferay.portal.kernel.cache.MultiVMPoolUtil;
import com.liferay.portal.kernel.cache.PortalCache;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.util.StringPool;
public class LinkSalasCacheUtil {
private static final Log LOG = LogFactoryUtil.getLog(LinkSalasCacheUtil.class);
private static String CACHE_NAME = "cacheLinkSalas";
private static String CACHE_NAME_ENTRAR = CACHE_NAME + "entrar";
private static String CACHE_NAME_ESPIAR = CACHE_NAME + "espiar";
private static String CACHE_NAME_VER_HISTORICO = CACHE_NAME + "historico";
private static int CACHE_EXPERIATION_TIME = 60*60;
private static PortalCache cacheLinkEntrar;
private static PortalCache cacheLinkEspiar;
private static PortalCache cacheLinkVerHistorico;
private LinkSalasCacheUtil(){
}
static {
MultiVMPool multiVMPool = MultiVMPoolUtil.getMultiVMPool();
cacheLinkEntrar = multiVMPool.getCache(CACHE_NAME_ENTRAR, false);
cacheLinkEspiar = multiVMPool.getCache(CACHE_NAME_ESPIAR, false);
cacheLinkVerHistorico = multiVMPool.getCache(CACHE_NAME_VER_HISTORICO, false);
}
public static String getLinkEntrar(Long roomId) {
String value = null;
try {
value = (String) cacheLinkEntrar.get(roomId);
} catch (Exception e) {
LOG.error(e.getLocalizedMessage());
}
if(value == null){
value = StringPool.BLANK;
}
return value;
}
public static String getLinkEspiar(Long roomId) {
String value = null;
try {
value = (String) cacheLinkEspiar.get(roomId);
} catch (Exception e) {
LOG.error(e.getLocalizedMessage());
}
if(value == null){
value = StringPool.BLANK;
}
return value;
}
public static String getLinkVerHistorico(Long roomId) {
String value = null;
try {
value = (String) cacheLinkVerHistorico.get(roomId);
} catch (Exception e) {
LOG.error(e.getLocalizedMessage());
}
if(value == null){
value = StringPool.BLANK;
}
return value;
}
public static void setLinkEntrar(Long roomId, String url) {
try {
String valueFromCache = getLinkEntrar(roomId);
if (valueFromCache.equals(StringPool.BLANK)) {
cacheLinkEntrar.put(roomId, url, CACHE_EXPERIATION_TIME);
}
} catch (Exception e) {
LOG.error(e.getLocalizedMessage());
}
}
public static void setLinkEspiar(Long roomId, String url) {
try {
String valueFromCache = getLinkEspiar(roomId);
if (valueFromCache.equals(StringPool.BLANK)) {
cacheLinkEspiar.put(roomId, url, CACHE_EXPERIATION_TIME);
}
} catch (Exception e) {
LOG.error(e.getLocalizedMessage());
}
}
public static void setLinkVerHistorico(Long roomId, String url) {
try {
String valueFromCache = getLinkVerHistorico(roomId);
if (valueFromCache.equals(StringPool.BLANK)) {
cacheLinkVerHistorico.put(roomId, url, CACHE_EXPERIATION_TIME);
}
} catch (Exception e) {
LOG.error(e.getLocalizedMessage());
}
}
public static void limparCaches() {
cacheLinkEntrar.removeAll();
cacheLinkEspiar.removeAll();
cacheLinkVerHistorico.removeAll();
}
}