Package org.ajax4jsf.webapp

Source Code of org.ajax4jsf.webapp.PollEventsManager

/**
*
*/
package org.ajax4jsf.webapp;

import java.io.Serializable;
import java.util.Map;
import java.util.Properties;

import javax.faces.FacesException;
import javax.servlet.ServletContext;

import org.ajax4jsf.cache.Cache;
import org.ajax4jsf.cache.CacheConfigurationLoader;
import org.ajax4jsf.cache.CacheException;
import org.ajax4jsf.cache.CacheFactory;
import org.ajax4jsf.cache.CacheLoader;
import org.ajax4jsf.cache.CacheManager;
import org.ajax4jsf.cache.ServletContextInitMap;

/**
* @author asmirnov
*
*/
public class PollEventsManager implements Serializable, CacheLoader, CacheConfigurationLoader {

    public static final String EVENTS_MANAGER_KEY=PollEventsManager.class.getName();

    private Cache cache;
   
    public void init(ServletContext servletContext) {
      try {
    CacheManager cacheManager = CacheManager.getInstance();
    Map env = new ServletContextInitMap(servletContext);
    CacheFactory cacheFactory = cacheManager.getCacheFactory(env);
    this.cache = cacheFactory.createCache(env, this, this);
    servletContext.setAttribute(EVENTS_MANAGER_KEY, this);
  } catch (CacheException e) {
    throw new FacesException(e.getMessage(), e);
  }

    }
   
    public PushEventsCounter getListener(String key){
  if(null == cache){
      throw new FacesException("Poll events manager not initialized");     
  }
  try {
      return (PushEventsCounter) cache.get(key, null);
  } catch (CacheException e) {
      throw new FacesException("error get push events listener for key "+key,e);
  }
    }

    public Object load(Object key, Object context) throws CacheException {
  // TODO Auto-generated method stub
  return new PushEventsCounter();
    }

    public Properties loadProperties(String name) {
  return new Properties();
    }
}
TOP

Related Classes of org.ajax4jsf.webapp.PollEventsManager

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.