package eu.etaxonomy.taxeditor.bulkeditor.handler.defaultHandler;
import org.eclipse.e4.ui.workbench.modeling.EPartService;
-import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.widgets.Shell;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
import eu.etaxonomy.taxeditor.handler.defaultHandler.e4.DefaultOpenHandlerBaseE4;
-public class OpenBulkEditorForIdentifiableEntityE4 extends DefaultOpenHandlerBaseE4<IdentifiableEntity>{
+public class OpenBulkEditorForIdentifiableEntityE4 extends DefaultOpenHandlerBaseE4<Object>{
/**
* {@inheritDoc}
* {@inheritDoc}
*/
@Override
- protected void open(IdentifiableEntity entity, Shell shell, EPartService partService) {
- AbstractBulkEditorInput input = AbstractBulkEditorInput.NewInstance(entity);
+ protected void open(Object entity, Shell shell, EPartService partService) {
+ AbstractBulkEditorInput input = null;
+ if (entity instanceof UuidAndTitleCache){
+ AbstractBulkEditorInput.NewInstance(((UuidAndTitleCache)entity).getClass(), ((UuidAndTitleCache)entity).getUuid());
+ }else if (entity instanceof IdentifiableEntity){
+ input = AbstractBulkEditorInput.NewInstance((IdentifiableEntity)entity);
+ }
BulkEditorUtil.openBulkEditor(input, modelService, partService, application);
}
* {@inheritDoc}
*/
@Override
- protected boolean canExecute(IStructuredSelection entity) {
+ protected boolean canExecute(Object entity) {
+ if (entity instanceof UuidAndTitleCache){
+ return (TaxonName.class.isAssignableFrom(((UuidAndTitleCache)entity).getType())
+ || AgentBase.class.isAssignableFrom(((UuidAndTitleCache)entity).getType())
+ || SpecimenOrObservationBase.class.isAssignableFrom(((UuidAndTitleCache)entity).getType())
+ || TaxonBase.class.isAssignableFrom(((UuidAndTitleCache)entity).getType())
+ || Reference.class.isAssignableFrom(((UuidAndTitleCache)entity).getType()));
+ }
+
return entity instanceof Reference
- || entity instanceof TaxonName
- || entity instanceof AgentBase
- || entity instanceof SpecimenOrObservationBase
- || entity instanceof TaxonBase
- || entity instanceof Media
- ;
- }
+ || entity instanceof TaxonName
+ || entity instanceof AgentBase
+ || entity instanceof SpecimenOrObservationBase
+ || entity instanceof TaxonBase
+ || entity instanceof Media
+ ;
+
+ }
@Override
protected String getPartId() {