Bundle-Name = Editor Bundle\r
command.name.48 = delete\r
command.name.49 = delete\r
-command.name.50 = delete
\ No newline at end of file
+command.name.50 = delete\r
+command.name.51 = delete
id="eu.etaxonomy.taxeditor.editor.view.concept.command.open"
name="%command.name.33">
</command>
+ <command
+ categoryId="eu.etaxonomy.taxeditor.editor.view.concept.category"
+ defaultHandler="eu.etaxonomy.taxeditor.editor.view.concept.handler.DeleteConceptRelationHandler"
+ id="eu.etaxonomy.taxeditor.editor.view.concept.command.delete"
+ name="%command.name.51">
+ </command>
<category
id="eu.etaxonomy.taxeditor.bulkeditor.group.category"
name="%category.name.7">
import eu.etaxonomy.cdm.api.service.util.TaxonRelationshipEdge;
import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
import eu.etaxonomy.cdm.model.common.Annotation;
-import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.DefinedTerm;
import eu.etaxonomy.cdm.model.common.ICdmBase;
import eu.etaxonomy.cdm.model.common.ISourceable;
import eu.etaxonomy.cdm.model.media.Rights;
import eu.etaxonomy.cdm.model.molecular.DnaSample;
import eu.etaxonomy.cdm.model.molecular.Sequence;
-import eu.etaxonomy.cdm.model.molecular.SingleRead;
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
return defaultService.getNonCascadedAssociatedElements(specimen);
}
- @Override
- public DeleteResult deleteDerivateHierarchy(CdmBase from, SpecimenDeleteConfigurator config) {
- return defaultService.deleteDerivateHierarchy(from, config);
- }
-
@Override
public DeleteResult delete(SpecimenOrObservationBase<?> specimen, SpecimenDeleteConfigurator config) {
return defaultService.delete(specimen, config);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#delete(java.util.UUID)
- */
@Override
public DeleteResult delete(UUID uuid) {
return defaultService.delete(uuid);
return defaultService.delete(arg0);
}
- @Override
- public DeleteResult deleteSingleRead(SingleRead singleRead, Sequence sequence){
- return defaultService.deleteSingleRead(singleRead, sequence);
- }
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List)
- */
@Override
public List<SpecimenOrObservationBase> merge(List<SpecimenOrObservationBase> arg0) {
return defaultService.merge(arg0);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#deleteDerivateHierarchy(java.util.UUID, eu.etaxonomy.cdm.api.service.config.SpecimenDeleteConfigurator)
- */
- @Override
- public DeleteResult deleteDerivateHierarchy(UUID arg0, SpecimenDeleteConfigurator arg1) {
- return defaultService.deleteDerivateHierarchy(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#deleteSingleRead(java.util.UUID, java.util.UUID)
- */
- @Override
- public DeleteResult deleteSingleRead(UUID arg0, UUID arg1) {
- return defaultService.deleteSingleRead(arg0, arg1);
- }
-
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#moveDerivate(java.util.UUID, java.util.UUID, java.util.UUID)
- */
@Override
public UpdateResult moveDerivate(UUID arg0, UUID arg1, UUID arg2) {
return defaultService.moveDerivate(arg0, arg1, arg2);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#moveDerivate(eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase, eu.etaxonomy.cdm.model.occurrence.DerivedUnit)
- */
@Override
public boolean moveDerivate(SpecimenOrObservationBase<?> from, SpecimenOrObservationBase<?> to, DerivedUnit derivate) {
return defaultService.moveDerivate(from, to, derivate);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IOccurrenceService#moveSequence(java.util.UUID, java.util.UUID, java.util.UUID)
- */
@Override
public UpdateResult moveSequence(UUID arg0, UUID arg1, UUID arg2) {
return defaultService.moveSequence(arg0, arg1, arg2);
return defaultService.getMediainHierarchy(arg0, arg1, arg2, arg3);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(java.util.List, boolean)
- */
@Override
public List<MergeResult<SpecimenOrObservationBase>> merge(List<SpecimenOrObservationBase> arg0, boolean arg1) {
return defaultService.merge(arg0, arg1);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#merge(eu.etaxonomy.cdm.model.common.ICdmBase, boolean)
- */
@Override
public MergeResult<SpecimenOrObservationBase> merge(SpecimenOrObservationBase arg0, boolean arg1) {
return defaultService.merge(arg0, arg1);
return defaultService.listAssociatedTaxa(arg0, arg1, arg2, arg3, arg4);
}
- /* (non-Javadoc)
- * @see eu.etaxonomy.cdm.api.service.IService#loadWithUpdate(java.util.UUID)
- */
@Override
public SpecimenOrObservationBase loadWithUpdate(UUID arg0) {
return defaultService.loadWithUpdate(arg0);
}
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public DeleteResult delete(UUID arg0, SpecimenDeleteConfigurator arg1) {
+ return defaultService.delete(arg0, arg1);
+ }
+
}
&& treeNode.getValue().equals(element)
&& treeNode.getParent()!=null
&& treeNode.getParent().getValue() instanceof Sequence){
- deleteResult = CdmStore.getService(IOccurrenceService.class).deleteSingleRead(((SingleRead)element).getUuid(),
+ deleteResult = CdmStore.getService(ISequenceService.class).deleteSingleRead(((SingleRead)element).getUuid(),
((Sequence) treeNode.getParent().getValue()).getUuid());
} else if(element instanceof Sequence){
- deleteResult = CdmStore.getService(ISequenceService.class).delete(element.getUuid(), deleteConfigurator);
+ deleteResult = CdmStore.getService(ISequenceService.class).delete(element.getUuid());
} else {
- deleteResult = CdmStore.getService(IOccurrenceService.class).deleteDerivateHierarchy(element.getUuid(), deleteConfigurator);
+ deleteResult = CdmStore.getService(IOccurrenceService.class).delete(element.getUuid(), deleteConfigurator);
}
if(deleteResult.isOk()){
if(getPostOperationEnabled() instanceof DerivateView){
import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
import eu.etaxonomy.cdm.api.service.config.TaxonNodeDeletionConfigurator;
-import eu.etaxonomy.cdm.api.service.config.TaxonNodeDeletionConfigurator.ChildHandling;
+import eu.etaxonomy.cdm.api.service.config.NodeDeletionConfigurator.ChildHandling;
import eu.etaxonomy.cdm.model.common.ITreeNode;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
import eu.etaxonomy.cdm.api.service.config.TaxonNodeDeletionConfigurator;
-import eu.etaxonomy.cdm.api.service.config.TaxonNodeDeletionConfigurator.ChildHandling;
+import eu.etaxonomy.cdm.api.service.config.NodeDeletionConfigurator.ChildHandling;
import eu.etaxonomy.cdm.model.taxon.Classification;
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
// $Id$\r
/**\r
* Copyright (C) 2009 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
* http://www.e-taxonomy.eu\r
-* \r
+*\r
* The contents of this file are subject to the Mozilla Public License Version 1.1\r
* See LICENSE.TXT at the top of this package for the full license terms.\r
*/\r
import org.eclipse.core.commands.ExecutionException;\r
import org.eclipse.core.commands.common.NotDefinedException;\r
import org.eclipse.core.commands.operations.IUndoContext;\r
+import org.eclipse.jface.dialogs.MessageDialog;\r
+import org.eclipse.jface.viewers.ISelection;\r
import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.ui.IEditorPart;\r
import org.eclipse.ui.handlers.HandlerUtil;\r
\r
import eu.etaxonomy.cdm.model.common.TermBase;\r
import eu.etaxonomy.taxeditor.editor.definedterm.DefinedTermEditor;\r
import eu.etaxonomy.taxeditor.editor.definedterm.operation.DeleteTermBaseOperation;\r
+import eu.etaxonomy.taxeditor.model.AbstractUtility;\r
import eu.etaxonomy.taxeditor.model.MessagingUtils;\r
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;\r
import eu.etaxonomy.taxeditor.store.StoreUtil;\r
*/\r
public class DeleteTermBaseHandler extends AbstractHandler {\r
\r
- /* (non-Javadoc)\r
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)\r
- */\r
@Override\r
public Object execute(ExecutionEvent event) throws ExecutionException {\r
- DefinedTermEditor editor = (DefinedTermEditor) HandlerUtil\r
+ IEditorPart editor = HandlerUtil\r
.getActiveEditor(event);\r
\r
+ if (editor.isDirty()){\r
+ boolean proceed = MessageDialog.openQuestion(null,\r
+ "Save changes", "You have made changes that must be saved before this query can be executed. Would you like to proceed?");\r
+ if (proceed) {\r
+ editor.doSave(null);\r
+ } else {\r
+ return null;\r
+ }\r
+ }\r
if (editor instanceof DefinedTermEditor){\r
- DefinedTermEditor dfe = (DefinedTermEditor) editor;\r
- try {\r
- String label = event.getCommand().getName();\r
- IUndoContext undoContext = StoreUtil.getUndoContext();\r
+ DefinedTermEditor dfe = (DefinedTermEditor) editor;\r
+ try {\r
+ String label = event.getCommand().getName();\r
+ IUndoContext undoContext = StoreUtil.getUndoContext();\r
\r
- IStructuredSelection selection = (IStructuredSelection) HandlerUtil\r
- .getCurrentSelection(event);\r
+ ISelection selection = dfe.getViewer().getSelection();\r
+ if(selection instanceof IStructuredSelection){\r
\r
- Iterator<TermBase> selectionIterator = selection.iterator();\r
+ Iterator<TermBase> selectionIterator = ((IStructuredSelection) selection).iterator();\r
\r
- while (selectionIterator.hasNext()){\r
+ while (selectionIterator.hasNext()){\r
\r
- TermBase term = selectionIterator.next();\r
+ TermBase term = selectionIterator.next();\r
\r
\r
- AbstractPostOperation operation = \r
- new DeleteTermBaseOperation(label, \r
- undoContext,\r
- term,\r
- dfe.getDefinedTermEditorInput(), \r
- editor);\r
- StoreUtil.executeOperation(operation);\r
-\r
- } \r
- } catch (NotDefinedException e) {\r
- MessagingUtils.error(getClass(), e);\r
- }\r
+ AbstractPostOperation operation =\r
+ new DeleteTermBaseOperation(label,\r
+ undoContext,\r
+ term,\r
+ dfe.getDefinedTermEditorInput(),\r
+ dfe);\r
+ AbstractUtility.executeOperation(operation);\r
+ }\r
+ }\r
+ } catch (NotDefinedException e) {\r
+ MessagingUtils.error(getClass(), e);\r
+ }\r
}\r
return null;\r
}\r
viewer.setInput(featureTree);
text_title.removeModifyListener(this);
- text_title.setText(featureTree.getTitleCache());
+ if (featureTree != null){
+ text_title.setText(featureTree.getTitleCache());
+ }
text_title.addModifyListener(this);
}
package eu.etaxonomy.taxeditor.featuretree;
import java.util.List;
+import java.util.logging.ErrorManager;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
import eu.etaxonomy.cdm.api.service.DeleteResult;
import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.taxeditor.model.DeleteResultMessagingUtils;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
import eu.etaxonomy.taxeditor.store.CdmStore;
/**
@Override
public void widgetSelected(SelectionEvent e) {
IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
+ Object source = e.getSource();
for(Object element : selection.toArray()){
viewer.remove(element);
-
+ ((FeatureTreeEditorWizard) getWizard()).setSelectedFeatureTree(null);
DeleteResult result = CdmStore.getService(IFeatureTreeService.class).delete(((FeatureTree) element).getUuid());
if (result.isError()){
-
+ DeleteResultMessagingUtils.messageDialogWithDetails(result, "The delete of the feature tree was not successful.", null);
}
viewer.setSelection(new StructuredSelection(new Object[0]));
}
private void handleEvent(Object eventSource){
if(eventSource == number_month){
- partial = TimePeriod.setPartialField(partial, number_month.getInteger(), TimePeriod.MONTH_TYPE);
+ if (number_month.getInteger() == 0){
+ partial = TimePeriod.setPartialField(partial, null, TimePeriod.MONTH_TYPE);
+ } else{
+ partial = TimePeriod.setPartialField(partial, number_month.getInteger(), TimePeriod.MONTH_TYPE);
+ }
+
}else if(eventSource == number_day){
- partial = TimePeriod.setPartialField(partial, number_day.getInteger(), TimePeriod.DAY_TYPE);
+ if (number_day.getInteger() == 0){
+ partial = TimePeriod.setPartialField(partial, null, TimePeriod.DAY_TYPE);
+ } else{
+ partial = TimePeriod.setPartialField(partial, number_day.getInteger(), TimePeriod.DAY_TYPE);
+ }
+
+
}else if(eventSource == number_year){
- partial = TimePeriod.setPartialField(partial, number_year.getInteger(), TimePeriod.YEAR_TYPE);
+ if (number_year.getInteger() == 0){
+ partial = TimePeriod.setPartialField(partial, null, TimePeriod.YEAR_TYPE);
+ } else{
+ partial = TimePeriod.setPartialField(partial, number_year.getInteger(), TimePeriod.YEAR_TYPE);
+ }
+
}
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
}
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
}
+
+ @Override
+ protected void handleToggleableCacheField() {
+ boolean pushedState = toggleable_cache.getState();
+
+ getEntity().setTitleCache(toggleable_cache.getText(), pushedState);
+ setIrrelevant(pushedState, Arrays.asList(new Object[] { toggleable_cache, text_nomenclaturalTitle }));
+ updateToggleableCacheField();
+ }
}
handleToggleableCacheField();
} else if (eventSource == toggleable_nomenclaturalTitleCache) {
- getEntity().setNomenclaturalTitle(
- toggleable_nomenclaturalTitleCache.getText(),
- toggleable_nomenclaturalTitleCache.getState());
+ updateToggleable_nomanclaturalTitleCacheField();
setIrrelevant(
toggleable_nomenclaturalTitleCache.getState(),
Arrays.asList(new Object[] { toggleable_nomenclaturalTitleCache, hasAdditionalMembers }));
firePropertyChangeEvent(new CdmPropertyChangeEvent(this, null));
}
+
+ public void updateToggleable_nomanclaturalTitleCacheField() {
+ if (!getEntity().isProtectedNomenclaturalTitleCache()) {
+ toggleable_nomenclaturalTitleCache.setText(getEntity().getNomenclaturalTitle());
+ }
+ }
}
toggleable_cache.setText(getEntity().getNameCache());
}
}
+
+ @Override
+ protected void handleToggleableCacheField() {
+ boolean pushedState = toggleable_cache.getState();
+
+ getEntity().setTitleCache(toggleable_cache.getText(), pushedState);
+ setIrrelevant(pushedState, Arrays.asList(new Object[] { toggleable_cache, text_appendedPhrase, checkbox_anamorphic }));
+ updateToggleableCacheField();
+ }
+
+
}
getEntity().setLsid(textLsid.parseText());
}
}
+ @Override
+ protected void handleToggleableCacheField() {
+ boolean pushedState = toggleable_cache.getState();
+
+ getEntity().setTitleCache(toggleable_cache.getText(), pushedState);
+ setIrrelevant(pushedState, Arrays.asList(new Object[] { toggleable_cache, textLsid }));
+ updateToggleableCacheField();
+ }
}
private TextWithLabelElement text_publisher;
private TextWithLabelElement text_referenceAbstract;
private TextWithLabelElement text_series;
- private TextWithLabelElement text_seriesPart;
+// private TextWithLabelElement text_seriesPart;
private TextWithLabelElement text_volume;
private TextWithLabelElement text_abbrevTitle;
private TextWithLabelElement text_title;
"Date Published", entity.getDatePublished(), style);
createUriAndAbstract(this, entity, SWT.NULL);
+ handleToggleableAbbrevTitleField();
+ handleToggleableCacheField();
}
/*
// Object[]{text_cache}));
toggleable_cache.setEnabled(getEntity().isProtectedTitleCache());
toggleableAbbrevCache.setEnabled(getEntity().isProtectedAbbrevTitleCache());
- setIrrelevant(toggleable_cache.getState(), Arrays.asList(new Object[] { toggleable_cache }));
- setIrrelevant(toggleableAbbrevCache.getState(), Arrays.asList(new Object[] { toggleableAbbrevCache}));
+ setIrrelevantReferenceDetail(false);
+ setIrrelevantReferenceDetail(true);
}
/**
text_editor = formFactory.createTextWithLabelElement(element, "Editor",
reference.getEditor(), style);
- // series part
+ /* series part
text_seriesPart = formFactory.createTextWithLabelElement(element,
"Series", reference.getSeriesPart(), style);
-
+*/
if (referenceType.equals(ReferenceType.Book)) {
// edition
text_edition = formFactory.createTextWithLabelElement(element,
getEntity().setPublisher(text_publisher.getText());
} else if (eventSource == text_referenceAbstract) {
getEntity().setReferenceAbstract(text_referenceAbstract.getText());
- } else if (eventSource == text_seriesPart) {
- getEntity().setSeriesPart(text_seriesPart.getText());
+ } else if (eventSource == text_series) {
+ getEntity().setSeriesPart(text_series.getText());
} else if (eventSource == text_title) {
getEntity().setTitle(text_title.getText());
toggleable_cache.setText(text_title.getText());
protected void handleToggleableAbbrevTitleField() {
boolean pushedAbbrevState = toggleableAbbrevCache.getState();
getEntity().setAbbrevTitleCache(toggleableAbbrevCache.getText(), pushedAbbrevState);
- setIrrelevant(pushedAbbrevState, Arrays.asList(new Object[] { toggleableAbbrevCache, toggleable_cache, text_title }));
+ setIrrelevantReferenceDetail(true);
updateToggleableCacheField();
}
}
}
}
+
+ @Override
+ protected void handleToggleableCacheField() {
+
+ boolean pushedState = toggleable_cache.getState();
+ getEntity().setTitleCache(toggleable_cache.getText(), pushedState);
+ setIrrelevantReferenceDetail(false);
+ updateToggleableCacheField();
+ }
+
+ protected void setIrrelevantReferenceDetail(boolean abbrev){
+
+ List<Object> except = new ArrayList();
+ except.addAll( Arrays.asList(new Object[] { toggleable_cache, toggleableAbbrevCache, text_editor, text_isbn, text_issn, text_organisation, text_pages, text_placePublished, text_publisher, text_referenceAbstract, text_uri, selection_institution}));
+ boolean pushedState;
+ if (abbrev){
+ except.add(text_title);
+ pushedState = toggleableAbbrevCache.getState();
+ } else{
+ except.add(text_abbrevTitle);
+ pushedState = toggleable_cache.getState();
+ }
+ switch( getEntity().getType()){
+ case Journal:
+ except.add(element_timePeriod);
+ break;
+ case Book:
+ except.remove(text_series);
+ except.remove(text_edition);
+ break;
+ default:
+ break;
+ }
+ setIrrelevant(pushedState, except);
+ }
}
((Taxon)getEntity()).setPublish(checkbox_published.getSelection());
}
}
+ @Override
+ protected void handleToggleableCacheField() {
+ boolean pushedState = toggleable_cache.getState();
+
+ getEntity().setTitleCache(toggleable_cache.getText(), pushedState);
+ setIrrelevant(pushedState, Arrays.asList(new Object[] { toggleable_cache, text_appendedPhrase, checkbox_published, checkbox_unplaced, checkbox_excluded}));
+ updateToggleableCacheField();
+ }
}
import eu.etaxonomy.cdm.api.service.ITaxonService;
import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
import eu.etaxonomy.cdm.api.service.config.TaxonNodeDeletionConfigurator;
-import eu.etaxonomy.cdm.api.service.config.TaxonNodeDeletionConfigurator.ChildHandling;
+import eu.etaxonomy.cdm.api.service.config.NodeDeletionConfigurator.ChildHandling;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.description.TaxonDescription;