Project

General

Profile

Download (2.87 KB) Statistics
| Branch: | Tag: | Revision:
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
package eu.etaxonomy.cdm.remote.io.application;
10

    
11
import org.apache.log4j.Logger;
12
import org.springframework.core.io.ClassPathResource;
13
import org.springframework.core.io.Resource;
14

    
15
import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
16
import eu.etaxonomy.cdm.database.DataSourceNotFoundException;
17
import eu.etaxonomy.cdm.database.DbSchemaValidation;
18
import eu.etaxonomy.cdm.database.ICdmDataSource;
19
import eu.etaxonomy.cdm.io.api.application.CdmIoApplicationController;
20
import eu.etaxonomy.cdm.persistence.hibernate.HibernateConfiguration;
21

    
22
//for now we need this controller only within test therefore it is only in test modul
23
public class CdmRemoteApplicationController extends CdmIoApplicationController {
24

    
25
    @SuppressWarnings("unused")
26
	private static final Logger logger = Logger.getLogger(CdmRemoteApplicationController.class);
27

    
28

    
29
	public static final String DEFAULT_APPLICATION_CONTEXT_RESOURCE = "/eu/etaxonomy/cdm/applicationContext-test.xml";
30

    
31

    
32
	public static CdmRemoteApplicationController NewRemoteInstance() {
33
		return CdmRemoteApplicationController.NewRemoteInstance(null, null);
34
	}
35

    
36
	public static CdmRemoteApplicationController NewRemoteInstance(ICdmDataSource dataSource, DbSchemaValidation dbSchemaValidation) {
37
	    try {
38
            dataSource = dataSource == null? getDefaultDatasource() : dataSource;
39
        } catch (DataSourceNotFoundException e) {
40
            throw new RuntimeException(e);
41
        }
42
	    dbSchemaValidation = dbSchemaValidation == null? defaultDbSchemaValidation : dbSchemaValidation;
43
	    return CdmRemoteApplicationController.NewRemoteInstance(dataSource, dbSchemaValidation, null, false);
44
	}
45

    
46
    public static CdmRemoteApplicationController NewRemoteInstance(ICdmDataSource dataSource, DbSchemaValidation dbSchemaValidation,
47
            HibernateConfiguration hibernateConfig, boolean omitTermLoading) {
48
        return new CdmRemoteApplicationController(getClasspathResource(),dataSource, dbSchemaValidation,
49
                hibernateConfig, omitTermLoading, null);
50
    }
51

    
52
// *************************************** CONSTRUCTOR ***********************************************************/
53

    
54
	protected CdmRemoteApplicationController(Resource applicationContextResource, ICdmDataSource dataSource,
55
	        DbSchemaValidation dbSchemaValidation, HibernateConfiguration hibernateConfig,
56
			boolean omitTermLoading, IProgressMonitor progressMonitor) {
57
		super(applicationContextResource, dataSource, dbSchemaValidation, hibernateConfig,
58
		        omitTermLoading, progressMonitor);
59
	}
60

    
61

    
62
    protected static ClassPathResource getClasspathResource() {
63
        return new ClassPathResource(DEFAULT_APPLICATION_CONTEXT_RESOURCE);
64
    }
65
}
    (1-1/1)