Project

General

Profile

« Previous | Next » 

Revision 50818ab7

Added by Katja Luther over 8 years ago

adapt the import classes to the new return type ImportResult

View differences:

app-import/src/main/java/eu/etaxonomy/cdm/app/wp6/palmae/PalmaeActivator.java
1 1
/**
2 2
* Copyright (C) 2007 EDIT
3
* European Distributed Institute of Taxonomy 
3
* European Distributed Institute of Taxonomy
4 4
* http://www.e-taxonomy.eu
5
* 
5
*
6 6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7 7
* See LICENSE.TXT at the top of this package for the full license terms.
8 8
*/
......
29 29
import eu.etaxonomy.cdm.io.common.IImportConfigurator;
30 30
import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
31 31
import eu.etaxonomy.cdm.io.common.IImportConfigurator.DO_REFERENCES;
32
import eu.etaxonomy.cdm.io.common.ImportResult;
32 33
import eu.etaxonomy.cdm.io.tcsrdf.TcsRdfImportConfigurator;
33 34
import eu.etaxonomy.cdm.model.description.Feature;
34 35
import eu.etaxonomy.cdm.model.description.FeatureNode;
......
41 42
 */
42 43
public class PalmaeActivator {
43 44
	private static final Logger logger = Logger.getLogger(PalmaeActivator.class);
44
	
45

  
45 46
	//database validation status (create, update, validate ...)
46 47
	static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;
47 48
	static final String tcsSource = TcsSources.arecaceae_local();
48 49
	static final ICdmDataSource cdmDestination = CdmDestinations.localH2Palmae();
49
	
50

  
50 51
	// set the webserver path to the images
51 52
	private static final String imageUrlString = "http://wp5.e-taxonomy.eu/media/palmae/photos/";
52 53
	// set the webserver path to the protologues
53 54
	public static final String protologueUrlString = "http://wp5.e-taxonomy.eu/media/palmae/protologe/";
54 55

  
55 56
	public static final UUID featureTreeUuid = UUID.fromString("72ccce05-7cc8-4dab-8e47-bf3f5fd848a0");
56
		
57

  
57 58
	static final UUID treeUuid = UUID.fromString("1adb71d4-cce6-45e1-b578-e668778d9ec6");
58 59
	static final UUID secUuid = UUID.fromString("5f32b8af-0c97-48ac-8d33-6099ed68c625");
59 60
	static final String sourceSecId = "palm_pub_ed_999999";
60 61
	static final boolean pubishReferencesInBibliography = false;
61
	
62

  
62 63
	//should the other imports run as well?
63 64
	static final boolean includeTaxonX = true;
64 65
	static final boolean includeImages = true;
......
66 67
	static final boolean includeMediaProtologue = true;
67 68
	static final boolean updateFeatureTree = true;
68 69
	static final boolean updateNameUsage = true;
69
	
70

  
70 71
	//check - import
71 72
	static final CHECK check = CHECK.CHECK_AND_IMPORT;
72
	
73

  
73 74
	static boolean useClassification = true;
74
	
75

  
75 76
	//authors
76 77
	static final boolean doAuthors = true;
77 78
	//references
......
79 80
	//names
80 81
	static final boolean doTaxonNames = true;
81 82
	static final boolean doRelNames = true;
82
	
83

  
83 84
	//taxa
84 85
	static final boolean doTaxa = true;
85 86
	static final boolean doRelTaxa = true;
86 87
	static final boolean doFacts = true;
87 88

  
88
	
89
	private boolean doImport(ICdmDataSource destination){
90
		boolean success = true;
89

  
90
	private ImportResult doImport(ICdmDataSource destination){
91
		ImportResult success;
91 92
		System.out.println("Start import from Tcs("+ tcsSource.toString() + ") ...");
92
		
93

  
93 94
		//make Source
94 95
		URI source;
95 96
		try {
96 97
			source = new URI(tcsSource);
97
		
98

  
98 99
			TcsRdfImportConfigurator tcsImportConfigurator = TcsRdfImportConfigurator.NewInstance(source,  destination);
99
			
100

  
100 101
			tcsImportConfigurator.setClassificationUuid(treeUuid);
101 102
			tcsImportConfigurator.setSecUuid(secUuid);
102 103
			tcsImportConfigurator.setSourceSecId(sourceSecId);
103
			
104

  
104 105
			tcsImportConfigurator.setDoReferences(doReferences);
105 106
			tcsImportConfigurator.setDoTaxonNames(doTaxonNames);
106 107
			tcsImportConfigurator.setDoRelNames(doRelNames);
107
			
108

  
108 109
			tcsImportConfigurator.setDoTaxa(doTaxa);
109 110
			tcsImportConfigurator.setDoRelTaxa(doRelTaxa);
110 111
			tcsImportConfigurator.setDoFacts(doFacts);
111 112
			tcsImportConfigurator.setUseClassification(useClassification);
112 113
			tcsImportConfigurator.setPublishReferences(pubishReferencesInBibliography);
113
			
114

  
114 115
			tcsImportConfigurator.setCheck(check);
115 116
			tcsImportConfigurator.setDbSchemaValidation(hbm2dll);
116
	
117

  
117 118
			// invoke import
118 119
			CdmDefaultImport<TcsRdfImportConfigurator> tcsImport = new CdmDefaultImport<TcsRdfImportConfigurator>();
119
			success &= tcsImport.invoke(tcsImportConfigurator);
120
			
120
			success = tcsImport.invoke(tcsImportConfigurator);
121

  
121 122
			//make feature tree
122 123
			logger.info("Make feature tree");
123 124
			ICdmApplicationConfiguration app = tcsImport.getCdmAppController();
124
			
125

  
125 126
			FeatureTree tree = getFeatureTree();
126 127
			app.getFeatureTreeService().saveOrUpdate(tree);
127 128
			System.out.println("End import from TCS ("+ source.toString() + ")...");
128
			
129

  
129 130
			return success;
130 131
		} catch (URISyntaxException e) {
131 132
			e.printStackTrace();
132
			return false;
133
			success = new ImportResult();
134
			success.setSuccess(false);
135
			success.addReport(e.getMessage().getBytes());
136
			return success;
133 137
		}
134
		
138

  
135 139
	}
136
	
137
	
140

  
141

  
138 142
	private FeatureTree getFeatureTree(){
139
		
143

  
140 144
		FeatureTree result = FeatureTree.NewInstance(featureTreeUuid);
141 145
		FeatureNode root = result.getRoot();
142
		
146

  
143 147
		FeatureNode newNode;
144 148
		newNode = FeatureNode.NewInstance(Feature.INTRODUCTION());
145 149
		root.addChild(newNode);
......
169 173
		root.addChild(newNode);
170 174

  
171 175
		return result;
172
		
176

  
173 177

  
174 178
	}
175 179

  
......
177 181
	 * @param args
178 182
	 */
179 183
	public static void main(String[] args) {
180
		boolean success = true;
181
		
184
		ImportResult success;
185

  
182 186
		logger.debug("start");
183 187
		ICdmDataSource destination = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmDestination;
184
		
188

  
185 189
		PalmaeActivator me = new PalmaeActivator();
186 190
		me.doImport(destination);
187
		
191

  
188 192
		if (includeImages){
189 193
			System.out.println("Start importing images ...");
190 194
			CdmDefaultImport<IImportConfigurator> imageImporter = new CdmDefaultImport<IImportConfigurator>();
......
194 198
				ImageImportConfigurator imageConfigurator = ImageImportConfigurator.NewInstance(
195 199
						folderUri, destination, imageUrlString, PalmaeImageImport.class);
196 200
				imageConfigurator.setSecUuid(secUuid);
197
				success &= imageImporter.invoke(imageConfigurator);
201
				success = imageImporter.invoke(imageConfigurator);
198 202
				System.out.println("End importing images ...");
199 203
			} catch (URISyntaxException e) {
200 204
				e.printStackTrace();
......
209 213
				ImageImportConfigurator imageConfigurator = ImageImportConfigurator.NewInstance(
210 214
						fileUri, destination, protologueUrlString, PalmaeProtologueImport.class);
211 215
				imageConfigurator.setSecUuid(secUuid);
212
				
216

  
213 217
				CdmDefaultImport<IImportConfigurator> imageImporter = new CdmDefaultImport<IImportConfigurator>();
214 218
				imageImporter.invoke(imageConfigurator);
215 219
				System.out.println("End importing protologues ...");
216 220
			} catch (URISyntaxException e) {
217 221
				e.printStackTrace();
218 222
			}
219
			
223

  
220 224
		}
221 225
		if (includeMediaProtologue){
222 226
			System.out.println("Start importing protologues from \\\\media...");
223 227
			String protologueSource = PalmaeProtologueImportActivator.protologueSource;
224 228
			String urlString = protologueUrlString;
225
			
229

  
226 230
			File source = new File (protologueSource);
227 231
			PalmaeProtologueImportConfigurator protologConfig = PalmaeProtologueImportConfigurator.NewInstance(source, destination, urlString);
228 232
			CdmDefaultImport<IImportConfigurator> cdmImport = new CdmDefaultImport<IImportConfigurator>();
229
			
233

  
230 234
			//protologConfig.setDoFacts(doDescriptions);
231 235
			protologConfig.setCheck(check);
232 236
			protologConfig.setDbSchemaValidation(DbSchemaValidation.UPDATE);
233 237

  
234
			success &= cdmImport.invoke(protologConfig);
238
			success = cdmImport.invoke(protologConfig);
235 239

  
236 240
			System.out.println("End importing protologues ...");
237 241
		}
238
		
242

  
239 243
		if (includeTaxonX){
240 244
			System.out.println("Start importing taxonX ...");
241 245
			PalmaeTaxonXImportActivator taxonXimporter = new PalmaeTaxonXImportActivator();
242 246
			PalmaeTaxonXImportActivator.cdmDestination = destination;
243
			success &= taxonXimporter.runImport();
247
			success = taxonXimporter.runImport();
244 248
			System.out.println("End importing taxonX ...");
245 249
		}
246
		
250

  
247 251
		PalmaePostImportUpdater updater = new PalmaePostImportUpdater();
248 252
		if (updateFeatureTree){
249 253
			updater.updateMissingFeatures(destination);
......
253 257
			updater.updateNameUsage(destination);
254 258
		}
255 259

  
256
		
260

  
257 261
		String strSuccess = "";
258
		if (success == false){
262
		if (success.isSuccess() == false){
259 263
			strSuccess = "not ";
260 264
		}
261 265
		System.out.println("Import " + strSuccess + "successful");
262
		
266

  
263 267
	}
264
	
268

  
265 269
}

Also available in: Unified diff