</visibleWhen>
</menu>
<separator
- name="taxeditor-bulkeditor.separator4"\r
- visible="true">\r
+ name="taxeditor-bulkeditor.separator4"
+ visible="true">
</separator>
<command
commandId="bulkeditor.commands.setmergetarget"
</reference>
</visibleWhen>
</command>
- <separator\r
- name="eu.etaxonomy.taxeditor.bulkeditor.separator1"\r
- visible="true">\r
- </separator>\r
+ <separator
+ name="eu.etaxonomy.taxeditor.bulkeditor.separator1"
+ visible="true">
+ </separator>
<command
commandId="eu.etaxonomy.taxeditor.bulkeditor.convertTeam2Person"
label="%command.label.5"
id="eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForTaxonNode"
name="%command.name.OPEN_BULK_EDITOR_FOR_TAXON_NODE">
</command>
+ <command
+ defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.handler.defaultHandler.OpenBulkEditorForIdentifiableEntity"
+ id="eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForIdentifiableEntity"
+ name="Open bulk editor for identifiable entity">
+ <commandParameter
+ id="eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForIdentifiableEntity.uuid"
+ name="Identifiable Entity UUID"
+ optional="true"
+ typeId="eu.etaxonomy.taxeditor.uuidParameterType">
+ </commandParameter>
+ </command>
<!--command
defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.handler.NewEntityHandler"
id="eu.etaxonomy.taxeditor.bulkeditor.command.new"
selection="eu.etaxonomy.cdm.model.taxon.TaxonNode"
viewerName="%viewCommandMapping.viewerName.BULK_EDITOR">
</viewCommandMapping>
+ <viewCommandMapping
+ commandId="eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForIdentifiableEntity"
+ selection="eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache"
+ viewerName="%viewCommandMapping.viewerName.BULK_EDITOR">
+ </viewCommandMapping>
+ <viewCommandMapping
+ commandId="eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForIdentifiableEntity"
+ selection="eu.etaxonomy.cdm.model.common.IdentifiableEntity"
+ viewerName="%viewCommandMapping.viewerName.BULK_EDITOR">
+ </viewCommandMapping>
</extension>
<!-- start set marker -->
--- /dev/null
+package eu.etaxonomy.taxeditor.bulkeditor.handler.defaultHandler;
+
+import java.util.UUID;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.ui.PartInitException;
+
+import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
+import eu.etaxonomy.taxeditor.handler.defaultHandler.DefaultOpenHandlerBase;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+public class OpenBulkEditorForIdentifiableEntity extends DefaultOpenHandlerBase<IdentifiableEntity> {
+
+ @Override
+ protected IdentifiableEntity getEntity(UUID uuid) {
+ return CdmStore.getCommonService().find(IdentifiableEntity.class, uuid);
+ }
+
+ @Override
+ protected void open(ExecutionEvent event, IdentifiableEntity entity) {
+ try {
+ BulkEditorUtil.openEditor(entity);
+ } catch (PartInitException e) {
+ MessagingUtils.error(this.getClass(), "Bulk Editor could not be opened for "+entity, e);
+ }
+ }
+
+
+}
import org.eclipse.ui.actions.CompoundContributionItem;
import org.eclipse.ui.handlers.IHandlerService;
-import eu.etaxonomy.cdm.api.service.IOccurrenceService;
-import eu.etaxonomy.cdm.api.service.ITaxonService;
+import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.ICdmBase;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.cdm.model.taxon.Synonym;
-import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
import eu.etaxonomy.taxeditor.Messages;
import eu.etaxonomy.taxeditor.model.MessagingUtils;
Map<String, UUID> params = new HashMap<String, UUID>();
//for generic UuidAndTitleCache objects try to load the object
if (selectedObject instanceof UuidAndTitleCache){
- UuidAndTitleCache uuidAndTitleCache = (UuidAndTitleCache)selectedObject;
- Class type = uuidAndTitleCache.getType();
- if(type == Taxon.class || type == Synonym.class){
- selectedObject = CdmStore.getService(ITaxonService.class).load(uuidAndTitleCache.getUuid());
- }
- else if(SpecimenOrObservationBase.class.isAssignableFrom(type)){
- selectedObject = CdmStore.getService(IOccurrenceService.class).load(uuidAndTitleCache.getUuid());
- }
+ selectedObject = CdmStore.getCommonService().find(CdmBase.class, ((UuidAndTitleCache)selectedObject).getUuid());
}
if(selectedObject instanceof ICdmBase){
params.put(command.getId()+".uuid", ((ICdmBase) selectedObject).getUuid()); //$NON-NLS-1$