@Autowired
private IAgentService agentService;
+ @Autowired
+ private INameService nameService;
+
@Autowired
private ITaxonNodeFilterDao nodeFilterDao;
@Transactional
public UpdateResult createNewTaxonNode(UUID parentNodeUuid, Taxon newTaxon, Reference ref, String microref){
UpdateResult result = new UpdateResult();
-
+ if (newTaxon.getName().getId() != 0){
+ TaxonName name = nameService.load(newTaxon.getName().getUuid());
+ newTaxon.setName(name);
+ }
UUID taxonUUID = taxonService.saveOrUpdate(newTaxon);
newTaxon = (Taxon) taxonService.load(taxonUUID);
}
// child = dao.save(child);
- dao.saveOrUpdate(child);
+// dao.saveOrUpdate(child);
result.addUpdatedObject(parent);
if (child != null){
result.setCdmEntity(child);
if (monitor == null){
monitor = DefaultProgressMonitor.NewInstance();
}
+ TaxonNode subTree = load(config.getSubtreeUuid());
+ TreeIndex subTreeIndex = null;
+ if (subTree != null){
+ subTreeIndex = TreeIndex.NewInstance(subTree.treeIndex());
+ Long count = dao.countChildrenOf(subTree, subTree.getClassification(), true);
+ int intCount = count.intValue();
+ monitor.beginTask("Update Secundum Reference", intCount);
+ }
+
- monitor.beginTask("Update Secundum Reference", 100);
if (config.getSubtreeUuid() == null){
result.setError();
result.addException(new NullPointerException("No subtree given"));
monitor.done();
return result;
}
- TaxonNode subTree = load(config.getSubtreeUuid());
+
if (subTree == null){
result.setError();
result.addException(new NullPointerException("Subtree does not exist"));
monitor.done();
return result;
}
- TreeIndex subTreeIndex = TreeIndex.NewInstance(subTree.treeIndex());
+
//Reference ref = config.getNewSecundum();
if (config.isIncludeAcceptedTaxa()){