Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@
/pom.xml.releaseBackup
/release.properties
/settings.xml
.idea/
*.iml

Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
public class HibernateUtil {
private final static Logger LOGGER = Logger.getLogger(HibernateUtil.class.getName());

private static SessionFactory factory = null;

private static Configuration getConfig(final Properties extraProperties) throws HibernateException {
LOGGER.log(Level.INFO, Messages.HibernateUtil_LoadConfig());
final Configuration config = new AnnotationConfiguration().configure();
Expand All @@ -38,19 +40,20 @@ private static Configuration getConfig(final Properties extraProperties) throws
}

public static SessionFactory getSessionFactory(final Properties extraProperties) {
SessionFactory retval = null;

try {
// Load base configuration from hibernate.cfg.xml
final Configuration config = getConfig(extraProperties);
retval = config.buildSessionFactory();
} catch (final Exception e) {
// Make sure you log the exception, as it might be swallowed
LOGGER.log(Level.SEVERE, Messages.HibernateUtil_FailedSessionFactory(), e);
throw new RuntimeException(e);

if (factory == null){
try {
// Load base configuration from hibernate.cfg.xml
final Configuration config = getConfig(extraProperties);
factory = config.buildSessionFactory();
} catch (final Exception e) {
// Make sure you log the exception, as it might be swallowed
LOGGER.log(Level.SEVERE, Messages.HibernateUtil_FailedSessionFactory(), e);
throw new RuntimeException(e);
}
}
return factory;

return retval;
}

public static SessionFactory getSessionFactory() {
Expand Down
9 changes: 5 additions & 4 deletions src/main/resources/hibernate.cfg.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="c3p0.max_size">10</property>
<property name="c3p0.min_size">2</property>
<property name="c3p0.timeout">1800</property>
<property name="c3p0.max_statements">50</property>
<property name="hibernate.c3p0.max_size">10</property>
<property name="hibernate.c3p0.min_size">2</property>
<property name="hibernate.c3p0.timeout">1800</property>
<property name="hibernate.c3p0.idle_test_period">1800</property>
<property name="hibernate.c3p0.max_statements">20</property>
<property name="connection.autocommit">true</property>
<property name="current_session_context_class">thread</property>
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,16 @@
import java.util.Map;
import java.util.Map.Entry;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.jenkins.plugins.audit2db.data.BuildDetailsRepository;
import org.jenkins.plugins.audit2db.internal.data.AbstractHibernateRepository;
import org.jenkins.plugins.audit2db.internal.data.BuildDetailsHibernateRepository;
import org.jenkins.plugins.audit2db.internal.data.HibernateUtil;
import org.jenkins.plugins.audit2db.model.BuildDetails;
import org.jenkins.plugins.audit2db.model.BuildNode;
import org.jenkins.plugins.audit2db.model.BuildParameter;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.HibernateTransactionManager;
Expand All @@ -31,13 +33,20 @@
public class BuildDetailsHibernateRepositoryTests {
final String hostName = "MY_JENKINS";

private final BuildDetailsRepository repository = new BuildDetailsHibernateRepository(
HibernateUtil.getSessionFactory(HibernateUtil.getExtraProperties(
TestUtils.JDBC_DRIVER, TestUtils.JDBC_URL,
TestUtils.JDBC_USER, TestUtils.JDBC_PASS)));
private BuildDetailsRepository repository;
private HibernateTransactionManager txmgr;

@Before
public void setUp () {

SessionFactory sessionFactory=new AnnotationConfiguration().configure("hibernate.cfg.xml").buildSessionFactory();

repository = new BuildDetailsHibernateRepository(sessionFactory);

txmgr = ((BuildDetailsHibernateRepository) repository)
.getTransactionManager();
}

final HibernateTransactionManager txmgr = ((BuildDetailsHibernateRepository) repository)
.getTransactionManager();

@Test
public void createShouldReturnMatchingId() {
Expand Down
11 changes: 6 additions & 5 deletions src/test/resources/hibernate.cfg.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">org.hsqldb.jdbc.JDBCDriver</property>
<property name="connection.url">jdbc:hsqldb:mem:test</property>
<property name="connection.username">SA</property>
<property name="connection.password"></property>
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
<property name="hibernate.connection.driver_class">org.hsqldb.jdbc.JDBCDriver</property>
<property name="hibernate.connection.url">jdbc:hsqldb:mem:test</property>
<property name="hibernate.connection.username">SA</property>
<property name="hibernate.connection.password"></property>
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
<property name="hibernate.hbm2ddl.auto">create-drop</property>
<property name="c3p0.max_size">10</property>
<property name="c3p0.min_size">2</property>
<property name="c3p0.timeout">1800</property>
Expand Down