Project

General

Profile

« Previous | Next » 

Revision ec25be77

Added by Cherian Mathew about 9 years ago

CdmTransientEntityCacher : overriding cache field only in the case of initialised cdm entity
CdmEntitySession, ICdmEntitySession, MockCdmEntitySession : added update + delete methods
DeleteSynonymOperation, MoveFactualDataHandler : changed service call to uuid one
ChangeAcceptedTaxonToSynonymOperation, DeleteOperation, MoveTaxonOperation : calling newly added session update , insert delete methods

View differences:

eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/DeleteOperation.java
31 31
import eu.etaxonomy.cdm.model.taxon.Classification;
32 32
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
33 33
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
34
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeEvent.EventType;
35 34
import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
36 35
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
37 36
import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
......
103 102
        monitor.worked(20);
104 103
        ICdmApplicationConfiguration controller = CdmStore.getCurrentApplicationConfiguration();
105 104
        ITaxonNodeService service = controller.getTaxonNodeService();
105
        Set<CdmBase> affectedObjects = new HashSet<CdmBase>();
106 106

  
107 107
        if(taxonNode != null && taxonNode instanceof TaxonNode){
108 108
            //((TaxonNode) treeNode).delete();
......
113 113
            if (result.isError()){
114 114
                //TODO:Error message!
115 115
                MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage());
116
            } else {
117
                affectedObjects.add(((TaxonNode)taxonNode).getParent());
118
                cdmEntitySessionEnabled.getCdmEntitySession().delete(taxonNode, affectedObjects);
116 119
            }
117
            cdmEntitySessionEnabled.getCdmEntitySession().addEvent(taxonNode, EventType.DELETE);
118 120

  
119 121
        }else if(taxonNode != null && taxonNode instanceof Classification){
120 122
            Classification taxonomicTree = (Classification) taxonNode;
......
128 130
            if (result.isError()){
129 131
                //TODO:Error message!
130 132
                MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage());
133
            } else {
134
                affectedObjects.add(((TaxonNode)taxonNode).getParent());
135
                cdmEntitySessionEnabled.getCdmEntitySession().delete(taxonomicTree, affectedObjects);
131 136
            }
132

  
133
            /*}else{
134
					try{
135
					CdmStore.getService(IClassificationService.class).delete(taxonomicTree);
136
					}catch(ReferencedObjectUndeletableException e){
137
						throw new ExecutionException(e.getMessage());
138
					}
139
				}*/
140
            cdmEntitySessionEnabled.getCdmEntitySession().addEvent(taxonomicTree, EventType.DELETE);
141 137
        } else {
142 138
            Set<UUID> treeNodeUuids = new HashSet<UUID>();
143 139
            for(ITaxonTreeNode treeNode : treeNodes) {
......
148 144
                //TODO:Error message!
149 145
                MessageDialog.openError(null, "Delete failed", result.getExceptions().get(0).getMessage());
150 146
            }
151
            cdmEntitySessionEnabled.getCdmEntitySession().addEvent(treeNodes, EventType.DELETE);
147

  
148
            for(ITaxonTreeNode treeNode : treeNodes) {
149
                affectedObjects.add(((TaxonNode)treeNode).getParent());
150
            }
151
            cdmEntitySessionEnabled.getCdmEntitySession().delete(treeNodes, affectedObjects);
152 152
        }
153 153

  
154 154
        monitor.worked(40);

Also available in: Unified diff