Revision f153f11a
Added by Patrick Plitzner about 8 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/CdmViewerChooser.java | ||
---|---|---|
34 | 34 |
import org.eclipse.ui.PlatformUI; |
35 | 35 |
import org.eclipse.ui.handlers.IHandlerService; |
36 | 36 |
|
37 |
import eu.etaxonomy.cdm.api.service.IOccurrenceService; |
|
38 |
import eu.etaxonomy.cdm.api.service.ITaxonService; |
|
37 | 39 |
import eu.etaxonomy.cdm.model.common.ICdmBase; |
40 |
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; |
|
41 |
import eu.etaxonomy.cdm.model.taxon.Synonym; |
|
42 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
|
43 |
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache; |
|
38 | 44 |
import eu.etaxonomy.taxeditor.model.MessagingUtils; |
45 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
|
39 | 46 |
|
40 | 47 |
/** |
41 | 48 |
* This class opens a popup dialog and provides the possibility to choose from a |
... | ... | |
84 | 91 |
} |
85 | 92 |
|
86 | 93 |
private void executeCommand(Command command, Object input) { |
94 |
//for generic UuidAndTitleCache objects try to load the object |
|
95 |
if (input instanceof UuidAndTitleCache){ |
|
96 |
UuidAndTitleCache uuidAndTitleCache = (UuidAndTitleCache)input; |
|
97 |
Class type = uuidAndTitleCache.getType(); |
|
98 |
if(type == Taxon.class || type == Synonym.class){ |
|
99 |
input = CdmStore.getService(ITaxonService.class).load(uuidAndTitleCache.getUuid()); |
|
100 |
} |
|
101 |
else if(SpecimenOrObservationBase.class.isAssignableFrom(type)){ |
|
102 |
input = CdmStore.getService(IOccurrenceService.class).load(uuidAndTitleCache.getUuid()); |
|
103 |
} |
|
104 |
} |
|
87 | 105 |
//set uuid parameter |
88 | 106 |
if(input instanceof ICdmBase){ |
89 | 107 |
Map<String, UUID> params = new HashMap<String, UUID>(); |
Also available in: Unified diff
Correctly handle UuidAndTitleCache objects in "Open in..." menu