Project

General

Profile

« Previous | Next » 

Revision e395508b

Added by Katja Luther almost 6 years ago

add service for creation of synonyms (fixing saving of hybrids)

View differences:

cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/DescriptionElementBase.java
501 501
        DescriptionElementBase result = (DescriptionElementBase)super.clone();
502 502

  
503 503
        //inDescription
504
        result.inDescription = null;
504
        if (result.inDescription != null){
505
            result.inDescription.removeElement(this);
506
            result.inDescription = null;
507
        }
505 508

  
506 509
        //Sources
507 510
        result.sources = new HashSet<DescriptionElementSource>();
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/NameServiceImplTest.java
27 27
import eu.etaxonomy.cdm.model.description.TaxonDescription;
28 28
import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
29 29
import eu.etaxonomy.cdm.model.description.TextData;
30
import eu.etaxonomy.cdm.model.name.HybridRelationship;
30 31
import eu.etaxonomy.cdm.model.name.HybridRelationshipType;
31 32
import eu.etaxonomy.cdm.model.name.NameRelationshipType;
32 33
import eu.etaxonomy.cdm.model.name.NameTypeDesignation;
......
271 272
        TaxonName child = TaxonNameFactory.NewBotanicalInstance(getSpeciesRank());
272 273
        child.setTitleCache("child", true);
273 274

  
275
        TaxonName hybrid = TaxonNameFactory.PARSED_BOTANICAL("Abies alba x Pinus beta");
276

  
277
        Set<HybridRelationship> childRelations = hybrid.getHybridChildRelations();
278
       for (HybridRelationship rel : childRelations){
279
           TaxonName name = rel.getHybridName();
280
           TaxonName parentName = rel.getParentName();
281
           nameService.save(rel.getHybridName());
282
           nameService.save(rel.getParentName());
283
       }
284

  
285

  
286

  
287
        commitAndStartNewTransaction(tableNames); //otherwise first save is rolled back with following failing delete
274 288
        HybridRelationshipType relType = (HybridRelationshipType)termService.find(HybridRelationshipType.FIRST_PARENT().getUuid());
275 289
        name1.addHybridParent(parent, relType, null);
276 290
        nameService.save(name1);

Also available in: Unified diff