/src/main/java/com/ingenieux/nullweblog/util/PersistenceModule.java
https://bitbucket.org/aldrinleal/nullweblog · Java · 57 lines · 45 code · 12 blank · 0 comment · 0 complexity · b3cda0d77185f23ac0ee8a3d6235911e MD5 · raw file
- package com.ingenieux.nullweblog.util;
- import java.util.HashMap;
- import java.util.Map;
- import javax.cache.Cache;
- import javax.cache.CacheFactory;
- import javax.cache.CacheManager;
- import com.google.appengine.api.memcache.stdimpl.GCacheFactory;
- import com.google.appengine.api.users.UserService;
- import com.google.appengine.api.users.UserServiceFactory;
- import com.google.inject.Binder;
- import com.google.inject.Module;
- import com.googlecode.objectify.Objectify;
- import com.googlecode.objectify.ObjectifyService;
- import com.ingenieux.nullweblog.model.Post;
- import com.ingenieux.nullweblog.model.Usuario;
- import com.ingenieux.nullweblog.server.PostDao;
- import com.ingenieux.nullweblog.server.UsuarioDao;
- public class PersistenceModule implements Module {
- @Override
- public void configure(Binder binder) {
- configureCache(binder);
- configurePersistence(binder);
- }
- private void configureCache(Binder binder) {
- try {
- Map<Integer, Object> cacheConfig = new HashMap<Integer, Object>();
- cacheConfig.put(GCacheFactory.EXPIRATION_DELTA, 3600);
- CacheFactory cacheFactory = CacheManager.getInstance()
- .getCacheFactory();
- binder.bind(Cache.class).toInstance(
- cacheFactory.createCache(cacheConfig));
- } catch (Exception exc) {
- throw new RuntimeException(exc);
- }
- }
- private void configurePersistence(Binder binder) {
- ObjectifyService.register(Post.class);
- ObjectifyService.register(Usuario.class);
- binder.bind(UserService.class).toInstance(
- UserServiceFactory.getUserService());
- binder.bind(Objectify.class).toInstance(ObjectifyService.begin());
- binder.bind(PostDao.class).toInstance(new PostDao());
- binder.bind(UsuarioDao.class).toInstance(new UsuarioDao());
- }
- }