Project

General

Profile

Download (5.87 KB) Statistics
| Branch: | 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

    
10
package eu.etaxonomy.cdm.app.globis;
11

    
12
import java.util.UUID;
13

    
14
import org.apache.log4j.Logger;
15

    
16
import eu.etaxonomy.cdm.api.application.ICdmRepository;
17
import eu.etaxonomy.cdm.app.common.CdmDestinations;
18
import eu.etaxonomy.cdm.app.common.CdmImportSources;
19
import eu.etaxonomy.cdm.common.CdmUtils;
20
import eu.etaxonomy.cdm.database.DbSchemaValidation;
21
import eu.etaxonomy.cdm.database.ICdmDataSource;
22
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
23
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
24
import eu.etaxonomy.cdm.io.common.IImportConfigurator.DO_REFERENCES;
25
import eu.etaxonomy.cdm.io.common.IImportConfigurator.EDITOR;
26
import eu.etaxonomy.cdm.io.common.Source;
27
import eu.etaxonomy.cdm.io.globis.GlobisImportConfigurator;
28
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;
29
import eu.etaxonomy.cdm.model.name.TaxonName;
30
import eu.etaxonomy.cdm.model.permission.User;
31

    
32
/**
33
 * @author a.mueller
34
 * @since 14.04.2010
35
 */
36
public class GlobisActivator {
37
	private static final Logger logger = Logger.getLogger(GlobisActivator.class);
38

    
39
	//database validation status (create, update, validate ...)
40
	static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;
41
	static final Source globisSource = CdmImportSources.GLOBIS_MDB_20140113_PESIIMPORT_SQLSERVER();
42
//	static final ICdmDataSource cdmDestination = CdmDestinations.localH2();
43
//	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql();
44
	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_globis();
45
//	static final ICdmDataSource cdmDestination = CdmDestinations.cdm_production_globis();
46

    
47

    
48
	static final UUID classificationUuid = UUID.fromString("8bd27d84-fd4f-4bfa-bde0-3e6b7311b334");
49
	static final UUID featureTreeUuid = UUID.fromString("33cbf7a8-0c47-4d47-bd11-b7d77a38d0f6");
50
	//static final Object[] featureKeyList = new Integer[]{1,4,5,10,11,12,13,14, 249, 250, 251, 252, 253};
51

    
52
	static final String classificationName = "Globis";
53
	static final String sourceReferenceTitle = "Globis Informix Database";
54

    
55
	static final EDITOR editor = EDITOR.EDITOR_AS_EDITOR;
56

    
57
	static final String imageBaseUrl = "http://globis-images.insects-online.de/images/";
58

    
59
	//check - import
60
	static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
61

    
62
	static final int partitionSize = 3000;
63

    
64
	//NomenclaturalCode
65
	static final NomenclaturalCode nomenclaturalCode = NomenclaturalCode.ICZN;
66

    
67
	static final boolean doReadMediaData = false;
68

    
69
// ***************** ALL ************************************************//
70

    
71
	//authors
72
	static final boolean doAuthors = true;
73

    
74
//	//references
75
	static final DO_REFERENCES doReferences =  DO_REFERENCES.ALL;
76

    
77
	//taxa
78
	static final boolean doCurrentTaxa = true;
79
	static final boolean doSpecTaxa = true;
80
	static final boolean doImages = true;
81
	static final boolean doCommonNames = true;
82

    
83
//******************** NONE ***************************************//
84

    
85
//	//authors
86
//	static final boolean doAuthors = false;
87
//
88
//	//references
89
//	static final DO_REFERENCES doReferences =  DO_REFERENCES.NONE;
90
//
91
//	//taxa
92
//	static final boolean doCurrentTaxa = false;
93
//	static final boolean doSpecTaxa = false;
94
//	static final boolean doImages = false;
95
//	static final boolean doCommonNames = false;
96

    
97
	public void doImport(Source source, ICdmDataSource destination){
98
		System.out.println("Start import from ("+ globisSource.getDatabase() + ") ...");
99

    
100
		GlobisImportConfigurator config = GlobisImportConfigurator.NewInstance(source,  destination);
101

    
102
		config.setClassificationUuid(classificationUuid);
103
		config.setNomenclaturalCode(nomenclaturalCode);
104

    
105
		config.setDoReadMediaData(doReadMediaData);
106
		config.setDoReferences(doReferences);
107
		config.setDoAuthors(doAuthors);
108

    
109
		config.setDoCurrentTaxa(doCurrentTaxa);
110
		config.setDoSpecTaxa(doSpecTaxa);
111
		config.setDoImages(doImages);
112
		config.setDoCommonNames(doCommonNames);
113
		config.setImageBaseUrl(imageBaseUrl);
114

    
115
		config.setDbSchemaValidation(hbm2dll);
116
		config.setCheck(check);
117
		config.setRecordsPerTransaction(partitionSize);
118
		config.setClassificationName(classificationName);
119
		config.setSourceReferenceTitle(sourceReferenceTitle);
120
		config.setEditor(editor);
121

    
122
		// invoke import
123
		CdmDefaultImport<GlobisImportConfigurator> globisImport = new CdmDefaultImport<>();
124
		globisImport.invoke(config);
125

    
126
		if (config.isDoNewUser()){
127
			//single user or all
128

    
129
			String user = CdmUtils.readInputLine("Please insert username : ");
130
			String pwd = CdmUtils.readInputLine("Please insert password for user '" + CdmUtils.Nz(user) + "': ");
131
			ICdmRepository app = globisImport.getCdmAppController();
132
			app.getUserService().save(User.NewInstance(user, pwd));
133
		}
134

    
135
		if (config.getCheck().equals(CHECK.CHECK_AND_IMPORT)  || config.getCheck().equals(CHECK.IMPORT_WITHOUT_CHECK)    ){
136
			ICdmRepository app = globisImport.getCdmAppController();
137
			TaxonName obj = app.getCommonService().getSourcedObjectByIdInSource(TaxonName.class, "1000027", null);
138
			logger.info(obj);
139

    
140
//			//make feature tree
141
//			FeatureTree tree = TreeCreator.flatTree(featureTreeUuid, ermsImportConfigurator.getFeatureMap(), featureKeyList);
142
//			app = ermsImport.getCdmAppController();
143
//			app.getFeatureTreeService().saveOrUpdate(tree);
144
		}
145
		System.out.println("End import from ("+ source.getDatabase() + ")...");
146
	}
147

    
148
	public static void main(String[] args) {
149

    
150
		//make Globis Source
151
		Source source = globisSource;
152
		ICdmDataSource destination = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmDestination;
153
		GlobisActivator me = new GlobisActivator();
154
		me.doImport(source, destination);
155
	}
156
}
    (1-1/1)