taxeditor-application/splash.bmp -text
taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/Application.java -text
taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/ApplicationActionBarAdvisor.java -text
+taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/ApplicationUtil.java -text
taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/ApplicationWorkbenchAdvisor.java -text
taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/ApplicationWorkbenchWindowAdvisor.java -text
taxeditor-application/src/main/java/eu/etaxonomy/taxeditor/OpenExternalAboutPlatformHandler.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/AbstractFilteredCdmResourceSelectionDialog.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredAgentSelectionDialog.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredClassificationSelectionDialog.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredCollectionSelectionDialog.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredDerivedUnitSelectionDialog.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredFeatureTreeSelectionDialog.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/dialogs/filteredSelection/FilteredFieldObservationSelectionDialog.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/SwapSynonymAndAcceptedHandler.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/AbstractNewEntityWizard.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/ExternalReferenceServiceWizardPage.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/NewCollectionWizard.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/NewDerivedUnitBaseWizard.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/NewFieldObservationWizard.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/newWizard/NewNonViralNameWizard.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/AbstractSelectionElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/AgentSelectionElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/ClassificationSelectionElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/CollectionSelectionElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/DerivedUnitBaseSelectionElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/EditFromSelectionWizard.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/selection/FeatureTreeSelectionElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/AbstractEnumComboElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/AbstractTermComboElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/AnnotationTypeComboElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/DeterminationModifierComboElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/EmptyComboElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/ExtensionTypeComboElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/forms/term/LanguageComboElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/ProtologueSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/SpecimenTypeDesignationElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/name/TypeDesignationSection.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/AbstractEventDetailElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectingAreasDetailElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectingAreasDetailSection.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectionDetailElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/CollectionWizardPage.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DerivedUnitBaseDetailElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DerivedUnitBaseDetailSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DerivedUnitFacadeDetailElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DerivedUnitFacadeDetailSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DerivedUnitFacadeWizardPage.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DeterminationEventDetailElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/DeterminationEventDetailSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/FieldObservationDetailElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/FieldObservationDetailSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/GatheringEventDetailElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/GatheringEventDetailSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/IFacadeHolder.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/SpecimenCollectionDetailElement.java -text
+taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/occurrence/SpecimenCollectionDetailSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/NomenclaturalReferenceDetailElement.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/NomenclaturalReferenceDetailSection.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/section/reference/ReferenceBaseDetailElement.java -text
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.
+*/
+
+package eu.etaxonomy.taxeditor;
+
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class ApplicationUtil extends AbstractUtility {
+
+ protected static String getPluginId(){
+ return TaxonomicEditorPlugin.PLUGIN_ID;
+ }
+
+}
package eu.etaxonomy.taxeditor;
-import org.apache.log4j.Logger;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
import org.eclipse.equinox.p2.core.IProvisioningAgent;
import eu.etaxonomy.taxeditor.dialogs.LoginDialog;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.store.StoreUtil;
public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
- private static final Logger logger = Logger.getLogger(ApplicationWorkbenchWindowAdvisor.class);
public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
super(configurer);
final IProvisioningAgent agent = (IProvisioningAgent) ServiceHelper.getService(TaxonomicEditorPlugin.bundleContext,
IProvisioningAgent.SERVICE_NAME);
if (agent == null) {
- logger.error("No provisioning agent found. This application is not set up for updates.");
+ ApplicationUtil.error(this.getClass(), "No provisioning agent found. This application is not set up for updates.", null);
return;
}
});
}
if (status.getSeverity() == IStatus.CANCEL){
- logger.info(status);
+ ApplicationUtil.info(this.getClass(), status);
// throw new OperationCanceledException();
}
ProvisioningJob job = operation.getProvisioningJob(null);
if(job == null){
- logger.info(status);
+ ApplicationUtil.info(this.getClass(), status);
// StoreUtil.warningDialog("Updates", status.toString());
return;
// throw new OperationCanceledException();
status = job.runModal(null);//sub.newChild(100));
if (status.getSeverity() == IStatus.CANCEL){
- logger.info(status);
+ ApplicationUtil.info(this.getClass(), status);
// throw new OperationCanceledException();
}
}
// StoreUtil.warningDialog("Updates", status.toString());
}catch(Exception e){
- logger.error(e);
+ ApplicationUtil.error(this.getClass(), e);
}
}
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
- logger.debug("Taxonomic Editor stopped.");
+ ApplicationUtil.info(this.getClass(), "Taxonomic Editor stopped.");
}
/**
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
import eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorInputTypeValues.BulkEditorInputType;
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
+import eu.etaxonomy.taxeditor.bulkeditor.internal.TaxeditorBulkeditorPlugin;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
/**
AbstractBulkEditorInput editorInput = AbstractBulkEditorInput.NewInstance(entity);
open(editorInput, BulkEditor.ID);
}
+
+ protected static String getPluginId(){
+ return TaxeditorBulkeditorPlugin.PLUGIN_ID;
+ }
}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.
+*/
+
+package eu.etaxonomy.taxeditor.dialogs.filteredSelection;
+
+import java.util.UUID;
+
+import org.eclipse.swt.widgets.Shell;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard;
+import eu.etaxonomy.taxeditor.editor.newWizard.NewCollectionWizard;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class FilteredCollectionSelectionDialog extends
+ AbstractFilteredCdmResourceSelectionDialog<Collection> {
+
+ public static Collection selectCollection(Shell shell, ConversationHolder conversation, Collection collection){
+ FilteredCollectionSelectionDialog dialog = new FilteredCollectionSelectionDialog(shell, conversation,
+ "Choose Collection", false, FilteredCollectionSelectionDialog.class.getCanonicalName(), collection);
+ return getSelectionFromDialog(dialog);
+ }
+
+ /**
+ * @param shell
+ * @param conversation
+ * @param title
+ * @param multi
+ * @param settings
+ * @param cdmObject
+ */
+ protected FilteredCollectionSelectionDialog(Shell shell,
+ ConversationHolder conversation, String title, boolean multi,
+ String settings, Collection cdmObject) {
+ super(shell, conversation, title, multi, settings, cdmObject);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getPersistentObject(java.util.UUID)
+ */
+ @Override
+ protected Collection getPersistentObject(UUID uuid) {
+ return CdmStore.getCollectionService().load(uuid);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#initModel()
+ */
+ @Override
+ protected void initModel() {
+ model = CdmStore.getCollectionService().getUuidAndTitleCache();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewWizardLinkText()
+ */
+ @Override
+ protected String getNewWizardLinkText() {
+ return "Click link to create a new <A>Collection</A>.";
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.dialogs.filteredSelection.AbstractFilteredCdmResourceSelectionDialog#getNewEntityWizard()
+ */
+ @Override
+ protected AbstractNewEntityWizard getNewEntityWizard() {
+ return new NewCollectionWizard();
+ }
+
+
+}
String title, boolean multi, String settings,
FieldObservation cdmObject) {
super(shell, conversation, title, multi, settings, cdmObject);
- // TODO Auto-generated constructor stub
}
/* (non-Javadoc)
import org.eclipse.ui.PartInitException;\r
import org.eclipse.ui.handlers.HandlerUtil;\r
\r
+import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin;\r
import eu.etaxonomy.taxeditor.editor.view.detail.DetailsViewPart;\r
import eu.etaxonomy.taxeditor.model.AbstractUtility;\r
\r
\r
return (IStructuredSelection) activeEditor.getSite().getSelectionProvider().getSelection();\r
}\r
+ \r
+ protected static String getPluginId(){\r
+ return TaxeditorEditorPlugin.PLUGIN_ID;\r
+ }\r
}\r
import java.util.Set;
import java.util.UUID;
-import org.apache.log4j.Logger;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IMemento;
* @version 1.0
*/
public class TaxonEditorInput implements IEditorInput, IConversationEnabled, IPersistableElement {
- private static final Logger logger = Logger
- .getLogger(TaxonEditorInput.class);
private ConversationHolder conversation;
private TaxonEditorInput(TaxonNode taxonNode, ConversationHolder conversation){
this.conversation = conversation;
this.taxonNode = taxonNode;
- logger.trace(TaxonEditorInput.class.getSimpleName() + " created");
}
TaxonNode taxonNode = CdmStore.getTaxonNodeService().load(taxonNodeUuid, null);
if(taxonNode == null){
- EditorUtil.warningDialog("Not yet implemented", "Selected element is not type TaxonBase.");
+ EditorUtil.warningDialog("Not yet implemented", TaxonEditorInput.class, "Selected element is not type TaxonBase.");
return null;
}
if (taxon.isMisappliedName()){
// TODO get accepted taxon
- logger.warn("trying to open Mispplied Name ");
+ EditorUtil.info(TaxonEditorInput.class, "trying to open Mispplied Name ");
Set<Taxon> acceptedTaxa = new HashSet<Taxon>();
Set<TaxonRelationship> relations = taxon.getRelationsFromThisTaxon();
return NewInstance(taxonNode.getUuid(), conversation);
}else if(taxonNodes.size() > 1){
// FIXME implement a dialog that shows all possible taxa and let the user choose which he wants to open.
- EditorUtil.warningDialog("Not implemented yet", "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." +
+ EditorUtil.warningDialog("Not implemented yet", TaxonEditorInput.class, "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." +
" This case is not handled yet by the software.");
}else if(taxonNodes.size() == 0){
// this is an undesired state
- EditorUtil.warningDialog("Incorrect state", "The accepted taxon is not in a taxonomic view. This should not have happened.");
+ EditorUtil.warningDialog("Incorrect state", TaxonEditorInput.class, "The accepted taxon is not in a taxonomic view. This should not have happened.");
}
return null;
}
return getInputForMultipleNodes(conversation, nodes);
}else if(taxa.size() > 1){
// FIXME implement a dialog that shows all possible taxa and let the user choose which he wants to open.
- EditorUtil.warningDialog("Not implemented yet", "There are multiple accepted taxa for the current selection. We currently do not know which one you want to open." +
+ EditorUtil.warningDialog("Not implemented yet", TaxonEditorInput.class, "There are multiple accepted taxa for the current selection. We currently do not know which one you want to open." +
" This case is not handled yet by the software.");
}else if(taxa.size() == 0){
// this is an undesired state
- EditorUtil.warningDialog("Incorrect state", "Trying to open accepted taxon for a synonym or misapplication but" +
+ EditorUtil.warningDialog("Incorrect state", TaxonEditorInput.class, "Trying to open accepted taxon for a synonym or misapplication but" +
" no accepted taxa are present. This should not have happened.");
}
return null;
\r
import java.util.UUID;\r
\r
-import org.apache.log4j.Logger;\r
import org.eclipse.core.runtime.IAdaptable;\r
import org.eclipse.ui.IElementFactory;\r
import org.eclipse.ui.IMemento;\r
* @version 1.0\r
*/\r
public class TaxonEditorInputFactory implements IElementFactory {\r
- private static final Logger logger = Logger\r
- .getLogger(TaxonEditorInputFactory.class);\r
\r
/**\r
* Factory id. The workbench plug-in registers a factory by this name\r
return null;\r
}\r
if (taxonNodeUuid == null || CdmStore.getTaxonTreeService().getTaxonNodeByUuid(UUID.fromString(taxonNodeUuid)) == null) {\r
- logger.warn("Couldn't find taxon node with UUID " + taxonNodeUuid);\r
+ EditorUtil.warn(this.getClass(), "Couldn't find taxon node with UUID " + taxonNodeUuid);\r
return null;\r
}\r
- logger.info("Creating taxon node from memento w UUID " + taxonNodeUuid);\r
try {\r
return TaxonEditorInput.NewInstance(UUID.fromString(taxonNodeUuid));\r
} catch (Exception e) {\r
- EditorUtil.warningDialog("Could not create element", e.getMessage());\r
+ EditorUtil.warningDialog("Could not create element", TaxonEditorInputFactory.class, e.getMessage());\r
}\r
return null;\r
} \r
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.IHandler;
-import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.PartInitException;
import eu.etaxonomy.cdm.model.taxon.Taxon;
} catch (PartInitException e) {
throw new RuntimeException("Error opening parent taxon", e);
} catch (Exception e) {
- EditorUtil.warningDialog("Could not create Taxon", e.getMessage());
+ EditorUtil.warningDialog("Could not create Taxon", this, e.getMessage());
}
}
}\r
EditorUtil.openTaxonNode(newAcceptedTaxonNodeUuid);\r
} catch (PartInitException e) {\r
- logger.error(e);\r
+ EditorUtil.error(this.getClass(), e);\r
throw new RuntimeException(e);\r
} catch (Exception e) {\r
- EditorUtil.warningDialog("Could not create Taxon", e.getMessage());\r
+ EditorUtil.warningDialog("Could not create Taxon", this, e.getMessage());\r
}\r
}\r
\r
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
- EditorUtil.warningDialog("Could not create Taxon", e.getMessage());
+ EditorUtil.warningDialog("Could not create Taxon", this, e.getMessage());
}
}
return true;
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.
+*/
+
+package eu.etaxonomy.taxeditor.editor.newWizard;
+
+import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.taxeditor.section.occurrence.CollectionWizardPage;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class NewCollectionWizard extends AbstractNewEntityWizard<Collection> {
+
+ @Override
+ public void addPages() {
+ addPage(new CollectionWizardPage(formFactory, getConversationHolder(), entity));
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#saveEntity()
+ */
+ @Override
+ protected void saveEntity() {
+ CdmStore.getCollectionService().saveOrUpdate(entity);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.editor.newWizard.AbstractNewEntityWizard#createNewEntity()
+ */
+ @Override
+ protected Collection createNewEntity() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
package eu.etaxonomy.taxeditor.editor.translation;
+import java.util.Map;
+
import org.apache.log4j.Logger;
import org.eclipse.jface.wizard.Wizard;
-import eu.etaxonomy.cdm.model.common.MultilanguageText;
+import eu.etaxonomy.cdm.model.common.Language;
+import eu.etaxonomy.cdm.model.common.LanguageString;
/**
* @author n.hoffmann
private TranslationWizardPage page;
- private MultilanguageText multilanguageText;
+ private Map<Language, LanguageString> multilanguageText;
/**
* @param multilanguageText2
*/
- public TranslationWizard(MultilanguageText multilanguageText) {
+ public TranslationWizard(Map<Language, LanguageString> multilanguageText) {
setWindowTitle("Translation Editor");
this.multilanguageText = multilanguageText;
}
package eu.etaxonomy.taxeditor.editor.translation;
import java.util.ArrayList;
+import java.util.Map;
import org.apache.log4j.Logger;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.swt.widgets.Display;
import eu.etaxonomy.cdm.model.common.Language;
-import eu.etaxonomy.cdm.model.common.MultilanguageText;
+import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
private static int TEXT_HEIGHT = 400;
- private MultilanguageText multilanguageText;
+ private Map<Language, LanguageString> multilanguageText;
MultilanguageTextElement source;
/**
* @param pageName
*/
- protected TranslationWizardPage(MultilanguageText multilanguageText) {
+ protected TranslationWizardPage(Map<Language, LanguageString> multilanguageText) {
super("TranslationWizardPage");
setTitle("Add or edit translations.");
this.multilanguageText = multilanguageText;
import java.util.HashSet;
import java.util.Set;
-import org.apache.log4j.Logger;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.ListenerList;
import org.eclipse.jface.util.IPropertyChangeListener;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.model.common.IVersionableEntity;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
/**
* @version 1.0
* @param <T>
*/
-public abstract class AbstractFormSection<T extends IVersionableEntity> extends Section implements ISelectionChangedListener, IEntityElement<T>, IConversationEnabled{
-
- private static final Logger logger = Logger
- .getLogger(AbstractFormSection.class);
-
+public abstract class AbstractFormSection<ENTITY> extends Section implements ISelectionChangedListener, IEntityElement<ENTITY>, IConversationEnabled{
+
private ISelectionProvider selectionProvider;
- private T entity;
+ private ENTITY entity;
private Set<ICdmFormElement> elements = new HashSet<ICdmFormElement>();
*
* @param entity
*/
- public void setEntity(T entity){
+ public void setEntity(ENTITY entity){
this.entity = entity;
}
* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.forms.IEntityElement#getEntity()
*/
- public T getEntity() {
+ public ENTITY getEntity() {
return entity;
}
return this.toggle;
}
- public AbstractFormSection<T> getSection(){
+ public AbstractFormSection getSection(){
return this;
}
import java.net.URI;
import java.util.Map;
-import org.apache.log4j.Logger;
import org.eclipse.core.runtime.ListenerList;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.viewers.ISelection;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.common.Marker;
import eu.etaxonomy.cdm.model.common.MarkerType;
-import eu.etaxonomy.cdm.model.common.MultilanguageText;
import eu.etaxonomy.cdm.model.common.TimePeriod;
import eu.etaxonomy.cdm.model.common.VersionableEntity;
import eu.etaxonomy.cdm.model.description.CategoricalData;
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
+import eu.etaxonomy.cdm.model.occurrence.Collection;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
+import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
+import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier;
import eu.etaxonomy.cdm.model.occurrence.FieldObservation;
import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
+import eu.etaxonomy.cdm.model.occurrence.Specimen;
import eu.etaxonomy.cdm.model.reference.ReferenceBase;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
import eu.etaxonomy.taxeditor.forms.selection.AbstractSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.AgentSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.ClassificationSelectionElement;
+import eu.etaxonomy.taxeditor.forms.selection.CollectionSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.DerivedUnitBaseSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.FeatureTreeSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.FieldObservationSelectionElement;
import eu.etaxonomy.taxeditor.forms.term.AbstractEnumComboElement;
import eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement;
import eu.etaxonomy.taxeditor.forms.term.AnnotationTypeComboElement;
+import eu.etaxonomy.taxeditor.forms.term.DeterminationModifierComboElement;
import eu.etaxonomy.taxeditor.forms.term.EmptyComboElement;
import eu.etaxonomy.taxeditor.forms.term.ExtensionTypeComboElement;
import eu.etaxonomy.taxeditor.forms.term.LanguageComboElement;
import eu.etaxonomy.taxeditor.section.name.ProtologueSection;
import eu.etaxonomy.taxeditor.section.name.SpecimenTypeDesignationElement;
import eu.etaxonomy.taxeditor.section.name.TypeDesignationSection;
+import eu.etaxonomy.taxeditor.section.occurrence.CollectingAreasDetailElement;
+import eu.etaxonomy.taxeditor.section.occurrence.CollectingAreasDetailSection;
+import eu.etaxonomy.taxeditor.section.occurrence.CollectionDetailElement;
import eu.etaxonomy.taxeditor.section.occurrence.DerivedUnitBaseDetailElement;
import eu.etaxonomy.taxeditor.section.occurrence.DerivedUnitBaseDetailSection;
import eu.etaxonomy.taxeditor.section.occurrence.DerivedUnitFacadeDetailElement;
import eu.etaxonomy.taxeditor.section.occurrence.DerivedUnitFacadeDetailSection;
+import eu.etaxonomy.taxeditor.section.occurrence.DeterminationEventDetailElement;
+import eu.etaxonomy.taxeditor.section.occurrence.DeterminationEventDetailSection;
import eu.etaxonomy.taxeditor.section.occurrence.FieldObservationDetailElement;
import eu.etaxonomy.taxeditor.section.occurrence.FieldObservationDetailSection;
import eu.etaxonomy.taxeditor.section.occurrence.GatheringEventDetailElement;
import eu.etaxonomy.taxeditor.section.occurrence.GatheringEventDetailSection;
+import eu.etaxonomy.taxeditor.section.occurrence.SpecimenCollectionDetailElement;
+import eu.etaxonomy.taxeditor.section.occurrence.SpecimenCollectionDetailSection;
import eu.etaxonomy.taxeditor.section.reference.NomenclaturalReferenceDetailElement;
import eu.etaxonomy.taxeditor.section.reference.NomenclaturalReferenceDetailSection;
import eu.etaxonomy.taxeditor.section.reference.ReferenceBaseDetailElement;
* @version 1.0
*/
public class CdmFormFactory extends FormToolkit{
-
- private static final Logger logger = Logger
- .getLogger(CdmFormFactory.class);
private BoldFontHolder2 boldFontHolder2;
private MouseListener selectionMouseHandler;
if(selectionProvider != null){
selectionProvider.removeSelectionChangedListener(selectionArbitrator);
}else{
- logger.error("Tried to destroy a selection listener from this factories listeners but was null");
+ EditorUtil.error(this.getClass(), "Tried to destroy a selection listener from this factories listeners but was null", null);
}
}
* @return
*/
public MultilanguageTextElement createMultiLanguageTextElement(
- ICdmFormElement parentElement, String labelString, MultilanguageText multilanguageText, int textHeight,
+ ICdmFormElement parentElement, String labelString, Map<Language, LanguageString> multilanguageText, int textHeight,
int style) {
MultilanguageTextElement element = new MultilanguageTextElement(this, parentElement, labelString, multilanguageText, textHeight, style);
adapt(element);
MODIFIER,
STATISTICAL_MEASURE,
SCOPE,
- EMPTY
+ EMPTY,
+ DETERMINATION_MODIFIER
}
public AbstractTermComboElement createTermComboElement(TermComboType termComboType, ICdmFormElement parentElement, String labelString, DefinedTermBase selection, int style){
case STATISTICAL_MEASURE:
element = new StatisticalMeasureComboElement(this, parentElement, labelString, (StatisticalMeasure) selection, style);
break;
+ case DETERMINATION_MODIFIER:
+ element = new DeterminationModifierComboElement(this, parentElement, labelString, (DeterminationModifier) selection, style);
+ break;
}
adapt(element);
FIELD_OBSERVATION,
FEATURE_TREE,
CLASSIFICATION,
- TAXON_NODE
+ TAXON_NODE,
+ COLLECTION
}
/**
public void removeSelectionListener(SelectionListener listener){
if(listener == null){
- logger.error("Tried to remove a selection listener from this factories listeners but was null");
+ EditorUtil.error(this.getClass(), "Tried to remove a selection listener from this factories listeners but was null", null);
}else{
selectionListenerList.remove(listener);
}
DERIVED_UNIT, NATURAL_LANGUAGE,
FEATURE_DISTRIBUTION,
CLASSIFICATION,
- TAXON_NODE
+ TAXON_NODE,
+ COLLECTION
}
/**
case TAXON_NODE:
element = new TaxonNodeDetailElement(this, parentElement);
break;
+ case COLLECTION:
+ element = new CollectionDetailElement(this, parentElement);
+ break;
}
if(element == null){
- logger.error("Detail element was not created. Seems like the case was not implemented for the requested detail type: " + detailType);
+ EditorUtil.error(this.getClass(), "Detail element was not created. Seems like the case was not implemented for the requested detail type: " + detailType, null);
}
adapt(element);
STATE_DATA,
STATISTICAL_MEASUREMENT_VALUE,
DESCRIBED_SPECIMEN,
+ COLLECTING_AREA,
+ DETERMINATION_EVENT,
+ SPECIMEN_COLLECTION,
}
/**
case DESCRIBED_SPECIMEN:
section = new DescribedSpecimenSection(this, conversation, parentElement, style);
break;
+ case COLLECTING_AREA:
+ section = new CollectingAreasDetailSection(this, conversation, parentElement, style);
+ break;
+ case DETERMINATION_EVENT:
+ section = new DeterminationEventDetailSection(this, conversation, parentElement, style);
+ break;
+ case SPECIMEN_COLLECTION:
+ section = new SpecimenCollectionDetailSection(this, conversation, parentElement, style);
+ break;
}
parentElement.addElement(section);
adapt(section);
else if(entity instanceof DerivedUnit){
element = new DerivedUnitElement(this, parentElement, (DerivedUnit) entity, removeListener, style);
}
+ else if(entity instanceof NamedArea){
+ element = new CollectingAreasDetailElement(this, parentElement, (NamedArea) entity, removeListener, style);
+ }
+ else if(entity instanceof DeterminationEvent){
+ element = new DeterminationEventDetailElement(this, parentElement, (DeterminationEvent) entity, removeListener, style);
+ }
+ else if(entity instanceof Specimen){
+ element = new SpecimenCollectionDetailElement(this, parentElement, (Specimen) entity, removeListener, style);
+ }
else if(entity instanceof DescriptionElementBase){
// this is the special case for protologs, maybe we can do this differently when API improves
}
if(element == null){
- String message = "Could not generate element for entity. Looks like the case is not handled already. Check implementation. Entity: " + entity;
- EditorUtil.errorDialog("No element for entity", message);
- logger.error(message);
+ EditorUtil.errorDialog("No element for entity", this, "Could not generate element for entity. " +
+ "Looks like the case is not handled already. Check implementation. Entity: " + entity, null);
}
if(backgroundColor != null && !backgroundColor.isDisposed()){
case TAXON_NODE:
element = new TaxonNodeSelectionElement(this, conversation, parentElement, labelString, (TaxonNode) entity, style);
break;
+ case COLLECTION:
+ element = new CollectionSelectionElement(this, conversation, parentElement, labelString, (Collection) entity, style);
+ break;
default:
new RuntimeException("There is no selection composite for the desired selection type.");
break;
package eu.etaxonomy.taxeditor.forms;
-import org.apache.log4j.Logger;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Label;
* @version 1.0
*/
public class CheckboxElement extends AbstractCdmFormElement implements SelectionListener, IEnableableFormElement {
-
- private static final Logger logger = Logger
- .getLogger(CheckboxElement.class);
private Button checkbox;
Color color = EditorUtil.getColor(colorId);
checkbox.setBackground(color);
}
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement#setBackground(org.eclipse.swt.graphics.Color)
+ */
+ @Override
+ public void setBackground(Color color) {
+ checkbox.setBackground(color);
+ if (label != null) label.setBackground(color);
+ }
}
package eu.etaxonomy.taxeditor.forms;
-import eu.etaxonomy.cdm.model.common.IVersionableEntity;
/**
* Any composite that represent a cdm entity should implement
* @created Feb 16, 2010
* @version 1.0
*/
-public interface IEntityElement<T extends IVersionableEntity> extends ICdmFormElement, ISelectable {
+public interface IEntityElement<ENTITY> extends ICdmFormElement, ISelectable {
/**
* Returns the entity of this composite.
*
* @return
*/
- public T getEntity();
+ public ENTITY getEntity();
}
*/
public class LanguageStringWithLabelElement extends TextWithLabelElement {
-
- private static final Logger logger = Logger
- .getLogger(LanguageStringWithLabelElement.class);
private LanguageString languageString;
protected LanguageStringWithLabelElement(CdmFormFactory formFactory,
super(formFactory, parentElement, labelString, null, height, style);
this.languageString = languageString;
}
-
- public void setLanguageString(LanguageString languageString, Language language) {
- setLanguageString(languageString != null ? languageString : LanguageString.NewInstance("", language));
- }
-
+
public LanguageString getLanguageString() {
return languageString;
}
@Override
public void setText(String text) {
- if(languageString == null){
- languageString = LanguageString.NewInstance("", CdmStore.getDefaultLanguage());
+ if(text != null){
+ languageString.setText(text);
}
- languageString.setText(text);
}
/**
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Map;
-import org.apache.log4j.Logger;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import eu.etaxonomy.cdm.model.common.Language;
import eu.etaxonomy.cdm.model.common.LanguageString;
-import eu.etaxonomy.cdm.model.common.MultilanguageText;
+import eu.etaxonomy.cdm.model.common.MultilanguageTextHelper;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.translation.TranslationWizard;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
*/
public class MultilanguageTextElement extends AbstractCdmFormElement implements SelectionListener{
- private static final Logger logger = Logger
- .getLogger(MultilanguageTextElement.class);
-
private class OpenTranslationWizard extends SelectionAdapter {
- private MultilanguageText multilanguageText;
+ private Map<Language, LanguageString> multilanguageText;
- public OpenTranslationWizard(MultilanguageText multilanguageText){
+ public OpenTranslationWizard(Map<Language, LanguageString> multilanguageText){
super();
this.multilanguageText = multilanguageText;
}
}
}
+
private EmptyComboElement<Language> combo_language;
- private LanguageStringWithLabelElement languageString;
+ private LanguageStringWithLabelElement element_languageString;
private Button button;
- private MultilanguageText multilanguageText;
+ private Map<Language, LanguageString> multilanguageText;
/**
* @param formFactory
* @param formElement
*/
public MultilanguageTextElement(CdmFormFactory formFactory,
- ICdmFormElement formElement, String labelString, MultilanguageText multilanguageText, Integer textHeight, int style) {
+ ICdmFormElement formElement, String labelString, Map<Language, LanguageString> multilanguageText, Integer textHeight, int style) {
super(formFactory, formElement);
+
+ formFactory.addPropertyChangeListener(this);
- this.multilanguageText = multilanguageText;
-
- languageString = formFactory.createLanguageStringWithLabelElement(formElement, "", null, textHeight, style);
+ element_languageString = formFactory.createLanguageStringWithLabelElement(formElement, "", null, textHeight, style);
combo_language = (EmptyComboElement<Language>) formFactory.createTermComboElement(TermComboType.EMPTY, formElement, "", null, style);
- combo_language.setTerms(getLanguages());
combo_language.addSelectionListener(this);
combo_language.setEnabled(false);
button.setLayoutData(CdmFormFactory.RIGHT());
button.addSelectionListener(new OpenTranslationWizard(multilanguageText));
button.setEnabled(false);
- updateControls();
+
+ setMultilanguageText(multilanguageText);
}
/* (non-Javadoc)
if(selectedLanguage != null){
LanguageString selectedLanguageString = getMultilanguageText().get(selectedLanguage);
- languageString.setLanguageString(selectedLanguageString);
+ element_languageString.setLanguageString(selectedLanguageString);
}
}
/**
* @param multilanguageText the multilanguageText to set
*/
- public void setMultilanguageText(MultilanguageText multilanguageText) {
+ public void setMultilanguageText(Map<Language, LanguageString> multilanguageText) {
this.multilanguageText = multilanguageText;
+
+ if(multilanguageText.isEmpty()){
+ multilanguageText.put(CdmStore.getDefaultLanguage(), LanguageString.NewInstance("", CdmStore.getDefaultLanguage()));
+ }
+ combo_language.setTerms(getLanguages());
+
updateControls();
}
*
*/
private void updateControls() {
- LanguageString preferredLanguageString = multilanguageText.getPreferredLanguageString(Arrays.asList(new Language[]{CdmStore.getDefaultLanguage()}));
-
- languageString.setLanguageString(preferredLanguageString);
+ LanguageString preferredLanguageString = MultilanguageTextHelper.getPreferredLanguageString(getMultilanguageText(), Arrays.asList(new Language[]{CdmStore.getDefaultLanguage()}));
+
+ element_languageString.setLanguageString(preferredLanguageString);
combo_language.setSelection(preferredLanguageString.getLanguage());
}
/**
* @return the multilanguageText
*/
- public MultilanguageText getMultilanguageText() {
- return multilanguageText != null ? multilanguageText : MultilanguageText.NewInstance();
+ public Map<Language, LanguageString> getMultilanguageText() {
+ return multilanguageText;
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
+ */
+ @Override
+ public void propertyChange(PropertyChangeEvent event) {
+ if(event == null){
+ return;
+ }
+ Object eventSource = event.getSource();
+ if(eventSource == element_languageString){
+ LanguageString languageString = ((LanguageStringWithLabelElement) eventSource).getLanguageString();
+ multilanguageText.put(languageString.getLanguage(), languageString);
+ }
}
}
*/
package eu.etaxonomy.taxeditor.forms;
-import org.apache.log4j.Logger;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Text;
*
*/
public class TextWithLabelElement extends AbstractCdmFormElement implements ModifyListener, IEnableableFormElement{
-
- private static final Logger logger = Logger.getLogger(TextWithLabelElement.class);
-
+
protected Text text;
private Label label;
package eu.etaxonomy.taxeditor.forms;
-import org.apache.log4j.Logger;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Label;
*/
public class TimePeriodElement extends AbstractCdmFormElement{
-
- private static final Logger logger = Logger
- .getLogger(TimePeriodElement.class);
private Label label;
private TextWithLabelElement text_freeText;
@Override
public void setBackground(Color color) {
- label.setBackground(color);
+ if(label != null) label.setBackground(color);
}
}
*/
package eu.etaxonomy.taxeditor.forms.selection;
-import org.apache.log4j.Logger;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
* @version 1.0
* @param <T>
*/
-public abstract class AbstractSelectionElement<T extends IAnnotatableEntity> extends AbstractCdmFormElement implements SelectionListener, IEnableableFormElement, ISelectableElement, IEntityElement<T>, IConversationEnabled{
+public abstract class AbstractSelectionElement<T extends IAnnotatableEntity> extends AbstractCdmFormElement implements SelectionListener, IEnableableFormElement, ISelectableElement, IEntityElement, IConversationEnabled{
- private static final Logger logger = Logger
- .getLogger(AbstractSelectionElement.class);
-
protected T entity;
protected Label label;
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.
+*/
+
+package eu.etaxonomy.taxeditor.forms.selection;
+
+import org.eclipse.swt.events.SelectionEvent;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.taxeditor.dialogs.filteredSelection.FilteredCollectionSelectionDialog;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class CollectionSelectionElement extends AbstractSelectionElement<Collection> {
+
+ /**
+ * @param formFactory
+ * @param conversation
+ * @param parentElement
+ * @param labelString
+ * @param entity
+ * @param isEditable
+ * @param isSelectable
+ * @param isDeletable
+ * @param style
+ */
+ public CollectionSelectionElement(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement,
+ String labelString, Collection entity, int style) {
+ super(formFactory, conversation, parentElement, labelString, entity,
+ true, true, true, style);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
+ */
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ Collection newSelection = FilteredCollectionSelectionDialog.selectCollection(getShell(), getConversationHolder(), getEntity());
+ setSelectionInternal(newSelection);
+ }
+
+}
import eu.etaxonomy.cdm.model.name.NonViralName;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
import eu.etaxonomy.cdm.model.reference.ReferenceBase;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
import eu.etaxonomy.taxeditor.section.agent.PersonWizardPage;
* @version 1.0
*/
public class EditFromSelectionWizard extends Wizard implements SelectionListener {
- private static final Logger logger = Logger
- .getLogger(EditFromSelectionWizard.class);
private AbstractSelectionElement selectionElement;
page = new DerivedUnitFacadeWizardPage(formFactory, selectionElement.getConversationHolder(), (DerivedUnitBase) entity);
}
else{
- logger.warn("No detail element for current selection");
- throw new RuntimeException("Could not open wizard for selected entity");
+ EditorUtil.warningDialog("Missing interface", this, "No detail element for current selection");
}
addPage(page);
import java.util.List;
-import org.apache.log4j.Logger;
-
import eu.etaxonomy.cdm.model.common.AnnotationType;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
*/
public class AnnotationTypeComboElement extends AbstractTermComboElement<AnnotationType> {
- private static final Logger logger = Logger
- .getLogger(AnnotationTypeComboElement.class);
-
private static final int VISIBLE_ITEMS = 10;
public AnnotationTypeComboElement(CdmFormFactory formFactory,
* @see eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement#preferredTerms()
*/
@Override
- protected List preferredTerms() {
+ protected List<AnnotationType> preferredTerms() {
return PreferencesUtil.getPreferredAnnotationTypes();
}
}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.
+*/
+
+package eu.etaxonomy.taxeditor.forms.term;
+
+import java.util.List;
+
+import eu.etaxonomy.cdm.model.occurrence.DeterminationModifier;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 14, 2010
+ * @version 1.0
+ */
+public class DeterminationModifierComboElement extends AbstractTermComboElement<DeterminationModifier> {
+
+ private static final int VISIBLE_ITEMS = 10;
+
+ /**
+ * @param formFactory
+ * @param parentElement
+ * @param labelString
+ * @param selection
+ * @param visibleItems
+ * @param style
+ */
+ public DeterminationModifierComboElement(CdmFormFactory formFactory,
+ ICdmFormElement parentElement, String labelString,
+ DeterminationModifier selection, int style) {
+ super(formFactory, parentElement, labelString, selection, VISIBLE_ITEMS, style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement#preferredTerms()
+ */
+ @Override
+ protected List<DeterminationModifier> preferredTerms() {
+ return PreferencesUtil.getPreferredDeterminationModifiers();
+ }
+
+}
import java.util.Collection;
-import org.apache.log4j.Logger;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Composite;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.model.common.AnnotatableEntity;
import eu.etaxonomy.cdm.model.common.IAnnotatableEntity;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement;
* @version 1.0
*/
public abstract class AbstractCdmDetailElement<T extends IAnnotatableEntity> extends
- AbstractCdmFormElement implements IEntityElement<T>, ISelectable, IEnableableFormElement, IConversationEnabled{
-
- private static final Logger logger = Logger
- .getLogger(AbstractCdmDetailElement.class);
+ AbstractCdmFormElement implements IEntityElement, ISelectable, IEnableableFormElement, IConversationEnabled{
private T entity;
package eu.etaxonomy.taxeditor.section;
-import org.apache.log4j.Logger;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
* @created Feb 26, 2010
* @version 1.0
*/
-public abstract class AbstractCdmDetailSection<T extends IAnnotatableEntity> extends AbstractFormSection<T> implements IEnableableFormElement, IExpansionListener{
-
-
- private static final Logger logger = Logger
- .getLogger(AbstractCdmDetailSection.class);
+public abstract class AbstractCdmDetailSection<ENTITY extends IAnnotatableEntity> extends AbstractFormSection<ENTITY> implements IEnableableFormElement, IExpansionListener{
- protected AbstractCdmDetailElement<T> detailElement;
+ protected AbstractCdmDetailElement<ENTITY> detailElement;
protected SelectionArbitrator selectionArbitrator;
}
- protected void createControls(AbstractCdmDetailSection<T> formElement, int style) {
+ protected void createControls(AbstractCdmDetailSection<ENTITY> formElement, int style) {
TableWrapLayout layout = (TableWrapLayout) getLayoutComposite().getLayout();
layout.topMargin = 10;
layout.numColumns = 2;
super.setBackground(color);
}
- public void setEntity(T entity) {
+ public void setEntity(ENTITY entity) {
if(detailElement != null){
detailElement.setEntity(entity);
}
package eu.etaxonomy.taxeditor.section;
-import org.apache.log4j.Logger;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Layout;
import org.eclipse.ui.forms.widgets.TableWrapLayout;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.model.common.IVersionableEntity;
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
import eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement;
import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
* @created Nov 16, 2009
* @version 1.0
*/
-public abstract class AbstractEntityCollectionElement<ENTITY extends IVersionableEntity> extends AbstractCdmFormElement implements IEntityElement<ENTITY>, SelectionListener, IConversationEnabled{
-
- private static final Logger logger = Logger
- .getLogger(AbstractEntityCollectionElement.class);
+public abstract class AbstractEntityCollectionElement<ENTITY> extends AbstractCdmFormElement implements IEntityElement<ENTITY>, SelectionListener, IConversationEnabled{
protected ENTITY entity;
import java.util.Collection;
import org.apache.commons.collections.CollectionUtils;
-import org.apache.log4j.Logger;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.resource.ImageDescriptor;
* @author n.hoffmann
*
*/
-public abstract class AbstractEntityCollectionSection<ENTITY extends IVersionableEntity, ELEMENT extends IVersionableEntity> extends AbstractFormSection<ENTITY> implements IExpansionListener{
-
- private static final Logger logger = Logger
- .getLogger(AbstractEntityCollectionSection.class);
-
+public abstract class AbstractEntityCollectionSection<ENTITY, ELEMENT extends IVersionableEntity> extends AbstractFormSection<ENTITY> implements IExpansionListener{
+
protected Composite container;
private Label label_empty;
logger.error("Trying to open bulk editor for null entity");
}
if(entity.getId() == 0){
- EditorUtil.warningDialog(entity.getClass().getSimpleName() + " not persisted yet",
+ EditorUtil.warningDialog(entity.getClass().getSimpleName() + " not persisted yet", this,
"Please save the currently open editor to edit details of the selected entity.");
logger.warn("Object not persisted yet");
}else{
import org.apache.log4j.Logger;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
-import org.joda.time.DateTime;
-import eu.etaxonomy.cdm.common.CdmUtils;
-import eu.etaxonomy.cdm.model.common.User;
import eu.etaxonomy.cdm.model.common.VersionableEntity;
import eu.etaxonomy.taxeditor.forms.AbstractCdmFormElement;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
* @created Nov 5, 2009
* @version 1.0
*/
-public class EmptyElement extends AbstractCdmFormElement implements IEntityElement<VersionableEntity> {
+public class EmptyElement extends AbstractCdmFormElement implements IEntityElement {
private static final Logger logger = Logger.getLogger(EmptyElement.class);
private VersionableEntity entity;
import java.util.Arrays;
-import org.apache.log4j.Logger;
import org.eclipse.ui.forms.widgets.Section;
import eu.etaxonomy.cdm.model.agent.Team;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.EntityDetailType;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.forms.ToggleableTextElement;
-import eu.etaxonomy.taxeditor.forms.CdmFormFactory.EntityDetailType;
import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
/**
*/
public class TeamDetailElement extends AbstractCdmDetailElement<Team> {
- private static final Logger logger = Logger
- .getLogger(TeamDetailElement.class);
-
private ToggleableTextElement toggleable_cache;
private ToggleableTextElement toggleable_nomenclaturalTitleCache;
import java.util.Collection;
-import org.apache.log4j.Logger;
-
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.model.agent.Person;
import eu.etaxonomy.cdm.model.agent.Team;
*/
public class TeamMemberSection extends AbstractEntityCollectionSection<Team, Person> {
- private static final Logger logger = Logger
- .getLogger(TeamMemberSection.class);
-
public TeamMemberSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement, int style) {
super(cdmFormFactory, conversation, parentElement, null, style);
}
package eu.etaxonomy.taxeditor.section.description;
-import org.apache.log4j.Logger;
import org.eclipse.swt.events.SelectionListener;
import eu.etaxonomy.cdm.model.location.NamedArea;
* @version 1.0
*/
public class GeoScopeElement extends AbstractEntityCollectionElement<NamedArea> {
-
-
- private static final Logger logger = Logger
- .getLogger(GeoScopeElement.class);
public GeoScopeElement(CdmFormFactory formFactory,
AbstractFormSection section, NamedArea entity,
package eu.etaxonomy.taxeditor.section.description.detail;
-import org.apache.log4j.Logger;
import org.eclipse.swt.SWT;
-import eu.etaxonomy.cdm.model.common.MultilanguageText;
import eu.etaxonomy.cdm.model.description.TextData;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.forms.MultilanguageTextElement;
-import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
-import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* @author n.hoffmann
*/
public class TextDataDetailElement extends AbstractDetailedDescriptionDetailElement<TextData> {
- private static final Logger logger = Logger
- .getLogger(TextDataDetailElement.class);
- private TextWithLabelElement multilineTextWithLabel;
private MultilanguageTextElement multilanguageTextElement;
public TextDataDetailElement(CdmFormFactory formFactory,
@Override
protected void createControls(ICdmFormElement formElement, TextData entity,
int style) {
- multilanguageTextElement = formFactory.createMultiLanguageTextElement(this, null, (MultilanguageText) MultilanguageText.NewInstance(entity.getLanguageText(CdmStore.getDefaultLanguage())), 400, SWT.WRAP);
-
-
-// multilineTextWithLabel = formFactory.createMultilineTextWithLabel(this, null, 400, SWT.WRAP); // TODO: MultilineTextWithLabel.MAX_HEIGHT once layout is correct
-//
-// multilineTextWithLabel.setText(entity.getText(CdmStore.getDefaultLanguage()));
+ multilanguageTextElement = formFactory.createMultiLanguageTextElement(this, null, entity.getMultilanguageText(), 400, SWT.WRAP);
}
@Override
public void handleEvent(Object eventSource) {
- if(eventSource == multilineTextWithLabel){
- getEntity().putText(multilineTextWithLabel.getText(), CdmStore.getDefaultLanguage());
+ if(eventSource == multilanguageTextElement){
+ getEntity().setMultilanguageText(multilanguageTextElement.getMultilanguageText());
}
}
}
package eu.etaxonomy.taxeditor.section.name;
-import org.apache.log4j.Logger;
-import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.events.SelectionListener;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.forms.IEntityElement;
import eu.etaxonomy.taxeditor.forms.ISelectableElement;
import eu.etaxonomy.taxeditor.forms.SelectionArbitrator;
import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
* @created Nov 5, 2009
* @version 1.0
*/
-public class ProtologueElement extends AbstractEntityCollectionElement<DescriptionElementBase> implements IEntityElement<DescriptionElementBase>, ISelectableElement{
+public class ProtologueElement extends AbstractEntityCollectionElement<DescriptionElementBase> implements ISelectableElement{
private SelectionArbitrator selectionArbitrator;
+ private TextWithLabelElement protologueUriText;
+ private MediaRepresentationPart mediaRepresentationPart;
+ private Media media;
+ private MediaRepresentation mediaRepresentation;
/**
* @param parent
selectionArbitrator = cdmFormFactory.createSelectionArbitrator(this);
}
- private static final Logger logger = Logger
- .getLogger(ProtologueElement.class);
-
- private TextWithLabelElement protologueUriText;
- private MediaRepresentationPart mediaRepresentationPart;
- private Media media;
- private MediaRepresentation mediaRepresentation;
-
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite#createControls(org.eclipse.swt.widgets.Composite, int)
*/
import java.util.Collection;
-import org.apache.log4j.Logger;
-
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
*/
public class ProtologueSection extends AbstractEntityCollectionSection<TaxonNameBase, DescriptionElementBase> implements ITaxonDetailSection{
- private static final Logger logger = Logger
- .getLogger(ProtologueSection.class);
-
/**
*
* @param cdmFormFactory
package eu.etaxonomy.taxeditor.section.name;
-import org.apache.log4j.Logger;
import org.eclipse.swt.events.SelectionListener;
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.occurrence.Specimen;
import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
public class SpecimenTypeDesignationElement extends
AbstractTypeDesignationElement<SpecimenTypeDesignation> {
-
- private static final Logger logger = Logger
- .getLogger(SpecimenTypeDesignationElement.class);
private SpecimenTypeDesignationStatusComboElement combo_typeStatus;
private DerivedUnitBaseSelectionElement selection_typeSpecimen;
private TextWithLabelElement text_specimenTypeText;
// TODO until we do not have a specimen editor we will provide a simple text interface to enter specimen
// information
- text_specimenTypeText = formFactory.createTextWithLabelElement(formElement, "Unit", null, style);
+// text_specimenTypeText = formFactory.createTextWithLabelElement(formElement, "Unit", null, style);
// TODO testing the specimen selection dialog
-// selection_typeSpecimen = (DerivedUnitBaseSelectionElement) formFactory.createSelectionElement(SelectionType.DERIVED_UNIT, formElement, "Unit", null, style);
+ selection_typeSpecimen = (DerivedUnitBaseSelectionElement) formFactory.createSelectionElement(SelectionType.DERIVED_UNIT, getConversationHolder(), formElement, "Unit", null, style);
combo_typeStatus = (SpecimenTypeDesignationStatusComboElement) formFactory.createTermComboElement(TermComboType.SPECIMENTYPEDESIGNATIONSTATUS, formElement, "Designation Status", null, style);
super.createControls(formElement, style);
if(eventSource == combo_typeStatus){
getEntity().setTypeStatus(combo_typeStatus.getSelection());
}
+ // TODO remove this once specimens are correctly implemented
else if(eventSource == text_specimenTypeText){
// TODO this is a simple workaround to enter type specimen as text strings
if(getEntity().getTypeSpecimen() == null){
getEntity().setTypeSpecimen(typeSpecimen);
}
getEntity().getTypeSpecimen().setTitleCache(text_specimenTypeText.getText());
- }
+ }
+ else if(eventSource == selection_typeSpecimen){
+ getEntity().setTypeSpecimen(selection_typeSpecimen.getSelection());
+ }
else if(eventSource == checkbox_notDesignated){
getEntity().setNotDesignated(checkbox_notDesignated.getSelection());
}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.
+*/
+
+package eu.etaxonomy.taxeditor.section.occurrence;
+
+import org.eclipse.swt.events.SelectionListener;
+
+import eu.etaxonomy.cdm.model.common.EventBase;
+import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
+import eu.etaxonomy.taxeditor.forms.TimePeriodElement;
+import eu.etaxonomy.taxeditor.forms.selection.AgentSelectionElement;
+import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 14, 2010
+ * @version 1.0
+ */
+public abstract class AbstractEventDetailElement<T extends EventBase> extends AbstractEntityCollectionElement<T> {
+
+ protected AgentSelectionElement selection_agent;
+ protected TextWithLabelElement text_description;
+ protected TimePeriodElement element_timePeriod;
+
+ /**
+ * @param formFactory
+ * @param section
+ * @param entity
+ * @param removeListener
+ * @param backgroundColor
+ * @param style
+ */
+ public AbstractEventDetailElement(CdmFormFactory formFactory,
+ AbstractFormSection section, T entity,
+ SelectionListener removeListener, int style) {
+ super(formFactory, section, entity, removeListener, null, style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity(java.lang.Object)
+ */
+ @Override
+ public void setEntity(T entity) {
+ selection_agent.setEntity(entity.getActor());
+ text_description.setText(entity.getDescription());
+ element_timePeriod.setEntity(entity.getTimeperiod());
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
+ */
+ @Override
+ public void createControls(ICdmFormElement element, int style) {
+ selection_agent = (AgentSelectionElement) formFactory.createSelectionElement(SelectionType.AGENT, getConversationHolder(), element, "Actor", null, style);
+ text_description = formFactory.createTextWithLabelElement(element, "Description", null, style);
+ element_timePeriod = formFactory.createTimePeriodElement(element, "Time Period", null, style);
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.
+*/
+
+package eu.etaxonomy.taxeditor.section.occurrence;
+
+import org.eclipse.swt.events.SelectionListener;
+
+import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.forms.selection.NamedAreaSelectionElement;
+import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 14, 2010
+ * @version 1.0
+ */
+public class CollectingAreasDetailElement extends
+ AbstractEntityCollectionElement<NamedArea> {
+
+ private NamedAreaSelectionElement selection_namedArea;
+
+ /**
+ * @param formFactory
+ * @param section
+ * @param entity
+ * @param removeListener
+ * @param backgroundColor
+ * @param style
+ */
+ public CollectingAreasDetailElement(CdmFormFactory formFactory,
+ AbstractFormSection section, NamedArea entity,
+ SelectionListener removeListener, int style) {
+ super(formFactory, section, entity, removeListener, null, style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity(java.lang.Object)
+ */
+ @Override
+ public void setEntity(NamedArea entity) {
+ selection_namedArea.setEntity(entity);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
+ */
+ @Override
+ public void createControls(ICdmFormElement element, int style) {
+ selection_namedArea = formFactory.createNamedAreaSelectionElement(element, getConversationHolder(), "Area", null, style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent(java.lang.Object)
+ */
+ @Override
+ public void handleEvent(Object eventSource) {
+ if(eventSource == selection_namedArea){
+ setEntity(selection_namedArea.getSelection());
+ }
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.
+*/
+
+package eu.etaxonomy.taxeditor.section.occurrence;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.model.location.NamedArea;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 14, 2010
+ * @version 1.0
+ */
+public class CollectingAreasDetailSection extends
+ AbstractEntityCollectionSection<DerivedUnitFacade, NamedArea> {
+
+ /**
+ * @param formFactory
+ * @param conversation
+ * @param parentElement
+ * @param title
+ * @param style
+ */
+ public CollectingAreasDetailSection(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+ super(formFactory, conversation, parentElement, "Collecting Areas", style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getCollection(java.lang.Object)
+ */
+ @Override
+ public Collection<NamedArea> getCollection(DerivedUnitFacade entity) {
+ return entity.getCollectingAreas();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
+ */
+ @Override
+ public NamedArea createNewElement() {
+ return NamedArea.NewInstance();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ @Override
+ public void addElement(NamedArea element) {
+ getEntity().addCollectingArea(element);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ @Override
+ public void removeElement(NamedArea element) {
+ getEntity().removeCollectingArea(element);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
+ */
+ @Override
+ public String getEmptyString() {
+ return "No collecting areas yet.";
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
+ */
+ @Override
+ protected String getTooltipString() {
+ return "Add a collecting area";
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.
+*/
+
+package eu.etaxonomy.taxeditor.section.occurrence;
+
+import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class CollectionDetailElement extends AbstractCdmDetailElement<Collection> {
+
+ /**
+ * @param formFactory
+ * @param formElement
+ */
+ public CollectionDetailElement(CdmFormFactory formFactory,
+ ICdmFormElement formElement) {
+ super(formFactory, formElement);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, eu.etaxonomy.cdm.model.common.IAnnotatableEntity, int)
+ */
+ @Override
+ protected void createControls(ICdmFormElement formElement,
+ Collection entity, int style) {
+ // TODO Auto-generated method stub
+
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
+ */
+ @Override
+ public void handleEvent(Object eventSource) {
+ // TODO Auto-generated method stub
+
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.
+*/
+
+package eu.etaxonomy.taxeditor.section.occurrence;
+
+import org.eclipse.swt.SWT;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.model.occurrence.Collection;
+import eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.DetailType;
+import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class CollectionWizardPage extends AbstractCdmEntityWizardPage<Collection> {
+
+ /**
+ * @param formFactory
+ * @param conversation
+ * @param entity
+ */
+ public CollectionWizardPage(CdmFormFactory formFactory,
+ ConversationHolder conversation, Collection entity) {
+ super(formFactory, conversation, entity);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage#createElement(eu.etaxonomy.taxeditor.forms.ICdmFormElement)
+ */
+ @Override
+ public AbstractCdmDetailElement createElement(ICdmFormElement rootElement) {
+ CollectionDetailElement collectionDetailElement = (CollectionDetailElement) formFactory.createCdmDetailElement(DetailType.COLLECTION, rootElement, SWT.NULL);
+ collectionDetailElement.setEntity(entity);
+ return collectionDetailElement;
+ }
+
+}
package eu.etaxonomy.taxeditor.section.occurrence;
-import org.apache.log4j.Logger;
+import org.eclipse.ui.forms.widgets.Section;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.api.facade.MethodNotSupportedByDerivedUnitTypeException;
import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.EntityDetailType;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
+import eu.etaxonomy.taxeditor.forms.selection.CollectionSelectionElement;
import eu.etaxonomy.taxeditor.forms.selection.NameSelectionElement;
import eu.etaxonomy.taxeditor.forms.term.PreservationMethodComboElement;
import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
* @version 1.0
*/
public class DerivedUnitBaseDetailElement extends AbstractCdmDetailElement<DerivedUnitBase> implements IFacadeHolder{
-
-
- private static final Logger logger = Logger
- .getLogger(DerivedUnitBaseDetailElement.class);
-
private DerivedUnitFacade facade;
private TextWithLabelElement text_derivedUnitDefinitions;
private PreservationMethodComboElement combo_preservationMethod;
+ private TextWithLabelElement text_barcode;
+
+ private CollectionSelectionElement selection_collection;
+
+ private DeterminationEventDetailSection section_determinations;
+
+ private SpecimenCollectionDetailSection section_duplicates;
+
public DerivedUnitBaseDetailElement(CdmFormFactory formFactory,
ICdmFormElement formElement) {
super(formFactory, formElement);
- // TODO Auto-generated constructor stub
}
@Override
combo_preservationMethod = (PreservationMethodComboElement) formFactory.createTermComboElement(TermComboType.PRESERVATION_METHOD, formElement, "Preservation Method", facade.getPreservationMethod(), style);
} catch (MethodNotSupportedByDerivedUnitTypeException e) {
// we ignore this
- logger.debug(e.getMessage());
+ EditorUtil.info(this.getClass(), e.getMessage());
}
selection_storedUnder = (NameSelectionElement) formFactory.createSelectionElement(SelectionType.NAME, getConversationHolder(), formElement, "Stored Under", facade.getStoredUnder(), style);
text_collectorsNumber = formFactory.createTextWithLabelElement(formElement, "Collectors Number", facade.getCollectorsNumber(), style);
+
+ text_barcode = formFactory.createTextWithLabelElement(formElement, "Barcode", facade.getBarcode(), style);
+
text_exsicatum = formFactory.createTextWithLabelElement(formElement, "Exsiccatum", facade.getExsiccatum(), style);
// source
-// selection_collection = formFactory.createSelectionElement(SelectionType.COLLECTION, getConversationHolder(), formElement, "Collection", facade.getCollection(), style);
+ selection_collection = (CollectionSelectionElement) formFactory.createSelectionElement(SelectionType.COLLECTION, getConversationHolder(), formElement, "Collection", facade.getCollection(), style);
+
+ section_determinations = (DeterminationEventDetailSection) formFactory.createEntityDetailSection(EntityDetailType.DETERMINATION_EVENT, getConversationHolder(), formElement, Section.TWISTIE);
+ section_determinations.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+ section_determinations.setEntity(facade);
+
+ section_duplicates = (SpecimenCollectionDetailSection) formFactory.createEntityDetailSection(EntityDetailType.SPECIMEN_COLLECTION, getConversationHolder(), formElement, Section.TWISTIE);
+ section_duplicates.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+ section_duplicates.setEntity(facade);
}
@Override
try {
facade.setPreservationMethod(combo_preservationMethod.getSelection());
} catch (MethodNotSupportedByDerivedUnitTypeException e) {
- logger.error("MethodNotSupportedByDerivedUnitTypeException when trying to set preservation method for derive unit", e);
- throw new RuntimeException("MethodNotSupportedByDerivedUnitTypeException when trying to set preservation method for derive unit");
+ EditorUtil.errorDialog("MethodNotSupportedByDerivedUnitTypeException", this, "MethodNotSupportedByDerivedUnitTypeException when trying to set preservation method for derive unit", e);
}
}
else if(eventSource == selection_storedUnder){
else if(eventSource == text_collectorsNumber){
facade.setCollectorsNumber(text_collectorsNumber.getText());
}
-// else if(eventSource == text_exsicatum){
-// facade.setExsiccatum();
-// }
-// else if(source){
-//
-// }
-// else if(eventSource == selection_collection){
-// facade.setCollection(selection_collection.getSelection());
-// }
+ else if(eventSource == text_exsicatum){
+ try {
+ facade.setExsiccatum();
+ } catch (Exception e) {
+ EditorUtil.error(this.getClass(), e);
+ }
+ }
+ else if(eventSource == text_barcode){
+ facade.setBarcode(text_barcode.getText());
+ }
+ else if(eventSource == selection_collection){
+ facade.setCollection(selection_collection.getSelection());
+ }
}
public DerivedUnitFacade getFacade() {
import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory.DetailType;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection;
section_fieldObservation.setFacade(facade);
} catch (DerivedUnitFacadeNotSupportedException e) {
- EditorUtil.errorDialog("Error", "SpecimenFacadeNotSupportedException while inititating SpecimenFacade");
- logger.error("SpecimenFacadeNotSupportedException while inititating SpecimenFacade", e);
+ EditorUtil.errorDialog("Error", this, "SpecimenFacadeNotSupportedException while inititating SpecimenFacade", e);
}
}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.
+*/
+
+package eu.etaxonomy.taxeditor.section.occurrence;
+
+import org.eclipse.swt.events.SelectionListener;
+
+import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
+import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
+import eu.etaxonomy.taxeditor.forms.CheckboxElement;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.forms.selection.DerivedUnitBaseSelectionElement;
+import eu.etaxonomy.taxeditor.forms.selection.TaxonBaseSelectionElement;
+import eu.etaxonomy.taxeditor.forms.term.DeterminationModifierComboElement;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class DeterminationEventDetailElement extends
+ AbstractEventDetailElement<DeterminationEvent> {
+
+ private DerivedUnitBaseSelectionElement selection_derivedUnit;
+ private DeterminationModifierComboElement combo_determinationModifier;
+ private CheckboxElement checkbox_preferredFlag;
+ private TaxonBaseSelectionElement selection_taxon;
+// private TODO a set of references
+
+ /**
+ * @param formFactory
+ * @param section
+ * @param entity
+ * @param removeListener
+ * @param backgroundColor
+ * @param style
+ */
+ public DeterminationEventDetailElement(CdmFormFactory formFactory,
+ AbstractFormSection section, DeterminationEvent entity,
+ SelectionListener removeListener, int style) {
+ super(formFactory, section, entity, removeListener, style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ @Override
+ public void setEntity(DeterminationEvent entity) {
+ this.entity = entity;
+ super.setEntity(entity);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
+ */
+ @Override
+ public void createControls(ICdmFormElement element, int style) {
+ selection_derivedUnit = (DerivedUnitBaseSelectionElement) formFactory.createSelectionElement(SelectionType.DERIVED_UNIT,
+ getConversationHolder(), element, "Identified Unit", null, style);
+ combo_determinationModifier = (DeterminationModifierComboElement) formFactory.createTermComboElement(TermComboType.DETERMINATION_MODIFIER, element, "Determination Modifier", null, style);
+ checkbox_preferredFlag = formFactory.createCheckbox(element, "Preferred", false, style);
+ selection_taxon = (TaxonBaseSelectionElement) formFactory.createSelectionElement(SelectionType.TAXON_BASE, getConversationHolder(), element, "Taxon", null, style);
+ // TODO set of references
+
+ super.createControls(element, style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent(java.lang.Object)
+ */
+ @Override
+ public void handleEvent(Object eventSource) {
+ if(eventSource == selection_derivedUnit){
+ getEntity().setIdentifiedUnit(selection_derivedUnit.getEntity());
+ }
+ else if(eventSource == combo_determinationModifier){
+ getEntity().setModifier(combo_determinationModifier.getSelection());
+ }
+ else if(eventSource == checkbox_preferredFlag){
+ getEntity().setPreferredFlag(checkbox_preferredFlag.getSelection());
+ }
+ else if(eventSource == selection_taxon){
+ getEntity().setTaxon(selection_taxon.getSelection());
+ }
+// else if(eventSource == TODO set of references){
+//
+// }
+ else if(eventSource == selection_agent){
+ getEntity().setDeterminer(selection_agent.getSelection());
+ }
+ else if(eventSource == text_description){
+ getEntity().setDescription(text_description.getText());
+ }
+ else if(eventSource == element_timePeriod){
+ getEntity().setTimeperiod(element_timePeriod.getTimePeriod());
+ }
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.
+*/
+
+package eu.etaxonomy.taxeditor.section.occurrence;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 13, 2010
+ * @version 1.0
+ */
+public class DeterminationEventDetailSection extends
+ AbstractEntityCollectionSection<DerivedUnitFacade, DeterminationEvent> {
+
+ /**
+ * @param formFactory
+ * @param conversation
+ * @param parentElement
+ * @param title
+ * @param style
+ */
+ public DeterminationEventDetailSection(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement,
+ int style) {
+ super(formFactory, conversation, parentElement, "Determination Events", style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getCollection(java.lang.Object)
+ */
+ @Override
+ public Collection<DeterminationEvent> getCollection(DerivedUnitFacade entity) {
+ return entity.getDeterminations();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
+ */
+ @Override
+ public DeterminationEvent createNewElement() {
+ return DeterminationEvent.NewInstance();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ @Override
+ public void addElement(DeterminationEvent determination) {
+ getEntity().addDetermination(determination);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ @Override
+ public void removeElement(DeterminationEvent determination) {
+ getEntity().removeDetermination(determination);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
+ */
+ @Override
+ public String getEmptyString() {
+ return "No determinations yet.";
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
+ */
+ @Override
+ protected String getTooltipString() {
+ return "Add a determination event";
+ }
+
+}
package eu.etaxonomy.taxeditor.section.occurrence;
import org.apache.log4j.Logger;
+import org.eclipse.ui.forms.widgets.Section;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.model.common.LanguageString;
import eu.etaxonomy.cdm.model.occurrence.GatheringEvent;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.EntityDetailType;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
private LanguageComboElement combo_localityLanguage;
private NamedAreaSelectionElement selection_namedArea;
+
+ private CollectingAreasDetailSection section_collectingAreas;
public GatheringEventDetailElement(CdmFormFactory formFactory,
ICdmFormElement formElement) {
text_gatheringEventDescription = formFactory.createTextWithLabelElement(formElement, "Gathering Event Description", facade.getGatheringEventDescription(), style);
composite_gatheringPeriod = formFactory.createTimePeriodElement(formElement, "Gathering Period", facade.getGatheringPeriod(), style);
-// selection_namedArea = formFactory.createSelectionElement(SelectionType., conversation, parentElement, labelString, selection, style)
+ selection_namedArea = formFactory.createNamedAreaSelectionElement(formElement, getConversationHolder(), "Country", facade.getCountry(), style);
+
+ section_collectingAreas = (CollectingAreasDetailSection) formFactory.createEntityDetailSection(EntityDetailType.COLLECTING_AREA, getConversationHolder(), formElement, Section.TWISTIE);
+ section_collectingAreas.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));
+ section_collectingAreas.setEntity(facade);
text_localityText = formFactory.createTextWithLabelElement(formElement, "Locality", facade.getLocalityText(), style);
combo_localityLanguage = (LanguageComboElement) formFactory.createTermComboElement(TermComboType.LANGUAGE, formElement, "Language", facade.getLocalityLanguage(), style);
else if(eventSource == text_localityText || eventSource == combo_localityLanguage){
facade.setLocality(LanguageString.NewInstance(text_localityText.getText(), combo_localityLanguage.getSelection()));
}
+ else if(eventSource == selection_namedArea){
+ facade.setCountry(selection_namedArea.getSelection());
+ }
}
public DerivedUnitFacade getFacade() {
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.
+*/
+
+package eu.etaxonomy.taxeditor.section.occurrence;
+
+import org.eclipse.swt.events.SelectionListener;
+
+import eu.etaxonomy.cdm.model.occurrence.Specimen;
+import eu.etaxonomy.taxeditor.forms.AbstractFormSection;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory.SelectionType;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.forms.selection.DerivedUnitBaseSelectionElement;
+import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 14, 2010
+ * @version 1.0
+ */
+public class SpecimenCollectionDetailElement extends
+ AbstractEntityCollectionElement<Specimen> {
+
+ private DerivedUnitBaseSelectionElement selection_derivedUnit;
+
+ /**
+ * @param formFactory
+ * @param section
+ * @param entity
+ * @param removeListener
+ * @param backgroundColor
+ * @param style
+ */
+ public SpecimenCollectionDetailElement(CdmFormFactory formFactory,
+ AbstractFormSection section, Specimen entity,
+ SelectionListener removeListener, int style) {
+ super(formFactory, section, entity, removeListener, null, style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#setEntity(java.lang.Object)
+ */
+ @Override
+ public void setEntity(Specimen entity) {
+ this.entity = entity;
+ selection_derivedUnit.setEntity(entity);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, int)
+ */
+ @Override
+ public void createControls(ICdmFormElement element, int style) {
+ selection_derivedUnit = (DerivedUnitBaseSelectionElement) formFactory.createSelectionElement(SelectionType.DERIVED_UNIT, getConversationHolder(), element, "Derived Unit", null, style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement#handleEvent(java.lang.Object)
+ */
+ @Override
+ public void handleEvent(Object eventSource) {
+ if(eventSource == selection_derivedUnit){
+ this.setEntity((Specimen) selection_derivedUnit.getSelection());
+ }
+ }
+
+}
--- /dev/null
+// $Id$
+/**
+* Copyright (C) 2007 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.
+*/
+
+package eu.etaxonomy.taxeditor.section.occurrence;
+
+import java.util.Collection;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.model.occurrence.Specimen;
+import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
+import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection;
+
+/**
+ * @author n.hoffmann
+ * @created Oct 14, 2010
+ * @version 1.0
+ */
+public class SpecimenCollectionDetailSection extends
+ AbstractEntityCollectionSection<DerivedUnitFacade, Specimen> {
+
+ /**
+ * @param formFactory
+ * @param conversation
+ * @param parentElement
+ * @param title
+ * @param style
+ */
+ public SpecimenCollectionDetailSection(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement, int style) {
+ super(formFactory, conversation, parentElement, "Duplicates", style);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getCollection(java.lang.Object)
+ */
+ @Override
+ public Collection<Specimen> getCollection(DerivedUnitFacade entity) {
+ return entity.getDuplicates();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#createNewElement()
+ */
+ @Override
+ public Specimen createNewElement() {
+ return Specimen.NewInstance();
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#addElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ @Override
+ public void addElement(Specimen element) {
+ getEntity().addDuplicate(element);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#removeElement(eu.etaxonomy.cdm.model.common.IVersionableEntity)
+ */
+ @Override
+ public void removeElement(Specimen element) {
+ getEntity().removeDuplicate(element);
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getEmptyString()
+ */
+ @Override
+ public String getEmptyString() {
+ return "No duplicates yet.";
+ }
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractEntityCollectionSection#getTooltipString()
+ */
+ @Override
+ protected String getTooltipString() {
+ return "Add a duplicate";
+ }
+
+}
import eu.etaxonomy.taxeditor.forms.CdmFormFactory.TermComboType;
import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.forms.TextWithLabelElement;
-import eu.etaxonomy.taxeditor.forms.term.AbstractTermComboElement;
+import eu.etaxonomy.taxeditor.forms.term.ExtensionTypeComboElement;
import eu.etaxonomy.taxeditor.section.AbstractEntityCollectionElement;
/**
*/
public class ExtensionElement extends AbstractEntityCollectionElement<Extension> {
+ private ExtensionTypeComboElement combo_extensionType;
+ private TextWithLabelElement text_extensionValue;
+
/**
* @param formElement
* @param element
super(cdmFormFactory, formElement, element, removeListener, null, style);
}
- private AbstractTermComboElement<ExtensionType> combo_extensionType;
- private TextWithLabelElement text_extensionValue;
-
-
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.forms.entitysections.AbstractEntitySetElementComposite#createControls(org.eclipse.swt.widgets.Composite, int)
*/
@Override
public void createControls(ICdmFormElement element, int style) {
- combo_extensionType = formFactory.createTermComboElement(TermComboType.EXTENSIONTYPE, this, null, null, style);
+ combo_extensionType = (ExtensionTypeComboElement) formFactory.createTermComboElement(TermComboType.EXTENSIONTYPE, this, null, null, style);
text_extensionValue = formFactory.createTextWithLabelElement(element, null, null, style);
text_extensionValue.getLayoutComposite().setLayoutData(CdmFormFactory.FILL_HORIZONTALLY());
}
section_mediaRepresentation.setEntity(element);
selection_artist.setEntity((TeamOrPersonBase)HibernateProxyHelper.deproxy(element.getArtist()));
- text_description.setLanguageString(element.getDescription(CdmStore.getDefaultLanguage()), CdmStore.getDefaultLanguage());
+ text_description.setLanguageString(element.getDescription(CdmStore.getDefaultLanguage()));
LanguageString title = element.getTitle(CdmStore.getDefaultLanguage());
- text_title.setLanguageString(title, CdmStore.getDefaultLanguage());
+ text_title.setLanguageString(title);
}
/*
package eu.etaxonomy.taxeditor.section.supplemental;
-import org.apache.log4j.Logger;
import org.eclipse.swt.widgets.Label;
import org.joda.time.DateTime;
*/
public class VersionElement extends AbstractCdmFormElement implements IEntityElement<VersionableEntity> {
- private static final Logger logger = Logger.getLogger(VersionElement.class);
private Label label_created;
private Label label_updated;
package eu.etaxonomy.taxeditor.section.taxon;
-import org.apache.log4j.Logger;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Control;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
import eu.etaxonomy.cdm.strategy.parser.ParserProblem;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.forms.CdmFormFactory.DetailType;
+import eu.etaxonomy.taxeditor.forms.ICdmFormElement;
import eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection;
import eu.etaxonomy.taxeditor.section.ITaxonDetailSection;
public static final String HEADING_SUCCESS = "";
public static final String HEADING_PROBLEM = "The name has problems.";
- private static final Logger logger = Logger
- .getLogger(ParsingMessagesSection.class);
-
public ParsingMessagesSection(CdmFormFactory cdmFormFactory, ConversationHolder conversation, ICdmFormElement parentElement,
ISelectionProvider selectionProvider, int style) {
super(cdmFormFactory, conversation, parentElement, selectionProvider, style);
import java.util.Set;
import java.util.UUID;
-import org.apache.log4j.Logger;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.NotEnabledException;
import org.eclipse.core.commands.NotHandledException;
import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.navigation.internal.TaxeditorNavigationPlugin;
import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;
-import eu.etaxonomy.taxeditor.section.BulkEditorOpeningSelectionListener;
/**
* @author n.hoffmann
* @version 1.0
*/
public class NavigationUtil extends AbstractUtility{
- private static final Logger logger = Logger.getLogger(NavigationUtil.class);
private static IUndoContext defaultUndoContext;
public static void executeEditHandler(){
try {
handlerService.executeCommand(commandId, null);
} catch (ExecutionException e) {
- logger.error("ExecutionException when trying to execute EditHandler.", e);
+ NavigationUtil.error(NavigationUtil.class, "ExecutionException when trying to execute EditHandler.", e);
} catch (NotDefinedException e) {
- logger.error("NotDefinedException when trying to execute EditHandler.", e);
+ NavigationUtil.error(NavigationUtil.class, "NotDefinedException when trying to execute EditHandler.", e);
} catch (NotEnabledException e) {
- logger.error("NotEnabledException when trying to execute EditHandler.", e);
+ NavigationUtil.error(NavigationUtil.class, "NotEnabledException when trying to execute EditHandler.", e);
} catch (NotHandledException e) {
- logger.error("NotHandledException when trying to execute EditHandler.", e);
+ NavigationUtil.error(NavigationUtil.class, "NotHandledException when trying to execute EditHandler.", e);
}
}
EditorUtil.openTaxonBase(entityUuid);
}else if(selectedObject instanceof TaxonNameBase){
// TODO open bulk editor
- warningDialog("Not implemented yet", "You tried to open a name. This is not hanlded by the software yet.");
+ warningDialog("Not implemented yet", NavigationUtil.class, "You tried to open a name. This is not hanlded by the software yet.");
}else{
- warningDialog("Unsupported Type", "No editor exists for the current selection: " + selectedObject);
+ warningDialog("Unsupported Type", NavigationUtil.class, "No editor exists for the current selection: " + selectedObject);
}
} catch (PartInitException e) {
- logger.error("Error opening the editor", e);
+ NavigationUtil.error(NavigationUtil.class, "Error opening the editor", e);
} catch (Exception e) {
- EditorUtil.warningDialog("Could not create Taxon", e.getMessage());
+ EditorUtil.warningDialog("Could not create Taxon", NavigationUtil.class, e.getMessage());
}
}
try {
EditorUtil.openEmpty(parentNodeUuid);
} catch (PartInitException e) {
- logger.error("Error opening the editor", e);
+ NavigationUtil.error(NavigationUtil.class, "Error opening the editor", e);
}
}
}
}
} catch (PartInitException e) {
- logger.error(e);
+ NavigationUtil.error(NavigationUtil.class, e.getMessage(), e);
throw new RuntimeException(e);
}
handleOpeningOfMultipleTaxa(synonym.getAcceptedTaxa());
}else{
- warningDialog("Not implemented yet", "You chose to open a name that has no connection to a taxon. The Editor does not support editing of such a content type at the moment.");
- logger.warn("Could not open editor for selection. Selection was of type: " + selection.getClass().getSimpleName());
+ warningDialog("Not implemented yet", NavigationUtil.class, "You chose to open a name that has no connection to a taxon. The Editor does not support editing of such a content type at the moment.");
}
}
openEditor(acceptedTaxa.iterator().next());
}else if(acceptedTaxa.size() > 1){
// FIXME implement a dialog that shows all possible taxa and let the user choose which he wants to open.
- warningDialog("Not implemented yet", "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." +
+ warningDialog("Not implemented yet", NavigationUtil.class, "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." +
" This case is not handled yet by the software.");
}else if(acceptedTaxa.size() == 0){
// this is an undesired state
- warningDialog("Incorrect state", "The accepted taxon is not in a taxonomic view. This should not have happened.");
+ warningDialog("Incorrect state", NavigationUtil.class, "The accepted taxon is not in a taxonomic view. This should not have happened.");
}
}
openEditor(taxonNodes.iterator().next());
}else if(taxonNodes.size() > 1){
// FIXME implement a dialog that shows all possible taxa and let the user choose which he wants to open.
- warningDialog("Not implemented yet", "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." +
+ warningDialog("Not implemented yet", NavigationUtil.class, "The accepted taxon is in multiple taxonomic trees. We currently do not know which one you want to open." +
" This case is not handled yet by the software.");
}else if(taxonNodes.size() == 0){
// this is an undesired state
- warningDialog("Incorrect state", "The accepted taxon is not in a taxonomic view. This should not have happened.");
+ warningDialog("Incorrect state", NavigationUtil.class, "The accepted taxon is not in a taxonomic view. This should not have happened.");
}
}
return EditorUtil.getOpenEditors();
}
+ protected static String getPluginId(){
+ return TaxeditorNavigationPlugin.PLUGIN_ID;
+ }
}
\ No newline at end of file
package eu.etaxonomy.taxeditor.navigation;
-import org.apache.log4j.Logger;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.ui.IMemento;
* @version 1.0
*/
public class NavigatorStateManager extends ContextListenerAdapter {
- private static final Logger logger = Logger.getLogger(NavigatorStateManager.class);
/**
* Tries to restore the state of the taxon editor and the navigator when a context starts.
\r
package eu.etaxonomy.taxeditor.navigation.navigator;\r
\r
-import org.apache.log4j.Logger;\r
import org.eclipse.jface.viewers.IStructuredSelection;\r
import org.eclipse.jface.viewers.StructuredSelection;\r
import org.eclipse.ui.IEditorInput;\r
* @version 1.0\r
*/\r
public class TaxonLinkHelper implements ILinkHelper {\r
- private static final Logger logger = Logger\r
- .getLogger(TaxonLinkHelper.class);\r
\r
public static final String ID = "eu.etaxonomy.taxeditor.navigation.taxonlinkhelper"; //$NON-NLS-1$\r
\r
}\r
}\r
} catch (Exception e) {\r
- EditorUtil.warningDialog("Could not create Taxon", e.getMessage());\r
+ EditorUtil.warningDialog("Could not create Taxon", this, e.getMessage());\r
}\r
}\r
\r
package eu.etaxonomy.taxeditor.navigation.search;
-import org.apache.log4j.Logger;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
* @version 1.0
*/
public class SearchBar extends WorkbenchWindowControlContribution{
- private static final Logger logger = Logger.getLogger(SearchBar.class);
private Text text_search;
private String srv;
return;
}
if("*".equals(searchString.trim())){
- NavigationUtil.warningDialog("Could not execute search", "Please type at least one character when using the \"*\" wildcard.");
+ NavigationUtil.warningDialog("Could not execute search", this, "Please type at least one character when using the \"*\" wildcard.");
return;
}
private void openSearchResultsView(ITaxonServiceConfigurator configurator) {
// This variable is needed to address new instances of the view.
srv += "1";
- logger.info("Opening search results window " + srv);
+ NavigationUtil.info(this.getClass(), "Opening search results window " + srv);
try {
IViewPart resultsView = TaxeditorNavigationPlugin.getDefault()
.getWorkbench().getActiveWorkbenchWindow()
IWorkbenchPage.VIEW_ACTIVATE);
((SearchResultView) resultsView).performSearch(configurator);
} catch (PartInitException e) {
- logger.error("Error opening search result.", e);
- throw new RuntimeException(e);
+ NavigationUtil.error(this.getClass(), "Error opening search result.", e);
}
}
* .swt.events.SelectionEvent)
*/
public void widgetSelected(SelectionEvent e) {
- logger.warn("configuration menu clicked");
+ NavigationUtil.info(this.getClass(), "configuration menu clicked");
SearchOption option = (SearchOption) e.widget.getData();
switch (option){
package eu.etaxonomy.taxeditor.wizard;
-import org.apache.log4j.Logger;
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.jface.wizard.WizardPage;
* @created Sep 29, 2010
* @version 1.0
*/
-public class NewTaxonNodeWizardPage extends WizardPage implements IPropertyChangeListener, IConversationEnabled{
-
- private static final Logger logger = Logger
- .getLogger(NewTaxonNodeWizardPage.class);
-
+public class NewTaxonNodeWizardPage extends WizardPage implements IPropertyChangeListener, IConversationEnabled{
private ClassificationSelectionElement selection_classification;
private TaxonNodeSelectionElement selection_parentTaxonNode;
private TaxonBaseSelectionElement selection_reuseExistingTaxon;
TaxonBase taxonBase = selection_reuseExistingTaxon.getEntity();
if(taxonBase instanceof Synonym){
- NavigationUtil.warningDialog("Selected Taxon is a Synonym", "This case is not handled yet.");
- logger.error("Selected Taxon is a Synonym. This case is not handled yet.");
+ NavigationUtil.warningDialog("Selected Taxon is a Synonym", this, "This case is not handled yet.");
}
setTaxon((Taxon) taxonBase);
}
dataSource.closeOpenConnections();
} catch (SQLException e) {
- StoreUtil.error(this.getClass(), "SQLException when trying to access: " + dataSource.getName() + ". ", e);
+ StoreUtil.warn(this.getClass(), "SQLException when trying to access: " + dataSource.getName() + ". " + e.getMessage());
}
}
} catch (Exception e) {