Project

General

Profile

« Previous | Next » 

Revision 83a1a479

Added by Cherian Mathew almost 9 years ago

TaxonNavigator : added refresh of navigator on data change
TaxonNavigatorLabels : new interface with label strings used by taxon navigator handlers
RemotingChangeAcceptedTaxonToSynonymHandler : using TaxonNavigatorLabels
RemotingMoveFactualDataHandler : remoting version of move factual data handler
RemotingMoveFactualDataOperation : remoting version of move factual data operation
RemotingMoveTaxonHandler : remoting version of move taxon handler
RemotingMoveTaxonOperation : remoting version of move taxon operation
RemotingChangeAcceptedTaxonToSynonymOperation : replaced constructor input cdm entities to their uuids
RemotingCdmHandler : updated to handle other status severities and to handle warning status in post operation
RemotingCdmUpdateOperation : updated for warning status
TaxonNavigatorTest : added move taxon and move factual data tests

View differences:

eu.etaxonomy.taxeditor.test/src/test/java/eu/etaxonomy/cdm/model/TaxonNavigatorTest.java
9 9
 */
10 10
package eu.etaxonomy.cdm.model;
11 11

  
12
import java.util.HashSet;
13
import java.util.Set;
12 14
import java.util.UUID;
13 15

  
14 16
import org.apache.log4j.Logger;
......
20 22
import eu.etaxonomy.cdm.api.service.IClassificationService;
21 23
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
22 24
import eu.etaxonomy.cdm.api.service.ITaxonService;
25
import eu.etaxonomy.cdm.model.common.CdmBase;
23 26
import eu.etaxonomy.cdm.model.common.Language;
27
import eu.etaxonomy.cdm.model.description.TaxonDescription;
24 28
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
29
import eu.etaxonomy.cdm.model.taxon.Taxon;
25 30
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
26 31
import eu.etaxonomy.taxeditor.navigation.navigator.operation.RemotingChangeAcceptedTaxonToSynonymOperation;
32
import eu.etaxonomy.taxeditor.navigation.navigator.operation.RemotingMoveFactualDataOperation;
33
import eu.etaxonomy.taxeditor.navigation.navigator.operation.RemotingMoveTaxonOperation;
27 34
import eu.etaxonomy.taxeditor.operations.BaseOperationTest;
28 35

  
29 36
/**
......
45 52

  
46 53

  
47 54
    @Test
48
    public void changeAcceptedTaxonToSynonymTest() throws ExecutionException {
55
    public void testChangeAcceptedTaxonToSynonym() throws ExecutionException {
49 56

  
50 57

  
51 58
        UUID oldTaxonNodeNodeUuid = UUID.fromString("b85b5b78-6760-409f-ac91-bb89e95ff2a1");
......
53 60

  
54 61
        TaxonNode oldTaxonNode = taxonNodeService.load(oldTaxonNodeNodeUuid);
55 62
        TaxonNameBase name = oldTaxonNode.getTaxon().getName();
63

  
64

  
56 65
        TaxonNode newAcceptedTaxonNode = taxonNodeService.load(newAcceptedTaxonNodeUuid);
57
        sessionOwner.addUpdatedObject(oldTaxonNode.getParent());
66
        int countTargetSynonyms = newAcceptedTaxonNode.getTaxon().getSynonyms().size();
67
        sessionOwner.addExpectedUpdatedObject(oldTaxonNode.getParent());
68

  
58 69

  
59
        Assert.assertEquals(0,newAcceptedTaxonNode.getTaxon().getSynonyms().size());
60 70
        operation =  new RemotingChangeAcceptedTaxonToSynonymOperation(sessionOwner,
61 71
                false,
62
                oldTaxonNode,
63
                newAcceptedTaxonNode);
72
                oldTaxonNode.getUuid(),
73
                newAcceptedTaxonNode.getUuid());
64 74
        operation.execute(monitor, info);
65 75
        newAcceptedTaxonNode = taxonNodeService.load(newAcceptedTaxonNodeUuid);
66
        sessionOwner.addUpdatedObject(newAcceptedTaxonNode);
76
        sessionOwner.addExpectedUpdatedObject(newAcceptedTaxonNode);
67 77

  
68 78
        oldTaxonNode = taxonNodeService.load(oldTaxonNodeNodeUuid);
69 79
        Assert.assertNull(oldTaxonNode);
70
        Assert.assertEquals(1,newAcceptedTaxonNode.getTaxon().getSynonyms().size());
80
        Assert.assertEquals(countTargetSynonyms + 1,newAcceptedTaxonNode.getTaxon().getSynonyms().size());
71 81
        Assert.assertEquals(name, newAcceptedTaxonNode.getTaxon().getSynonyms().iterator().next().getName());
72 82

  
73 83

  
74 84
    }
75 85

  
76 86
    @Test
77
    public void moveTaxonTest() {
87
    public void testMoveTaxon() throws ExecutionException {
88

  
89
        UUID taxonNodeToMoveUuid = UUID.fromString("b8439f51-6b96-445a-b401-7a836ba1cf58");
90
        UUID newParentTreeNodeUuid = UUID.fromString("2f05d429-632d-4230-b9cb-70299360b470");
91
        boolean moveToParentNode = true;
92

  
93
        TaxonNode taxonNodeToMove = taxonNodeService.load(taxonNodeToMoveUuid);
94
        TaxonNode oldParent = taxonNodeToMove.getParent();
95
        sessionOwner.addExpectedUpdatedObject(oldParent);
96
        int childCount = oldParent.getCountChildren();
97
        TaxonNode newParentTreeNode = taxonNodeService.load(newParentTreeNodeUuid);
98
        sessionOwner.addExpectedUpdatedObject(newParentTreeNode);
99
        operation = new RemotingMoveTaxonOperation(sessionOwner,
100
                false,
101
                taxonNodeToMove.getUuid(),
102
                newParentTreeNode.getUuid(),
103
                moveToParentNode);
104
        operation.execute(monitor, info);
105
        Assert.assertEquals(childCount-1, oldParent.getCountChildren());
106
        Assert.assertTrue(!oldParent.getChildNodes().contains(taxonNodeToMove));
107
        Assert.assertTrue(newParentTreeNode.getChildNodes().contains(taxonNodeToMove));
108
    }
109

  
110
    @Test
111
    public void testMoveFactualData() throws ExecutionException {
112
        UUID sourceTaxonUuid = UUID.fromString("e40854d7-143f-4054-b229-6ed4cedb4bff");
113
        UUID targetTaxonUuid = UUID.fromString("b8402dc4-5050-4882-a147-01b71e0e47d6");
114

  
115
        Taxon sourceTaxon = CdmBase.deproxy(taxonService.load(sourceTaxonUuid), Taxon.class);
116
        Set<TaxonDescription> sourceDescriptions = new HashSet(sourceTaxon.getDescriptions());
117
        sessionOwner.addExpectedUpdatedObject(sourceTaxon);
78 118

  
119
        Taxon targetTaxon = CdmBase.deproxy(taxonService.load(targetTaxonUuid), Taxon.class);
120
        int countTargetDescriptions = targetTaxon.getDescriptions().size();
121
        sessionOwner.addExpectedUpdatedObject(targetTaxon);
122

  
123
        operation = new RemotingMoveFactualDataOperation(sessionOwner,
124
                false,
125
                sourceTaxonUuid,
126
                targetTaxonUuid);
127
        operation.execute(monitor, info);
128
        Assert.assertEquals(0, sourceTaxon.getDescriptions().size());
129
        Assert.assertEquals(sourceDescriptions.size() + countTargetDescriptions, targetTaxon.getDescriptions().size());
130
        Assert.assertTrue(targetTaxon.getDescriptions().containsAll(sourceDescriptions));
79 131
    }
80 132

  
81 133

  

Also available in: Unified diff