command.label.2 = Remove as Candidate(s) for Duplicate Removal
command.label.3 = De-Duplicate Group
command.label.4 = Delete
-command.label.5 = Convert Team to Person
+command.label.5 = Convert to Person
command.name = Merge Group
command.name.0 = Set as Target for Group Merge
command.name.1 = Dynamic Open Bulk Editor
command.name.5 = Remove as Candidate for Group Merge
command.name.6 = Set Marker Flag
command.name.7 = delete
-command.name.8 = convert Team to Person
-command.name.9 = convert Person to Team
+command.name.8 = convert to Person
+command.name.9 = convert to Team
specification.label = Merge Candidate Annotation
specification.label.0 = Merge Target Annotation
-command.label.6 = Convert Person to Team
+command.label.6 = Convert to Team
command.name.10 = convert Person to Team
\ No newline at end of file
command.label.1 = Markiere als Kandidat(en) f\u00fcr Duplikatenentfernung
command.label.2 = Entferne Kandidat f\u00fcr Duplikatenentfernung
command.label.3 = Dedupliziere Gruppe
-command.label.4 = L\u00f6schen
\ No newline at end of file
+command.label.4 = L\u00f6schen
+command.label.5 = Umwandeln in Person
+command.label.6 = Umwandeln in Team
\ No newline at end of file
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;\r
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;\r
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;\r
+import eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin;\r
import eu.etaxonomy.taxeditor.model.MessagingUtils;\r
import eu.etaxonomy.taxeditor.store.CdmStore;\r
\r
try {\r
team = CdmStore.getService(IAgentService.class).convertPerson2Team(person);\r
} catch (IllegalArgumentException e) {\r
- MessagingUtils.errorDialog("Can not convert Team to Person", null, e.getMessage(), null,e, true);\r
+ MessagingUtils.errorDialog("Can not convert Person into a Team", null, e.getLocalizedMessage(), TaxeditorBulkeditorPlugin.PLUGIN_ID,e, true);\r
} catch (MergeException e) {\r
- MessagingUtils.errorDialog("Can not convert Team to Person", null, e.getMessage(), null,e, true);\r
+ MessagingUtils.errorDialog("Can not convert Person into a Team", null, e.getMessage(), TaxeditorBulkeditorPlugin.PLUGIN_ID,e, true);\r
}\r
}else{\r
- MessagingUtils.informationDialog("Can not convert Team to Person", "convertTeam2Person can only be called on a team.");\r
+ MessagingUtils.informationDialog("Can not convert Person into a Team", "convert Person to Team can only be called on a person.");\r
}\r
\r
if (team != null){\r
import eu.etaxonomy.cdm.model.common.Group;
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.cdm.model.common.User;
-
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotationModel;
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
+import eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin;
import eu.etaxonomy.taxeditor.bulkeditor.referencingobjects.ReferencingObjectsView;
-
-
import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.preference.IPreferenceKeys;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
result = service.delete((TeamOrPersonBase)object);
}
} catch (Exception e){
- MessagingUtils.messageDialog("Exception occured. Could not delete", getClass(), e.getMessage(), null);
+ MessagingUtils.errorDialog("Exception occured. Delete not possible", getClass(), e.getMessage(), TaxeditorBulkeditorPlugin.PLUGIN_ID, null, true);
}
if (result.isError() || result.isAbort()){
if (!result.getExceptions().isEmpty()) {
- MessagingUtils.messageDialog("Could not delete", getClass(), result.getExceptions().toString(), null);
+ String message = null;
+ int i = result.getExceptions().size();
+ for (Exception e:result.getExceptions()){
+ i--;
+ message+= e.getMessage();
+ if (i>0){
+ message+= ", ";
+ }
+ }
+
+
+ MessagingUtils.messageDialog("Delete not possible", getClass(), result.getExceptions().toString(), null);
}else{
- MessagingUtils.messageDialog("Could not delete", getClass(), "The object could not be deleted. An exception occured.", null);
+ MessagingUtils.messageDialog("Delete not possible", getClass(), "The object could not be deleted. An exception occured.", null);
}
}
if (result.isOk() ){
((BulkEditor) editor).removeAnnotatedLine(annotation);
- if(result.getUpdatedObjects().size() != 0 && !result.getExceptions().isEmpty()){
+ if(result.getUpdatedObjects().size() != 0 || !result.getExceptions().isEmpty()){
MessagingUtils.informationDialog("Delete successfull", "The object is deleted but there are updated objects: " + result.toString());
}
ITaxonTreeNode treeNode = treeNodes.iterator().next();
ITaxonTreeNode taxonNode =treeNode;
TaxonNodeDeletionConfigurator configNodes = new TaxonNodeDeletionConfigurator();
+ //configNodes.setDeleteTaxon(false);
if (taxonNode instanceof Classification && taxonNode.hasChildNodes()){
if(!DeleteConfiguratorDialog.openConfirmWithConfigurator(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the classification? The tree has children, they will be deleted, too.")){
return null;
}
}else{
- if(!DeleteConfiguratorDialog.openConfirmWithConfigurator(config, HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the selected node?")){
+ if(!DeleteConfiguratorDialog.openConfirmWithConfigurator(configNodes, HandlerUtil.getActiveShell(event), "Confirm Deletion", "Do you really want to delete the selected node?")){
return null;
- }
+ }
+ config.setTaxonNodeConfig(configNodes);
}
}
MessagingUtils.informationDialog("Synonym created but taxon is not deleted.", exceptionString);
} else if (result.isAbort() || result.isError()){
- MessagingUtils.errorDialog("Synonym could not created", null, result.toString(), null, null, true);
+ MessagingUtils.errorDialog("Synonym could not created", null, result.toString(), TaxeditorNavigationPlugin.PLUGIN_ID, null, true);
}
} catch (IllegalArgumentException e) {
MessagingUtils.errorDialog("Operation failed", this, e.getMessage(), TaxeditorNavigationPlugin.PLUGIN_ID, e, false);
import eu.etaxonomy.cdm.api.service.config.DeleteConfiguratorBase;
import eu.etaxonomy.cdm.api.service.config.SpecimenDeleteConfigurator;
import eu.etaxonomy.cdm.api.service.config.TaxonBaseDeletionConfigurator;
+import eu.etaxonomy.cdm.api.service.config.TaxonNodeDeletionConfigurator;
/**
* Abstract subclass of MessageDialog providing the functionality to configure
}
else if(configurator instanceof SpecimenDeleteConfigurator){
composite.addConfiguratorComposite(new DeleteSpecimenConfiguratorComposite((SpecimenDeleteConfigurator) configurator, composite.getSectionConfigure(), SWT.NONE));
+ } else if(configurator instanceof TaxonNodeDeletionConfigurator){
+ composite.addConfiguratorComposite(new DeleteNodeConfiguratorComposite((TaxonNodeDeletionConfigurator) configurator, composite.getSectionConfigure(), SWT.NONE));
}
+
return composite;
}
--- /dev/null
+package eu.etaxonomy.taxeditor.ui.dialog.deleteConfigurator;
+/**
+* Copyright (C) 2015 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+import org.eclipse.core.databinding.DataBindingContext;
+import org.eclipse.core.databinding.beans.PojoProperties;
+import org.eclipse.core.databinding.observable.value.IObservableValue;
+import org.eclipse.jface.databinding.swt.WidgetProperties;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.layout.RowLayout;
+
+import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
+import eu.etaxonomy.cdm.api.service.config.TaxonNodeDeletionConfigurator;
+/**
+ * @author kluther
+ * @date Jul 13, 2015
+ *
+ */
+public class DeleteNodeConfiguratorComposite extends Composite {
+ // $Id$
+
+ private final DataBindingContext m_bindingContext;
+
+ private final FormToolkit toolkit = new FormToolkit(Display.getCurrent());
+ private final TaxonNodeDeletionConfigurator configurator;
+ private final Button btnDeleteTaxon;
+
+
+ /**
+ * Create the composite.
+ * @param parent
+ * @param style
+ */
+ public DeleteNodeConfiguratorComposite(TaxonNodeDeletionConfigurator configurator, Composite parent, int style) {
+ super(parent, style);
+ this.configurator = configurator;
+ addDisposeListener(new DisposeListener() {
+ @Override
+ public void widgetDisposed(DisposeEvent e) {
+ toolkit.dispose();
+ }
+ });
+ toolkit.paintBordersFor(this);
+ setLayout(new RowLayout(SWT.VERTICAL));
+ setBackground(getBackground());
+
+ btnDeleteTaxon = new Button(this, SWT.CHECK);
+ btnDeleteTaxon.setText("Delete taxon if possible");
+
+ m_bindingContext = initDataBindings();
+
+ }
+
+ protected DataBindingContext initDataBindings() {
+ DataBindingContext bindingContext = new DataBindingContext();
+ //
+ IObservableValue observeSelectionBtnDeleteTaxonObserveWidget = WidgetProperties.selection().observe(btnDeleteTaxon);
+ IObservableValue deleteTaxonIfPossibleConfiguratorObserveValue = PojoProperties.value("deleteTaxon").observe(configurator);
+ bindingContext.bindValue(observeSelectionBtnDeleteTaxonObserveWidget, deleteTaxonIfPossibleConfiguratorObserveValue, null, null);
+ //
+ return bindingContext;
+ }
+ }
+
+