Revision 3d4335fe
Added by Katja Luther about 8 years ago
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/TaxonNodeServiceImpl.java | ||
---|---|---|
528 | 528 |
|
529 | 529 |
@Override |
530 | 530 |
@Transactional |
531 |
public UpdateResult moveTaxonNode(UUID taxonNodeUuid, UUID targetNodeUuid, boolean isParent){
|
|
531 |
public UpdateResult moveTaxonNode(UUID taxonNodeUuid, UUID targetNodeUuid, int movingType){
|
|
532 | 532 |
TaxonNode taxonNode = HibernateProxyHelper.deproxy(dao.load(taxonNodeUuid), TaxonNode.class); |
533 | 533 |
TaxonNode targetNode = HibernateProxyHelper.deproxy(dao.load(targetNodeUuid), TaxonNode.class); |
534 |
return moveTaxonNode(taxonNode, targetNode, isParent);
|
|
534 |
return moveTaxonNode(taxonNode, targetNode, movingType);
|
|
535 | 535 |
} |
536 | 536 |
|
537 | 537 |
@Override |
538 | 538 |
@Transactional |
539 |
public UpdateResult moveTaxonNode(TaxonNode taxonNode, TaxonNode newParent, boolean isParent){
|
|
539 |
public UpdateResult moveTaxonNode(TaxonNode taxonNode, TaxonNode newParent, int movingType){
|
|
540 | 540 |
UpdateResult result = new UpdateResult(); |
541 | 541 |
|
542 | 542 |
TaxonNode parentParent = HibernateProxyHelper.deproxy(newParent.getParent(), TaxonNode.class); |
543 | 543 |
|
544 |
Integer sortIndex; |
|
545 |
if (isParent){ |
|
546 |
|
|
547 |
sortIndex = newParent.getChildNodes().size(); |
|
548 |
}else{ |
|
544 |
Integer sortIndex = -1; |
|
545 |
if (movingType == 0){ |
|
546 |
sortIndex = 0; |
|
547 |
}else if (movingType == 1){ |
|
548 |
sortIndex = newParent.getSortIndex(); |
|
549 |
newParent = parentParent; |
|
550 |
} else if (movingType == 2){ |
|
549 | 551 |
sortIndex = newParent.getSortIndex() +1; |
550 | 552 |
newParent = parentParent; |
553 |
} else{ |
|
554 |
result.setAbort(); |
|
555 |
result.addException(new Exception("The moving type "+ movingType +" is not supported.")); |
|
551 | 556 |
} |
552 | 557 |
result.addUpdatedObject(newParent); |
553 | 558 |
result.addUpdatedObject(taxonNode.getParent()); |
... | ... | |
564 | 569 |
|
565 | 570 |
@Override |
566 | 571 |
@Transactional |
567 |
public UpdateResult moveTaxonNodes(Set<UUID> taxonNodeUuids, UUID newParentNodeUuid, boolean isParent){
|
|
572 |
public UpdateResult moveTaxonNodes(Set<UUID> taxonNodeUuids, UUID newParentNodeUuid, int movingType){
|
|
568 | 573 |
UpdateResult result = new UpdateResult(); |
569 | 574 |
TaxonNode targetNode = dao.load(newParentNodeUuid); |
570 | 575 |
for (UUID taxonNodeUuid: taxonNodeUuids){ |
571 | 576 |
TaxonNode taxonNode = dao.load(taxonNodeUuid); |
572 |
result.includeResult(moveTaxonNode(taxonNode,targetNode, isParent));
|
|
577 |
result.includeResult(moveTaxonNode(taxonNode,targetNode, movingType));
|
|
573 | 578 |
} |
574 | 579 |
return result; |
575 | 580 |
} |
Also available in: Unified diff
small changes for moving taxonnodes