parent
00463948db
commit
c664335349
@ -0,0 +1,47 @@ |
|||||||
|
package de.kreth.vaadin.clubhelper; |
||||||
|
|
||||||
|
import org.hibernate.cfg.Configuration; |
||||||
|
|
||||||
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Adress; |
||||||
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Attendance; |
||||||
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Contact; |
||||||
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.DeletedEntry; |
||||||
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.GroupDef; |
||||||
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Person; |
||||||
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Persongroup; |
||||||
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Relative; |
||||||
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Startpaesse; |
||||||
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.StartpassStartrechte; |
||||||
|
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.Version; |
||||||
|
|
||||||
|
public enum HibernateHolder { |
||||||
|
|
||||||
|
INSTANCE; |
||||||
|
final Configuration configuration = createConfig(); |
||||||
|
|
||||||
|
org.hibernate.cfg.Configuration createConfig() { |
||||||
|
Configuration configuration = new Configuration(); |
||||||
|
configuration.addAnnotatedClass(Adress.class); |
||||||
|
configuration.addAnnotatedClass(Attendance.class); |
||||||
|
configuration.addAnnotatedClass(Contact.class); |
||||||
|
configuration.addAnnotatedClass(DeletedEntry.class); |
||||||
|
configuration.addAnnotatedClass(GroupDef.class); |
||||||
|
configuration.addAnnotatedClass(Person.class); |
||||||
|
configuration.addAnnotatedClass(Persongroup.class); |
||||||
|
configuration.addAnnotatedClass(Relative.class); |
||||||
|
configuration.addAnnotatedClass(Startpaesse.class); |
||||||
|
configuration.addAnnotatedClass(StartpassStartrechte.class); |
||||||
|
configuration.addAnnotatedClass(Version.class); |
||||||
|
configuration.addInputStream(getClass().getResourceAsStream("/schema/ClubEvent.hbm.xml")); |
||||||
|
|
||||||
|
configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.H2Dialect"); |
||||||
|
configuration.setProperty("hibernate.connection.driver_class", "org.h2.Driver"); |
||||||
|
configuration.setProperty("hibernate.connection.url", "jdbc:h2:mem:test"); |
||||||
|
configuration.setProperty("hibernate.hbm2ddl.auto", "create"); |
||||||
|
return configuration; |
||||||
|
} |
||||||
|
|
||||||
|
public static Configuration configuration() { |
||||||
|
return INSTANCE.configuration; |
||||||
|
} |
||||||
|
} |
||||||
@ -1,48 +0,0 @@ |
|||||||
package de.kreth.vaadin.clubhelper.vaadinclubhelper.dao; |
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals; |
|
||||||
|
|
||||||
import java.time.ZoneId; |
|
||||||
import java.time.ZonedDateTime; |
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
import org.hibernate.query.Query; |
|
||||||
import org.junit.jupiter.api.Disabled; |
|
||||||
import org.junit.jupiter.api.Test; |
|
||||||
import org.junit.runner.RunWith; |
|
||||||
import org.springframework.beans.factory.annotation.Autowired; |
|
||||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; |
|
||||||
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; |
|
||||||
import org.springframework.test.context.junit4.SpringRunner; |
|
||||||
|
|
||||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.ClubEvent; |
|
||||||
import de.kreth.vaadin.clubhelper.vaadinclubhelper.data.ClubEventBuilder; |
|
||||||
|
|
||||||
@RunWith(SpringRunner.class) |
|
||||||
@DataJpaTest |
|
||||||
@EnableAutoConfiguration |
|
||||||
@Disabled |
|
||||||
public class ClubEventDaoTest extends AbstractDatabaseTest { |
|
||||||
|
|
||||||
@Autowired |
|
||||||
private ClubEventDao dao; |
|
||||||
|
|
||||||
@Test |
|
||||||
public void storeEvent() { |
|
||||||
dao.save(creteEvent()); |
|
||||||
|
|
||||||
Query<ClubEvent> query = session.createNamedQuery("ClubEvent.findAll", ClubEvent.class); |
|
||||||
List<ClubEvent> result = query.list(); |
|
||||||
assertEquals(1, result.size()); |
|
||||||
} |
|
||||||
|
|
||||||
private ClubEvent creteEvent() { |
|
||||||
ClubEvent ev = ClubEventBuilder.builder().withId("id").withAllDay(true).withCaption("caption") |
|
||||||
.withDescription("description") |
|
||||||
.withStart(ZonedDateTime.of(2018, 8, 13, 0, 0, 0, 0, ZoneId.systemDefault())) |
|
||||||
.withEnd(ZonedDateTime.of(2018, 8, 13, 0, 0, 0, 0, ZoneId.systemDefault())).withiCalUID("iCalUID") |
|
||||||
.withOrganizerDisplayName("organizerDisplayName").build(); |
|
||||||
return ev; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
@ -1,59 +1,26 @@ |
|||||||
package de.kreth.vaadin.clubhelper.vaadinclubhelper.dao; |
package de.kreth.vaadin.clubhelper.vaadinclubhelper.dao; |
||||||
|
|
||||||
import java.io.IOException; |
|
||||||
|
|
||||||
import org.hibernate.Session; |
|
||||||
import org.hibernate.SessionFactory; |
|
||||||
import org.hibernate.cfg.Configuration; |
import org.hibernate.cfg.Configuration; |
||||||
import org.springframework.beans.factory.annotation.Autowired; |
|
||||||
import org.springframework.boot.SpringBootConfiguration; |
import org.springframework.boot.SpringBootConfiguration; |
||||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; |
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; |
||||||
import org.springframework.context.annotation.Bean; |
import org.springframework.context.annotation.Bean; |
||||||
import org.springframework.core.io.Resource; |
|
||||||
import org.springframework.core.io.ResourceLoader; |
|
||||||
import org.springframework.core.io.support.ResourcePatternUtils; |
|
||||||
import org.springframework.orm.hibernate5.LocalSessionFactoryBean; |
import org.springframework.orm.hibernate5.LocalSessionFactoryBean; |
||||||
|
|
||||||
|
import de.kreth.vaadin.clubhelper.HibernateHolder; |
||||||
|
|
||||||
@SpringBootConfiguration |
@SpringBootConfiguration |
||||||
@EnableAutoConfiguration |
@EnableAutoConfiguration |
||||||
public class DatabaseTestBean { |
public class DatabaseTestBean { |
||||||
|
|
||||||
@Autowired |
|
||||||
private ResourceLoader rl; |
|
||||||
|
|
||||||
@Bean |
@Bean |
||||||
public LocalSessionFactoryBean sessionFactory() throws Exception { |
public LocalSessionFactoryBean sessionFactory() throws Exception { |
||||||
MyTestDatabase tdb = new MyTestDatabase(); |
|
||||||
Configuration config = tdb.createConfig(); |
|
||||||
|
|
||||||
LocalSessionFactoryBean sessionFactoryBean = new LocalSessionFactoryBean(); |
|
||||||
sessionFactoryBean.setHibernateProperties(config.getProperties()); |
|
||||||
// Class<?>[] dataClasses = {Adress.class, Attendance.class, Contact.class, DeletedEntry.class, GroupDef.class, Person.class, Persongroup.class, Relative.class, Startpaesse.class, StartpassStartrechte.class, Version.class};
|
|
||||||
// sessionFactoryBean.setMappingLocations(loadResources());
|
|
||||||
// sessionFactoryBean.setAnnotatedClasses(dataClasses);
|
|
||||||
|
|
||||||
return sessionFactoryBean; |
|
||||||
} |
|
||||||
|
|
||||||
public Resource[] loadResources() { |
Configuration config = HibernateHolder.configuration(); |
||||||
Resource[] resources = null; |
|
||||||
try { |
LocalSessionFactoryBean sessionFactoryBean = new LocalSessionFactoryBean(); |
||||||
resources = ResourcePatternUtils.getResourcePatternResolver(rl) |
sessionFactoryBean.setHibernateProperties(config.getProperties()); |
||||||
.getResources("classpath:/schema/*.hbm.xml"); |
|
||||||
} catch (IOException e) { |
return sessionFactoryBean; |
||||||
throw new RuntimeException(e); |
|
||||||
} |
|
||||||
return resources; |
|
||||||
} |
|
||||||
|
|
||||||
class MyTestDatabase extends AbstractDatabaseTest { |
|
||||||
|
|
||||||
public SessionFactory getSessionFactory() { |
|
||||||
return sessionFactory; |
|
||||||
} |
|
||||||
|
|
||||||
public Session getSession() { |
|
||||||
return session; |
|
||||||
} |
|
||||||
} |
} |
||||||
|
|
||||||
} |
} |
||||||
|
|||||||
Loading…
Reference in new issue