Merge branch 'release/4.1.0'
[cdmlib.git] / cdmlib-model / src / test / java / eu / etaxonomy / cdm / model / DatabaseInitialiser.java
1 /**
2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9
10 package eu.etaxonomy.cdm.model;
11
12 import org.apache.log4j.Logger;
13 import org.hibernate.Session;
14 import org.hibernate.SessionFactory;
15 import org.hibernate.Transaction;
16 import org.springframework.context.support.ClassPathXmlApplicationContext;
17
18 import eu.etaxonomy.cdm.model.name.BotanicalName;
19 import eu.etaxonomy.cdm.model.name.NonViralName;
20 import eu.etaxonomy.cdm.model.name.Rank;
21 //import eu.etaxonomy.cdm.model.reference.Journal;
22 import eu.etaxonomy.cdm.model.reference.IJournal;
23 import eu.etaxonomy.cdm.model.reference.Reference;
24 import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
25 import eu.etaxonomy.cdm.model.taxon.Taxon;
26
27
28 public class DatabaseInitialiser {
29 private static final Logger logger = Logger.getLogger(DatabaseInitialiser.class);
30
31 private static SessionFactory factory;
32 private static ClassPathXmlApplicationContext applicationContext;
33
34 public DatabaseInitialiser() {
35 applicationContext = new ClassPathXmlApplicationContext("appInitContext.xml");
36 factory = (SessionFactory)applicationContext.getBean("sessionFactory");
37 }
38
39 public static Integer insertTaxon(String speciesname){
40 logger.info("Populate database with a taxon");
41 IJournal sec = ReferenceFactory.newJournal();
42 NonViralName<?> nvName = BotanicalName.NewInstance(Rank.SPECIES());
43 Taxon tax = Taxon.NewInstance(nvName, (Reference)sec);
44 //BotanicalName ve = nm.getNextVersion();
45 nvName.setNameCache(speciesname);
46 nvName.setTitleCache(speciesname, true);
47 save(tax);
48 return tax.getId();
49 }
50
51 private static void save(Object obj){
52 Session s = factory.openSession();
53 Transaction tx = s.beginTransaction();
54 s.saveOrUpdate(obj);
55 tx.commit();
56 s.close();
57 }
58
59 public static void main(String[] args) {
60 DatabaseInitialiser dbInit = new DatabaseInitialiser();
61 DatabaseInitialiser.insertTaxon("Abies alba");
62 DatabaseInitialiser.insertTaxon("Polygala vulgaris");
63 }
64 }