Project

General

Profile

« Previous | Next » 

Revision 51688d00

Added by Andreas Müller almost 7 years ago

ref #6368 , ref #6671, ref #6630 adapt pesi to no taxon name model

View differences:

cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/indexFungorum/IndexFungorumSubSpeciesImport.java
13 13
import eu.etaxonomy.cdm.api.service.config.MatchingTaxonConfigurator;
14 14
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
15 15
import eu.etaxonomy.cdm.model.common.CdmBase;
16
import eu.etaxonomy.cdm.model.name.NonViralName;
17
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
16
import eu.etaxonomy.cdm.model.name.TaxonName;
18 17
import eu.etaxonomy.cdm.model.taxon.Classification;
19 18
import eu.etaxonomy.cdm.model.taxon.Taxon;
20 19
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
......
28 27
	private static final Logger logger = Logger.getLogger(IndexFungorumSpeciesImport.class);
29 28

  
30 29
	private static final String pluralString = "subSpecies";
31
	
32
	
30

  
31

  
33 32
	public IndexFungorumSubSpeciesImport(){
34 33
		super(pluralString, null, null);
35 34

  
36 35
	}
37
	
36

  
38 37
	public IndexFungorumSubSpeciesImport(String pluralString,
39 38
			String dbTableName, Class cdmTargetClass) {
40 39
		super(pluralString, dbTableName, cdmTargetClass);
41
		
40

  
42 41
	}
43 42

  
44 43
	@Override
......
65 64
		// TODO Auto-generated method stub
66 65
		return false;
67 66
	}
68
	
67

  
69 68
	@Override
70 69
    protected void doInvoke(IndexFungorumImportState state){
71 70
		System.out.println("create infraspecific - specific relationship: " + state.getInfraspecificTaxaUUIDs().size() + " taxa");
72
		
71

  
73 72
		 List<String> propertyPaths = new ArrayList<String>();
74 73
         propertyPaths.add("taxonNodes.*");
75 74
         propertyPaths.add("taxonNodes.classification");
......
82 81
        	TransactionStatus txStatus = startTransaction();
83 82
        	Taxon infraspecificTaxon = (Taxon)getTaxonService().load(infraspecificTaxonUUID, propertyPaths);
84 83
            //HibernateProxyHelper.deproxy(infraspecificTaxon);
85
            TaxonNameBase name = infraspecificTaxon.getName();
84
            TaxonName name = infraspecificTaxon.getName();
86 85

  
87 86
            UUID uuid = getNameService().saveOrUpdate(name);
88 87
            String parentNameString = getParentNameInfraSpecific(name);
89 88
            System.out.println("Parent name string: " + parentNameString);
90 89
            MatchingTaxonConfigurator matchingConfig = new MatchingTaxonConfigurator();
91 90
            matchingConfig.setTaxonNameTitle(parentNameString);
92
           
91

  
93 92
            matchingConfig.setPropertyPath(propertyPaths);
94 93
            List<TaxonBase> potentialParents = getTaxonService().findTaxaByName(matchingConfig);
95 94
                    //Taxon.class, parentNameString + "sec. ", MatchMode.BEGINNING, , pageSize, pageNumber, orderHints, propertyPaths)
......
97 96
            if (potentialParents.size()>1){
98 97
                for (TaxonBase potentialParent:potentialParents){
99 98
                    if (potentialParent.getTitleCache().equals(parentNameString + " sec*")){
100
                        classification.addParentChild((Taxon)potentialParent, (Taxon)infraspecificTaxon, null, null);
99
                        classification.addParentChild((Taxon)potentialParent, infraspecificTaxon, null, null);
101 100
                    }
102 101
                }
103 102
            }else if (!potentialParents.isEmpty()){
......
115 114
     * @param taxon
116 115
     * @return
117 116
     */
118
    private String getParentNameInfraSpecific(TaxonNameBase taxonName){
119
       NonViralName<NonViralName> name =  HibernateProxyHelper.deproxy(taxonName, NonViralName.class);
117
    private String getParentNameInfraSpecific(TaxonName taxonName){
118
        TaxonName name =  HibernateProxyHelper.deproxy(taxonName);
120 119
       String parentName = name.getGenusOrUninomial() + " " + name.getSpecificEpithet();
121 120

  
122 121
       return parentName;

Also available in: Unified diff