Project

General

Profile

« Previous | Next » 

Revision 396bb36e

Added by Patrick Plitzner almost 7 years ago

Fix NPE when creating a new taxon on classification level

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewTaxonNodeWizard.java
3 3
 */
4 4
package eu.etaxonomy.taxeditor.newWizard;
5 5

  
6
import java.util.ArrayList;
7 6
import java.util.HashSet;
8
import java.util.List;
9 7
import java.util.Set;
10 8
import java.util.UUID;
11 9

  
......
24 22
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
25 23
import eu.etaxonomy.cdm.model.taxon.Taxon;
26 24
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
27
import eu.etaxonomy.cdm.persistence.dto.MergeResult;
28 25
import eu.etaxonomy.taxeditor.model.MessagingUtils;
29 26
import eu.etaxonomy.taxeditor.store.CdmStore;
30
import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeDetailElement;
31 27
import eu.etaxonomy.taxeditor.ui.section.classification.TaxonNodeWizardPage;
32 28

  
33 29
/**
......
70 66
            	    parentNodeUuid = parent.getUuid();
71 67
            	}
72 68
            	UpdateResult result;
73
            	
69

  
74 70
            	if (taxon.getId() == 0){
75 71
            		result = CdmStore.getService(ITaxonNodeService.class).createNewTaxonNode(parentNodeUuid, taxon, parent.getReference(), parent.getMicroReference());
76 72
            	}else{
......
91 87
	                 }
92 88
	                 CdmApplicationState.getCurrentDataChangeService()
93 89
	                         .fireChangeEvent(new CdmChangeEvent(Action.Create, affectedObjects, NewTaxonNodeWizard.class), true);
94
	                 
90

  
95 91
	             }else{
96 92
	                 if (!result.isOk()){
97 93
	                     if (!result.getExceptions().isEmpty()){
......
115 111
                ITaxonTreeNode treeNode = (ITaxonTreeNode) selectedObject;
116 112

  
117 113
                if(treeNode instanceof Classification){
114
                    //FIXME can this ever happen?
118 115
                    return CdmStore.getService(IClassificationService.class).load(treeNode.getUuid());
119 116
                }
120 117
                else if(treeNode instanceof TaxonNode){
121
                	
122 118
                	TaxonNode node =  CdmStore.getService(ITaxonNodeService.class).load(treeNode.getUuid());
123
                	Taxon taxon = (Taxon) CdmStore.getService(ITaxonService.class).load(node.getTaxon().getUuid());
119
                	if(node.getTaxon()!=null){
120
                	    //FIXME this taxon is not used. Do we need this call?
121
                	    Taxon taxon = (Taxon) CdmStore.getService(ITaxonService.class).load(node.getTaxon().getUuid());
122
                	}
123
                	else if(node.getClassification()!=null){
124
                	    return CdmStore.getService(IClassificationService.class).load(node.getClassification().getUuid());
125
                	}
124 126
                    return node;
125 127
                }
126 128
            }

Also available in: Unified diff