package org.mobicents.slee.xdm.server.datasource.jpa; import javax.slee.resource.ResourceException; import org.apache.log4j.Logger; import org.openxdm.xcap.common.datasource.DataSource; import org.openxdm.xcap.common.error.InternalServerErrorException; import org.openxdm.xcap.server.slee.resource.datasource.AbstractDataSourceResourceAdaptor; /** * JPA DataSource Resource Adaptor's Implementation. * * @author Eduardo Martins * @version 1.0 * */ public class JPADataSourceResourceAdaptor extends AbstractDataSourceResourceAdaptor { /** * */ private static final long serialVersionUID = 1L; static private transient Logger logger = Logger.getLogger(JPADataSourceResourceAdaptor.class); private String serverHost; private int serverPort; private String serverXcapRoot; private JPADataSource dataSource = null; public JPADataSourceResourceAdaptor() { } public void entityActivated() throws ResourceException { super.entityActivated(); logger.info("Configuration: serverhost="+serverHost+",serverPort="+serverPort+",serverXcapRoot="+serverXcapRoot); dataSource = new JPADataSource(); try { dataSource.open(); } catch (Exception e) { throw new ResourceException("Failed to open datasource",e); } } public void entityDeactivated() { super.entityDeactivated(); try { dataSource.close(); } catch (Exception e) { logger.error("Failed to close datasource", e); } dataSource = null; } public DataSource getDataSource() { return dataSource; } public Logger getLogger() { return logger; } }