Project

General

Profile

« Previous | Next » 

Revision 892efc69

Added by Andreas Kohlbecker almost 14 years ago

merging /branches/cdmlib/SPRINT-Chichorieae1/ to trunk

View differences:

cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/berlinModel/in/BerlinModelFactsImport.java
29 29
import eu.etaxonomy.cdm.io.berlinModel.BerlinModelTransformer;
30 30
import eu.etaxonomy.cdm.io.berlinModel.in.validation.BerlinModelFactsImportValidator;
31 31
import eu.etaxonomy.cdm.io.common.IOValidator;
32
import eu.etaxonomy.cdm.io.common.MapWrapper;
33 32
import eu.etaxonomy.cdm.io.common.ResultSetPartitioner;
34 33
import eu.etaxonomy.cdm.io.common.Source;
35 34
import eu.etaxonomy.cdm.model.common.Annotation;
......
69 68
	private static final String dbTableName = "Fact";
70 69

  
71 70
	//FIXME don't use as class variable
72
	private MapWrapper<Feature> featureMap;
71
	private Map<Integer, Feature> featureMap;
73 72
	
74 73
	public BerlinModelFactsImport(){
75 74
		super();
......
88 87
		}
89 88
	}
90 89
	
91
	private MapWrapper<Feature> invokeFactCategories(BerlinModelImportConfigurator bmiConfig){
90
	private Map<Integer, Feature>  invokeFactCategories(BerlinModelImportConfigurator bmiConfig){
92 91
		
93
		MapWrapper<Feature> result = bmiConfig.getFeatureMap();
92
		Map<Integer, Feature>  result = bmiConfig.getFeatureMap();
94 93
		Source source = bmiConfig.getSource();
95 94
		
96 95
		try {
......
131 130
								
132 131
				result.put(factCategoryId, feature);
133 132
			}
134
			Collection<Feature> col = result.getAllValues();
133
			Collection<Feature> col = result.values();
135 134
			getTermService().save((Collection)col);
136 135
			return result;
137 136
		} catch (SQLException e) {
......
149 148
		featureMap = invokeFactCategories(state.getConfig());
150 149
		return super.doInvoke(state);
151 150
	}
152
	
151
		
153 152

  
154 153
	/* (non-Javadoc)
155 154
	 * @see eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportBase#getRecordQuery(eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportConfigurator)
156 155
	 */
157 156
	@Override
158 157
	protected String getRecordQuery(BerlinModelImportConfigurator config) {
159
		String strQuery = 
160
			" SELECT Fact.*, PTaxon.RIdentifier as taxonId, RefDetail.Details " + 
161
			" FROM Fact " +
162
              	" INNER JOIN PTaxon ON Fact.PTNameFk = PTaxon.PTNameFk AND Fact.PTRefFk = PTaxon.PTRefFk " +
163
              	" LEFT OUTER JOIN RefDetail ON Fact.FactRefDetailFk = RefDetail.RefDetailId AND Fact.FactRefFk = RefDetail.RefFk " +
158
			String strQuery = 
159
					" SELECT Fact.*, PTaxon.RIdentifier as taxonId, RefDetail.Details " + 
160
					" FROM Fact " +
161
                      	" INNER JOIN PTaxon ON Fact.PTNameFk = PTaxon.PTNameFk AND Fact.PTRefFk = PTaxon.PTRefFk " +
162
                      	" LEFT OUTER JOIN RefDetail ON Fact.FactRefDetailFk = RefDetail.RefDetailId AND Fact.FactRefFk = RefDetail.RefFk " +
164 163
              	" WHERE (FactId IN (" + ID_LIST_TOKEN + "))" + 
165
                " ORDER By Sequence";
164
                        " ORDER By Sequence";
166 165
		return strQuery;
167 166
	}
168 167
	
......
180 179

  
181 180
		ResultSet rs = partitioner.getResultSet();
182 181
		
183
		ReferenceBase<?> sourceRef = state.getConfig().getSourceReference();
184
		
182
			ReferenceBase<?> sourceRef = state.getConfig().getSourceReference();
183
			
185 184
		try{
186 185
			int i = 0;
187 186
			//for each fact
......
240 239
							}
241 240
							if (taxonDescription == null){
242 241
								taxonDescription = TaxonDescription.NewInstance();
243
								taxonDescription.setTitleCache(sourceRef == null ? null : sourceRef.getTitleCache());
242
								taxonDescription.setTitleCache(sourceRef == null ? null : sourceRef.getTitleCache(), true);
244 243
								taxon.addDescription(taxonDescription);
245 244
							}
246 245
						}
......
277 276
						
278 277
						//for diptera database
279 278
						if (categoryFk == 99 && notes.contains("<OriginalName>")){
280
							notes = notes.replaceAll("<OriginalName>", "");
281
							notes = notes.replaceAll("</OriginalName>", "");
279
//							notes = notes.replaceAll("<OriginalName>", "");
280
//							notes = notes.replaceAll("</OriginalName>", "");
282 281
							fact = notes + ": " +  fact ;
283 282
						}
284 283
						//TODO textData.putText(fact, bmiConfig.getFactLanguage());  //doesn't work because  bmiConfig.getFactLanguage() is not not a persistent Language Object
......
297 296
						if (factRefFkObj != null){
298 297
							citation = getReferenceOnlyFromMaps(
299 298
									biblioRefMap, nomRefMap, factRefFk);	
300
						}
299
							}
301 300
						if (citation == null && (factRefFkObj != null)){
302
							logger.warn("Citation not found in referenceMap: " + factRefFk);
301
								logger.warn("Citation not found in referenceMap: " + factRefFk);
303 302
							success = false;
304
						}
303
							}
305 304
						if (citation != null || CdmUtils.isNotEmpty(details)){
306 305
							DescriptionElementSource originalSource = DescriptionElementSource.NewInstance();
307 306
							originalSource.setCitation(citation);
......
373 372
		Class cdmClass;
374 373
		Set<String> idSet;
375 374
		Map<Object, Map<String, ? extends CdmBase>> result = new HashMap<Object, Map<String, ? extends CdmBase>>();
376
		
375
			
377 376
		try{
378 377
			Set<String> taxonIdSet = new HashSet<String>();
379 378
			Set<String> referenceIdSet = new HashSet<String>();
......
384 383
				handleForeignKey(rs, referenceIdSet, "PTDesignationRefFk");
385 384
				handleForeignKey(rs, refDetailIdSet, "FactRefDetailFk");
386 385
				handleForeignKey(rs, refDetailIdSet, "PTDesignationRefDetailFk");
387
			}
386
		}
388 387
			
389 388
			//taxon map
390 389
			nameSpace = BerlinModelTaxonImport.NAMESPACE;
......
424 423
	
425 424
		} catch (SQLException e) {
426 425
			throw new RuntimeException(e);
427
		}
426
	}
428 427
		return result;
429 428
	}
430 429
	
......
453 452
			imageMetaData.readMetaData(url.toURI(), 0);
454 453
		}
455 454
		catch(URISyntaxException e){
456
			e.printStackTrace();
455
			logger.error("URISyntaxException reading image metadata." , e);
456
		} catch (IOException e) {
457
			logger.error("IOError reading image metadata." , e);
457 458
		}
458
		
459 459
		MediaRepresentation mediaRepresentation = MediaRepresentation.NewInstance(imageMetaData.getMimeType(), null);
460 460
		media.addRepresentation(mediaRepresentation);
461 461
		ImageFile image = ImageFile.NewInstance(uri, size, imageMetaData);
......
475 475
		
476 476
	}
477 477
	
478
	private Feature getFeature(MapWrapper<Feature> featureMap, Object categoryFkObj, Integer categoryFk){
478
	private Feature getFeature(Map<Integer, Feature>  featureMap, Object categoryFkObj, Integer categoryFk){
479 479
		if (categoryFkObj != null){
480 480
			return featureMap.get(categoryFk); 
481 481
		}else{
......
493 493
		IOValidator<BerlinModelImportState> validator = new BerlinModelFactsImportValidator();
494 494
		return validator.validate(state);
495 495
	}
496
	
496
				
497 497
	/* (non-Javadoc)
498 498
	 * @see eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportBase#getTableName()
499 499
	 */
500 500
	@Override
501 501
	protected String getTableName() {
502 502
		return dbTableName;
503
	}
503
			}
504 504
	
505 505
	/* (non-Javadoc)
506 506
	 * @see eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportBase#getPluralString()
......
508 508
	@Override
509 509
	public String getPluralString() {
510 510
		return pluralString;
511
	}
511
		}
512 512
	
513 513
	/* (non-Javadoc)
514 514
	 * @see eu.etaxonomy.cdm.io.common.CdmIoBase#isIgnore(eu.etaxonomy.cdm.io.common.IImportConfigurator)

Also available in: Unified diff