package com.bagri.server.hazelcast.config; import java.util.Collection; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import com.bagri.core.system.Access; import com.bagri.core.system.Entity; import com.bagri.core.system.Role; import com.bagri.core.system.User; public class AccessConfig extends EntityConfig { private Access config; public AccessConfig(String configPath) { super(configPath); try { jctx = JAXBContext.newInstance(Access.class); config = (Access) loadConfig(); } catch (JAXBException ex) { logger.error("init.error: " + ex.getMessage(), ex); //throw new RuntimeException(ex); } } @Override public Collection<? extends Entity> getEntities(Class<? extends Entity> entityClass) { if (entityClass == User.class) { return config.getUsers(); } if (entityClass == Role.class) { return config.getRoles(); } // throw ex ? return null; } @Override public void setEntities(Class<? extends Entity> entityClass, Collection<? extends Entity> entities) { if (entityClass == User.class) { setEntities(config, config.getUsers(), entities); } else if (entityClass == Role.class) { setEntities(config, config.getRoles(), entities); } else { // throw ex? } } }