Revision c6aeda45
Added by Katja Luther about 5 years ago
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/taxon/TaxonNode.java | ||
---|---|---|
251 | 251 |
public Taxon getTaxon() { |
252 | 252 |
return taxon; |
253 | 253 |
} |
254 |
protected void setTaxon(Taxon taxon) {
|
|
254 |
public void setTaxon(Taxon taxon) {
|
|
255 | 255 |
this.taxon = taxon; |
256 | 256 |
if (taxon != null){ |
257 | 257 |
taxon.addTaxonNode(this); |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/ITaxonNodeService.java | ||
---|---|---|
360 | 360 |
*/ |
361 | 361 |
List<TaxonDistributionDTO> getTaxonDistributionDTOForSubtree(UUID parentNodeUuid, List<String> propertyPaths); |
362 | 362 |
|
363 |
/** |
|
364 |
* @param parentNodeUuid |
|
365 |
* @param newTaxonNode |
|
366 |
* @return |
|
367 |
*/ |
|
368 |
UpdateResult saveNewTaxonNode(TaxonNode newTaxonNode); |
|
369 |
|
|
363 | 370 |
} |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/TaxonNodeServiceImpl.java | ||
---|---|---|
844 | 844 |
return result; |
845 | 845 |
|
846 | 846 |
} |
847 |
|
|
848 |
|
|
849 |
@Override |
|
850 |
@Transactional |
|
851 |
public UpdateResult saveNewTaxonNode(TaxonNode newTaxonNode){ |
|
852 |
UpdateResult result = new UpdateResult(); |
|
853 |
if (newTaxonNode.getTaxon().getName().getId() != 0){ |
|
854 |
TaxonName name = nameService.load(newTaxonNode.getTaxon().getName().getUuid()); |
|
855 |
newTaxonNode.getTaxon().setName(name); |
|
856 |
}else{ |
|
857 |
for (HybridRelationship rel : newTaxonNode.getTaxon().getName().getHybridChildRelations()){ |
|
858 |
if (!rel.getHybridName().isPersited()) { |
|
859 |
nameService.save(rel.getHybridName()); |
|
860 |
} |
|
861 |
if (!rel.getParentName().isPersited()) { |
|
862 |
nameService.save(rel.getParentName()); |
|
863 |
} |
|
864 |
} |
|
865 |
} |
|
866 |
UUID taxonUUID = taxonService.saveOrUpdate(newTaxonNode.getTaxon()); |
|
867 |
UUID childUUID = dao.saveOrUpdate(newTaxonNode); |
|
868 |
|
|
869 |
TaxonNode parent = dao.load(newTaxonNode.getParent().getUuid()); |
|
870 |
TaxonNode child = dao.load(childUUID); |
|
871 |
result.addUpdatedObject(parent); |
|
872 |
if (child != null){ |
|
873 |
result.setCdmEntity(child); |
|
874 |
} |
|
875 |
return result; |
|
876 |
|
|
877 |
} |
|
878 |
|
|
879 |
|
|
880 |
|
|
847 | 881 |
@Override |
848 | 882 |
@Transactional |
849 | 883 |
public UpdateResult createNewTaxonNode(UUID parentNodeUuid, UUID taxonUuid, Reference ref, String microref){ |
Also available in: Unified diff
ref #7680: set TaxonNode.setTaxon public and new saveMethod for taxonnodes