Project

General

Profile

« Previous | Next » 

Revision ebba5bdb

Added by Andreas Müller over 2 years ago

cleanup

View differences:

cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/DeleteResult.java
64 64
        if (includedResult instanceof DeleteResult){
65 65
            DeleteResult includedDeleteResult = (DeleteResult)includedResult;
66 66
            this.addDeletedObjects(includedDeleteResult.getDeletedObjects());
67
            //Note: we do not include related objects as they loose there context, if needed in some cases in future it should be done paremeterized
67
            //Note: we do not include related objects as they loose there context, if needed in some cases in future it should be done parameterized
68 68
        }
69 69
    }
70 70

  
......
74 74
    public String toString() {
75 75
        String separator = ", ";
76 76
        String deletedObjectString = toStringObjectsString(separator, deletedObjects);
77
        String relatedObjectString = toStringObjectsString(separator, deletedObjects);
77
        String relatedObjectString = toStringObjectsString(separator, relatedObjects);
78 78
        return super.toString().replace("[UpdateResult]", "[DeleteResult]")+"\n"
79 79
                + "Deleted objects: " + deletedObjectString +"\n"
80 80
                + "Related objects: " + relatedObjectString;
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/TaxonNodeServiceImpl.java
384 384
                }else{
385 385
                    srt = synonym.getType();
386 386
                }
387

  
388 387
            }
389 388
            if (secHandling != null &&  !secHandling.equals(SecReferenceHandlingEnum.KeepOrWarn)){
390 389
                synonym.setSec(newSec);
391 390
            }
392 391
            newAcceptedTaxon.addSynonym(synonym, srt);
393

  
394 392
        }
395 393

  
396

  
397 394
        // CHILD NODES
398 395
        if(oldTaxonNode.getChildNodes() != null && oldTaxonNode.getChildNodes().size() != 0){
399 396
        	List<TaxonNode> childNodes = new ArrayList<>();
......
462 459

  
463 460
        if (result.isOk()){
464 461
        	 result = taxonService.deleteTaxon(oldTaxon.getUuid(), conf, classification.getUuid());
465

  
466 462
        }else{
467 463
        	result.setStatus(Status.OK);
468 464
        	TaxonNodeDeletionConfigurator config = new TaxonNodeDeletionConfigurator();
......
473 469

  
474 470
        result.addUpdatedObject(newAcceptedTaxon);
475 471

  
476

  
477 472
        //oldTaxonNode.delete();
478 473
        return result;
479 474
    }
475

  
480 476
    @Override
481 477
    @Transactional(readOnly = false)
482 478
    public DeleteResult makeTaxonNodeSynonymsOfAnotherTaxonNode( Set<UUID> oldTaxonNodeUuids,
......
703 699
        }catch(NullPointerException e){
704 700
            result.setAbort();
705 701
            result.addException(new Exception("The Taxon was already deleted."));
706

  
707 702
        }
708 703

  
709

  
710 704
    	TaxonNode parent = HibernateProxyHelper.deproxy(node.getParent(), TaxonNode.class);
711 705
    	if (config == null){
712 706
    		config = new TaxonDeletionConfigurator();
713 707
    	}
714 708

  
715

  
716 709
    	if (config.getTaxonNodeConfig().getChildHandling().equals(ChildHandling.MOVE_TO_PARENT)){
717 710
    	   Object[] children = node.getChildNodes().toArray();
718 711
    	   TaxonNode childNode;
719 712
    	   for (Object child: children){
720 713
    	       childNode = (TaxonNode) child;
721 714
    	       parent.addChildNode(childNode, childNode.getReference(), childNode.getMicroReference());
722

  
723 715
    	   }
724 716
    	}else{
725
    	    result.includeResult(deleteTaxonNodes(node.getChildNodes(), config));
717
    	    DeleteResult tmpResult = deleteTaxonNodes(node.getChildNodes(), config);
718
    	    result.includeResult(tmpResult);
726 719
    	}
727 720

  
728 721
    	//remove node from DescriptiveDataSet
729 722
        commonService.getReferencingObjects(node).stream()
730
        .filter(obj->obj instanceof DescriptiveDataSet)
731
        .forEach(dataSet->{
732
            ((DescriptiveDataSet)dataSet).removeTaxonSubtree(node);
733
            dataSetService.saveOrUpdate((DescriptiveDataSet) dataSet);
723
            .filter(obj->obj instanceof DescriptiveDataSet)
724
            .forEach(dataSet->{
725
                ((DescriptiveDataSet)dataSet).removeTaxonSubtree(node);
726
                dataSetService.saveOrUpdate((DescriptiveDataSet) dataSet);
734 727
        });
735 728

  
736 729
    	if (taxon != null){
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/TermNodeServiceImpl.java
120 120
	             result.addUpdatedObject(parent);
121 121
	         }
122 122
	         if (config.isDeleteElement()){
123
	             DefinedTermBase term = node.getTerm();
123
	             DefinedTermBase<?> term = node.getTerm();
124 124
                 termService.delete(term.getUuid());
125 125
                 result.addDeletedObject(term);
126 126
             }
cdmlib-services/src/test/java/eu/etaxonomy/cdm/api/service/TaxonNodeServiceImplTest.java
279 279
		if (!result.getUpdatedObjects().iterator().hasNext()){
280 280
			Assert.fail("Some updates must have taken place");
281 281
		}
282
		assertEquals(3,result.getUpdatedObjects().size());
282
		assertEquals(3, result.getUpdatedObjects().size());
283 283
		assertNotNull("Old taxon should not have been deleted as it is referenced by key node", taxonService.find(t1Uuid));
284 284
		assertNull("Old taxon node should not exist anymore", taxonNodeService.find(node1Uuid));
285 285

  

Also available in: Unified diff