Project

General

Profile

« Previous | Next » 

Revision a26a9112

Added by Andreas Müller over 5 years ago

ref #7921 Caucasus area import for E+M

View differences:

app-import/src/main/java/eu/etaxonomy/cdm/io/berlinModel/in/BerlinModelAreaImport.java
87 87
	private Map<Integer, NamedArea> euroMedAreas = new HashMap<>();
88 88

  
89 89

  
90
	private TermVocabulary<NamedArea> createEuroMedAreas(BerlinModelImportState state) throws SQLException {
90
    @Override
91
    public boolean doPartition(@SuppressWarnings("rawtypes") ResultSetPartitioner partitioner, BerlinModelImportState state)  {
92
        TermVocabulary<?> voc = getVocabularyService().find(BerlinModelTransformer.uuidVocEuroMedAreas);
93
        if (voc == null){
94
            try {
95
                createEuroMedAreas(state);
96
                createCaucasusAreas(state);
97
            } catch (SQLException e) {
98
                logger.warn("Exception when creating areas: " + e.getMessage());
99
                e.printStackTrace();
100
            }
101
        }
102
        return true;
103
    }
104

  
105

  
106

  
107
    private TermVocabulary<NamedArea> createEuroMedAreas(BerlinModelImportState state) throws SQLException {
91 108

  
92 109
	    logger.warn("Start creating E+M areas");
93 110
		Source source = state.getConfig().getSource();
......
344 361
	/**
345 362
	 *
346 363
	 */
347
	private TermVocabulary<NamedArea> makeEmptyEuroMedVocabulary() {
364
	private OrderedTermVocabulary<NamedArea> makeEmptyEuroMedVocabulary() {
348 365
		TermType type = TermType.NamedArea;
349 366
		String description = "Euro+Med area vocabulary";
350 367
		String label = "E+M areas";
......
357 374
		return result;
358 375
	}
359 376

  
360
	@Override
361
	public boolean doPartition(@SuppressWarnings("rawtypes") ResultSetPartitioner partitioner, BerlinModelImportState state)  {
362
	    TermVocabulary<?> voc = getVocabularyService().find(BerlinModelTransformer.uuidVocEuroMedAreas);
363
	    if (voc == null){
364
	        try {
365
	            createEuroMedAreas(state);
366
	        } catch (SQLException e) {
367
	            logger.warn("Exception when creating areas: " + e.getMessage());
368
	            e.printStackTrace();
369
	        }
377

  
378
    /**
379
     * @param state
380
     */
381
    private void createCaucasusAreas(BerlinModelImportState state) {
382
        OrderedTermVocabulary<NamedArea> voc = makeEmptyCaucasusVocabulary(state);
383
        NamedArea last = null;
384
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc1, "Western Ciscaucasia","WCC","1","");
385
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc1a, "Azov-Kuban","Az.-Kub.","1","a");
386
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc1b, "Western Stavropol","W. Stavr.","1","b");
387
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc2, "Eastern Ciscaucasia","ECC","2","");
388
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc2a, "Eastern Stavropol","E. Stavr.","2","a");
389
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc2b, "Terek-Kuma","Ter.-Kuma ","2","b");
390
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc2c, "Terek-Sulak","Ter.-Sul.","2","c");
391
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc3, "Western Caucasus","WC","3","");
392
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc3a, "Adagum-Pshish","Adag.-Pshish","3","a");
393
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc3b, "Belaja-Laba","Bel.-Laba","3","b");
394
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc3c, "Urup-Teberda","Urup-Teb.","3","c");
395
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc3d, "Upper Kuban","U. Kub.","3","d");
396
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc4, "Central Caucasus","CC","4","");
397
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc4a, "Upper Kuma","U. Kuma","4","a");
398
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc4b, "Malka","Malka","4","b");
399
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc4c, "Upper Terek","U. Ter.","4","c");
400
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc5, "Eastern Caucasus","EC","5","");
401
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc5a, "Assa-Argun","Assa-Arg.","5","a");
402
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc5b, "Upper Sulak","U. Sulak","5","b");
403
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc5c, "Manas-Samur","Man.-Samur","5","c");
404
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc5d, "Kubinsky","Kubin.","5","d");
405
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc6, "North-Western Transcaucasia","NWTC","6","");
406
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc6a, "Anapa-Gelendzhik","Anapa-Gel.","6","a");
407
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc6b, "Pshada-Dzubga","Pshada-Dzhubga ","6","b");
408
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc7, "Western Transcaucasia","WTC","7","");
409
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc7a, "Tuapse-Adler","Tuap.-Adl.","7","a");
410
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc7b, "Abkhasia","Abkh.","7","b");
411
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc7c, "Inguri-Rioni","Ing.-Rioni","7","c");
412
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc7d, "Rioni-Kvirili","Rioni-Kvir.","7","d");
413
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc7e, "Adzharia","Adzh.","7","e");
414
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc8, "Central Transcaucasia","CTC","8","");
415
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc8a, "Karthalinia-South Ossetia","Kart.-S. Oss.","8","a");
416
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc8b, "Trialetia-Lower Karthalinia","Trial.-L. Kart.","8","b");
417
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc8c, "Lori","Lori","8","c");
418
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc9, "Eastern Transcaucasia","ETC","9","");
419
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc9a, "Alazan-Agrichay","Alaz.-Agrich.","9","a");
420
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc9b, "Shirvan","Shirv.","9","b");
421
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc9c, "Iori-Sheki","Iori-Sheki","9","c");
422
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc9d, "Murghuz-Murovdagh","Murgh.-Murovd.","9","d");
423
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc9e, "Lower Kura","L. Kura","9","e");
424
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc9f, "Karabagh","Karab.","9","f");
425
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc10, "South-Western Transcaucasia","SWTC","10","");
426
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc10a, "Meskhetia","Meskh.","10","a");
427
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc10b, "Dzhavachetia-Upper Akhurjan","Dzhav.-U. Akh.","10","b");
428
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc10c, "Aragatz","Arag.","10","c");
429
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11, "Southern Transcaucasia","STC","11","");
430
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11a, "Erevan","Erev.","11","a");
431
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11b, "Sevan","Sevan","11","b");
432
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11c, "Daraleghiz","Dar.","11","c");
433
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11d, "Nakhitshevan","Nakh.","11","d");
434
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11e, "Zangezur","Zang.","11","e");
435
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11f, "Megri-Zangelan","Megri-Zan.","11","f");
436
        last = makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc11g, "Southern Karabagh","S. Karab.","11","g");
437
        makeSingleArea(state, voc, last, BerlinModelTransformer.uuidCauc12, "Talysch","T","12","");
438
    }
439

  
440
	/**
441
     * @param state
442
	 * @param voc
443
     * @param uuidCauc1
444
     * @param string
445
     * @param string2
446
     * @param string3
447
     * @param string4
448
     * @return
449
     */
450
    private NamedArea makeSingleArea(BerlinModelImportState state, OrderedTermVocabulary<NamedArea> voc, NamedArea last,
451
            UUID uuid, String label, String labelAbbrev,
452
            String mainLevel, String subLevel) {
453

  
454
        NamedArea namedArea = NamedArea.NewInstance(label, label, labelAbbrev);
455
        namedArea.setUuid(uuid);
456
        if (isBlank(subLevel)){
457
            namedArea.setLevel(getNamedAreaLevel(state, BerlinModelTransformer.uuidCaucasusAreaLevelFirst, "Caucasus main areas", "Caucasus main areas", "Cauc. I", null));
458
        }else{
459
            namedArea.setLevel(getNamedAreaLevel(state, BerlinModelTransformer.uuidCaucasusAreaLevelSecond, "Caucasus sub areas", "Caucasus sub areas", "Cauc. II", null));
460
            if(last.getPartOf() != null){
461
                namedArea.setPartOf(last.getPartOf());
462
            }else{
463
                namedArea.setPartOf(last);
464
            }
370 465
        }
371
	    return true;
372
	}
466
        String idInVoc = mainLevel + subLevel;
467
        namedArea.setIdInVocabulary(idInVoc);
468
        voc.addTerm(namedArea);
469
        return namedArea;
470
    }
373 471

  
472
    /**
473
     * @param state
474
     */
475
    private OrderedTermVocabulary<NamedArea> makeEmptyCaucasusVocabulary(BerlinModelImportState state) {
476
        TermType type = TermType.NamedArea;
477
        String description = "E+M Caucasus area vocabulary";
478
        String label = "E+M Caucasus Areas";
479
        String abbrev = null;
480
        URI termSourceUri = null;
481
        OrderedTermVocabulary<NamedArea> result = OrderedTermVocabulary.NewInstance(type, description, label, abbrev, termSourceUri);
482
        result.setUuid(BerlinModelTransformer.uuidVocCaucasusAreas);
483
        getVocabularyService().save(result);
484
        return result;
485
    }
374 486

  
375
	@Override
487
    @Override
376 488
	public Map<Object, Map<String, ? extends CdmBase>> getRelatedObjectsForPartition(ResultSet rs, BerlinModelImportState state) {
377

  
378 489
		Map<Object, Map<String, ? extends CdmBase>> result = new HashMap<>();
379 490
		return result;
380 491
	}
......
388 499

  
389 500
	@Override
390 501
	protected boolean isIgnore(BerlinModelImportState state){
391
		if (! (state.getConfig().isDoOccurrence() || state.getConfig().isDoCommonNames())){
502
		if (state.getConfig().isDoNamedAreas()){
503
		    return false;
504
		}else if (! (state.getConfig().isDoOccurrence() || state.getConfig().isDoCommonNames())){
392 505
			return true;
393 506
		}else{
394 507
			if (!this.checkSqlServerColumnExists(state.getConfig().getSource(), "emArea", "AreaId")){

Also available in: Unified diff