001
014
015 package com.liferay.portal.dao.jdbc;
016
017 import com.liferay.portal.kernel.dao.jdbc.CurrentConnection;
018 import com.liferay.portal.kernel.security.pacl.DoPrivileged;
019
020 import java.sql.Connection;
021
022 import javax.sql.DataSource;
023
024 import org.springframework.jdbc.datasource.ConnectionHolder;
025 import org.springframework.transaction.support.TransactionSynchronizationManager;
026
027
030 @DoPrivileged
031 public class CurrentConnectionImpl implements CurrentConnection {
032
033 @Override
034 public Connection getConnection(DataSource dataSource) {
035 ConnectionHolder connectionHolder =
036 (ConnectionHolder)TransactionSynchronizationManager.getResource(
037 dataSource);
038
039 if ((connectionHolder == null) ||
040 (connectionHolder.getConnectionHandle() == null)) {
041
042 return null;
043 }
044 else {
045 return connectionHolder.getConnection();
046 }
047 }
048
049 }